mirror of
https://github.com/discourse/discourse.git
synced 2025-04-28 06:14:33 +08:00
ES6: Mega update of controllers
This commit is contained in:
parent
1c9ccc6eb1
commit
0adfeb1cff
app/assets/javascripts
admin/controllers
admin-agree-flag.js.es6admin-badge.js.es6admin-delete-flag.js.es6admin-email-index.js.es6admin-email-preview-digest.js.es6admin-email-sent.js.es6admin-email-skipped.js.es6admin-site-content-edit.js.es6admin-staff-action-log-details.js.es6admin-suspend-user.js.es6admin-user-index.js.es6admin-user.js.es6admin.js.es6change-site-customization-details.js.es6delete-site-customization-details.js.es6
discourse
controllers
avatar-selector.js.es6
badges
change-owner.js.es6composer.js.es6controller.jscontroller.js.es6create-account.js.es6discovery-sortable.js.es6discovery.js.es6edit-category.js.es6edit-topic-auto-close.js.es6exception.js.es6flag-action-type.js.es6flag.js.es6forgot-password.js.es6group.js.es6header.js.es6history.js.es6invite-private.js.es6invite.js.es6keyboard-shortcuts-help.js.es6login.js.es6merge-topic.js.es6modal.js.es6navigation
not-activated.js.es6notification.js.es6object.js.es6object_controller.jsposter-expansion.js.es6preferences.js.es6preferences
quote-button.js.es6search.js.es6share.js.es6split-topic.js.es6topic-admin-menu.js.es6topic-bulk-actions.js.es6topic-list-item.js.es6topic.js.es6upload-selector.js.es6user-topics-list.js.es6user.js.es6mixins
lib/es6_module_transpiler/tilt
plugins/poll/assets/javascripts/controllers
test/javascripts/controllers
@ -1,13 +1,8 @@
|
|||||||
/**
|
import ModalFunctionality from 'discourse/mixins/modal-functionality';
|
||||||
The modal for agreeing with a flag.
|
|
||||||
|
|
||||||
@class AdminAgreeFlagController
|
import ObjectController from 'discourse/controllers/object';
|
||||||
@extends Discourse.Controller
|
|
||||||
@namespace Discourse
|
export default ObjectController.extend(ModalFunctionality, {
|
||||||
@uses Discourse.ModalFunctionality
|
|
||||||
@module Discourse
|
|
||||||
**/
|
|
||||||
export default Discourse.ObjectController.extend(Discourse.ModalFunctionality, {
|
|
||||||
|
|
||||||
needs: ["adminFlags"],
|
needs: ["adminFlags"],
|
||||||
|
|
||||||
|
@ -1,14 +1,16 @@
|
|||||||
|
import ObjectController from 'discourse/controllers/object';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This is the itemController for `Discourse.AdminBadgesController`. Its main purpose
|
This is the itemController for `Discourse.AdminBadgesController`. Its main purpose
|
||||||
is to indicate which badge was selected.
|
is to indicate which badge was selected.
|
||||||
|
|
||||||
@class AdminBadgeController
|
@class AdminBadgeController
|
||||||
@extends Discourse.ObjectController
|
@extends ObjectController
|
||||||
@namespace Discourse
|
@namespace Discourse
|
||||||
@module Discourse
|
@module Discourse
|
||||||
**/
|
**/
|
||||||
|
|
||||||
export default Discourse.ObjectController.extend({
|
export default ObjectController.extend({
|
||||||
/**
|
/**
|
||||||
Whether this badge has been selected.
|
Whether this badge has been selected.
|
||||||
|
|
||||||
|
@ -1,13 +1,8 @@
|
|||||||
/**
|
import ModalFunctionality from 'discourse/mixins/modal-functionality';
|
||||||
The modal for deleting a flag.
|
|
||||||
|
|
||||||
@class AdminDeleteFlagController
|
import ObjectController from 'discourse/controllers/object';
|
||||||
@extends Discourse.Controller
|
|
||||||
@namespace Discourse
|
export default ObjectController.extend(ModalFunctionality, {
|
||||||
@uses Discourse.ModalFunctionality
|
|
||||||
@module Discourse
|
|
||||||
**/
|
|
||||||
export default Discourse.ObjectController.extend(Discourse.ModalFunctionality, {
|
|
||||||
|
|
||||||
needs: ["adminFlags"],
|
needs: ["adminFlags"],
|
||||||
|
|
||||||
|
@ -1,12 +1,6 @@
|
|||||||
/**
|
import DiscourseController from 'discourse/controllers/controller';
|
||||||
This controller supports email functionality.
|
|
||||||
|
|
||||||
@class AdminEmailIndexController
|
export default DiscourseController.extend({
|
||||||
@extends Discourse.Controller
|
|
||||||
@namespace Discourse
|
|
||||||
@module Discourse
|
|
||||||
**/
|
|
||||||
export default Discourse.Controller.extend({
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Is the "send test email" button disabled?
|
Is the "send test email" button disabled?
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
|
import ObjectController from 'discourse/controllers/object';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This controller previews an email digest
|
This controller previews an email digest
|
||||||
|
|
||||||
@class AdminEmailPreviewDigestController
|
@class AdminEmailPreviewDigestController
|
||||||
@extends Discourse.ObjectController
|
@extends ObjectController
|
||||||
@namespace Discourse
|
@namespace Discourse
|
||||||
@module Discourse
|
@module Discourse
|
||||||
**/
|
**/
|
||||||
export default Discourse.ObjectController.extend({
|
export default ObjectController.extend({
|
||||||
|
|
||||||
actions: {
|
actions: {
|
||||||
refresh: function() {
|
refresh: function() {
|
||||||
|
@ -1,12 +1,6 @@
|
|||||||
/**
|
import DiscourseController from 'discourse/controllers/controller';
|
||||||
This controller supports email logs functionality.
|
|
||||||
|
|
||||||
@class AdminEmailSentController
|
export default DiscourseController.extend({
|
||||||
@extends Discourse.Controller
|
|
||||||
@namespace Discourse
|
|
||||||
@module Discourse
|
|
||||||
**/
|
|
||||||
export default Discourse.Controller.extend({
|
|
||||||
|
|
||||||
filterEmailLogs: Discourse.debounce(function() {
|
filterEmailLogs: Discourse.debounce(function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
@ -1,13 +1,6 @@
|
|||||||
/**
|
import DiscourseController from 'discourse/controllers/controller';
|
||||||
This controller supports email logs functionality.
|
|
||||||
|
|
||||||
@class AdminEmailSkippedController
|
|
||||||
@extends Discourse.Controller
|
|
||||||
@namespace Discourse
|
|
||||||
@module Discourse
|
|
||||||
**/
|
|
||||||
export default Discourse.Controller.extend({
|
|
||||||
|
|
||||||
|
export default DiscourseController.extend({
|
||||||
filterEmailLogs: Discourse.debounce(function() {
|
filterEmailLogs: Discourse.debounce(function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
Discourse.EmailLog.findAll(this.get("filter")).then(function(logs) {
|
Discourse.EmailLog.findAll(this.get("filter")).then(function(logs) {
|
||||||
|
@ -1,12 +1,6 @@
|
|||||||
/**
|
import DiscourseController from 'discourse/controllers/controller';
|
||||||
This controller is used for editing site content
|
|
||||||
|
|
||||||
@class AdminSiteContentEditController
|
export default DiscourseController.extend({
|
||||||
@extends Ember.ObjectController
|
|
||||||
@namespace Discourse
|
|
||||||
@module Discourse
|
|
||||||
**/
|
|
||||||
export default Discourse.Controller.extend({
|
|
||||||
|
|
||||||
saveDisabled: function() {
|
saveDisabled: function() {
|
||||||
if (this.get('saving')) { return true; }
|
if (this.get('saving')) { return true; }
|
||||||
|
@ -1,10 +1,5 @@
|
|||||||
/**
|
import ModalFunctionality from 'discourse/mixins/modal-functionality';
|
||||||
The modal for viewing the details of a staff action log record.
|
|
||||||
|
|
||||||
@class AdminStaffActionLogDetailsController
|
import ObjectController from 'discourse/controllers/object';
|
||||||
@extends Discourse.Controller
|
|
||||||
@namespace Discourse
|
export default ObjectController.extend(ModalFunctionality);
|
||||||
@uses Discourse.ModalFunctionality
|
|
||||||
@module Discourse
|
|
||||||
**/
|
|
||||||
export default Discourse.ObjectController.extend(Discourse.ModalFunctionality);
|
|
||||||
|
@ -1,13 +1,8 @@
|
|||||||
/**
|
import ModalFunctionality from 'discourse/mixins/modal-functionality';
|
||||||
The modal for suspending a user.
|
|
||||||
|
|
||||||
@class AdminSuspendUserController
|
import ObjectController from 'discourse/controllers/object';
|
||||||
@extends Discourse.Controller
|
|
||||||
@namespace Discourse
|
export default ObjectController.extend(ModalFunctionality, {
|
||||||
@uses Discourse.ModalFunctionality
|
|
||||||
@module Discourse
|
|
||||||
**/
|
|
||||||
export default Discourse.ObjectController.extend(Discourse.ModalFunctionality, {
|
|
||||||
|
|
||||||
submitDisabled: function() {
|
submitDisabled: function() {
|
||||||
return (!this.get('reason') || this.get('reason').length < 1);
|
return (!this.get('reason') || this.get('reason').length < 1);
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
|
import ObjectController from 'discourse/controllers/object';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
A controller related to viewing a user in the admin section
|
A controller related to viewing a user in the admin section
|
||||||
|
|
||||||
@class AdminUserIndexController
|
@class AdminUserIndexController
|
||||||
@extends Discourse.ObjectController
|
@extends ObjectController
|
||||||
@namespace Discourse
|
@namespace Discourse
|
||||||
@module Discourse
|
@module Discourse
|
||||||
**/
|
**/
|
||||||
export default Discourse.ObjectController.extend({
|
export default ObjectController.extend({
|
||||||
editingTitle: false,
|
editingTitle: false,
|
||||||
originalPrimaryGroupId: null,
|
originalPrimaryGroupId: null,
|
||||||
availableGroups: null,
|
availableGroups: null,
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
|
import ObjectController from 'discourse/controllers/object';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
The top-level controller for user pages in admin.
|
The top-level controller for user pages in admin.
|
||||||
Ember assertion says that this class needs to be defined even if it's empty.
|
Ember assertion says that this class needs to be defined even if it's empty.
|
||||||
|
|
||||||
@class AdminUserController
|
@class AdminUserController
|
||||||
@extends Discourse.ObjectController
|
@extends ObjectController
|
||||||
@namespace Discourse
|
@namespace Discourse
|
||||||
@module Discourse
|
@module Discourse
|
||||||
**/
|
**/
|
||||||
export default Discourse.ObjectController.extend();
|
export default ObjectController.extend();
|
||||||
|
@ -1,12 +1,6 @@
|
|||||||
/**
|
import DiscourseController from 'discourse/controllers/controller';
|
||||||
A base admin controller that has access to the Discourse properties.
|
|
||||||
|
|
||||||
@class AdminController
|
export default DiscourseController.extend({
|
||||||
@extends Discourse.Controller
|
|
||||||
@namespace Discourse
|
|
||||||
@module Discourse
|
|
||||||
**/
|
|
||||||
export default Discourse.Controller.extend({
|
|
||||||
showBadges: function() {
|
showBadges: function() {
|
||||||
return this.get('currentUser.admin') && Discourse.SiteSettings.enable_badges;
|
return this.get('currentUser.admin') && Discourse.SiteSettings.enable_badges;
|
||||||
}.property()
|
}.property()
|
||||||
|
@ -1,4 +1,8 @@
|
|||||||
export default Discourse.ObjectController.extend(Discourse.ModalFunctionality, {
|
import ModalFunctionality from 'discourse/mixins/modal-functionality';
|
||||||
|
|
||||||
|
import ObjectController from 'discourse/controllers/object';
|
||||||
|
|
||||||
|
export default ObjectController.extend(ModalFunctionality, {
|
||||||
previousSelected: Ember.computed.equal('selectedTab', 'previous'),
|
previousSelected: Ember.computed.equal('selectedTab', 'previous'),
|
||||||
newSelected: Ember.computed.equal('selectedTab', 'new'),
|
newSelected: Ember.computed.equal('selectedTab', 'new'),
|
||||||
|
|
||||||
|
@ -1,13 +1,3 @@
|
|||||||
/**
|
|
||||||
The modal for viewing the details of a staff action log record
|
|
||||||
for when a site customization is deleted.
|
|
||||||
|
|
||||||
@class DeleteSiteCustomizationDetailsController
|
|
||||||
@extends Discourse.Controller
|
|
||||||
@namespace Discourse
|
|
||||||
@uses Discourse.ModalFunctionality
|
|
||||||
@module Discourse
|
|
||||||
**/
|
|
||||||
import ChangeSiteCustomizationDetailsController from "admin/controllers/change-site-customization-details";
|
import ChangeSiteCustomizationDetailsController from "admin/controllers/change-site-customization-details";
|
||||||
|
|
||||||
export default ChangeSiteCustomizationDetailsController.extend({
|
export default ChangeSiteCustomizationDetailsController.extend({
|
||||||
|
@ -1,22 +1,15 @@
|
|||||||
/**
|
import ModalFunctionality from 'discourse/mixins/modal-functionality';
|
||||||
The modal for selecting an avatar
|
|
||||||
|
|
||||||
@class AvatarSelectorController
|
import DiscourseController from 'discourse/controllers/controller';
|
||||||
@extends Discourse.Controller
|
|
||||||
@namespace Discourse
|
export default DiscourseController.extend(ModalFunctionality, {
|
||||||
@uses Discourse.ModalFunctionality
|
|
||||||
@module Discourse
|
|
||||||
**/
|
|
||||||
export default Discourse.Controller.extend(Discourse.ModalFunctionality, {
|
|
||||||
|
|
||||||
selectedUploadId: function(){
|
selectedUploadId: function(){
|
||||||
switch(this.get("selected")){
|
switch(this.get("selected")){
|
||||||
case "system":
|
case "system":
|
||||||
return this.get("system_avatar_upload_id");
|
return this.get("system_avatar_upload_id");
|
||||||
break;
|
|
||||||
case "gravatar":
|
case "gravatar":
|
||||||
return this.get("gravatar_avatar_upload_id");
|
return this.get("gravatar_avatar_upload_id");
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
return this.get("custom_avatar_upload_id");
|
return this.get("custom_avatar_upload_id");
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
|
import ObjectController from 'discourse/controllers/object';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Controller for showing a particular badge.
|
Controller for showing a particular badge.
|
||||||
|
|
||||||
@class BadgesShowController
|
@class BadgesShowController
|
||||||
@extends Discourse.ObjectController
|
@extends ObjectController
|
||||||
@namespace Discourse
|
@namespace Discourse
|
||||||
@module Discourse
|
@module Discourse
|
||||||
**/
|
**/
|
||||||
export default Discourse.ObjectController.extend({
|
export default ObjectController.extend({
|
||||||
|
|
||||||
actions: {
|
actions: {
|
||||||
loadMore: function() {
|
loadMore: function() {
|
||||||
|
@ -1,13 +1,17 @@
|
|||||||
|
import ModalFunctionality from 'discourse/mixins/modal-functionality';
|
||||||
|
|
||||||
|
import ObjectController from 'discourse/controllers/object';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Modal related to changing the ownership of posts
|
Modal related to changing the ownership of posts
|
||||||
|
|
||||||
@class ChangeOwnerController
|
@class ChangeOwnerController
|
||||||
@extends Discourse.ObjectController
|
@extends ObjectController
|
||||||
@namespace Discourse
|
@namespace Discourse
|
||||||
@uses Discourse.ModalFunctionality
|
@uses ModalFunctionality
|
||||||
@module Discourse
|
@module Discourse
|
||||||
**/
|
**/
|
||||||
export default Discourse.ObjectController.extend(Discourse.SelectedPostsCount, Discourse.ModalFunctionality, {
|
export default ObjectController.extend(Discourse.SelectedPostsCount, ModalFunctionality, {
|
||||||
needs: ['topic'],
|
needs: ['topic'],
|
||||||
|
|
||||||
topicController: Em.computed.alias('controllers.topic'),
|
topicController: Em.computed.alias('controllers.topic'),
|
||||||
|
@ -1,12 +1,6 @@
|
|||||||
/**
|
import DiscourseController from 'discourse/controllers/controller';
|
||||||
This controller supports composing new posts and topics.
|
|
||||||
|
|
||||||
@class ComposerController
|
export default DiscourseController.extend({
|
||||||
@extends Discourse.Controller
|
|
||||||
@namespace Discourse
|
|
||||||
@module Discourse
|
|
||||||
**/
|
|
||||||
export default Discourse.Controller.extend({
|
|
||||||
needs: ['modal', 'topic', 'composer-messages'],
|
needs: ['modal', 'topic', 'composer-messages'],
|
||||||
|
|
||||||
replyAsNewTopicDraft: Em.computed.equal('model.draftKey', Discourse.Composer.REPLY_AS_NEW_TOPIC_KEY),
|
replyAsNewTopicDraft: Em.computed.equal('model.draftKey', Discourse.Composer.REPLY_AS_NEW_TOPIC_KEY),
|
||||||
|
@ -1,10 +0,0 @@
|
|||||||
/**
|
|
||||||
A base controller for Discourse that includes Presence support.
|
|
||||||
|
|
||||||
@class Controller
|
|
||||||
@extends Ember.Controller
|
|
||||||
@namespace Discourse
|
|
||||||
@uses Discourse.Presence
|
|
||||||
@module Discourse
|
|
||||||
**/
|
|
||||||
Discourse.Controller = Ember.Controller.extend(Discourse.Presence, Discourse.HasCurrentUser);
|
|
@ -0,0 +1 @@
|
|||||||
|
export default Ember.Controller.extend(Discourse.Presence, Discourse.HasCurrentUser);
|
@ -1,13 +1,8 @@
|
|||||||
/**
|
import ModalFunctionality from 'discourse/mixins/modal-functionality';
|
||||||
The modal for creating accounts
|
|
||||||
|
|
||||||
@class CreateAccountController
|
import DiscourseController from 'discourse/controllers/controller';
|
||||||
@extends Discourse.Controller
|
|
||||||
@namespace Discourse
|
export default DiscourseController.extend(ModalFunctionality, {
|
||||||
@uses Discourse.ModalFunctionality
|
|
||||||
@module Discourse
|
|
||||||
**/
|
|
||||||
export default Discourse.Controller.extend(Discourse.ModalFunctionality, {
|
|
||||||
uniqueUsernameValidation: null,
|
uniqueUsernameValidation: null,
|
||||||
globalNicknameExists: false,
|
globalNicknameExists: false,
|
||||||
complete: false,
|
complete: false,
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
export default Discourse.Controller.extend({
|
import DiscourseController from 'discourse/controllers/controller';
|
||||||
|
|
||||||
|
export default DiscourseController.extend({
|
||||||
needs: ['discovery/topics'],
|
needs: ['discovery/topics'],
|
||||||
queryParams: ['order', 'ascending', 'status', 'state', 'search'],
|
queryParams: ['order', 'ascending', 'status', 'state', 'search'],
|
||||||
order: Em.computed.alias('controllers.discovery/topics.order'),
|
order: Em.computed.alias('controllers.discovery/topics.order'),
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
export default Discourse.ObjectController.extend({
|
import ObjectController from 'discourse/controllers/object';
|
||||||
|
|
||||||
|
export default ObjectController.extend({
|
||||||
loading: false,
|
loading: false,
|
||||||
loadingSpinner: false,
|
loadingSpinner: false,
|
||||||
scheduledSpinner: null,
|
scheduledSpinner: null,
|
||||||
|
@ -1,13 +1,17 @@
|
|||||||
|
import ModalFunctionality from 'discourse/mixins/modal-functionality';
|
||||||
|
|
||||||
|
import ObjectController from 'discourse/controllers/object';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Modal for editing / creating a category
|
Modal for editing / creating a category
|
||||||
|
|
||||||
@class EditCategoryController
|
@class EditCategoryController
|
||||||
@extends Discourse.ObjectController
|
@extends ObjectController
|
||||||
@namespace Discourse
|
@namespace Discourse
|
||||||
@uses Discourse.ModalFunctionality
|
@uses ModalFunctionality
|
||||||
@module Discourse
|
@module Discourse
|
||||||
**/
|
**/
|
||||||
export default Discourse.ObjectController.extend(Discourse.ModalFunctionality, {
|
export default ObjectController.extend(ModalFunctionality, {
|
||||||
foregroundColors: ['FFFFFF', '000000'],
|
foregroundColors: ['FFFFFF', '000000'],
|
||||||
categoryUploadUrl: '/category/uploads',
|
categoryUploadUrl: '/category/uploads',
|
||||||
|
|
||||||
|
@ -1,13 +1,17 @@
|
|||||||
|
import ModalFunctionality from 'discourse/mixins/modal-functionality';
|
||||||
|
|
||||||
|
import ObjectController from 'discourse/controllers/object';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Modal related to auto closing of topics
|
Modal related to auto closing of topics
|
||||||
|
|
||||||
@class EditTopicAutoCloseController
|
@class EditTopicAutoCloseController
|
||||||
@extends Discourse.ObjectController
|
@extends ObjectController
|
||||||
@namespace Discourse
|
@namespace Discourse
|
||||||
@uses Discourse.ModalFunctionality
|
@uses ModalFunctionality
|
||||||
@module Discourse
|
@module Discourse
|
||||||
**/
|
**/
|
||||||
export default Discourse.ObjectController.extend(Discourse.ModalFunctionality, {
|
export default ObjectController.extend(ModalFunctionality, {
|
||||||
auto_close_valid: true,
|
auto_close_valid: true,
|
||||||
auto_close_invalid: Em.computed.not('auto_close_valid'),
|
auto_close_invalid: Em.computed.not('auto_close_valid'),
|
||||||
|
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
import ObjectController from 'discourse/controllers/object';
|
||||||
|
|
||||||
|
|
||||||
var ButtonBackBright = {
|
var ButtonBackBright = {
|
||||||
classes: "btn-primary",
|
classes: "btn-primary",
|
||||||
@ -24,11 +26,11 @@ var ButtonBackBright = {
|
|||||||
The controller for the nice error page
|
The controller for the nice error page
|
||||||
|
|
||||||
@class ExceptionController
|
@class ExceptionController
|
||||||
@extends Discourse.ObjectController
|
@extends ObjectController
|
||||||
@namespace Discourse
|
@namespace Discourse
|
||||||
@module Discourse
|
@module Discourse
|
||||||
**/
|
**/
|
||||||
export default Discourse.ObjectController.extend({
|
export default ObjectController.extend({
|
||||||
thrown: null,
|
thrown: null,
|
||||||
lastTransition: null,
|
lastTransition: null,
|
||||||
|
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
|
import ObjectController from 'discourse/controllers/object';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Supports logic for flags in the modal
|
Supports logic for flags in the modal
|
||||||
|
|
||||||
@class FlagActionTypeController
|
@class FlagActionTypeController
|
||||||
@extends Discourse.ObjectController
|
@extends ObjectController
|
||||||
@namespace Discourse
|
@namespace Discourse
|
||||||
@module Discourse
|
@module Discourse
|
||||||
**/
|
**/
|
||||||
export default Discourse.ObjectController.extend({
|
export default ObjectController.extend({
|
||||||
needs: ['flag'],
|
needs: ['flag'],
|
||||||
|
|
||||||
message: Em.computed.alias('controllers.flag.message'),
|
message: Em.computed.alias('controllers.flag.message'),
|
||||||
|
@ -1,13 +1,17 @@
|
|||||||
|
import ModalFunctionality from 'discourse/mixins/modal-functionality';
|
||||||
|
|
||||||
|
import ObjectController from 'discourse/controllers/object';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This controller supports actions related to flagging
|
This controller supports actions related to flagging
|
||||||
|
|
||||||
@class FlagController
|
@class FlagController
|
||||||
@extends Discourse.ObjectController
|
@extends ObjectController
|
||||||
@namespace Discourse
|
@namespace Discourse
|
||||||
@uses Discourse.ModalFunctionality
|
@uses ModalFunctionality
|
||||||
@module Discourse
|
@module Discourse
|
||||||
**/
|
**/
|
||||||
export default Discourse.ObjectController.extend(Discourse.ModalFunctionality, {
|
export default ObjectController.extend(ModalFunctionality, {
|
||||||
|
|
||||||
onShow: function() {
|
onShow: function() {
|
||||||
this.set('selected', null);
|
this.set('selected', null);
|
||||||
|
@ -1,13 +1,8 @@
|
|||||||
/**
|
import ModalFunctionality from 'discourse/mixins/modal-functionality';
|
||||||
The modal for when the user has forgotten their password
|
|
||||||
|
|
||||||
@class ForgotPasswordController
|
import DiscourseController from 'discourse/controllers/controller';
|
||||||
@extends Discourse.Controller
|
|
||||||
@namespace Discourse
|
export default DiscourseController.extend(ModalFunctionality, {
|
||||||
@uses Discourse.ModalFunctionality
|
|
||||||
@module Discourse
|
|
||||||
**/
|
|
||||||
export default Discourse.Controller.extend(Discourse.ModalFunctionality, {
|
|
||||||
|
|
||||||
// You need a value in the field to submit it.
|
// You need a value in the field to submit it.
|
||||||
submitDisabled: function() {
|
submitDisabled: function() {
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
|
import ObjectController from 'discourse/controllers/object';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
The basic controller for a group
|
The basic controller for a group
|
||||||
|
|
||||||
@class GroupController
|
@class GroupController
|
||||||
@extends Discourse.ObjectController
|
@extends ObjectController
|
||||||
@namespace Discourse
|
@namespace Discourse
|
||||||
@module Discourse
|
@module Discourse
|
||||||
**/
|
**/
|
||||||
export default Discourse.ObjectController.extend({
|
export default ObjectController.extend({
|
||||||
counts: null,
|
counts: null,
|
||||||
|
|
||||||
// It would be nice if bootstrap marked action lists as selected when their links
|
// It would be nice if bootstrap marked action lists as selected when their links
|
||||||
|
@ -1,12 +1,6 @@
|
|||||||
/**
|
import DiscourseController from 'discourse/controllers/controller';
|
||||||
This controller supports actions on the site header
|
|
||||||
|
|
||||||
@class HeaderController
|
export default DiscourseController.extend({
|
||||||
@extends Discourse.Controller
|
|
||||||
@namespace Discourse
|
|
||||||
@module Discourse
|
|
||||||
**/
|
|
||||||
export default Discourse.Controller.extend({
|
|
||||||
topic: null,
|
topic: null,
|
||||||
showExtraInfo: null,
|
showExtraInfo: null,
|
||||||
notifications: null,
|
notifications: null,
|
||||||
|
@ -1,13 +1,17 @@
|
|||||||
|
import ModalFunctionality from 'discourse/mixins/modal-functionality';
|
||||||
|
|
||||||
|
import ObjectController from 'discourse/controllers/object';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This controller handles displaying of history
|
This controller handles displaying of history
|
||||||
|
|
||||||
@class HistoryController
|
@class HistoryController
|
||||||
@extends Discourse.ObjectController
|
@extends ObjectController
|
||||||
@namespace Discourse
|
@namespace Discourse
|
||||||
@uses Discourse.ModalFunctionality
|
@uses ModalFunctionality
|
||||||
@module Discourse
|
@module Discourse
|
||||||
**/
|
**/
|
||||||
export default Discourse.ObjectController.extend(Discourse.ModalFunctionality, {
|
export default ObjectController.extend(ModalFunctionality, {
|
||||||
loading: false,
|
loading: false,
|
||||||
viewMode: "side_by_side",
|
viewMode: "side_by_side",
|
||||||
revisionsTextKey: "post.revisions.controls.comparing_previous_to_current_out_of_total",
|
revisionsTextKey: "post.revisions.controls.comparing_previous_to_current_out_of_total",
|
||||||
|
@ -1,13 +1,8 @@
|
|||||||
/**
|
import ModalFunctionality from 'discourse/mixins/modal-functionality';
|
||||||
The modal for inviting a user to a private topic
|
|
||||||
|
|
||||||
@class InvitePrivateController
|
import ObjectController from 'discourse/controllers/object';
|
||||||
@extends Discourse.Controller
|
|
||||||
@namespace Discourse
|
export default ObjectController.extend(ModalFunctionality, {
|
||||||
@uses Discourse.ModalFunctionality
|
|
||||||
@module Discourse
|
|
||||||
**/
|
|
||||||
export default Discourse.ObjectController.extend(Discourse.ModalFunctionality, {
|
|
||||||
modalClass: 'invite',
|
modalClass: 'invite',
|
||||||
|
|
||||||
isAdmin: function(){
|
isAdmin: function(){
|
||||||
|
@ -1,13 +1,8 @@
|
|||||||
/**
|
import ModalFunctionality from 'discourse/mixins/modal-functionality';
|
||||||
The modal for inviting a user to a topic
|
|
||||||
|
|
||||||
@class InviteController
|
import ObjectController from 'discourse/controllers/object';
|
||||||
@extends Discourse.Controller
|
|
||||||
@namespace Discourse
|
export default ObjectController.extend(ModalFunctionality, {
|
||||||
@uses Discourse.ModalFunctionality
|
|
||||||
@module Discourse
|
|
||||||
**/
|
|
||||||
export default Discourse.ObjectController.extend(Discourse.ModalFunctionality, {
|
|
||||||
needs: ['user-invited'],
|
needs: ['user-invited'],
|
||||||
|
|
||||||
// If this isn't defined, it will proxy to the user model on the preferences
|
// If this isn't defined, it will proxy to the user model on the preferences
|
||||||
|
@ -1,13 +1,8 @@
|
|||||||
/**
|
import ModalFunctionality from 'discourse/mixins/modal-functionality';
|
||||||
This controller is used to display the Keyboard Shortcuts Help Modal
|
|
||||||
|
|
||||||
@class KeyboardShortcutsHelpController
|
import DiscourseController from 'discourse/controllers/controller';
|
||||||
@extends Discourse.Controller
|
|
||||||
@namespace Discourse
|
export default DiscourseController.extend(ModalFunctionality, {
|
||||||
@uses Discourse.ModalFunctionality
|
|
||||||
@module Discourse
|
|
||||||
**/
|
|
||||||
export default Discourse.Controller.extend(Discourse.ModalFunctionality, {
|
|
||||||
needs: ['modal'],
|
needs: ['modal'],
|
||||||
|
|
||||||
onShow: function() {
|
onShow: function() {
|
||||||
|
@ -1,13 +1,8 @@
|
|||||||
/**
|
import ModalFunctionality from 'discourse/mixins/modal-functionality';
|
||||||
This controller supports actions related to flagging
|
|
||||||
|
|
||||||
@class LoginController
|
import DiscourseController from 'discourse/controllers/controller';
|
||||||
@extends Discourse.Controller
|
|
||||||
@namespace Discourse
|
export default DiscourseController.extend(ModalFunctionality, {
|
||||||
@uses Discourse.ModalFunctionality
|
|
||||||
@module Discourse
|
|
||||||
**/
|
|
||||||
export default Discourse.Controller.extend(Discourse.ModalFunctionality, {
|
|
||||||
needs: ['modal', 'createAccount', 'application'],
|
needs: ['modal', 'createAccount', 'application'],
|
||||||
authenticate: null,
|
authenticate: null,
|
||||||
loggingIn: false,
|
loggingIn: false,
|
||||||
|
@ -1,13 +1,17 @@
|
|||||||
|
import ModalFunctionality from 'discourse/mixins/modal-functionality';
|
||||||
|
|
||||||
|
import ObjectController from 'discourse/controllers/object';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Modal related to merging of topics
|
Modal related to merging of topics
|
||||||
|
|
||||||
@class MergeTopicController
|
@class MergeTopicController
|
||||||
@extends Discourse.ObjectController
|
@extends ObjectController
|
||||||
@namespace Discourse
|
@namespace Discourse
|
||||||
@uses Discourse.ModalFunctionality
|
@uses ModalFunctionality
|
||||||
@module Discourse
|
@module Discourse
|
||||||
**/
|
**/
|
||||||
export default Discourse.ObjectController.extend(Discourse.SelectedPostsCount, Discourse.ModalFunctionality, {
|
export default ObjectController.extend(Discourse.SelectedPostsCount, ModalFunctionality, {
|
||||||
needs: ['topic'],
|
needs: ['topic'],
|
||||||
|
|
||||||
topicController: Em.computed.alias('controllers.topic'),
|
topicController: Em.computed.alias('controllers.topic'),
|
||||||
|
@ -1,9 +1,3 @@
|
|||||||
/**
|
import DiscourseController from 'discourse/controllers/controller';
|
||||||
Related to showing a modal and its title.
|
|
||||||
|
|
||||||
@class ModalController
|
export default DiscourseController.extend({});
|
||||||
@extends Discourse.Controller
|
|
||||||
@namespace Discourse
|
|
||||||
@module Discourse
|
|
||||||
**/
|
|
||||||
export default Discourse.Controller.extend({});
|
|
||||||
|
@ -1,12 +1,6 @@
|
|||||||
/**
|
import DiscourseController from 'discourse/controllers/controller';
|
||||||
Handles the controller for the default navigation within discovery.
|
|
||||||
|
|
||||||
@class NavigationDefaultController
|
export default DiscourseController.extend({
|
||||||
@extends Discourse.Controller
|
|
||||||
@namespace Discourse
|
|
||||||
@module Discourse
|
|
||||||
**/
|
|
||||||
export default Discourse.Controller.extend({
|
|
||||||
categories: function() {
|
categories: function() {
|
||||||
return Discourse.Category.list();
|
return Discourse.Category.list();
|
||||||
}.property(),
|
}.property(),
|
||||||
|
@ -1,13 +1,8 @@
|
|||||||
/**
|
import ModalFunctionality from 'discourse/mixins/modal-functionality';
|
||||||
Modal displayed to a user when they are not active yet.
|
|
||||||
|
|
||||||
@class NotActivatedController
|
import DiscourseController from 'discourse/controllers/controller';
|
||||||
@extends Discourse.Controller
|
|
||||||
@namespace Discourse
|
export default DiscourseController.extend(ModalFunctionality, {
|
||||||
@uses Discourse.ModalFunctionality
|
|
||||||
@module Discourse
|
|
||||||
**/
|
|
||||||
export default Discourse.Controller.extend(Discourse.ModalFunctionality, {
|
|
||||||
emailSent: false,
|
emailSent: false,
|
||||||
|
|
||||||
actions: {
|
actions: {
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
export default Discourse.ObjectController.extend({
|
import ObjectController from 'discourse/controllers/object';
|
||||||
|
|
||||||
|
export default ObjectController.extend({
|
||||||
|
|
||||||
scope: function () {
|
scope: function () {
|
||||||
return "notifications." + Discourse.Site.currentProp("notificationLookup")[this.get("notification_type")];
|
return "notifications." + Discourse.Site.currentProp("notificationLookup")[this.get("notification_type")];
|
||||||
|
@ -0,0 +1 @@
|
|||||||
|
export default Ember.ObjectController.extend(Discourse.Presence, Discourse.HasCurrentUser);
|
@ -1,12 +0,0 @@
|
|||||||
/**
|
|
||||||
A custom object controller for Discourse
|
|
||||||
|
|
||||||
@class ObjectController
|
|
||||||
@extends Ember.ObjectController
|
|
||||||
@namespace Discourse
|
|
||||||
@uses Discourse.Presence
|
|
||||||
@module Discourse
|
|
||||||
**/
|
|
||||||
Discourse.ObjectController = Ember.ObjectController.extend(Discourse.Presence, Discourse.HasCurrentUser);
|
|
||||||
|
|
||||||
|
|
@ -1,4 +1,6 @@
|
|||||||
export default Discourse.ObjectController.extend({
|
import ObjectController from 'discourse/controllers/object';
|
||||||
|
|
||||||
|
export default ObjectController.extend({
|
||||||
needs: ['topic'],
|
needs: ['topic'],
|
||||||
visible: false,
|
visible: false,
|
||||||
user: null,
|
user: null,
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
|
import ObjectController from 'discourse/controllers/object';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This controller supports actions related to updating one's preferences
|
This controller supports actions related to updating one's preferences
|
||||||
|
|
||||||
@class PreferencesController
|
@class PreferencesController
|
||||||
@extends Discourse.ObjectController
|
@extends ObjectController
|
||||||
@namespace Discourse
|
@namespace Discourse
|
||||||
@module Discourse
|
@module Discourse
|
||||||
**/
|
**/
|
||||||
export default Discourse.ObjectController.extend({
|
export default ObjectController.extend({
|
||||||
|
|
||||||
allowAvatarUpload: Discourse.computed.setting('allow_uploaded_avatars'),
|
allowAvatarUpload: Discourse.computed.setting('allow_uploaded_avatars'),
|
||||||
allowUserLocale: Discourse.computed.setting('allow_user_locale'),
|
allowUserLocale: Discourse.computed.setting('allow_user_locale'),
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
|
import ObjectController from 'discourse/controllers/object';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This controller supports actions related to updating your "About Me" bio
|
This controller supports actions related to updating your "About Me" bio
|
||||||
|
|
||||||
@class PreferencesAboutController
|
@class PreferencesAboutController
|
||||||
@extends Discourse.ObjectController
|
@extends ObjectController
|
||||||
@namespace Discourse
|
@namespace Discourse
|
||||||
@module Discourse
|
@module Discourse
|
||||||
**/
|
**/
|
||||||
export default Discourse.ObjectController.extend({
|
export default ObjectController.extend({
|
||||||
saving: false,
|
saving: false,
|
||||||
|
|
||||||
saveButtonText: function() {
|
saveButtonText: function() {
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
|
import ObjectController from 'discourse/controllers/object';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This controller supports actions related to updating one's email address
|
This controller supports actions related to updating one's email address
|
||||||
|
|
||||||
@class PreferencesEmailController
|
@class PreferencesEmailController
|
||||||
@extends Discourse.ObjectController
|
@extends ObjectController
|
||||||
@namespace Discourse
|
@namespace Discourse
|
||||||
@module Discourse
|
@module Discourse
|
||||||
**/
|
**/
|
||||||
export default Discourse.ObjectController.extend({
|
export default ObjectController.extend({
|
||||||
taken: false,
|
taken: false,
|
||||||
saving: false,
|
saving: false,
|
||||||
error: false,
|
error: false,
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
|
import ObjectController from 'discourse/controllers/object';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This controller supports actions related to updating one's username
|
This controller supports actions related to updating one's username
|
||||||
|
|
||||||
@class PreferencesUsernameController
|
@class PreferencesUsernameController
|
||||||
@extends Discourse.ObjectController
|
@extends ObjectController
|
||||||
@namespace Discourse
|
@namespace Discourse
|
||||||
@module Discourse
|
@module Discourse
|
||||||
**/
|
**/
|
||||||
export default Discourse.ObjectController.extend({
|
export default ObjectController.extend({
|
||||||
taken: false,
|
taken: false,
|
||||||
saving: false,
|
saving: false,
|
||||||
error: false,
|
error: false,
|
||||||
|
@ -1,14 +1,8 @@
|
|||||||
|
import DiscourseController from 'discourse/controllers/controller';
|
||||||
|
|
||||||
/*global assetPath:true */
|
/*global assetPath:true */
|
||||||
|
|
||||||
/**
|
export default DiscourseController.extend({
|
||||||
This controller supports the pop up quote button
|
|
||||||
|
|
||||||
@class QuoteButtonController
|
|
||||||
@extends Discourse.Controller
|
|
||||||
@namespace Discourse
|
|
||||||
@module Discourse
|
|
||||||
**/
|
|
||||||
export default Discourse.Controller.extend({
|
|
||||||
needs: ['topic', 'composer'],
|
needs: ['topic', 'composer'],
|
||||||
|
|
||||||
init: function() {
|
init: function() {
|
||||||
|
@ -1,11 +1,3 @@
|
|||||||
/**
|
|
||||||
Support for searching
|
|
||||||
|
|
||||||
@class SearchController
|
|
||||||
@extends Discourse.Controller
|
|
||||||
@namespace Discourse
|
|
||||||
@module Discourse
|
|
||||||
**/
|
|
||||||
export default Em.ArrayController.extend(Discourse.Presence, {
|
export default Em.ArrayController.extend(Discourse.Presence, {
|
||||||
|
|
||||||
contextChanged: function(){
|
contextChanged: function(){
|
||||||
|
@ -1,12 +1,6 @@
|
|||||||
/**
|
import DiscourseController from 'discourse/controllers/controller';
|
||||||
This controller supports the "share" link controls
|
|
||||||
|
|
||||||
@class ShareController
|
export default DiscourseController.extend({
|
||||||
@extends Discourse.Controller
|
|
||||||
@namespace Discourse
|
|
||||||
@module Discourse
|
|
||||||
**/
|
|
||||||
export default Discourse.Controller.extend({
|
|
||||||
needs: ['topic'],
|
needs: ['topic'],
|
||||||
|
|
||||||
// Close the share controller
|
// Close the share controller
|
||||||
|
@ -1,13 +1,17 @@
|
|||||||
|
import ModalFunctionality from 'discourse/mixins/modal-functionality';
|
||||||
|
|
||||||
|
import ObjectController from 'discourse/controllers/object';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Modal related to auto closing of topics
|
Modal related to auto closing of topics
|
||||||
|
|
||||||
@class SplitTopicController
|
@class SplitTopicController
|
||||||
@extends Discourse.ObjectController
|
@extends ObjectController
|
||||||
@namespace Discourse
|
@namespace Discourse
|
||||||
@uses Discourse.ModalFunctionality
|
@uses ModalFunctionality
|
||||||
@module Discourse
|
@module Discourse
|
||||||
**/
|
**/
|
||||||
export default Discourse.ObjectController.extend(Discourse.SelectedPostsCount, Discourse.ModalFunctionality, {
|
export default ObjectController.extend(Discourse.SelectedPostsCount, ModalFunctionality, {
|
||||||
needs: ['topic'],
|
needs: ['topic'],
|
||||||
|
|
||||||
topicController: Em.computed.alias('controllers.topic'),
|
topicController: Em.computed.alias('controllers.topic'),
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
|
import ObjectController from 'discourse/controllers/object';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This controller supports the admin menu on topics
|
This controller supports the admin menu on topics
|
||||||
|
|
||||||
@class TopicAdminMenuController
|
@class TopicAdminMenuController
|
||||||
@extends Discourse.ObjectController
|
@extends ObjectController
|
||||||
@namespace Discourse
|
@namespace Discourse
|
||||||
@module Discourse
|
@module Discourse
|
||||||
**/
|
**/
|
||||||
export default Discourse.ObjectController.extend({
|
export default ObjectController.extend({
|
||||||
menuVisible: false,
|
menuVisible: false,
|
||||||
needs: ['modal'],
|
needs: ['modal'],
|
||||||
|
|
||||||
|
@ -1,13 +1,15 @@
|
|||||||
|
import ModalFunctionality from 'discourse/mixins/modal-functionality';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Modal for performing bulk actions on topics
|
Modal for performing bulk actions on topics
|
||||||
|
|
||||||
@class TopicBulkActionsController
|
@class TopicBulkActionsController
|
||||||
@extends Ember.ArrayController
|
@extends Ember.ArrayController
|
||||||
@namespace Discourse
|
@namespace Discourse
|
||||||
@uses Discourse.ModalFunctionality
|
@uses ModalFunctionality
|
||||||
@module Discourse
|
@module Discourse
|
||||||
**/
|
**/
|
||||||
export default Ember.ArrayController.extend(Discourse.ModalFunctionality, {
|
export default Ember.ArrayController.extend(ModalFunctionality, {
|
||||||
needs: ['discovery/topics'],
|
needs: ['discovery/topics'],
|
||||||
|
|
||||||
onShow: function() {
|
onShow: function() {
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
|
import ObjectController from 'discourse/controllers/object';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Handles displaying of a topic as a list item
|
Handles displaying of a topic as a list item
|
||||||
|
|
||||||
@class TopicListItemController
|
@class TopicListItemController
|
||||||
@extends Discourse.ObjectController
|
@extends ObjectController
|
||||||
@namespace Discourse
|
@namespace Discourse
|
||||||
@module Discourse
|
@module Discourse
|
||||||
**/
|
**/
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
export default Discourse.ObjectController.extend(Discourse.SelectedPostsCount, {
|
import ObjectController from 'discourse/controllers/object';
|
||||||
|
|
||||||
|
export default ObjectController.extend(Discourse.SelectedPostsCount, {
|
||||||
multiSelect: false,
|
multiSelect: false,
|
||||||
needs: ['header', 'modal', 'composer', 'quote-button', 'search', 'topic-progress'],
|
needs: ['header', 'modal', 'composer', 'quote-button', 'search', 'topic-progress'],
|
||||||
allPostsSelected: false,
|
allPostsSelected: false,
|
||||||
|
@ -1,13 +1,8 @@
|
|||||||
/**
|
import ModalFunctionality from 'discourse/mixins/modal-functionality';
|
||||||
The modal for upload a file to a post
|
|
||||||
|
|
||||||
@class UploadSelectorController
|
import DiscourseController from 'discourse/controllers/controller';
|
||||||
@extends Discourse.Controller
|
|
||||||
@namespace Discourse
|
export default DiscourseController.extend(ModalFunctionality, {
|
||||||
@uses Discourse.ModalFunctionality
|
|
||||||
@module Discourse
|
|
||||||
**/
|
|
||||||
export default Discourse.Controller.extend(Discourse.ModalFunctionality, {
|
|
||||||
remote: Em.computed.not("local"),
|
remote: Em.computed.not("local"),
|
||||||
local: false,
|
local: false,
|
||||||
showMore: false,
|
showMore: false,
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
|
import ObjectController from 'discourse/controllers/object';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Lists of topics on a user's page.
|
Lists of topics on a user's page.
|
||||||
|
|
||||||
@class UserTopicsListController
|
@class UserTopicsListController
|
||||||
@extends Discourse.ObjectController
|
@extends ObjectController
|
||||||
@namespace Discourse
|
@namespace Discourse
|
||||||
@module Discourse
|
@module Discourse
|
||||||
**/
|
**/
|
||||||
export default Discourse.ObjectController.extend({
|
export default ObjectController.extend({
|
||||||
hideCategory: false,
|
hideCategory: false,
|
||||||
showParticipants: false,
|
showParticipants: false,
|
||||||
|
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
export default Discourse.ObjectController.extend({
|
import ObjectController from 'discourse/controllers/object';
|
||||||
|
|
||||||
|
export default ObjectController.extend({
|
||||||
|
|
||||||
viewingSelf: function() {
|
viewingSelf: function() {
|
||||||
return this.get('content.username') === Discourse.User.currentProp('username');
|
return this.get('content.username') === Discourse.User.currentProp('username');
|
||||||
|
@ -0,0 +1,10 @@
|
|||||||
|
export default Em.Mixin.create({
|
||||||
|
needs: ['modal'],
|
||||||
|
|
||||||
|
flash: function(message, messageClass) {
|
||||||
|
this.set('flashMessage', Em.Object.create({
|
||||||
|
message: message,
|
||||||
|
messageClass: messageClass
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
});
|
@ -1,29 +0,0 @@
|
|||||||
/**
|
|
||||||
This mixin provides functionality to modal controllers
|
|
||||||
|
|
||||||
@class Discourse.ModalFunctionality
|
|
||||||
@extends Ember.Mixin
|
|
||||||
@namespace Discourse
|
|
||||||
@module Discourse
|
|
||||||
**/
|
|
||||||
Discourse.ModalFunctionality = Em.Mixin.create({
|
|
||||||
needs: ['modal'],
|
|
||||||
|
|
||||||
/**
|
|
||||||
Flash a message at the top of the modal
|
|
||||||
|
|
||||||
@method blank
|
|
||||||
@param {String} message I18n name of the message
|
|
||||||
@param {String} messageClass CSS class to apply
|
|
||||||
@return {Boolean}
|
|
||||||
**/
|
|
||||||
flash: function(message, messageClass) {
|
|
||||||
this.set('flashMessage', Em.Object.create({
|
|
||||||
message: message,
|
|
||||||
messageClass: messageClass
|
|
||||||
}));
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
@ -20,7 +20,7 @@
|
|||||||
//= require ./discourse/models/composer
|
//= require ./discourse/models/composer
|
||||||
//= require ./discourse/models/topic
|
//= require ./discourse/models/topic
|
||||||
//= require ./discourse/controllers/controller
|
//= require ./discourse/controllers/controller
|
||||||
//= require ./discourse/controllers/object_controller
|
//= require ./discourse/controllers/object
|
||||||
//= require ./discourse/controllers/navigation/default
|
//= require ./discourse/controllers/navigation/default
|
||||||
//= require ./discourse/views/modal_body_view
|
//= require ./discourse/views/modal_body_view
|
||||||
//= require ./discourse/views/flag
|
//= require ./discourse/views/flag
|
||||||
|
@ -70,7 +70,7 @@ module Tilt
|
|||||||
# For backwards compatibility with plugins, for now export the Global format too.
|
# For backwards compatibility with plugins, for now export the Global format too.
|
||||||
# We should eventually have an upgrade system for plugins to use ES6 or some other
|
# We should eventually have an upgrade system for plugins to use ES6 or some other
|
||||||
# resolve based API.
|
# resolve based API.
|
||||||
if ENV['DISCOURSE_NO_CONSTANTS'].nil? && scope.logical_path =~ /(discourse|admin)\/(controllers|components|views|routes)\/(.*)/
|
if ENV['DISCOURSE_NO_CONSTANTS'].nil? && scope.logical_path =~ /(discourse|admin)\/(controllers|components|views|routes|mixins)\/(.*)/
|
||||||
type = Regexp.last_match[2]
|
type = Regexp.last_match[2]
|
||||||
file_name = Regexp.last_match[3].gsub(/[\-\/]/, '_')
|
file_name = Regexp.last_match[3].gsub(/[\-\/]/, '_')
|
||||||
class_name = file_name.classify
|
class_name = file_name.classify
|
||||||
@ -82,7 +82,13 @@ module Tilt
|
|||||||
require_name = module_name(scope.root_path, scope.logical_path)
|
require_name = module_name(scope.root_path, scope.logical_path)
|
||||||
|
|
||||||
if require_name !~ /\-test$/
|
if require_name !~ /\-test$/
|
||||||
@output << "\n\nDiscourse.#{class_name}#{type.classify} = require('#{require_name}').default;\n"
|
result = "#{class_name}#{type.classify}"
|
||||||
|
|
||||||
|
# HAX
|
||||||
|
result = "Controller" if result == "ControllerController"
|
||||||
|
result.gsub!(/Mixin$/, '')
|
||||||
|
|
||||||
|
@output << "\n\nDiscourse.#{result} = require('#{require_name}').default;\n"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
export default Discourse.Controller.extend({
|
import DiscourseController from 'discourse/controllers/controller';
|
||||||
|
|
||||||
|
export default DiscourseController.extend({
|
||||||
poll: null,
|
poll: null,
|
||||||
showResults: Em.computed.oneWay('poll.closed'),
|
showResults: Em.computed.oneWay('poll.closed'),
|
||||||
disableRadio: Em.computed.any('poll.closed', 'loading'),
|
disableRadio: Em.computed.any('poll.closed', 'loading'),
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
module("Discourse.Controller");
|
import DiscourseController from 'discourse/controllers/controller';
|
||||||
|
|
||||||
|
module("DiscourseController");
|
||||||
|
|
||||||
test("includes mixins", function() {
|
test("includes mixins", function() {
|
||||||
ok(Discourse.Presence.detect(Discourse.Controller.create()), "Discourse.Presence");
|
ok(Discourse.Presence.detect(DiscourseController.create()), "Discourse.Presence");
|
||||||
ok(Discourse.HasCurrentUser.detect(Discourse.Controller.create()), "Discourse.HasCurrentUser");
|
ok(Discourse.HasCurrentUser.detect(DiscourseController.create()), "Discourse.HasCurrentUser");
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user