System.register('flarum/lock/addLockBadge', ['flarum/extend', 'flarum/models/Discussion', 'flarum/components/Badge'], function (_export) { 'use strict'; var extend, Discussion, Badge; _export('default', addLockBadge); function addLockBadge() { extend(Discussion.prototype, 'badges', function (badges) { if (this.isLocked()) { badges.add('locked', Badge.component({ type: 'locked', label: app.trans('flarum-lock.forum.locked'), icon: 'lock' })); } }); } return { setters: [function (_flarumExtend) { extend = _flarumExtend.extend; }, function (_flarumModelsDiscussion) { Discussion = _flarumModelsDiscussion['default']; }, function (_flarumComponentsBadge) { Badge = _flarumComponentsBadge['default']; }], execute: function () {} }; });;System.register('flarum/lock/addLockControl', ['flarum/extend', 'flarum/utils/DiscussionControls', 'flarum/components/DiscussionPage', 'flarum/components/Button'], function (_export) { 'use strict'; var extend, DiscussionControls, DiscussionPage, Button; _export('default', addLockControl); function addLockControl() { extend(DiscussionControls, 'moderationControls', function (items, discussion) { if (discussion.canLock()) { items.add('lock', Button.component({ children: app.trans(discussion.isLocked() ? 'flarum-lock.forum.unlock' : 'flarum-lock.forum.lock'), icon: 'lock', onclick: this.lockAction.bind(discussion) })); } }); DiscussionControls.lockAction = function () { this.save({ isLocked: !this.isLocked() }).then(function () { if (app.current instanceof DiscussionPage) { app.current.stream.update(); } m.redraw(); }); }; } return { setters: [function (_flarumExtend) { extend = _flarumExtend.extend; }, function (_flarumUtilsDiscussionControls) { DiscussionControls = _flarumUtilsDiscussionControls['default']; }, function (_flarumComponentsDiscussionPage) { DiscussionPage = _flarumComponentsDiscussionPage['default']; }, function (_flarumComponentsButton) { Button = _flarumComponentsButton['default']; }], execute: function () {} }; });;System.register('flarum/lock/main', ['flarum/extend', 'flarum/app', 'flarum/Model', 'flarum/models/Discussion', 'flarum/components/NotificationGrid', 'flarum/lock/components/DiscussionLockedPost', 'flarum/lock/components/DiscussionLockedNotification', 'flarum/lock/addLockBadge', 'flarum/lock/addLockControl'], function (_export) { 'use strict'; var extend, app, Model, Discussion, NotificationGrid, DiscussionLockedPost, DiscussionLockedNotification, addLockBadge, addLockControl; return { setters: [function (_flarumExtend) { extend = _flarumExtend.extend; }, function (_flarumApp) { app = _flarumApp['default']; }, function (_flarumModel) { Model = _flarumModel['default']; }, function (_flarumModelsDiscussion) { Discussion = _flarumModelsDiscussion['default']; }, function (_flarumComponentsNotificationGrid) { NotificationGrid = _flarumComponentsNotificationGrid['default']; }, function (_flarumLockComponentsDiscussionLockedPost) { DiscussionLockedPost = _flarumLockComponentsDiscussionLockedPost['default']; }, function (_flarumLockComponentsDiscussionLockedNotification) { DiscussionLockedNotification = _flarumLockComponentsDiscussionLockedNotification['default']; }, function (_flarumLockAddLockBadge) { addLockBadge = _flarumLockAddLockBadge['default']; }, function (_flarumLockAddLockControl) { addLockControl = _flarumLockAddLockControl['default']; }], execute: function () { app.initializers.add('flarum-lock', function () { app.postComponents.discussionLocked = DiscussionLockedPost; app.notificationComponents.discussionLocked = DiscussionLockedNotification; Discussion.prototype.isLocked = Model.attribute('isLocked'); Discussion.prototype.canLock = Model.attribute('canLock'); addLockBadge(); addLockControl(); extend(NotificationGrid.prototype, 'notificationTypes', function (items) { items.add('discussionLocked', { name: 'discussionLocked', icon: 'lock', label: app.trans('flarum-lock.forum.notify_discussion_locked') }); }); }); } }; });;System.register('flarum/lock/components/DiscussionLockedNotification', ['flarum/components/Notification'], function (_export) { 'use strict'; var Notification, DiscussionLockedNotification; return { setters: [function (_flarumComponentsNotification) { Notification = _flarumComponentsNotification['default']; }], execute: function () { DiscussionLockedNotification = (function (_Notification) { babelHelpers.inherits(DiscussionLockedNotification, _Notification); function DiscussionLockedNotification() { babelHelpers.classCallCheck(this, DiscussionLockedNotification); babelHelpers.get(Object.getPrototypeOf(DiscussionLockedNotification.prototype), 'constructor', this).apply(this, arguments); } babelHelpers.createClass(DiscussionLockedNotification, [{ key: 'icon', value: function icon() { return 'lock'; } }, { key: 'href', value: function href() { var notification = this.props.notification; return app.route.discussion(notification.subject(), notification.content().postNumber); } }, { key: 'content', value: function content() { return app.trans('flarum-lock.forum.discussion_locked_notification', { user: this.props.notification.sender() }); } }]); return DiscussionLockedNotification; })(Notification); _export('default', DiscussionLockedNotification); } }; });;System.register('flarum/lock/components/DiscussionLockedPost', ['flarum/components/EventPost'], function (_export) { 'use strict'; var EventPost, DiscussionLockedPost; return { setters: [function (_flarumComponentsEventPost) { EventPost = _flarumComponentsEventPost['default']; }], execute: function () { DiscussionLockedPost = (function (_EventPost) { babelHelpers.inherits(DiscussionLockedPost, _EventPost); function DiscussionLockedPost() { babelHelpers.classCallCheck(this, DiscussionLockedPost); babelHelpers.get(Object.getPrototypeOf(DiscussionLockedPost.prototype), 'constructor', this).apply(this, arguments); } babelHelpers.createClass(DiscussionLockedPost, [{ key: 'icon', value: function icon() { return this.props.post.content().locked ? 'lock' : 'unlock'; } }, { key: 'descriptionKey', value: function descriptionKey() { return this.props.post.content().locked ? 'flarum-lock.forum.discussion_locked_post' : 'flarum-lock.forum.discussion_unlocked_post'; } }]); return DiscussionLockedPost; })(EventPost); _export('default', DiscussionLockedPost); } }; });