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.
Files changed (141) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/activity_cell.rb +1 -4
  3. data/app/cells/decidim/author/show.erb +5 -4
  4. data/app/cells/decidim/author_cell.rb +26 -0
  5. data/app/cells/decidim/card_s/show.erb +5 -3
  6. data/app/cells/decidim/diff_cell.rb +4 -0
  7. data/app/cells/decidim/newsletter_templates/image_text_cta_cell.rb +1 -1
  8. data/app/cells/decidim/participatory_space_dropdown_metadata/show.erb +5 -3
  9. data/app/cells/decidim/resource_types_filter/show.erb +1 -1
  10. data/app/cells/decidim/resource_types_filter_cell.rb +6 -6
  11. data/app/cells/decidim/translation_bar/show.erb +3 -3
  12. data/app/cells/decidim/translation_bar_cell.rb +1 -1
  13. data/app/cells/decidim/user_activity/show.erb +1 -1
  14. data/app/commands/decidim/create_omniauth_registration.rb +14 -8
  15. data/app/commands/decidim/destroy_account.rb +3 -0
  16. data/app/commands/decidim/search.rb +14 -0
  17. data/app/controllers/decidim/doorkeeper/credentials_controller.rb +1 -1
  18. data/app/controllers/decidim/links_controller.rb +1 -1
  19. data/app/controllers/decidim/profiles_controller.rb +6 -2
  20. data/app/controllers/decidim/reports_controller.rb +1 -1
  21. data/app/controllers/decidim/user_activities_controller.rb +1 -1
  22. data/app/forms/decidim/account_form.rb +5 -2
  23. data/app/helpers/concerns/decidim/user_role_checker.rb +46 -0
  24. data/app/helpers/decidim/cta_button_helper.rb +1 -1
  25. data/app/helpers/decidim/map_helper.rb +6 -1
  26. data/app/helpers/decidim/orders_helper.rb +2 -1
  27. data/app/helpers/decidim/participatory_space_helpers.rb +1 -1
  28. data/app/helpers/decidim/sanitize_helper.rb +11 -2
  29. data/app/models/decidim/attachment.rb +1 -1
  30. data/app/models/decidim/user.rb +0 -4
  31. data/app/models/decidim/user_base_entity.rb +4 -0
  32. data/app/packs/src/decidim/append_redirect_url_to_modals.js +14 -6
  33. data/app/packs/src/decidim/direct_uploads/upload_field.js +21 -8
  34. data/app/packs/src/decidim/index.js +5 -0
  35. data/app/packs/src/decidim/map/provider/here.js +1 -1
  36. data/app/packs/src/decidim/remote_tooltips.js +38 -0
  37. data/app/packs/src/decidim/toggle.js +1 -1
  38. data/app/packs/src/decidim/tooltips.js +42 -22
  39. data/app/packs/stylesheets/decidim/_hashtags.scss +5 -0
  40. data/app/packs/stylesheets/decidim/_header.scss +20 -2
  41. data/app/packs/stylesheets/decidim/_profile.scss +1 -1
  42. data/app/packs/stylesheets/decidim/_progress-bar.scss +1 -1
  43. data/app/packs/stylesheets/decidim/application.scss +1 -0
  44. data/app/packs/stylesheets/decidim/legacy/conference-diploma.scss +2 -1
  45. data/app/presenters/decidim/attachment_presenter.rb +1 -1
  46. data/app/presenters/decidim/log/user_presenter.rb +1 -0
  47. data/app/services/decidim/base_diff_renderer.rb +28 -2
  48. data/app/services/decidim/email_notification_generator.rb +14 -5
  49. data/app/services/decidim/static_map_generator.rb +1 -1
  50. data/app/views/decidim/last_activities/index.html.erb +1 -1
  51. data/app/views/decidim/pages/_tabbed.html.erb +2 -2
  52. data/app/views/decidim/reported_mailer/hide.html.erb +1 -1
  53. data/app/views/decidim/reported_mailer/report.html.erb +1 -1
  54. data/app/views/decidim/searches/_count.html.erb +1 -1
  55. data/app/views/decidim/searches/_filters.html.erb +40 -38
  56. data/app/views/decidim/shared/_orders.html.erb +2 -2
  57. data/app/views/layouts/decidim/header/_menu_breadcrumb_mobile_tablet.html.erb +1 -1
  58. data/config/locales/ar.yml +55 -12
  59. data/config/locales/bg.yml +17 -8
  60. data/config/locales/bn-BD.yml +1 -0
  61. data/config/locales/bs-BA.yml +100 -0
  62. data/config/locales/ca-IT.yml +2115 -0
  63. data/config/locales/ca.yml +69 -22
  64. data/config/locales/cs.yml +62 -15
  65. data/config/locales/de.yml +67 -20
  66. data/config/locales/el.yml +17 -2
  67. data/config/locales/en.yml +47 -0
  68. data/config/locales/eo.yml +2 -0
  69. data/config/locales/es-MX.yml +61 -14
  70. data/config/locales/es-PY.yml +65 -18
  71. data/config/locales/es.yml +72 -25
  72. data/config/locales/eu.yml +308 -250
  73. data/config/locales/fi-plain.yml +50 -11
  74. data/config/locales/fi.yml +87 -48
  75. data/config/locales/fr-CA.yml +57 -10
  76. data/config/locales/fr.yml +55 -8
  77. data/config/locales/ga-IE.yml +11 -0
  78. data/config/locales/gl.yml +33 -2
  79. data/config/locales/hu.yml +17 -10
  80. data/config/locales/id-ID.yml +32 -3
  81. data/config/locales/is-IS.yml +18 -2
  82. data/config/locales/it.yml +84 -14
  83. data/config/locales/ja.yml +70 -23
  84. data/config/locales/lb.yml +32 -7
  85. data/config/locales/lt.yml +9 -3
  86. data/config/locales/lv.yml +26 -2
  87. data/config/locales/nl.yml +33 -6
  88. data/config/locales/no.yml +25 -0
  89. data/config/locales/pl.yml +15 -6
  90. data/config/locales/pt-BR.yml +18 -8
  91. data/config/locales/pt.yml +31 -0
  92. data/config/locales/ro-RO.yml +475 -207
  93. data/config/locales/ru.yml +33 -1
  94. data/config/locales/sk.yml +39 -7
  95. data/config/locales/sl.yml +4 -0
  96. data/config/locales/sr-CS.yml +2 -0
  97. data/config/locales/sv.yml +35 -16
  98. data/config/locales/tr-TR.yml +32 -8
  99. data/config/locales/uk.yml +20 -2
  100. data/config/locales/zh-CN.yml +27 -2
  101. data/config/locales/zh-TW.yml +14 -0
  102. data/config/routes.rb +1 -0
  103. data/decidim-core.gemspec +4 -1
  104. data/lib/decidim/api/functions/component_list.rb +1 -1
  105. data/lib/decidim/api/functions/participatory_space_finder_base.rb +11 -1
  106. data/lib/decidim/api/interfaces/participatory_space_interface.rb +1 -1
  107. data/lib/decidim/api/types/component_type.rb +7 -0
  108. data/lib/decidim/api/types/user_group_type.rb +4 -0
  109. data/lib/decidim/api/types/user_type.rb +4 -0
  110. data/lib/decidim/attributes/rich_text.rb +38 -0
  111. data/lib/decidim/attributes/time_with_zone.rb +16 -2
  112. data/lib/decidim/attributes.rb +2 -0
  113. data/lib/decidim/content_parsers/blob_parser.rb +95 -0
  114. data/lib/decidim/content_parsers/user_parser.rb +1 -1
  115. data/lib/decidim/content_parsers.rb +1 -0
  116. data/lib/decidim/content_renderers/blob_renderer.rb +90 -0
  117. data/lib/decidim/content_renderers.rb +1 -0
  118. data/lib/decidim/core/engine.rb +29 -1
  119. data/lib/decidim/core/test/factories.rb +28 -0
  120. data/lib/decidim/core/test/shared_examples/authorable_interface_examples.rb +1 -1
  121. data/lib/decidim/core/test/shared_examples/comments_examples.rb +15 -2
  122. data/lib/decidim/core/test/shared_examples/reports_examples.rb +48 -6
  123. data/lib/decidim/core/test/shared_examples/uncommentable_component_examples.rb +26 -0
  124. data/lib/decidim/core/test/shared_examples/versions_controller_examples.rb +26 -0
  125. data/lib/decidim/core/version.rb +1 -1
  126. data/lib/decidim/diffy_extension.rb +18 -0
  127. data/lib/decidim/form_builder.rb +1 -1
  128. data/lib/decidim/map/autocomplete.rb +1 -0
  129. data/lib/decidim/map/provider/dynamic_map/here.rb +1 -40
  130. data/lib/decidim/map/provider/static_map/here.rb +34 -0
  131. data/lib/decidim/nicknamizable.rb +1 -1
  132. data/lib/decidim/participatory_space_user.rb +4 -0
  133. data/lib/decidim/query_extensions.rb +0 -26
  134. data/lib/decidim/reportable.rb +6 -2
  135. data/lib/decidim/settings_manifest.rb +2 -0
  136. data/lib/decidim/translatable_attributes.rb +10 -1
  137. data/lib/decidim/view_model.rb +1 -0
  138. data/lib/tasks/upgrade/decidim_fix_categorization.rake +34 -8
  139. data/lib/tasks/upgrade/decidim_fix_nickname_uniqueness.rake +23 -20
  140. metadata +30 -8
  141. 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
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: 2024-10-02 00:00:00.000000000 Z
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.4
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.4
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.4
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.4
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
- }