1
0
mirror of https://github.com/flarum/core.git synced 2025-08-07 00:47:00 +02:00

Group assets by client

This commit is contained in:
Toby Zerner
2015-07-22 10:14:20 +09:30
parent 7fdb79fc89
commit 115551c9ce
10 changed files with 3 additions and 3 deletions

View File

@@ -1,15 +0,0 @@
import { extend } from 'flarum/extend';
import Discussion from 'flarum/models/Discussion';
import Badge from 'flarum/components/Badge';
export default function addStickyBadge() {
extend(Discussion.prototype, 'badges', function(badges) {
if (this.isSticky()) {
badges.add('sticky', Badge.component({
type: 'sticky',
label: app.trans('sticky.stickied'),
icon: 'thumb-tack'
}), 10);
}
});
}

View File

@@ -1,26 +0,0 @@
import { extend } from 'flarum/extend';
import DiscussionControls from 'flarum/utils/DiscussionControls';
import DiscussionPage from 'flarum/components/DiscussionPage';
import Button from 'flarum/components/Button';
export default function addStickyControl() {
extend(DiscussionControls, 'moderationControls', function(items, discussion) {
if (discussion.canSticky()) {
items.add('sticky', Button.component({
children: app.trans(discussion.isSticky() ? 'sticky.unsticky' : 'sticky.sticky'),
icon: 'thumb-tack',
onclick: this.stickyAction.bind(discussion)
}));
}
});
DiscussionControls.stickyAction = function() {
this.save({isSticky: !this.isSticky()}).then(() => {
if (app.current instanceof DiscussionPage) {
app.current.stream.update();
}
m.redraw();
});
};
}

View File

@@ -1,24 +0,0 @@
import { extend } from 'flarum/extend';
import DiscussionList from 'flarum/components/DiscussionList';
import DiscussionListItem from 'flarum/components/DiscussionListItem';
import { truncate } from 'flarum/utils/string';
export default function addStickyControl() {
extend(DiscussionList.prototype, 'requestParams', function(params) {
params.include.push('startPost');
});
extend(DiscussionListItem.prototype, 'infoItems', function(items) {
const discussion = this.props.discussion;
if (discussion.isSticky()) {
const startPost = discussion.startPost();
if (startPost) {
const excerpt = <span>{truncate(startPost.contentPlain(), 200)}</span>;
items.add('excerpt', excerpt, 100);
}
}
});
}

View File

@@ -1,15 +0,0 @@
import Notification from 'flarum/components/Notification';
export default class DiscussionStickiedNotification extends Notification {
icon() {
return 'thumb-tack';
}
href() {
return app.route.discussion(notification.subject(), notification.content().postNumber);
}
content() {
return app.trans('sticky.discussion_stickied_notification', {user: this.props.notification.sender()});
}
}

View File

@@ -1,13 +0,0 @@
import EventPost from 'flarum/components/EventPost';
export default class DiscussionStickiedPost extends EventPost {
icon() {
return 'thumb-tack';
}
descriptionKey() {
return this.props.post.content().sticky
? 'sticky.discussion_stickied_post'
: 'sticky.discussion_unstickied_post';
}
}

View File

@@ -1,29 +0,0 @@
import { extend, notificationType } from 'flarum/extend';
import app from 'flarum/app';
import Model from 'flarum/Model';
import Discussion from 'flarum/models/Discussion';
import NotificationGrid from 'flarum/components/NotificationGrid';
import DiscussionStickiedPost from 'sticky/components/DiscussionStickiedPost';
import DiscussionStickiedNotification from 'sticky/components/DiscussionStickiedNotification';
import addStickyBadge from 'sticky/addStickyBadge';
import addStickyControl from 'sticky/addStickyControl';
import addStickyExcerpt from 'sticky/addStickyExcerpt';
app.postComponents.discussionStickied = DiscussionStickiedPost;
app.notificationComponents.discussionStickied = DiscussionStickiedNotification;
Discussion.prototype.isSticky = Model.attribute('isSticky');
Discussion.prototype.canSticky = Model.attribute('canSticky');
addStickyBadge();
addStickyControl();
addStickyExcerpt();
extend(NotificationGrid.prototype, 'notificationTypes', function(items) {
items.add('discussionStickied', {
name: 'discussionStickied',
icon: 'thumb-tack',
label: app.trans('sticky.notify_discussion_stickied')
});
});