From 18de3b8ca4e5baec246557848204b100c8e3850a Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" <23040076+greenkeeper[bot]@users.noreply.github.com> Date: Thu, 9 Jan 2020 01:15:39 +0000 Subject: [PATCH 01/25] fix(package): update leaflet.locatecontrol to version 0.70.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d417843b18..52e3622f97 100644 --- a/package.json +++ b/package.json @@ -117,7 +117,7 @@ "checklist-model": "~0.11.0", "d3": "^3.5.17", "leaflet": "~1.0.1", - "leaflet.locatecontrol": "^0.62.0", + "leaflet.locatecontrol": "^0.70.0", "leaflet.markercluster": "1.0.5", "libphonenumber-js": "^1.0.24", "moment": "2.19.3", From aa9dcc0566298881eda3aa25d4aa415f60020296 Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" <23040076+greenkeeper[bot]@users.noreply.github.com> Date: Fri, 7 Feb 2020 15:03:44 +0000 Subject: [PATCH 02/25] chore(package): update svg-url-loader to version 4.0.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e7a6b12458..4df7e05286 100644 --- a/package.json +++ b/package.json @@ -85,7 +85,7 @@ "sass-loader": "^8.0.0", "style-loader": "^1.1.2", "supports-color": "^3.1.2", - "svg-url-loader": "^3.0.3", + "svg-url-loader": "^4.0.0", "transifex": "^1.6.6", "uglifyjs-webpack-plugin": "^2.2.0", "url-loader": "^3.0.0", From 45f10e39c7379e35f852527f5485e754772742d4 Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" <23040076+greenkeeper[bot]@users.noreply.github.com> Date: Tue, 11 Feb 2020 00:41:59 +0000 Subject: [PATCH 03/25] chore(package): update karma-jasmine to version 3.1.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e7a6b12458..3c3634478b 100644 --- a/package.json +++ b/package.json @@ -64,7 +64,7 @@ "karma-coverage": "^2.0.1", "karma-firefox-launcher": "^1.2.0", "karma-fixture": "^0.2.6", - "karma-jasmine": "^2.0.1", + "karma-jasmine": "^3.1.1", "karma-json-fixtures-preprocessor": "0.0.6", "karma-notify-reporter": "^1.2.0", "karma-phantomjs-launcher": "^1.0.4", From dbecbb629732c36b221b7128ff816a78c39a3eeb Mon Sep 17 00:00:00 2001 From: rohit645 Date: Wed, 19 Feb 2020 22:46:04 +0530 Subject: [PATCH 04/25] Reset Zoom feature added --- app/app.js | 1 + app/common/services/maps.js | 54 ++++++++++++++++--- app/index.html | 1 + app/main/posts/detail/map.html | 11 ++++ .../posts/views/post-view-map.directive.js | 2 +- app/main/posts/views/post-view-map.html | 2 +- app/settings/site/map.directive.js | 1 + package.json | 1 + 8 files changed, 65 insertions(+), 8 deletions(-) diff --git a/app/app.js b/app/app.js index 5ab83d0c84..70a5093421 100644 --- a/app/app.js +++ b/app/app.js @@ -138,6 +138,7 @@ angular.module('app', // Load leaflet plugins here too require('imports-loader?L=leaflet!leaflet.markercluster'); require('imports-loader?L=leaflet!leaflet.locatecontrol/src/L.Control.Locate'); + require('imports-loader?L=leaflet!leaflet-easybutton'); return L; }) .factory('moment', function () { diff --git a/app/common/services/maps.js b/app/common/services/maps.js index b3acbf54cc..1ff3d16e4b 100644 --- a/app/common/services/maps.js +++ b/app/common/services/maps.js @@ -39,13 +39,15 @@ function Maps(ConfigEndpoint, L, _, CONST) { pointToLayer: pointToLayer, getConfig: getConfig, getLayer: getLayer, - pointIcon: pointIcon + pointIcon: pointIcon, + setDefaultView: setDefaultView, + defaultConfig: defaultConfig }; function createMap(element) { return getLeafletConfig().then(function (config) { var map = L.map(element, config); - + map.attributionControl.setPrefix(false); map.zoomControl.setPosition('bottomleft'); map.setMaxBounds([[-90,-360],[90,360]]); @@ -58,11 +60,40 @@ function Maps(ConfigEndpoint, L, _, CONST) { // Add a layer control // L.control.layers(getBaseLayersForControl(), {}).addTo(map); + + // easyButton is the leaflet plugin to reset the map-view + // var resetButton = L.easyButton( ' ', function(){ + // var defaultview = defaultValues(); + // map.setView([defaultview.lat, defaultview.lon], defaultview.zoom); + // }); + var resetButton = L.easyButton({ + id: "reset-button", + position: "topright", + type: 'replace', + leafletClasses: true, + states:[{ + // specify different icons and responses for your button + stateName: 'reset-button', + onClick: function(){ + var defaultview = defaultValues(); + map.setView([defaultview.lat, defaultview.lon], defaultview.zoom); + }, + title: 'Reset to default view', + icon: '', + }] + }); + + resetButton.addTo(map); return map; }); } + function setDefaultView() { + var defaultview = defaultConfig(); + map.setview(defaultview.center, defaultview.zoom); + } + function getLeafletConfig() { return getConfig().then(function (config) { var defaultLayer = layers.baselayers[config.default_view.baselayer]; @@ -112,26 +143,27 @@ function Maps(ConfigEndpoint, L, _, CONST) { function defaultConfig() { return { - scrollWheelZoom: false, + scrollWheelZoom: true, center: [-1.2833, 36.8167], // Default to centered on Nairobi - zoom: 8, + zoom: 3, layers: [L.tileLayer(layers.baselayers.streets.url, layers.baselayers.streets.layerOptions)] }; } + function pointToLayer(feature, latlng) { return L.marker(latlng, { icon: pointIcon(feature.properties['marker-color']) }); } - + // Icon configuration function pointIcon(color, size, className) { // Test string to make sure that it does not contain injection color = (color && /^[a-zA-Z0-9#]+$/.test(color)) ? color : '#959595'; size = size || [32, 32]; var iconicSprite = require('ushahidi-platform-pattern-library/assets/img/iconic-sprite.svg'); - + return L.divIcon({ className: 'custom-map-marker ' + className, html: '', @@ -140,4 +172,14 @@ function Maps(ConfigEndpoint, L, _, CONST) { popupAnchor: [0, 0 - size[1]] }); } + + // default view is centered on nairobi + function defaultValues(config) { + return { + lat: -1.2833, + lon: 36.8167, + zoom: 2 + } + } + } diff --git a/app/index.html b/app/index.html index 5af85ee977..a15e748bff 100644 --- a/app/index.html +++ b/app/index.html @@ -14,6 +14,7 @@ + diff --git a/app/main/posts/detail/map.html b/app/main/posts/detail/map.html index 288a910757..78c1c1232c 100644 --- a/app/main/posts/detail/map.html +++ b/app/main/posts/detail/map.html @@ -1,3 +1,14 @@ + + + + + +

