cobuild-angular-stack
Version:
Base stack angular sass jade gulp
57 lines (46 loc) • 2.23 kB
JavaScript
(function (module) {
'use strict';
module.controller('GuestRegistryProductShowController', GuestRegistryProductShowController);
GuestRegistryProductShowController.$inject = ['$scope', 'product', 'Store', 'Category', '$uibModalInstance', 'currencies', 'currencyConversionPromiseFilter', 'currencyFilter', 'account', 'lodash'];
function GuestRegistryProductShowController($scope, product, Store, Category, $modalInstance, currencies, currencyConversion, currency, account, lodash) {
$scope.product = product;
$scope.account = account;
$scope.productCategories = [];
$scope.disabled = false;
$scope.currencies = currencies;
$scope.currency = lodash.find(currencies, {code: 'MXN'});
$scope.selectCurrency = function (currency) {
$scope.currency = currency;
};
$scope.productStore = null;
$scope.stores = Store.find();
$scope.stores
.$promise
.then(function () {
$scope.$watch('product.storeId', function (newId) {
$scope.productStore = lodash.find($scope.stores, {id: newId});
});
});
$scope.categories = Category.find();
$scope.categories.$promise
.then(function () {
$scope.$watchCollection('product.categoriesIds', function (val) {
$scope.productCategories = lodash.map(lodash.filter($scope.categories, function (category) {
return $scope.product.categoriesIds.indexOf(category.id) > -1;
}), 'name');
});
});
$scope.$watch('currency', function () {
currencyConversion(product.price, 'MXN', $scope.currency.code).then(function (price) {
product.gifted = product.received > product.qty;
product.convertedPrice = currency(price, $scope.currency.symbol+' ', 2);
});
});
$scope.dismiss = function () {
$modalInstance.dismiss();
};
$scope.addToCart = function () {
$modalInstance.close($scope.product);
}
}
})(angular.module('uniko.guest.registry'));