From bd7218f22e11581a45a0703d96d0c7fa139b57c1 Mon Sep 17 00:00:00 2001 From: Clement Ho Date: Thu, 7 Dec 2017 11:37:33 -0600 Subject: Backport epic in issue --- .../components/assignees/sidebar_assignees.js | 24 +++++--- .../participants/sidebar_participants.vue | 11 +++- .../subscriptions/sidebar_subscriptions.vue | 9 ++- app/assets/javascripts/sidebar/mount_sidebar.js | 71 +++++++++++++++++----- app/assets/javascripts/sidebar/sidebar_bundle.js | 5 +- app/assets/javascripts/sidebar/sidebar_mediator.js | 1 - .../javascripts/sidebar/stores/sidebar_store.js | 50 ++++++++------- app/assets/stylesheets/framework/sidebar.scss | 5 ++ app/assets/stylesheets/pages/issuable.scss | 3 +- spec/javascripts/sidebar/sidebar_assignees_spec.js | 45 +++++++------- .../sidebar/sidebar_subscriptions_spec.js | 9 ++- 11 files changed, 151 insertions(+), 82 deletions(-) diff --git a/app/assets/javascripts/sidebar/components/assignees/sidebar_assignees.js b/app/assets/javascripts/sidebar/components/assignees/sidebar_assignees.js index 74c17bc14a2..9e47039d920 100644 --- a/app/assets/javascripts/sidebar/components/assignees/sidebar_assignees.js +++ b/app/assets/javascripts/sidebar/components/assignees/sidebar_assignees.js @@ -1,22 +1,32 @@ import Flash from '../../../flash'; import AssigneeTitle from './assignee_title'; import Assignees from './assignees'; - import Store from '../../stores/sidebar_store'; -import Mediator from '../../sidebar_mediator'; - import eventHub from '../../event_hub'; export default { name: 'SidebarAssignees', data() { return { - mediator: new Mediator(), store: new Store(), loading: false, - field: '', }; }, + props: { + mediator: { + type: Object, + required: true, + }, + field: { + type: String, + required: true, + }, + signedIn: { + type: Boolean, + required: false, + default: false, + }, + }, components: { 'assignee-title': AssigneeTitle, assignees: Assignees, @@ -61,10 +71,6 @@ export default { eventHub.$off('sidebar.removeAllAssignees', this.removeAllAssignees); eventHub.$off('sidebar.saveAssignees', this.saveAssignees); }, - beforeMount() { - this.field = this.$el.dataset.field; - this.signedIn = typeof this.$el.dataset.signedIn !== 'undefined'; - }, template: `
import Store from '../../stores/sidebar_store'; -import Mediator from '../../sidebar_mediator'; import participants from './participants.vue'; export default { data() { return { - mediator: new Mediator(), store: new Store(), }; }, + props: { + mediator: { + type: Object, + required: true, + }, + }, components: { participants, }, @@ -21,6 +25,7 @@ export default { + :number-of-less-participants="7" + />
diff --git a/app/assets/javascripts/sidebar/components/subscriptions/sidebar_subscriptions.vue b/app/assets/javascripts/sidebar/components/subscriptions/sidebar_subscriptions.vue index 25acc099699..f4bae1d3dd5 100644 --- a/app/assets/javascripts/sidebar/components/subscriptions/sidebar_subscriptions.vue +++ b/app/assets/javascripts/sidebar/components/subscriptions/sidebar_subscriptions.vue @@ -1,6 +1,5 @@