Guest User

Untitled

a guest
Aug 11th, 2017
265
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // order-food.component
  2.  
  3. import {template} from './../../../../helpers/helpers';
  4. import {imgPath} from "../../../../environment";
  5. import Loc from "../../../../helpers/localization";
  6.  
  7. export default function OrderFoodComponent() {
  8.     return {
  9.         templateUrl: template('profile', 'components/order-food'),
  10.         bindings: {
  11.             order: '<',
  12.             index: '=?',
  13.             abandon: '&?',
  14.             confirm: '&?',
  15.             problem: '&?'
  16.         },
  17.         controller: OrderFoodController
  18.     }
  19. }
  20.  
  21. class OrderFoodController {
  22.     private imgRoot: string;
  23.     private lc: any;
  24.     private order: any;
  25.     private index: any;
  26.     constructor(private storage) {
  27.         'ngInject';
  28.  
  29.         this.imgRoot = imgPath;
  30.         this.lc = Loc.get('profile');
  31.     }
  32.  
  33.     localize (localization) {
  34.         let index = localization.findIndex(locale => locale.language === this.storage.get('lang'));
  35.         return localization[index].value;
  36.     }
  37.  
  38.     $onChanges (bindings) {
  39.         if (bindings.order.currentValue) {
  40.             this.order.info.map(item => {
  41.                 return item.food.name = this.localize(item.food.name);
  42.             });
  43.         }
  44.     }
  45.  
  46.     setOrderStatus(status, type) {
  47.         this[status]({
  48.             id: this.order.id,
  49.             status: status,
  50.             index: this.index,
  51.             type: type
  52.         });
  53.     }
  54.  
  55. }
  56.  
  57.  
  58. // template
  59.  
  60.  
  61. <div class="order-food-holder">
  62.     <div class="object-restaurant">
  63.         <img width="87" height="50"
  64.              ng-src="{{::$ctrl.imgRoot}}{{::$ctrl.order.restaurant.image}}"
  65.              alt="{{::$ctrl.order.restaurant.name}}">
  66.         <a ui-sref="restaurant({slug: $ctrl.order.restaurant.slug})" class="name">{{::$ctrl.order.restaurant.name}}</a>
  67.         <button ng-if="$ctrl.abandon" ng-click="$ctrl.setOrderStatus('abandon', 'news')"
  68.                 class="problem visible-lg">{{::$ctrl.lc.b_cancel}}
  69.         </button>
  70.         <button ng-if="$ctrl.confirm" ng-click="$ctrl.setOrderStatus('confirm', 'confirmeds')"
  71.                 class="problem visible-lg">{{::$ctrl.lc.b_confirm}}
  72.         </button>
  73.         <button ng-if="$ctrl.problem" ng-click="$ctrl.setOrderStatus('problem', 'problems')"
  74.                 class="problem visible-lg">{{::$ctrl.lc.b_problem}}
  75.         </button>
  76.         <div class="data-order hidden-lg">{{::$ctrl.order.created_at | split:' ':0}}
  77.             {{::$ctrl.lc.t_in}}
  78.             {{::$ctrl.order.created_at | split:' ':1}}
  79.         </div>
  80.     </div>
  81.     <div class="row">
  82.         <div class="col-md-5 col-sm-12">
  83.             <div class="order-information">
  84.                 <h5>{{::$ctrl.lc.t_food_orders}}</h5>
  85.                 <p><span>{{::$ctrl.lc.t_order_tel}}</span> <phone></phone></p>
  86.                 <p><span>{{::$ctrl.lc.t_order_adress}}</span> {{::$ctrl.order.address}}</p>
  87.                 <p><span>{{::$ctrl.lc.t_order_info}}</span> {{::$ctrl.order.message}}</p>
  88.  
  89.                 <p ng-if="$ctrl.order.delivery === 'self'">
  90.                     <span>{{::$ctrl.lc.t_delivery_type}}</span>
  91.                     {{::$ctrl.lc.t_self}}
  92.                 </p>
  93.                 <p ng-if="$ctrl.order.delivery === 'courier'">
  94.                     <span>{{::$ctrl.lc.t_delivery_type}}</span>
  95.                     {{::$ctrl.lc.t_courier}}
  96.                 </p>
  97.  
  98.                 <div ng-if="$ctrl.order.delivery === 'courier'">
  99.                     <p ng-if="$ctrl.order.time === null">
  100.                         <span>{{::$ctrl.lc.t_delivery_time}}</span>
  101.                         {{::$ctrl.lc.t_soon_possible}}
  102.                     </p>
  103.                     <p ng-if="$ctrl.order.time !== null">
  104.                         <span>{{::$ctrl.lc.t_delivery_time}}</span>
  105.                         {{::$ctrl.order.time.from}} - {{::$ctrl.order.time.to}}
  106.                     </p>
  107.                 </div>
  108.             </div>
  109.         </div>
  110.         <div class="col-md-7 col-sm-12">
  111.             <div class="menu-content">
  112.                 <h5>{{::$ctrl.lc.t_order_content}}</h5>
  113.                 <p ng-repeat="item in $ctrl.order.info track by $index">
  114.                     {{$index + 1 }}. <span>{{::item.quantity}} {{::$ctrl.lc.t_count}}  {{::item.food.name}} </span>
  115.                     <strong>{{::$ctrl.lc.t_order_price}} <price-component item="item.food"></price-component>
  116.                         {{$ctrl.currency}}</strong>
  117.                 </p>
  118.                 <div class="total-sum">
  119.                     <p><span>{{::$ctrl.lc.t_order_sum}}</span> {{::$ctrl.order.price}}
  120.                         {{$ctrl.currency}}</p>
  121.                 </div>
  122.             </div>
  123.         </div>
  124.     </div>
  125.     <div class="buttons-block">
  126.         <button ng-if="$ctrl.confirm" ng-click="$ctrl.setOrderStatus('confirm', 'confirmeds')"
  127.                 class="problem hidden-lg">{{::$ctrl.lc.b_confirm}}
  128.         </button>
  129.         <button ng-if="$ctrl.problem" ng-click="$ctrl.setOrderStatus('problem', 'problems')"
  130.                 class="problem hidden-lg">{{::$ctrl.lc.b_problem}}
  131.         </button>
  132.         <button ng-if="$ctrl.abandon" ng-click="$ctrl.setOrderStatus( 'abandon', 'news')"
  133.                 class="order-recieve hidden-lg">{{::$ctrl.lc.b_cancel}}
  134.         </button>
  135.     </div>
  136. </div>
Advertisement
Add Comment
Please, Sign In to add comment