From 0e08a04df87efb7ebe2d0f4d7459b4b69b76240f Mon Sep 17 00:00:00 2001 From: Benjamin ter Kuile Date: Fri, 27 Feb 2015 15:58:04 +0100 Subject: [PATCH] Add language switcher as component --- .../app/components/suppliers-switcher.js.coffee | 11 +++++++++++ .../app/controllers/settings_controller.js.coffee | 4 ---- .../templates/components/suppliers-switcher.emblem | 4 ++++ .../supplier/app/templates/settings.emblem | 6 +----- config/locales/supplier.en.yml | 3 ++- config/locales/supplier.nl.yml | 3 ++- 6 files changed, 20 insertions(+), 11 deletions(-) create mode 100644 app/assets/javascripts/supplier/app/components/suppliers-switcher.js.coffee create mode 100644 app/assets/javascripts/supplier/app/templates/components/suppliers-switcher.emblem diff --git a/app/assets/javascripts/supplier/app/components/suppliers-switcher.js.coffee b/app/assets/javascripts/supplier/app/components/suppliers-switcher.js.coffee new file mode 100644 index 00000000..aa1f9f9b --- /dev/null +++ b/app/assets/javascripts/supplier/app/components/suppliers-switcher.js.coffee @@ -0,0 +1,11 @@ +App.SuppliersSwitcherComponent = Ember.Component.extend + classNames: ['suppliers-switcher-container'] + suppliers: (-> @get('targetObject.store').all 'supplier').property() + other_suppliers: ( -> @get('suppliers').rejectBy 'id', @get('targetObject.controllers.application.supplier.id')).property('suppliers.@each') + actions: + switchTo: (locale)-> + setLocale locale + @set 'current_locale', locale + @get('targetObject.store').all("page").invoke 'reload' + switchTo: (supplier)-> + window.location = Routes.switch_to_suppliers_supplier_path(supplier.get('id')) diff --git a/app/assets/javascripts/supplier/app/controllers/settings_controller.js.coffee b/app/assets/javascripts/supplier/app/controllers/settings_controller.js.coffee index 07affb3a..be8d757a 100644 --- a/app/assets/javascripts/supplier/app/controllers/settings_controller.js.coffee +++ b/app/assets/javascripts/supplier/app/controllers/settings_controller.js.coffee @@ -5,8 +5,6 @@ App.SettingsController = Ember.ObjectController.extend countries: (-> window.countries ).property() saving: false editIensProfile: (-> @get('model.country') is 'Netherlands' ).property('model.country') - suppliers: (-> @store.all 'supplier').property() - other_suppliers: ( -> @get('suppliers').rejectBy 'id', @get('controllers.application.supplier.id')).property('suppliers.@each') actions: saveSettings: -> @set 'saving', true @@ -14,5 +12,3 @@ App.SettingsController = Ember.ObjectController.extend @set 'saving', false $('.top-menu .supplier-name').text @get('model.name') @transitionToRoute 'index' - switchToSupplier: (supplier)-> - window.location = Routes.switch_to_suppliers_supplier_path(supplier.get('id')) diff --git a/app/assets/javascripts/supplier/app/templates/components/suppliers-switcher.emblem b/app/assets/javascripts/supplier/app/templates/components/suppliers-switcher.emblem new file mode 100644 index 00000000..f03b38b6 --- /dev/null +++ b/app/assets/javascripts/supplier/app/templates/components/suppliers-switcher.emblem @@ -0,0 +1,4 @@ +if other_suppliers + ul.button-group.stack-for-small.round + each supplier in other_suppliers + li: a.warning.button{action "switchTo" supplier}= t 'suppliers_switcher.switch_to_button' supplier diff --git a/app/assets/javascripts/supplier/app/templates/settings.emblem b/app/assets/javascripts/supplier/app/templates/settings.emblem index eeeb28f6..a230b28e 100644 --- a/app/assets/javascripts/supplier/app/templates/settings.emblem +++ b/app/assets/javascripts/supplier/app/templates/settings.emblem @@ -45,8 +45,4 @@ if editIensProfile else button.button.submit-supplier-settings{action 'saveSettings'}=t 'settings.save' - -if other_suppliers - .row: .small-12.columns: ul.button-group.stack-for-small.round - each supplier in other_suppliers - li: a.warning.button{action "switchToSupplier" supplier}= t 'settings.switch_to_supplier' supplier +.row: .small-12.columns= suppliers-switcher diff --git a/config/locales/supplier.en.yml b/config/locales/supplier.en.yml index bb518b1e..7d6e0fd0 100644 --- a/config/locales/supplier.en.yml +++ b/config/locales/supplier.en.yml @@ -125,7 +125,6 @@ en: reviews: title: Reviews explanation: Fill in your Iens id. You can find this id in the web location of your page - switch_to_supplier: Switch to %{name} product_category: # week days depricated week_days: @@ -209,3 +208,5 @@ en: save_button: Save destroy_button: Destroy destroy_confirmation: Are you sure? + suppliers_switcher: + switch_to_button: Switch to %{name} diff --git a/config/locales/supplier.nl.yml b/config/locales/supplier.nl.yml index cc01dced..1d67fbc9 100644 --- a/config/locales/supplier.nl.yml +++ b/config/locales/supplier.nl.yml @@ -124,7 +124,6 @@ nl: reviews: title: Reviews explanation: Vul hier je iens id in. Deze kan je halen uit de url van je iens pagina - switch_to_supplier: Switch to %{name} product_category: week_days: abbreviation: @@ -212,3 +211,5 @@ nl: save_button: Save destroy_button: Verwijder destroy_confirmation: 'Weet je zeker dat je de ${models.employee_shift} wilt verwijderen?' + suppliers_switcher: + switch_to_button: Switch to %{name}