amAdmin,
amMod,
auth,
- choicesConfig,
choicesModLogConfig,
debounce,
fetchLimit,
type_: ModlogActionType;
moderator: Option<PersonSafe>;
view:
- | ModRemovePostView
- | ModLockPostView
- | ModStickyPostView
- | ModRemoveCommentView
- | ModRemoveCommunityView
- | ModBanFromCommunityView
- | ModBanView
- | ModAddCommunityView
- | ModTransferCommunityView
- | ModAddView
- | AdminPurgePersonView
- | AdminPurgeCommunityView
- | AdminPurgePostView
- | AdminPurgeCommentView;
+ | ModRemovePostView
+ | ModLockPostView
+ | ModStickyPostView
+ | ModRemoveCommentView
+ | ModRemoveCommunityView
+ | ModBanFromCommunityView
+ | ModBanView
+ | ModAddCommunityView
+ | ModTransferCommunityView
+ | ModAddView
+ | AdminPurgePersonView
+ | AdminPurgeCommunityView
+ | AdminPurgePostView
+ | AdminPurgeCommentView;
when_: string;
};
var Choices: any;
res: Option<GetModlogResponse>;
communityId: Option<number>;
communityMods: Option<CommunityModeratorView[]>;
- communityName: Option<string>,
+ communityName: Option<string>;
page: number;
siteRes: GetSiteResponse;
loading: boolean;
- filter_action: ModlogActionType,
- filter_user: Option<number>,
- filter_mod: Option<number>,
+ filter_action: ModlogActionType;
+ filter_user: Option<number>;
+ filter_mod: Option<number>;
}
export class Modlog extends Component<any, ModlogState> {
modOrAdminText(person: Option<PersonSafe>): string {
return person.match({
- some: res => this.isoData.site_res.admins.map(a => a.person.id).includes(res.id) ? i18n.t("admin") : i18n.t("mod"),
+ some: res =>
+ this.isoData.site_res.admins.map(a => a.person.id).includes(res.id)
+ ? i18n.t("admin")
+ : i18n.t("mod"),
none: i18n.t("mod"),
});
}
) : (
<div>
<h5>
- {
- this.state.communityName.match({
+ {this.state.communityName.match({
some: name => (
- <Link
- className="text-body"
- to={`/c/${name}`}
- >
+ <Link className="text-body" to={`/c/${name}`}>
/c/{name}{" "}
</Link>
),
none: <></>,
- })
- }
+ })}
<span>{i18n.t("modlog")}</span>
</h5>
<form className="form-inline mr-2">
value={this.state.filter_action}
onChange={linkEvent(this, this.handleFilterActionChange)}
className="custom-select col-4 mb-2"
- aria-label="action">
- <option disabled aria-hidden="true">{i18n.t("filter_by_action")}</option>
+ aria-label="action"
+ >
+ <option disabled aria-hidden="true">
+ {i18n.t("filter_by_action")}
+ </option>
<option value={ModlogActionType.All}>{i18n.t("all")}</option>
- <option value={ModlogActionType.ModRemovePost}>Removing Posts</option>
- <option value={ModlogActionType.ModLockPost}>Locking Posts</option>
- <option value={ModlogActionType.ModStickyPost}>Stickying Posts</option>
- <option value={ModlogActionType.ModRemoveComment}>Removing Comments</option>
- <option value={ModlogActionType.ModRemoveCommunity}>Removing Communities</option>
- <option value={ModlogActionType.ModBanFromCommunity}>Banning From Communities</option>
- <option value={ModlogActionType.ModAddCommunity}>Adding Mod to Community</option>
- <option value={ModlogActionType.ModTransferCommunity}>Transfering Communities</option>
- <option value={ModlogActionType.ModAdd}>Adding Mod to Site</option>
- <option value={ModlogActionType.ModBan}>Banning From Site</option>
+ <option value={ModlogActionType.ModRemovePost}>
+ Removing Posts
+ </option>
+ <option value={ModlogActionType.ModLockPost}>
+ Locking Posts
+ </option>
+ <option value={ModlogActionType.ModStickyPost}>
+ Stickying Posts
+ </option>
+ <option value={ModlogActionType.ModRemoveComment}>
+ Removing Comments
+ </option>
+ <option value={ModlogActionType.ModRemoveCommunity}>
+ Removing Communities
+ </option>
+ <option value={ModlogActionType.ModBanFromCommunity}>
+ Banning From Communities
+ </option>
+ <option value={ModlogActionType.ModAddCommunity}>
+ Adding Mod to Community
+ </option>
+ <option value={ModlogActionType.ModTransferCommunity}>
+ Transfering Communities
+ </option>
+ <option value={ModlogActionType.ModAdd}>
+ Adding Mod to Site
+ </option>
+ <option value={ModlogActionType.ModBan}>
+ Banning From Site
+ </option>
</select>
- {
- this.state.siteRes.site_view.match({
- some: site_view => !site_view.site.hide_modlog_mod_names.unwrapOr(false) && (
+ {this.state.siteRes.site_view.match({
+ some: site_view =>
+ !site_view.site.hide_modlog_mod_names.unwrapOr(false) && (
<select
id="filter-mod"
- value={toUndefined(this.state.filter_mod)}>
+ value={toUndefined(this.state.filter_mod)}
+ >
<option>{i18n.t("filter_by_mod")}</option>
</select>
),
- none: <></>,
- })
- }
+ none: <></>,
+ })}
<select
id="filter-user"
- value={toUndefined(this.state.filter_user)}>
+ value={toUndefined(this.state.filter_user)}
+ >
<option>{i18n.t("filter_by_user")}</option>
- </select>
+ </select>
</form>
<div className="table-responsive">
<table id="modlog_table" className="table table-sm table-hover">
try {
let users = (await fetchUsers(e.detail.value)).users;
this.userChoices.setChoices(
- users.map(u => {return {
- value: u.person.id.toString(),
- label: u.person.name,
- }}),
+ users.map(u => {
+ return {
+ value: u.person.id.toString(),
+ label: u.person.name,
+ };
+ }),
"value",
"label",
true
try {
let mods = (await fetchUsers(e.detail.value)).users;
this.modChoices.setChoices(
- mods.map(u => {return {
- value: u.person.id.toString(),
- label: u.person.name,
- }}),
+ mods.map(u => {
+ return {
+ value: u.person.id.toString(),
+ label: u.person.name,
+ };
+ }),
"value",
"label",
true
mod_person_id: None,
auth: req.auth,
type_: ModlogActionType.All,
- other_person_id: None
+ other_person_id: None,
});
promises.push(req.client.getModlog(modlogForm));