From 72f93699667b5695b13338ebe580acc75b8fd301 Mon Sep 17 00:00:00 2001 From: Arpit Jalan Date: Mon, 19 Sep 2016 00:12:09 +0530 Subject: [PATCH] add unique body class to search and user pages --- .../javascripts/discourse/lib/create-view.js.es6 | 15 +++++++++++++++ .../discourse/views/full-page-search.js.es6 | 4 +++- .../discourse/views/preferences.js.es6 | 4 +++- .../discourse/views/user-activity.js.es6 | 3 +++ .../discourse/views/user-invited-show.js.es6 | 3 +++ .../discourse/views/user-messages.js.es6 | 3 +++ .../discourse/views/user-notifications.js.es6 | 3 +++ .../discourse/views/user-summary.js.es6 | 3 +++ 8 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 app/assets/javascripts/discourse/lib/create-view.js.es6 create mode 100644 app/assets/javascripts/discourse/views/user-activity.js.es6 create mode 100644 app/assets/javascripts/discourse/views/user-invited-show.js.es6 create mode 100644 app/assets/javascripts/discourse/views/user-messages.js.es6 create mode 100644 app/assets/javascripts/discourse/views/user-notifications.js.es6 create mode 100644 app/assets/javascripts/discourse/views/user-summary.js.es6 diff --git a/app/assets/javascripts/discourse/lib/create-view.js.es6 b/app/assets/javascripts/discourse/lib/create-view.js.es6 new file mode 100644 index 00000000000..854fa42fbe0 --- /dev/null +++ b/app/assets/javascripts/discourse/lib/create-view.js.es6 @@ -0,0 +1,15 @@ +import { on } from 'ember-addons/ember-computed-decorators'; + +export function createViewWithBodyClass(body_class) { + return Ember.View.extend({ + @on("didInsertElement") + addBodyClass() { + $('body').addClass(body_class); + }, + + @on("willDestroyElement") + removeBodyClass() { + $('body').removeClass(body_class); + } + }); +} diff --git a/app/assets/javascripts/discourse/views/full-page-search.js.es6 b/app/assets/javascripts/discourse/views/full-page-search.js.es6 index 390a07330da..ed9789dc696 100644 --- a/app/assets/javascripts/discourse/views/full-page-search.js.es6 +++ b/app/assets/javascripts/discourse/views/full-page-search.js.es6 @@ -1,3 +1,5 @@ -export default Ember.View.extend({ +import { createViewWithBodyClass } from 'discourse/lib/create-view'; + +export default createViewWithBodyClass('search-page').extend({ classNames: ['search-container'] }); diff --git a/app/assets/javascripts/discourse/views/preferences.js.es6 b/app/assets/javascripts/discourse/views/preferences.js.es6 index 597f88fd778..e0033515fca 100644 --- a/app/assets/javascripts/discourse/views/preferences.js.es6 +++ b/app/assets/javascripts/discourse/views/preferences.js.es6 @@ -1,4 +1,6 @@ -export default Ember.View.extend({ +import { createViewWithBodyClass } from 'discourse/lib/create-view'; + +export default createViewWithBodyClass('user-preferences-page').extend({ templateName: 'user/preferences', classNames: ['user-preferences'] }); diff --git a/app/assets/javascripts/discourse/views/user-activity.js.es6 b/app/assets/javascripts/discourse/views/user-activity.js.es6 new file mode 100644 index 00000000000..d7d7a40a22d --- /dev/null +++ b/app/assets/javascripts/discourse/views/user-activity.js.es6 @@ -0,0 +1,3 @@ +import { createViewWithBodyClass } from 'discourse/lib/create-view'; + +export default createViewWithBodyClass('user-activity-page'); diff --git a/app/assets/javascripts/discourse/views/user-invited-show.js.es6 b/app/assets/javascripts/discourse/views/user-invited-show.js.es6 new file mode 100644 index 00000000000..8ea3dc05f2c --- /dev/null +++ b/app/assets/javascripts/discourse/views/user-invited-show.js.es6 @@ -0,0 +1,3 @@ +import { createViewWithBodyClass } from 'discourse/lib/create-view'; + +export default createViewWithBodyClass('user-invites-page'); diff --git a/app/assets/javascripts/discourse/views/user-messages.js.es6 b/app/assets/javascripts/discourse/views/user-messages.js.es6 new file mode 100644 index 00000000000..97e7a137428 --- /dev/null +++ b/app/assets/javascripts/discourse/views/user-messages.js.es6 @@ -0,0 +1,3 @@ +import { createViewWithBodyClass } from 'discourse/lib/create-view'; + +export default createViewWithBodyClass('user-messages-page'); diff --git a/app/assets/javascripts/discourse/views/user-notifications.js.es6 b/app/assets/javascripts/discourse/views/user-notifications.js.es6 new file mode 100644 index 00000000000..a8141b59c0a --- /dev/null +++ b/app/assets/javascripts/discourse/views/user-notifications.js.es6 @@ -0,0 +1,3 @@ +import { createViewWithBodyClass } from 'discourse/lib/create-view'; + +export default createViewWithBodyClass('user-notifications-page'); diff --git a/app/assets/javascripts/discourse/views/user-summary.js.es6 b/app/assets/javascripts/discourse/views/user-summary.js.es6 new file mode 100644 index 00000000000..a51a5595b0d --- /dev/null +++ b/app/assets/javascripts/discourse/views/user-summary.js.es6 @@ -0,0 +1,3 @@ +import { createViewWithBodyClass } from 'discourse/lib/create-view'; + +export default createViewWithBodyClass('user-summary-page');