post.location

diff --git a/app/main/posts/views/post-view-map.directive.js b/app/main/posts/views/post-view-map.directive.js index 9a8e7e8c0a..96c0d2f544 100644 --- a/app/main/posts/views/post-view-map.directive.js +++ b/app/main/posts/views/post-view-map.directive.js @@ -73,7 +73,7 @@ function PostViewMap(PostEndpoint, Maps, _, PostFilters, L, $q, $rootScope, $com } }); - } + } function clearData() { if (geoJsonLayers.length > 0) { diff --git a/app/main/posts/views/post-view-map.html b/app/main/posts/views/post-view-map.html index f1f654b56c..3f9899b554 100644 --- a/app/main/posts/views/post-view-map.html +++ b/app/main/posts/views/post-view-map.html @@ -3,7 +3,7 @@
-
+
diff --git a/app/settings/site/map.directive.js b/app/settings/site/map.directive.js index 10bd74c4c5..f7a6b2f9a5 100644 --- a/app/settings/site/map.directive.js +++ b/app/settings/site/map.directive.js @@ -32,6 +32,7 @@ function ( $scope.updateMapPreviewLayer = updateMapPreviewLayer; $scope.current_precision = 9; $scope.locationPrecisionEnabled = false; + $scope.handleClick = handleClick; activate(); diff --git a/package.json b/package.json index e7a6b12458..8e6beb844e 100644 --- a/package.json +++ b/package.json @@ -113,6 +113,7 @@ "checklist-model": "~0.11.0", "d3": "^3.5.17", "leaflet": "~1.0.1", + "leaflet-easybutton": "^2.4.0", "leaflet.locatecontrol": "^0.62.0", "leaflet.markercluster": "1.0.5", "libphonenumber-js": "^1.0.24", From 867e0ef26c00f99d6e163fed0418bbfd49804cab Mon Sep 17 00:00:00 2001 From: rohit645 Date: Wed, 19 Feb 2020 22:46:49 +0530 Subject: [PATCH 05/25] fixed eslint warnings --- app/common/services/maps.js | 25 ++++++------------- .../posts/views/post-view-map.directive.js | 2 +- 2 files changed, 9 insertions(+), 18 deletions(-) diff --git a/app/common/services/maps.js b/app/common/services/maps.js index 1ff3d16e4b..10ba4a4b57 100644 --- a/app/common/services/maps.js +++ b/app/common/services/maps.js @@ -47,7 +47,6 @@ function Maps(ConfigEndpoint, L, _, CONST) { function createMap(element) { return getLeafletConfig().then(function (config) { var map = L.map(element, config); - map.attributionControl.setPrefix(false); map.zoomControl.setPosition('bottomleft'); map.setMaxBounds([[-90,-360],[90,360]]); @@ -60,27 +59,21 @@ function Maps(ConfigEndpoint, L, _, CONST) { // Add a layer control // L.control.layers(getBaseLayersForControl(), {}).addTo(map); - - // easyButton is the leaflet plugin to reset the map-view - // var resetButton = L.easyButton( ' ', function(){ - // var defaultview = defaultValues(); - // map.setView([defaultview.lat, defaultview.lon], defaultview.zoom); - // }); var resetButton = L.easyButton({ - id: "reset-button", - position: "topright", - type: 'replace', + id: 'reset-button', + position: 'topright', + type: 'replace', leafletClasses: true, - states:[{ + states:[{ // specify different icons and responses for your button stateName: 'reset-button', - onClick: function(){ + onClick: function() { var defaultview = defaultValues(); map.setView([defaultview.lat, defaultview.lon], defaultview.zoom); }, title: 'Reset to default view', - icon: '', - }] + icon: '' + }] }); resetButton.addTo(map); @@ -150,20 +143,18 @@ function Maps(ConfigEndpoint, L, _, CONST) { }; } - function pointToLayer(feature, latlng) { return L.marker(latlng, { icon: pointIcon(feature.properties['marker-color']) }); } - // Icon configuration function pointIcon(color, size, className) { // Test string to make sure that it does not contain injection color = (color && /^[a-zA-Z0-9#]+$/.test(color)) ? color : '#959595'; size = size || [32, 32]; var iconicSprite = require('ushahidi-platform-pattern-library/assets/img/iconic-sprite.svg'); - + return L.divIcon({ className: 'custom-map-marker ' + className, html: '', diff --git a/app/main/posts/views/post-view-map.directive.js b/app/main/posts/views/post-view-map.directive.js index 96c0d2f544..9a8e7e8c0a 100644 --- a/app/main/posts/views/post-view-map.directive.js +++ b/app/main/posts/views/post-view-map.directive.js @@ -73,7 +73,7 @@ function PostViewMap(PostEndpoint, Maps, _, PostFilters, L, $q, $rootScope, $com } }); - } + } function clearData() { if (geoJsonLayers.length > 0) { From 3197a54ce55a7c782770ae20f572585a93303d13 Mon Sep 17 00:00:00 2001 From: rohit645 Date: Wed, 19 Feb 2020 23:30:42 +0530 Subject: [PATCH 06/25] Postioning and styling of Reset-Button --- app/common/services/maps.js | 2 +- sass/overrides/_leaflet.scss | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/app/common/services/maps.js b/app/common/services/maps.js index 10ba4a4b57..0336d8b34c 100644 --- a/app/common/services/maps.js +++ b/app/common/services/maps.js @@ -61,7 +61,7 @@ function Maps(ConfigEndpoint, L, _, CONST) { // L.control.layers(getBaseLayersForControl(), {}).addTo(map); var resetButton = L.easyButton({ id: 'reset-button', - position: 'topright', + position: 'bottomleft', type: 'replace', leafletClasses: true, states:[{ diff --git a/sass/overrides/_leaflet.scss b/sass/overrides/_leaflet.scss index 5d6144a5f3..bf0df8cd79 100644 --- a/sass/overrides/_leaflet.scss +++ b/sass/overrides/_leaflet.scss @@ -65,3 +65,10 @@ input.leaflet-control-layers-selector { .leaflet-map-pane svg.iconic { position: initial; } + +// Override styles for reset button +#reset-button { + color: black; + background-color: white; + padding: 8px 8px; +} From 57149f01786cf80d8fb0e49c4dcb1ff17a93ec0b Mon Sep 17 00:00:00 2001 From: rohit645 Date: Mon, 24 Feb 2020 21:32:29 +0530 Subject: [PATCH 07/25] Used config variable for default leaflet configuration --- app/common/services/maps.js | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/app/common/services/maps.js b/app/common/services/maps.js index 0336d8b34c..bac6e40da3 100644 --- a/app/common/services/maps.js +++ b/app/common/services/maps.js @@ -40,7 +40,6 @@ function Maps(ConfigEndpoint, L, _, CONST) { getConfig: getConfig, getLayer: getLayer, pointIcon: pointIcon, - setDefaultView: setDefaultView, defaultConfig: defaultConfig }; @@ -68,7 +67,7 @@ function Maps(ConfigEndpoint, L, _, CONST) { // specify different icons and responses for your button stateName: 'reset-button', onClick: function() { - var defaultview = defaultValues(); + var defaultview = defaultValues(config); map.setView([defaultview.lat, defaultview.lon], defaultview.zoom); }, title: 'Reset to default view', @@ -82,11 +81,6 @@ function Maps(ConfigEndpoint, L, _, CONST) { }); } - function setDefaultView() { - var defaultview = defaultConfig(); - map.setview(defaultview.center, defaultview.zoom); - } - function getLeafletConfig() { return getConfig().then(function (config) { var defaultLayer = layers.baselayers[config.default_view.baselayer]; @@ -167,9 +161,9 @@ function Maps(ConfigEndpoint, L, _, CONST) { // default view is centered on nairobi function defaultValues(config) { return { - lat: -1.2833, - lon: 36.8167, - zoom: 2 + lat: config.center[0], + lon: config.center[1], + zoom: config.zoom } } From 956707b33d7059534622c7da2cd0ef5d06b85a9c Mon Sep 17 00:00:00 2001 From: rohit645 Date: Mon, 24 Feb 2020 21:34:35 +0530 Subject: [PATCH 08/25] fixed shadow outline in post-edit view --- sass/overrides/_leaflet.scss | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sass/overrides/_leaflet.scss b/sass/overrides/_leaflet.scss index bf0df8cd79..aecbd89375 100644 --- a/sass/overrides/_leaflet.scss +++ b/sass/overrides/_leaflet.scss @@ -71,4 +71,6 @@ input.leaflet-control-layers-selector { color: black; background-color: white; padding: 8px 8px; + margin-right: 0px; + margin-bottom: 0px; } From fd84792745adc26199dc4625f44fb9f8ca9e0e84 Mon Sep 17 00:00:00 2001 From: rohit645 Date: Wed, 26 Feb 2020 21:37:32 +0530 Subject: [PATCH 09/25] Used platform library to create Home icon --- app/common/services/maps.js | 3 ++- app/index.html | 3 +-- app/main/posts/detail/map.html | 10 ---------- sass/overrides/_leaflet.scss | 3 ++- 4 files changed, 5 insertions(+), 14 deletions(-) diff --git a/app/common/services/maps.js b/app/common/services/maps.js index bac6e40da3..2fb751abca 100644 --- a/app/common/services/maps.js +++ b/app/common/services/maps.js @@ -58,6 +58,7 @@ function Maps(ConfigEndpoint, L, _, CONST) { // Add a layer control // L.control.layers(getBaseLayersForControl(), {}).addTo(map); + var iconicSprite = require('ushahidi-platform-pattern-library/assets/img/iconic-sprite.svg'); var resetButton = L.easyButton({ id: 'reset-button', position: 'bottomleft', @@ -71,7 +72,7 @@ function Maps(ConfigEndpoint, L, _, CONST) { map.setView([defaultview.lat, defaultview.lon], defaultview.zoom); }, title: 'Reset to default view', - icon: '' + icon: '' }] }); diff --git a/app/index.html b/app/index.html index a15e748bff..9ccefe4494 100644 --- a/app/index.html +++ b/app/index.html @@ -14,8 +14,7 @@ - - + diff --git a/app/main/posts/detail/map.html b/app/main/posts/detail/map.html index 78c1c1232c..29d3a92e7f 100644 --- a/app/main/posts/detail/map.html +++ b/app/main/posts/detail/map.html @@ -1,13 +1,3 @@ - - - - -

post.location

diff --git a/sass/overrides/_leaflet.scss b/sass/overrides/_leaflet.scss index aecbd89375..3b67c79f51 100644 --- a/sass/overrides/_leaflet.scss +++ b/sass/overrides/_leaflet.scss @@ -68,8 +68,9 @@ input.leaflet-control-layers-selector { // Override styles for reset button #reset-button { - color: black; background-color: white; + height: 30px; + width: 30px; padding: 8px 8px; margin-right: 0px; margin-bottom: 0px; From f73dd1970173f5d2ffbcaa6f5ea549834c78f2e3 Mon Sep 17 00:00:00 2001 From: rohit645 Date: Wed, 26 Feb 2020 21:38:45 +0530 Subject: [PATCH 10/25] Upgraded leaflet to stable version --- app/main/posts/modify/post-data-editor.directive.js | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/main/posts/modify/post-data-editor.directive.js b/app/main/posts/modify/post-data-editor.directive.js index 975f9ddb9a..6466bcaa8c 100644 --- a/app/main/posts/modify/post-data-editor.directive.js +++ b/app/main/posts/modify/post-data-editor.directive.js @@ -407,7 +407,7 @@ function PostDataEditorController( }); }); } - + function cancel() { $state.go('posts.data.detail',{postId: $scope.post.id}); } diff --git a/package.json b/package.json index 8e6beb844e..59d3dc2aec 100644 --- a/package.json +++ b/package.json @@ -112,7 +112,7 @@ "angular-ui-bootstrap": "^2.5.0", "checklist-model": "~0.11.0", "d3": "^3.5.17", - "leaflet": "~1.0.1", + "leaflet": "^1.6.0", "leaflet-easybutton": "^2.4.0", "leaflet.locatecontrol": "^0.62.0", "leaflet.markercluster": "1.0.5", From 44f8bae44fd1a700c159627c8c197ec967114a5a Mon Sep 17 00:00:00 2001 From: rohit645 Date: Wed, 26 Feb 2020 23:09:49 +0530 Subject: [PATCH 11/25] width of Reset Button --- sass/overrides/_leaflet.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sass/overrides/_leaflet.scss b/sass/overrides/_leaflet.scss index 3b67c79f51..2a8bde7d96 100644 --- a/sass/overrides/_leaflet.scss +++ b/sass/overrides/_leaflet.scss @@ -70,7 +70,7 @@ input.leaflet-control-layers-selector { #reset-button { background-color: white; height: 30px; - width: 30px; + width: 27px; padding: 8px 8px; margin-right: 0px; margin-bottom: 0px; From 54dcc4b6930ddfd86fb3e3c6f8b59a32788c3a73 Mon Sep 17 00:00:00 2001 From: rohit645 Date: Thu, 27 Feb 2020 10:17:12 +0530 Subject: [PATCH 12/25] Fixed Bug --- app/main/posts/views/post-view-map.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/main/posts/views/post-view-map.html b/app/main/posts/views/post-view-map.html index 3f9899b554..f1f654b56c 100644 --- a/app/main/posts/views/post-view-map.html +++ b/app/main/posts/views/post-view-map.html @@ -3,7 +3,7 @@
-
+
From f35eca436ea09bbc2c96b440c5dccd61a84b83ae Mon Sep 17 00:00:00 2001 From: Anna Date: Thu, 5 Mar 2020 10:58:38 +0100 Subject: [PATCH 13/25] disabling esModules from svg-url-loader that broke the svgs --- webpack.config.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/webpack.config.js b/webpack.config.js index 27686aa281..c0c5e04a53 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -63,7 +63,10 @@ module.exports = { }, { test: /\.svg/, - use: 'svg-url-loader?limit=1' + use: { + loader: 'svg-url-loader?limit=1', + options: {esModule: false } + } }, { test: /\.woff/, From 1957e20608d85af9236991215a7fd899aa591973 Mon Sep 17 00:00:00 2001 From: rohit645 Date: Thu, 5 Mar 2020 17:43:32 +0530 Subject: [PATCH 14/25] fixed total no of posts not updating on deleting a post --- app/main/posts/common/post-actions.directive.js | 5 +++-- app/main/posts/views/post-view-data.directive.js | 7 +++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/main/posts/common/post-actions.directive.js b/app/main/posts/common/post-actions.directive.js index b01baee8ba..f7c938066c 100644 --- a/app/main/posts/common/post-actions.directive.js +++ b/app/main/posts/common/post-actions.directive.js @@ -40,7 +40,8 @@ function PostActionsDirective( function activate() { $scope.statuses = PostActionsService.getStatuses(); } - + + // Called when a single data item is deleted. function deletePost() { PostActionsService.delete($scope.post).then(function () { $rootScope.$broadcast('event:edit:post:status:data:mode:saveSuccess', {post: $scope.post, deleted: true}); @@ -52,7 +53,7 @@ function PostActionsDirective( // only map needs to reload $state.reload(); } - + }); } diff --git a/app/main/posts/views/post-view-data.directive.js b/app/main/posts/views/post-view-data.directive.js index e0db7a0ad7..a4e8efca2e 100644 --- a/app/main/posts/views/post-view-data.directive.js +++ b/app/main/posts/views/post-view-data.directive.js @@ -181,7 +181,7 @@ function PostViewDataController( ); $scope.$on('event:edit:leave:form:complete', function () { - // Bercause there is no state management + // Because there is no state management // We copy the next Post to be the current Post // if the previous Post exited correctly // Ideally Post Card would become a service more akin @@ -255,9 +255,11 @@ function PostViewDataController( function removePostFromList(postObj) { $scope.posts.forEach((post, index) => { // args.post is the post being updated/saved and sent from the broadcast + // since a single post is being deleted here, reduce count of totalitems by 1. if (post.id === postObj.id) { let nextInLine = $scope.posts[index + 1]; $scope.posts.splice(index, 1); + $scope.totalItems = $scope.totalItems - 1; if ($scope.posts.length) { groupPosts($scope.posts); if ($scope.selectedPost.post) { @@ -329,7 +331,7 @@ function PostViewDataController( PostEndpoint.query(postQuery).$promise.then(function (postsResponse) { //Clear posts clearPosts ? resetPosts() : null; - + // If we're loading posts for the first time and we have a selected post (post detail view) // check to see that the selected post isn't in the list // and then deselect it and select the first item @@ -360,6 +362,7 @@ function PostViewDataController( }); } + // this function is called when multiple data items are deleted function deletePosts() { Notify.confirmDelete('notify.post.bulk_destroy_confirm', { count: $scope.selectedPosts.length }).then(function () { // ask server to delete selected posts From 409f65c261ede4f7b73b722ddec1097f89c934d8 Mon Sep 17 00:00:00 2001 From: himil-vasava Date: Mon, 9 Mar 2020 22:58:13 +0530 Subject: [PATCH 15/25] Delete confirmation during sumitting response to a survey --- app/main/posts/modify/post-editor.html | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/app/main/posts/modify/post-editor.html b/app/main/posts/modify/post-editor.html index d0fb513e13..e34ac8e77a 100644 --- a/app/main/posts/modify/post-editor.html +++ b/app/main/posts/modify/post-editor.html @@ -102,23 +102,6 @@

{{post.form.name}}

--> -
-
-

Delete this post

-
- -
-

If you delete this post, all of its comments and messages will also be deleted. Proceed with caution.

- - -
-
-
From 7daea0c2ce7ba8022e1d606d9651038e7d7045f3 Mon Sep 17 00:00:00 2001 From: Artur Neumann Date: Tue, 10 Mar 2020 09:11:33 +0545 Subject: [PATCH 16/25] fix: lint --- app/main/posts/modify/post-data-editor.directive.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/main/posts/modify/post-data-editor.directive.js b/app/main/posts/modify/post-data-editor.directive.js index 975f9ddb9a..6466bcaa8c 100644 --- a/app/main/posts/modify/post-data-editor.directive.js +++ b/app/main/posts/modify/post-data-editor.directive.js @@ -407,7 +407,7 @@ function PostDataEditorController( }); }); } - + function cancel() { $state.go('posts.data.detail',{postId: $scope.post.id}); } From 552f742200a1767ecdf7362fb6ddc8ff4c71bf3c Mon Sep 17 00:00:00 2001 From: rohit645 Date: Tue, 10 Mar 2020 21:16:26 +0530 Subject: [PATCH 17/25] extra spaces removed --- app/main/posts/common/post-actions.directive.js | 3 +-- app/main/posts/views/post-view-data.directive.js | 1 - 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/app/main/posts/common/post-actions.directive.js b/app/main/posts/common/post-actions.directive.js index f7c938066c..60e058c7c4 100644 --- a/app/main/posts/common/post-actions.directive.js +++ b/app/main/posts/common/post-actions.directive.js @@ -40,7 +40,7 @@ function PostActionsDirective( function activate() { $scope.statuses = PostActionsService.getStatuses(); } - + // Called when a single data item is deleted. function deletePost() { PostActionsService.delete($scope.post).then(function () { @@ -53,7 +53,6 @@ function PostActionsDirective( // only map needs to reload $state.reload(); } - }); } diff --git a/app/main/posts/views/post-view-data.directive.js b/app/main/posts/views/post-view-data.directive.js index a4e8efca2e..91f1ec0558 100644 --- a/app/main/posts/views/post-view-data.directive.js +++ b/app/main/posts/views/post-view-data.directive.js @@ -331,7 +331,6 @@ function PostViewDataController( PostEndpoint.query(postQuery).$promise.then(function (postsResponse) { //Clear posts clearPosts ? resetPosts() : null; - // If we're loading posts for the first time and we have a selected post (post detail view) // check to see that the selected post isn't in the list // and then deselect it and select the first item From 13c386d6a284193b1465d466fd50004547fec00c Mon Sep 17 00:00:00 2001 From: Anna Date: Wed, 11 Mar 2020 12:09:24 +0100 Subject: [PATCH 18/25] revamp of plans-table --- app/settings/plans/plans.controller.js | 1 + 1 file changed, 1 insertion(+) diff --git a/app/settings/plans/plans.controller.js b/app/settings/plans/plans.controller.js index 79c901a7d6..c5a9987266 100644 --- a/app/settings/plans/plans.controller.js +++ b/app/settings/plans/plans.controller.js @@ -36,6 +36,7 @@ function ( } }; $rootScope.setLayout('layout-c'); + window.scrollTo(0, 0); $scope.switchTab = switchTab; $scope.activeTab = 'demo'; $translate('nav.plan_settings').then(function (title) { From e163ab5883b091cab4d0dba0980b3f88abbef03b Mon Sep 17 00:00:00 2001 From: Anna Date: Wed, 18 Mar 2020 09:17:12 +0100 Subject: [PATCH 19/25] bringing back svg-url-loader to 3.0.3 --- package.json | 2 +- webpack.config.js | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 2d9c561496..d63f30352e 100644 --- a/package.json +++ b/package.json @@ -85,7 +85,7 @@ "sass-loader": "^8.0.0", "style-loader": "^1.1.2", "supports-color": "^3.1.2", - "svg-url-loader": "^4.0.0", + "svg-url-loader": "^3.0.3", "transifex": "^1.6.6", "uglifyjs-webpack-plugin": "^2.2.0", "url-loader": "^3.0.0", diff --git a/webpack.config.js b/webpack.config.js index c0c5e04a53..035edcc03f 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -64,8 +64,7 @@ module.exports = { { test: /\.svg/, use: { - loader: 'svg-url-loader?limit=1', - options: {esModule: false } + loader: 'svg-url-loader?limit=1' } }, { From 8ab22478278c6c6421ee3396f2e6cafb06a87734 Mon Sep 17 00:00:00 2001 From: Anna Date: Wed, 18 Mar 2020 10:28:49 +0100 Subject: [PATCH 20/25] removing demo and multiple-enterprise --- app/settings/plans/plan.html | 893 ++--------------------------------- 1 file changed, 39 insertions(+), 854 deletions(-) diff --git a/app/settings/plans/plan.html b/app/settings/plans/plan.html index 4f0d8d8826..d767f3804a 100644 --- a/app/settings/plans/plan.html +++ b/app/settings/plans/plan.html @@ -18,18 +18,18 @@

app.plans

- +
+
+
+

We are revamping our pricing plans.

+

In the meantime, you can take advantage of a limited time discount of 90% off Ushahidi Basic for new subscriptions

+ *COVID19 Update: For the next 90 days, we will be waiving the fee for our basic plan, and offering it at $0. +
+
-
+
Self Service -
-

Ushahidi Demo

-

limited use - 1 month

-

Test out the Ushahidi crowdsourcing and situation awareness platform.

- Free - ✓ Subscribed - Sign up -
- -
-
-
-

Free Software, Hosting, and Maintenance

-
- -
-

Embeddable web form, email, SMSsync, data collection online/offline iOS and Android App. Map and Timeline data visualization
Roles/Permissions. Email, SMS, Twitter. Private Deployments. Analytics Visualization Page. Import/Export Data.

- Find out more about data collection -
- -
-

1 Deployment

- What’s a deployment? -
- -
-

25 admins and/or custom roles

- What’s an admin? -
- -
-

25 posts maximum

- What’s a post? -
- -
-

Deployments appear in Ushahidi iOS/Android App

- Learn more about our app -
- -
-

Crowdsourced surveys

- What’s a crowdsourced survey? -
- -
-

No targeted surveys

- What’s a targeted survey? -
+
+

Ushahidi Basic

+

Collect, monitor, analyze, and respond to real time incidents and engage with stakeholders.

- -
-

One-time Support Services not available for demo

+
+ $0/mo + for the next 90 days, then $49.9/mo.
- -
-

On-going support services not available for demo

-
- -
-

Custom feature development not available for demo

-
-
-
- -
- Self Service -
-

Ushahidi Basic

- -

Collect, monitor, analyze, and respond to real time incidents and engage with stakeholders.

- $499 /mo ✓ Subscribed Sign up
- -
-
-
-

$499/month for Software, Hosting, and Maintenance

-
- -
-

Embeddable web form, email, SMSsync, data collection online/offline iOS and Android App. Map and Timeline data visualization
Roles/Permissions. Email, SMS, Twitter. Private Deployments. Analytics Visualization Page. Import/Export Data.

- Find out more about data collection -
- -
-

1 Deployment

- What’s a deployment? -
- -
-

25 admins and/or custom roles

- What’s an admin? -
- -
-

Unlimited posts

- What’s a post? -
- -
-

Deployments appear in Ushahidi iOS/Android App

- Learn more about our app -
- -
-

Crowdsourced surveys

- What’s a crowdsourced survey? -
- -
-

No targeted surveys

- What’s a targeted survey? -
-
- -
-

One-time Support Services not available for basic

-
- -
-

On-going support services not available for basic

-
- -
-

Custom feature development not available for basic

-
-
-
- -
- Enterprise -
-

Ushahidi Enterprise: Single Deployment

-

Ushahidi platform capabilities, technical expertise, ongoing support, and customizations.

- -

Contact us about Enterprise Services for your organization

- -
- -
- -
- - -
- -
- - -
- -
- - -
- -
- - -
- -
- -
- -
- - - -
-
-
-
- Base Pricing -

(1 Deployment)

-

- Set-up -
- $15,000+ -

- 1 Remote Training -
- $1,500+ -

- Software, Hosting & Maintenance -
- $999+/month -

- Ongoing Technical Support -
- $1500+/month -

-

*pricing modified based upon circumstances and customizations

-

-
-
- -
-
-
-

$999+/month for Software, Hosting, and Maintenance

-

*subject to increase with customizations

-
- -
-

All of Ushahidi Basic + 25 admins. SMS targeted surveys. Automated sorting capabilities.

- Find out more about data collection -
- -
-

1 Deployment

- What’s a deployment? -
- -
-

25 admins and/or custom roles

- What’s an admin? -
- -
-

Unlimited posts

- What’s a post? -
- -
-

Deployments appear in Ushahidi iOS/Android App

- Learn more about our app -
- -
-

Crowdsourced surveys

- What’s a crowdsourced survey? -
- -
-

Access to targeted surveys and the ability to gather and upload contacts and send multi-question SMS surveys. Contact for pricing based on country location and survey sizes

- What’s a targeted survey? -
-
- -
-

One-time Support Services

- Find out more about one-time services -
- -
-

On-going support services

- Find out more about on-going services -
- -
-

Custom feature development

-

*contact for scoping and pricing

- Find out more about custom feature development -
- -
-

Collaborative Discovery Session

-

*contact for pricing

-
- -
-

- Platform set-up -
- $15,000+ -

-

*required for base Enterprise Partnership

-
- -
-

Survey configuration - Contact for pricing

-
- -
-

- Training of project administrators -
- $1500+ -

-

*required for base Enterprise Partnership

-
- -
-

Training of trainers, Training of monitors or field staff, Stakeholder Engagement Toolkit, White Labeling, Translation

-

*contact for pricing

-
- -
-

- Ongoing technical support account manager -
- $1500+/month -

-

*required for base Enterprise Partnership

-
- -
-

Long-term embedded Ushahidi platform administrator(s)

-

*contact for pricing

-
- -
-

Long-term embedded Ushahidi platform community engagement officer(s)

-

*contact for pricing

-
-
-
- -
- Enterprise -
-

Ushahidi Enterprise: Multiple Deployments

-

Ushahidi platform capabilities, technical expertise, ongoing support, and customizations.

-

Integrate Ushahidi across your organization or project activities by using multiple Ushahidi platform deployments.

-

Contact us about Enterprise Services for your organization

- -
- -
- -
- - -
- -
- - -
- -
- - -
- -
- - -
- -
- -
- -
- - - -
-
- -
-
- Base Pricing -

(5 Deployments)

-

*contact us for pricing for 10, 25, or custom deployment packages

-

- Set-up -
- $50,000+ -

- 5 Remote Trainings -
- $6,000+ -

- Software, Hosting & Maintenance -
- $2000+/month -

- Ongoing Technical Support -
- $3,000+/month -

-

*pricing modified based upon circumstances and customizations

-

-
-
- -
-
-
-

$2000+/month for Software, Hosting, and Maintenance

-

*subject to increase with customizations

-
- -
-

All of Ushahidi Basic + Unlimited admins. SMS targeted surveys. Automated sorting capabilities.

- Find out more about data collection -
- -
-

5 Deployments

-

*contact us for pricing for 10, 25, or custom deployment packages

- What’s a deployment? -
- -
-

Unlimited admins

- What’s an admin? -
- -
-

Unlimited posts

- What’s a post? -
- -
-

Deployments appear in Ushahidi iOS/Android App

- Learn more about our app -
- -
-

Crowdsourced surveys

- What’s a crowdsourced survey? -
- -
-

Access to targeted surveys and the ability to gather and upload contacts and send multi-question SMS surveys. Contact for pricing based on country location and survey sizes

- What’s a targeted survey? -
-
- -
-

One-time Support Services

- Find out more about one-time services -
- -
-

On-going support services

- Find out more about on-going services -
- -
-

Custom feature development

-

*contact for scoping and pricing

- Find out more about custom feature development -
- -
-

Collaborative Discovery Session

-

*contact for pricing

-
- -
-

- Platform set-up -
- $50,000+ -

-

*required for base Enterprise Partnership

-
- -
-

Survey configuration - Contact for pricing

-
- -
-

- Training of project administrators -
- $7500+ -

-

*required for base Enterprise Partnership

-
- -
-

Training of trainers, Training of monitors or field staff, Stakeholder Engagement Toolkit, White Labeling, Translation

-

*contact for pricing

-
- -
-

- Ongoing technical support account manager -
- $3000+/month -

-

*required for base Enterprise Partnership

-
- -
-

Long-term embedded Ushahidi platform administrator(s)

-

*contact for pricing

-
- -
-

Long-term embedded Ushahidi platform community engagement officer(s)

-

*contact for pricing

-
-
-
-
- -
- -
Platform Technology
- -
-
-
-

Free Software, Hosting, and Maintenance

-
- -
-

Embeddable web form, email, SMSsync, data collection online/offline iOS and Android App. Map and Timeline data visualization
Roles/Permissions. Email, SMS, Twitter. Private Deployments. Analytics Visualization Page. Import/Export Data.

- Find out more about data collection -
-

1 Deployment

- What’s a deployment?

25 admins and/or custom roles

- What’s an admin? -
- -
-

25 posts maximum

- What’s a post? -
- -
-

Deployments appear in Ushahidi iOS/Android App

- Learn more about our app -
- -
-

Crowdsourced surveys

- What’s a crowdsourced survey? -
- -
-

No targeted surveys

- What’s a targeted survey? -
-
-
- -
-
-
-

$499/month for Software, Hosting, and Maintenance

-
- -
-

Embeddable web form, email, SMSsync, data collection online/offline iOS and Android App. Map and Timeline data visualization
Roles/Permissions. Email, SMS, Twitter. Private Deployments. Analytics Visualization Page. Import/Export Data.

- Find out more about data collection -
- -
-

1 Deployment

- What’s a deployment? -
- -
-

25 admins and/or custom roles

- What’s an admin?

Unlimited posts

- What’s a post?
-
-

Deployments appear in Ushahidi iOS/Android App

- Learn more about our app +

Web, Email, SMS, & Twitter data collection

-

Crowdsourced surveys

- What’s a crowdsourced survey? +

Map, timeline, bar chart, & line chart data visualization

-

No targeted surveys

- What’s a targeted survey? +

Import & Export data

-
-
-
-

$999+/month for Software, Hosting, and Maintenance

-

*subject to increase with customizations

-
- -
-

All of Ushahidi Basic + 25 admins. SMS targeted surveys. Automated sorting capabilities.

- Find out more about data collection -
- -
-

1 Deployment

- What’s a deployment? -
- -
-

25 admins and/or custom roles

- What’s an admin? -
- -
-

Unlimited posts

- What’s a post? -
- -
-

Deployments appear in Ushahidi iOS/Android App

- Learn more about our app -
- -
-

Crowdsourced surveys

- What’s a crowdsourced survey? -
- -
-

Access to targeted surveys and the ability to gather and upload contacts and send multi-question SMS surveys. Contact for pricing based on country location and survey sizes

- What’s a targeted survey? +
+ Enterprise +
+
+

Ushahidi Enterprise

+

Ushahidi platform capabilities, technical expertise, ongoing support, and customizations.

+
+

Enterprise plans starts at $5,000.

-
- -
-

$2000+/month for Software, Hosting, and Maintenance

-

*subject to increase with customizations

-
- -
-

All of Ushahidi Basic + Unlimited admins. SMS targeted surveys. Automated sorting capabilities.

- Find out more about data collection -
- -
-

5 Deployments

-

*contact us for pricing for 10, 25, or custom deployment packages

- What’s a deployment? -
- -
-

Unlimited admins

- What’s an admin? -
- -
-

Unlimited posts

- What’s a post? -
- -
-

Deployments appear in Ushahidi iOS/Android App

- Learn more about our app -
- -
-

Crowdsourced surveys

- What’s a crowdsourced survey? -
- -
-

Access to targeted surveys and the ability to gather and upload contacts and send multi-question SMS surveys. Contact for pricing based on country location and survey sizes

- What’s a targeted survey? +

Projects include all Basic features and much more, contact us to find out about the full a catalogue of technical services on offer.

+ Contact us -
Cataloug of Services
- -
One-time Support Services
- -
-
-

One-time Support Services not available for demo

-
- -
-
-

One-time Support Services not available for basic

-
-
- -
-
-

One-time Support Services

- Find out more about one-time services -
- -
-

Collaborative Discovery Session

-

*contact for pricing

-
- -
-

- Platform set-up -
- $15,000+ -

-

*required for base Enterprise Partnership

-
- -
-

Survey configuration - Contact for pricing

-
- -
-

- Training of project administrators -
- $1500+ -

-

*required for base Enterprise Partnership

-
- -
-

Training of trainers, Training of monitors or field staff, Stakeholder Engagement Toolkit, White Labeling, Translation

-

*contact for pricing

-
-
- -
-
-

One-time Support Services

- Find out more about one-time services -
- -
-

Collaborative Discovery Session

-

*contact for pricing

-
- -
-

- Platform set-up -
- $50,000+ -

-

*required for base Enterprise Partnership

-
- -
-

Survey configuration - Contact for pricing

-
- -
-

- Training of project administrators -
- $7500+ -

-

*required for base Enterprise Partnership

-
- -
-

Training of trainers, Training of monitors or field staff, Stakeholder Engagement Toolkit, White Labeling, Translation

-

*contact for pricing

-
-
- -
Ongoing support services
- -
-
-

Ongoing support services not available for demo

-
-
- -
-
-

Ongoing support services not available for demo

-
-
- -
-
-

Ongoing support services

- Find out more about ongoing services -
- -
-

- Ongoing technical support account manager -
- $1500+/month -

-

*required for base Enterprise Partnership

-
- -
-

Long-term embedded Ushahidi platform administrator(s)

-

*contact for pricing

-
- -
-

Long-term embedded Ushahidi platform community engagement officer(s)

-

*contact for pricing

-
-
- -
-
-

Ongoing support services

- Find out more about ongoing services -
- -
-

- Ongoing technical support account manager -
- $3000+/month -

-

*required for base Enterprise Partnership

-
- -
-

Long-term embedded Ushahidi platform administrator(s)

-

*contact for pricing

-
- -
-

Long-term embedded Ushahidi platform community engagement officer(s)

-

*contact for pricing

-
-
- -
Custom feature development
- -
-
-

Custom feature development not available for demo

-
-
- -
-
-

Custom feature development not available for basic

-
-
- -
-
-

Custom feature development

-

*contact for scoping and pricing

- Find out more about custom feature development -
-
- -
-
-

Custom feature development

-

*contact for scoping and pricing

- Find out more about custom feature development -
-
-
-
@@ -932,21 +115,21 @@

Grassroots projects

Apply for a free Basic plan

Small non profits and grassroots organizations that are aligned with Ushahidi's mission and can demonstrate a yearly operating budget of less than $250k USD per year are invited to apply for a free Basic plan.

You can still try out Ushahidi platform by signing up for the free Ushahidi Demo version.

- Continue + Continue

Ushahidi code

Self-host & customize Ushahidi on your own

Ushahidi is an open source product, meaning that all the code that runs it is available for all admins to download and modify. If you'd like to download Ushahidi, customize it, and host it on your own servers, it is available on GitHub.

- Continue + Continue

International Development, Humanitarian, University or Research Organization

On Enterprise a catalogue of technical services is on offer

We can assist with the technical set-up, survey design, a variety of targeted trainings, metrics and analysis, programmatic management, ongoing technical support, and custom feature development. We want you to be able to focus on your project goals and impact and let us stress about the technology.

- Continue + Continue
@@ -954,12 +137,13 @@

Foundation or Potential Funder

We have loads of ideas for how to improve the Ushahidi platform - so let’s talk!

From incorporating machine learning, automation, and new data sources, to making the platform more secure in high-risk situations and reaching last-mile users - we’re constantly working to improve our core services and functionality.

We’re also always seeking core funding for sustainability from organizations who believe in our mission and impact.

- Continue + Continue
+ +
-

Frequently asked questions

@@ -967,8 +151,8 @@

Frequently asked questions

How is Ushahidi funded?

Ushahidi is a nonprofit, open source, software as a service (SaaS) organization, but we operate as a social enterprise. We are both grant funded and revenue generating. -

We build and sell a replicable, scalable, and sustainable software platform called Ushahidi. (And a new emergency management check-in product called TenFour) to both grassroots organizations and international development and humanitarian agencies, but also make the code base to the Ushahidi platform available open source. -

+

We build and sell a replicable, scalable, and sustainable software platform called Ushahidi. (And a new emergency management check-in product called TenFour) to both grassroots organizations and international development and humanitarian agencies, but also make the code base to the Ushahidi platform available open source. +

What is a deployment?

@@ -1037,5 +221,6 @@

What is Custom feature development?

-
+ + From 5589d30331a71c68f12f75fc437bcb5f6953ec8b Mon Sep 17 00:00:00 2001 From: Anna Date: Wed, 18 Mar 2020 10:35:14 +0100 Subject: [PATCH 21/25] pl-version 4.4.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e7a6b12458..f09952d2e7 100644 --- a/package.json +++ b/package.json @@ -127,7 +127,7 @@ "sortablejs": "1.10.0", "tui-editor": "^1.4.7", "underscore": "^1.7.0", - "ushahidi-platform-pattern-library": "^4.2.0" + "ushahidi-platform-pattern-library": "^4.4.1" }, "engines": { "node": ">=10.0" From 76dbd144d5b3c4e8ee7d60284ffd38e7ea0f544e Mon Sep 17 00:00:00 2001 From: Anna Date: Wed, 18 Mar 2020 15:13:38 +0100 Subject: [PATCH 22/25] adding demo and basic to tier-names --- app/settings/settings-list.controller.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/settings/settings-list.controller.js b/app/settings/settings-list.controller.js index 5c7a0f5480..f15edac6c1 100644 --- a/app/settings/settings-list.controller.js +++ b/app/settings/settings-list.controller.js @@ -27,7 +27,9 @@ function ( 'surveyor': 'Surveyor', 'responder': 'Responder', 'free-pre-jun-2016': 'Mapper (Legacy)', - 'zerorated': 'Social Impact' + 'zerorated': 'Social Impact', + 'demo_1' : 'Ushahidi Demo', + 'level_1': 'Ushahidi Basic' }; $scope.dataExportTitle = 'settings.settings_list.export'; $scope.dataExportDescription = 'settings.settings_list.export_desc'; From b154353ffe249f5462c3e9b3e1835a18a89e0ed0 Mon Sep 17 00:00:00 2001 From: Anna Date: Wed, 18 Mar 2020 15:39:06 +0100 Subject: [PATCH 23/25] fixing tabs in plans-table --- app/settings/plans/plan.html | 4 ++-- app/settings/plans/plans.controller.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/settings/plans/plan.html b/app/settings/plans/plan.html index d767f3804a..b1a3bd3974 100644 --- a/app/settings/plans/plan.html +++ b/app/settings/plans/plan.html @@ -30,7 +30,7 @@

We are revamping our pricing plans.

-
+
Self Service
diff --git a/app/settings/plans/plans.controller.js b/app/settings/plans/plans.controller.js index c5a9987266..8007977e14 100644 --- a/app/settings/plans/plans.controller.js +++ b/app/settings/plans/plans.controller.js @@ -38,7 +38,7 @@ function ( $rootScope.setLayout('layout-c'); window.scrollTo(0, 0); $scope.switchTab = switchTab; - $scope.activeTab = 'demo'; + $scope.activeTab = 'basic'; $translate('nav.plan_settings').then(function (title) { $scope.title = title; $rootScope.$emit('setPageTitle', title); From 23c4d97af2a6282e103f16f8faf3b82c482b83de Mon Sep 17 00:00:00 2001 From: Anna Date: Thu, 19 Mar 2020 10:56:13 +0100 Subject: [PATCH 24/25] V4.4.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5482013794..b50e11b85b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ushahidi-platform-client", - "version": "3.10.0", + "version": "4.4.1", "description": "Ushahidi Platform Official Web Client", "main": "gulpfile.js", "repository": { From d18c7aee8a81d5682f49f6426844f351596999d5 Mon Sep 17 00:00:00 2001 From: Romina Suarez Date: Thu, 19 Mar 2020 10:14:15 -0300 Subject: [PATCH 25/25] HDX: fix links to documentation --- app/settings/data-export/data-export.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/settings/data-export/data-export.html b/app/settings/data-export/data-export.html index 41f3a56d0f..5bfff1bc6d 100644 --- a/app/settings/data-export/data-export.html +++ b/app/settings/data-export/data-export.html @@ -35,13 +35,13 @@

{{'data_export.description_hxl' | translate}} - + {{'data_export.hxl_tags' | translate}} , - +