decidim-core 0.28.4 → 0.28.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/cells/decidim/activity_cell.rb +1 -4
- data/app/cells/decidim/author/show.erb +5 -4
- data/app/cells/decidim/author_cell.rb +26 -0
- data/app/cells/decidim/card_s/show.erb +5 -3
- data/app/cells/decidim/diff_cell.rb +4 -0
- data/app/cells/decidim/newsletter_templates/image_text_cta_cell.rb +1 -1
- data/app/cells/decidim/participatory_space_dropdown_metadata/show.erb +5 -3
- data/app/cells/decidim/resource_types_filter/show.erb +1 -1
- data/app/cells/decidim/resource_types_filter_cell.rb +6 -6
- data/app/cells/decidim/translation_bar/show.erb +3 -3
- data/app/cells/decidim/translation_bar_cell.rb +1 -1
- data/app/cells/decidim/user_activity/show.erb +1 -1
- data/app/commands/decidim/create_omniauth_registration.rb +14 -8
- data/app/commands/decidim/destroy_account.rb +3 -0
- data/app/commands/decidim/search.rb +14 -0
- data/app/controllers/decidim/doorkeeper/credentials_controller.rb +1 -1
- data/app/controllers/decidim/links_controller.rb +1 -1
- data/app/controllers/decidim/profiles_controller.rb +6 -2
- data/app/controllers/decidim/reports_controller.rb +1 -1
- data/app/controllers/decidim/user_activities_controller.rb +1 -1
- data/app/forms/decidim/account_form.rb +5 -2
- data/app/helpers/concerns/decidim/user_role_checker.rb +46 -0
- data/app/helpers/decidim/cta_button_helper.rb +1 -1
- data/app/helpers/decidim/map_helper.rb +6 -1
- data/app/helpers/decidim/orders_helper.rb +2 -1
- data/app/helpers/decidim/participatory_space_helpers.rb +1 -1
- data/app/helpers/decidim/sanitize_helper.rb +11 -2
- data/app/models/decidim/attachment.rb +1 -1
- data/app/models/decidim/user.rb +0 -4
- data/app/models/decidim/user_base_entity.rb +4 -0
- data/app/packs/src/decidim/append_redirect_url_to_modals.js +14 -6
- data/app/packs/src/decidim/direct_uploads/upload_field.js +21 -8
- data/app/packs/src/decidim/index.js +5 -0
- data/app/packs/src/decidim/map/provider/here.js +1 -1
- data/app/packs/src/decidim/remote_tooltips.js +38 -0
- data/app/packs/src/decidim/toggle.js +1 -1
- data/app/packs/src/decidim/tooltips.js +42 -22
- data/app/packs/stylesheets/decidim/_hashtags.scss +5 -0
- data/app/packs/stylesheets/decidim/_header.scss +20 -2
- data/app/packs/stylesheets/decidim/_profile.scss +1 -1
- data/app/packs/stylesheets/decidim/_progress-bar.scss +1 -1
- data/app/packs/stylesheets/decidim/application.scss +1 -0
- data/app/packs/stylesheets/decidim/legacy/conference-diploma.scss +2 -1
- data/app/presenters/decidim/attachment_presenter.rb +1 -1
- data/app/presenters/decidim/log/user_presenter.rb +1 -0
- data/app/services/decidim/base_diff_renderer.rb +28 -2
- data/app/services/decidim/email_notification_generator.rb +14 -5
- data/app/services/decidim/static_map_generator.rb +1 -1
- data/app/views/decidim/last_activities/index.html.erb +1 -1
- data/app/views/decidim/pages/_tabbed.html.erb +2 -2
- data/app/views/decidim/reported_mailer/hide.html.erb +1 -1
- data/app/views/decidim/reported_mailer/report.html.erb +1 -1
- data/app/views/decidim/searches/_count.html.erb +1 -1
- data/app/views/decidim/searches/_filters.html.erb +40 -38
- data/app/views/decidim/shared/_orders.html.erb +2 -2
- data/app/views/layouts/decidim/header/_menu_breadcrumb_mobile_tablet.html.erb +1 -1
- data/config/locales/ar.yml +55 -12
- data/config/locales/bg.yml +17 -8
- data/config/locales/bn-BD.yml +1 -0
- data/config/locales/bs-BA.yml +100 -0
- data/config/locales/ca-IT.yml +2115 -0
- data/config/locales/ca.yml +69 -22
- data/config/locales/cs.yml +62 -15
- data/config/locales/de.yml +67 -20
- data/config/locales/el.yml +17 -2
- data/config/locales/en.yml +47 -0
- data/config/locales/eo.yml +2 -0
- data/config/locales/es-MX.yml +61 -14
- data/config/locales/es-PY.yml +65 -18
- data/config/locales/es.yml +72 -25
- data/config/locales/eu.yml +308 -250
- data/config/locales/fi-plain.yml +50 -11
- data/config/locales/fi.yml +87 -48
- data/config/locales/fr-CA.yml +57 -10
- data/config/locales/fr.yml +55 -8
- data/config/locales/ga-IE.yml +11 -0
- data/config/locales/gl.yml +33 -2
- data/config/locales/hu.yml +17 -10
- data/config/locales/id-ID.yml +32 -3
- data/config/locales/is-IS.yml +18 -2
- data/config/locales/it.yml +84 -14
- data/config/locales/ja.yml +70 -23
- data/config/locales/lb.yml +32 -7
- data/config/locales/lt.yml +9 -3
- data/config/locales/lv.yml +26 -2
- data/config/locales/nl.yml +33 -6
- data/config/locales/no.yml +25 -0
- data/config/locales/pl.yml +15 -6
- data/config/locales/pt-BR.yml +18 -8
- data/config/locales/pt.yml +31 -0
- data/config/locales/ro-RO.yml +475 -207
- data/config/locales/ru.yml +33 -1
- data/config/locales/sk.yml +39 -7
- data/config/locales/sl.yml +4 -0
- data/config/locales/sr-CS.yml +2 -0
- data/config/locales/sv.yml +35 -16
- data/config/locales/tr-TR.yml +32 -8
- data/config/locales/uk.yml +20 -2
- data/config/locales/zh-CN.yml +27 -2
- data/config/locales/zh-TW.yml +14 -0
- data/config/routes.rb +1 -0
- data/decidim-core.gemspec +4 -1
- data/lib/decidim/api/functions/component_list.rb +1 -1
- data/lib/decidim/api/functions/participatory_space_finder_base.rb +11 -1
- data/lib/decidim/api/interfaces/participatory_space_interface.rb +1 -1
- data/lib/decidim/api/types/component_type.rb +7 -0
- data/lib/decidim/api/types/user_group_type.rb +4 -0
- data/lib/decidim/api/types/user_type.rb +4 -0
- data/lib/decidim/attributes/rich_text.rb +38 -0
- data/lib/decidim/attributes/time_with_zone.rb +16 -2
- data/lib/decidim/attributes.rb +2 -0
- data/lib/decidim/content_parsers/blob_parser.rb +95 -0
- data/lib/decidim/content_parsers/user_parser.rb +1 -1
- data/lib/decidim/content_parsers.rb +1 -0
- data/lib/decidim/content_renderers/blob_renderer.rb +90 -0
- data/lib/decidim/content_renderers.rb +1 -0
- data/lib/decidim/core/engine.rb +29 -1
- data/lib/decidim/core/test/factories.rb +28 -0
- data/lib/decidim/core/test/shared_examples/authorable_interface_examples.rb +1 -1
- data/lib/decidim/core/test/shared_examples/comments_examples.rb +15 -2
- data/lib/decidim/core/test/shared_examples/reports_examples.rb +48 -6
- data/lib/decidim/core/test/shared_examples/uncommentable_component_examples.rb +26 -0
- data/lib/decidim/core/test/shared_examples/versions_controller_examples.rb +26 -0
- data/lib/decidim/core/version.rb +1 -1
- data/lib/decidim/diffy_extension.rb +18 -0
- data/lib/decidim/form_builder.rb +1 -1
- data/lib/decidim/map/autocomplete.rb +1 -0
- data/lib/decidim/map/provider/dynamic_map/here.rb +1 -40
- data/lib/decidim/map/provider/static_map/here.rb +34 -0
- data/lib/decidim/nicknamizable.rb +1 -1
- data/lib/decidim/participatory_space_user.rb +4 -0
- data/lib/decidim/query_extensions.rb +0 -26
- data/lib/decidim/reportable.rb +6 -2
- data/lib/decidim/settings_manifest.rb +2 -0
- data/lib/decidim/translatable_attributes.rb +10 -1
- data/lib/decidim/view_model.rb +1 -0
- data/lib/tasks/upgrade/decidim_fix_categorization.rake +34 -8
- data/lib/tasks/upgrade/decidim_fix_nickname_uniqueness.rake +23 -20
- metadata +30 -8
- data/app/packs/src/decidim/vendor/leaflet-tilelayer-here.js +0 -212
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: decidim-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.28.
|
4
|
+
version: 0.28.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Josep Jaume Rey Peroy
|
@@ -10,8 +10,22 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2025-04-29 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: concurrent-ruby
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
18
|
+
requirements:
|
19
|
+
- - '='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 1.2.2
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
requirements:
|
26
|
+
- - '='
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
version: 1.2.2
|
15
29
|
- !ruby/object:Gem::Dependency
|
16
30
|
name: active_link_to
|
17
31
|
requirement: !ruby/object:Gem::Requirement
|
@@ -750,28 +764,28 @@ dependencies:
|
|
750
764
|
requirements:
|
751
765
|
- - '='
|
752
766
|
- !ruby/object:Gem::Version
|
753
|
-
version: 0.28.
|
767
|
+
version: 0.28.6
|
754
768
|
type: :development
|
755
769
|
prerelease: false
|
756
770
|
version_requirements: !ruby/object:Gem::Requirement
|
757
771
|
requirements:
|
758
772
|
- - '='
|
759
773
|
- !ruby/object:Gem::Version
|
760
|
-
version: 0.28.
|
774
|
+
version: 0.28.6
|
761
775
|
- !ruby/object:Gem::Dependency
|
762
776
|
name: decidim-dev
|
763
777
|
requirement: !ruby/object:Gem::Requirement
|
764
778
|
requirements:
|
765
779
|
- - '='
|
766
780
|
- !ruby/object:Gem::Version
|
767
|
-
version: 0.28.
|
781
|
+
version: 0.28.6
|
768
782
|
type: :development
|
769
783
|
prerelease: false
|
770
784
|
version_requirements: !ruby/object:Gem::Requirement
|
771
785
|
requirements:
|
772
786
|
- - '='
|
773
787
|
- !ruby/object:Gem::Version
|
774
|
-
version: 0.28.
|
788
|
+
version: 0.28.6
|
775
789
|
description: Adds core features so other engines can hook into the framework.
|
776
790
|
email:
|
777
791
|
- josepjaume@gmail.com
|
@@ -1300,6 +1314,7 @@ files:
|
|
1300
1314
|
- app/forms/decidim/user_interest_scope_form.rb
|
1301
1315
|
- app/forms/decidim/user_interests_form.rb
|
1302
1316
|
- app/helpers/concerns/decidim/flash_helper_extensions.rb
|
1317
|
+
- app/helpers/concerns/decidim/user_role_checker.rb
|
1303
1318
|
- app/helpers/decidim/account_helper.rb
|
1304
1319
|
- app/helpers/decidim/action_authorization_helper.rb
|
1305
1320
|
- app/helpers/decidim/amendments_helper.rb
|
@@ -1650,6 +1665,7 @@ files:
|
|
1650
1665
|
- app/packs/src/decidim/notifications.js
|
1651
1666
|
- app/packs/src/decidim/password_toggler.js
|
1652
1667
|
- app/packs/src/decidim/remote_modal.js
|
1668
|
+
- app/packs/src/decidim/remote_tooltips.js
|
1653
1669
|
- app/packs/src/decidim/responsive_horizontal_tabs.js
|
1654
1670
|
- app/packs/src/decidim/results_listing.js
|
1655
1671
|
- app/packs/src/decidim/scroll_to_last_child.js
|
@@ -1666,7 +1682,6 @@ files:
|
|
1666
1682
|
- app/packs/src/decidim/user_registrations.js
|
1667
1683
|
- app/packs/src/decidim/utilities/text.js
|
1668
1684
|
- app/packs/src/decidim/vendor/jquery-tmpl.js
|
1669
|
-
- app/packs/src/decidim/vendor/leaflet-tilelayer-here.js
|
1670
1685
|
- app/packs/src/decidim/vendor/modernizr.js
|
1671
1686
|
- app/packs/src/decidim/vendor/tribute.js
|
1672
1687
|
- app/packs/src/decidim/vizzs/areachart.js
|
@@ -1692,6 +1707,7 @@ files:
|
|
1692
1707
|
- app/packs/stylesheets/decidim/_fonts.scss
|
1693
1708
|
- app/packs/stylesheets/decidim/_footer.scss
|
1694
1709
|
- app/packs/stylesheets/decidim/_forms.scss
|
1710
|
+
- app/packs/stylesheets/decidim/_hashtags.scss
|
1695
1711
|
- app/packs/stylesheets/decidim/_header.scss
|
1696
1712
|
- app/packs/stylesheets/decidim/_hero.scss
|
1697
1713
|
- app/packs/stylesheets/decidim/_home.scss
|
@@ -2124,6 +2140,9 @@ files:
|
|
2124
2140
|
- config/locales/ar.yml
|
2125
2141
|
- config/locales/bg-BG.yml
|
2126
2142
|
- config/locales/bg.yml
|
2143
|
+
- config/locales/bn-BD.yml
|
2144
|
+
- config/locales/bs-BA.yml
|
2145
|
+
- config/locales/ca-IT.yml
|
2127
2146
|
- config/locales/ca.yml
|
2128
2147
|
- config/locales/cs-CZ.yml
|
2129
2148
|
- config/locales/cs.yml
|
@@ -2520,6 +2539,7 @@ files:
|
|
2520
2539
|
- lib/decidim/attributes/localized_date.rb
|
2521
2540
|
- lib/decidim/attributes/model.rb
|
2522
2541
|
- lib/decidim/attributes/object.rb
|
2542
|
+
- lib/decidim/attributes/rich_text.rb
|
2523
2543
|
- lib/decidim/attributes/symbol.rb
|
2524
2544
|
- lib/decidim/attributes/time_with_zone.rb
|
2525
2545
|
- lib/decidim/authorable.rb
|
@@ -2539,6 +2559,7 @@ files:
|
|
2539
2559
|
- lib/decidim/content_blocks/has_related_components.rb
|
2540
2560
|
- lib/decidim/content_parsers.rb
|
2541
2561
|
- lib/decidim/content_parsers/base_parser.rb
|
2562
|
+
- lib/decidim/content_parsers/blob_parser.rb
|
2542
2563
|
- lib/decidim/content_parsers/hashtag_parser.rb
|
2543
2564
|
- lib/decidim/content_parsers/inline_images_parser.rb
|
2544
2565
|
- lib/decidim/content_parsers/link_parser.rb
|
@@ -2550,6 +2571,7 @@ files:
|
|
2550
2571
|
- lib/decidim/content_processor.rb
|
2551
2572
|
- lib/decidim/content_renderers.rb
|
2552
2573
|
- lib/decidim/content_renderers/base_renderer.rb
|
2574
|
+
- lib/decidim/content_renderers/blob_renderer.rb
|
2553
2575
|
- lib/decidim/content_renderers/hashtag_renderer.rb
|
2554
2576
|
- lib/decidim/content_renderers/link_renderer.rb
|
2555
2577
|
- lib/decidim/content_renderers/resource_renderer.rb
|
@@ -2851,7 +2873,7 @@ files:
|
|
2851
2873
|
- lib/tasks/upgrade/decidim_user_moderation.rake
|
2852
2874
|
homepage: https://decidim.org
|
2853
2875
|
licenses:
|
2854
|
-
- AGPL-3.0
|
2876
|
+
- AGPL-3.0-or-later
|
2855
2877
|
metadata:
|
2856
2878
|
bug_tracker_uri: https://github.com/decidim/decidim/issues
|
2857
2879
|
documentation_uri: https://docs.decidim.org/
|
@@ -1,212 +0,0 @@
|
|
1
|
-
/* eslint-disable */
|
2
|
-
|
3
|
-
// 🍂class TileLayer.HERE
|
4
|
-
// Tile layer for HERE maps tiles.
|
5
|
-
L.TileLayer.HERE = L.TileLayer.extend({
|
6
|
-
|
7
|
-
options: {
|
8
|
-
subdomains: '1234',
|
9
|
-
minZoom: 2,
|
10
|
-
maxZoom: 18,
|
11
|
-
|
12
|
-
// 🍂option scheme: String = 'normal.day'
|
13
|
-
// The "map scheme", as documented in the HERE API.
|
14
|
-
scheme: 'normal.day',
|
15
|
-
|
16
|
-
// 🍂option resource: String = 'maptile'
|
17
|
-
// The "map resource", as documented in the HERE API.
|
18
|
-
resource: 'maptile',
|
19
|
-
|
20
|
-
// 🍂option mapId: String = 'newest'
|
21
|
-
// Version of the map tiles to be used, or a hash of an unique map
|
22
|
-
mapId: 'newest',
|
23
|
-
|
24
|
-
// 🍂option format: String = 'png8'
|
25
|
-
// Image format to be used (`png8`, `png`, or `jpg`)
|
26
|
-
format: 'png8',
|
27
|
-
|
28
|
-
// 🍂option appId: String = ''
|
29
|
-
// Required option. The `app_id` provided as part of the HERE credentials
|
30
|
-
appId: '',
|
31
|
-
|
32
|
-
// 🍂option appCode: String = ''
|
33
|
-
// Required option. The `app_code` provided as part of the HERE credentials
|
34
|
-
appCode: '',
|
35
|
-
|
36
|
-
// 🍂option useCIT: boolean = false
|
37
|
-
// Whether to use the CIT when loading the here-maptiles
|
38
|
-
useCIT: false,
|
39
|
-
|
40
|
-
// 🍂option useHTTPS: boolean = true
|
41
|
-
// Whether to use HTTPS when loading the here-maptiles
|
42
|
-
useHTTPS: true,
|
43
|
-
|
44
|
-
// 🍂option language: String = ''
|
45
|
-
// The language of the descriptions on the maps that are loaded
|
46
|
-
language: '',
|
47
|
-
|
48
|
-
// 🍂option language: String = ''
|
49
|
-
// The second language of the descriptions on the maps that are loaded
|
50
|
-
language2: '',
|
51
|
-
},
|
52
|
-
|
53
|
-
|
54
|
-
initialize: function initialize(options) {
|
55
|
-
options = L.setOptions(this, options);
|
56
|
-
|
57
|
-
// Decide if this scheme uses the aerial servers or the basemap servers
|
58
|
-
var schemeStart = options.scheme.split('.')[0];
|
59
|
-
options.tileResolution = 256;
|
60
|
-
|
61
|
-
// {Base URL}{Path}/{resource (tile type)}/{map id}/{scheme}/{zoom}/{column}/{row}/{size}/{format}
|
62
|
-
// ?apiKey={YOUR_API_KEY}
|
63
|
-
// &{param}={value}
|
64
|
-
|
65
|
-
var params = [
|
66
|
-
'apiKey=' + encodeURIComponent(options.apiKey)
|
67
|
-
];
|
68
|
-
// Fallback to old app_id,app_code if no apiKey passed
|
69
|
-
if(!options.apiKey) {
|
70
|
-
params = [
|
71
|
-
'app_id=' + encodeURIComponent(options.appId),
|
72
|
-
'app_code=' + encodeURIComponent(options.appCode),
|
73
|
-
];
|
74
|
-
}
|
75
|
-
if(options.language) {
|
76
|
-
params.push('lg=' + encodeURIComponent(options.language));
|
77
|
-
}
|
78
|
-
if(options.language2) {
|
79
|
-
params.push('lg2=' + encodeURIComponent(options.language2));
|
80
|
-
}
|
81
|
-
var urlQuery = '?' + params.join('&');
|
82
|
-
|
83
|
-
var path = '/maptile/2.1/{resource}/{mapId}/{scheme}/{z}/{x}/{y}/{tileResolution}/{format}' + urlQuery;
|
84
|
-
var attributionPath = '/maptile/2.1/copyright/{mapId}?apiKey={apiKey}';
|
85
|
-
|
86
|
-
var baseUrl = 'maps.ls.hereapi.com';
|
87
|
-
|
88
|
-
// Old style with apiId/apiCode for compatibility
|
89
|
-
if(!options.apiKey) {
|
90
|
-
// make sure the CIT-url can be used
|
91
|
-
baseUrl = 'maps' + (options.useCIT ? '.cit' : '') + '.api.here.com';
|
92
|
-
attributionPath = '/maptile/2.1/copyright/{mapId}?app_id={appId}&app_code={appCode}';
|
93
|
-
}
|
94
|
-
|
95
|
-
var tileServer = 'base.' + baseUrl;
|
96
|
-
if (schemeStart == 'satellite' || schemeStart == 'terrain' || schemeStart == 'hybrid') {
|
97
|
-
tileServer = 'aerial.' + baseUrl;
|
98
|
-
}
|
99
|
-
if (options.scheme.indexOf('.traffic.') !== -1) {
|
100
|
-
tileServer = 'traffic' + baseUrl;
|
101
|
-
}
|
102
|
-
|
103
|
-
var protocol = 'http' + (options.useHTTPS ? 's' : '');
|
104
|
-
var tileUrl = protocol + '://{s}.' + tileServer + path;
|
105
|
-
|
106
|
-
this._attributionUrl = L.Util.template(protocol + '://1.' + tileServer + attributionPath, this.options);
|
107
|
-
|
108
|
-
L.TileLayer.prototype.initialize.call(this, tileUrl, options);
|
109
|
-
|
110
|
-
this._attributionText = '';
|
111
|
-
|
112
|
-
},
|
113
|
-
|
114
|
-
onAdd: function onAdd(map) {
|
115
|
-
L.TileLayer.prototype.onAdd.call(this, map);
|
116
|
-
|
117
|
-
if (!this._attributionBBoxes) {
|
118
|
-
this._fetchAttributionBBoxes();
|
119
|
-
}
|
120
|
-
},
|
121
|
-
|
122
|
-
onRemove: function onRemove(map) {
|
123
|
-
//
|
124
|
-
// Remove the attribution text, and clear the cached text so it will be recalculated
|
125
|
-
// if/when we are shown again.
|
126
|
-
//
|
127
|
-
this._map.attributionControl.removeAttribution(this._attributionText);
|
128
|
-
this._attributionText = '';
|
129
|
-
|
130
|
-
this._map.off('moveend zoomend resetview', this._findCopyrightBBox, this);
|
131
|
-
|
132
|
-
//
|
133
|
-
// Call the prototype last, once we have tidied up our own changes
|
134
|
-
//
|
135
|
-
L.TileLayer.prototype.onRemove.call(this, map);
|
136
|
-
},
|
137
|
-
|
138
|
-
_fetchAttributionBBoxes: function _onMapMove() {
|
139
|
-
var xmlhttp = new XMLHttpRequest();
|
140
|
-
xmlhttp.onreadystatechange = L.bind(function(){
|
141
|
-
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
|
142
|
-
this._parseAttributionBBoxes(JSON.parse(xmlhttp.responseText));
|
143
|
-
}
|
144
|
-
}, this);
|
145
|
-
xmlhttp.open("GET", this._attributionUrl, true);
|
146
|
-
xmlhttp.send();
|
147
|
-
},
|
148
|
-
|
149
|
-
_parseAttributionBBoxes: function _parseAttributionBBoxes(json) {
|
150
|
-
if (!this._map) { return; }
|
151
|
-
var providers = json[this.options.scheme.split('.')[0]] || json.normal;
|
152
|
-
for (var i=0; i<providers.length; i++) {
|
153
|
-
if (providers[i].boxes) {
|
154
|
-
for (var j=0; j<providers[i].boxes.length; j++) {
|
155
|
-
var box = providers[i].boxes[j];
|
156
|
-
providers[i].boxes[j] = L.latLngBounds( [ [box[0], box[1]], [box[2], box[3]] ]);
|
157
|
-
}
|
158
|
-
}
|
159
|
-
}
|
160
|
-
|
161
|
-
this._map.on('moveend zoomend resetview', this._findCopyrightBBox, this);
|
162
|
-
|
163
|
-
this._attributionProviders = providers;
|
164
|
-
|
165
|
-
this._findCopyrightBBox();
|
166
|
-
},
|
167
|
-
|
168
|
-
_findCopyrightBBox: function _findCopyrightBBox() {
|
169
|
-
if (!this._map) { return; }
|
170
|
-
var providers = this._attributionProviders;
|
171
|
-
var visibleProviders = [];
|
172
|
-
var zoom = this._map.getZoom();
|
173
|
-
var visibleBounds = this._map.getBounds();
|
174
|
-
|
175
|
-
for (var i=0; i<providers.length; i++) {
|
176
|
-
if (providers[i].minLevel <= zoom && providers[i].maxLevel >= zoom) {
|
177
|
-
|
178
|
-
if (!providers[i].boxes) {
|
179
|
-
// No boxes = attribution always visible
|
180
|
-
visibleProviders.push(providers[i]);
|
181
|
-
} else {
|
182
|
-
for (var j=0; j<providers[i].boxes.length; j++) {
|
183
|
-
var box = providers[i].boxes[j];
|
184
|
-
if (visibleBounds.intersects(box)) {
|
185
|
-
visibleProviders.push(providers[i]);
|
186
|
-
break;
|
187
|
-
}
|
188
|
-
}
|
189
|
-
}
|
190
|
-
}
|
191
|
-
}
|
192
|
-
|
193
|
-
var attributions = ['<a href="https://legal.here.com/en-gb/terms" target="_blank" rel="noopener noreferrer">HERE maps</a>'];
|
194
|
-
for (var i=0; i<visibleProviders.length; i++) {
|
195
|
-
var provider = visibleProviders[i];
|
196
|
-
attributions.push('<abbr title="' + provider.alt + '">' + provider.label + '</abbr>');
|
197
|
-
}
|
198
|
-
|
199
|
-
var attributionText = '© ' + attributions.join(', ') + '. ';
|
200
|
-
|
201
|
-
if (attributionText !== this._attributionText) {
|
202
|
-
this._map.attributionControl.removeAttribution(this._attributionText);
|
203
|
-
this._map.attributionControl.addAttribution(this._attributionText = attributionText);
|
204
|
-
}
|
205
|
-
},
|
206
|
-
|
207
|
-
});
|
208
|
-
|
209
|
-
|
210
|
-
L.tileLayer.here = function(opts){
|
211
|
-
return new L.TileLayer.HERE(opts);
|
212
|
-
}
|