Advertisement
Guest User

Untitled

a guest
Jun 26th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /** Car List component. Renders `car` components */
  2. let carListComponent = {
  3.     bindings: {
  4.         profile: '<'
  5.     },
  6.     controller: function () {},
  7.     template: `
  8.         <div class="profile-block">
  9.             <div class="header">Cars</div>
  10.             <div class="car-block" ng-repeat="car in $ctrl.profile.Cars">
  11.                 <car car="car"></car>
  12.             </div>
  13.             <div>
  14.                 <a ui-sref="addCar">
  15.                     <i class="fa fa-plus-circle ico-add" aria-hidden="true"></i> <span class="add">Add Car</span>
  16.                 </a>
  17.             </div>
  18.         </div>
  19.     `
  20. };
  21.  
  22. export default carListComponent;
  23.  
  24. /** Car component */
  25. let carComponent = {
  26.     bindings: {
  27.         car: '<'
  28.     },
  29.     controller: function ($state, CarsService) {
  30.         this._$state = $state;
  31.         this.CarsService = CarsService;
  32.  
  33.         this.getCarPic = (carId) => {
  34.             return this.CarsService
  35.                 .getCarPicture(carId)
  36.                 .then((res) => {
  37.                     let img = btoa(String.fromCharCode.apply(null, new Uint8Array(res)));
  38.                     document.querySelector(`#car_${carId}`).src = `data:image/jpeg;base64,${img}`;
  39.                 }, err => console.log(err));
  40.         }
  41.  
  42.         this.deleteCar = (carId) => {
  43.             let val = confirm('Are you sure you want to delete the car?');
  44.             if (val) {
  45.                 return this.CarsService
  46.                     .deleteCar(carId)
  47.                     .then(res => this._$state.reload(), err => console.log(err));
  48.             }
  49.         }
  50.     },
  51.     template: `
  52.          <img src="" ng-init="$ctrl.getCarPic($ctrl.car.CarId)" ng-attr-id="{{'car_' + $ctrl.car.CarId}}" class="img-responsive">
  53.          <div class="block-part">
  54.             <div class="name"><p>{{$ctrl.car.CarMakeEntity.Make}} {{$ctrl.car.CarModelEntity.Model}}</p></div>
  55.             <div class="property"><p>Number of seats: {{$ctrl.car.Seats}}</p></div>
  56.             <div class="property">
  57.                 Color: <div class="car-color" ng-style="{'background': $ctrl.car.Color}"></div>
  58.             </div>
  59.             <div uib-dropdown dropdown-append-to-body>
  60.                 <i class="fa fa-ellipsis-v" aria-hidden="true" uib-dropdown-toggle="" id={{$ctrl.car.CarId}}></i>
  61.                 <ul class="dropdown-menu" uib-dropdown-menu role="menu" aria-labelledby={{$ctrl.car.CarId}}>
  62.                     <li role="menuitem">
  63.                         <a href="#">Edit</a>
  64.                     </li>
  65.                     <li role="menuitem">
  66.                         <a href="#" ng-click="$ctrl.deleteCar($ctrl.car.CarId)">Delete</a>
  67.                      </li>
  68.                 </ul>
  69.             </div>
  70.          </div>
  71.     `
  72. };
  73.  
  74. export default carComponent;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement