From 1d4d7d064b7145e067e786efc86ff2c28690c3a6 Mon Sep 17 00:00:00 2001 From: Rohan Mitchell Date: Tue, 4 Dec 2012 12:26:18 +1100 Subject: [PATCH] Add exchange products form, shown/hidden by button press --- app/assets/javascripts/admin/order_cycle.js.erb | 13 +++++++++++++ app/views/admin/order_cycles/_form.html.haml | 15 ++++++++++++--- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/app/assets/javascripts/admin/order_cycle.js.erb b/app/assets/javascripts/admin/order_cycle.js.erb index 960bf8ec37..e8adbfe3f1 100644 --- a/app/assets/javascripts/admin/order_cycle.js.erb +++ b/app/assets/javascripts/admin/order_cycle.js.erb @@ -3,6 +3,10 @@ function AdminCreateOrderCycleCtrl($scope, OrderCycle, Enterprise) { $scope.order_cycle = OrderCycle.order_cycle; + $scope.toggleProducts = function($event, exchange) { + OrderCycle.toggleProducts($event, exchange); + }; + $scope.addSupplier = function($event) { OrderCycle.addSupplier($event, $scope.new_supplier_id); }; @@ -19,6 +23,10 @@ function AdminEditOrderCycleCtrl($scope, OrderCycle, Enterprise) { var order_cycle_id = window.location.pathname.match(/\/admin\/order_cycles\/(\d+)/)[1]; $scope.order_cycle = OrderCycle.load(order_cycle_id); + $scope.toggleProducts = function($event, exchange) { + OrderCycle.toggleProducts($event, exchange); + }; + $scope.addSupplier = function($event) { OrderCycle.addSupplier($event, $scope.new_supplier_id); }; @@ -44,6 +52,11 @@ angular.module('order_cycle', ['ngResource']). order_cycle: {incoming_exchanges: [], outgoing_exchanges: []}, + toggleProducts: function(event, exchange) { + event.preventDefault(); + exchange.showProducts = !exchange.showProducts + }, + addSupplier: function(event, new_supplier_id) { event.preventDefault(); this.order_cycle.incoming_exchanges.push({enterprise_id: new_supplier_id, active: true}); diff --git a/app/views/admin/order_cycles/_form.html.haml b/app/views/admin/order_cycles/_form.html.haml index 078d02aeab..40fd9701e8 100644 --- a/app/views/admin/order_cycles/_form.html.haml +++ b/app/views/admin/order_cycles/_form.html.haml @@ -13,9 +13,18 @@ %h2 Incoming %table.exchanges - %tr{'ng-repeat' => 'exchange in order_cycle.incoming_exchanges'} - %td.active= check_box_tag 'order_cycle_exchange_{{ $index }}_active', 1, 1, 'ng-model' => 'exchange.active', 'id' => 'order_cycle_exchange_{{ $index }}_active' - %td {{ enterprises[exchange.enterprise_id].name }} + %thead + %tr + %th + %th Supplier + %th Products + %tbody{'ng-repeat' => 'exchange in order_cycle.incoming_exchanges'} + %tr + %td.active= check_box_tag 'order_cycle_exchange_{{ $index }}_active', 1, 1, 'ng-model' => 'exchange.active', 'id' => 'order_cycle_exchange_{{ $index }}_active' + %td {{ enterprises[exchange.enterprise_id].name }} + %td= f.submit 'Products', 'ng-click' => 'toggleProducts($event, exchange)' + %tr.products{'ng-show' => 'exchange.showProducts'} + %td{:colspan => 3} Hello, products = select_tag :new_supplier_id, options_from_collection_for_select(Enterprise.is_primary_producer, :id, :name), {'ng-model' => 'new_supplier_id'} = f.submit 'Add supplier', 'ng-click' => 'addSupplier($event)'