UNPKG

cobuild-angular-stack

Version:

Base stack angular sass jade gulp

92 lines (77 loc) 2.76 kB
(function(module) { AdminExperiencesAddArticlesController.$inject = ['$scope', '$timeout','$state', '$stateParams','$translate', 'toastr', '$uibModalInstance', 'Category', 'ProductTemplate', 'Experiences', 'experience']; module.controller('AdminExperiencesAddArticlesController', AdminExperiencesAddArticlesController); function AdminExperiencesAddArticlesController($scope, $timeout,$state, $stateParams, $translate, toastr, $uibModalInstance, Category, ProductTemplate, Experiences, experience) { $scope.modal = { stores: [], storeId: "", articles: [], experience: experience } $scope.articles = []; $scope.init = function() { Category.find().$promise.then(function(stores) { $("#admin-experiences-modal").parent().parent().attr("style","width: 80%"); $("#admin-experiences-modal").parent().attr("style","background-color: #f8f8f8"); $scope.modal.stores = stores; if(stores.length > 0) $scope.modal.storeId = stores[0].id; $scope.getArticles(); }, $scope.error).catch($scope.error); } $scope.$watch("modal.storeId", function() { $scope.getArticleCategory(); }) $scope.getArticles = function() { $scope.modal.articles = []; ProductTemplate.find().$promise.then(function(articles) { $scope.articles = articles; $scope.getArticleCategory(); }, $scope.error).catch($scope.error); } $scope.getArticleCategory = function() { $scope.modal.articles = []; var products = _.filter($scope.articles, function(article) { var product = _.find(article.categoriesIds, function(category) { return category == $scope.modal.storeId }); return product; }) var index = 0; _.each(products, function(article) { var article_selected = _.find(experience.productsRegistryList, function(art) { return art.id == article.id }); if(article_selected) { article.select = true; } if(!$scope.modal.articles[index]) { $scope.modal.articles[index] = { row: 'row', products: [] } } else if($scope.modal.articles[index].products.length < 4 ) { } else { index += 1; $scope.modal.articles[index] = { row: 'row', products: [] } } $scope.modal.articles[index].products.push(article); }); }; $scope.add = function(article) { article.select = true; $scope.modal.experience.productsRegistryList.push(article); Experiences.save({id: $scope.modal.experience.id},$scope.modal.experience).$promise.then(function(data) { }, $scope.error).catch($scope.error); } $scope.error = function(err) { toastr.error(err); } $scope.close = function() { $uibModalInstance.dismiss('cancel'); } $scope.init(); } })(angular.module('uniko.admin.experiences'));