Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
import { tracked } from "@glimmer/tracking";
import Controller from "@ember/controller";
import { action } from "@ember/object";
import { notEmpty } from "@ember/object/computed";
import { ajax } from "discourse/lib/ajax";
import { popupAjaxError } from "discourse/lib/ajax-error";
import { trackedArray } from "discourse/lib/tracked-tools";

export default class ActivityPubActorFollowers extends Controller {
@tracked order = "";
@tracked asc = null;
@tracked loadingMore = false;
@trackedArray actors;

queryParams = ["order", "asc"];

@notEmpty("actors") hasActors;
get hasActors() {
return this.actors?.length > 0;
}

get tableClass() {
let result = "activity-pub-follow-table followers";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
import { tracked } from "@glimmer/tracking";
import Controller from "@ember/controller";
import { action } from "@ember/object";
import { notEmpty } from "@ember/object/computed";
import { ajax } from "discourse/lib/ajax";
import { popupAjaxError } from "discourse/lib/ajax-error";
import { trackedArray } from "discourse/lib/tracked-tools";

export default class ActivityPubActorFollows extends Controller {
@tracked order = "";
@tracked asc = null;
@tracked loadingMore = false;
@trackedArray actors;

queryParams = ["order", "asc"];

@notEmpty("actors") hasActors;
get hasActors() {
return this.actors?.length > 0;
}

get tableClass() {
let result = "activity-pub-follow-table follows";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { tracked } from "@glimmer/tracking";
import Controller from "@ember/controller";
import { action } from "@ember/object";
import { notEmpty } from "@ember/object/computed";
import { service } from "@ember/service";
import { ajax } from "discourse/lib/ajax";
import { popupAjaxError } from "discourse/lib/ajax-error";
import { trackedArray } from "discourse/lib/tracked-tools";
import { i18n } from "discourse-i18n";
import ActivityPubActor, { newActor } from "../../../models/activity-pub-actor";

Expand All @@ -15,13 +15,17 @@ export default class AdminPluginsActivityPubActor extends Controller {
@tracked asc = null;
@tracked loadingMore = false;
@tracked model_type = "category";
@trackedArray actors;

loadMoreUrl = "";
total = "";

@notEmpty("actors") hasActors;

queryParams = ["model_type", "order", "asc"];

get hasActors() {
return this.actors?.length > 0;
}

get title() {
return i18n(`admin.discourse_activity_pub.actor.${this.model_type}.title`);
}
Expand Down Expand Up @@ -65,6 +69,6 @@ export default class AdminPluginsActivityPubActor extends Controller {

@action
removeActor(actorId) {
this.actors.removeObject(this.actors.find((item) => item.id === actorId));
this.actors = this.actors.filter((item) => item.id !== actorId);
}
}
9 changes: 6 additions & 3 deletions assets/javascripts/discourse/routes/activity-pub/actor.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { action } from "@ember/object";
import { service } from "@ember/service";
import { removeValueFromArray } from "discourse/lib/array-tools";
import DiscourseRoute from "discourse/routes/discourse";
import ActivityPubActor from "../../models/activity-pub-actor";

Expand Down Expand Up @@ -39,7 +40,7 @@ export default class ActivityPubActorRoute extends DiscourseRoute {
@action
follow(actor, followActor) {
return ActivityPubActor.follow(actor.id, followActor.id).then((result) => {
this.controllerFor(this.router.currentRouteName).actors.unshiftObject(
this.controllerFor(this.router.currentRouteName).actors.unshift(
followActor
);
return result;
Expand All @@ -50,7 +51,8 @@ export default class ActivityPubActorRoute extends DiscourseRoute {
unfollow(actor, followedActor) {
return ActivityPubActor.unfollow(actor.id, followedActor.id).then(
(result) => {
this.controllerFor(this.router.currentRouteName).actors.removeObject(
removeValueFromArray(
this.controllerFor(this.router.currentRouteName).actors,
followedActor
);
return result;
Expand All @@ -61,7 +63,8 @@ export default class ActivityPubActorRoute extends DiscourseRoute {
@action
reject(actor, follower) {
return ActivityPubActor.reject(actor.id, follower.id).then((result) => {
this.controllerFor(this.router.currentRouteName).actors.removeObject(
removeValueFromArray(
this.controllerFor(this.router.currentRouteName).actors,
follower
);
return result;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import { service } from "@ember/service";
import { TrackedArray } from "@ember-compat/tracked-built-ins";
import DiscourseRoute from "discourse/routes/discourse";
import ActivityPubActor from "../../../models/activity-pub-actor";

Expand Down Expand Up @@ -30,7 +29,7 @@ export default class ActivityPubActorFollowers extends DiscourseRoute {
setupController(controller) {
controller.setProperties({
actor: this.modelFor("activityPub.actor"),
actors: new TrackedArray(this.actors || []),
actors: this.actors || [],
loadMoreUrl: this.meta?.load_more_url,
total: this.meta?.total,
});
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import { TrackedArray } from "@ember-compat/tracked-built-ins";
import { bind } from "discourse/lib/decorators";
import DiscourseRoute from "discourse/routes/discourse";
import ActivityPubActor from "../../../models/activity-pub-actor";
Expand All @@ -21,7 +20,7 @@ export default class ActivityPubActorFollows extends DiscourseRoute {
setupController(controller) {
controller.setProperties({
actor: this.modelFor("activityPub.actor"),
actors: new TrackedArray(this.actors || []),
actors: this.actors || [],
loadMoreUrl: this.meta?.load_more_url,
total: this.meta?.total,
});
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import { TrackedArray } from "@ember-compat/tracked-built-ins";
import { ajax } from "discourse/lib/ajax";
import DiscourseRoute from "discourse/routes/discourse";
import ActivityPubActor, {
Expand All @@ -24,11 +23,9 @@ export default class AdminPluginsActivityPubActorRoute extends DiscourseRoute {

setupController(controller, model) {
controller.setProperties({
actors: new TrackedArray(
(model.actors || []).map((actor) => {
return ActivityPubActor.create(actor);
})
),
actors: (model.actors || []).map((actor) => {
return ActivityPubActor.create(actor);
}),
});
}
}