decidim-navigation_maps 1.2.0 → 1.3.2
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/README.md +22 -3
- data/Rakefile +8 -0
- data/app/cells/decidim/navigation_maps/content_blocks/navigation_map/_tabs_content.erb +1 -1
- data/app/cells/decidim/navigation_maps/content_blocks/navigation_map/show.erb +2 -2
- data/app/cells/decidim/navigation_maps/content_blocks/navigation_map_cell.rb +5 -0
- data/app/cells/decidim/navigation_maps/content_blocks/navigation_map_settings_form/_form.erb +4 -4
- data/app/cells/decidim/navigation_maps/content_blocks/navigation_map_settings_form/_tabs_content.erb +0 -1
- data/app/cells/decidim/navigation_maps/content_blocks/navigation_map_settings_form/show.erb +4 -2
- data/app/cells/decidim/navigation_maps/content_blocks/navigation_map_settings_form_cell.rb +9 -0
- data/app/controllers/decidim/navigation_maps/admin/blueprints_controller.rb +1 -1
- data/app/jobs/decidim/navigation_maps/migrate_legacy_images_job.rb +32 -0
- data/app/models/decidim/navigation_maps/blueprint.rb +4 -3
- data/app/packs/entrypoints/decidim_admin_navigation_maps.js +4 -0
- data/app/packs/entrypoints/decidim_admin_navigation_maps.scss +1 -0
- data/app/packs/entrypoints/decidim_navigation_maps.js +7 -0
- data/app/packs/entrypoints/decidim_navigation_maps.scss +1 -0
- data/app/packs/src/decidim/navigation_maps/admin/map_editor.js +83 -0
- data/app/packs/src/decidim/navigation_maps/admin/navigation_maps.js +154 -0
- data/app/packs/src/decidim/navigation_maps/map_view.js +125 -0
- data/app/packs/src/decidim/navigation_maps/navigation_maps.js +43 -0
- data/app/{assets → packs}/stylesheets/decidim/navigation_maps/_variables.scss +0 -0
- data/app/{assets → packs}/stylesheets/decidim/navigation_maps/admin/navigation_maps.scss +4 -4
- data/app/{assets → packs}/stylesheets/decidim/navigation_maps/navigation_maps.scss +1 -2
- data/app/uploaders/decidim/navigation_maps/blueprint_uploader.rb +4 -12
- data/app/uploaders/decidim/navigation_maps/cw/blueprint_uploader.rb +24 -0
- data/config/assets.rb +41 -0
- data/config/locales/cs.yml +1 -1
- data/db/seeds.rb +6 -5
- data/lib/decidim/navigation_maps/admin_engine.rb +0 -4
- data/lib/decidim/navigation_maps/engine.rb +4 -4
- data/lib/decidim/navigation_maps/navigation_map_cell_helpers.rb +1 -1
- data/lib/decidim/navigation_maps/version.rb +2 -2
- data/lib/decidim/navigation_maps.rb +0 -2
- data/lib/tasks/decidim_navigation_maps_webpacker_tasks.rake +58 -0
- data/lib/tasks/navigation_maps_active_storage_migration_tasks.rake +37 -0
- data/package.json +197 -0
- metadata +32 -46
- data/app/assets/config/admin/decidim_navigation_maps_manifest.css +0 -3
- data/app/assets/config/admin/decidim_navigation_maps_manifest.js +0 -3
- data/app/assets/config/decidim_navigation_maps_manifest.css +0 -3
- data/app/assets/config/decidim_navigation_maps_manifest.js +0 -1
- data/app/assets/images/decidim/navigation_maps/icon.svg +0 -1
- data/app/assets/javascripts/decidim/navigation_maps/admin/map_editor.js +0 -88
- data/app/assets/javascripts/decidim/navigation_maps/admin/navigation_maps.js +0 -143
- data/app/assets/javascripts/decidim/navigation_maps/map_view.js +0 -123
- data/app/assets/javascripts/decidim/navigation_maps/navigation_maps.js +0 -44
- data/vendor/assets/images/draw/layers-2x.png +0 -0
- data/vendor/assets/images/draw/layers.png +0 -0
- data/vendor/assets/images/draw/marker-icon-2x.png +0 -0
- data/vendor/assets/images/draw/marker-icon.png +0 -0
- data/vendor/assets/images/draw/marker-shadow.png +0 -0
- data/vendor/assets/images/draw/spritesheet-2x.png +0 -0
- data/vendor/assets/images/draw/spritesheet.png +0 -0
- data/vendor/assets/images/draw/spritesheet.svg +0 -156
- data/vendor/assets/images/images/layers-2x.png +0 -0
- data/vendor/assets/images/images/layers.png +0 -0
- data/vendor/assets/images/images/marker-icon-2x.png +0 -0
- data/vendor/assets/images/images/marker-icon.png +0 -0
- data/vendor/assets/images/images/marker-shadow.png +0 -0
- data/vendor/assets/javascripts/jquery.form.js +0 -1277
- data/vendor/assets/javascripts/jsrender.min.js +0 -4
- data/vendor/assets/javascripts/jsrender.min.js.map +0 -1
- data/vendor/assets/javascripts/leaflet-geoman.min.js +0 -1
- data/vendor/assets/javascripts/leaflet.js +0 -5
- data/vendor/assets/stylesheets/leaflet-geoman.css +0 -164
@@ -0,0 +1,43 @@
|
|
1
|
+
import NavigationMapView from "src/decidim/navigation_maps/map_view.js";
|
2
|
+
import "jsviews/jsrender";
|
3
|
+
|
4
|
+
$(function() {
|
5
|
+
|
6
|
+
let $maps = $(".navigation_maps .map");
|
7
|
+
let $tabs = $("#navigation_maps-tabs");
|
8
|
+
let maps = {};
|
9
|
+
let tmpl = $.templates("#navigation_maps-popup");
|
10
|
+
|
11
|
+
$maps.each(function() {
|
12
|
+
let id = $(this).data("id");
|
13
|
+
maps[id] = new NavigationMapView(this);
|
14
|
+
maps[id].onSetLayerProperties(function(layer, props) {
|
15
|
+
if (!props.popup) {
|
16
|
+
let node = document.createElement("div");
|
17
|
+
let html = tmpl.render(props);
|
18
|
+
$(node).html(html);
|
19
|
+
|
20
|
+
layer.bindPopup(node, {
|
21
|
+
maxHeight: 400,
|
22
|
+
// autoPan: false,
|
23
|
+
maxWidth: 640,
|
24
|
+
minWidth: 200,
|
25
|
+
keepInView: true,
|
26
|
+
className: `navigation_map-info map-info-${id}-${layer._leaflet_id}`
|
27
|
+
});
|
28
|
+
}
|
29
|
+
});
|
30
|
+
maps[id].onClickArea(function(area) {
|
31
|
+
let popup = area.feature.properties && area.feature.properties.link && area.feature.properties.popup;
|
32
|
+
if (popup) {
|
33
|
+
location = area.feature.properties.link;
|
34
|
+
}
|
35
|
+
});
|
36
|
+
});
|
37
|
+
|
38
|
+
$tabs.on("change.zf.tabs", function(e, $tab, $content) {
|
39
|
+
let id = $content.find(".map").data("id");
|
40
|
+
maps[id].reload();
|
41
|
+
});
|
42
|
+
|
43
|
+
});
|
File without changes
|
@@ -2,10 +2,10 @@
|
|
2
2
|
//= require leaflet-geoman
|
3
3
|
//= require_self
|
4
4
|
|
5
|
-
@import "decidim/variables";
|
6
|
-
@import "decidim/utils/settings";
|
7
|
-
@import "decidim/utils/mixins";
|
8
|
-
@import "decidim/navigation_maps/variables";
|
5
|
+
@import "stylesheets/decidim/variables";
|
6
|
+
@import "stylesheets/decidim/utils/settings";
|
7
|
+
@import "stylesheets/decidim/utils/mixins";
|
8
|
+
@import "stylesheets/decidim/navigation_maps/variables";
|
9
9
|
|
10
10
|
.navigation_maps.admin {
|
11
11
|
.accordion-item {
|
@@ -4,18 +4,10 @@ module Decidim
|
|
4
4
|
module NavigationMaps
|
5
5
|
# This class deals with uploading images to a Blueprints.
|
6
6
|
class BlueprintUploader < Decidim::ImageUploader
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
end
|
12
|
-
|
13
|
-
def extension_white_list
|
14
|
-
%w(jpg jpeg png svg)
|
15
|
-
end
|
16
|
-
|
17
|
-
def max_image_height_or_width
|
18
|
-
8000
|
7
|
+
set_variants do
|
8
|
+
{
|
9
|
+
thumbnail: { resize_to_fit: [nil, 237] }
|
10
|
+
}
|
19
11
|
end
|
20
12
|
end
|
21
13
|
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module NavigationMaps
|
5
|
+
module Cw
|
6
|
+
# This class deals with uploading images to a Blueprints.
|
7
|
+
class BlueprintUploader < Decidim::Cw::ImageUploader
|
8
|
+
process :validate_size, :validate_dimensions
|
9
|
+
|
10
|
+
version :thumbnail do
|
11
|
+
process resize_to_fit: [nil, 237]
|
12
|
+
end
|
13
|
+
|
14
|
+
def extension_white_list
|
15
|
+
%w(jpg jpeg png svg)
|
16
|
+
end
|
17
|
+
|
18
|
+
def max_image_height_or_width
|
19
|
+
8000
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
data/config/assets.rb
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# This file is located at `config/assets.rb` of your module.
|
4
|
+
|
5
|
+
# Define the base path of your module. Please note that `Rails.root` may not be
|
6
|
+
# used because we are not inside the Rails environment when this file is loaded.
|
7
|
+
base_path = File.expand_path("..", __dir__)
|
8
|
+
|
9
|
+
# Register an additional load path for webpack. All the assets within these
|
10
|
+
# directories will be available for inclusion within the Decidim assets. For
|
11
|
+
# example, if you have `app/packs/src/decidim/foo.js`, you can include that file
|
12
|
+
# in your JavaScript entrypoints (or other JavaScript files within Decidim)
|
13
|
+
# using `import "src/decidim/foo"` after you have registered the additional path
|
14
|
+
# as follows.
|
15
|
+
Decidim::Webpacker.register_path("#{base_path}/app/packs")
|
16
|
+
|
17
|
+
# Register the entrypoints for your module. These entrypoints can be included
|
18
|
+
# within your application using `javascript_pack_tag` and if you include any
|
19
|
+
# SCSS files within the entrypoints, they become available for inclusion using
|
20
|
+
# `stylesheet_pack_tag`.
|
21
|
+
Decidim::Webpacker.register_entrypoints(
|
22
|
+
decidim_navigation_maps: "#{base_path}/app/packs/entrypoints/decidim_navigation_maps.js",
|
23
|
+
decidim_admin_navigation_maps: "#{base_path}/app/packs/entrypoints/decidim_admin_navigation_maps.js"
|
24
|
+
)
|
25
|
+
|
26
|
+
# If you want to import some extra SCSS files in the Decidim main SCSS file
|
27
|
+
# without adding any extra stylesheet inclusion tags, you can use the following
|
28
|
+
# method to register the stylesheet import for the main application.
|
29
|
+
# Decidim::Webpacker.register_stylesheet_import("stylesheets/decidim/navigation_maps/navigation_maps")
|
30
|
+
|
31
|
+
# If you want to do the same but include the SCSS file for the admin panel's
|
32
|
+
# main SCSS file, you can use the following method.
|
33
|
+
# Decidim::Webpacker.register_stylesheet_import("stylesheets/decidim/navigation_maps/admin", group: :admin)
|
34
|
+
|
35
|
+
# If you want to override some SCSS variables/settings for Foundation from the
|
36
|
+
# module, you can add the following registered import.
|
37
|
+
# Decidim::Webpacker.register_stylesheet_import("stylesheets/decidim/foo/settings", type: :settings)
|
38
|
+
|
39
|
+
# If you want to do the same but override the SCSS variables of the admin
|
40
|
+
# panel's styles, you can use the following method.
|
41
|
+
# Decidim::Webpacker.register_stylesheet_import("stylesheets/decidim/foo/admin_settings", type: :settings, group: :admin)
|
data/config/locales/cs.yml
CHANGED
@@ -29,7 +29,7 @@ cs:
|
|
29
29
|
view: Zapojte se
|
30
30
|
navigation_map_settings_form:
|
31
31
|
add: Přidat
|
32
|
-
autohide_tabs:
|
32
|
+
autohide_tabs: Skrýt navigaci v záložkách, pokud je pouze jedna mapa
|
33
33
|
blueprint_image: Obrázek plánu
|
34
34
|
description: Popis
|
35
35
|
editor: Editor mapy
|
data/db/seeds.rb
CHANGED
@@ -24,18 +24,19 @@ if !ENV["SKIP_MODULE_SEEDS"] && (!Rails.env.production? || ENV["SEED"])
|
|
24
24
|
blueprint1 = Decidim::NavigationMaps::Blueprint.create(
|
25
25
|
organization: organization,
|
26
26
|
content_block: content_block,
|
27
|
-
image: File.new(File.join(seeds_root, "antarctica.png")),
|
28
27
|
title: Decidim::Faker::Localized.sentence(word_count: 2),
|
29
28
|
description: Decidim::Faker::Localized.sentence(word_count: 10)
|
30
29
|
)
|
31
30
|
|
32
|
-
Decidim::NavigationMaps::Blueprint.create(
|
31
|
+
blueprint2 = Decidim::NavigationMaps::Blueprint.create(
|
33
32
|
organization: organization,
|
34
|
-
image: File.new(File.join(seeds_root, "penguins.jpg")),
|
35
33
|
title: Decidim::Faker::Localized.sentence(word_count: 2),
|
36
34
|
description: Decidim::Faker::Localized.sentence(word_count: 10)
|
37
35
|
)
|
38
36
|
|
37
|
+
blueprint1.image.attach(io: File.open(File.join(seeds_root, "antarctica.png")), filename: "antarctica.png", content_type: "image/png")
|
38
|
+
blueprint2.image.attach(io: File.open(File.join(seeds_root, "penguins.jpg")), filename: "penguins.jpg", content_type: "image/jpeg")
|
39
|
+
|
39
40
|
Decidim::NavigationMaps::BlueprintArea.create(
|
40
41
|
blueprint: blueprint1,
|
41
42
|
area_id: "10",
|
@@ -84,7 +85,7 @@ if !ENV["SKIP_MODULE_SEEDS"] && (!Rails.env.production? || ENV["SEED"])
|
|
84
85
|
link_type: "link",
|
85
86
|
color: "#ffbb00",
|
86
87
|
title: { en: "Penguins" },
|
87
|
-
description: { en: "Penguins are
|
88
|
+
description: { en: "Penguins are beautiful animals" }
|
88
89
|
)
|
89
90
|
|
90
91
|
Decidim::NavigationMaps::BlueprintArea.create(
|
@@ -121,10 +122,10 @@ if !ENV["SKIP_MODULE_SEEDS"] && (!Rails.env.production? || ENV["SEED"])
|
|
121
122
|
blueprint = Decidim::NavigationMaps::Blueprint.create(
|
122
123
|
organization: organization,
|
123
124
|
content_block: content_block,
|
124
|
-
image: File.new(File.join(seeds_root, "pla-cerda.jpg")),
|
125
125
|
title: Decidim::Faker::Localized.sentence(word_count: 2),
|
126
126
|
description: Decidim::Faker::Localized.sentence(word_count: 10)
|
127
127
|
)
|
128
|
+
blueprint1.image.attach(io: File.open(File.join(seeds_root, "pla-cerda.jpg")), filename: "pla-cerda.jpg", content_type: "image/jpeg")
|
128
129
|
|
129
130
|
Decidim::NavigationMaps::BlueprintArea.create(
|
130
131
|
blueprint: blueprint,
|
@@ -22,10 +22,6 @@ module Decidim
|
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
25
|
-
initializer "decidim_navigation_maps.admin_assets" do |app|
|
26
|
-
app.config.assets.precompile += %w(admin/decidim_navigation_maps_manifest.js admin/decidim_navigation_maps_manifest.css)
|
27
|
-
end
|
28
|
-
|
29
25
|
def load_seed
|
30
26
|
nil
|
31
27
|
end
|
@@ -9,10 +9,6 @@ module Decidim
|
|
9
9
|
class Engine < ::Rails::Engine
|
10
10
|
isolate_namespace Decidim::NavigationMaps
|
11
11
|
|
12
|
-
initializer "decidim_navigation_maps.assets" do |app|
|
13
|
-
app.config.assets.precompile += %w(decidim_navigation_maps_manifest.js decidim_navigation_maps_manifest.css)
|
14
|
-
end
|
15
|
-
|
16
12
|
initializer "decidim.navigation_maps.content_blocks" do
|
17
13
|
Decidim.content_blocks.register(:homepage, :navigation_map) do |content_block|
|
18
14
|
content_block.cell = "decidim/navigation_maps/content_blocks/navigation_map"
|
@@ -41,6 +37,10 @@ module Decidim
|
|
41
37
|
Cell::ViewModel.view_paths << File.expand_path("#{Decidim::NavigationMaps::Engine.root}/app/cells")
|
42
38
|
Cell::ViewModel.view_paths << File.expand_path("#{Decidim::NavigationMaps::Engine.root}/app/views") # for partials
|
43
39
|
end
|
40
|
+
|
41
|
+
initializer "decidim_notify.webpacker.assets_path" do
|
42
|
+
Decidim.register_assets_path File.expand_path("app/packs", root)
|
43
|
+
end
|
44
44
|
end
|
45
45
|
end
|
46
46
|
end
|
@@ -7,7 +7,7 @@ module Decidim
|
|
7
7
|
delegate :available_locales, to: :current_organization
|
8
8
|
|
9
9
|
def valid_blueprints
|
10
|
-
content_block_blueprints.
|
10
|
+
content_block_blueprints.joins(:image_attachment).order(:created_at)
|
11
11
|
end
|
12
12
|
|
13
13
|
def valid_blueprints?
|
@@ -5,8 +5,6 @@ require "decidim/navigation_maps/engine"
|
|
5
5
|
require "decidim/navigation_maps/admin_engine"
|
6
6
|
|
7
7
|
module Decidim
|
8
|
-
# This namespace holds the logic of the `NavigationMaps` component. This component
|
9
|
-
# allows users to create navigation_maps in a participatory space.
|
10
8
|
module NavigationMaps
|
11
9
|
autoload :NavigationMapCellHelpers, "decidim/navigation_maps/navigation_map_cell_helpers"
|
12
10
|
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "decidim/gem_manager"
|
4
|
+
|
5
|
+
namespace :decidim_navigation_maps do
|
6
|
+
namespace :webpacker do
|
7
|
+
desc "Installs Decidim Awesome webpacker files in Rails instance application"
|
8
|
+
task install: :environment do
|
9
|
+
raise "Decidim gem is not installed" if decidim_path.nil?
|
10
|
+
|
11
|
+
install_navigation_maps_npm
|
12
|
+
end
|
13
|
+
|
14
|
+
desc "Adds Decidim Awesome dependencies in package.json"
|
15
|
+
task upgrade: :environment do
|
16
|
+
raise "Decidim gem is not installed" if decidim_path.nil?
|
17
|
+
|
18
|
+
install_navigation_maps_npm
|
19
|
+
end
|
20
|
+
|
21
|
+
def install_navigation_maps_npm
|
22
|
+
navigation_maps_npm_dependencies.each do |type, packages|
|
23
|
+
system! "npm i --save-#{type} #{packages.join(" ")}"
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def navigation_maps_npm_dependencies
|
28
|
+
@navigation_maps_npm_dependencies ||= begin
|
29
|
+
package_json = JSON.parse(File.read(navigation_maps_path.join("package.json")))
|
30
|
+
|
31
|
+
{
|
32
|
+
prod: package_json["dependencies"].map { |package, version| "#{package}@#{version}" },
|
33
|
+
dev: package_json["devDependencies"].map { |package, version| "#{package}@#{version}" }
|
34
|
+
}.freeze
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
def navigation_maps_path
|
39
|
+
@navigation_maps_path ||= Pathname.new(navigation_maps_gemspec.full_gem_path) if Gem.loaded_specs.has_key?(gem_name)
|
40
|
+
end
|
41
|
+
|
42
|
+
def navigation_maps_gemspec
|
43
|
+
@navigation_maps_gemspec ||= Gem.loaded_specs[gem_name]
|
44
|
+
end
|
45
|
+
|
46
|
+
def rails_app_path
|
47
|
+
@rails_app_path ||= Rails.root
|
48
|
+
end
|
49
|
+
|
50
|
+
def system!(command)
|
51
|
+
system("cd #{rails_app_path} && #{command}") || abort("\n== Command #{command} failed ==")
|
52
|
+
end
|
53
|
+
|
54
|
+
def gem_name
|
55
|
+
"decidim-navigation_maps"
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
namespace :navigation_maps do
|
4
|
+
namespace :active_storage_migrations do
|
5
|
+
desc "Migrates editor images from Carrierwave to ActiveStorage"
|
6
|
+
task migrate_from_carrierwave: :environment do
|
7
|
+
stdout = Logger.new($stdout)
|
8
|
+
stdout.level = Logger::INFO
|
9
|
+
Rails.logger.extend(ActiveSupport::Logger.broadcast(stdout))
|
10
|
+
Decidim::Organization.find_each do |organization|
|
11
|
+
puts "Migrating Organization #{organization.id} (#{organization.host})..."
|
12
|
+
routes_mappings = []
|
13
|
+
Decidim::NavigationMaps::MigrateLegacyImagesJob.perform_now(organization.id, routes_mappings)
|
14
|
+
|
15
|
+
path = Rails.root.join("tmp/navigation_maps_editor_images_mappings.csv")
|
16
|
+
dirname = File.dirname(path)
|
17
|
+
FileUtils.mkdir_p(dirname) unless File.directory?(dirname)
|
18
|
+
File.open(path, "wb") do |file|
|
19
|
+
file.write(Decidim::Exporters::CSV.new(routes_mappings).export.read)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
desc "Checks editor images migrated from Carrierwave to ActiveStorage"
|
25
|
+
task check_migration_from_carrierwave: :environment do
|
26
|
+
logger = ActiveSupport::TaggedLogging.new(Logger.new($stdout))
|
27
|
+
|
28
|
+
Decidim::CarrierWaveMigratorService.check_migration(
|
29
|
+
klass: Decidim::NavigationMaps::Blueprint,
|
30
|
+
cw_attribute: "image",
|
31
|
+
cw_uploader: Decidim::NavigationMaps::Cw::BlueprintUploader,
|
32
|
+
as_attribute: "image",
|
33
|
+
logger: logger
|
34
|
+
)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
data/package.json
ADDED
@@ -0,0 +1,197 @@
|
|
1
|
+
{
|
2
|
+
"name": "decidim-module-navigation_maps",
|
3
|
+
"version": "1.0.0",
|
4
|
+
"description": "A Blueprint/Map navigation for Decidim",
|
5
|
+
"scripts": {
|
6
|
+
"lint": "eslint -c .eslintrc.json --ext .js app/packs/",
|
7
|
+
"lint-fix": "eslint -c .eslintrc.json --ext .js app/packs/ --fix",
|
8
|
+
"stylelint": "stylelint **/*.scss",
|
9
|
+
"stylelint-fix": "stylelint **/*.scss --fix"
|
10
|
+
},
|
11
|
+
"repository": {
|
12
|
+
"type": "git",
|
13
|
+
"url": "git+https://github.com/Platoniq/decidim-module-navigation_maps.git"
|
14
|
+
},
|
15
|
+
"keywords": [
|
16
|
+
"decidim"
|
17
|
+
],
|
18
|
+
"author": "Ivan Verges <ivan@platoniq.net>",
|
19
|
+
"license": "AGPL-3.0-or-later",
|
20
|
+
"bugs": {
|
21
|
+
"url": "https://github.com/Platoniq/decidim-module-navigation_maps/issues"
|
22
|
+
},
|
23
|
+
"homepage": "https://github.com/Platoniq/decidim-module-navigation_maps#readme",
|
24
|
+
"stylelint": {
|
25
|
+
"rules": {
|
26
|
+
"at-rule-empty-line-before": [
|
27
|
+
"always",
|
28
|
+
{
|
29
|
+
"except": [
|
30
|
+
"blockless-after-same-name-blockless",
|
31
|
+
"first-nested"
|
32
|
+
],
|
33
|
+
"ignore": [
|
34
|
+
"after-comment"
|
35
|
+
],
|
36
|
+
"ignoreAtRules": [
|
37
|
+
"else"
|
38
|
+
]
|
39
|
+
}
|
40
|
+
],
|
41
|
+
"at-rule-name-case": "lower",
|
42
|
+
"at-rule-semicolon-newline-after": "always",
|
43
|
+
"block-closing-brace-empty-line-before": "never",
|
44
|
+
"block-closing-brace-newline-after": "always",
|
45
|
+
"block-closing-brace-newline-before": "always-multi-line",
|
46
|
+
"block-closing-brace-space-before": "always-single-line",
|
47
|
+
"block-no-empty": true,
|
48
|
+
"block-opening-brace-newline-after": "always-multi-line",
|
49
|
+
"block-opening-brace-space-after": "always-single-line",
|
50
|
+
"block-opening-brace-space-before": "never",
|
51
|
+
"color-hex-case": "lower",
|
52
|
+
"color-hex-length": "short",
|
53
|
+
"color-no-invalid-hex": true,
|
54
|
+
"comment-empty-line-before": [
|
55
|
+
"always",
|
56
|
+
{
|
57
|
+
"except": [
|
58
|
+
"first-nested"
|
59
|
+
],
|
60
|
+
"ignore": [
|
61
|
+
"stylelint-commands"
|
62
|
+
]
|
63
|
+
}
|
64
|
+
],
|
65
|
+
"comment-no-empty": true,
|
66
|
+
"comment-whitespace-inside": "always",
|
67
|
+
"custom-property-empty-line-before": [
|
68
|
+
"always",
|
69
|
+
{
|
70
|
+
"except": [
|
71
|
+
"after-custom-property",
|
72
|
+
"first-nested"
|
73
|
+
],
|
74
|
+
"ignore": [
|
75
|
+
"after-comment",
|
76
|
+
"inside-single-line-block"
|
77
|
+
]
|
78
|
+
}
|
79
|
+
],
|
80
|
+
"declaration-bang-space-after": "never",
|
81
|
+
"declaration-bang-space-before": "always",
|
82
|
+
"declaration-block-no-duplicate-properties": [
|
83
|
+
true,
|
84
|
+
{
|
85
|
+
"ignore": [
|
86
|
+
"consecutive-duplicates-with-different-values"
|
87
|
+
]
|
88
|
+
}
|
89
|
+
],
|
90
|
+
"declaration-block-no-redundant-longhand-properties": true,
|
91
|
+
"declaration-block-no-shorthand-property-overrides": true,
|
92
|
+
"declaration-block-semicolon-newline-after": "always-multi-line",
|
93
|
+
"declaration-block-semicolon-space-after": "always-single-line",
|
94
|
+
"declaration-block-semicolon-space-before": "never",
|
95
|
+
"declaration-block-single-line-max-declarations": 1,
|
96
|
+
"declaration-block-trailing-semicolon": "always",
|
97
|
+
"declaration-colon-newline-after": "always-multi-line",
|
98
|
+
"declaration-colon-space-after": "always-single-line",
|
99
|
+
"declaration-colon-space-before": "never",
|
100
|
+
"declaration-empty-line-before": [
|
101
|
+
"always",
|
102
|
+
{
|
103
|
+
"except": [
|
104
|
+
"after-declaration",
|
105
|
+
"first-nested"
|
106
|
+
],
|
107
|
+
"ignore": [
|
108
|
+
"after-comment",
|
109
|
+
"inside-single-line-block"
|
110
|
+
]
|
111
|
+
}
|
112
|
+
],
|
113
|
+
"function-calc-no-unspaced-operator": true,
|
114
|
+
"function-comma-newline-after": "always-multi-line",
|
115
|
+
"function-comma-space-after": "always-single-line",
|
116
|
+
"function-comma-space-before": "never",
|
117
|
+
"function-linear-gradient-no-nonstandard-direction": true,
|
118
|
+
"function-max-empty-lines": 0,
|
119
|
+
"function-name-case": "lower",
|
120
|
+
"function-parentheses-newline-inside": "always-multi-line",
|
121
|
+
"function-parentheses-space-inside": "never-single-line",
|
122
|
+
"function-whitespace-after": "always",
|
123
|
+
"indentation": 2,
|
124
|
+
"keyframe-declaration-no-important": true,
|
125
|
+
"length-zero-no-unit": true,
|
126
|
+
"max-empty-lines": 1,
|
127
|
+
"media-feature-colon-space-after": "always",
|
128
|
+
"media-feature-colon-space-before": "never",
|
129
|
+
"media-feature-name-case": "lower",
|
130
|
+
"media-feature-name-no-unknown": true,
|
131
|
+
"media-feature-parentheses-space-inside": "never",
|
132
|
+
"media-feature-range-operator-space-after": "always",
|
133
|
+
"media-feature-range-operator-space-before": "always",
|
134
|
+
"media-query-list-comma-newline-after": "always-multi-line",
|
135
|
+
"media-query-list-comma-space-after": "always-single-line",
|
136
|
+
"media-query-list-comma-space-before": "never",
|
137
|
+
"no-empty-source": true,
|
138
|
+
"no-eol-whitespace": true,
|
139
|
+
"no-extra-semicolons": true,
|
140
|
+
"no-invalid-double-slash-comments": true,
|
141
|
+
"no-missing-end-of-source-newline": true,
|
142
|
+
"number-leading-zero": "never",
|
143
|
+
"number-no-trailing-zeros": true,
|
144
|
+
"property-case": "lower",
|
145
|
+
"property-no-unknown": true,
|
146
|
+
"rule-empty-line-before": [
|
147
|
+
"always-multi-line",
|
148
|
+
{
|
149
|
+
"except": [
|
150
|
+
"first-nested"
|
151
|
+
],
|
152
|
+
"ignore": [
|
153
|
+
"after-comment"
|
154
|
+
]
|
155
|
+
}
|
156
|
+
],
|
157
|
+
"selector-attribute-brackets-space-inside": "never",
|
158
|
+
"selector-attribute-operator-space-after": "never",
|
159
|
+
"selector-attribute-operator-space-before": "never",
|
160
|
+
"selector-combinator-space-after": "always",
|
161
|
+
"selector-combinator-space-before": "always",
|
162
|
+
"selector-descendant-combinator-no-non-space": true,
|
163
|
+
"selector-list-comma-newline-after": "always",
|
164
|
+
"selector-list-comma-space-before": "never",
|
165
|
+
"selector-max-empty-lines": 0,
|
166
|
+
"selector-pseudo-class-case": "lower",
|
167
|
+
"selector-pseudo-class-no-unknown": true,
|
168
|
+
"selector-pseudo-class-parentheses-space-inside": "never",
|
169
|
+
"selector-pseudo-element-case": "lower",
|
170
|
+
"selector-pseudo-element-colon-notation": "double",
|
171
|
+
"selector-pseudo-element-no-unknown": true,
|
172
|
+
"selector-type-case": "lower",
|
173
|
+
"selector-type-no-unknown": true,
|
174
|
+
"shorthand-property-no-redundant-values": true,
|
175
|
+
"string-no-newline": true,
|
176
|
+
"unit-case": "lower",
|
177
|
+
"unit-no-unknown": true,
|
178
|
+
"value-list-comma-newline-after": "always-multi-line",
|
179
|
+
"value-list-comma-space-after": "always-single-line",
|
180
|
+
"value-list-comma-space-before": "never",
|
181
|
+
"value-list-max-empty-lines": 0
|
182
|
+
}
|
183
|
+
},
|
184
|
+
"dependencies": {
|
185
|
+
"@geoman-io/leaflet-geoman-free": "^2.11.4",
|
186
|
+
"jquery-form": "^4.3.0",
|
187
|
+
"jsviews": "^1.0.11"
|
188
|
+
},
|
189
|
+
"devDependencies": {
|
190
|
+
"eslint": "^7.32.0",
|
191
|
+
"eslint": "^7.25.0",
|
192
|
+
"eslint-config-prettier": "^8.2.0",
|
193
|
+
"eslint-config-standard": "^11.0.0",
|
194
|
+
"eslint-plugin-import": "^2.22.0",
|
195
|
+
"stylelint": "13.11.0"
|
196
|
+
}
|
197
|
+
}
|