www.gusucode.com > Flarum中文优化论坛PHP源码程序 > FlarumChina-master/vendor/flarum/flarum-ext-approval/js/forum/src/main.js
import { extend, override } from 'flarum/extend'; import app from 'flarum/app'; import Discussion from 'flarum/models/Discussion'; import Post from 'flarum/models/Post'; import DiscussionListItem from 'flarum/components/DiscussionListItem'; import CommentPost from 'flarum/components/CommentPost'; import Button from 'flarum/components/Button'; import PostControls from 'flarum/utils/PostControls'; app.initializers.add('flarum-approval', () => { Discussion.prototype.isApproved = Discussion.attribute('isApproved'); Post.prototype.isApproved = Post.attribute('isApproved'); Post.prototype.canApprove = Post.attribute('canApprove'); extend(DiscussionListItem.prototype, 'attrs', function(attrs) { if (!this.props.discussion.isApproved()) { attrs.className += ' DiscussionListItem--unapproved'; } }); extend(CommentPost.prototype, 'attrs', function(attrs) { if (!this.props.post.isApproved() && !this.props.post.isHidden()) { attrs.className += ' CommentPost--unapproved'; } }); extend(CommentPost.prototype, 'headerItems', function(items) { if (!this.props.post.isApproved() && !this.props.post.isHidden()) { items.add('unapproved', app.translator.trans('flarum-approval.forum.post.awaiting_approval_text')); } }); override(CommentPost.prototype, 'flagReason', function(original, flag) { if (flag.type() === 'approval') { return app.translator.trans('flarum-approval.forum.post.awaiting_approval_text'); } return original(flag); }); extend(PostControls, 'destructiveControls', function(items, post) { if (!post.isApproved() && post.canApprove()) { items.add('approve', <Button icon="check" onclick={PostControls.approveAction.bind(post)}> {app.translator.trans('flarum-approval.forum.post_controls.approve_button')} </Button>, 10 ); } }); PostControls.approveAction = function() { this.save({isApproved: true}); }; }, -10); // set initializer priority to run after reports