apply prettier on gigantic find and replace (#7604)

This commit is contained in:
Joffrey JAFFEUX 2019-05-27 10:42:53 +02:00 committed by GitHub
parent 373b8a2139
commit d93f753b17
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
74 changed files with 336 additions and 1024 deletions

View File

@ -15,9 +15,7 @@ export default Ember.Component.extend({
{
data: rawData.map(r => r.y),
label: model.get("title"),
backgroundColor: `rgba(200,220,240,${
this.type === "bar" ? 1 : 0.3
})`,
backgroundColor: `rgba(200,220,240,${this.type === "bar" ? 1 : 0.3})`,
borderColor: "#08C"
}
]

View File

@ -75,11 +75,7 @@ export default Ember.Component.extend({
this._super(...arguments);
if (this.report) {
this._renderReport(
this.report,
this.forcedModes,
this.currentMode
);
this._renderReport(this.report, this.forcedModes, this.currentMode);
} else if (this.dataSourceName) {
this._fetchReport();
}
@ -271,11 +267,7 @@ export default Ember.Component.extend({
this.set("showFilteringUI", false);
}
this._renderReport(
report,
this.forcedModes,
this.currentMode
);
this._renderReport(report, this.forcedModes, this.currentMode);
},
_renderReport(report, forcedModes, currentMode) {

View File

@ -46,10 +46,7 @@ export default Ember.Component.extend(bufferedProperty("host"), {
host
.save(props)
.then(() => {
host.set(
"category",
Discourse.Category.findById(this.categoryId)
);
host.set("category", Discourse.Category.findById(this.categoryId));
this.set("editToggled", false);
})
.catch(popupAjaxError);
@ -58,11 +55,9 @@ export default Ember.Component.extend(bufferedProperty("host"), {
delete() {
bootbox.confirm(I18n.t("admin.embedding.confirm_delete"), result => {
if (result) {
this.host
.destroyRecord()
.then(() => {
this.deleteHost(this.host);
});
this.host.destroyRecord().then(() => {
this.deleteHost(this.host);
});
}
});
},

View File

@ -19,8 +19,8 @@ export default Ember.Component.extend({
this.set("show", true);
if (!this.location) {
ajax("/admin/users/ip-info", { data: { ip: this.ip } }).then(
location => this.set("location", Ember.Object.create(location))
ajax("/admin/users/ip-info", { data: { ip: this.ip } }).then(location =>
this.set("location", Ember.Object.create(location))
);
}

View File

@ -109,9 +109,7 @@ export default Ember.Component.extend(
buffer.push(iconHTML(icon));
buffer.push("<span class='ru-label'>" + this.text + "</span>");
buffer.push(
"<span class='ru-progress' style='width:" +
this.progress +
"%'></span>"
"<span class='ru-progress' style='width:" + this.progress + "%'></span>"
);
},

View File

@ -29,8 +29,7 @@ export default Ember.Component.extend({
},
addValue() {
if (this._checkInvalidInput([this.newKey, this.newSecret]))
return;
if (this._checkInvalidInput([this.newKey, this.newSecret])) return;
this._addValue(this.newKey, this.newSecret);
this.setProperties({ newKey: "", newSecret: "" });
},

View File

@ -79,10 +79,7 @@ export default Ember.Component.extend({
return;
}
this.set(
"values",
this.collection.join(this.inputDelimiter || "\n")
);
this.set("values", this.collection.join(this.inputDelimiter || "\n"));
},
_splitValues(values, delimiter) {

View File

@ -29,9 +29,7 @@ export default Ember.Component.extend({
@computed("word")
isUniqueWord(word) {
const words = this.filteredContent || [];
const filtered = words.filter(
content => content.action === this.actionKey
);
const filtered = words.filter(content => content.action === this.actionKey);
return filtered.every(
content => content.word.toLowerCase() !== word.toLowerCase()
);

View File

@ -23,10 +23,7 @@ export default Ember.Controller.extend({
actions: {
newColorSchemeWithBase(baseKey) {
const base = this.baseColorSchemes.findBy(
"base_scheme_id",
baseKey
);
const base = this.baseColorSchemes.findBy("base_scheme_id", baseKey);
const newColorScheme = Ember.copy(base, true);
newColorScheme.setProperties({
name: I18n.t("admin.customize.colors.new_name"),

View File

@ -36,30 +36,18 @@ export default Ember.Controller.extend({
actions: {
save() {
this.set("saving", true);
this.model
.saveChanges("theme_fields")
.finally(() => {
this.set("saving", false);
});
this.model.saveChanges("theme_fields").finally(() => {
this.set("saving", false);
});
},
fieldAdded(target, name) {
this.replaceRoute(
this.editRouteName,
this.get("model.id"),
target,
name
);
this.replaceRoute(this.editRouteName, this.get("model.id"), target, name);
},
onlyOverriddenChanged(onlyShowOverridden) {
if (onlyShowOverridden) {
if (
!this.model.hasEdited(
this.currentTargetName,
this.fieldName
)
) {
if (!this.model.hasEdited(this.currentTargetName, this.fieldName)) {
let firstTarget = this.get("model.targets").find(t => t.edited);
let firstField = this.get(`model.fields.${firstTarget.name}`).find(
f => f.edited

View File

@ -39,11 +39,7 @@ export default Ember.Controller.extend({
this.set("sendingEmail", true);
this.set("sentEmail", false);
EmailPreview.sendDigest(
this.username,
this.lastSeen,
this.email
)
EmailPreview.sendDigest(this.username, this.lastSeen, this.email)
.then(result => {
if (result.errors) {
bootbox.alert(result.errors);

View File

@ -12,9 +12,7 @@ export default Ember.Controller.extend({
let filter;
if (this.filter) {
filter = this.filter
.toLowerCase()
.trim();
filter = this.filter.toLowerCase().trim();
}
if ((!filter || 0 === filter.length) && !this.onlyOverridden) {

View File

@ -209,9 +209,7 @@ export default Ember.Controller.extend(CanCheckEmails, {
this.adminTools.showSuspendModal(this.model);
},
unsuspend() {
this.model
.unsuspend()
.catch(popupAjaxError);
this.model.unsuspend().catch(popupAjaxError);
},
showSilenceModal() {
this.adminTools.showSilenceModal(this.model);

View File

@ -92,9 +92,7 @@ export default Ember.Controller.extend({
.save()
.then(() => {
this.set("saved", true);
this.adminWebHooks
.get("model")
.addObject(model);
this.adminWebHooks.get("model").addObject(model);
if (isNew) {
this.transitionToRoute("adminWebHooks.show", model.get("id"));
@ -135,9 +133,7 @@ export default Ember.Controller.extend({
model
.destroyRecord()
.then(() => {
this.adminWebHooks
.get("model")
.removeObject(model);
this.adminWebHooks.get("model").removeObject(model);
this.transitionToRoute("adminWebHooks");
})
.catch(popupAjaxError);

View File

@ -273,10 +273,7 @@ export default Ember.Controller.extend(ModalFunctionality, {
this.set("loading", true);
ajax(this.importUrl, options)
.then(result => {
const theme = this.store.createRecord(
this.recordType,
result.theme
);
const theme = this.store.createRecord(this.recordType, result.theme);
this.adminCustomizeThemes.send("addTheme", theme);
this.send("closeModal");
})

View File

@ -76,12 +76,7 @@ const ColorSchemeColor = Discourse.Model.extend({
@observes("hex")
hexValueChanged() {
if (this.hex) {
this.set(
"hex",
this.hex
.toString()
.replace(/[^0-9a-fA-F]/g, "")
);
this.set("hex", this.hex.toString().replace(/[^0-9a-fA-F]/g, ""));
}
},

View File

@ -30,10 +30,9 @@ const ScreenedIpAddress = Discourse.Model.extend({
},
destroy() {
return ajax(
"/admin/logs/screened_ip_addresses/" + this.id + ".json",
{ type: "DELETE" }
);
return ajax("/admin/logs/screened_ip_addresses/" + this.id + ".json", {
type: "DELETE"
});
}
});

View File

@ -50,23 +50,17 @@ export default Discourse.Model.extend({
topics_viewed: this.topics_viewed >= this.min_topics_viewed,
posts_read: this.posts_read >= this.min_posts_read,
topics_viewed_all_time:
this.topics_viewed_all_time >=
this.min_topics_viewed_all_time,
this.topics_viewed_all_time >= this.min_topics_viewed_all_time,
posts_read_all_time:
this.posts_read_all_time >= this.min_posts_read_all_time,
flagged_posts:
this.num_flagged_posts <= this.max_flagged_posts,
flagged_by_users:
this.num_flagged_by_users <= this.max_flagged_by_users,
flagged_posts: this.num_flagged_posts <= this.max_flagged_posts,
flagged_by_users: this.num_flagged_by_users <= this.max_flagged_by_users,
likes_given: this.num_likes_given >= this.min_likes_given,
likes_received:
this.num_likes_received >= this.min_likes_received,
likes_received: this.num_likes_received >= this.min_likes_received,
likes_received_days:
this.num_likes_received_days >=
this.min_likes_received_days,
this.num_likes_received_days >= this.min_likes_received_days,
likes_received_users:
this.num_likes_received_users >=
this.min_likes_received_users,
this.num_likes_received_users >= this.min_likes_received_users,
level_locked: this.trust_level_locked,
silenced: this.get("penalty_counts.silenced") === 0,
suspended: this.get("penalty_counts.suspended") === 0

View File

@ -24,9 +24,7 @@ export default Ember.Component.extend({
self.$("input").autocomplete({
allowAny: false,
items: _.isArray(this.badgeNames)
? this.badgeNames
: [this.badgeNames],
items: _.isArray(this.badgeNames) ? this.badgeNames : [this.badgeNames],
single: this.single,
updateData: opts && opts.updateData ? opts.updateData : false,
onChangeItems: function(items) {

View File

@ -11,16 +11,12 @@ export default Ember.Component.extend({
@computed("categories.[].uploaded_logo.url")
anyLogos() {
return this.categories.any(
c => !Ember.isEmpty(c.get("uploaded_logo.url"))
);
return this.categories.any(c => !Ember.isEmpty(c.get("uploaded_logo.url")));
},
@computed("categories.[].subcategories")
hasSubcategories() {
return this.categories.any(
c => !Ember.isEmpty(c.get("subcategories"))
);
return this.categories.any(c => !Ember.isEmpty(c.get("subcategories")));
},
click(e) {

View File

@ -87,10 +87,7 @@ export default Ember.Component.extend(KeyEnterEscape, {
@observes("composeState")
disableFullscreen() {
if (
this.composeState !== Composer.OPEN &&
positioningWorkaround.blur
) {
if (this.composeState !== Composer.OPEN && positioningWorkaround.blur) {
positioningWorkaround.blur();
}
},

View File

@ -341,14 +341,7 @@ export default Ember.Component.extend({
this.set("shouldBuildScrollMap", false);
}
Ember.run.throttle(
this,
$callback,
$input,
$preview,
this.scrollMap,
20
);
Ember.run.throttle(this, $callback, $input, $preview, this.scrollMap, 20);
},
_teardownInputPreviewSync() {
@ -739,10 +732,7 @@ export default Ember.Component.extend({
this._setUploadPlaceholderSend(data);
this.appEvents.trigger(
"composer:insert-text",
this.uploadPlaceholder
);
this.appEvents.trigger("composer:insert-text", this.uploadPlaceholder);
if (data.xhr && data.originalFiles.length === 1) {
this.set("isCancellable", true);
@ -963,11 +953,7 @@ export default Ember.Component.extend({
unshift: true
});
if (
this.allowUpload &&
this.uploadIcon &&
!this.site.mobileView
) {
if (this.allowUpload && this.uploadIcon && !this.site.mobileView) {
toolbar.addButton({
id: "upload",
group: "insertions",

View File

@ -64,9 +64,7 @@ export default Ember.Component.extend({
titleMaxLength() {
// maxLength gets in the way of pasting long links, so don't use it if featured links are allowed.
// Validation will display a message if titles are too long.
return this.watchForLink
? null
: this.siteSettings.max_topic_title_length;
return this.watchForLink ? null : this.siteSettings.max_topic_title_length;
},
@observes("composer.titleLength", "watchForLink")

View File

@ -27,10 +27,7 @@ export default Ember.Component.extend({
}
});
if (
topicCount < this.requiredTopics ||
postCount < this.requiredPosts
) {
if (topicCount < this.requiredTopics || postCount < this.requiredPosts) {
this.set("enabled", true);
this.fetchLiveStats();
}

View File

@ -55,10 +55,7 @@ export default Ember.Component.extend({
click() {
if (typeof this.action === "string") {
this.sendAction("action", this.actionParam);
} else if (
typeof this.action === "object" &&
this.action.value
) {
} else if (typeof this.action === "object" && this.action.value) {
this.action.value(this.actionParam);
} else if (typeof this.action === "function") {
this.action(this.actionParam);

View File

@ -39,16 +39,14 @@ const DiscoveryTopicsListComponent = Ember.Component.extend(
actions: {
loadMore() {
Discourse.updateContextCount(0);
this.model
.loadMore()
.then(hasMoreResults => {
Ember.run.schedule("afterRender", () => this.saveScrollPosition());
if (!hasMoreResults) {
this.eyeline.flushRest();
} else if ($(window).height() >= $(document).height()) {
this.send("loadMore");
}
});
this.model.loadMore().then(hasMoreResults => {
Ember.run.schedule("afterRender", () => this.saveScrollPosition());
if (!hasMoreResults) {
this.eyeline.flushRest();
} else if ($(window).height() >= $(document).height()) {
this.send("loadMore");
}
});
}
}
}

View File

@ -63,9 +63,7 @@ export default Ember.Component.extend({
if (Ember.isEmpty(this.get("model.usernames"))) {
return;
}
this.model
.addMembers(this.get("model.usernames"))
.catch(popupAjaxError);
this.model.addMembers(this.get("model.usernames")).catch(popupAjaxError);
this.set("model.usernames", null);
},

View File

@ -12,9 +12,7 @@ export default Ember.Component.extend(
buildBuffer(buffer) {
const reason = this.get("validation.reason");
if (reason) {
buffer.push(
iconHTML(this.good ? "check" : "times") + " " + reason
);
buffer.push(iconHTML(this.good ? "check" : "times") + " " + reason);
}
}
})

View File

@ -127,9 +127,7 @@ export default Ember.Component.extend({
@computed("inviteModel", "inviteModel.details.can_invite_via_email")
canInviteViaEmail(inviteModel, canInviteViaEmail) {
return this.inviteModel === this.currentUser
? true
: canInviteViaEmail;
return this.inviteModel === this.currentUser ? true : canInviteViaEmail;
},
@computed("isPM", "canInviteViaEmail")
@ -184,10 +182,7 @@ export default Ember.Component.extend({
@computed("emailOrUsername")
showCustomMessage(emailOrUsername) {
return (
this.inviteModel === this.currentUser ||
emailValid(emailOrUsername)
);
return this.inviteModel === this.currentUser || emailValid(emailOrUsername);
},
// Instructional text for the modal.
@ -386,11 +381,7 @@ export default Ember.Component.extend({
}
return model
.generateInviteLink(
this.emailOrUsername.trim(),
groupNames,
topicId
)
.generateInviteLink(this.emailOrUsername.trim(), groupNames, topicId)
.then(result => {
model.setProperties({
saving: false,

View File

@ -181,9 +181,7 @@ export default Ember.Component.extend(
actions: {
toggleBookmark() {
this.topic
.toggleBookmark()
.finally(() => this.rerenderBuffer());
this.topic.toggleBookmark().finally(() => this.rerenderBuffer());
}
},

View File

@ -173,8 +173,7 @@ export default Ember.Controller.extend(
}
if (
this.get("emailValidation.ok") &&
(Ember.isEmpty(this.accountUsername) ||
this.get("authOptions.email"))
(Ember.isEmpty(this.accountUsername) || this.get("authOptions.email"))
) {
// If email is valid and username has not been entered yet,
// or email and username were filled automatically by 3rd parth auth,

View File

@ -85,9 +85,7 @@ export default Ember.Controller.extend(ModalFunctionality, {
this.set("model.closed", result.closed);
} else {
const topicTimer =
this.isPublic === "true"
? "topic_timer"
: "private_topic_timer";
this.isPublic === "true" ? "topic_timer" : "private_topic_timer";
this.set(`model.${topicTimer}`, Ember.Object.create({}));
this.setProperties({

View File

@ -291,9 +291,7 @@ export default Ember.Controller.extend({
},
selectAll() {
this.selected.addObjects(
this.get("model.posts").map(r => r.topic)
);
this.selected.addObjects(this.get("model.posts").map(r => r.topic));
// Doing this the proper way is a HUGE pain,
// we can hack this to work by observing each on the array
// in the component, however, when we select ANYTHING, we would force

View File

@ -180,9 +180,7 @@ export default Ember.Controller.extend(ModalFunctionality, {
@computed("model.previous_hidden", "model.current_hidden", "displayingInline")
hiddenClasses(prevHidden, currentHidden, displayingInline) {
if (displayingInline) {
return this.isEitherRevisionHidden
? "hidden-revision-either"
: null;
return this.isEitherRevisionHidden ? "hidden-revision-either" : null;
} else {
var result = [];
if (prevHidden) {

View File

@ -97,9 +97,7 @@ export default Ember.Controller.extend(
result.errors.password &&
result.errors.password.length > 0
) {
this.rejectedPasswords.pushObject(
this.accountPassword
);
this.rejectedPasswords.pushObject(this.accountPassword);
this.rejectedPasswordsMessages.set(
this.accountPassword,
result.errors.password[0]

View File

@ -15,10 +15,7 @@ export default Ember.Controller.extend(ModalFunctionality, {
actions: {
jump() {
if (this.postNumber) {
this._jumpToIndex(
this.filteredPostsCount,
this.postNumber
);
this._jumpToIndex(this.filteredPostsCount, this.postNumber);
} else if (this.postDate) {
this._jumpToDate(this.postDate);
}

View File

@ -69,9 +69,7 @@ export default Ember.Controller.extend(PasswordValidation, {
result.errors.password &&
result.errors.password.length > 0
) {
this.rejectedPasswords.pushObject(
this.accountPassword
);
this.rejectedPasswords.pushObject(this.accountPassword);
this.rejectedPasswordsMessages.set(
this.accountPassword,
result.errors.password[0]

View File

@ -61,23 +61,21 @@ export default Ember.Controller.extend({
const self = this;
this.set("saving", true);
return this.model
.changeEmail(this.newEmail)
.then(
() => self.set("success", true),
e => {
self.setProperties({ error: true, saving: false });
if (
e.jqXHR.responseJSON &&
e.jqXHR.responseJSON.errors &&
e.jqXHR.responseJSON.errors[0]
) {
self.set("errorMessage", e.jqXHR.responseJSON.errors[0]);
} else {
self.set("errorMessage", I18n.t("user.change_email.error"));
}
return this.model.changeEmail(this.newEmail).then(
() => self.set("success", true),
e => {
self.setProperties({ error: true, saving: false });
if (
e.jqXHR.responseJSON &&
e.jqXHR.responseJSON.errors &&
e.jqXHR.responseJSON.errors[0]
) {
self.set("errorMessage", e.jqXHR.responseJSON.errors[0]);
} else {
self.set("errorMessage", I18n.t("user.change_email.error"));
}
);
}
);
}
}
});

View File

@ -75,9 +75,7 @@ export default Ember.Controller.extend({
.changeUsername(this.newUsername)
.then(() => {
DiscourseURL.redirectTo(
userPath(
this.newUsername.toLowerCase() + "/preferences"
)
userPath(this.newUsername.toLowerCase() + "/preferences")
);
})
.catch(popupAjaxError)

View File

@ -25,9 +25,7 @@ export default Ember.Controller.extend(PreferencesTabController, {
if (!user.get("ignored")) {
const usernames = this.ignoredUsernames
.split(",")
.removeAt(
this.ignoredUsernames.split(",").length - 1
)
.removeAt(this.ignoredUsernames.split(",").length - 1)
.join(",");
this.set("ignoredUsernames", usernames);
}
@ -36,9 +34,7 @@ export default Ember.Controller.extend(PreferencesTabController, {
});
}
} else {
return this.model
.save(["ignored_usernames"])
.catch(popupAjaxError);
return this.model.save(["ignored_usernames"]).catch(popupAjaxError);
}
},
save() {

View File

@ -14,12 +14,10 @@ export default Ember.Controller.extend({
destroy => {
if (destroy) {
const c = this.get("tagGroups.model");
return this.model
.destroy()
.then(() => {
c.removeObject(this.model);
this.transitionToRoute("tagGroups");
});
return this.model.destroy().then(() => {
c.removeObject(this.model);
this.transitionToRoute("tagGroups");
});
}
}
);

View File

@ -607,16 +607,14 @@ export default Ember.Controller.extend(bufferedProperty("model"), {
} else if (post) {
return post.toggleBookmark().catch(popupAjaxError);
} else {
return this.model
.toggleBookmark()
.then(changedIds => {
if (!changedIds) {
return;
}
changedIds.forEach(id =>
this.appEvents.trigger("post-stream:refresh", { id })
);
});
return this.model.toggleBookmark().then(changedIds => {
if (!changedIds) {
return;
}
changedIds.forEach(id =>
this.appEvents.trigger("post-stream:refresh", { id })
);
});
}
},
@ -842,11 +840,9 @@ export default Ember.Controller.extend(bufferedProperty("model"), {
toggleClosed() {
const topic = this.model;
this.model
.toggleStatus("closed")
.then(result => {
topic.set("topic_status_update", result.topic_status_update);
});
this.model.toggleStatus("closed").then(result => {
topic.set("topic_status_update", result.topic_status_update);
});
},
recoverTopic() {
@ -1044,9 +1040,7 @@ export default Ember.Controller.extend(bufferedProperty("model"), {
);
} else {
postStream.loadPostByPostNumber(postNumber).then(p => {
DiscourseURL.routeTo(
this.model.urlForPostNumber(p.get("post_number"))
);
DiscourseURL.routeTo(this.model.urlForPostNumber(p.get("post_number")));
});
}
},
@ -1197,10 +1191,7 @@ export default Ember.Controller.extend(bufferedProperty("model"), {
},
postSelected(post) {
return (
this.selectedAllPost ||
this.selectedPostIds.includes(post.id)
);
return this.selectedAllPost || this.selectedPostIds.includes(post.id);
},
@computed

View File

@ -26,11 +26,9 @@ export default Ember.Controller.extend({
@observes("searchTerm")
_searchTermChanged: debounce(function() {
Invite.findInvitedBy(
this.user,
this.filter,
this.searchTerm
).then(invites => this.set("model", invites));
Invite.findInvitedBy(this.user, this.filter, this.searchTerm).then(
invites => this.set("model", invites)
);
}, 250),
inviteRedeemed: Ember.computed.equal("filter", "redeemed"),

View File

@ -106,8 +106,7 @@ export default Ember.Mixin.create({
}.on("didInsertElement"),
_destroy: function() {
this.messageBus &&
this.messageBus.unsubscribe("/uploads/" + this.type);
this.messageBus && this.messageBus.unsubscribe("/uploads/" + this.type);
const $upload = this.$();
try {

View File

@ -4,9 +4,7 @@ import RestModel from "discourse/models/rest";
export default RestModel.extend({
@computed("name")
i18nNameKey() {
return this.name
.toLowerCase()
.replace(/\s/g, "_");
return this.name.toLowerCase().replace(/\s/g, "_");
},
@computed("name")

View File

@ -41,33 +41,27 @@ const Group = RestModel.extend({
return;
}
const offset = Math.min(
this.user_count,
Math.max(this.offset, 0)
const offset = Math.min(this.user_count, Math.max(this.offset, 0));
return Group.loadMembers(this.name, offset, this.limit, params).then(
result => {
var ownerIds = {};
result.owners.forEach(owner => (ownerIds[owner.id] = true));
this.setProperties({
user_count: result.meta.total,
limit: result.meta.limit,
offset: result.meta.offset,
members: result.members.map(member => {
if (ownerIds[member.id]) {
member.owner = true;
}
return User.create(member);
}),
owners: result.owners.map(owner => User.create(owner))
});
}
);
return Group.loadMembers(
this.name,
offset,
this.limit,
params
).then(result => {
var ownerIds = {};
result.owners.forEach(owner => (ownerIds[owner.id] = true));
this.setProperties({
user_count: result.meta.total,
limit: result.meta.limit,
offset: result.meta.offset,
members: result.members.map(member => {
if (ownerIds[member.id]) {
member.owner = true;
}
return User.create(member);
}),
owners: result.owners.map(owner => User.create(owner))
});
});
},
removeOwner(member) {
@ -251,16 +245,14 @@ const Group = RestModel.extend({
data.category_id = parseInt(opts.categoryId);
}
return ajax(`/groups/${this.name}/${type}.json`, { data }).then(
posts => {
return posts.map(p => {
p.user = User.create(p.user);
p.topic = Topic.create(p.topic);
p.category = Category.findById(p.category_id);
return Ember.Object.create(p);
});
}
);
return ajax(`/groups/${this.name}/${type}.json`, { data }).then(posts => {
return posts.map(p => {
p.user = User.create(p.user);
p.topic = Topic.create(p.topic);
p.category = Category.findById(p.category_id);
return Ember.Object.create(p);
});
});
},
setNotification(notification_level, userId) {

View File

@ -3,25 +3,17 @@ import computed from "ember-addons/ember-computed-decorators";
const LoginMethod = Ember.Object.extend({
@computed
title() {
return (
this.title_override || I18n.t(`login.${this.name}.title`)
);
return this.title_override || I18n.t(`login.${this.name}.title`);
},
@computed
prettyName() {
return (
this.pretty_name_override ||
I18n.t(`login.${this.name}.name`)
);
return this.pretty_name_override || I18n.t(`login.${this.name}.name`);
},
@computed
message() {
return (
this.message_override ||
I18n.t("login." + this.name + ".message")
);
return this.message_override || I18n.t("login." + this.name + ".message");
},
doLogin({ reconnect = false, fullScreenLogin = true } = {}) {

View File

@ -487,9 +487,7 @@ export default RestModel.extend({
**/
undoPost(post) {
this.stream.removeObject(-1);
this.postsWithPlaceholders.removePost(() =>
this.posts.removeObject(post)
);
this.postsWithPlaceholders.removePost(() => this.posts.removeObject(post));
this._identityMap[-1] = null;
const topic = this.topic;
@ -520,9 +518,7 @@ export default RestModel.extend({
if (!posts.includes(stored)) {
if (!this.loadingBelow) {
this.postsWithPlaceholders.appendPost(() =>
posts.pushObject(stored)
);
this.postsWithPlaceholders.appendPost(() => posts.pushObject(stored));
} else {
posts.pushObject(stored);
}

View File

@ -91,9 +91,7 @@ const Post = RestModel.extend({
internalLinks() {
if (Ember.isEmpty(this.link_counts)) return null;
return this.link_counts
.filterBy("internal")
.filterBy("title");
return this.link_counts.filterBy("internal").filterBy("title");
},
@computed("actions_summary.@each.can_act")

View File

@ -69,11 +69,7 @@ const Topic = RestModel.extend({
const maxUserCount = 5;
const posterCount = users.length;
if (
this.isPrivateMessage &&
participants &&
posterCount < maxUserCount
) {
if (this.isPrivateMessage && participants && posterCount < maxUserCount) {
let pushOffset = 0;
if (posterCount > 1) {
const lastUser = users[posterCount - 1];

View File

@ -50,13 +50,9 @@ const UserAction = RestModel.extend({
if (this.postReplyType) {
if (this.reply_to_post_number) {
return this.sameUser
? "you_replied_to_post"
: "user_replied_to_post";
return this.sameUser ? "you_replied_to_post" : "user_replied_to_post";
} else {
return this.sameUser
? "you_replied_to_topic"
: "user_replied_to_topic";
return this.sameUser ? "you_replied_to_topic" : "user_replied_to_topic";
}
}
@ -64,9 +60,7 @@ const UserAction = RestModel.extend({
if (this.sameUser) {
return "you_mentioned_user";
} else {
return this.targetUser
? "user_mentioned_you"
: "user_mentioned_user";
return this.targetUser ? "user_mentioned_you" : "user_mentioned_user";
}
}
},
@ -102,20 +96,12 @@ const UserAction = RestModel.extend({
@computed()
postUrl() {
return postUrl(
this.slug,
this.topic_id,
this.post_number
);
return postUrl(this.slug, this.topic_id, this.post_number);
},
@computed()
replyUrl() {
return postUrl(
this.slug,
this.topic_id,
this.reply_to_post_number
);
return postUrl(this.slug, this.topic_id, this.reply_to_post_number);
},
replyType: Ember.computed.equal("action_type", UserActionTypes.replies),

View File

@ -24,11 +24,7 @@ export default RestModel.extend({
postUrl(topicId) {
if (!topicId) return;
return postUrl(
this.slug,
this.topic_id,
this.post_number
);
return postUrl(this.slug, this.topic_id, this.post_number);
},
@computed("draft_key")

View File

@ -218,13 +218,10 @@ const User = RestModel.extend({
silencedTillDate: longDate,
changeUsername(new_username) {
return ajax(
userPath(`${this.username_lower}/preferences/username`),
{
type: "PUT",
data: { new_username }
}
);
return ajax(userPath(`${this.username_lower}/preferences/username`), {
type: "PUT",
data: { new_username }
});
},
changeEmail(email) {
@ -390,13 +387,10 @@ const User = RestModel.extend({
},
revokeAssociatedAccount(providerName) {
return ajax(
userPath(`${this.username}/preferences/revoke-account`),
{
data: { provider_name: providerName },
type: "POST"
}
);
return ajax(userPath(`${this.username}/preferences/revoke-account`), {
data: { provider_name: providerName },
type: "POST"
});
},
loadUserAction(id) {
@ -528,17 +522,17 @@ const User = RestModel.extend({
},
pickAvatar(upload_id, type) {
return ajax(
userPath(`${this.username_lower}/preferences/avatar/pick`),
{ type: "PUT", data: { upload_id, type } }
);
return ajax(userPath(`${this.username_lower}/preferences/avatar/pick`), {
type: "PUT",
data: { upload_id, type }
});
},
selectAvatar(avatarUrl) {
return ajax(
userPath(`${this.username_lower}/preferences/avatar/select`),
{ type: "PUT", data: { url: avatarUrl } }
);
return ajax(userPath(`${this.username_lower}/preferences/avatar/select`), {
type: "PUT",
data: { url: avatarUrl }
});
},
isAllowedToUploadAFile(type) {
@ -657,49 +651,47 @@ const User = RestModel.extend({
// let { store } = this; would fail in tests
const store = Discourse.__container__.lookup("service:store");
return ajax(userPath(`${this.username_lower}/summary.json`)).then(
json => {
const summary = json.user_summary;
const topicMap = {};
const badgeMap = {};
return ajax(userPath(`${this.username_lower}/summary.json`)).then(json => {
const summary = json.user_summary;
const topicMap = {};
const badgeMap = {};
json.topics.forEach(
t => (topicMap[t.id] = store.createRecord("topic", t))
);
Badge.createFromJson(json).forEach(b => (badgeMap[b.id] = b));
json.topics.forEach(
t => (topicMap[t.id] = store.createRecord("topic", t))
);
Badge.createFromJson(json).forEach(b => (badgeMap[b.id] = b));
summary.topics = summary.topic_ids.map(id => topicMap[id]);
summary.topics = summary.topic_ids.map(id => topicMap[id]);
summary.replies.forEach(r => {
r.topic = topicMap[r.topic_id];
r.url = r.topic.urlForPostNumber(r.post_number);
r.createdAt = new Date(r.created_at);
summary.replies.forEach(r => {
r.topic = topicMap[r.topic_id];
r.url = r.topic.urlForPostNumber(r.post_number);
r.createdAt = new Date(r.created_at);
});
summary.links.forEach(l => {
l.topic = topicMap[l.topic_id];
l.post_url = l.topic.urlForPostNumber(l.post_number);
});
if (summary.badges) {
summary.badges = summary.badges.map(ub => {
const badge = badgeMap[ub.badge_id];
badge.count = ub.count;
return badge;
});
summary.links.forEach(l => {
l.topic = topicMap[l.topic_id];
l.post_url = l.topic.urlForPostNumber(l.post_number);
});
if (summary.badges) {
summary.badges = summary.badges.map(ub => {
const badge = badgeMap[ub.badge_id];
badge.count = ub.count;
return badge;
});
}
if (summary.top_categories) {
summary.top_categories.forEach(c => {
if (c.parent_category_id) {
c.parentCategory = Category.findById(c.parent_category_id);
}
});
}
return summary;
}
);
if (summary.top_categories) {
summary.top_categories.forEach(c => {
if (c.parent_category_id) {
c.parentCategory = Category.findById(c.parent_category_id);
}
});
}
return summary;
});
},
canManageGroup(group) {

View File

@ -12,8 +12,7 @@ export default Discourse.Route.extend(ViewingActionType, {
afterModel(model, transition) {
return model.filterBy({
filter: this.userActionType,
noContentHelpKey:
this.noContentHelpKey || "user_activity.no_default",
noContentHelpKey: this.noContentHelpKey || "user_activity.no_default",
actingUsername: transition.to.queryParams.acting_username
});
},

View File

@ -46,8 +46,7 @@ export default MultiSelectComponent.extend({
const blacklist = Ember.makeArray(this.blacklist);
return Category.list().filter(category => {
return (
this.categories.includes(category) ||
!blacklist.includes(category)
this.categories.includes(category) || !blacklist.includes(category)
);
});
}

View File

@ -39,9 +39,7 @@ export default MultiSelectComponent.extend({
},
computeValues() {
return this.settingValue
.split(this.tokenSeparator)
.filter(c => c);
return this.settingValue.split(this.tokenSeparator).filter(c => c);
},
_handleTabOnKeyDown(event) {

View File

@ -154,8 +154,7 @@ export default ComboBox.extend(TagsMixin, {
}
if (!this.hasReachedMinimum && isEmpty(this.selection)) {
const key =
this.minimumLabel || "select_kit.min_content_not_reached";
const key = this.minimumLabel || "select_kit.min_content_not_reached";
const label = I18n.t(key, { count: this.minimum });
content.title = content.name = content.label = label;
}

View File

@ -168,14 +168,11 @@ export default SelectKitComponent.extend({
if (this.noneLabel) {
if (!this.hasSelection) {
content.title = content.name = content.label = I18n.t(
this.noneLabel
);
content.title = content.name = content.label = I18n.t(this.noneLabel);
}
} else {
if (!this.hasReachedMinimum) {
const key =
this.minimumLabel || "select_kit.min_content_not_reached";
const key = this.minimumLabel || "select_kit.min_content_not_reached";
content.title = content.name = content.label = I18n.t(key, {
count: this.minimum
});
@ -243,10 +240,7 @@ export default SelectKitComponent.extend({
if (isEmpty(this.collectionComputedContent)) {
if (this.createRowComputedContent) {
this.highlight(this.createRowComputedContent);
} else if (
this.noneRowComputedContent &&
this.hasSelection
) {
} else if (this.noneRowComputedContent && this.hasSelection) {
this.highlight(this.noneRowComputedContent);
}
} else {
@ -260,10 +254,7 @@ export default SelectKitComponent.extend({
!computedContentItem ||
computedContentItem.__sk_row_type === "noneRow"
) {
applyOnSelectNonePluginApiCallbacks(
this.pluginApiIdentifiers,
this
);
applyOnSelectNonePluginApiCallbacks(this.pluginApiIdentifiers, this);
this._boundaryActionHandler("onSelectNone");
this.clearSelection();
return;

View File

@ -157,9 +157,7 @@ export default SelectKitComponent.extend({
@computed("selection")
hasSelection(selection) {
return (
selection !== this.noneRowComputedContent && !isNone(selection)
);
return selection !== this.noneRowComputedContent && !isNone(selection);
},
@computed(
@ -180,19 +178,12 @@ export default SelectKitComponent.extend({
return;
}
if (
!isEmpty(this.filter) &&
!isEmpty(this.collectionComputedContent)
) {
if (!isEmpty(this.filter) && !isEmpty(this.collectionComputedContent)) {
this.highlight(this.get("collectionComputedContent.firstObject"));
return;
}
if (
!this.isAsync &&
this.hasSelection &&
isEmpty(this.filter)
) {
if (!this.isAsync && this.hasSelection && isEmpty(this.filter)) {
this.highlight(get(makeArray(this.selection), "firstObject"));
return;
}
@ -235,10 +226,7 @@ export default SelectKitComponent.extend({
!computedContentItem ||
computedContentItem.__sk_row_type === "noneRow"
) {
applyOnSelectNonePluginApiCallbacks(
this.pluginApiIdentifiers,
this
);
applyOnSelectNonePluginApiCallbacks(this.pluginApiIdentifiers, this);
this._boundaryActionHandler("onSelectNone");
this._boundaryActionHandler("onSelectAny", computedContentItem);
this.clearSelection();

View File

@ -105,9 +105,10 @@ export default MultiSelectComponent.extend(TagsMixin, {
};
if (selectedTags.length || this.blacklist.length) {
data.selected_tags = _.uniq(
selectedTags.concat(this.blacklist)
).slice(0, 100);
data.selected_tags = _.uniq(selectedTags.concat(this.blacklist)).slice(
0,
100
);
}
if (!this.everyTag) data.filterForInput = true;

View File

@ -180,10 +180,7 @@ export default Ember.Mixin.create({
const offsetBottom = this.element.getBoundingClientRect().bottom;
const windowWidth = $(window).width();
if (
this.fullWidthOnMobile &&
(this.site && this.site.isMobileDevice)
) {
if (this.fullWidthOnMobile && (this.site && this.site.isMobileDevice)) {
const margin = 10;
const relativeLeft = this.$().offset().left - $(window).scrollLeft();
options.left = margin - relativeLeft;
@ -218,8 +215,7 @@ export default Ember.Mixin.create({
if (this._isRTL()) {
options.right = this.horizontalOffset;
} else {
options.left =
-bodyWidth + elementWidth - this.horizontalOffset;
options.left = -bodyWidth + elementWidth - this.horizontalOffset;
}
} else {
this.$()
@ -227,16 +223,14 @@ export default Ember.Mixin.create({
.removeClass("is-left-aligned");
if (this._isRTL()) {
options.right =
-bodyWidth + elementWidth - this.horizontalOffset;
options.right = -bodyWidth + elementWidth - this.horizontalOffset;
} else {
options.left = this.horizontalOffset;
}
}
}
const fullHeight =
this.verticalOffset + bodyHeight + componentHeight;
const fullHeight = this.verticalOffset + bodyHeight + componentHeight;
const hasBelowSpace = $(window).height() - offsetBottom - fullHeight >= -1;
const hasAboveSpace = offsetTop - fullHeight - discourseHeaderHeight >= -1;
const headerHeight = this._computedStyle(this.$header()[0], "height");

View File

@ -55,11 +55,7 @@ export default Ember.Mixin.create({
},
_castInteger(value) {
if (
this.castInteger &&
Ember.isPresent(value) &&
this._isNumeric(value)
) {
if (this.castInteger && Ember.isPresent(value) && this._isNumeric(value)) {
return parseInt(value, 10);
}

View File

@ -79,9 +79,7 @@ export function createPreviewComponent(width, height, obj) {
return false;
}
const colors = this.wizard.getCurrentColors(
this.colorsId
);
const colors = this.wizard.getCurrentColors(this.colorsId);
if (!colors) {
return;
}

View File

@ -11,18 +11,8 @@ componentTest("with value", {
template: "{{category-chooser value=2}}",
test(assert) {
assert.equal(
this.subject
.header()
.value(),
2
);
assert.equal(
this.subject
.header()
.title(),
"feature"
);
assert.equal(this.subject.header().value(), 2);
assert.equal(this.subject.header().title(), "feature");
}
});
@ -32,11 +22,7 @@ componentTest("with excludeCategoryId", {
async test(assert) {
await this.subject.expand();
assert.notOk(
this.subject
.rowByValue(2)
.exists()
);
assert.notOk(this.subject.rowByValue(2).exists());
}
});
@ -47,29 +33,15 @@ componentTest("with scopedCategoryId", {
await this.subject.expand();
assert.equal(
this.subject
.rowByIndex(0)
.title(),
this.subject.rowByIndex(0).title(),
"Discussion about features or potential features of Discourse: how they work, why they work, etc."
);
assert.equal(this.subject.rowByIndex(0).value(), 2);
assert.equal(
this.subject
.rowByIndex(0)
.value(),
2
);
assert.equal(
this.subject
.rowByIndex(1)
.title(),
this.subject.rowByIndex(1).title(),
"My idea here is to have mini specs for features we would like built but have no bandwidth to build"
);
assert.equal(
this.subject
.rowByIndex(1)
.value(),
26
);
assert.equal(this.subject.rowByIndex(1).value(), 26);
assert.equal(this.subject.rows().length, 2);
await this.subject.fillInFilter("dev");
@ -86,18 +58,8 @@ componentTest("with allowUncategorized=null", {
},
test(assert) {
assert.equal(
this.subject
.header()
.value(),
null
);
assert.equal(
this.subject
.header()
.title(),
"category"
);
assert.equal(this.subject.header().value(), null);
assert.equal(this.subject.header().title(), "category");
}
});
@ -109,18 +71,8 @@ componentTest("with allowUncategorized=null rootNone=true", {
},
test(assert) {
assert.equal(
this.subject
.header()
.value(),
null
);
assert.equal(
this.subject
.header()
.title(),
"category"
);
assert.equal(this.subject.header().value(), null);
assert.equal(this.subject.header().title(), "category");
}
});
@ -134,18 +86,8 @@ componentTest("with disallowed uncategorized, rootNone and rootNoneLabel", {
},
test(assert) {
assert.equal(
this.subject
.header()
.value(),
null
);
assert.equal(
this.subject
.header()
.title(),
"category"
);
assert.equal(this.subject.header().value(), null);
assert.equal(this.subject.header().title(), "category");
}
});
@ -157,18 +99,8 @@ componentTest("with allowed uncategorized", {
},
test(assert) {
assert.equal(
this.subject
.header()
.value(),
null
);
assert.equal(
this.subject
.header()
.title(),
"uncategorized"
);
assert.equal(this.subject.header().value(), null);
assert.equal(this.subject.header().title(), "uncategorized");
}
});
@ -180,18 +112,8 @@ componentTest("with allowed uncategorized and rootNone", {
},
test(assert) {
assert.equal(
this.subject
.header()
.value(),
null
);
assert.equal(
this.subject
.header()
.title(),
"(no category)"
);
assert.equal(this.subject.header().value(), null);
assert.equal(this.subject.header().title(), "(no category)");
}
});
@ -205,17 +127,7 @@ componentTest("with allowed uncategorized rootNone and rootNoneLabel", {
},
test(assert) {
assert.equal(
this.subject
.header()
.value(),
null
);
assert.equal(
this.subject
.header()
.title(),
"root none label"
);
assert.equal(this.subject.header().value(), null);
assert.equal(this.subject.header().title(), "root none label");
}
});

View File

@ -25,25 +25,19 @@ componentTest("subcatgories - no selection", {
async test(assert) {
assert.equal(
this.subject
.header()
.title(),
this.subject.header().title(),
I18n.t("categories.all_subcategories")
);
await this.subject.expand();
assert.equal(
this.subject
.rowByIndex(0)
.name(),
this.subject.rowByIndex(0).name(),
I18n.t("categories.no_subcategory")
);
assert.equal(
this.subject
.rowByIndex(1)
.name(),
this.subject.rowByIndex(1).name(),
this.get("childCategories.firstObject.name")
);
}
@ -67,25 +61,19 @@ componentTest("subcatgories - selection", {
async test(assert) {
assert.equal(
this.subject
.header()
.title(),
this.subject.header().title(),
this.get("childCategories.firstObject.name")
);
await this.subject.expand();
assert.equal(
this.subject
.rowByIndex(0)
.name(),
this.subject.rowByIndex(0).name(),
I18n.t("categories.all_subcategories")
);
assert.equal(
this.subject
.rowByIndex(1)
.name(),
this.subject.rowByIndex(1).name(),
I18n.t("categories.no_subcategory")
);
}

View File

@ -16,16 +16,9 @@ componentTest("default", {
},
test(assert) {
assert.equal(
this.subject
.header()
.value(),
2
);
assert.equal(this.subject.header().value(), 2);
assert.notOk(
this.subject
.rowByValue(2)
.exists(),
this.subject.rowByValue(2).exists(),
"selected categories are not in the list"
);
}
@ -43,15 +36,11 @@ componentTest("with blacklist", {
await this.subject.expand();
assert.ok(
this.subject
.rowByValue(6)
.exists(),
this.subject.rowByValue(6).exists(),
"not blacklisted categories are in the list"
);
assert.notOk(
this.subject
.rowByValue(8)
.exists(),
this.subject.rowByValue(8).exists(),
"blacklisted categories are not in the list"
);
}
@ -70,9 +59,7 @@ componentTest("interactions", {
await this.subject.selectRowByValue(8);
assert.equal(
this.subject
.header()
.value(),
this.subject.header().value(),
"2,6,8",
"it adds the selected category"
);
@ -84,9 +71,7 @@ componentTest("interactions", {
await this.subject.keyboard("backspace");
assert.equal(
this.subject
.header()
.value(),
this.subject.header().value(),
"2,6",
"it removes the last selected category"
);

View File

@ -15,24 +15,9 @@ componentTest("default", {
async test(assert) {
await this.subject.expand();
assert.equal(
this.subject
.header()
.name(),
"hello"
);
assert.equal(
this.subject
.rowByValue(1)
.name(),
"hello"
);
assert.equal(
this.subject
.rowByValue(2)
.name(),
"world"
);
assert.equal(this.subject.header().name(), "hello");
assert.equal(this.subject.rowByValue(1).name(), "hello");
assert.equal(this.subject.rowByValue(2).name(), "world");
}
});
@ -48,18 +33,8 @@ componentTest("with valueAttribute", {
async test(assert) {
await this.subject.expand();
assert.equal(
this.subject
.rowByValue(0)
.name(),
"hello"
);
assert.equal(
this.subject
.rowByValue(1)
.name(),
"world"
);
assert.equal(this.subject.rowByValue(0).name(), "hello");
assert.equal(this.subject.rowByValue(1).name(), "world");
}
});
@ -72,18 +47,8 @@ componentTest("with nameProperty", {
async test(assert) {
await this.subject.expand();
assert.equal(
this.subject
.rowByValue(0)
.name(),
"hello"
);
assert.equal(
this.subject
.rowByValue(1)
.name(),
"world"
);
assert.equal(this.subject.rowByValue(0).name(), "hello");
assert.equal(this.subject.rowByValue(1).name(), "world");
}
});
@ -96,18 +61,8 @@ componentTest("with an array as content", {
async test(assert) {
await this.subject.expand();
assert.equal(
this.subject
.rowByValue("evil")
.name(),
"evil"
);
assert.equal(
this.subject
.rowByValue("trout")
.name(),
"trout"
);
assert.equal(this.subject.rowByValue("evil").name(), "evil");
assert.equal(this.subject.rowByValue("trout").name(), "trout");
}
});
@ -122,30 +77,10 @@ componentTest("with value and none as a string", {
async test(assert) {
await this.subject.expand();
assert.equal(
this.subject
.noneRow()
.name(),
"none"
);
assert.equal(
this.subject
.rowByValue("evil")
.name(),
"evil"
);
assert.equal(
this.subject
.rowByValue("trout")
.name(),
"trout"
);
assert.equal(
this.subject
.header()
.name(),
"trout"
);
assert.equal(this.subject.noneRow().name(), "none");
assert.equal(this.subject.rowByValue("evil").name(), "evil");
assert.equal(this.subject.rowByValue("trout").name(), "trout");
assert.equal(this.subject.header().name(), "trout");
assert.equal(this.value, "trout");
await this.subject.selectNoneRow();
@ -165,30 +100,10 @@ componentTest("with value and none as an object", {
async test(assert) {
await this.subject.expand();
assert.equal(
this.subject
.noneRow()
.name(),
"none"
);
assert.equal(
this.subject
.rowByValue("evil")
.name(),
"evil"
);
assert.equal(
this.subject
.rowByValue("trout")
.name(),
"trout"
);
assert.equal(
this.subject
.header()
.name(),
"evil"
);
assert.equal(this.subject.noneRow().name(), "none");
assert.equal(this.subject.rowByValue("evil").name(), "evil");
assert.equal(this.subject.rowByValue("trout").name(), "trout");
assert.equal(this.subject.header().name(), "evil");
assert.equal(this.value, "evil");
await this.subject.selectNoneRow();
@ -209,12 +124,7 @@ componentTest("with no value and none as an object", {
async test(assert) {
await this.subject.expand();
assert.equal(
this.subject
.header()
.name(),
"none"
);
assert.equal(this.subject.header().name(), "none");
}
});
@ -230,12 +140,7 @@ componentTest("with no value and none string", {
async test(assert) {
await this.subject.expand();
assert.equal(
this.subject
.header()
.name(),
"none"
);
assert.equal(this.subject.header().name(), "none");
}
});
@ -250,9 +155,7 @@ componentTest("with no value and no none", {
await this.subject.expand();
assert.equal(
this.subject
.header()
.name(),
this.subject.header().name(),
"evil",
"it sets the first row as value"
);
@ -270,9 +173,7 @@ componentTest("with empty string as value", {
await this.subject.expand();
assert.equal(
this.subject
.header()
.name(),
this.subject.header().name(),
"evil",
"it sets the first row as value"
);
@ -292,9 +193,7 @@ componentTest("with noneLabel", {
await this.subject.expand();
assert.equal(
this.subject
.header()
.name(),
this.subject.header().name(),
"none",
"it displays noneLabel as the header name"
);

View File

@ -248,10 +248,7 @@ testCase("link modal (link with description)", async function(assert) {
await fillIn(".insert-link input.link-text", "evil trout");
await click(".insert-link button.btn-primary");
assert.equal(find(".insert-link.hidden").length, 1);
assert.equal(
this.value,
"hello world.[evil trout](http://eviltrout.com)"
);
assert.equal(this.value, "hello world.[evil trout](http://eviltrout.com)");
});
componentTest("advanced code", {
@ -347,10 +344,7 @@ third line`
textarea.selectionEnd = 10;
await click("button.code");
assert.equal(
this.value,
"first `line`\n\nsecond line\n\nthird line"
);
assert.equal(this.value, "first `line`\n\nsecond line\n\nthird line");
assert.equal(textarea.selectionStart, 7);
assert.equal(textarea.selectionEnd, 11);
@ -363,10 +357,7 @@ third line`
textarea.selectionEnd = 23;
await click("button.code");
assert.equal(
this.value,
" first line\n\n second line\n\nthird line"
);
assert.equal(this.value, " first line\n\n second line\n\nthird line");
assert.equal(textarea.selectionStart, 0);
assert.equal(textarea.selectionEnd, 31);

View File

@ -43,17 +43,13 @@ componentTest("default", {
await this.subject.expand();
assert.equal(
this.subject
.rowByIndex(0)
.name(),
this.subject.rowByIndex(0).name(),
"bianca",
"it has the correct tag"
);
assert.equal(
this.subject
.rowByIndex(1)
.name(),
this.subject.rowByIndex(1).name(),
"régis",
"it has the correct tag"
);

View File

@ -18,12 +18,7 @@ componentTest("with objects and values", {
},
test(assert) {
assert.equal(
this.subject
.header()
.value(),
"1,2"
);
assert.equal(this.subject.header().value(), "1,2");
}
});
@ -61,24 +56,16 @@ componentTest("interactions", {
await this.subject.expand();
assert.equal(
this.subject
.highlightedRow()
.name(),
this.subject.highlightedRow().name(),
"robin",
"it highlights the first content row"
);
await this.set("none", "test.none");
assert.ok(
this.subject
.noneRow()
.exists()
);
assert.ok(this.subject.noneRow().exists());
assert.equal(
this.subject
.highlightedRow()
.name(),
this.subject.highlightedRow().name(),
"robin",
"it highlights the first content row"
);
@ -87,9 +74,7 @@ componentTest("interactions", {
await this.subject.expand();
assert.equal(
this.subject
.highlightedRow()
.name(),
this.subject.highlightedRow().name(),
"none",
"it highlights none row if no content"
);
@ -97,9 +82,7 @@ componentTest("interactions", {
await this.subject.fillInFilter("joffrey");
assert.equal(
this.subject
.highlightedRow()
.name(),
this.subject.highlightedRow().name(),
"joffrey",
"it highlights create row when filling filter"
);
@ -107,9 +90,7 @@ componentTest("interactions", {
await this.subject.keyboard("enter");
assert.equal(
this.subject
.highlightedRow()
.name(),
this.subject.highlightedRow().name(),
"none",
"it highlights none row after creating content and no content left"
);
@ -140,9 +121,7 @@ componentTest("interactions", {
"it removes the previous highlighted selected content"
);
assert.notOk(
this.subject
.rowByValue("joffrey")
.exists(),
this.subject.rowByValue("joffrey").exists(),
"generated content shouldnt appear in content when removed"
);
@ -191,12 +170,7 @@ componentTest("with limitMatches", {
async test(assert) {
await this.subject.expand();
assert.equal(
this.subject
.el()
.find(".select-kit-row").length,
2
);
assert.equal(this.subject.el().find(".select-kit-row").length, 2);
}
});
@ -210,19 +184,11 @@ componentTest("with minimum", {
async test(assert) {
await this.subject.expand();
assert.equal(
this.subject.validationMessage(),
"Select at least 1 item."
);
assert.equal(this.subject.validationMessage(), "Select at least 1 item.");
await this.subject.selectRowByValue("sam");
assert.equal(
this.subject
.header()
.label(),
"sam"
);
assert.equal(this.subject.header().label(), "sam");
}
});
@ -242,12 +208,7 @@ componentTest("with minimumLabel", {
await this.subject.selectRowByValue("jeff");
assert.equal(
this.subject
.header()
.label(),
"jeff"
);
assert.equal(this.subject.header().label(), "jeff");
}
});

View File

@ -27,20 +27,10 @@ componentTest("updating the content refreshes the list", {
},
async test(assert) {
assert.equal(
this.subject
.header()
.name(),
"pinned"
);
assert.equal(this.subject.header().name(), "pinned");
await this.set("pinned", false);
assert.equal(
this.subject
.header()
.name(),
"unpinned"
);
assert.equal(this.subject.header().name(), "unpinned");
}
});

View File

@ -19,21 +19,11 @@ componentTest("updating the content refreshes the list", {
async test(assert) {
await this.subject.expand();
assert.equal(
this.subject
.rowByValue(1)
.name(),
"BEFORE"
);
assert.equal(this.subject.rowByValue(1).name(), "BEFORE");
await this.set("content", [{ id: 1, name: "AFTER" }]);
assert.equal(
this.subject
.rowByValue(1)
.name(),
"AFTER"
);
assert.equal(this.subject.rowByValue(1).name(), "AFTER");
}
});
@ -49,9 +39,7 @@ componentTest("accepts a value by reference", {
await this.subject.expand();
assert.equal(
this.subject
.selectedRow()
.name(),
this.subject.selectedRow().name(),
"robin",
"it highlights the row corresponding to the value"
);
@ -67,9 +55,7 @@ componentTest("no default icon", {
test(assert) {
assert.equal(
this.subject
.header()
.icon().length,
this.subject.header().icon().length,
0,
"it doesnt have an icon if not specified"
);
@ -82,14 +68,7 @@ componentTest("default search icon", {
async test(assert) {
await this.subject.expand();
assert.ok(
exists(
this.subject
.filter()
.icon()
),
"it has an icon"
);
assert.ok(exists(this.subject.filter().icon()), "it has an icon");
}
});
@ -99,14 +78,7 @@ componentTest("with no search icon", {
async test(assert) {
await this.subject.expand();
assert.notOk(
exists(
this.subject
.filter()
.icon()
),
"it has no icon"
);
assert.notOk(exists(this.subject.filter().icon()), "it has no icon");
}
});
@ -151,12 +123,7 @@ componentTest("accepts custom value/name keys", {
async test(assert) {
await this.subject.expand();
assert.equal(
this.subject
.selectedRow()
.name(),
"robin"
);
assert.equal(this.subject.selectedRow().name(), "robin");
}
});
@ -186,19 +153,12 @@ componentTest("dynamic headerText", {
async test(assert) {
await this.subject.expand();
assert.equal(
this.subject
.header()
.name(),
"robin"
);
assert.equal(this.subject.header().name(), "robin");
await this.subject.selectRowByValue(2);
assert.equal(
this.subject
.header()
.name(),
this.subject.header().name(),
"regis",
"it changes header text"
);
@ -243,19 +203,12 @@ componentTest("supports converting select value to integer", {
async test(assert) {
await this.subject.expand();
assert.equal(
this.subject
.selectedRow()
.name(),
"régis"
);
assert.equal(this.subject.selectedRow().name(), "régis");
await this.set("value", 1);
assert.equal(
this.subject
.selectedRow()
.name(),
this.subject.selectedRow().name(),
"robin",
"it works with dynamic content"
);
@ -276,19 +229,12 @@ componentTest("supports converting string as boolean to boolean", {
async test(assert) {
await this.subject.expand();
assert.equal(
this.subject
.selectedRow()
.name(),
"ASC"
);
assert.equal(this.subject.selectedRow().name(), "ASC");
await this.set("value", false);
assert.equal(
this.subject
.selectedRow()
.name(),
this.subject.selectedRow().name(),
"DESC",
"it works with dynamic content"
);
@ -308,9 +254,7 @@ componentTest("supports keyboard events", {
await this.subject.keyboard("down");
assert.equal(
this.subject
.highlightedRow()
.title(),
this.subject.highlightedRow().title(),
"regis",
"the next row is highlighted"
);
@ -318,9 +262,7 @@ componentTest("supports keyboard events", {
await this.subject.keyboard("down");
assert.equal(
this.subject
.highlightedRow()
.title(),
this.subject.highlightedRow().title(),
"robin",
"it returns to the first row"
);
@ -328,9 +270,7 @@ componentTest("supports keyboard events", {
await this.subject.keyboard("up");
assert.equal(
this.subject
.highlightedRow()
.title(),
this.subject.highlightedRow().title(),
"regis",
"it highlights the last row"
);
@ -338,9 +278,7 @@ componentTest("supports keyboard events", {
await this.subject.keyboard("enter");
assert.equal(
this.subject
.selectedRow()
.title(),
this.subject.selectedRow().title(),
"regis",
"it selects the row when pressing enter"
);
@ -352,10 +290,7 @@ componentTest("supports keyboard events", {
await this.subject.expand();
await this.subject.keyboard("escape");
assert.notOk(
this.subject.isExpanded(),
"it collapses the select box"
);
assert.notOk(this.subject.isExpanded(), "it collapses the select box");
await this.subject.expand();
await this.subject.fillInFilter("regis");
@ -381,11 +316,7 @@ componentTest("with allowInitialValueMutation", {
},
test(assert) {
assert.equal(
this.value,
"1",
"it mutates the value on initial rendering"
);
assert.equal(this.value, "1", "it mutates the value on initial rendering");
}
});
@ -405,12 +336,7 @@ componentTest("support appending content through plugin api", {
await this.subject.expand();
assert.equal(this.subject.rows().length, 2);
assert.equal(
this.subject
.rowByIndex(1)
.name(),
"regis"
);
assert.equal(this.subject.rowByIndex(1).name(), "regis");
clearCallbacks();
}
@ -439,12 +365,7 @@ componentTest("support modifying content through plugin api", {
await this.subject.expand();
assert.equal(this.subject.rows().length, 3);
assert.equal(
this.subject
.rowByIndex(1)
.name(),
"sam"
);
assert.equal(this.subject.rowByIndex(1).name(), "sam");
clearCallbacks();
}
@ -467,12 +388,7 @@ componentTest("support prepending content through plugin api", {
await this.subject.expand();
assert.equal(this.subject.rows().length, 2);
assert.equal(
this.subject
.rowByIndex(0)
.name(),
"regis"
);
assert.equal(this.subject.rowByIndex(0).name(), "regis");
clearCallbacks();
}
@ -551,21 +467,11 @@ componentTest("with nameChanges", {
async test(assert) {
await this.subject.expand();
assert.equal(
this.subject
.header()
.name(),
"robin"
);
assert.equal(this.subject.header().name(), "robin");
await this.set("robin.name", "robin2");
assert.equal(
this.subject
.header()
.name(),
"robin2"
);
assert.equal(this.subject.header().name(), "robin2");
}
});
@ -579,18 +485,8 @@ componentTest("with null value", {
async test(assert) {
await this.subject.expand();
assert.equal(
this.subject
.header()
.name(),
"robin"
);
assert.equal(
this.subject
.header()
.value(),
undefined
);
assert.equal(this.subject.header().name(), "robin");
assert.equal(this.subject.header().value(), undefined);
}
});
@ -616,12 +512,7 @@ componentTest("with title", {
},
test(assert) {
assert.equal(
this.subject
.header()
.title(),
"My title"
);
assert.equal(this.subject.header().title(), "My title");
}
});
@ -642,12 +533,7 @@ componentTest("support modifying header computed content through plugin api", {
},
test(assert) {
assert.equal(
this.subject
.header()
.title(),
"Not so evil"
);
assert.equal(this.subject.header().title(), "Not so evil");
clearCallbacks();
}
@ -663,12 +549,7 @@ componentTest("with limitMatches", {
async test(assert) {
await this.subject.expand();
assert.equal(
this.subject
.el()
.find(".select-kit-row").length,
2
);
assert.equal(this.subject.el().find(".select-kit-row").length, 2);
}
});
@ -683,19 +564,11 @@ componentTest("with minimum", {
async test(assert) {
await this.subject.expand();
assert.equal(
this.subject.validationMessage(),
"Select at least 1 item."
);
assert.equal(this.subject.validationMessage(), "Select at least 1 item.");
await this.subject.selectRowByValue("sam");
assert.equal(
this.subject
.header()
.label(),
"sam"
);
assert.equal(this.subject.header().label(), "sam");
}
});
@ -715,12 +588,7 @@ componentTest("with minimumLabel", {
await this.subject.selectRowByValue("jeff");
assert.equal(
this.subject
.header()
.label(),
"jeff"
);
assert.equal(this.subject.header().label(), "jeff");
}
});
@ -736,12 +604,7 @@ componentTest("with accents in filter", {
await this.subject.fillInFilter("jéff");
assert.equal(this.subject.rows().length, 1);
assert.equal(
this.subject
.rowByIndex(0)
.name(),
"jeff"
);
assert.equal(this.subject.rowByIndex(0).name(), "jeff");
}
});
@ -757,12 +620,7 @@ componentTest("with accents in content", {
await this.subject.fillInFilter("jeff");
assert.equal(this.subject.rows().length, 1);
assert.equal(
this.subject
.rowByIndex(0)
.name(),
"jéff"
);
assert.equal(this.subject.rowByIndex(0).name(), "jéff");
}
});
@ -771,15 +629,9 @@ componentTest("with no content and allowAny", {
skip: true,
async test(assert) {
await click(
this.subject
.header()
.el()
);
await click(this.subject.header().el());
const $filter = this.subject
.filter()
.el();
const $filter = this.subject.filter().el();
assert.ok($filter.hasClass("is-focused"));
assert.ok(!$filter.hasClass("is-hidden"));

View File

@ -41,35 +41,27 @@ componentTest("default", {
await this.subject.expand();
assert.equal(
this.subject
.rowByIndex(1)
.name(),
this.subject.rowByIndex(1).name(),
"jeff",
"it has the correct tag"
);
assert.equal(
this.subject
.rowByIndex(2)
.name(),
this.subject.rowByIndex(2).name(),
"neil",
"it has the correct tag"
);
await this.subject.fillInFilter("rég");
assert.equal(
this.subject
.rowByIndex(0)
.name(),
this.subject.rowByIndex(0).name(),
"régis",
"it displays the searched tag"
);
await this.subject.fillInFilter("");
assert.equal(
this.subject
.rowByIndex(1)
.name(),
this.subject.rowByIndex(1).name(),
"jeff",
"it returns top tags for an empty search"
);
@ -96,9 +88,7 @@ componentTest("no tags", {
await this.subject.expand();
assert.equal(
this.subject
.rowByIndex(1)
.name(),
this.subject.rowByIndex(1).name(),
undefined,
"it has no tags and doesnt crash"
);

View File

@ -24,22 +24,10 @@ componentTest("default", {
async test(assert) {
await this.subject.expand();
assert.equal(
this.subject
.header()
.title(),
"Topic Controls"
);
assert.equal(
this.subject
.header()
.value(),
null
);
assert.equal(this.subject.header().title(), "Topic Controls");
assert.equal(this.subject.header().value(), null);
assert.notOk(
this.subject
.selectedRow()
.exists(),
this.subject.selectedRow().exists(),
"it doesnt preselect first row"
);
}