Tables to ember with modal extension cq refactor
This commit is contained in:
@@ -1,4 +1,11 @@
|
||||
Qsupplier.App.ModalController = Ember.ObjectController.extend
|
||||
modal_options: {}
|
||||
actions:
|
||||
close: ->
|
||||
@send 'closeModal'
|
||||
if close = @get('modal_options.close')
|
||||
close.apply(@)
|
||||
@send 'closeModal' unless @preventClose
|
||||
ok: ->
|
||||
if ok = @get('modal_options.ok')
|
||||
ok.apply(@)
|
||||
@send 'closeModal' unless @preventClose
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
Qsupplier.App.TableController = Ember.ObjectController.extend
|
||||
table: (-> @get('model')).property('model')
|
||||
@@ -1,2 +1,14 @@
|
||||
Qsupplier.App.TablesIndexController = Ember.ArrayController.extend
|
||||
tables: (-> @get('model')).property('model')
|
||||
tables: (-> @get('model').sortBy('number')).property('model.@each.number')
|
||||
actions:
|
||||
editTable: (table)->
|
||||
@modal 'edit_table',
|
||||
model: table
|
||||
ok: ->
|
||||
table.save()
|
||||
close: ->
|
||||
table.rollback()
|
||||
destroyTable: (table)->
|
||||
@send 'confirm',
|
||||
title: t('table.destroy.modal.title', number: table.get('number'))
|
||||
ok: -> table.destroy()
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
ControllerExtensions = Ember.Mixin.create
|
||||
# conveniance wrapper for open modal. Use like:
|
||||
# @modal "edit_table", model: table
|
||||
modal: (name, options={})->
|
||||
@send "openModal", "modals/#{name}", options.model || Ember.Object.create(),
|
||||
controller: 'modal'
|
||||
ok: options.ok
|
||||
close: options.close
|
||||
all_sections: (-> @store.all('section')).property()
|
||||
|
||||
Ember.Controller.reopen ControllerExtensions
|
||||
Ember.ArrayController.reopen ControllerExtensions
|
||||
Ember.ObjectController.reopen ControllerExtensions
|
||||
@@ -13,11 +13,15 @@ Qsupplier.App.ApplicationRoute = Ember.Route.extend
|
||||
|
||||
controller.set 'product_categories', @store.all('product_category')
|
||||
actions:
|
||||
openModal: (modalName, model)->
|
||||
@controllerFor(modalName).set('model', model)
|
||||
openModal: (modalName, model, options={})->
|
||||
controller_name = options.controller || modalName
|
||||
controller = @controllerFor(controller_name)
|
||||
controller.set 'model', model
|
||||
controller.set 'modal_options', options
|
||||
@render modalName,
|
||||
into: 'application'
|
||||
outlet: 'modal'
|
||||
controller: controller_name
|
||||
closeModal: ->
|
||||
@disconnectOutlet
|
||||
outlet: 'modal'
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
modal-dialog action="close"
|
||||
.modal-header
|
||||
h3.flush--top=t 'table.edit.modal.title'
|
||||
hr
|
||||
.modal-body
|
||||
p=t 'table.edit.modal.body_header'
|
||||
.form-row
|
||||
.form-label=t 'attributes.table.number'
|
||||
.form-field: Qsupplier.App.NumberField valueBinding="model.number"
|
||||
.form-row
|
||||
.form-label=t 'models.section'
|
||||
.form-field
|
||||
Ember.Select content=all_sections valueBinding="model.section" optionLabelPath="content.title"
|
||||
.modal-footer
|
||||
hr
|
||||
button.confirm-cancel{action "close"}=t 'section.add_tables.modal.close_button'
|
||||
button.confirm-ok.right{action "ok"}=t 'section.add_tables.modal.add_button'
|
||||
@@ -0,0 +1,19 @@
|
||||
.table-number= table.number
|
||||
.status-icons
|
||||
span.needs_payment
|
||||
span.needs_help
|
||||
span.active_order
|
||||
if table.active_list
|
||||
div class="table-actions table-actions-#{unbound table.id}"
|
||||
.title= table.number
|
||||
.table-action-row
|
||||
Qsupplier.App.MarkListHelpedButtonView content=table.active_list
|
||||
Qsupplier.App.CloseListButtonView content=table.active_list
|
||||
.table-action-row=currency table.active_list.total
|
||||
each user in table.active_list.users
|
||||
img src=user.facebook_image
|
||||
if editmodedisabled
|
||||
.table-settings
|
||||
select
|
||||
option Round
|
||||
option rectangular
|
||||
@@ -1,19 +1,11 @@
|
||||
.table-number= table.number
|
||||
.status-icons
|
||||
span.needs_payment
|
||||
span.needs_help
|
||||
span.active_order
|
||||
if table.active_list
|
||||
div class="table-actions table-actions-#{unbound table.id}"
|
||||
.title= table.number
|
||||
.table-action-row
|
||||
Qsupplier.App.MarkListHelpedButtonView content=table.active_list
|
||||
Qsupplier.App.CloseListButtonView content=table.active_list
|
||||
.table-action-row=currency table.active_list.total
|
||||
each user in table.active_list.users
|
||||
img src=user.facebook_image
|
||||
if editmodedisabled
|
||||
.table-settings
|
||||
select
|
||||
option Round
|
||||
option rectangular
|
||||
h2=t 'models.table'
|
||||
.display-row
|
||||
.display-label= t 'attributes.table.number'
|
||||
.display-field
|
||||
span= table.number
|
||||
if table.section
|
||||
.display-row
|
||||
.display-label=t 'models.section'
|
||||
.display-field
|
||||
link-to 'section' table.section
|
||||
span= table.section.title
|
||||
|
||||
@@ -10,9 +10,12 @@ if tables
|
||||
tbody
|
||||
each table in tables
|
||||
tr
|
||||
td: a= table.number
|
||||
td: link-to 'table' table: span= table.number
|
||||
td.link
|
||||
if table.section
|
||||
= link-to 'sections:section' table.section
|
||||
= link-to 'section' table.section
|
||||
= table.section.title
|
||||
td.numeric=time table.created_at
|
||||
td.actions
|
||||
a.table-edit{ action 'editTable' table }: span
|
||||
a.table-destroy{ action 'destroyTable' table }: span
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Qsupplier.App.SectionTableView = Ember.View.extend DragNDrop.Draggable,
|
||||
templateName: 'table'
|
||||
templateName: 'section_table'
|
||||
classNames: ['section-table']
|
||||
attributeBindings: ['style']
|
||||
classNameBindings: [
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
//= require moment
|
||||
var Qstorage = localStorage;
|
||||
|
||||
|
||||
$.extend($translations.en, <%= I18n.t('supplier', locale: :en).to_json %>);
|
||||
$.extend($translations.nl, <%= I18n.t('supplier', locale: :nl).to_json %>);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user