Skip to content

Instantly share code, notes, and snippets.

@mahbub-shohag
Created January 8, 2018 02:36
Show Gist options
  • Save mahbub-shohag/1af82187b6d1138e2b4a2feab3afe488 to your computer and use it in GitHub Desktop.
Save mahbub-shohag/1af82187b6d1138e2b4a2feab3afe488 to your computer and use it in GitHub Desktop.
<!DOCTYPE html>
<html ng-app="addressApp" ng-controller="addressController">
<head>
<title></title>
<script
src="https://code.jquery.com/jquery-2.2.4.min.js"
integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44="
crossorigin="anonymous"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
</head>
<body>
<div>
</div>
<script type="text/javascript">
var app = angular.module('addressApp',[]);
app.controller('addressController',function($scope,$http){
$http.get('address.json').then(function(response){
var addresses = response.data;
TempDivisions = [];
Divisions = [];
Upazilas = [];
Districts = [];
aDistrict = {};
var currentDivisionId = 0;
var currentDistrictId = 0;
var counter = 0;
var flag = 0;
function containsObject(obj, list) {
for (i = 0; i < list.length; i++) {
if (list[i]['divisionId'] === obj ) {
return true;
}
}
return false;
}
angular.forEach(addresses,function(key,value){
//console.log(addresses[value].districtId);
counter=counter+1;
//Old Divisio
if(containsObject(key.divisionId, Divisions) ||containsObject(key.divisionId, TempDivisions)){
//alert(flag);
//if(Divisions.find(i => i.divisionId === key.divisionId)){
//old Division Old District
if(currentDistrictId === key.districtId){
aUpazila = {};
aUpazila.upazilaId = key.upazilaId;
aUpazila.upazilaName = key.upazilaName;
Upazilas.push(aUpazila);
//console.log(aDistrict);
}
//old division but new district
else{
//console.log(aDistrict);
aDistrict.upazilas = Upazilas;
Districts.push(aDistrict);
Upazilas = [];
currentDistrictId = key.districtId;
aDistrict = {};
aUpazila = {};
aDistrict.districtId = key.districtId;
aDistrict.districtName = key.districtName;
aUpazila.upazilaId = key.upazilaId;
aUpazila.upazilaName = key.upazilaName;
Upazilas.push(aUpazila);
//Upazilas = [];
}
//new division
}else{
//for but not very first division
//console.log(counter);
if(counter>1){
aDivision.districts = Districts;
/*if(aDivision.districts.length===0){
Divisions.push(aDivision);
}*/
//console.log(aDivision.districts.length);
//console.log(aDivision);
Divisions.push(aDivision);
Districts = [];
}
aDivision = {};
aDivision.divisionId = key.divisionId;
aDivision.divisionName = key.divisionName;
TempDivisions.push(aDivision);
aDistrict.districtId = key.districtId;
aDistrict.districtName = key.districtName;
aUpazila = {};
aUpazila.upazilaId = key.upazilaId;
aUpazila.upazilaName = key.upazilaName;
Upazilas = [];
Upazilas.push(aUpazila);
aUpazila = {};
currentDivisionId = key.divisionId;
currentDistrictId = key.districtId;
}
});
aDivision.districts = Districts;
Divisions.push(aDivision);
//Divisions.push()
console.log(Divisions);
});
});
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment