From ce4b9d4d5099729d75eca55a837c0f248d3fa95d Mon Sep 17 00:00:00 2001 From: Ben Ramey Date: Fri, 14 Mar 2014 21:50:36 -0500 Subject: [PATCH] More workflow --- .../create-order-controller.coffee | 20 +++++++++++++++++-- .../controllers/create-run-controller.coffee | 7 +++---- .../js/controllers/run-controller.coffee | 5 +++++ assets/linker/js/services/socket.coffee | 1 + assets/templates/create-order.jade | 9 +++++++-- assets/templates/create-run.jade | 2 +- assets/templates/run.jade | 2 ++ 7 files changed, 37 insertions(+), 9 deletions(-) diff --git a/assets/linker/js/controllers/create-order-controller.coffee b/assets/linker/js/controllers/create-order-controller.coffee index 68d6d9d..dfb8a91 100644 --- a/assets/linker/js/controllers/create-order-controller.coffee +++ b/assets/linker/js/controllers/create-order-controller.coffee @@ -1,12 +1,28 @@ lunchControllers = angular.module 'lunchControllers' -lunchControllers.controller 'CreateOrderCtrl', ['$scope','socket','$routeParams', - CreateOrderController = ($scope, socket, $routeParams) -> +lunchControllers.controller 'CreateOrderCtrl', ['$scope','socket','$routeParams','$location', + CreateOrderController = ($scope, socket, $routeParams, $location) -> $scope.show = false + $scope.showMenuUrl = false socket.get '/run/' + $routeParams['id'], (response) -> $scope.show = true + $scope.showMenuUrl = response.menuUrl isnt '' + + $scope.run = response $scope.invitee = _.find response.invitees, (i) -> i.name.toLowerCase() == $routeParams['inviteeName'] + $scope.invitees = response.invitees + + $scope.$apply() + + $scope.submit = (invitee) -> + invitees = _.map $scope.invitees, (i) -> + if i.name is invitee.name + return invitee + return i + + socket.put '/run/' + $routeParams['id'], { invitees: invitees }, (response) -> + $location.path '/run/' + response.id $scope.$apply() ] diff --git a/assets/linker/js/controllers/create-run-controller.coffee b/assets/linker/js/controllers/create-run-controller.coffee index 00d1218..acdca08 100644 --- a/assets/linker/js/controllers/create-run-controller.coffee +++ b/assets/linker/js/controllers/create-run-controller.coffee @@ -3,19 +3,18 @@ lunchControllers = angular.module 'lunchControllers' lunchControllers.controller 'CreateRunCtrl', ['$scope', '$http', '$location', 'socket', CreateRunController = ($scope, $http, $location, socket) -> $scope.run = + name: 'run name', creatorName: 'ben ramey' creatorEmail: 'ben.ramey@gmail.com' - invitees: [{email: 'bob@bob.com'}] + invitees: [{name: 'bob', email: 'bob@bob.com'}] restaurant: 'subway' $scope.addInvitee = () -> - $scope.run.invitees.push { email: '' } + $scope.run.invitees.push {} $scope.create = (run) -> data = angular.copy run socket.post '/run', data, (response) -> - console.log response.id - console.log $location $location.path '/run/' + response.id $scope.$apply() ] diff --git a/assets/linker/js/controllers/run-controller.coffee b/assets/linker/js/controllers/run-controller.coffee index de2c464..6887c30 100644 --- a/assets/linker/js/controllers/run-controller.coffee +++ b/assets/linker/js/controllers/run-controller.coffee @@ -8,4 +8,9 @@ lunchControllers.controller 'RunCtrl', ['$scope', 'socket', '$routeParams', ($sc $scope.show = true $scope.run = response $scope.$apply() + + socket.on 'message', (m) -> + if m.verb is 'update' and m.id is $routeParams.id + $scope.run = m.data + $scope.$apply() ] diff --git a/assets/linker/js/services/socket.coffee b/assets/linker/js/services/socket.coffee index 99d321f..279f106 100644 --- a/assets/linker/js/services/socket.coffee +++ b/assets/linker/js/services/socket.coffee @@ -3,6 +3,7 @@ lunchServices = angular.module 'lunchServices', [] lunchServices.factory 'socket', socketFactory = () -> s = window.io.connect() s.on 'connect', () -> + console.log 'connected with socket!' s.on 'message', (message) -> console.log 'New comet message received :: ' console.log message diff --git a/assets/templates/create-order.jade b/assets/templates/create-order.jade index a922b08..3b59d75 100644 --- a/assets/templates/create-order.jade +++ b/assets/templates/create-order.jade @@ -1,10 +1,15 @@ div(ng-show='show') - h2 Enter your order + h2 Enter your order for {{ run.name }} p {{ invitee.name }}, enter your order here. + p You are all going to {{ run.restaurant }}. + span(ng-click='showMenuUrl') Here is the + a(href='{{ run.menuUrl }}') menu. + form(role='form') div.form-group label(for='order') Your order textarea#order.form-control(ng-model='invitee.order') - button.btn.btn-primary(ng-click='submit()') Submit Order + button.btn.btn-primary(ng-click='submit(invitee)') Submit Order + diff --git a/assets/templates/create-run.jade b/assets/templates/create-run.jade index 8b4f747..fb60540 100644 --- a/assets/templates/create-run.jade +++ b/assets/templates/create-run.jade @@ -11,7 +11,7 @@ div(ng-controller='CreateRunCtrl') label(for='creatorEmail') Your email input#creatorEmail.form-control(type='email',ng-model='run.creatorEmail',required) div.form-group - label(for='groupEmails') Group emails + label Invitees span(ng-repeat='i in run.invitees') .form-group label Name diff --git a/assets/templates/run.jade b/assets/templates/run.jade index 0d13595..ba8df55 100644 --- a/assets/templates/run.jade +++ b/assets/templates/run.jade @@ -4,3 +4,5 @@ div(ng-show="show") div(ng-repeat="i in run.invitees") p {{ i.name }}, {{ i.email }} + p {{ i.order }} + a(href='#/run/{{ run.id }}/order/{{ i.name }}') Fill in this order