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
JavaScript
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;
});
}
}
};
});