diff --git a/app/assets/javascripts/supplier/app/components/flash-message.js.coffee b/app/assets/javascripts/supplier/app/components/flash-message.js.coffee new file mode 100644 index 00000000..5f1e7958 --- /dev/null +++ b/app/assets/javascripts/supplier/app/components/flash-message.js.coffee @@ -0,0 +1,9 @@ +App.FlashMessageComponent = Ember.Component.extend + layoutName: 'flash_message' + classNames: ['flash-message'] + classNameBindings: ['message:active'] + message: Ember.computed.alias 'globals.flash_message' + inactivator: (-> + if @get('message') + Ember.run.later((=> @set 'message', ''), 4000) + ).observes('message') diff --git a/app/assets/javascripts/supplier/app/controllers/application_controller.js.coffee b/app/assets/javascripts/supplier/app/controllers/application_controller.js.coffee index f6a71dcf..dba6ca60 100644 --- a/app/assets/javascripts/supplier/app/controllers/application_controller.js.coffee +++ b/app/assets/javascripts/supplier/app/controllers/application_controller.js.coffee @@ -1,5 +1,4 @@ App.ApplicationController = Ember.Controller.extend - flash_message: '' #init: -> #success = (supplier)=> ## A supplier record with id current and with the content of the returned supplier is created diff --git a/app/assets/javascripts/supplier/app/initializers/globals.js.coffee b/app/assets/javascripts/supplier/app/initializers/globals.js.coffee index 5322700b..3f9acda6 100644 --- a/app/assets/javascripts/supplier/app/initializers/globals.js.coffee +++ b/app/assets/javascripts/supplier/app/initializers/globals.js.coffee @@ -3,6 +3,7 @@ Globals = Ember.Object.extend current_supplier: null isDragging: false active_section: null + flash_message: '' App.initializer name: 'injectCurrent' initialize: (container, app)-> diff --git a/app/assets/javascripts/supplier/app/routes/application_route.js.coffee.erb b/app/assets/javascripts/supplier/app/routes/application_route.js.coffee.erb index 7b208b2a..dadbbe37 100644 --- a/app/assets/javascripts/supplier/app/routes/application_route.js.coffee.erb +++ b/app/assets/javascripts/supplier/app/routes/application_route.js.coffee.erb @@ -79,11 +79,10 @@ App.ApplicationRoute = Ember.Route.extend cancel: options.cancel ok: options.ok newOrder: (order_id)-> - @store.peekRecord('order', order_id).then (order)=> - controller = @controllerFor('application') + if order = @store.peekRecord('order', order_id) return if @get('globals.active_section.id') and order.get('section.id') isnt @get('globals.active_section.id') $('body').addClass('new-order') - controller.set 'flash_message', order.get('display_with_table') + @set 'globals.flash_message', order.get('display_with_table') setTimeout (-> $('body').removeClass('new-order')), 4000 try ion.sound.play('water_droplet') showDashboardOrders: (section)-> @@ -109,6 +108,7 @@ App.ApplicationRoute = Ember.Route.extend if list = @store.getById('list', data.id) list.isNeedingHelp() return if @get('globals.active_section.id') and list.get('section.id') isnt @get('globals.active_section.id') + @set 'globals.flash_message', t('table.needs_help.flash_message', number: list.get('table.number') || -1) try ion.sound.play 'bell_ring' list_needs_payment: (data) -> if list = @store.getById('list', data.id) @@ -117,21 +117,18 @@ App.ApplicationRoute = Ember.Route.extend try ion.sound.play 'water_droplet_3' list_is_paid: (data) -> list.isPaid() if list = @store.getById('list', data.id) list_update: (data) -> - if data.new_order_id - @send 'newOrder', data.new_order_id - @store.pushPayload('list', data) - # Fix broken reference. TODO: remove this when single source of - # truth is working - #@store.peekRecord('list', data.list.id).then (list)-> - # list.get('table').then (table)->table.set('active_list', list) + new_order_id = data.new_order_id + delete data.new_order_id + @store.pushPayload(data) + @send 'newOrder', new_order_id if new_order_id list_changed_table: (data) -> @store.pushPayload('list', lists: [data.list]) - list_closed: (data) -> list.isClosed() if list = @store.getById('list', data.id) - list_helped: (data) -> list.isHelped() if list = @store.getById('list', data.id) - remove_list_needs_payment: (data) -> list.set('needs_payment', false) if list = @store.getById('list', data.id) - order_closed: (data) -> order.isClosed() if order = @store.getById('order', data.id) - order_being_processed: (data) -> order.isActive() if order = @store.getById('order', data.id) - order_being_delivered: (data) -> order.isDelivered() if order = @store.getById('order', data.id) - order_cancelled: (data) -> order.isCancelled() if order = @store.getById('order', data.id) + list_closed: (data) -> list.isClosed() if list = @store.peekRecord('list', data.id) + list_helped: (data) -> list.isHelped() if list = @store.peekRecord('list', data.id) + remove_list_needs_payment: (data) -> list.set('needs_payment', false) if list = @store.peekRecord('list', data.id) + order_closed: (data) -> order.isClosed() if order = @store.peekRecord('order', data.id) + order_being_processed: (data) -> order.isActive() if order = @store.peekRecord('order', data.id) + order_being_delivered: (data) -> order.isDelivered() if order = @store.peekRecord('order', data.id) + order_cancelled: (data) -> order.isCancelled() if order = @store.peekRecord('order', data.id) orders_in_process_count: (data) -> @set('globals.current_supplier.orders_in_process_count', data.count) orders_placed_count: (data) -> @set('globals.current_supplier.orders_placed_count', data.count) diff --git a/app/assets/javascripts/supplier/app/templates/application.emblem b/app/assets/javascripts/supplier/app/templates/application.emblem index f3d5ebc4..1504fa5d 100644 --- a/app/assets/javascripts/supplier/app/templates/application.emblem +++ b/app/assets/javascripts/supplier/app/templates/application.emblem @@ -4,5 +4,5 @@ else = partial "global/top_menu" = partial "global/side_menu" .main-section= outlet - = view "flash_message" + = flash-message = outlet "modal" diff --git a/app/assets/javascripts/supplier/app/templates/flash_message.emblem b/app/assets/javascripts/supplier/app/templates/flash_message.emblem index 7b97c850..754ec508 100644 --- a/app/assets/javascripts/supplier/app/templates/flash_message.emblem +++ b/app/assets/javascripts/supplier/app/templates/flash_message.emblem @@ -1 +1 @@ -= flash_message += message diff --git a/app/assets/javascripts/supplier/app/views/flash-message.js.coffee b/app/assets/javascripts/supplier/app/views/flash-message.js.coffee deleted file mode 100644 index 60ed4036..00000000 --- a/app/assets/javascripts/supplier/app/views/flash-message.js.coffee +++ /dev/null @@ -1,10 +0,0 @@ -App.FlashMessageView = Ember.View.extend - templateName: 'flash_message' - classNames: ['flash-message'] - classNameBindings: ['message:active'] - message: (-> @get('controller.flash_message')).property('controller.flash_message') - - inactivator: (-> - if @get('message') - Ember.run.later (=> @set 'controller.flash_message', ''), 4000 - ).observes('message') diff --git a/app/assets/javascripts/supplier/foundation1/application.js.erb b/app/assets/javascripts/supplier/foundation1/application.js.erb index 714541c0..3de7437f 100644 --- a/app/assets/javascripts/supplier/foundation1/application.js.erb +++ b/app/assets/javascripts/supplier/foundation1/application.js.erb @@ -17,7 +17,6 @@ if(!Modernizr.cssanimations){ window.location = "/unsupported-browser"; } - var Qstorage = localStorage; $.extend($translations.en, <%= I18n.t('supplier', locale: :en).to_json %>); $.extend($translations.nl, <%= I18n.t('supplier', locale: :nl).to_json %>); diff --git a/config/locales/supplier.en.yml b/config/locales/supplier.en.yml index f4fae662..4c4ccae3 100644 --- a/config/locales/supplier.en.yml +++ b/config/locales/supplier.en.yml @@ -42,6 +42,8 @@ en: sign_out: Sign out table_number: Table table: + needs_help: + flash_message: ${models.table} %{number} needs help print_qr_codes: Print Qr codes add_tables_first: title: Add ${models.plural.table|downcase} first diff --git a/config/locales/supplier.nl.yml b/config/locales/supplier.nl.yml index efd02981..7279fbcf 100644 --- a/config/locales/supplier.nl.yml +++ b/config/locales/supplier.nl.yml @@ -41,6 +41,8 @@ nl: sign_out: Afmelden table_number: Tafel table: + needs_help: + flash_message: ${models.table} %{number} heeft een vraag print_qr_codes: Print Qr codes add_tables_first: title: Je moet eerst ${models.plural.table|downcase} toevoegen