@@ -65,8 +67,7 @@ export default class Modal extends Component {
* @return {String}
* @abstract
*/
- className() {
- }
+ className() {}
/**
* Get the title of the modal dialog.
@@ -74,8 +75,7 @@ export default class Modal extends Component {
* @return {String}
* @abstract
*/
- title() {
- }
+ title() {}
/**
* Get the content of the modal.
@@ -83,16 +83,14 @@ export default class Modal extends Component {
* @return {VirtualElement}
* @abstract
*/
- content() {
- }
+ content() {}
/**
* Handle the modal form's submit event.
*
* @param {Event} e
*/
- onsubmit() {
- }
+ onsubmit() {}
/**
* Focus on the first input when the modal is ready to be used.
@@ -101,8 +99,7 @@ export default class Modal extends Component {
this.$('form').find('input, select, textarea').first().focus().select();
}
- onhide() {
- }
+ onhide() {}
/**
* Hide the modal.
diff --git a/framework/core/js/src/common/components/ModalManager.js b/framework/core/js/src/common/components/ModalManager.js
index 60cb3e207..4b3a99266 100644
--- a/framework/core/js/src/common/components/ModalManager.js
+++ b/framework/core/js/src/common/components/ModalManager.js
@@ -13,11 +13,7 @@ export default class ModalManager extends Component {
}
view() {
- return (
-
- {this.component && this.component.render()}
-
- );
+ return
{this.component && this.component.render()}
;
}
config(isInitialized, context) {
@@ -28,9 +24,7 @@ export default class ModalManager extends Component {
// to be retained across route changes.
context.retain = true;
- this.$()
- .on('hidden.bs.modal', this.clear.bind(this))
- .on('shown.bs.modal', this.onready.bind(this));
+ this.$().on('hidden.bs.modal', this.clear.bind(this)).on('shown.bs.modal', this.onready.bind(this));
}
/**
@@ -54,10 +48,12 @@ export default class ModalManager extends Component {
m.redraw(true);
const dismissible = !!this.component.isDismissible();
- this.$().modal({
- backdrop: dismissible || 'static',
- keyboard: dismissible
- }).modal('show');
+ this.$()
+ .modal({
+ backdrop: dismissible || 'static',
+ keyboard: dismissible,
+ })
+ .modal('show');
}
/**
diff --git a/framework/core/js/src/common/components/Navigation.js b/framework/core/js/src/common/components/Navigation.js
index 77f52995c..5de2671d0 100644
--- a/framework/core/js/src/common/components/Navigation.js
+++ b/framework/core/js/src/common/components/Navigation.js
@@ -19,15 +19,15 @@ import LinkButton from './LinkButton';
*/
export default class Navigation extends Component {
view() {
- const {history, pane} = app;
+ const { history, pane } = app;
return (
-
- {history.canGoBack()
- ? [this.getBackButton(), this.getPaneButton()]
- : this.getDrawerButton()}
+ onmouseleave={pane && pane.onmouseleave.bind(pane)}
+ >
+ {history.canGoBack() ? [this.getBackButton(), this.getPaneButton()] : this.getDrawerButton()}
);
}
@@ -46,7 +46,7 @@ export default class Navigation extends Component {
* @protected
*/
getBackButton() {
- const {history} = app;
+ const { history } = app;
const previous = history.getPrevious() || {};
return LinkButton.component({
@@ -55,11 +55,11 @@ export default class Navigation extends Component {
icon: 'fas fa-chevron-left',
title: previous.title,
config: () => {},
- onclick: e => {
+ onclick: (e) => {
if (e.shiftKey || e.ctrlKey || e.metaKey || e.which === 2) return;
e.preventDefault();
history.back();
- }
+ },
});
}
@@ -70,14 +70,14 @@ export default class Navigation extends Component {
* @protected
*/
getPaneButton() {
- const {pane} = app;
+ const { pane } = app;
if (!pane || !pane.active) return '';
return Button.component({
className: 'Button Button--icon Navigation-pin' + (pane.pinned ? ' active' : ''),
onclick: pane.togglePinned.bind(pane),
- icon: 'fas fa-thumbtack'
+ icon: 'fas fa-thumbtack',
});
}
@@ -90,17 +90,16 @@ export default class Navigation extends Component {
getDrawerButton() {
if (!this.props.drawer) return '';
- const {drawer} = app;
+ const { drawer } = app;
const user = app.session.user;
return Button.component({
- className: 'Button Button--icon Navigation-drawer' +
- (user && user.newNotificationCount() ? ' new' : ''),
- onclick: e => {
+ className: 'Button Button--icon Navigation-drawer' + (user && user.newNotificationCount() ? ' new' : ''),
+ onclick: (e) => {
e.stopPropagation();
drawer.show();
},
- icon: 'fas fa-bars'
+ icon: 'fas fa-bars',
});
}
}
diff --git a/framework/core/js/src/common/components/RequestErrorModal.js b/framework/core/js/src/common/components/RequestErrorModal.js
index bc0ec7650..2a0aaa2a7 100644
--- a/framework/core/js/src/common/components/RequestErrorModal.js
+++ b/framework/core/js/src/common/components/RequestErrorModal.js
@@ -6,9 +6,7 @@ export default class RequestErrorModal extends Modal {
}
title() {
- return this.props.error.xhr
- ? this.props.error.xhr.status+' '+this.props.error.xhr.statusText
- : '';
+ return this.props.error.xhr ? this.props.error.xhr.status + ' ' + this.props.error.xhr.statusText : '';
}
content() {
@@ -20,11 +18,15 @@ export default class RequestErrorModal extends Modal {
responseText = this.props.error.responseText;
}
- return
-
- {this.props.error.options.method} {this.props.error.options.url}
- {responseText}
-
-
;
+ return (
+
+
+ {this.props.error.options.method} {this.props.error.options.url}
+
+
+ {responseText}
+
+
+ );
}
}
diff --git a/framework/core/js/src/common/components/Select.js b/framework/core/js/src/common/components/Select.js
index 71ed33842..fee8c1a96 100644
--- a/framework/core/js/src/common/components/Select.js
+++ b/framework/core/js/src/common/components/Select.js
@@ -12,14 +12,21 @@ import icon from '../helpers/icon';
*/
export default class Select extends Component {
view() {
- const {options, onchange, value, disabled} = this.props;
+ const { options, onchange, value, disabled } = this.props;
return (
-
);
}
diff --git a/framework/core/js/src/common/components/SelectDropdown.js b/framework/core/js/src/common/components/SelectDropdown.js
index 3081ade67..9c60539b2 100644
--- a/framework/core/js/src/common/components/SelectDropdown.js
+++ b/framework/core/js/src/common/components/SelectDropdown.js
@@ -21,14 +21,11 @@ export default class SelectDropdown extends Dropdown {
}
getButtonContent() {
- const activeChild = this.props.children.filter(child => child.props.active)[0];
- let label = activeChild && activeChild.props.children || this.props.defaultLabel;
+ const activeChild = this.props.children.filter((child) => child.props.active)[0];
+ let label = (activeChild && activeChild.props.children) || this.props.defaultLabel;
if (label instanceof Array) label = label[0];
- return [
-
{label},
- icon(this.props.caretIcon, {className: 'Button-caret'})
- ];
+ return [
{label}, icon(this.props.caretIcon, { className: 'Button-caret' })];
}
}
diff --git a/framework/core/js/src/common/components/Separator.js b/framework/core/js/src/common/components/Separator.js
index 5b9f34fb0..1b5ca4911 100644
--- a/framework/core/js/src/common/components/Separator.js
+++ b/framework/core/js/src/common/components/Separator.js
@@ -5,7 +5,7 @@ import Component from '../Component';
*/
class Separator extends Component {
view() {
- return
;
+ return
;
}
}
diff --git a/framework/core/js/src/common/components/SplitDropdown.js b/framework/core/js/src/common/components/SplitDropdown.js
index 53c366ea7..94d3235c5 100644
--- a/framework/core/js/src/common/components/SplitDropdown.js
+++ b/framework/core/js/src/common/components/SplitDropdown.js
@@ -24,12 +24,10 @@ export default class SplitDropdown extends Dropdown {
return [
Button.component(buttonProps),
-
+
,
];
}
diff --git a/framework/core/js/src/common/extend.js b/framework/core/js/src/common/extend.js
index 26e827706..7c8694f87 100644
--- a/framework/core/js/src/common/extend.js
+++ b/framework/core/js/src/common/extend.js
@@ -21,7 +21,7 @@
export function extend(object, method, callback) {
const original = object[method];
- object[method] = function(...args) {
+ object[method] = function (...args) {
const value = original ? original.apply(this, args) : undefined;
callback.apply(this, [value].concat(args));
@@ -57,7 +57,7 @@ export function extend(object, method, callback) {
export function override(object, method, newMethod) {
const original = object[method];
- object[method] = function(...args) {
+ object[method] = function (...args) {
return newMethod.apply(this, [original.bind(this)].concat(args));
};
diff --git a/framework/core/js/src/common/extend/Model.js b/framework/core/js/src/common/extend/Model.js
index 240be8384..d391310c6 100644
--- a/framework/core/js/src/common/extend/Model.js
+++ b/framework/core/js/src/common/extend/Model.js
@@ -31,11 +31,11 @@ export default class Routes {
if (this.model) {
app.store.models[this.type] = this.model;
}
-
+
const model = app.store.models[this.type];
- this.attributes.forEach(name => model.prototype[name] = model.attribute(name));
- this.hasOnes.forEach(name => model.prototype[name] = model.hasOne(name));
- this.hasManys.forEach(name => model.prototype[name] = model.hasMany(name));
+ this.attributes.forEach((name) => (model.prototype[name] = model.attribute(name)));
+ this.hasOnes.forEach((name) => (model.prototype[name] = model.hasOne(name)));
+ this.hasManys.forEach((name) => (model.prototype[name] = model.hasMany(name)));
}
-}
\ No newline at end of file
+}
diff --git a/framework/core/js/src/common/extend/PostTypes.js b/framework/core/js/src/common/extend/PostTypes.js
index 4d9df731f..dc7475d56 100644
--- a/framework/core/js/src/common/extend/PostTypes.js
+++ b/framework/core/js/src/common/extend/PostTypes.js
@@ -10,4 +10,4 @@ export default class PostTypes {
extend(app, extension) {
Object.assign(app.postComponents, this.postComponents);
}
-}
\ No newline at end of file
+}
diff --git a/framework/core/js/src/common/extend/Routes.js b/framework/core/js/src/common/extend/Routes.js
index 013e52836..3d4603a1f 100644
--- a/framework/core/js/src/common/extend/Routes.js
+++ b/framework/core/js/src/common/extend/Routes.js
@@ -10,4 +10,4 @@ export default class Routes {
extend(app, extension) {
Object.assign(app.routes, this.routes);
}
-}
\ No newline at end of file
+}
diff --git a/framework/core/js/src/common/helpers/avatar.js b/framework/core/js/src/common/helpers/avatar.js
index ef47173b7..a93c11df8 100644
--- a/framework/core/js/src/common/helpers/avatar.js
+++ b/framework/core/js/src/common/helpers/avatar.js
@@ -25,11 +25,11 @@ export default function avatar(user, attrs = {}) {
if (hasTitle) attrs.title = attrs.title || username;
if (avatarUrl) {
- return

;
+ return

;
}
content = username.charAt(0).toUpperCase();
- attrs.style = {background: user.color()};
+ attrs.style = { background: user.color() };
}
return
{content};
diff --git a/framework/core/js/src/common/helpers/fullTime.js b/framework/core/js/src/common/helpers/fullTime.js
index 4f18e6b6e..9cf995db5 100644
--- a/framework/core/js/src/common/helpers/fullTime.js
+++ b/framework/core/js/src/common/helpers/fullTime.js
@@ -11,5 +11,9 @@ export default function fullTime(time) {
const datetime = mo.format();
const full = mo.format('LLLL');
- return
;
+ return (
+
+ );
}
diff --git a/framework/core/js/src/common/helpers/humanTime.js b/framework/core/js/src/common/helpers/humanTime.js
index 0a849461e..294f3ca02 100644
--- a/framework/core/js/src/common/helpers/humanTime.js
+++ b/framework/core/js/src/common/helpers/humanTime.js
@@ -15,5 +15,9 @@ export default function humanTime(time) {
const full = mo.format('LLLL');
const ago = humanTimeUtil(time);
- return
;
+ return (
+
+ );
}
diff --git a/framework/core/js/src/common/helpers/icon.js b/framework/core/js/src/common/helpers/icon.js
index 35e8b25cb..c69a5d6c4 100644
--- a/framework/core/js/src/common/helpers/icon.js
+++ b/framework/core/js/src/common/helpers/icon.js
@@ -8,5 +8,5 @@
export default function icon(fontClass, attrs = {}) {
attrs.className = 'icon ' + fontClass + ' ' + (attrs.className || '');
- return
;
+ return
;
}
diff --git a/framework/core/js/src/common/helpers/listItems.js b/framework/core/js/src/common/helpers/listItems.js
index ecc3ce856..2f16c8d62 100644
--- a/framework/core/js/src/common/helpers/listItems.js
+++ b/framework/core/js/src/common/helpers/listItems.js
@@ -29,7 +29,7 @@ function withoutUnnecessarySeparators(items) {
export default function listItems(items) {
if (!(items instanceof Array)) items = [items];
- return withoutUnnecessarySeparators(items).map(item => {
+ return withoutUnnecessarySeparators(items).map((item) => {
const isListItem = item.component && item.component.isListItem;
const active = item.component && item.component.isActive && item.component.isActive(item.props);
const className = item.props ? item.props.itemClassName : item.itemClassName;
@@ -39,15 +39,12 @@ export default function listItems(items) {
item.attrs.key = item.attrs.key || item.itemName;
}
- return isListItem
- ? item
- :
- {item}
- ;
+ return isListItem ? (
+ item
+ ) : (
+
+ {item}
+
+ );
});
}
diff --git a/framework/core/js/src/common/helpers/punctuateSeries.js b/framework/core/js/src/common/helpers/punctuateSeries.js
index 8a53c1b24..f5fa774d5 100644
--- a/framework/core/js/src/common/helpers/punctuateSeries.js
+++ b/framework/core/js/src/common/helpers/punctuateSeries.js
@@ -13,7 +13,7 @@ export default function punctuateSeries(items) {
if (items.length === 2) {
return app.translator.trans('core.lib.series.two_text', {
first: items[0],
- second: items[1]
+ second: items[1],
});
} else if (items.length >= 3) {
// If there are three or more items, we will join all but the first and
@@ -27,7 +27,7 @@ export default function punctuateSeries(items) {
return app.translator.trans('core.lib.series.three_text', {
first: items[0],
second,
- third: items[items.length - 1]
+ third: items[items.length - 1],
});
}
diff --git a/framework/core/js/src/common/helpers/userOnline.js b/framework/core/js/src/common/helpers/userOnline.js
index fcbef1673..91ffbe7b6 100644
--- a/framework/core/js/src/common/helpers/userOnline.js
+++ b/framework/core/js/src/common/helpers/userOnline.js
@@ -7,7 +7,7 @@ import icon from './icon';
* @return {Object}
*/
export default function userOnline(user) {
- if (user.lastSeenAt() && user.isOnline()) {
- return
{icon('fas fa-circle')};
- }
+ if (user.lastSeenAt() && user.isOnline()) {
+ return
{icon('fas fa-circle')};
+ }
}
diff --git a/framework/core/js/src/common/models/Discussion.js b/framework/core/js/src/common/models/Discussion.js
index 344151f30..faf0dda86 100644
--- a/framework/core/js/src/common/models/Discussion.js
+++ b/framework/core/js/src/common/models/Discussion.js
@@ -19,18 +19,18 @@ Object.assign(Discussion.prototype, {
lastPostNumber: Model.attribute('lastPostNumber'),
commentCount: Model.attribute('commentCount'),
- replyCount: computed('commentCount', commentCount => Math.max(0, commentCount - 1)),
+ replyCount: computed('commentCount', (commentCount) => Math.max(0, commentCount - 1)),
posts: Model.hasMany('posts'),
mostRelevantPost: Model.hasOne('mostRelevantPost'),
lastReadAt: Model.attribute('lastReadAt', Model.transformDate),
lastReadPostNumber: Model.attribute('lastReadPostNumber'),
- isUnread: computed('unreadCount', unreadCount => !!unreadCount),
- isRead: computed('unreadCount', unreadCount => app.session.user && !unreadCount),
+ isUnread: computed('unreadCount', (unreadCount) => !!unreadCount),
+ isRead: computed('unreadCount', (unreadCount) => app.session.user && !unreadCount),
hiddenAt: Model.attribute('hiddenAt', Model.transformDate),
hiddenUser: Model.hasOne('hiddenUser'),
- isHidden: computed('hiddenAt', hiddenAt => !!hiddenAt),
+ isHidden: computed('hiddenAt', (hiddenAt) => !!hiddenAt),
canReply: Model.attribute('canReply'),
canRename: Model.attribute('canRename'),
@@ -84,7 +84,7 @@ Object.assign(Discussion.prototype, {
const items = new ItemList();
if (this.isHidden()) {
- items.add('hidden',
);
+ items.add('hidden', );
}
return items;
@@ -99,6 +99,6 @@ Object.assign(Discussion.prototype, {
postIds() {
const posts = this.data.relationships.posts;
- return posts ? posts.data.map(link => link.id) : [];
- }
+ return posts ? posts.data.map((link) => link.id) : [];
+ },
});
diff --git a/framework/core/js/src/common/models/Group.js b/framework/core/js/src/common/models/Group.js
index 58f90fcac..ad3017ff8 100644
--- a/framework/core/js/src/common/models/Group.js
+++ b/framework/core/js/src/common/models/Group.js
@@ -6,7 +6,7 @@ Object.assign(Group.prototype, {
nameSingular: Model.attribute('nameSingular'),
namePlural: Model.attribute('namePlural'),
color: Model.attribute('color'),
- icon: Model.attribute('icon')
+ icon: Model.attribute('icon'),
});
Group.ADMINISTRATOR_ID = '1';
diff --git a/framework/core/js/src/common/models/Notification.js b/framework/core/js/src/common/models/Notification.js
index b324addcd..fb849ec5e 100644
--- a/framework/core/js/src/common/models/Notification.js
+++ b/framework/core/js/src/common/models/Notification.js
@@ -11,5 +11,5 @@ Object.assign(Notification.prototype, {
user: Model.hasOne('user'),
fromUser: Model.hasOne('fromUser'),
- subject: Model.hasOne('subject')
+ subject: Model.hasOne('subject'),
});
diff --git a/framework/core/js/src/common/models/Post.js b/framework/core/js/src/common/models/Post.js
index fa0c434f6..5941ffe5e 100644
--- a/framework/core/js/src/common/models/Post.js
+++ b/framework/core/js/src/common/models/Post.js
@@ -17,13 +17,13 @@ Object.assign(Post.prototype, {
editedAt: Model.attribute('editedAt', Model.transformDate),
editedUser: Model.hasOne('editedUser'),
- isEdited: computed('editedAt', editedAt => !!editedAt),
+ isEdited: computed('editedAt', (editedAt) => !!editedAt),
hiddenAt: Model.attribute('hiddenAt', Model.transformDate),
hiddenUser: Model.hasOne('hiddenUser'),
- isHidden: computed('hiddenAt', hiddenAt => !!hiddenAt),
+ isHidden: computed('hiddenAt', (hiddenAt) => !!hiddenAt),
canEdit: Model.attribute('canEdit'),
canHide: Model.attribute('canHide'),
- canDelete: Model.attribute('canDelete')
+ canDelete: Model.attribute('canDelete'),
});
diff --git a/framework/core/js/src/common/models/User.js b/framework/core/js/src/common/models/User.js
index 2d2092424..ec0995cc1 100644
--- a/framework/core/js/src/common/models/User.js
+++ b/framework/core/js/src/common/models/User.js
@@ -32,7 +32,7 @@ Object.assign(User.prototype, {
canDelete: Model.attribute('canDelete'),
avatarColor: null,
- color: computed('username', 'avatarUrl', 'avatarColor', function(username, avatarUrl, avatarColor) {
+ color: computed('username', 'avatarUrl', 'avatarColor', function (username, avatarUrl, avatarColor) {
// If we've already calculated and cached the dominant color of the user's
// avatar, then we can return that in RGB format. If we haven't, we'll want
// to calculate it. Unless the user doesn't have an avatar, in which case
@@ -67,8 +67,8 @@ Object.assign(User.prototype, {
const groups = this.groups();
if (groups) {
- groups.forEach(group => {
- items.add('group' + group.id(), GroupBadge.component({group}));
+ groups.forEach((group) => {
+ items.add('group' + group.id(), GroupBadge.component({ group }));
});
}
@@ -85,7 +85,7 @@ Object.assign(User.prototype, {
const image = new Image();
const user = this;
- image.onload = function() {
+ image.onload = function () {
const colorThief = new ColorThief();
user.avatarColor = colorThief.getColor(this);
user.freshness = new Date();
@@ -106,6 +106,6 @@ Object.assign(User.prototype, {
Object.assign(preferences, newPreferences);
- return this.save({preferences});
- }
+ return this.save({ preferences });
+ },
});
diff --git a/framework/core/js/src/common/utils/Drawer.js b/framework/core/js/src/common/utils/Drawer.js
index 3c270ef6c..0d0efb46e 100644
--- a/framework/core/js/src/common/utils/Drawer.js
+++ b/framework/core/js/src/common/utils/Drawer.js
@@ -7,7 +7,7 @@ export default class Drawer {
constructor() {
// Set up an event handler so that whenever the content area is tapped,
// the drawer will close.
- $('#content').click(e => {
+ $('#content').click((e) => {
if (this.isOpen()) {
e.preventDefault();
this.hide();
diff --git a/framework/core/js/src/common/utils/ItemList.js b/framework/core/js/src/common/utils/ItemList.js
index 8b3d5ad23..880167b77 100644
--- a/framework/core/js/src/common/utils/ItemList.js
+++ b/framework/core/js/src/common/utils/ItemList.js
@@ -28,7 +28,7 @@ export default class ItemList {
*/
isEmpty() {
for (const i in this.items) {
- if(this.items.hasOwnProperty(i)) {
+ if (this.items.hasOwnProperty(i)) {
return false;
}
}
@@ -147,14 +147,15 @@ export default class ItemList {
}
}
- return items.sort((a, b) => {
- if (a.priority === b.priority) {
- return a.key - b.key;
- } else if (a.priority > b.priority) {
- return -1;
- }
- return 1;
- }).map(item => item.content);
+ return items
+ .sort((a, b) => {
+ if (a.priority === b.priority) {
+ return a.key - b.key;
+ } else if (a.priority > b.priority) {
+ return -1;
+ }
+ return 1;
+ })
+ .map((item) => item.content);
}
}
-
diff --git a/framework/core/js/src/common/utils/ScrollListener.js b/framework/core/js/src/common/utils/ScrollListener.js
index 3a35290f3..316ac4d7a 100644
--- a/framework/core/js/src/common/utils/ScrollListener.js
+++ b/framework/core/js/src/common/utils/ScrollListener.js
@@ -1,9 +1,10 @@
-const later = window.requestAnimationFrame ||
+const later =
+ window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.msRequestAnimationFrame ||
window.oRequestAnimationFrame ||
- (callback => window.setTimeout(callback, 1000 / 60));
+ ((callback) => window.setTimeout(callback, 1000 / 60));
/**
* The `ScrollListener` class sets up a listener that handles window scroll
@@ -57,10 +58,7 @@ export default class ScrollListener {
*/
start() {
if (!this.active) {
- window.addEventListener(
- 'scroll',
- this.active = this.loop.bind(this)
- );
+ window.addEventListener('scroll', (this.active = this.loop.bind(this)));
}
}
diff --git a/framework/core/js/src/common/utils/SubtreeRetainer.js b/framework/core/js/src/common/utils/SubtreeRetainer.js
index fae985153..4ac9ef125 100644
--- a/framework/core/js/src/common/utils/SubtreeRetainer.js
+++ b/framework/core/js/src/common/utils/SubtreeRetainer.js
@@ -44,7 +44,7 @@ export default class SubtreeRetainer {
}
});
- return needsRebuild ? false : {subtree: 'retain'};
+ return needsRebuild ? false : { subtree: 'retain' };
}
/**
diff --git a/framework/core/js/src/common/utils/classList.js b/framework/core/js/src/common/utils/classList.js
index b46a8f37b..81568634f 100644
--- a/framework/core/js/src/common/utils/classList.js
+++ b/framework/core/js/src/common/utils/classList.js
@@ -13,7 +13,7 @@ export default function classList(classes) {
let classNames;
if (classes instanceof Array) {
- classNames = classes.filter(name => name);
+ classNames = classes.filter((name) => name);
} else {
classNames = [];
diff --git a/framework/core/js/src/common/utils/computed.js b/framework/core/js/src/common/utils/computed.js
index fae4e892f..261f7b30b 100644
--- a/framework/core/js/src/common/utils/computed.js
+++ b/framework/core/js/src/common/utils/computed.js
@@ -14,12 +14,12 @@ export default function computed(...dependentKeys) {
const dependentValues = {};
let computedValue;
- return function() {
+ return function () {
let recompute = false;
// Read all of the dependent values. If any of them have changed since last
// time, then we'll want to recompute our output.
- keys.forEach(key => {
+ keys.forEach((key) => {
const value = typeof this[key] === 'function' ? this[key]() : this[key];
if (dependentValues[key] !== value) {
@@ -29,7 +29,10 @@ export default function computed(...dependentKeys) {
});
if (recompute) {
- computedValue = compute.apply(this, keys.map(key => dependentValues[key]));
+ computedValue = compute.apply(
+ this,
+ keys.map((key) => dependentValues[key])
+ );
}
return computedValue;
diff --git a/framework/core/js/src/common/utils/evented.js b/framework/core/js/src/common/utils/evented.js
index b61c91f2d..5fd91a919 100644
--- a/framework/core/js/src/common/utils/evented.js
+++ b/framework/core/js/src/common/utils/evented.js
@@ -34,7 +34,7 @@ export default {
* @public
*/
trigger(event, ...args) {
- this.getHandlers(event).forEach(handler => handler.apply(this, args));
+ this.getHandlers(event).forEach((handler) => handler.apply(this, args));
},
/**
@@ -55,7 +55,7 @@ export default {
* @param {function} handler The function to handle the event.
*/
one(event, handler) {
- const wrapper = function() {
+ const wrapper = function () {
handler.apply(this, arguments);
this.off(event, wrapper);
@@ -77,5 +77,5 @@ export default {
if (index !== -1) {
handlers.splice(index, 1);
}
- }
-}
+ },
+};
diff --git a/framework/core/js/src/common/utils/extractText.js b/framework/core/js/src/common/utils/extractText.js
index 13d55862e..4586cc6e5 100644
--- a/framework/core/js/src/common/utils/extractText.js
+++ b/framework/core/js/src/common/utils/extractText.js
@@ -6,7 +6,7 @@
*/
export default function extractText(vdom) {
if (vdom instanceof Array) {
- return vdom.map(element => extractText(element)).join('');
+ return vdom.map((element) => extractText(element)).join('');
} else if (typeof vdom === 'object' && vdom !== null) {
return extractText(vdom.children);
} else {
diff --git a/framework/core/js/src/common/utils/humanTime.js b/framework/core/js/src/common/utils/humanTime.js
index 1085b6296..a06e16afb 100644
--- a/framework/core/js/src/common/utils/humanTime.js
+++ b/framework/core/js/src/common/utils/humanTime.js
@@ -33,4 +33,4 @@ export default function humanTime(time) {
}
return ago;
-};
+}
diff --git a/framework/core/js/src/common/utils/liveHumanTimes.js b/framework/core/js/src/common/utils/liveHumanTimes.js
index 8e6b756db..2eac7ef9d 100644
--- a/framework/core/js/src/common/utils/liveHumanTimes.js
+++ b/framework/core/js/src/common/utils/liveHumanTimes.js
@@ -1,7 +1,7 @@
import humanTimeUtil from './humanTime';
function updateHumanTimes() {
- $('[data-humantime]').each(function() {
+ $('[data-humantime]').each(function () {
const $this = $(this);
const ago = humanTimeUtil($this.attr('datetime'));
diff --git a/framework/core/js/src/common/utils/mixin.js b/framework/core/js/src/common/utils/mixin.js
index d5be43734..da73f0116 100644
--- a/framework/core/js/src/common/utils/mixin.js
+++ b/framework/core/js/src/common/utils/mixin.js
@@ -12,7 +12,7 @@
export default function mixin(Parent, ...mixins) {
class Mixed extends Parent {}
- mixins.forEach(object => {
+ mixins.forEach((object) => {
Object.assign(Mixed.prototype, object);
});
diff --git a/framework/core/js/src/common/utils/patchMithril.js b/framework/core/js/src/common/utils/patchMithril.js
index 3b88e1035..a0d1615cd 100644
--- a/framework/core/js/src/common/utils/patchMithril.js
+++ b/framework/core/js/src/common/utils/patchMithril.js
@@ -3,11 +3,11 @@ import Component from '../Component';
export default function patchMithril(global) {
const mo = global.m;
- const m = function(comp, ...args) {
+ const m = function (comp, ...args) {
if (comp.prototype && comp.prototype instanceof Component) {
let children = args.slice(1);
if (children.length === 1 && Array.isArray(children[0])) {
- children = children[0]
+ children = children[0];
}
return comp.component(args[0], children);
@@ -29,14 +29,14 @@ export default function patchMithril(global) {
return node;
};
- Object.keys(mo).forEach(key => m[key] = mo[key]);
+ Object.keys(mo).forEach((key) => (m[key] = mo[key]));
/**
* Redraw only if not in the middle of a computation (e.g. a route change).
*
* @return {void}
*/
- m.lazyRedraw = function() {
+ m.lazyRedraw = function () {
m.startComputation();
m.endComputation();
};
diff --git a/framework/core/js/src/common/utils/string.js b/framework/core/js/src/common/utils/string.js
index bab89c5e2..73623d8a2 100644
--- a/framework/core/js/src/common/utils/string.js
+++ b/framework/core/js/src/common/utils/string.js
@@ -7,9 +7,7 @@
* @return {String}
*/
export function truncate(string, length, start = 0) {
- return (start > 0 ? '...' : '') +
- string.substring(start, start + length) +
- (string.length > start + length ? '...' : '');
+ return (start > 0 ? '...' : '') + string.substring(start, start + length) + (string.length > start + length ? '...' : '');
}
/**
@@ -24,7 +22,8 @@ export function truncate(string, length, start = 0) {
* @return {String}
*/
export function slug(string) {
- return string.toLowerCase()
+ return string
+ .toLowerCase()
.replace(/[^a-z0-9]/gi, '-')
.replace(/-+/g, '-')
.replace(/-$|^-/g, '');
@@ -38,9 +37,7 @@ export function slug(string) {
* @return {String}
*/
export function getPlainContent(string) {
- const html = string
- .replace(/(<\/p>|
)/g, '$1 ')
- .replace(/
]*>/ig, ' ');
+ const html = string.replace(/(<\/p>|
)/g, '$1 ').replace(/
]*>/gi, ' ');
const dom = $('').html(html);
diff --git a/framework/core/js/src/common/utils/stringToColor.js b/framework/core/js/src/common/utils/stringToColor.js
index 0067ff27c..2cb178898 100644
--- a/framework/core/js/src/common/utils/stringToColor.js
+++ b/framework/core/js/src/common/utils/stringToColor.js
@@ -10,18 +10,42 @@ function hsvToRgb(h, s, v) {
const t = v * (1 - (1 - f) * s);
switch (i % 6) {
- case 0: r = v; g = t; b = p; break;
- case 1: r = q; g = v; b = p; break;
- case 2: r = p; g = v; b = t; break;
- case 3: r = p; g = q; b = v; break;
- case 4: r = t; g = p; b = v; break;
- case 5: r = v; g = p; b = q; break;
+ case 0:
+ r = v;
+ g = t;
+ b = p;
+ break;
+ case 1:
+ r = q;
+ g = v;
+ b = p;
+ break;
+ case 2:
+ r = p;
+ g = v;
+ b = t;
+ break;
+ case 3:
+ r = p;
+ g = q;
+ b = v;
+ break;
+ case 4:
+ r = t;
+ g = p;
+ b = v;
+ break;
+ case 5:
+ r = v;
+ g = p;
+ b = q;
+ break;
}
return {
r: Math.floor(r * 255),
g: Math.floor(g * 255),
- b: Math.floor(b * 255)
+ b: Math.floor(b * 255),
};
}
diff --git a/framework/core/js/src/forum/ForumApplication.js b/framework/core/js/src/forum/ForumApplication.js
index eed6ae574..8bd447f2d 100644
--- a/framework/core/js/src/forum/ForumApplication.js
+++ b/framework/core/js/src/forum/ForumApplication.js
@@ -22,7 +22,7 @@ export default class ForumApplication extends Application {
* @type {Object}
*/
notificationComponents = {
- discussionRenamed: DiscussionRenamedNotification
+ discussionRenamed: DiscussionRenamedNotification,
};
/**
* A map of post types to their components.
@@ -31,7 +31,7 @@ export default class ForumApplication extends Application {
*/
postComponents = {
comment: CommentPost,
- discussionRenamed: DiscussionRenamedPost
+ discussionRenamed: DiscussionRenamedPost,
};
/**
@@ -87,7 +87,7 @@ export default class ForumApplication extends Application {
this.routes[defaultAction].path = '/';
this.history.push(defaultAction, this.translator.trans('core.forum.header.back_to_index_tooltip'), '/');
- m.mount(document.getElementById('app-navigation'), Navigation.component({className: 'App-backControl', drawer: true}));
+ m.mount(document.getElementById('app-navigation'), Navigation.component({ className: 'App-backControl', drawer: true }));
m.mount(document.getElementById('header-navigation'), Navigation.component());
m.mount(document.getElementById('header-primary'), HeaderPrimary.component());
m.mount(document.getElementById('header-secondary'), HeaderSecondary.component());
@@ -102,7 +102,7 @@ export default class ForumApplication extends Application {
// Route the home link back home when clicked. We do not want it to register
// if the user is opening it in a new tab, however.
- $('#home-link').click(e => {
+ $('#home-link').click((e) => {
if (e.ctrlKey || e.metaKey || e.which === 2) return;
e.preventDefault();
app.history.home();
@@ -123,9 +123,11 @@ export default class ForumApplication extends Application {
* @return {Boolean}
*/
composingReplyTo(discussion) {
- return this.composer.component instanceof ReplyComposer &&
+ return (
+ this.composer.component instanceof ReplyComposer &&
this.composer.component.props.discussion === discussion &&
- this.composer.position !== Composer.PositionEnum.HIDDEN;
+ this.composer.position !== Composer.PositionEnum.HIDDEN
+ );
}
/**
@@ -135,8 +137,7 @@ export default class ForumApplication extends Application {
* @return {Boolean}
*/
viewingDiscussion(discussion) {
- return this.current instanceof DiscussionPage &&
- this.current.discussion === discussion;
+ return this.current instanceof DiscussionPage && this.current.discussion === discussion;
}
/**
diff --git a/framework/core/js/src/forum/compat.js b/framework/core/js/src/forum/compat.js
index aea232275..ec5c559c7 100644
--- a/framework/core/js/src/forum/compat.js
+++ b/framework/core/js/src/forum/compat.js
@@ -134,6 +134,6 @@ export default Object.assign(compat, {
'components/DiscussionListItem': DiscussionListItem,
'components/LoadingPost': LoadingPost,
'components/PostsUserPage': PostsUserPage,
- 'routes': routes,
- 'ForumApplication': ForumApplication
+ routes: routes,
+ ForumApplication: ForumApplication,
});
diff --git a/framework/core/js/src/forum/components/AvatarEditor.js b/framework/core/js/src/forum/components/AvatarEditor.js
index b96e19a08..71a9030c2 100644
--- a/framework/core/js/src/forum/components/AvatarEditor.js
+++ b/framework/core/js/src/forum/components/AvatarEditor.js
@@ -44,7 +44,8 @@ export default class AvatarEditor extends Component {
return (
);
}
@@ -70,19 +70,21 @@ export default class AvatarEditor extends Component {
controlItems() {
const items = new ItemList();
- items.add('upload',
+ items.add(
+ 'upload',
Button.component({
icon: 'fas fa-upload',
children: app.translator.trans('core.forum.user.avatar_upload_button'),
- onclick: this.openPicker.bind(this)
+ onclick: this.openPicker.bind(this),
})
);
- items.add('remove',
+ items.add(
+ 'remove',
Button.component({
icon: 'fas fa-times',
children: app.translator.trans('core.forum.user.avatar_remove_button'),
- onclick: this.remove.bind(this)
+ onclick: this.remove.bind(this),
})
);
@@ -150,9 +152,13 @@ export default class AvatarEditor extends Component {
const user = this.props.user;
const $input = $('');
- $input.appendTo('body').hide().click().on('input', e => {
- this.upload($(e.target)[0].files[0]);
- });
+ $input
+ .appendTo('body')
+ .hide()
+ .click()
+ .on('input', (e) => {
+ this.upload($(e.target)[0].files[0]);
+ });
}
/**
@@ -170,15 +176,14 @@ export default class AvatarEditor extends Component {
this.loading = true;
m.redraw();
- app.request({
- method: 'POST',
- url: app.forum.attribute('apiUrl') + '/users/' + user.id() + '/avatar',
- serialize: raw => raw,
- data
- }).then(
- this.success.bind(this),
- this.failure.bind(this)
- );
+ app
+ .request({
+ method: 'POST',
+ url: app.forum.attribute('apiUrl') + '/users/' + user.id() + '/avatar',
+ serialize: (raw) => raw,
+ data,
+ })
+ .then(this.success.bind(this), this.failure.bind(this));
}
/**
@@ -190,13 +195,12 @@ export default class AvatarEditor extends Component {
this.loading = true;
m.redraw();
- app.request({
- method: 'DELETE',
- url: app.forum.attribute('apiUrl') + '/users/' + user.id() + '/avatar'
- }).then(
- this.success.bind(this),
- this.failure.bind(this)
- );
+ app
+ .request({
+ method: 'DELETE',
+ url: app.forum.attribute('apiUrl') + '/users/' + user.id() + '/avatar',
+ })
+ .then(this.success.bind(this), this.failure.bind(this));
}
/**
diff --git a/framework/core/js/src/forum/components/ChangeEmailModal.js b/framework/core/js/src/forum/components/ChangeEmailModal.js
index 5ee9f7e97..ce1b1592a 100644
--- a/framework/core/js/src/forum/components/ChangeEmailModal.js
+++ b/framework/core/js/src/forum/components/ChangeEmailModal.js
@@ -44,7 +44,9 @@ export default class ChangeEmailModal extends Modal {
return (
-
{app.translator.trans('core.forum.change_email.confirmation_message', {email: {this.email()}})}
+
+ {app.translator.trans('core.forum.change_email.confirmation_message', { email: {this.email()} })}
+
@@ -37,13 +37,12 @@ export default class ChangePasswordModal extends Modal {
this.loading = true;
- app.request({
- method: 'POST',
- url: app.forum.attribute('apiUrl') + '/forgot',
- data: {email: app.session.user.email()}
- }).then(
- this.hide.bind(this),
- this.loaded.bind(this)
- );
+ app
+ .request({
+ method: 'POST',
+ url: app.forum.attribute('apiUrl') + '/forgot',
+ data: { email: app.session.user.email() },
+ })
+ .then(this.hide.bind(this), this.loaded.bind(this));
}
}
diff --git a/framework/core/js/src/forum/components/CommentPost.js b/framework/core/js/src/forum/components/CommentPost.js
index 1c7020322..0ca868b09 100644
--- a/framework/core/js/src/forum/components/CommentPost.js
+++ b/framework/core/js/src/forum/components/CommentPost.js
@@ -33,7 +33,7 @@ export default class CommentPost extends Post {
// Create an instance of the component that displays the post's author so
// that we can force the post to rerender when the user card is shown.
- this.postUser = new PostUser({post: this.props.post});
+ this.postUser = new PostUser({ post: this.props.post });
this.subtree.check(
() => this.postUser.cardVisible,
() => this.isEditing()
@@ -44,14 +44,14 @@ export default class CommentPost extends Post {
// Note: we avoid using JSX for the
below because it results in some
// weirdness in Mithril.js 0.1.x (see flarum/core#975). This workaround can
// be reverted when we upgrade to Mithril 1.0.
- return super.content().concat([
- {m('ul', listItems(this.headerItems().toArray()))},
-
- {this.isEditing()
- ?
- : m.trust(this.props.post.contentHtml())}
-
- ]);
+ return super
+ .content()
+ .concat([
+
{m('ul', listItems(this.headerItems().toArray()))},
+
+ {this.isEditing() ?
: m.trust(this.props.post.contentHtml())}
+
,
+ ]);
}
config(isInitialized, context) {
@@ -63,7 +63,7 @@ export default class CommentPost extends Post {
// all of the