UNPKG

zettapi_client

Version:

Admin panel and client-side CRUD operations in angular to use with zettapi_server rest api to get started quickly in any CMS project.

48 lines (43 loc) 1.64 kB
app.directive('zlAddress', function () { return { restrict: 'E', scope: { item: '=', countries: '=', zlClass: '@?', disable: '=?', countryValue: '@?', prefix: '@?', geocode: '@?' }, replace: false, templateUrl: 'directives/address/address.html', controller: function ($scope, $address, zapi) { $scope.disable = $scope.disable || false; $scope.zlClass = $scope.zlClass || "form-control"; $scope.prefix = $scope.prefix || ""; $scope.geocode = $scope.geocode || false; $scope.useInputLarge = zapi.useInputLarge; $scope.countryValue = $scope.countryValue || undefined; $scope.validateZipcode = $address.validateZipcode; $scope.getAddressPT = function (zipcode) { $address.getAddressPT(zipcode, function (err, data) { if (err) return swal("Atenção", "Não foi possível completar o arruamento", "warning"); $scope.item[$scope.prefix + 'address'] = data.address; $scope.item[$scope.prefix + 'city'] = data.city; $scope.item[$scope.prefix + 'locality'] = data.locality; $scope.item[$scope.prefix + 'county'] = data.county; $scope.item[$scope.prefix + 'country'] = $scope.countryValue ? data.country[$scope.countryValue] : data.country; getCoordinates(zipcode); }); }; function getCoordinates(zipcode) { if (!$scope.geocode) return; $address.getCoordinates(zipcode, function (err, coords) { if (err) return; $scope.item[$scope.prefix + 'coords'] = coords; }); } } }; });