Skip to content

Commit d28d9a7

Browse files
committed
feat(map): add better loading styling and default map position
1 parent 981a25e commit d28d9a7

File tree

3 files changed

+44
-26
lines changed

3 files changed

+44
-26
lines changed

src/components/main/map/map.html

Lines changed: 12 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,19 @@
2424
<div class="container" layout="column" layout-align="space-between stretch" flex>
2525
<md-content layout="row" layout-align="start stretch" flex>
2626
<div class="list" layout="column" layout-align="start stretch" flex="none">
27+
<div class="list__loading" layout="column" layout-align="center center"
28+
ng-if="$ctrl.map.center.zoom <= 12">
29+
<h4 class="md-title">Zoom in</h4>
30+
</div>
31+
<div class="list__loading" layout="column" layout-align="center center"
32+
ng-if="$ctrl.loading">
33+
<md-progress-linear md-mode="indeterminate"></md-progress-linear>
34+
</div>
35+
<div class="list__loading" layout="column" layout-align="center center"
36+
ng-if="$ctrl.map.center.zoom > 12 && !$ctrl.loading && !$ctrl.list.length">
37+
<h4 class="md-title">No results</h4>
38+
</div>
2739
<md-virtual-repeat-container class="list__container" flex>
28-
<md-list-item>
29-
<span ng-if="!$ctrl.loading">{{$ctrl.list.length}} results</span>
30-
<span ng-if="$ctrl.loading">Loading...</span>
31-
</md-list-item>
3240
<md-list-item class="md-2-line"
3341
md-virtual-repeat="item in $ctrl.list | orderBy: 'name.value'"
3442
ui-sref="main.object({id: item.name.value_id.substring(1)})">
@@ -40,26 +48,6 @@
4048
<p class="muted">{{item.admin.value}}</p>
4149
</div>
4250
</md-list-item>
43-
<md-list-item class="md-2-line" ng-if="$ctrl.loading">
44-
<div class="list__image" layout="row" layout-align="center center"></div>
45-
<div class="md-list-item-text" layout="column"></div>
46-
</md-list-item>
47-
<md-list-item class="md-2-line" ng-if="$ctrl.loading">
48-
<div class="list__image" layout="row" layout-align="center center"></div>
49-
<div class="md-list-item-text" layout="column"></div>
50-
</md-list-item>
51-
<md-list-item class="md-2-line" ng-if="$ctrl.loading">
52-
<div class="list__image" layout="row" layout-align="center center"></div>
53-
<div class="md-list-item-text" layout="column"></div>
54-
</md-list-item>
55-
<md-list-item class="md-2-line" ng-if="$ctrl.loading">
56-
<div class="list__image" layout="row" layout-align="center center"></div>
57-
<div class="md-list-item-text" layout="column"></div>
58-
</md-list-item>
59-
<md-list-item class="md-2-line" ng-if="$ctrl.loading">
60-
<div class="list__image" layout="row" layout-align="center center"></div>
61-
<div class="md-list-item-text" layout="column"></div>
62-
</md-list-item>
6351
</md-virtual-repeat-container>
6452
</div>
6553
<div class="list__map" flex>

src/components/main/map/map.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,12 @@ function controller($location, $scope, $state, $stateParams, $timeout, leafletDa
1010
// bindings
1111

1212
vm.goToItem = item => setMap(item);
13-
vm.map = mapService.getMapInstance({ center: { lat: 51.686, lng: 19.545, zoom: 7 } });
13+
vm.map = mapService.getMapInstance({ center: { lat: 49.4967, lng: 12.4805, zoom: 4 } });
1414
vm.querySearch = text => wikidata.getSearch(text);
1515
vm.list = [];
1616
vm.listParams = {};
17-
vm.loading = vm.loadingMap = true;
17+
vm.loading = false;
18+
vm.loadingMap = true;
1819
vm.search = {};
1920

2021
// activate

src/components/main/map/map.scss

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
mo-map {
55
.list {
6+
position: relative;
67
width: 450px;
78
height: calc(100vh - 105px);
89
}
@@ -15,6 +16,34 @@ mo-map {
1516
}
1617
}
1718

19+
.list__loading {
20+
position: absolute;
21+
z-index: 10;
22+
width: 100%;
23+
height: 100%;
24+
background: rgba(250,250,250,.8);
25+
padding: 20px;
26+
27+
md-progress-linear {
28+
max-width: 200px;
29+
}
30+
31+
&.ng-enter {
32+
transition: 0.3s linear all;
33+
opacity: 0;
34+
}
35+
&.ng-enter.ng-enter-active {
36+
opacity: 1;
37+
}
38+
&.ng-leave {
39+
transition: 0.3s linear all;
40+
opacity: 1;
41+
}
42+
&.ng-leave.ng-leave-active {
43+
opacity: 0;
44+
}
45+
}
46+
1847
.list__image {
1948
width: 75px;
2049
min-width: 75px;

0 commit comments

Comments
 (0)