diff --git a/CHANGELOG.md b/CHANGELOG.md index 586374214..cc58f451e 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,19 @@ Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +* [PR-553](https://github.com/itk-dev/deltag.aarhus.dk/pull/553) + * Add animated svg icons comment, reply, thumbs-up + +* [PR-552](https://github.com/itk-dev/deltag.aarhus.dk/pull/552) + * Add styling for dialog proposal categories + +* [PR-551](https://github.com/itk-dev/deltag.aarhus.dk/pull/551) + * Remove old video field and disabled Azure video module + * Enable Comments module + * Add Support comment flag + * Add Honeypot module + * Add ITK Video module and Video paragraph for Video Tool + ## [4.13.1] - 2025-09-15 * [PR-548](https://github.com/itk-dev/deltag.aarhus.dk/pull/548) diff --git a/composer.json b/composer.json index f0411e6a5..3ae1e5a3b 100755 --- a/composer.json +++ b/composer.json @@ -37,13 +37,15 @@ "drupal/entity_browser": "^2.6", "drupal/entityqueue": "^1.0@alpha", "drupal/field_group": "^3.0", - "drupal/flag": "^4.0@alpha", + "drupal/file_resup": "^2.0", + "drupal/flag": "^5.0", "drupal/hoeringsportal_audit_log": "^1.0", "drupal/hoeringsportal_citizen_proposal": "^1.0", "drupal/hoeringsportal_citizen_proposal_archiving": "^1.0", "drupal/hoeringsportal_data": "^1.0", "drupal/hoeringsportal_deskpro": "^1.0", "drupal/hoeringsportal_openid_connect": "^1.0", + "drupal/honeypot": "^2.2", "drupal/image_widget_crop": "^3.0", "drupal/inline_entity_form": "^3.0", "drupal/jquery_ui_accordion": "^2.0", @@ -64,6 +66,7 @@ "drupal/textfield_counter": "^2.5", "drupal/token_filter": "^2.1", "drupal/toolbar_visibility": "dev-3435073-automated-drupal-11#2b0a7e687bdef04e80a0a765a8e6eb8f7b846d03", + "drupal/twig_extensions": "^2.5", "drupal/twig_tweak": "^3.2", "drupal/upgrade_status": "^4.3", "drupal/view_custom_table": "^2.0", @@ -78,6 +81,7 @@ "itk-dev/itk_azure_video": "^2.0", "itk-dev/itk_pretix": "^1.3", "itk-dev/itk_siteimprove": "^1.2", + "itk-dev/itk_video": "^1.0", "itk-dev/serviceplatformen": "^1.5", "itk-dev/web_accessibility_statement": "^1.0", "onelogin/php-saml": "^4.0", diff --git a/composer.lock b/composer.lock index cbc6ffc2a..dd4772678 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "b414c55f416209302d2d1f1f78549451", + "content-hash": "fa1f35924a98cade3aa6db37ae3d0948", "packages": [ { "name": "asm89/stack-cors", @@ -3452,19 +3452,67 @@ "issues": "https://www.drupal.org/project/issues/field_group" } }, + { + "name": "drupal/file_resup", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/file_resup.git", + "reference": "2.0.3" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/file_resup-2.0.3.zip", + "reference": "2.0.3", + "shasum": "e10a6ad658beabef280953a9d0ee1df46dbdd318" + }, + "require": { + "drupal/core": "^9 || ^10 || ^11" + }, + "type": "drupal-module", + "extra": { + "drupal": { + "version": "2.0.3", + "datestamp": "1741046701", + "security-coverage": { + "status": "covered", + "message": "Covered by Drupal's security advisory policy" + } + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "anrikun", + "homepage": "https://www.drupal.org/user/410199" + }, + { + "name": "tim bozeman", + "homepage": "https://www.drupal.org/user/2241356" + } + ], + "description": "Allows users to add large files, multiple files, and resume uploads.", + "homepage": "https://www.drupal.org/project/file_resup", + "support": { + "source": "https://git.drupalcode.org/project/file_resup" + } + }, { "name": "drupal/flag", - "version": "4.0.0-beta7", + "version": "5.0.1", "source": { "type": "git", "url": "https://git.drupalcode.org/project/flag.git", - "reference": "8.x-4.0-beta7" + "reference": "5.0.1" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/flag-8.x-4.0-beta7.zip", - "reference": "8.x-4.0-beta7", - "shasum": "6f74fcaec0db3c54934cdf8f25acb67c0c2d7f07" + "url": "https://ftp.drupal.org/files/projects/flag-5.0.1.zip", + "reference": "5.0.1", + "shasum": "8487a0d34b3c52f47d8af1631e1947497057f500" }, "require": { "drupal/core": "^10.3 || ^11" @@ -3472,11 +3520,11 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-4.0-beta7", - "datestamp": "1743851261", + "version": "5.0.1", + "datestamp": "1757658472", "security-coverage": { - "status": "not-covered", - "message": "Beta releases are not covered by Drupal security advisories." + "status": "covered", + "message": "Covered by Drupal's security advisory policy" } } }, @@ -3689,6 +3737,76 @@ "relative": true } }, + { + "name": "drupal/honeypot", + "version": "2.2.2", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/honeypot.git", + "reference": "2.2.2" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/honeypot-2.2.2.zip", + "reference": "2.2.2", + "shasum": "828872d31d1a2c37a818cacae7fcd77a60996c66" + }, + "require": { + "drupal/core": "^10.3 || ^11" + }, + "require-dev": { + "drupal/rules": "^4.0", + "drupal/webform": "^6.2" + }, + "type": "drupal-module", + "extra": { + "drupal": { + "version": "2.2.2", + "datestamp": "1739854442", + "security-coverage": { + "status": "covered", + "message": "Covered by Drupal's security advisory policy" + } + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Jeff Geerling", + "homepage": "https://www.drupal.org/user/389011", + "email": "geerlingguy@mac.com" + }, + { + "name": "manuel garcia", + "homepage": "https://www.drupal.org/user/213194" + }, + { + "name": "tr", + "homepage": "https://www.drupal.org/user/202830" + }, + { + "name": "vijaycs85", + "homepage": "https://www.drupal.org/user/93488" + } + ], + "description": "Mitigates spam form submissions using the honeypot method.", + "homepage": "https://www.drupal.org/project/honeypot", + "keywords": [ + "deterrent", + "form", + "honeypot", + "honeytrap", + "php", + "spam" + ], + "support": { + "source": "https://git.drupalcode.org/project/honeypot", + "issues": "https://www.drupal.org/project/issues/honeypot" + } + }, { "name": "drupal/image_widget_crop", "version": "3.0.0", @@ -5284,6 +5402,62 @@ }, "time": "2024-12-10T15:53:09+00:00" }, + { + "name": "drupal/twig_extensions", + "version": "2.5.0", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/twig_extensions.git", + "reference": "8.x-2.5" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/twig_extensions-8.x-2.5.zip", + "reference": "8.x-2.5", + "shasum": "bdd02c598780cc448c209dfe2660b68b5fa7d308" + }, + "require": { + "drupal/core": "^10 || ^11" + }, + "type": "drupal-module", + "extra": { + "drupal": { + "version": "8.x-2.5", + "datestamp": "1749640515", + "security-coverage": { + "status": "covered", + "message": "Covered by Drupal's security advisory policy" + } + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "dieterholvoet", + "homepage": "https://www.drupal.org/user/3567222" + }, + { + "name": "joelpittet", + "homepage": "https://www.drupal.org/user/160302" + }, + { + "name": "joseph.olstad", + "homepage": "https://www.drupal.org/user/1321830" + }, + { + "name": "smulvih2", + "homepage": "https://www.drupal.org/user/795442" + } + ], + "description": "Adds the twig/extensions package to Drupal, providing common additional features for Twig that do not directly belong in core.", + "homepage": "https://www.drupal.org/project/twig_extensions", + "support": { + "source": "https://git.drupalcode.org/project/twig_extensions" + } + }, { "name": "drupal/twig_tweak", "version": "3.4.1", @@ -7129,6 +7303,49 @@ }, "time": "2025-06-27T14:13:39+00:00" }, + { + "name": "itk-dev/itk_video", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/itk-dev/itk_video.git", + "reference": "2467441cea83fa8085605d59690242e30b71ab0b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/itk-dev/itk_video/zipball/2467441cea83fa8085605d59690242e30b71ab0b", + "reference": "2467441cea83fa8085605d59690242e30b71ab0b", + "shasum": "" + }, + "require": { + "drush/drush": "^12 || ^13", + "ext-dom": "*", + "psr/cache": "^3.0" + }, + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "^0.7.1", + "drupal/coder": "^8.3", + "ergebnis/composer-normalize": "^2.44", + "mglaman/phpstan-drupal": "^2.0", + "phpstan/extension-installer": "^1.4", + "phpstan/phpstan": "^2.1", + "phpstan/phpstan-deprecation-rules": "^2.0" + }, + "type": "drupal-module", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Module that provides Video integration", + "keywords": [ + "drupal" + ], + "support": { + "issues": "https://github.com/itk-dev/itk_video/issues", + "source": "https://github.com/itk-dev/itk_video/tree/1.0.0" + }, + "time": "2025-10-20T11:13:09+00:00" + }, { "name": "itk-dev/openid-connect", "version": "3.2.1", @@ -20865,7 +21082,6 @@ "chx/drupal-issue-fork": 20, "drupal/email_registration": 5, "drupal/entityqueue": 15, - "drupal/flag": 15, "drupal/openid_connect": 15, "drupal/toolbar_visibility": 20, "drupal/viewsreference": 10, diff --git a/config/sync/comment.settings.yml b/config/sync/comment.settings.yml new file mode 100644 index 000000000..5b7ad98a8 --- /dev/null +++ b/config/sync/comment.settings.yml @@ -0,0 +1,3 @@ +_core: + default_config_hash: YNUW2Ij5uE7a4oaXp3i_2lvaFdYM1zNKPPfnEjB0jEc +log_ip_addresses: false diff --git a/config/sync/comment.type.early_inclusion_comment.yml b/config/sync/comment.type.early_inclusion_comment.yml new file mode 100644 index 000000000..ad2b1e65f --- /dev/null +++ b/config/sync/comment.type.early_inclusion_comment.yml @@ -0,0 +1,8 @@ +uuid: f524e7fb-c700-4c0a-8ea1-f1f993fc1a2a +langcode: da +status: true +dependencies: { } +id: early_inclusion_comment +label: Comment +target_entity_type_id: node +description: 'Comments related to early inclusion' diff --git a/config/sync/core.base_field_override.node.dialogue.promote.yml b/config/sync/core.base_field_override.node.dialogue.promote.yml new file mode 100644 index 000000000..58b886311 --- /dev/null +++ b/config/sync/core.base_field_override.node.dialogue.promote.yml @@ -0,0 +1,22 @@ +uuid: 0a2a5a5c-f160-4b5c-bf59-a75341db0c24 +langcode: da +status: true +dependencies: + config: + - node.type.dialogue +id: node.dialogue.promote +field_name: promote +entity_type: node +bundle: dialogue +label: 'Promoted to front page' +description: '' +required: false +translatable: true +default_value: + - + value: 0 +default_value_callback: '' +settings: + on_label: 'On' + off_label: 'Off' +field_type: boolean diff --git a/config/sync/core.base_field_override.node.dialogue.status.yml b/config/sync/core.base_field_override.node.dialogue.status.yml new file mode 100644 index 000000000..14432c000 --- /dev/null +++ b/config/sync/core.base_field_override.node.dialogue.status.yml @@ -0,0 +1,22 @@ +uuid: 69b80e94-9ff6-4499-a636-4224450a2c28 +langcode: da +status: true +dependencies: + config: + - node.type.dialogue +id: node.dialogue.status +field_name: status +entity_type: node +bundle: dialogue +label: Udgivet +description: '' +required: false +translatable: true +default_value: + - + value: 0 +default_value_callback: '' +settings: + on_label: 'On' + off_label: 'Off' +field_type: boolean diff --git a/config/sync/core.base_field_override.node.dialogue_proposal.promote.yml b/config/sync/core.base_field_override.node.dialogue_proposal.promote.yml new file mode 100644 index 000000000..e4d05402d --- /dev/null +++ b/config/sync/core.base_field_override.node.dialogue_proposal.promote.yml @@ -0,0 +1,22 @@ +uuid: de7a9b01-3c91-46bf-b779-29641009f7c1 +langcode: da +status: true +dependencies: + config: + - node.type.dialogue_proposal +id: node.dialogue_proposal.promote +field_name: promote +entity_type: node +bundle: dialogue_proposal +label: 'Promoted to front page' +description: '' +required: false +translatable: true +default_value: + - + value: 0 +default_value_callback: '' +settings: + on_label: 'On' + off_label: 'Off' +field_type: boolean diff --git a/config/sync/core.base_field_override.node.dialogue_proposal.title.yml b/config/sync/core.base_field_override.node.dialogue_proposal.title.yml new file mode 100644 index 000000000..8706e8250 --- /dev/null +++ b/config/sync/core.base_field_override.node.dialogue_proposal.title.yml @@ -0,0 +1,18 @@ +uuid: f98bf0d7-6ebc-486b-b1c5-2895395bd739 +langcode: da +status: true +dependencies: + config: + - node.type.dialogue_proposal +id: node.dialogue_proposal.title +field_name: title +entity_type: node +bundle: dialogue_proposal +label: 'Proposal title' +description: '' +required: true +translatable: true +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/config/sync/core.entity_form_display.comment.early_inclusion_comment.default.yml b/config/sync/core.entity_form_display.comment.early_inclusion_comment.default.yml new file mode 100644 index 000000000..3bdf32daf --- /dev/null +++ b/config/sync/core.entity_form_display.comment.early_inclusion_comment.default.yml @@ -0,0 +1,24 @@ +uuid: 231d1efa-b51c-40bd-8b41-4653beeabb38 +langcode: da +status: true +dependencies: + config: + - comment.type.early_inclusion_comment + - field.field.comment.early_inclusion_comment.field_comment +id: comment.early_inclusion_comment.default +targetEntityType: comment +bundle: early_inclusion_comment +mode: default +content: + field_comment: + type: string_textarea + weight: 0 + region: content + settings: + rows: 5 + placeholder: '' + third_party_settings: { } +hidden: + author: true + langcode: true + subject: true diff --git a/config/sync/core.entity_form_display.node.dialogue.default.yml b/config/sync/core.entity_form_display.node.dialogue.default.yml new file mode 100644 index 000000000..1734f2708 --- /dev/null +++ b/config/sync/core.entity_form_display.node.dialogue.default.yml @@ -0,0 +1,181 @@ +uuid: d546e211-6219-4f6c-88d0-f9d2d6e7f63d +langcode: da +status: true +dependencies: + config: + - entity_browser.browser.itk_image_browser + - field.field.node.dialogue.field_area + - field.field.node.dialogue.field_content_sections + - field.field.node.dialogue.field_department + - field.field.node.dialogue.field_dialogue_proposal_category + - field.field.node.dialogue.field_dialogue_proposal_config + - field.field.node.dialogue.field_dialogue_proposal_location + - field.field.node.dialogue.field_dialogue_proposal_zoom + - field.field.node.dialogue.field_teaser + - field.field.node.dialogue.field_top_images + - field.field.node.dialogue.field_type + - node.type.dialogue + module: + - entity_browser + - field_group + - hoeringsportal_data + - paragraphs +third_party_settings: + field_group: + group_information: + children: + - field_department + - field_type + - field_area + label: Informationer + region: content + parent_name: '' + weight: 6 + format_type: details + format_settings: + classes: '' + show_empty_fields: true + id: '' + label_as_html: false + open: true + description: '' + required_fields: false + group_proposal_settings: + children: + - field_dialogue_proposal_config + - field_dialogue_proposal_category + - field_dialogue_proposal_location + - field_dialogue_proposal_zoom + label: 'Proposal settings' + region: content + parent_name: '' + weight: 5 + format_type: details + format_settings: + classes: '' + show_empty_fields: false + id: '' + label_as_html: false + open: true + description: '' + required_fields: false +id: node.dialogue.default +targetEntityType: node +bundle: dialogue +mode: default +content: + field_area: + type: options_buttons + weight: 7 + region: content + settings: { } + third_party_settings: { } + field_content_sections: + type: paragraphs + weight: 4 + region: content + settings: + title: Paragraph + title_plural: Paragraphs + edit_mode: closed_expand_nested + closed_mode: summary + autocollapse: none + closed_mode_threshold: 0 + add_mode: modal + form_display_mode: default + default_paragraph_type: _none + features: + add_above: '0' + collapse_edit_all: collapse_edit_all + convert: '0' + duplicate: duplicate + third_party_settings: { } + field_department: + type: options_buttons + weight: 5 + region: content + settings: { } + third_party_settings: { } + field_dialogue_proposal_category: + type: options_buttons + weight: 29 + region: content + settings: { } + third_party_settings: { } + field_dialogue_proposal_config: + type: options_buttons + weight: 28 + region: content + settings: { } + third_party_settings: { } + field_dialogue_proposal_location: + type: hoeringsportal_data_map_default + weight: 30 + region: content + settings: + available_types: + point: point + localplanids: 0 + localplanids_node: 0 + third_party_settings: { } + field_dialogue_proposal_zoom: + type: string_textfield + weight: 31 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + field_teaser: + type: string_textarea + weight: 2 + region: content + settings: + rows: 5 + placeholder: '' + third_party_settings: { } + field_top_images: + type: entity_browser_entity_reference + weight: 1 + region: content + settings: + entity_browser: itk_image_browser + field_widget_display: rendered_entity + field_widget_edit: true + field_widget_remove: true + field_widget_replace: false + open: false + field_widget_display_settings: + view_mode: material_display + selection_mode: selection_append + third_party_settings: { } + field_type: + type: options_buttons + weight: 6 + region: content + settings: { } + third_party_settings: { } + status: + type: boolean_checkbox + weight: 3 + region: content + settings: + display_label: true + third_party_settings: { } + title: + type: string_textfield + weight: 0 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } +hidden: + created: true + langcode: true + path: true + promote: true + published_at: true + sticky: true + uid: true + url_redirects: true diff --git a/config/sync/core.entity_form_display.node.dialogue_proposal.default.yml b/config/sync/core.entity_form_display.node.dialogue_proposal.default.yml new file mode 100644 index 000000000..ad9f5534f --- /dev/null +++ b/config/sync/core.entity_form_display.node.dialogue_proposal.default.yml @@ -0,0 +1,82 @@ +uuid: f9fb8e18-a231-4417-a860-58efbca035dc +langcode: da +status: true +dependencies: + config: + - field.field.node.dialogue_proposal.field_comments + - field.field.node.dialogue_proposal.field_dialogue + - field.field.node.dialogue_proposal.field_dialogue_proposal_category + - field.field.node.dialogue_proposal.field_dialogue_proposal_descr + - field.field.node.dialogue_proposal.field_image_upload + - field.field.node.dialogue_proposal.field_location + - image.style.thumbnail + - node.type.dialogue_proposal + module: + - hoeringsportal_data + - svg_image +id: node.dialogue_proposal.default +targetEntityType: node +bundle: dialogue_proposal +mode: default +content: + field_dialogue: + type: entity_reference_autocomplete + weight: 5 + region: content + settings: + match_operator: CONTAINS + match_limit: 10 + size: 60 + placeholder: '' + third_party_settings: { } + field_dialogue_proposal_category: + type: options_buttons + weight: 2 + region: content + settings: { } + third_party_settings: { } + field_dialogue_proposal_descr: + type: string_textarea + weight: 1 + region: content + settings: + rows: 5 + placeholder: '' + third_party_settings: { } + field_image_upload: + type: image_image + weight: 3 + region: content + settings: + progress_indicator: throbber + preview_image_style: thumbnail + third_party_settings: { } + field_location: + type: hoeringsportal_data_map_default + weight: 4 + region: content + settings: + available_types: + point: point + localplanids: 0 + localplanids_node: 0 + third_party_settings: { } + title: + type: string_textfield + weight: 0 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } +hidden: + created: true + field_comments: true + langcode: true + path: true + promote: true + published_at: true + status: true + sticky: true + uid: true + url_redirects: true diff --git a/config/sync/core.entity_form_display.node.hearing.default.yml b/config/sync/core.entity_form_display.node.hearing.default.yml index e99cbc6c2..5239bd827 100644 --- a/config/sync/core.entity_form_display.node.hearing.default.yml +++ b/config/sync/core.entity_form_display.node.hearing.default.yml @@ -28,9 +28,9 @@ dependencies: - field.field.node.hearing.field_tags - field.field.node.hearing.field_teaser - field.field.node.hearing.field_type - - field.field.node.hearing.field_video_embed - node.type.hearing module: + - allowed_formats - datetime - entity_browser - field_group @@ -93,7 +93,7 @@ third_party_settings: label: eDoc region: content parent_name: '' - weight: 12 + weight: 11 format_type: details format_settings: classes: '' @@ -106,7 +106,7 @@ third_party_settings: label: Kontakt region: content parent_name: '' - weight: 13 + weight: 12 format_type: details format_settings: classes: '' @@ -120,7 +120,7 @@ third_party_settings: label: 'Vil du vide mere?' region: content parent_name: '' - weight: 15 + weight: 14 format_type: details format_settings: classes: '' @@ -134,7 +134,7 @@ third_party_settings: label: GetOrganized region: content parent_name: '' - weight: 14 + weight: 13 format_type: details format_settings: classes: '' @@ -150,7 +150,7 @@ third_party_settings: label: Høringssvarsystem region: content parent_name: '' - weight: 17 + weight: 16 format_type: details format_settings: classes: '' @@ -166,13 +166,13 @@ mode: default content: field_area: type: options_buttons - weight: 32 + weight: 35 region: content settings: { } third_party_settings: { } field_contact: type: text_textarea - weight: 12 + weight: 15 region: content settings: rows: 5 @@ -180,13 +180,13 @@ content: third_party_settings: { } field_delete_date: type: datetime_default - weight: 28 + weight: 31 region: content settings: { } third_party_settings: { } field_department: type: options_buttons - weight: 35 + weight: 17 region: content settings: { } third_party_settings: { } @@ -200,7 +200,7 @@ content: third_party_settings: { } field_deskpro_agent_email: type: email_default - weight: 9 + weight: 15 region: content settings: placeholder: '' @@ -208,7 +208,7 @@ content: third_party_settings: { } field_deskpro_department_id: type: string_textfield - weight: 8 + weight: 14 region: content settings: size: 60 @@ -216,7 +216,7 @@ content: third_party_settings: { } field_edoc_casefile_id: type: string_textfield - weight: 11 + weight: 14 region: content settings: size: 60 @@ -248,13 +248,13 @@ content: third_party_settings: { } field_lokalplaner: type: hoeringsportal_data_localplan_default - weight: 30 + weight: 33 region: content settings: { } third_party_settings: { } field_map: type: hoeringsportal_data_map_default - weight: 6 + weight: 5 region: content settings: available_types: @@ -299,22 +299,29 @@ content: settings: rows: 5 placeholder: '' - third_party_settings: { } + third_party_settings: + maxlength: + maxlength_js: null + maxlength_js_label: 'Content limited to @limit characters, remaining: @remaining' + maxlength_js_enforce: false + allowed_formats: + hide_help: '0' + hide_guidelines: '0' field_project_reference: type: options_select - weight: 31 + weight: 34 region: content settings: { } third_party_settings: { } field_reply_deadline: type: datetime_default - weight: 27 + weight: 30 region: content settings: { } third_party_settings: { } field_start_date: type: datetime_default - weight: 26 + weight: 29 region: content settings: { } third_party_settings: { } @@ -328,18 +335,10 @@ content: third_party_settings: { } field_type: type: options_buttons - weight: 29 + weight: 32 region: content settings: { } third_party_settings: { } - field_video_embed: - type: string_textarea - weight: 5 - region: content - settings: - rows: 3 - placeholder: '' - third_party_settings: { } published_at: type: publication_date_timestamp weight: 10 @@ -366,7 +365,7 @@ content: maxlength_js_label: 'Content limited to @limit characters, remaining: @remaining' maxlength_js_enforce: false url_redirects: - weight: 16 + weight: 15 region: content settings: { } third_party_settings: { } diff --git a/config/sync/core.entity_form_display.node.landing_page.default.yml b/config/sync/core.entity_form_display.node.landing_page.default.yml index 713b9ca61..c666bffee 100644 --- a/config/sync/core.entity_form_display.node.landing_page.default.yml +++ b/config/sync/core.entity_form_display.node.landing_page.default.yml @@ -4,6 +4,7 @@ status: true dependencies: config: - entity_browser.browser.itk_image_browser + - field.field.node.landing_page.field_header_label - field.field.node.landing_page.field_media_image_single - field.field.node.landing_page.field_section - field.field.node.landing_page.field_show_page_title @@ -19,9 +20,17 @@ targetEntityType: node bundle: landing_page mode: default content: + field_header_label: + type: string_textfield + weight: 1 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } field_media_image_single: type: entity_browser_entity_reference - weight: 3 + weight: 4 region: content settings: entity_browser: itk_image_browser @@ -36,7 +45,7 @@ content: third_party_settings: { } field_section: type: paragraphs - weight: 4 + weight: 5 region: content settings: title: sektion @@ -56,14 +65,14 @@ content: third_party_settings: { } field_show_page_title: type: boolean_checkbox - weight: 1 + weight: 2 region: content settings: display_label: true third_party_settings: { } field_teaser: type: string_textarea - weight: 2 + weight: 3 region: content settings: rows: 5 @@ -71,19 +80,19 @@ content: third_party_settings: { } path: type: path - weight: 6 + weight: 7 region: content settings: { } third_party_settings: { } published_at: type: publication_date_timestamp - weight: 8 + weight: 9 region: content settings: { } third_party_settings: { } status: type: boolean_checkbox - weight: 7 + weight: 8 region: content settings: display_label: true @@ -98,7 +107,7 @@ content: third_party_settings: { } uid: type: entity_reference_autocomplete - weight: 5 + weight: 6 region: content settings: match_operator: CONTAINS @@ -107,7 +116,7 @@ content: placeholder: '' third_party_settings: { } url_redirects: - weight: 9 + weight: 10 region: content settings: { } third_party_settings: { } diff --git a/config/sync/core.entity_form_display.paragraph.video.default.yml b/config/sync/core.entity_form_display.paragraph.video.default.yml new file mode 100644 index 000000000..27dba7831 --- /dev/null +++ b/config/sync/core.entity_form_display.paragraph.video.default.yml @@ -0,0 +1,25 @@ +uuid: 13c23b13-33a2-4839-aa78-901fc3b3a3be +langcode: da +status: true +dependencies: + config: + - field.field.paragraph.video.field_video + - paragraphs.paragraphs_type.video + module: + - itk_video +id: paragraph.video.default +targetEntityType: paragraph +bundle: video +mode: default +content: + field_video: + type: itk_video_widget + weight: 0 + region: content + settings: + placeholder_url: '' + placeholder_title: '' + third_party_settings: { } +hidden: + created: true + status: true diff --git a/config/sync/core.entity_view_display.comment.early_inclusion_comment.default.yml b/config/sync/core.entity_view_display.comment.early_inclusion_comment.default.yml new file mode 100644 index 000000000..c356e9d00 --- /dev/null +++ b/config/sync/core.entity_view_display.comment.early_inclusion_comment.default.yml @@ -0,0 +1,28 @@ +uuid: b46bd223-172f-4262-8850-9722c21c895a +langcode: da +status: true +dependencies: + config: + - comment.type.early_inclusion_comment + - field.field.comment.early_inclusion_comment.field_comment +id: comment.early_inclusion_comment.default +targetEntityType: comment +bundle: early_inclusion_comment +mode: default +content: + field_comment: + type: basic_string + label: hidden + settings: { } + third_party_settings: { } + weight: 11 + region: content + flag_support_comment: + settings: { } + third_party_settings: { } + weight: 10 + region: content +hidden: + langcode: true + links: true + search_api_excerpt: true diff --git a/config/sync/core.entity_view_display.node.citizen_proposal.hearing_ticket_add.yml b/config/sync/core.entity_view_display.node.citizen_proposal.hearing_ticket_add.yml new file mode 100644 index 000000000..eb73a539e --- /dev/null +++ b/config/sync/core.entity_view_display.node.citizen_proposal.hearing_ticket_add.yml @@ -0,0 +1,54 @@ +uuid: 36272da6-85ec-49f0-860c-b2d987c785b1 +langcode: da +status: true +dependencies: + config: + - core.entity_view_mode.node.hearing_ticket_add + - field.field.node.citizen_proposal.field_author_allow_email + - field.field.node.citizen_proposal.field_author_email + - field.field.node.citizen_proposal.field_author_email_display + - field.field.node.citizen_proposal.field_author_name + - field.field.node.citizen_proposal.field_author_phone + - field.field.node.citizen_proposal.field_author_uuid + - field.field.node.citizen_proposal.field_content_state + - field.field.node.citizen_proposal.field_getorganized_case_id + - field.field.node.citizen_proposal.field_more_info + - field.field.node.citizen_proposal.field_proposal + - field.field.node.citizen_proposal.field_remarks + - field.field.node.citizen_proposal.field_vote_end + - field.field.node.citizen_proposal.field_vote_start + - node.type.citizen_proposal + module: + - user +id: node.citizen_proposal.hearing_ticket_add +targetEntityType: node +bundle: citizen_proposal +mode: hearing_ticket_add +content: + links: + settings: { } + third_party_settings: { } + weight: 100 + region: content + sharing_buttons: + settings: { } + third_party_settings: { } + weight: 100 + region: content +hidden: + field_author_allow_email: true + field_author_email: true + field_author_email_display: true + field_author_name: true + field_author_phone: true + field_author_uuid: true + field_content_state: true + field_getorganized_case_id: true + field_more_info: true + field_proposal: true + field_remarks: true + field_vote_end: true + field_vote_start: true + langcode: true + published_at: true + search_api_excerpt: true diff --git a/config/sync/core.entity_view_display.node.citizen_proposal.hearing_ticket_view.yml b/config/sync/core.entity_view_display.node.citizen_proposal.hearing_ticket_view.yml new file mode 100644 index 000000000..b10f08256 --- /dev/null +++ b/config/sync/core.entity_view_display.node.citizen_proposal.hearing_ticket_view.yml @@ -0,0 +1,54 @@ +uuid: 93ee4e68-5ee4-4d11-b067-34a56a855249 +langcode: da +status: true +dependencies: + config: + - core.entity_view_mode.node.hearing_ticket_view + - field.field.node.citizen_proposal.field_author_allow_email + - field.field.node.citizen_proposal.field_author_email + - field.field.node.citizen_proposal.field_author_email_display + - field.field.node.citizen_proposal.field_author_name + - field.field.node.citizen_proposal.field_author_phone + - field.field.node.citizen_proposal.field_author_uuid + - field.field.node.citizen_proposal.field_content_state + - field.field.node.citizen_proposal.field_getorganized_case_id + - field.field.node.citizen_proposal.field_more_info + - field.field.node.citizen_proposal.field_proposal + - field.field.node.citizen_proposal.field_remarks + - field.field.node.citizen_proposal.field_vote_end + - field.field.node.citizen_proposal.field_vote_start + - node.type.citizen_proposal + module: + - user +id: node.citizen_proposal.hearing_ticket_view +targetEntityType: node +bundle: citizen_proposal +mode: hearing_ticket_view +content: + links: + settings: { } + third_party_settings: { } + weight: 100 + region: content + sharing_buttons: + settings: { } + third_party_settings: { } + weight: 100 + region: content +hidden: + field_author_allow_email: true + field_author_email: true + field_author_email_display: true + field_author_name: true + field_author_phone: true + field_author_uuid: true + field_content_state: true + field_getorganized_case_id: true + field_more_info: true + field_proposal: true + field_remarks: true + field_vote_end: true + field_vote_start: true + langcode: true + published_at: true + search_api_excerpt: true diff --git a/config/sync/core.entity_view_display.node.dialogue.citizen_proposal_add.yml b/config/sync/core.entity_view_display.node.dialogue.citizen_proposal_add.yml new file mode 100644 index 000000000..d3464f194 --- /dev/null +++ b/config/sync/core.entity_view_display.node.dialogue.citizen_proposal_add.yml @@ -0,0 +1,48 @@ +uuid: 554b7ea3-c8e7-4b12-819e-92b1dae1a34a +langcode: da +status: false +dependencies: + config: + - core.entity_view_mode.node.citizen_proposal_add + - field.field.node.dialogue.field_area + - field.field.node.dialogue.field_content_sections + - field.field.node.dialogue.field_department + - field.field.node.dialogue.field_dialogue_proposal_category + - field.field.node.dialogue.field_dialogue_proposal_config + - field.field.node.dialogue.field_dialogue_proposal_location + - field.field.node.dialogue.field_dialogue_proposal_zoom + - field.field.node.dialogue.field_teaser + - field.field.node.dialogue.field_top_images + - field.field.node.dialogue.field_type + - node.type.dialogue + module: + - user +id: node.dialogue.citizen_proposal_add +targetEntityType: node +bundle: dialogue +mode: citizen_proposal_add +content: + links: + settings: { } + third_party_settings: { } + weight: 100 + region: content + sharing_buttons: + settings: { } + third_party_settings: { } + weight: 100 + region: content +hidden: + field_area: true + field_content_sections: true + field_department: true + field_dialogue_proposal_category: true + field_dialogue_proposal_config: true + field_dialogue_proposal_location: true + field_dialogue_proposal_zoom: true + field_teaser: true + field_top_images: true + field_type: true + langcode: true + published_at: true + search_api_excerpt: true diff --git a/config/sync/core.entity_view_display.node.dialogue.citizen_proposal_approval.yml b/config/sync/core.entity_view_display.node.dialogue.citizen_proposal_approval.yml new file mode 100644 index 000000000..8e36716af --- /dev/null +++ b/config/sync/core.entity_view_display.node.dialogue.citizen_proposal_approval.yml @@ -0,0 +1,48 @@ +uuid: e22ffe91-a3a0-47d2-8be3-8513bd783313 +langcode: da +status: false +dependencies: + config: + - core.entity_view_mode.node.citizen_proposal_approval + - field.field.node.dialogue.field_area + - field.field.node.dialogue.field_content_sections + - field.field.node.dialogue.field_department + - field.field.node.dialogue.field_dialogue_proposal_category + - field.field.node.dialogue.field_dialogue_proposal_config + - field.field.node.dialogue.field_dialogue_proposal_location + - field.field.node.dialogue.field_dialogue_proposal_zoom + - field.field.node.dialogue.field_teaser + - field.field.node.dialogue.field_top_images + - field.field.node.dialogue.field_type + - node.type.dialogue + module: + - user +id: node.dialogue.citizen_proposal_approval +targetEntityType: node +bundle: dialogue +mode: citizen_proposal_approval +content: + links: + settings: { } + third_party_settings: { } + weight: 100 + region: content + sharing_buttons: + settings: { } + third_party_settings: { } + weight: 100 + region: content +hidden: + field_area: true + field_content_sections: true + field_department: true + field_dialogue_proposal_category: true + field_dialogue_proposal_config: true + field_dialogue_proposal_location: true + field_dialogue_proposal_zoom: true + field_teaser: true + field_top_images: true + field_type: true + langcode: true + published_at: true + search_api_excerpt: true diff --git a/config/sync/core.entity_view_display.node.dialogue.default.yml b/config/sync/core.entity_view_display.node.dialogue.default.yml new file mode 100644 index 000000000..2be90dbd6 --- /dev/null +++ b/config/sync/core.entity_view_display.node.dialogue.default.yml @@ -0,0 +1,83 @@ +uuid: 08ce4a5a-b200-4bdd-828a-b48a45579fc5 +langcode: da +status: true +dependencies: + config: + - field.field.node.dialogue.field_area + - field.field.node.dialogue.field_content_sections + - field.field.node.dialogue.field_department + - field.field.node.dialogue.field_dialogue_proposal_category + - field.field.node.dialogue.field_dialogue_proposal_config + - field.field.node.dialogue.field_dialogue_proposal_location + - field.field.node.dialogue.field_dialogue_proposal_zoom + - field.field.node.dialogue.field_teaser + - field.field.node.dialogue.field_top_images + - field.field.node.dialogue.field_type + - node.type.dialogue + module: + - entity_reference_revisions + - user +id: node.dialogue.default +targetEntityType: node +bundle: dialogue +mode: default +content: + field_area: + type: entity_reference_label + label: hidden + settings: + link: false + third_party_settings: { } + weight: 3 + region: content + field_content_sections: + type: entity_reference_revisions_entity_view + label: hidden + settings: + view_mode: default + link: '' + third_party_settings: { } + weight: 5 + region: content + field_department: + type: entity_reference_label + label: hidden + settings: + link: false + third_party_settings: { } + weight: 2 + region: content + field_teaser: + type: basic_string + label: hidden + settings: { } + third_party_settings: { } + weight: 1 + region: content + field_top_images: + type: entity_reference_entity_view + label: hidden + settings: + view_mode: full + link: false + third_party_settings: { } + weight: 0 + region: content + field_type: + type: entity_reference_label + label: hidden + settings: + link: false + third_party_settings: { } + weight: 4 + region: content +hidden: + field_dialogue_proposal_category: true + field_dialogue_proposal_config: true + field_dialogue_proposal_location: true + field_dialogue_proposal_zoom: true + langcode: true + links: true + published_at: true + search_api_excerpt: true + sharing_buttons: true diff --git a/config/sync/core.entity_view_display.node.dialogue.dialogue_proposal_add.yml b/config/sync/core.entity_view_display.node.dialogue.dialogue_proposal_add.yml new file mode 100644 index 000000000..b38dcedf5 --- /dev/null +++ b/config/sync/core.entity_view_display.node.dialogue.dialogue_proposal_add.yml @@ -0,0 +1,40 @@ +uuid: 7cb85841-fd38-423f-848d-c7c71de0d2ca +langcode: da +status: true +dependencies: + config: + - core.entity_view_mode.node.dialogue_proposal_add + - field.field.node.dialogue.field_area + - field.field.node.dialogue.field_content_sections + - field.field.node.dialogue.field_department + - field.field.node.dialogue.field_dialogue_proposal_category + - field.field.node.dialogue.field_dialogue_proposal_config + - field.field.node.dialogue.field_dialogue_proposal_location + - field.field.node.dialogue.field_dialogue_proposal_zoom + - field.field.node.dialogue.field_teaser + - field.field.node.dialogue.field_top_images + - field.field.node.dialogue.field_type + - node.type.dialogue + module: + - user +id: node.dialogue.dialogue_proposal_add +targetEntityType: node +bundle: dialogue +mode: dialogue_proposal_add +content: { } +hidden: + field_area: true + field_content_sections: true + field_department: true + field_dialogue_proposal_category: true + field_dialogue_proposal_config: true + field_dialogue_proposal_location: true + field_dialogue_proposal_zoom: true + field_teaser: true + field_top_images: true + field_type: true + langcode: true + links: true + published_at: true + search_api_excerpt: true + sharing_buttons: true diff --git a/config/sync/core.entity_view_display.node.dialogue.hearing_ticket_add.yml b/config/sync/core.entity_view_display.node.dialogue.hearing_ticket_add.yml new file mode 100644 index 000000000..1ec338c47 --- /dev/null +++ b/config/sync/core.entity_view_display.node.dialogue.hearing_ticket_add.yml @@ -0,0 +1,62 @@ +uuid: f3355016-5833-4ee5-9878-0888dace520e +langcode: da +status: false +dependencies: + config: + - core.entity_view_mode.node.hearing_ticket_add + - field.field.node.dialogue.field_area + - field.field.node.dialogue.field_content_sections + - field.field.node.dialogue.field_department + - field.field.node.dialogue.field_dialogue_proposal_category + - field.field.node.dialogue.field_dialogue_proposal_config + - field.field.node.dialogue.field_dialogue_proposal_location + - field.field.node.dialogue.field_dialogue_proposal_zoom + - field.field.node.dialogue.field_teaser + - field.field.node.dialogue.field_top_images + - field.field.node.dialogue.field_type + - node.type.dialogue + module: + - user +id: node.dialogue.hearing_ticket_add +targetEntityType: node +bundle: dialogue +mode: hearing_ticket_add +content: + field_area: + type: entity_reference_label + label: above + settings: + link: false + third_party_settings: { } + weight: 9 + region: right + field_type: + type: entity_reference_label + label: above + settings: + link: false + third_party_settings: { } + weight: 7 + region: right + links: + settings: { } + third_party_settings: { } + weight: 100 + region: content + sharing_buttons: + settings: { } + third_party_settings: { } + weight: 100 + region: content +hidden: + field_content_sections: true + field_department: true + field_dialogue_proposal_category: true + field_dialogue_proposal_config: true + field_dialogue_proposal_location: true + field_dialogue_proposal_zoom: true + field_teaser: true + field_top_images: true + langcode: true + published_at: true + search_api_excerpt: true diff --git a/config/sync/core.entity_view_display.node.dialogue.hearing_ticket_view.yml b/config/sync/core.entity_view_display.node.dialogue.hearing_ticket_view.yml new file mode 100644 index 000000000..d88c10673 --- /dev/null +++ b/config/sync/core.entity_view_display.node.dialogue.hearing_ticket_view.yml @@ -0,0 +1,62 @@ +uuid: 540e861d-500b-47a4-8d29-ef8e99ec82dd +langcode: da +status: false +dependencies: + config: + - core.entity_view_mode.node.hearing_ticket_view + - field.field.node.dialogue.field_area + - field.field.node.dialogue.field_content_sections + - field.field.node.dialogue.field_department + - field.field.node.dialogue.field_dialogue_proposal_category + - field.field.node.dialogue.field_dialogue_proposal_config + - field.field.node.dialogue.field_dialogue_proposal_location + - field.field.node.dialogue.field_dialogue_proposal_zoom + - field.field.node.dialogue.field_teaser + - field.field.node.dialogue.field_top_images + - field.field.node.dialogue.field_type + - node.type.dialogue + module: + - user +id: node.dialogue.hearing_ticket_view +targetEntityType: node +bundle: dialogue +mode: hearing_ticket_view +content: + field_area: + type: entity_reference_label + label: above + settings: + link: false + third_party_settings: { } + weight: 10 + region: right + field_type: + type: entity_reference_label + label: above + settings: + link: false + third_party_settings: { } + weight: 8 + region: right + links: + settings: { } + third_party_settings: { } + weight: 100 + region: content + sharing_buttons: + settings: { } + third_party_settings: { } + weight: 100 + region: content +hidden: + field_content_sections: true + field_department: true + field_dialogue_proposal_category: true + field_dialogue_proposal_config: true + field_dialogue_proposal_location: true + field_dialogue_proposal_zoom: true + field_teaser: true + field_top_images: true + langcode: true + published_at: true + search_api_excerpt: true diff --git a/config/sync/core.entity_view_display.node.dialogue.list_display.yml b/config/sync/core.entity_view_display.node.dialogue.list_display.yml new file mode 100644 index 000000000..e0b552c3d --- /dev/null +++ b/config/sync/core.entity_view_display.node.dialogue.list_display.yml @@ -0,0 +1,60 @@ +uuid: 6c27a54f-de42-4014-b694-3e5281db0ede +langcode: da +status: true +dependencies: + config: + - core.entity_view_mode.node.list_display + - field.field.node.dialogue.field_area + - field.field.node.dialogue.field_content_sections + - field.field.node.dialogue.field_department + - field.field.node.dialogue.field_dialogue_proposal_category + - field.field.node.dialogue.field_dialogue_proposal_config + - field.field.node.dialogue.field_dialogue_proposal_location + - field.field.node.dialogue.field_dialogue_proposal_zoom + - field.field.node.dialogue.field_teaser + - field.field.node.dialogue.field_top_images + - field.field.node.dialogue.field_type + - node.type.dialogue + module: + - user +id: node.dialogue.list_display +targetEntityType: node +bundle: dialogue +mode: list_display +content: + field_area: + type: entity_reference_label + label: hidden + settings: + link: false + third_party_settings: { } + weight: 4 + region: content + field_teaser: + type: basic_string + label: hidden + settings: { } + third_party_settings: { } + weight: 1 + region: content + field_type: + type: entity_reference_label + label: hidden + settings: + link: false + third_party_settings: { } + weight: 3 + region: content +hidden: + field_content_sections: true + field_department: true + field_dialogue_proposal_category: true + field_dialogue_proposal_config: true + field_dialogue_proposal_location: true + field_dialogue_proposal_zoom: true + field_top_images: true + langcode: true + links: true + published_at: true + search_api_excerpt: true + sharing_buttons: true diff --git a/config/sync/core.entity_view_display.node.dialogue.search_result.yml b/config/sync/core.entity_view_display.node.dialogue.search_result.yml new file mode 100644 index 000000000..a7b0f907a --- /dev/null +++ b/config/sync/core.entity_view_display.node.dialogue.search_result.yml @@ -0,0 +1,40 @@ +uuid: b35d709a-3d90-4576-9cd0-453435af1f8c +langcode: da +status: true +dependencies: + config: + - core.entity_view_mode.node.search_result + - field.field.node.dialogue.field_area + - field.field.node.dialogue.field_content_sections + - field.field.node.dialogue.field_department + - field.field.node.dialogue.field_dialogue_proposal_category + - field.field.node.dialogue.field_dialogue_proposal_config + - field.field.node.dialogue.field_dialogue_proposal_location + - field.field.node.dialogue.field_dialogue_proposal_zoom + - field.field.node.dialogue.field_teaser + - field.field.node.dialogue.field_top_images + - field.field.node.dialogue.field_type + - node.type.dialogue + module: + - user +id: node.dialogue.search_result +targetEntityType: node +bundle: dialogue +mode: search_result +content: { } +hidden: + field_area: true + field_content_sections: true + field_department: true + field_dialogue_proposal_category: true + field_dialogue_proposal_config: true + field_dialogue_proposal_location: true + field_dialogue_proposal_zoom: true + field_teaser: true + field_top_images: true + field_type: true + langcode: true + links: true + published_at: true + search_api_excerpt: true + sharing_buttons: true diff --git a/config/sync/core.entity_view_display.node.dialogue.teaser.yml b/config/sync/core.entity_view_display.node.dialogue.teaser.yml new file mode 100644 index 000000000..c15867243 --- /dev/null +++ b/config/sync/core.entity_view_display.node.dialogue.teaser.yml @@ -0,0 +1,68 @@ +uuid: 1261e6d7-89db-42b7-a869-5192d0a2d231 +langcode: da +status: false +dependencies: + config: + - core.entity_view_mode.node.teaser + - field.field.node.dialogue.field_area + - field.field.node.dialogue.field_content_sections + - field.field.node.dialogue.field_department + - field.field.node.dialogue.field_dialogue_proposal_category + - field.field.node.dialogue.field_dialogue_proposal_config + - field.field.node.dialogue.field_dialogue_proposal_location + - field.field.node.dialogue.field_dialogue_proposal_zoom + - field.field.node.dialogue.field_teaser + - field.field.node.dialogue.field_top_images + - field.field.node.dialogue.field_type + - node.type.dialogue + module: + - user +id: node.dialogue.teaser +targetEntityType: node +bundle: dialogue +mode: teaser +content: + field_area: + type: entity_reference_label + label: hidden + settings: + link: false + third_party_settings: { } + weight: 1 + region: content + field_teaser: + type: basic_string + label: hidden + settings: { } + third_party_settings: { } + weight: 0 + region: content + field_type: + type: entity_reference_label + label: hidden + settings: + link: false + third_party_settings: { } + weight: 3 + region: content + links: + settings: { } + third_party_settings: { } + weight: 100 + region: content + sharing_buttons: + settings: { } + third_party_settings: { } + weight: 100 + region: content +hidden: + field_content_sections: true + field_department: true + field_dialogue_proposal_category: true + field_dialogue_proposal_config: true + field_dialogue_proposal_location: true + field_dialogue_proposal_zoom: true + field_top_images: true + langcode: true + published_at: true + search_api_excerpt: true diff --git a/config/sync/core.entity_view_display.node.dialogue_proposal.default.yml b/config/sync/core.entity_view_display.node.dialogue_proposal.default.yml new file mode 100644 index 000000000..28e62aa4f --- /dev/null +++ b/config/sync/core.entity_view_display.node.dialogue_proposal.default.yml @@ -0,0 +1,88 @@ +uuid: 9b2fde90-6e46-46f6-9c7d-d03b19b500f2 +langcode: da +status: true +dependencies: + config: + - core.entity_view_display.comment.early_inclusion_comment.default + - field.field.node.dialogue_proposal.field_comments + - field.field.node.dialogue_proposal.field_dialogue + - field.field.node.dialogue_proposal.field_dialogue_proposal_category + - field.field.node.dialogue_proposal.field_dialogue_proposal_descr + - field.field.node.dialogue_proposal.field_image_upload + - field.field.node.dialogue_proposal.field_location + - node.type.dialogue_proposal + module: + - comment + - hoeringsportal_data + - svg_image + - user +id: node.dialogue_proposal.default +targetEntityType: node +bundle: dialogue_proposal +mode: default +content: + field_comments: + type: comment_default + label: hidden + settings: + view_mode: default + pager_id: 0 + third_party_settings: { } + weight: 6 + region: content + field_dialogue: + type: entity_reference_label + label: hidden + settings: + link: true + third_party_settings: { } + weight: 3 + region: content + field_dialogue_proposal_category: + type: entity_reference_label + label: hidden + settings: + link: false + third_party_settings: { } + weight: 5 + region: content + field_dialogue_proposal_descr: + type: basic_string + label: hidden + settings: { } + third_party_settings: { } + weight: 1 + region: content + field_image_upload: + type: image + label: hidden + settings: + image_link: '' + image_style: '' + image_loading: + attribute: lazy + svg_attributes: + width: null + height: null + svg_render_as_image: true + third_party_settings: { } + weight: 2 + region: content + field_location: + type: hoeringsportal_data_map_default + label: hidden + settings: { } + third_party_settings: { } + weight: 4 + region: content + flag_support_proposal: + settings: { } + third_party_settings: { } + weight: 0 + region: content +hidden: + langcode: true + links: true + published_at: true + search_api_excerpt: true + sharing_buttons: true diff --git a/config/sync/core.entity_view_display.node.dialogue_proposal.list_display.yml b/config/sync/core.entity_view_display.node.dialogue_proposal.list_display.yml new file mode 100644 index 000000000..b035a341c --- /dev/null +++ b/config/sync/core.entity_view_display.node.dialogue_proposal.list_display.yml @@ -0,0 +1,50 @@ +uuid: d0775ba9-b2c5-4111-911b-e1f53c493fe6 +langcode: da +status: true +dependencies: + config: + - core.entity_view_mode.node.list_display + - field.field.node.dialogue_proposal.field_comments + - field.field.node.dialogue_proposal.field_dialogue + - field.field.node.dialogue_proposal.field_dialogue_proposal_category + - field.field.node.dialogue_proposal.field_dialogue_proposal_descr + - field.field.node.dialogue_proposal.field_image_upload + - field.field.node.dialogue_proposal.field_location + - node.type.dialogue_proposal + module: + - user +id: node.dialogue_proposal.list_display +targetEntityType: node +bundle: dialogue_proposal +mode: list_display +content: + field_dialogue_proposal_category: + type: entity_reference_label + label: hidden + settings: + link: false + third_party_settings: { } + weight: 2 + region: content + field_dialogue_proposal_descr: + type: basic_string + label: hidden + settings: { } + third_party_settings: { } + weight: 1 + region: content + flag_support_proposal: + settings: { } + third_party_settings: { } + weight: 0 + region: content +hidden: + field_comments: true + field_dialogue: true + field_image_upload: true + field_location: true + langcode: true + links: true + published_at: true + search_api_excerpt: true + sharing_buttons: true diff --git a/config/sync/core.entity_view_display.node.dialogue_proposal.search_result.yml b/config/sync/core.entity_view_display.node.dialogue_proposal.search_result.yml new file mode 100644 index 000000000..a381e88a5 --- /dev/null +++ b/config/sync/core.entity_view_display.node.dialogue_proposal.search_result.yml @@ -0,0 +1,37 @@ +uuid: ec2b860f-c2fb-471d-9577-6a8f8889c434 +langcode: da +status: true +dependencies: + config: + - core.entity_view_mode.node.search_result + - field.field.node.dialogue_proposal.field_comments + - field.field.node.dialogue_proposal.field_dialogue + - field.field.node.dialogue_proposal.field_dialogue_proposal_category + - field.field.node.dialogue_proposal.field_dialogue_proposal_descr + - field.field.node.dialogue_proposal.field_image_upload + - field.field.node.dialogue_proposal.field_location + - node.type.dialogue_proposal + module: + - user +id: node.dialogue_proposal.search_result +targetEntityType: node +bundle: dialogue_proposal +mode: search_result +content: + flag_support_proposal: + settings: { } + third_party_settings: { } + weight: 0 + region: content +hidden: + field_comments: true + field_dialogue: true + field_dialogue_proposal_category: true + field_dialogue_proposal_descr: true + field_image_upload: true + field_location: true + langcode: true + links: true + published_at: true + search_api_excerpt: true + sharing_buttons: true diff --git a/config/sync/core.entity_view_display.node.dialogue_proposal.teaser.yml b/config/sync/core.entity_view_display.node.dialogue_proposal.teaser.yml new file mode 100644 index 000000000..e0474bc67 --- /dev/null +++ b/config/sync/core.entity_view_display.node.dialogue_proposal.teaser.yml @@ -0,0 +1,45 @@ +uuid: c041ee64-d7bf-49b2-b331-53fb81983d10 +langcode: da +status: false +dependencies: + config: + - core.entity_view_mode.node.teaser + - field.field.node.dialogue_proposal.field_comments + - field.field.node.dialogue_proposal.field_dialogue + - field.field.node.dialogue_proposal.field_dialogue_proposal_category + - field.field.node.dialogue_proposal.field_dialogue_proposal_descr + - field.field.node.dialogue_proposal.field_image_upload + - field.field.node.dialogue_proposal.field_location + - node.type.dialogue_proposal + module: + - user +id: node.dialogue_proposal.teaser +targetEntityType: node +bundle: dialogue_proposal +mode: teaser +content: + flag_support_proposal: + settings: { } + third_party_settings: { } + weight: 10 + region: content + links: + settings: { } + third_party_settings: { } + weight: 100 + region: content + sharing_buttons: + settings: { } + third_party_settings: { } + weight: 100 + region: content +hidden: + field_comments: true + field_dialogue: true + field_dialogue_proposal_category: true + field_dialogue_proposal_descr: true + field_image_upload: true + field_location: true + langcode: true + published_at: true + search_api_excerpt: true diff --git a/config/sync/core.entity_view_display.node.hearing.default.yml b/config/sync/core.entity_view_display.node.hearing.default.yml index 4b10a91a2..354d9fb03 100644 --- a/config/sync/core.entity_view_display.node.hearing.default.yml +++ b/config/sync/core.entity_view_display.node.hearing.default.yml @@ -27,7 +27,6 @@ dependencies: - field.field.node.hearing.field_tags - field.field.node.hearing.field_teaser - field.field.node.hearing.field_type - - field.field.node.hearing.field_video_embed - node.type.hearing module: - datetime @@ -63,8 +62,8 @@ third_party_settings: - field_teaser - field_description - field_media_document - - field_video_embed - field_media_image + - field_video - 'dynamic_block_field:node-hearing_tickets' right: - 'dynamic_block_field:node-quicklinks' @@ -83,16 +82,6 @@ third_party_settings: - field_map - 'dynamic_block_field:node-nearest_hearings' fields: - 'dynamic_token_field:node-header_information': - plugin_id: 'dynamic_token_field:node-header_information' - weight: 9 - label: hidden - formatter: default - 'dynamic_token_field:node-node_id_hearing': - plugin_id: 'dynamic_token_field:node-node_id_hearing' - weight: 15 - label: above - formatter: default 'dynamic_block_field:node-hearing_tickets': plugin_id: 'dynamic_block_field:node-hearing_tickets' weight: 7 @@ -105,12 +94,12 @@ third_party_settings: formatter: default 'dynamic_block_field:node-nearest_hearings': plugin_id: 'dynamic_block_field:node-nearest_hearings' - weight: 20 + weight: 21 label: above formatter: default 'dynamic_block_field:node-project_timeline': plugin_id: 'dynamic_block_field:node-project_timeline' - weight: 18 + weight: 19 label: hidden formatter: default 'dynamic_block_field:node-quicklinks': @@ -118,6 +107,16 @@ third_party_settings: weight: 8 label: above formatter: default + 'dynamic_token_field:node-header_information': + plugin_id: 'dynamic_token_field:node-header_information' + weight: 9 + label: hidden + formatter: default + 'dynamic_token_field:node-node_id_hearing': + plugin_id: 'dynamic_token_field:node-node_id_hearing' + weight: 15 + label: above + formatter: default node_title: plugin_id: node_title weight: 1 @@ -166,7 +165,7 @@ content: label: hidden settings: { } third_party_settings: { } - weight: 19 + weight: 20 region: footer field_media_document: type: entity_reference_entity_view @@ -188,7 +187,7 @@ content: third_party_settings: ds: ds_limit: '' - weight: 6 + weight: 5 region: left field_more_info: type: text_default @@ -230,17 +229,10 @@ content: third_party_settings: { } weight: 12 region: right - field_video_embed: - type: basic_string - label: hidden - settings: { } - third_party_settings: { } - weight: 5 - region: left sharing_buttons: settings: { } third_party_settings: { } - weight: 100 + weight: 18 region: right hidden: field_content_state: true diff --git a/config/sync/core.entity_view_display.node.hearing.hearing_ticket_add.yml b/config/sync/core.entity_view_display.node.hearing.hearing_ticket_add.yml index cdef11973..5b4b54576 100644 --- a/config/sync/core.entity_view_display.node.hearing.hearing_ticket_add.yml +++ b/config/sync/core.entity_view_display.node.hearing.hearing_ticket_add.yml @@ -28,7 +28,6 @@ dependencies: - field.field.node.hearing.field_tags - field.field.node.hearing.field_teaser - field.field.node.hearing.field_type - - field.field.node.hearing.field_video_embed - node.type.hearing module: - datetime @@ -181,7 +180,6 @@ hidden: field_media_image: true field_project_reference: true field_teaser: true - field_video_embed: true langcode: true links: true published_at: true diff --git a/config/sync/core.entity_view_display.node.hearing.hearing_ticket_view.yml b/config/sync/core.entity_view_display.node.hearing.hearing_ticket_view.yml index 6a7219fd7..da91fa07e 100644 --- a/config/sync/core.entity_view_display.node.hearing.hearing_ticket_view.yml +++ b/config/sync/core.entity_view_display.node.hearing.hearing_ticket_view.yml @@ -28,7 +28,6 @@ dependencies: - field.field.node.hearing.field_tags - field.field.node.hearing.field_teaser - field.field.node.hearing.field_type - - field.field.node.hearing.field_video_embed - node.type.hearing module: - datetime @@ -193,7 +192,6 @@ hidden: field_media_image: true field_project_reference: true field_teaser: true - field_video_embed: true langcode: true links: true published_at: true diff --git a/config/sync/core.entity_view_display.node.hearing.list_display.yml b/config/sync/core.entity_view_display.node.hearing.list_display.yml index e153ac768..b1c581041 100644 --- a/config/sync/core.entity_view_display.node.hearing.list_display.yml +++ b/config/sync/core.entity_view_display.node.hearing.list_display.yml @@ -28,7 +28,6 @@ dependencies: - field.field.node.hearing.field_tags - field.field.node.hearing.field_teaser - field.field.node.hearing.field_type - - field.field.node.hearing.field_video_embed - node.type.hearing module: - ds @@ -99,7 +98,6 @@ hidden: field_reply_deadline: true field_start_date: true field_tags: true - field_video_embed: true langcode: true links: true published_at: true diff --git a/config/sync/core.entity_view_display.node.hearing.search_result.yml b/config/sync/core.entity_view_display.node.hearing.search_result.yml index a14d9c6ee..80d4c65f8 100644 --- a/config/sync/core.entity_view_display.node.hearing.search_result.yml +++ b/config/sync/core.entity_view_display.node.hearing.search_result.yml @@ -8,6 +8,7 @@ dependencies: - field.field.node.hearing.field_contact - field.field.node.hearing.field_content_state - field.field.node.hearing.field_delete_date + - field.field.node.hearing.field_department - field.field.node.hearing.field_description - field.field.node.hearing.field_deskpro_agent_email - field.field.node.hearing.field_deskpro_department_id @@ -27,7 +28,6 @@ dependencies: - field.field.node.hearing.field_tags - field.field.node.hearing.field_teaser - field.field.node.hearing.field_type - - field.field.node.hearing.field_video_embed - node.type.hearing module: - ds @@ -90,7 +90,6 @@ hidden: field_tags: true field_teaser: true field_type: true - field_video_embed: true langcode: true links: true published_at: true diff --git a/config/sync/core.entity_view_display.node.hearing.teaser.yml b/config/sync/core.entity_view_display.node.hearing.teaser.yml index c7f07a2be..689f17231 100644 --- a/config/sync/core.entity_view_display.node.hearing.teaser.yml +++ b/config/sync/core.entity_view_display.node.hearing.teaser.yml @@ -28,7 +28,6 @@ dependencies: - field.field.node.hearing.field_tags - field.field.node.hearing.field_teaser - field.field.node.hearing.field_type - - field.field.node.hearing.field_video_embed - node.type.hearing module: - datetime @@ -117,7 +116,6 @@ hidden: field_more_info: true field_project_reference: true field_tags: true - field_video_embed: true langcode: true links: true published_at: true diff --git a/config/sync/core.entity_view_display.node.landing_page.default.yml b/config/sync/core.entity_view_display.node.landing_page.default.yml index b904b9da7..137cd2edb 100644 --- a/config/sync/core.entity_view_display.node.landing_page.default.yml +++ b/config/sync/core.entity_view_display.node.landing_page.default.yml @@ -3,6 +3,7 @@ langcode: da status: true dependencies: config: + - field.field.node.landing_page.field_header_label - field.field.node.landing_page.field_media_image_single - field.field.node.landing_page.field_section - field.field.node.landing_page.field_show_page_title @@ -12,34 +13,19 @@ dependencies: - ds - entity_reference_revisions - user -third_party_settings: - ds: - layout: - id: ds_1col - library: null - disable_css: false - entity_classes: all_classes - settings: - label: '' - classes: - layout_class: { } - wrappers: - ds_content: div - outer_wrapper: div - attributes: '' - link_attribute: '' - link_custom: '' - regions: - ds_content: - - field_section - - field_teaser - - field_media_image_single - - field_show_page_title id: node.landing_page.default targetEntityType: node bundle: landing_page mode: default content: + field_header_label: + type: string + label: hidden + settings: + link_to_entity: false + third_party_settings: { } + weight: 0 + region: content field_media_image_single: type: entity_reference_entity_view label: hidden @@ -47,8 +33,8 @@ content: view_mode: content_display link: false third_party_settings: { } - weight: 2 - region: ds_content + weight: 3 + region: content field_section: type: entity_reference_revisions_entity_view label: hidden @@ -58,8 +44,8 @@ content: third_party_settings: ds: ds_limit: '' - weight: 0 - region: ds_content + weight: 1 + region: content field_show_page_title: type: boolean label: hidden @@ -68,15 +54,15 @@ content: format_custom_false: '' format_custom_true: '' third_party_settings: { } - weight: 3 - region: ds_content + weight: 4 + region: content field_teaser: type: basic_string label: hidden settings: { } third_party_settings: { } - weight: 1 - region: ds_content + weight: 2 + region: content hidden: langcode: true links: true diff --git a/config/sync/core.entity_view_display.node.landing_page.list_display.yml b/config/sync/core.entity_view_display.node.landing_page.list_display.yml index f32c54250..9abae7691 100644 --- a/config/sync/core.entity_view_display.node.landing_page.list_display.yml +++ b/config/sync/core.entity_view_display.node.landing_page.list_display.yml @@ -4,6 +4,7 @@ status: false dependencies: config: - core.entity_view_mode.node.list_display + - field.field.node.landing_page.field_header_label - field.field.node.landing_page.field_media_image_single - field.field.node.landing_page.field_section - field.field.node.landing_page.field_show_page_title @@ -35,6 +36,7 @@ content: weight: 100 region: content hidden: + field_header_label: true field_media_image_single: true field_show_page_title: true field_teaser: true diff --git a/config/sync/core.entity_view_display.node.landing_page.teaser.yml b/config/sync/core.entity_view_display.node.landing_page.teaser.yml index 493835a50..12c44a6d6 100644 --- a/config/sync/core.entity_view_display.node.landing_page.teaser.yml +++ b/config/sync/core.entity_view_display.node.landing_page.teaser.yml @@ -4,6 +4,7 @@ status: false dependencies: config: - core.entity_view_mode.node.teaser + - field.field.node.landing_page.field_header_label - field.field.node.landing_page.field_media_image_single - field.field.node.landing_page.field_section - field.field.node.landing_page.field_show_page_title @@ -25,6 +26,7 @@ content: weight: 100 region: content hidden: + field_header_label: true field_media_image_single: true field_section: true field_show_page_title: true diff --git a/config/sync/core.entity_view_display.paragraph.video.default.yml b/config/sync/core.entity_view_display.paragraph.video.default.yml new file mode 100644 index 000000000..c5661cc24 --- /dev/null +++ b/config/sync/core.entity_view_display.paragraph.video.default.yml @@ -0,0 +1,28 @@ +uuid: bcfa2e49-6356-4c90-8573-b9486db67eb2 +langcode: da +status: true +dependencies: + config: + - field.field.paragraph.video.field_video + - paragraphs.paragraphs_type.video + module: + - itk_video +id: paragraph.video.default +targetEntityType: paragraph +bundle: video +mode: default +content: + field_video: + type: itk_video_formatter + label: hidden + settings: + trim_length: '80' + url_only: '' + url_plain: '' + rel: '' + target: '' + third_party_settings: { } + weight: 0 + region: content +hidden: + search_api_excerpt: true diff --git a/config/sync/core.entity_view_mode.comment.full.yml b/config/sync/core.entity_view_mode.comment.full.yml new file mode 100644 index 000000000..8e5eb1426 --- /dev/null +++ b/config/sync/core.entity_view_mode.comment.full.yml @@ -0,0 +1,13 @@ +uuid: fd260b7e-c515-4552-a39c-7e7abbe02b65 +langcode: da +status: false +dependencies: + module: + - comment +_core: + default_config_hash: N4mUjXpPckUkVRY1PbKw4GGoL1i2ECU7PL3EreiKStk +id: comment.full +label: 'Full comment' +description: '' +targetEntityType: comment +cache: true diff --git a/config/sync/core.entity_view_mode.comment.list_display.yml b/config/sync/core.entity_view_mode.comment.list_display.yml new file mode 100644 index 000000000..9a44469c9 --- /dev/null +++ b/config/sync/core.entity_view_mode.comment.list_display.yml @@ -0,0 +1,11 @@ +uuid: 539bb71d-926e-42ae-b7b8-031aabb863e2 +langcode: da +status: true +dependencies: + module: + - comment +id: comment.list_display +label: 'List display' +description: '' +targetEntityType: comment +cache: true diff --git a/config/sync/core.entity_view_mode.node.dialogue_proposal_add.yml b/config/sync/core.entity_view_mode.node.dialogue_proposal_add.yml new file mode 100644 index 000000000..8fbc40862 --- /dev/null +++ b/config/sync/core.entity_view_mode.node.dialogue_proposal_add.yml @@ -0,0 +1,11 @@ +uuid: fd61d20d-10f6-4496-98c2-74dd208a0272 +langcode: da +status: true +dependencies: + module: + - node +id: node.dialogue_proposal_add +label: 'Dialogue proposal add' +description: '' +targetEntityType: node +cache: true diff --git a/config/sync/core.extension.yml b/config/sync/core.extension.yml index 11fb49ee0..4287ac84c 100644 --- a/config/sync/core.extension.yml +++ b/config/sync/core.extension.yml @@ -16,6 +16,7 @@ module: ckeditor5: 0 clamav: 0 color_field: 0 + comment: 0 config: 0 config_ignore: 0 config_import_locale: 0 @@ -40,7 +41,9 @@ module: field_group: 0 field_ui: 0 file: 0 + file_resup: 0 filter: 0 + flag: 0 hoeringsportal_audit_log: 0 hoeringsportal_citizen_proposal: 0 hoeringsportal_citizen_proposal_archiving: 0 @@ -49,12 +52,14 @@ module: hoeringsportal_content_blocks: 0 hoeringsportal_data: 0 hoeringsportal_deskpro: 0 + hoeringsportal_dialogue: 0 hoeringsportal_forms: 0 hoeringsportal_hearing: 0 hoeringsportal_openid_connect: 0 hoeringsportal_project_timeline: 0 hoeringsportal_public_meeting: 0 hoeringsportal_quicklinks: 0 + honeypot: 0 image: 0 image_captcha: 0 image_widget_crop: 0 @@ -62,10 +67,10 @@ module: inline_form_errors: 0 itk_admin: 0 itk_admin_links: 0 - itk_azure_video: 0 itk_media_entity: 0 itk_pretix: 0 itk_siteimprove: 0 + itk_video: 0 jquery_ui: 0 jsonapi: 0 language: 0 @@ -107,6 +112,7 @@ module: token: 0 token_filter: 0 toolbar: 0 + twig_extensions: 0 twig_tweak: 0 update: 0 user: 0 diff --git a/config/sync/field.field.comment.early_inclusion_comment.field_comment.yml b/config/sync/field.field.comment.early_inclusion_comment.field_comment.yml new file mode 100644 index 000000000..613b6a4a2 --- /dev/null +++ b/config/sync/field.field.comment.early_inclusion_comment.field_comment.yml @@ -0,0 +1,19 @@ +uuid: 87f0e9c1-2431-416b-85d2-a4d0dd653975 +langcode: da +status: true +dependencies: + config: + - comment.type.early_inclusion_comment + - field.storage.comment.field_comment +id: comment.early_inclusion_comment.field_comment +field_name: field_comment +entity_type: comment +bundle: early_inclusion_comment +label: comment +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string_long diff --git a/config/sync/field.field.node.dialogue.field_area.yml b/config/sync/field.field.node.dialogue.field_area.yml new file mode 100644 index 000000000..47067a682 --- /dev/null +++ b/config/sync/field.field.node.dialogue.field_area.yml @@ -0,0 +1,29 @@ +uuid: e86b53b0-3cbc-4cf5-b4b3-415e2c9c1790 +langcode: da +status: true +dependencies: + config: + - field.storage.node.field_area + - node.type.dialogue + - taxonomy.vocabulary.area +id: node.dialogue.field_area +field_name: field_area +entity_type: node +bundle: dialogue +label: Område +description: 'Vælg områder som høringen dækker. Markér alle hvis høringen dækker hele kommunen.' +required: true +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:taxonomy_term' + handler_settings: + target_bundles: + area: area + sort: + field: name + direction: asc + auto_create: false + auto_create_bundle: '' +field_type: entity_reference diff --git a/config/sync/field.field.node.dialogue.field_content_sections.yml b/config/sync/field.field.node.dialogue.field_content_sections.yml new file mode 100644 index 000000000..6bb65a772 --- /dev/null +++ b/config/sync/field.field.node.dialogue.field_content_sections.yml @@ -0,0 +1,92 @@ +uuid: 716b1c0f-7bed-426f-ac0f-21ecbea4b9e9 +langcode: da +status: true +dependencies: + config: + - field.storage.node.field_content_sections + - node.type.dialogue + - paragraphs.paragraphs_type.content_block + - paragraphs.paragraphs_type.files + - paragraphs.paragraphs_type.image + - paragraphs.paragraphs_type.info_box + - paragraphs.paragraphs_type.introduction + - paragraphs.paragraphs_type.teaser_row + - paragraphs.paragraphs_type.text + - paragraphs.paragraphs_type.text_aside_blocks_2_column + - paragraphs.paragraphs_type.video + module: + - entity_reference_revisions +id: node.dialogue.field_content_sections +field_name: field_content_sections +entity_type: node +bundle: dialogue +label: 'Content sections' +description: 'Used to create page sections with the Drupal Paragraphs module' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:paragraph' + handler_settings: + target_bundles: + text: text + image: image + content_block: content_block + text_aside_blocks_2_column: text_aside_blocks_2_column + info_box: info_box + introduction: introduction + teaser_row: teaser_row + files: files + video: video + negate: 0 + target_bundles_drag_drop: + content_block: + weight: -21 + enabled: true + content_list: + weight: -20 + enabled: false + content_promotion: + weight: 19 + enabled: false + files: + weight: 13 + enabled: true + image: + weight: -22 + enabled: true + info_box: + weight: -18 + enabled: true + introduction: + weight: -17 + enabled: true + link: + weight: 24 + enabled: false + links_on_a_background_image: + weight: 25 + enabled: false + projekt_billede_galleri: + weight: -16 + enabled: false + teaser_row: + weight: -15 + enabled: true + text: + weight: -23 + enabled: true + text_aside_blocks_2_column: + weight: -19 + enabled: true + timeline_items: + weight: -14 + enabled: false + timeline_period: + weight: -13 + enabled: false + video: + weight: 32 + enabled: true +field_type: entity_reference_revisions diff --git a/config/sync/field.field.node.dialogue.field_department.yml b/config/sync/field.field.node.dialogue.field_department.yml new file mode 100644 index 000000000..040047664 --- /dev/null +++ b/config/sync/field.field.node.dialogue.field_department.yml @@ -0,0 +1,29 @@ +uuid: 044d78f6-c9ee-4849-8adf-dbee8e52c651 +langcode: da +status: true +dependencies: + config: + - field.storage.node.field_department + - node.type.dialogue + - taxonomy.vocabulary.department +id: node.dialogue.field_department +field_name: field_department +entity_type: node +bundle: dialogue +label: Department +description: '' +required: true +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:taxonomy_term' + handler_settings: + target_bundles: + department: department + sort: + field: name + direction: asc + auto_create: false + auto_create_bundle: '' +field_type: entity_reference diff --git a/config/sync/field.field.node.dialogue.field_dialogue_proposal_category.yml b/config/sync/field.field.node.dialogue.field_dialogue_proposal_category.yml new file mode 100644 index 000000000..567b3138a --- /dev/null +++ b/config/sync/field.field.node.dialogue.field_dialogue_proposal_category.yml @@ -0,0 +1,29 @@ +uuid: 6a65168c-d711-4b2e-939c-a768d42994d0 +langcode: da +status: true +dependencies: + config: + - field.storage.node.field_dialogue_proposal_category + - node.type.dialogue + - taxonomy.vocabulary.dialogue_proposal_categories +id: node.dialogue.field_dialogue_proposal_category +field_name: field_dialogue_proposal_category +entity_type: node +bundle: dialogue +label: 'Dialogue proposal category' +description: 'Select what categories should be available when creating a proposal' +required: true +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:taxonomy_term' + handler_settings: + target_bundles: + dialogue_proposal_categories: dialogue_proposal_categories + sort: + field: name + direction: asc + auto_create: false + auto_create_bundle: '' +field_type: entity_reference diff --git a/config/sync/field.field.node.dialogue.field_dialogue_proposal_config.yml b/config/sync/field.field.node.dialogue.field_dialogue_proposal_config.yml new file mode 100644 index 000000000..81227f1bc --- /dev/null +++ b/config/sync/field.field.node.dialogue.field_dialogue_proposal_config.yml @@ -0,0 +1,23 @@ +uuid: df8ff97b-0ffb-4140-b6aa-7ade4ee48844 +langcode: da +status: true +dependencies: + config: + - field.storage.node.field_dialogue_proposal_config + - node.type.dialogue + module: + - options +id: node.dialogue.field_dialogue_proposal_config +field_name: field_dialogue_proposal_config +entity_type: node +bundle: dialogue +label: 'Dialogue proposal config' +description: 'Configure proposals for this dialogue' +required: false +translatable: false +default_value: + - + value: public_proposals +default_value_callback: '' +settings: { } +field_type: list_string diff --git a/config/sync/field.field.node.dialogue.field_dialogue_proposal_location.yml b/config/sync/field.field.node.dialogue.field_dialogue_proposal_location.yml new file mode 100644 index 000000000..d5c4c848d --- /dev/null +++ b/config/sync/field.field.node.dialogue.field_dialogue_proposal_location.yml @@ -0,0 +1,21 @@ +uuid: b7ccc207-b24c-4a49-b7e9-3355a10b5411 +langcode: da +status: true +dependencies: + config: + - field.storage.node.field_dialogue_proposal_location + - node.type.dialogue + module: + - hoeringsportal_data +id: node.dialogue.field_dialogue_proposal_location +field_name: field_dialogue_proposal_location +entity_type: node +bundle: dialogue +label: 'Dialogue proposal location' +description: 'Select where the map for proposals should be centered' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: hoeringsportal_data_map diff --git a/config/sync/field.field.node.dialogue.field_dialogue_proposal_zoom.yml b/config/sync/field.field.node.dialogue.field_dialogue_proposal_zoom.yml new file mode 100644 index 000000000..f3ae71fa5 --- /dev/null +++ b/config/sync/field.field.node.dialogue.field_dialogue_proposal_zoom.yml @@ -0,0 +1,21 @@ +uuid: a1e62b49-9169-422e-b2ae-c21a93d4ed50 +langcode: da +status: true +dependencies: + config: + - field.storage.node.field_dialogue_proposal_zoom + - node.type.dialogue +id: node.dialogue.field_dialogue_proposal_zoom +field_name: field_dialogue_proposal_zoom +entity_type: node +bundle: dialogue +label: 'Dialogue proposal zoom' +description: 'Select the map zoom level on proposals. Higher numbers will zoom in. Default: 11' +required: false +translatable: false +default_value: + - + value: '11' +default_value_callback: '' +settings: { } +field_type: string diff --git a/config/sync/field.field.node.dialogue.field_teaser.yml b/config/sync/field.field.node.dialogue.field_teaser.yml new file mode 100644 index 000000000..4c4130f95 --- /dev/null +++ b/config/sync/field.field.node.dialogue.field_teaser.yml @@ -0,0 +1,19 @@ +uuid: 756a4e78-f31f-4710-97a2-d16c7d6e6ffe +langcode: da +status: true +dependencies: + config: + - field.storage.node.field_teaser + - node.type.dialogue +id: node.dialogue.field_teaser +field_name: field_teaser +entity_type: node +bundle: dialogue +label: Teaser/indledning +description: 'Kort tekst der vises i teasers og i toppen af indholdsviningen' +required: true +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string_long diff --git a/config/sync/field.field.node.dialogue.field_top_images.yml b/config/sync/field.field.node.dialogue.field_top_images.yml new file mode 100644 index 000000000..0046d1e72 --- /dev/null +++ b/config/sync/field.field.node.dialogue.field_top_images.yml @@ -0,0 +1,29 @@ +uuid: 14723400-9df1-44dc-857c-e3781286d7a8 +langcode: da +status: true +dependencies: + config: + - field.storage.node.field_top_images + - media.type.image + - node.type.dialogue +id: node.dialogue.field_top_images +field_name: field_top_images +entity_type: node +bundle: dialogue +label: 'Top images' +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:media' + handler_settings: + target_bundles: + image: image + sort: + field: _none + direction: ASC + auto_create: true + auto_create_bundle: '' +field_type: entity_reference diff --git a/config/sync/field.field.node.dialogue.field_type.yml b/config/sync/field.field.node.dialogue.field_type.yml new file mode 100644 index 000000000..9bf3733ee --- /dev/null +++ b/config/sync/field.field.node.dialogue.field_type.yml @@ -0,0 +1,29 @@ +uuid: 9ce201bf-07b1-4bdd-9883-ee60b18f23a8 +langcode: da +status: true +dependencies: + config: + - field.storage.node.field_type + - node.type.dialogue + - taxonomy.vocabulary.type +id: node.dialogue.field_type +field_name: field_type +entity_type: node +bundle: dialogue +label: Type +description: '' +required: true +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:taxonomy_term' + handler_settings: + target_bundles: + type: type + sort: + field: name + direction: asc + auto_create: false + auto_create_bundle: '' +field_type: entity_reference diff --git a/config/sync/field.field.node.dialogue_proposal.field_comments.yml b/config/sync/field.field.node.dialogue_proposal.field_comments.yml new file mode 100644 index 000000000..1a9da2d7c --- /dev/null +++ b/config/sync/field.field.node.dialogue_proposal.field_comments.yml @@ -0,0 +1,33 @@ +uuid: ebf3eedc-76fd-4b7c-ae51-a73851c2c11e +langcode: da +status: true +dependencies: + config: + - field.storage.node.field_comments + - node.type.dialogue_proposal + module: + - comment +id: node.dialogue_proposal.field_comments +field_name: field_comments +entity_type: node +bundle: dialogue_proposal +label: Kommentarer +description: '' +required: false +translatable: false +default_value: + - + status: 2 + cid: 0 + last_comment_timestamp: 0 + last_comment_name: null + last_comment_uid: 0 + comment_count: 0 +default_value_callback: '' +settings: + default_mode: 1 + per_page: 50 + anonymous: 0 + form_location: true + preview: 0 +field_type: comment diff --git a/config/sync/field.field.node.dialogue_proposal.field_dialogue.yml b/config/sync/field.field.node.dialogue_proposal.field_dialogue.yml new file mode 100644 index 000000000..bc7b18b34 --- /dev/null +++ b/config/sync/field.field.node.dialogue_proposal.field_dialogue.yml @@ -0,0 +1,29 @@ +uuid: 8b82c11c-5e64-434f-bd26-3177e5010489 +langcode: da +status: true +dependencies: + config: + - field.storage.node.field_dialogue + - node.type.dialogue + - node.type.dialogue_proposal +id: node.dialogue_proposal.field_dialogue +field_name: field_dialogue +entity_type: node +bundle: dialogue_proposal +label: Dialogue +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:node' + handler_settings: + target_bundles: + dialogue: dialogue + sort: + field: _none + direction: ASC + auto_create: false + auto_create_bundle: '' +field_type: entity_reference diff --git a/config/sync/field.field.node.dialogue_proposal.field_dialogue_proposal_category.yml b/config/sync/field.field.node.dialogue_proposal.field_dialogue_proposal_category.yml new file mode 100644 index 000000000..80d591ca2 --- /dev/null +++ b/config/sync/field.field.node.dialogue_proposal.field_dialogue_proposal_category.yml @@ -0,0 +1,29 @@ +uuid: a65625f6-d5ea-40ff-aaac-a79a451b5e65 +langcode: da +status: true +dependencies: + config: + - field.storage.node.field_dialogue_proposal_category + - node.type.dialogue_proposal + - taxonomy.vocabulary.dialogue_proposal_categories +id: node.dialogue_proposal.field_dialogue_proposal_category +field_name: field_dialogue_proposal_category +entity_type: node +bundle: dialogue_proposal +label: 'Dialogue proposal category' +description: 'Select what categories should be available when creating a proposal' +required: true +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:taxonomy_term' + handler_settings: + target_bundles: + dialogue_proposal_categories: dialogue_proposal_categories + sort: + field: name + direction: asc + auto_create: false + auto_create_bundle: '' +field_type: entity_reference diff --git a/config/sync/field.field.node.dialogue_proposal.field_dialogue_proposal_descr.yml b/config/sync/field.field.node.dialogue_proposal.field_dialogue_proposal_descr.yml new file mode 100644 index 000000000..565112d8b --- /dev/null +++ b/config/sync/field.field.node.dialogue_proposal.field_dialogue_proposal_descr.yml @@ -0,0 +1,19 @@ +uuid: 6f55fb31-a502-4654-bfb3-5aad1fcad27d +langcode: da +status: true +dependencies: + config: + - field.storage.node.field_dialogue_proposal_descr + - node.type.dialogue_proposal +id: node.dialogue_proposal.field_dialogue_proposal_descr +field_name: field_dialogue_proposal_descr +entity_type: node +bundle: dialogue_proposal +label: Description +description: 'Giv en kort beskrivelse af hvad dit forslag går ud på.' +required: true +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string_long diff --git a/config/sync/field.field.node.dialogue_proposal.field_image_upload.yml b/config/sync/field.field.node.dialogue_proposal.field_image_upload.yml new file mode 100644 index 000000000..bc50a1fb4 --- /dev/null +++ b/config/sync/field.field.node.dialogue_proposal.field_image_upload.yml @@ -0,0 +1,44 @@ +uuid: 79f5d86f-f743-4057-b2e1-67476eab8caf +langcode: da +status: true +dependencies: + config: + - field.storage.node.field_image_upload + - node.type.dialogue_proposal + module: + - file_resup + - image +third_party_settings: + file_resup: + enabled: 1 + max_upload_size: '10 MB' + auto_upload: 1 +id: node.dialogue_proposal.field_image_upload +field_name: field_image_upload +entity_type: node +bundle: dialogue_proposal +label: Image +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:file' + handler_settings: { } + file_directory: dialogue_proposal + file_extensions: 'png gif jpg jpeg webp' + max_filesize: '10 MB' + max_resolution: '' + min_resolution: '' + alt_field: true + alt_field_required: false + title_field: false + title_field_required: true + default_image: + uuid: '' + alt: '' + title: '' + width: null + height: null +field_type: image diff --git a/config/sync/field.field.node.dialogue_proposal.field_location.yml b/config/sync/field.field.node.dialogue_proposal.field_location.yml new file mode 100644 index 000000000..9177d8987 --- /dev/null +++ b/config/sync/field.field.node.dialogue_proposal.field_location.yml @@ -0,0 +1,21 @@ +uuid: 4d92f1b3-0246-427c-be87-8f31ee0a0e7d +langcode: da +status: true +dependencies: + config: + - field.storage.node.field_location + - node.type.dialogue_proposal + module: + - hoeringsportal_data +id: node.dialogue_proposal.field_location +field_name: field_location +entity_type: node +bundle: dialogue_proposal +label: Lokation +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: hoeringsportal_data_map diff --git a/config/sync/field.field.node.hearing.field_video_embed.yml b/config/sync/field.field.node.hearing.field_video_embed.yml deleted file mode 100644 index f4298bb2d..000000000 --- a/config/sync/field.field.node.hearing.field_video_embed.yml +++ /dev/null @@ -1,19 +0,0 @@ -uuid: 1aa234af-17a2-41b0-a056-8e94f5b5e8a4 -langcode: da -status: true -dependencies: - config: - - field.storage.node.field_video_embed - - node.type.hearing -id: node.hearing.field_video_embed -field_name: field_video_embed -entity_type: node -bundle: hearing -label: 'Video embed' -description: "Tilføj video embed code.\r\nDet er redaktørens ansvar at videoen overholder kommunens GDPR retningslinjer. \r\nHvis du er i tvivl kan du spørge den GDPR ansvarlige i din afdeling." -required: false -translatable: false -default_value: { } -default_value_callback: '' -settings: { } -field_type: string_long diff --git a/config/sync/field.field.node.landing_page.field_header_label.yml b/config/sync/field.field.node.landing_page.field_header_label.yml new file mode 100644 index 000000000..919bed31e --- /dev/null +++ b/config/sync/field.field.node.landing_page.field_header_label.yml @@ -0,0 +1,19 @@ +uuid: e344c1a9-c6bf-4a9f-871d-2180d74ff354 +langcode: da +status: true +dependencies: + config: + - field.storage.node.field_header_label + - node.type.landing_page +id: node.landing_page.field_header_label +field_name: field_header_label +entity_type: node +bundle: landing_page +label: 'Header label' +description: '' +required: true +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/config/sync/field.field.paragraph.content_list.field_content_list.yml b/config/sync/field.field.paragraph.content_list.field_content_list.yml index c16e0825e..0d6c560f6 100644 --- a/config/sync/field.field.paragraph.content_list.field_content_list.yml +++ b/config/sync/field.field.paragraph.content_list.field_content_list.yml @@ -26,12 +26,13 @@ settings: default: default preselect_views: all_citizen_proposals: all_citizen_proposals + all_early_inclusion: all_early_inclusion all_hearings: all_hearings all_meetings: all_meetings all_projects: all_projects - latest_public_meetings: latest_public_meetings latest_citizen_proposals: latest_citizen_proposals latest_hearings: latest_hearings latest_projects: latest_projects + latest_public_meetings: latest_public_meetings enabled_settings: { } field_type: viewsreference diff --git a/config/sync/field.field.paragraph.video.field_video.yml b/config/sync/field.field.paragraph.video.field_video.yml new file mode 100644 index 000000000..844c97a36 --- /dev/null +++ b/config/sync/field.field.paragraph.video.field_video.yml @@ -0,0 +1,23 @@ +uuid: 30b5793a-c448-4250-904d-f6966107a3b1 +langcode: da +status: true +dependencies: + config: + - field.storage.paragraph.field_video + - paragraphs.paragraphs_type.video + module: + - itk_video +id: paragraph.video.field_video +field_name: field_video +entity_type: paragraph +bundle: video +label: Video +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + title: 2 + link_type: 16 +field_type: itk_video_field diff --git a/config/sync/field.storage.comment.comment_body.yml b/config/sync/field.storage.comment.comment_body.yml new file mode 100644 index 000000000..77d246737 --- /dev/null +++ b/config/sync/field.storage.comment.comment_body.yml @@ -0,0 +1,21 @@ +uuid: bb5ea8e1-e885-4d11-87d7-1779acca97bc +langcode: en +status: true +dependencies: + module: + - comment + - text +_core: + default_config_hash: swYoCch_hY8QO5uwr4FURplfnUCUlpPB4idF8WGVCpw +id: comment.comment_body +field_name: comment_body +entity_type: comment +type: text_long +settings: { } +module: text +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: true +custom_storage: false diff --git a/config/sync/field.storage.comment.field_comment.yml b/config/sync/field.storage.comment.field_comment.yml new file mode 100644 index 000000000..d6d185369 --- /dev/null +++ b/config/sync/field.storage.comment.field_comment.yml @@ -0,0 +1,19 @@ +uuid: e803b6ce-6a6d-40ac-8d92-c1bb85a7019c +langcode: da +status: true +dependencies: + module: + - comment +id: comment.field_comment +field_name: field_comment +entity_type: comment +type: string_long +settings: + case_sensitive: false +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/sync/field.storage.node.field_comments.yml b/config/sync/field.storage.node.field_comments.yml new file mode 100644 index 000000000..fb12dd367 --- /dev/null +++ b/config/sync/field.storage.node.field_comments.yml @@ -0,0 +1,20 @@ +uuid: 1bd0bf5e-9346-4d34-8924-fd4a4e2eecc2 +langcode: da +status: true +dependencies: + module: + - comment + - node +id: node.field_comments +field_name: field_comments +entity_type: node +type: comment +settings: + comment_type: early_inclusion_comment +module: comment +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/sync/field.storage.node.field_dialogue.yml b/config/sync/field.storage.node.field_dialogue.yml new file mode 100644 index 000000000..85d12483b --- /dev/null +++ b/config/sync/field.storage.node.field_dialogue.yml @@ -0,0 +1,19 @@ +uuid: 9ba38990-85d3-4791-bf26-1886d1327d83 +langcode: da +status: true +dependencies: + module: + - node +id: node.field_dialogue +field_name: field_dialogue +entity_type: node +type: entity_reference +settings: + target_type: node +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/sync/field.storage.node.field_dialogue_proposal_category.yml b/config/sync/field.storage.node.field_dialogue_proposal_category.yml new file mode 100644 index 000000000..8d6d8db39 --- /dev/null +++ b/config/sync/field.storage.node.field_dialogue_proposal_category.yml @@ -0,0 +1,20 @@ +uuid: be5af7f9-c5ae-4caf-919c-6fee60dbd6ee +langcode: da +status: true +dependencies: + module: + - node + - taxonomy +id: node.field_dialogue_proposal_category +field_name: field_dialogue_proposal_category +entity_type: node +type: entity_reference +settings: + target_type: taxonomy_term +module: core +locked: false +cardinality: -1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/sync/field.storage.node.field_dialogue_proposal_config.yml b/config/sync/field.storage.node.field_dialogue_proposal_config.yml new file mode 100644 index 000000000..250ec7b35 --- /dev/null +++ b/config/sync/field.storage.node.field_dialogue_proposal_config.yml @@ -0,0 +1,30 @@ +uuid: 96bdb878-857c-4661-b30a-f19ce160d247 +langcode: da +status: true +dependencies: + module: + - node + - options +id: node.field_dialogue_proposal_config +field_name: field_dialogue_proposal_config +entity_type: node +type: list_string +settings: + allowed_values: + - + value: public_proposals + label: 'Open proposals for public' + - + value: use_map_on_proposals + label: 'Use map on proposals' + - + value: use_image_on_proposals + label: 'Use image on proposals' + allowed_values_function: '' +module: options +locked: false +cardinality: -1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/sync/field.storage.node.field_video_embed.yml b/config/sync/field.storage.node.field_dialogue_proposal_descr.yml similarity index 63% rename from config/sync/field.storage.node.field_video_embed.yml rename to config/sync/field.storage.node.field_dialogue_proposal_descr.yml index 7461886a8..50eff79f2 100644 --- a/config/sync/field.storage.node.field_video_embed.yml +++ b/config/sync/field.storage.node.field_dialogue_proposal_descr.yml @@ -1,18 +1,18 @@ -uuid: afb78f06-e87b-4a00-9450-f10ad0f25ed7 +uuid: 3f761a8b-9573-4d37-b0b3-b2d2634d120c langcode: da status: true dependencies: module: - node -id: node.field_video_embed -field_name: field_video_embed +id: node.field_dialogue_proposal_descr +field_name: field_dialogue_proposal_descr entity_type: node type: string_long settings: case_sensitive: false module: core locked: false -cardinality: -1 +cardinality: 1 translatable: true indexes: { } persist_with_no_fields: false diff --git a/config/sync/field.storage.node.field_dialogue_proposal_location.yml b/config/sync/field.storage.node.field_dialogue_proposal_location.yml new file mode 100644 index 000000000..67091fc00 --- /dev/null +++ b/config/sync/field.storage.node.field_dialogue_proposal_location.yml @@ -0,0 +1,19 @@ +uuid: 66d58409-3170-4894-be89-b6c9db159023 +langcode: da +status: true +dependencies: + module: + - hoeringsportal_data + - node +id: node.field_dialogue_proposal_location +field_name: field_dialogue_proposal_location +entity_type: node +type: hoeringsportal_data_map +settings: { } +module: hoeringsportal_data +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/sync/field.storage.node.field_dialogue_proposal_zoom.yml b/config/sync/field.storage.node.field_dialogue_proposal_zoom.yml new file mode 100644 index 000000000..6add5b7f8 --- /dev/null +++ b/config/sync/field.storage.node.field_dialogue_proposal_zoom.yml @@ -0,0 +1,21 @@ +uuid: e104fecd-11ab-4614-b241-a36ddb43bccb +langcode: da +status: true +dependencies: + module: + - node +id: node.field_dialogue_proposal_zoom +field_name: field_dialogue_proposal_zoom +entity_type: node +type: string +settings: + max_length: 255 + case_sensitive: false + is_ascii: false +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/sync/field.storage.node.field_header_label.yml b/config/sync/field.storage.node.field_header_label.yml new file mode 100644 index 000000000..af6909607 --- /dev/null +++ b/config/sync/field.storage.node.field_header_label.yml @@ -0,0 +1,21 @@ +uuid: 43dbede9-fdeb-4dff-b754-f1d83a8f1701 +langcode: da +status: true +dependencies: + module: + - node +id: node.field_header_label +field_name: field_header_label +entity_type: node +type: string +settings: + max_length: 255 + case_sensitive: false + is_ascii: false +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/sync/field.storage.node.field_image_upload.yml b/config/sync/field.storage.node.field_image_upload.yml new file mode 100644 index 000000000..fedeb6b60 --- /dev/null +++ b/config/sync/field.storage.node.field_image_upload.yml @@ -0,0 +1,30 @@ +uuid: 0f772c99-c0a2-4685-b305-6e326bc139ca +langcode: da +status: true +dependencies: + module: + - file + - image + - node +id: node.field_image_upload +field_name: field_image_upload +entity_type: node +type: image +settings: + target_type: file + display_field: false + display_default: true + uri_scheme: public + default_image: + uuid: '' + alt: '' + title: '' + width: null + height: null +module: image +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/sync/field.storage.node.field_location.yml b/config/sync/field.storage.node.field_location.yml new file mode 100644 index 000000000..bf66a5b86 --- /dev/null +++ b/config/sync/field.storage.node.field_location.yml @@ -0,0 +1,19 @@ +uuid: 42f42b9f-d15b-4d7f-9cf0-377d7398a489 +langcode: da +status: true +dependencies: + module: + - hoeringsportal_data + - node +id: node.field_location +field_name: field_location +entity_type: node +type: hoeringsportal_data_map +settings: { } +module: hoeringsportal_data +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/sync/field.storage.node.field_top_images.yml b/config/sync/field.storage.node.field_top_images.yml new file mode 100644 index 000000000..48ef6eea1 --- /dev/null +++ b/config/sync/field.storage.node.field_top_images.yml @@ -0,0 +1,20 @@ +uuid: c1aaeea1-ac45-4f47-9ae2-c49fd3d95a0e +langcode: da +status: true +dependencies: + module: + - media + - node +id: node.field_top_images +field_name: field_top_images +entity_type: node +type: entity_reference +settings: + target_type: media +module: core +locked: false +cardinality: -1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/sync/field.storage.node.field_type.yml b/config/sync/field.storage.node.field_type.yml index 749d7c662..0db7573e5 100644 --- a/config/sync/field.storage.node.field_type.yml +++ b/config/sync/field.storage.node.field_type.yml @@ -13,7 +13,7 @@ settings: target_type: taxonomy_term module: core locked: false -cardinality: 1 +cardinality: -1 translatable: true indexes: { } persist_with_no_fields: false diff --git a/config/sync/field.storage.paragraph.field_video.yml b/config/sync/field.storage.paragraph.field_video.yml new file mode 100644 index 000000000..50ddde77b --- /dev/null +++ b/config/sync/field.storage.paragraph.field_video.yml @@ -0,0 +1,19 @@ +uuid: d229a16d-72e3-47c9-bf1e-55b59f915cd3 +langcode: da +status: true +dependencies: + module: + - itk_video + - paragraphs +id: paragraph.field_video +field_name: field_video +entity_type: paragraph +type: itk_video_field +settings: { } +module: itk_video +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/sync/flag.flag.support_comment.yml b/config/sync/flag.flag.support_comment.yml new file mode 100644 index 000000000..92e4a5f89 --- /dev/null +++ b/config/sync/flag.flag.support_comment.yml @@ -0,0 +1,31 @@ +uuid: d73f54ce-236a-43a2-9517-ea0fd72ba041 +langcode: da +status: true +dependencies: + module: + - comment +id: support_comment +label: 'Support comment' +bundles: + - early_inclusion_comment +entity_type: comment +global: false +flag_short: Like +flag_long: '' +flag_message: '' +unflag_short: 'Remove like' +unflag_long: '' +unflag_message: '' +unflag_denied_text: '' +weight: 0 +flag_type: 'entity:comment' +link_type: ajax_link +flagTypeConfig: + show_in_links: { } + show_as_field: true + show_on_form: false + show_contextual_link: false + extra_permissions: + owner: '0' + parent_owner: '0' +linkTypeConfig: { } diff --git a/config/sync/flag.flag.support_proposal.yml b/config/sync/flag.flag.support_proposal.yml new file mode 100644 index 000000000..cf7c27aaf --- /dev/null +++ b/config/sync/flag.flag.support_proposal.yml @@ -0,0 +1,30 @@ +uuid: d239eea9-827f-4d15-9597-9bf42b1aa35e +langcode: da +status: true +dependencies: + module: + - node +id: support_proposal +label: 'Support proposal' +bundles: + - dialogue_proposal +entity_type: node +global: false +flag_short: 'Support proposal' +flag_long: '' +flag_message: '' +unflag_short: 'Remove support' +unflag_long: '' +unflag_message: '' +unflag_denied_text: '' +weight: 0 +flag_type: 'entity:node' +link_type: ajax_link +flagTypeConfig: + show_in_links: { } + show_as_field: true + show_on_form: false + show_contextual_link: false + extra_permissions: + owner: '0' +linkTypeConfig: { } diff --git a/config/sync/honeypot.settings.yml b/config/sync/honeypot.settings.yml new file mode 100644 index 000000000..aa1311b37 --- /dev/null +++ b/config/sync/honeypot.settings.yml @@ -0,0 +1,18 @@ +_core: + default_config_hash: 9bVDfWSa_In6VzTXmy04jJ_3ZQobihKjO9isuuUCPaw +unprotected_forms: + - user_login_form + - search_form + - search_block_form + - views_exposed_form + - honeypot_settings_form +protect_all_forms: false +log: false +element_name: url +time_limit: 5 +expire: 300 +form_settings: + user_register_form: false + user_pass: false + feedback_contact_message_form: false + _contact_message_form: false diff --git a/config/sync/image_captcha.settings.yml b/config/sync/image_captcha.settings.yml index 58f5479dc..4018c5dd9 100644 --- a/config/sync/image_captcha.settings.yml +++ b/config/sync/image_captcha.settings.yml @@ -1,21 +1,33 @@ _core: default_config_hash: PBJAPRAqH-w00jAUXbD9qV6frVT38tI1oXZiBIjV8gU langcode: da -image_captcha_fonts_preview_map_cache: { } +image_captcha_fonts_preview_map_cache: + 3dbed886c81a681a313bc6297f53db5699401194490d38621f05c7bdf06cf1f5: + uri: modules/contrib/captcha/modules/image_captcha/fonts/Tuffy/Tuffy.ttf + filename: Tuffy.ttf + name: Tuffy + c4e145adf0facb2a37cdc58551af9a93a5232c722a278c14e6b3a89cf0224586: + uri: modules/contrib/captcha/modules/image_captcha/fonts/Tuffy/Tuffy_Bold.ttf + filename: Tuffy_Bold.ttf + name: Tuffy_Bold + 986462a9e165423b12587d83a363091b837f54db5d7337cb3da3f97f54104fbb: + uri: modules/contrib/captcha/modules/image_captcha/fonts/Tesox/tesox.ttf + filename: tesox.ttf + name: tesox image_captcha_fonts: - - 93aff9384590ba3dfc5016582d39a5220435b22a8a12271aaee869b9cbdf7891 - - 41c10afec522f4850ec2a21eeac3cc590a8d3800c3065f7293101d63f580d3eb + BUILTIN: BUILTIN image_captcha_font_size: 30 -image_captcha_character_spacing: '1.2' +image_captcha_character_spacing: '0.75' image_captcha_image_allowed_chars: aAbBCdEeFfGHhijKLMmNPQRrSTtWXYZ23456789 image_captcha_code_length: 5 image_captcha_rtl_support: 0 image_captcha_background_color: '#ffffff' image_captcha_foreground_color: '#000000' -image_captcha_foreground_color_randomness: 100 +image_captcha_foreground_color_randomness: 150 image_captcha_file_format: 1 -image_captcha_distortion_amplitude: 0 +image_captcha_distortion_amplitude: 3 image_captcha_bilinear_interpolation: 0 image_captcha_dot_noise: 0 image_captcha_line_noise: 0 -image_captcha_noise_level: 5 +image_captcha_noise_level: 7 +image_captcha_text_refresh: Ny diff --git a/config/sync/itk_video.settings.yml b/config/sync/itk_video.settings.yml new file mode 100644 index 000000000..590531903 --- /dev/null +++ b/config/sync/itk_video.settings.yml @@ -0,0 +1,4 @@ +respect_cookie_information: 1 +providers_status: + video_tool: true + vimeo: false diff --git a/config/sync/language.content_settings.node.dialogue.yml b/config/sync/language.content_settings.node.dialogue.yml new file mode 100644 index 000000000..2557ea160 --- /dev/null +++ b/config/sync/language.content_settings.node.dialogue.yml @@ -0,0 +1,11 @@ +uuid: 04369832-085c-4a61-a229-0c1089a1a43f +langcode: da +status: true +dependencies: + config: + - node.type.dialogue +id: node.dialogue +target_entity_type_id: node +target_bundle: dialogue +default_langcode: site_default +language_alterable: false diff --git a/config/sync/language.content_settings.node.dialogue_proposal.yml b/config/sync/language.content_settings.node.dialogue_proposal.yml new file mode 100644 index 000000000..b35ec139d --- /dev/null +++ b/config/sync/language.content_settings.node.dialogue_proposal.yml @@ -0,0 +1,11 @@ +uuid: 39ac6aa7-df64-4c53-b574-ceba2145fb8e +langcode: da +status: true +dependencies: + config: + - node.type.dialogue_proposal +id: node.dialogue_proposal +target_entity_type_id: node +target_bundle: dialogue_proposal +default_langcode: site_default +language_alterable: false diff --git a/config/sync/language.content_settings.taxonomy_term.dialogue_proposal_categories.yml b/config/sync/language.content_settings.taxonomy_term.dialogue_proposal_categories.yml new file mode 100644 index 000000000..c9d0abd2a --- /dev/null +++ b/config/sync/language.content_settings.taxonomy_term.dialogue_proposal_categories.yml @@ -0,0 +1,11 @@ +uuid: 2c825d52-6b03-4d43-852c-7a9b3bead69d +langcode: da +status: true +dependencies: + config: + - taxonomy.vocabulary.dialogue_proposal_categories +id: taxonomy_term.dialogue_proposal_categories +target_entity_type_id: taxonomy_term +target_bundle: dialogue_proposal_categories +default_langcode: site_default +language_alterable: false diff --git a/config/sync/node.type.dialogue.yml b/config/sync/node.type.dialogue.yml new file mode 100644 index 000000000..81d1512d0 --- /dev/null +++ b/config/sync/node.type.dialogue.yml @@ -0,0 +1,18 @@ +uuid: fc4629cb-e6a2-440b-8f00-6c542c529b85 +langcode: da +status: true +dependencies: + module: + - menu_ui +third_party_settings: + menu_ui: + available_menus: + - main + parent: 'main:' +name: Dialog +type: dialogue +description: 'Indholdstype til oprettelse af dialog. Bruges til at give borgerne mulighed for tidlig inddragelse igennem kommentarer.' +help: null +new_revision: false +preview_mode: 0 +display_submitted: false diff --git a/config/sync/node.type.dialogue_proposal.yml b/config/sync/node.type.dialogue_proposal.yml new file mode 100644 index 000000000..a6a1ab123 --- /dev/null +++ b/config/sync/node.type.dialogue_proposal.yml @@ -0,0 +1,17 @@ +uuid: 5fc34435-1da6-4881-a011-7bf917fe44a5 +langcode: da +status: true +dependencies: + module: + - menu_ui +third_party_settings: + menu_ui: + available_menus: { } + parent: '' +name: Dialogforslag +type: dialogue_proposal +description: 'A proposal related to a dialogue' +help: null +new_revision: false +preview_mode: 0 +display_submitted: false diff --git a/config/sync/paragraphs.paragraphs_type.video.yml b/config/sync/paragraphs.paragraphs_type.video.yml new file mode 100644 index 000000000..fc923697b --- /dev/null +++ b/config/sync/paragraphs.paragraphs_type.video.yml @@ -0,0 +1,10 @@ +uuid: 2fb3e16c-e932-4e71-9662-623ac4744501 +langcode: da +status: true +dependencies: { } +id: video +label: Video +icon_uuid: null +icon_default: null +description: 'A Video Tool video.' +behavior_plugins: { } diff --git a/config/sync/system.action.comment_delete_action.yml b/config/sync/system.action.comment_delete_action.yml new file mode 100644 index 000000000..a64b4c9c3 --- /dev/null +++ b/config/sync/system.action.comment_delete_action.yml @@ -0,0 +1,13 @@ +uuid: 86401a23-de74-44e4-80b3-4b8733ed1719 +langcode: da +status: true +dependencies: + module: + - comment +_core: + default_config_hash: vpBH8OmL4sdesCdeZLsW8KOutB5gkbreWJbfjhfFKaQ +id: comment_delete_action +label: 'Delete comment' +type: comment +plugin: 'entity:delete_action:comment' +configuration: { } diff --git a/config/sync/system.action.comment_publish_action.yml b/config/sync/system.action.comment_publish_action.yml new file mode 100644 index 000000000..3dce38305 --- /dev/null +++ b/config/sync/system.action.comment_publish_action.yml @@ -0,0 +1,13 @@ +uuid: 46f63598-d2f1-4c5e-9886-612627a9df2d +langcode: da +status: true +dependencies: + module: + - comment +_core: + default_config_hash: C00dyL_W_5M0nFlgUB3lWUTUs96jn51Jw1MLHVEHZD0 +id: comment_publish_action +label: 'Publish comment' +type: comment +plugin: 'entity:publish_action:comment' +configuration: { } diff --git a/config/sync/system.action.comment_save_action.yml b/config/sync/system.action.comment_save_action.yml new file mode 100644 index 000000000..f9f556493 --- /dev/null +++ b/config/sync/system.action.comment_save_action.yml @@ -0,0 +1,13 @@ +uuid: 58697d20-ea91-4dd3-a964-2c43d485570b +langcode: da +status: true +dependencies: + module: + - comment +_core: + default_config_hash: lfyE_snmvfg_EQ3VDyhUtGAXgmqtEiqa46I3bTMg8DU +id: comment_save_action +label: 'Save comment' +type: comment +plugin: 'entity:save_action:comment' +configuration: { } diff --git a/config/sync/system.action.comment_unpublish_action.yml b/config/sync/system.action.comment_unpublish_action.yml new file mode 100644 index 000000000..9c391dc1c --- /dev/null +++ b/config/sync/system.action.comment_unpublish_action.yml @@ -0,0 +1,13 @@ +uuid: d9a354b5-f593-4511-810d-df7aed9fa6d4 +langcode: da +status: true +dependencies: + module: + - comment +_core: + default_config_hash: tWOIjSMobEWOFZddMkNqb9JySbOVwE1diC6NRqcfLTk +id: comment_unpublish_action +label: 'Unpublish comment' +type: comment +plugin: 'entity:unpublish_action:comment' +configuration: { } diff --git a/config/sync/system.action.flag_action.support_comment_flag.yml b/config/sync/system.action.flag_action.support_comment_flag.yml new file mode 100644 index 000000000..c39159d38 --- /dev/null +++ b/config/sync/system.action.flag_action.support_comment_flag.yml @@ -0,0 +1,15 @@ +uuid: 13df67ae-1078-4867-991f-9f77003899d7 +langcode: da +status: true +dependencies: + config: + - flag.flag.support_comment + module: + - flag +id: flag_action.support_comment_flag +label: Like +type: comment +plugin: 'flag_action:support_comment_flag' +configuration: + flag_id: support_comment + flag_action: flag diff --git a/config/sync/system.action.flag_action.support_comment_unflag.yml b/config/sync/system.action.flag_action.support_comment_unflag.yml new file mode 100644 index 000000000..76f22c4a9 --- /dev/null +++ b/config/sync/system.action.flag_action.support_comment_unflag.yml @@ -0,0 +1,15 @@ +uuid: e7a440bf-ed63-44f0-a372-fd5a70587ec9 +langcode: da +status: true +dependencies: + config: + - flag.flag.support_comment + module: + - flag +id: flag_action.support_comment_unflag +label: 'Remove like' +type: comment +plugin: 'flag_action:support_comment_unflag' +configuration: + flag_id: support_comment + flag_action: unflag diff --git a/config/sync/system.action.flag_action.support_proposal_flag.yml b/config/sync/system.action.flag_action.support_proposal_flag.yml new file mode 100644 index 000000000..20d20f5c5 --- /dev/null +++ b/config/sync/system.action.flag_action.support_proposal_flag.yml @@ -0,0 +1,15 @@ +uuid: c51fbee9-19b1-4928-86af-614baff1902d +langcode: da +status: true +dependencies: + config: + - flag.flag.support_proposal + module: + - flag +id: flag_action.support_proposal_flag +label: 'Support proposal' +type: node +plugin: 'flag_action:support_proposal_flag' +configuration: + flag_id: support_proposal + flag_action: flag diff --git a/config/sync/system.action.flag_action.support_proposal_unflag.yml b/config/sync/system.action.flag_action.support_proposal_unflag.yml new file mode 100644 index 000000000..713d0dd9a --- /dev/null +++ b/config/sync/system.action.flag_action.support_proposal_unflag.yml @@ -0,0 +1,15 @@ +uuid: cf1166cb-1155-4c26-adcc-409d6e24361f +langcode: da +status: true +dependencies: + config: + - flag.flag.support_proposal + module: + - flag +id: flag_action.support_proposal_unflag +label: 'Remove support' +type: node +plugin: 'flag_action:support_proposal_unflag' +configuration: + flag_id: support_proposal + flag_action: unflag diff --git a/config/sync/system.action.flag_delete_flagging.yml b/config/sync/system.action.flag_delete_flagging.yml new file mode 100644 index 000000000..a6ce3019b --- /dev/null +++ b/config/sync/system.action.flag_delete_flagging.yml @@ -0,0 +1,13 @@ +uuid: bd6c7411-0f6d-4b8a-b125-e6e3fdfe7f14 +langcode: da +status: true +dependencies: + module: + - flag +_core: + default_config_hash: Z9dGFmjyQgZjDwdsI-Mmgd2tZkUsjYi7cOSUPqjXPtw +id: flag_delete_flagging +label: 'Delete flagging' +type: flagging +plugin: flag_delete_flagging +configuration: { } diff --git a/config/sync/system.action.user_add_role_action.dialogue_editor.yml b/config/sync/system.action.user_add_role_action.dialogue_editor.yml new file mode 100644 index 000000000..f5bf9e70c --- /dev/null +++ b/config/sync/system.action.user_add_role_action.dialogue_editor.yml @@ -0,0 +1,14 @@ +uuid: e6787a25-5d50-4525-9946-b61d6b81d00d +langcode: da +status: true +dependencies: + config: + - user.role.dialogue_editor + module: + - user +id: user_add_role_action.dialogue_editor +label: 'Add the Dialog redaktør role to the selected user(s)' +type: user +plugin: user_add_role_action +configuration: + rid: dialogue_editor diff --git a/config/sync/system.action.user_remove_role_action.dialogue_editor.yml b/config/sync/system.action.user_remove_role_action.dialogue_editor.yml new file mode 100644 index 000000000..808790add --- /dev/null +++ b/config/sync/system.action.user_remove_role_action.dialogue_editor.yml @@ -0,0 +1,14 @@ +uuid: f01672eb-cca0-4ae3-9f8f-d3e18d613abb +langcode: da +status: true +dependencies: + config: + - user.role.dialogue_editor + module: + - user +id: user_remove_role_action.dialogue_editor +label: 'Remove the Dialog redaktør role from the selected user(s)' +type: user +plugin: user_remove_role_action +configuration: + rid: dialogue_editor diff --git a/config/sync/system.performance.yml b/config/sync/system.performance.yml index 1cfbe632a..8c056484a 100644 --- a/config/sync/system.performance.yml +++ b/config/sync/system.performance.yml @@ -5,7 +5,7 @@ cache: page: max_age: 0 css: - preprocess: true + preprocess: false gzip: true fast_404: enabled: true @@ -13,6 +13,6 @@ fast_404: exclude_paths: '/\/(?:styles|imagecache)\//' html: '404 Not Found

Not Found

The requested URL "@path" was not found on this server.

' js: - preprocess: true + preprocess: false gzip: true stale_file_threshold: 2592000 diff --git a/config/sync/taxonomy.vocabulary.dialogue_proposal_categories.yml b/config/sync/taxonomy.vocabulary.dialogue_proposal_categories.yml new file mode 100644 index 000000000..c735058dd --- /dev/null +++ b/config/sync/taxonomy.vocabulary.dialogue_proposal_categories.yml @@ -0,0 +1,9 @@ +uuid: fd8f82ed-4dd1-4c3a-853c-20c3a8442f1f +langcode: da +status: true +dependencies: { } +name: 'Dialogue proposal categories' +vid: dialogue_proposal_categories +description: null +weight: 0 +new_revision: false diff --git a/config/sync/user.role.administrator.yml b/config/sync/user.role.administrator.yml index 4bbadad78..a423b067d 100644 --- a/config/sync/user.role.administrator.yml +++ b/config/sync/user.role.administrator.yml @@ -30,7 +30,7 @@ dependencies: - toolbar id: administrator label: Administrator -weight: -6 +weight: -7 is_admin: null permissions: - 'access administration pages' diff --git a/config/sync/user.role.anonymous.yml b/config/sync/user.role.anonymous.yml index 487eca357..dfd62dc1a 100644 --- a/config/sync/user.role.anonymous.yml +++ b/config/sync/user.role.anonymous.yml @@ -4,9 +4,11 @@ status: true dependencies: config: - filter.format.citizen_proposal_content + - node.type.dialogue_proposal module: - filter - media + - node - system _core: default_config_hash: j5zLMOdJBqC0bMvSdth5UebkprJB8g_2FXHqhfpJzow @@ -16,5 +18,6 @@ weight: -10 is_admin: false permissions: - 'access content' + - 'create dialogue_proposal content' - 'use text format citizen_proposal_content' - 'view media' diff --git a/config/sync/user.role.authenticated.yml b/config/sync/user.role.authenticated.yml index e7ff8db0d..5978bb816 100644 --- a/config/sync/user.role.authenticated.yml +++ b/config/sync/user.role.authenticated.yml @@ -6,10 +6,12 @@ dependencies: - filter.format.citizen_proposal_content - filter.format.filtered_html - filter.format.hearing_description + - node.type.dialogue_proposal module: - file - filter - media + - node - system _core: default_config_hash: dJ0L2DNSj5q6XVZAGsuVDpJTh5UeYkIPwKrUOOpr8YI @@ -19,6 +21,7 @@ weight: -9 is_admin: false permissions: - 'access content' + - 'create dialogue_proposal content' - 'delete own files' - 'use text format citizen_proposal_content' - 'use text format filtered_html' diff --git a/config/sync/user.role.dialogue_editor.yml b/config/sync/user.role.dialogue_editor.yml new file mode 100644 index 000000000..7993be328 --- /dev/null +++ b/config/sync/user.role.dialogue_editor.yml @@ -0,0 +1,30 @@ +uuid: 6d277b75-4cc2-4ed8-b965-cffa22e4b5f7 +langcode: da +status: true +dependencies: + config: + - node.type.dialogue + - node.type.dialogue_proposal + module: + - node + - quick_node_clone + - view_unpublished +id: dialogue_editor +label: Dialogredaktør +weight: -4 +is_admin: null +permissions: + - 'clone dialogue content' + - 'clone dialogue_proposal content' + - 'create dialogue content' + - 'delete any dialogue content' + - 'delete any dialogue_proposal content' + - 'delete dialogue revisions' + - 'delete own dialogue content' + - 'edit any dialogue content' + - 'edit any dialogue_proposal content' + - 'edit own dialogue content' + - 'revert dialogue revisions' + - 'view any unpublished dialogue content' + - 'view any unpublished dialogue_proposal content' + - 'view dialogue revisions' diff --git a/config/sync/user.role.hearing_editor.yml b/config/sync/user.role.hearing_editor.yml index 320021696..853047199 100644 --- a/config/sync/user.role.hearing_editor.yml +++ b/config/sync/user.role.hearing_editor.yml @@ -23,7 +23,7 @@ dependencies: - view_unpublished id: hearing_editor label: Høringsredaktør -weight: -5 +weight: -6 is_admin: null permissions: - 'access content overview' diff --git a/config/sync/user.role.page_editor.yml b/config/sync/user.role.page_editor.yml index 7ffdfeefe..dfc335354 100644 --- a/config/sync/user.role.page_editor.yml +++ b/config/sync/user.role.page_editor.yml @@ -22,7 +22,7 @@ dependencies: - view_unpublished id: page_editor label: Sideredaktør -weight: -3 +weight: -2 is_admin: null permissions: - 'access content overview' diff --git a/config/sync/user.role.public_meeting_editor.yml b/config/sync/user.role.public_meeting_editor.yml index 6f6c74de1..f89f2291b 100644 --- a/config/sync/user.role.public_meeting_editor.yml +++ b/config/sync/user.role.public_meeting_editor.yml @@ -23,7 +23,7 @@ dependencies: - view_unpublished id: public_meeting_editor label: Begivenhedsredaktør -weight: -4 +weight: -3 is_admin: null permissions: - 'access content overview' diff --git a/config/sync/views.view.all_early_inclusion.yml b/config/sync/views.view.all_early_inclusion.yml new file mode 100644 index 000000000..93cab80df --- /dev/null +++ b/config/sync/views.view.all_early_inclusion.yml @@ -0,0 +1,323 @@ +uuid: 9153b384-41a7-4502-afd8-630148012a6d +langcode: da +status: true +dependencies: + config: + - core.entity_view_mode.node.teaser + - node.type.dialogue + - taxonomy.vocabulary.area + module: + - better_exposed_filters + - node + - taxonomy + - user +id: all_early_inclusion +label: 'Alle tidlig dialog' +module: views +description: 'En liste af alle projekter' +tag: '' +base_table: node_field_data +base_field: nid +display: + default: + id: default + display_title: Master + display_plugin: default + position: 0 + display_options: + fields: + title: + id: title + table: node_field_data + field: title + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: title + plugin_id: field + label: '' + exclude: false + alter: + alter_text: false + make_link: false + absolute: false + word_boundary: false + ellipsis: false + strip_tags: false + trim: false + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + pager: + type: full + options: + offset: 0 + pagination_heading_level: h4 + items_per_page: 15 + total_pages: null + id: 0 + tags: + next: ›› + previous: ‹‹ + first: '« First' + last: 'Last »' + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + quantity: 9 + exposed_form: + type: bef + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + input_required: false + text_input_required: 'Vælg et filter og klik på Anvend for at se resultater' + text_input_required_format: filtered_html + bef: + general: + autosubmit: true + autosubmit_exclude_textfield: true + autosubmit_textfield_delay: 500 + autosubmit_textfield_minimum_length: 3 + autosubmit_hide: true + input_required: false + allow_secondary: false + secondary_label: 'Avancerede indstillinger' + secondary_open: false + text_input_required: 'Vælg et filter og klik på Anvend for at se resultater' + text_input_required_format: basic_html + reset_button_always_show: false + filter: + field_area_target_id: + plugin_id: default + advanced: + sort_options: false + rewrite: + filter_rewrite_values: "- Any -|Område\r\n- Enhver -|Vælg område" + filter_rewrite_values_key: false + collapsible: false + collapsible_disable_automatic_open: false + is_secondary: false + hide_label: true + field_project_category_target_id: + plugin_id: default + advanced: + sort_options: false + rewrite: + filter_rewrite_values: "- Any -|Alle\r\n- Enhver -|Alle" + filter_rewrite_values_key: false + collapsible: false + collapsible_disable_automatic_open: false + is_secondary: false + hide_label: true + access: + type: perm + options: + perm: 'access content' + cache: + type: tag + options: { } + empty: + area_text_custom: + id: area_text_custom + table: views + field: area_text_custom + relationship: none + group_type: group + admin_label: '' + plugin_id: text_custom + empty: true + content: '' + tokenize: false + sorts: + created: + id: created + table: node_field_data + field: created + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: created + plugin_id: date + order: DESC + expose: + label: '' + field_identifier: created + exposed: false + granularity: second + arguments: { } + filters: + status: + id: status + table: node_field_data + field: status + entity_type: node + entity_field: status + plugin_id: boolean + value: '1' + group: 1 + expose: + operator: '' + operator_limit_selection: false + operator_list: { } + type: + id: type + table: node_field_data + field: type + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: type + plugin_id: bundle + operator: in + value: + dialogue: dialogue + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + field_area_target_id: + id: field_area_target_id + table: node__field_area + field: field_area_target_id + relationship: none + group_type: group + admin_label: '' + plugin_id: taxonomy_index_tid + operator: or + value: { } + group: 1 + exposed: true + expose: + operator_id: field_area_target_id_op + label: Område + description: '' + use_operator: false + operator: field_area_target_id_op + operator_limit_selection: false + operator_list: { } + identifier: field_area_target_id + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + editor: '0' + administrator: '0' + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + reduce_duplicates: false + vid: area + type: select + hierarchy: false + limit: true + error_message: true + style: + type: default + options: + row_class: '' + default_row_class: false + uses_fields: false + row: + type: 'entity:node' + options: + relationship: none + view_mode: teaser + query: + type: views_query + options: + query_comment: '' + disable_sql_rewrite: false + distinct: false + replica: false + query_tags: { } + relationships: { } + css_class: '' + use_ajax: false + header: { } + footer: { } + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - 'user.node_grants:view' + - user.permissions + tags: { } diff --git a/config/sync/views.view.comment.yml b/config/sync/views.view.comment.yml new file mode 100644 index 000000000..c3e049110 --- /dev/null +++ b/config/sync/views.view.comment.yml @@ -0,0 +1,1617 @@ +uuid: af1bbe89-86e4-4882-87f8-75bbf0d2d0f2 +langcode: da +status: true +dependencies: + module: + - comment + - user +_core: + default_config_hash: H6JHGXl97yOKmVaV62SoY1ki1tWVdyD44fgOkdmVyRM +id: comment +label: Comments +module: comment +description: 'Find and manage comments.' +tag: default +base_table: comment_field_data +base_field: cid +display: + default: + id: default + display_title: Master + display_plugin: default + position: 0 + display_options: + title: Comments + fields: + comment_bulk_form: + id: comment_bulk_form + table: comment + field: comment_bulk_form + relationship: none + group_type: group + admin_label: '' + entity_type: comment + plugin_id: comment_bulk_form + label: '' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + action_title: Handling + include_exclude: include + selected_actions: + - comment_delete_action + - comment_unpublish_action + subject: + id: subject + table: comment_field_data + field: subject + relationship: none + group_type: group + admin_label: '' + entity_type: comment + entity_field: subject + plugin_id: field + label: Emne + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: comment_permalink + settings: + link_to_entity: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + uid: + id: uid + table: comment_field_data + field: uid + relationship: none + group_type: group + admin_label: '' + entity_type: comment + entity_field: uid + plugin_id: field + label: '' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: true + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + name: + id: name + table: comment_field_data + field: name + relationship: none + group_type: group + admin_label: '' + entity_type: comment + entity_field: name + plugin_id: field + label: Forfatter + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '{{ uid }}' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: comment_username + settings: { } + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_id: + id: entity_id + table: comment_field_data + field: entity_id + relationship: none + group_type: group + admin_label: '' + entity_type: comment + entity_field: entity_id + plugin_id: commented_entity + label: 'Posted in' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: true + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + changed: + id: changed + table: comment_field_data + field: changed + relationship: none + group_type: group + admin_label: '' + entity_type: comment + entity_field: changed + plugin_id: field + label: Opdateret + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: timestamp + settings: + date_format: short + custom_date_format: '' + timezone: '' + tooltip: + date_format: long + custom_date_format: '' + time_diff: + enabled: false + future_format: '@interval hence' + past_format: '@interval ago' + granularity: 2 + refresh: 60 + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + operations: + id: operations + table: comment + field: operations + relationship: none + group_type: group + admin_label: '' + entity_type: comment + plugin_id: entity_operations + label: Handlinger + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + destination: true + name_1: + id: name_1 + table: users_field_data + field: name + relationship: uid + group_type: group + admin_label: '' + entity_type: user + entity_field: name + plugin_id: field + label: '' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: user_name + settings: + link_to_entity: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + pager: + type: full + options: + offset: 0 + pagination_heading_level: h4 + items_per_page: 50 + total_pages: null + id: 0 + tags: + next: 'næste ›' + previous: '‹ forrige' + first: '« første' + last: 'sidste »' + expose: + items_per_page: false + items_per_page_label: 'Antal elementer' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- Alle -' + offset: false + offset_label: Forskydning + quantity: 9 + exposed_form: + type: basic + options: + submit_button: Filter + reset_button: false + reset_button_label: Gendan + exposed_sorts_label: 'Sortér efter' + expose_sort_order: true + sort_asc_label: Stigende + sort_desc_label: Faldende + access: + type: perm + options: + perm: 'administer comments' + cache: + type: tag + options: { } + empty: + area_text_custom: + id: area_text_custom + table: views + field: area_text_custom + relationship: none + group_type: group + admin_label: '' + plugin_id: text_custom + empty: true + content: 'No comments available.' + tokenize: false + sorts: + changed: + id: changed + table: comment_field_data + field: changed + relationship: none + group_type: group + admin_label: '' + entity_type: comment + entity_field: changed + plugin_id: date + order: DESC + expose: + label: '' + field_identifier: changed + exposed: false + granularity: second + arguments: { } + filters: + status: + id: status + table: comment_field_data + field: status + relationship: none + group_type: group + admin_label: '' + entity_type: comment + entity_field: status + plugin_id: boolean + operator: '=' + value: '1' + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + subject: + id: subject + table: comment_field_data + field: subject + relationship: none + group_type: group + admin_label: '' + entity_type: comment + entity_field: subject + plugin_id: string + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: subject_op + label: Emne + description: '' + use_operator: false + operator: subject_op + operator_limit_selection: false + operator_list: { } + identifier: subject + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + combine: + id: combine + table: views + field: combine + relationship: none + group_type: group + admin_label: '' + plugin_id: combine + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: combine_op + label: 'Author name' + description: '' + use_operator: false + operator: combine_op + operator_limit_selection: false + operator_list: { } + identifier: author_name + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + fields: + name: name + name_1: name_1 + langcode: + id: langcode + table: comment_field_data + field: langcode + relationship: none + group_type: group + admin_label: '' + entity_type: comment + entity_field: langcode + plugin_id: language + operator: in + value: { } + group: 1 + exposed: true + expose: + operator_id: langcode_op + label: Sprog + description: '' + use_operator: false + operator: langcode_op + operator_limit_selection: false + operator_list: { } + identifier: langcode + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + filter_groups: + operator: AND + groups: + 1: AND + style: + type: table + options: + grouping: { } + row_class: '' + default_row_class: true + columns: + comment_bulk_form: comment_bulk_form + subject: subject + uid: uid + entity_id: entity_id + changed: changed + operations: operations + default: changed + info: + comment_bulk_form: + align: '' + separator: '' + empty_column: false + responsive: '' + subject: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + uid: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + entity_id: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + changed: + sortable: true + default_sort_order: desc + align: '' + separator: '' + empty_column: false + responsive: priority-low + operations: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + override: true + sticky: true + summary: '' + empty_table: true + caption: '' + description: '' + row: + type: fields + query: + type: views_query + options: + query_comment: '' + disable_sql_rewrite: false + distinct: false + replica: false + query_tags: { } + relationships: + uid: + id: uid + table: comment_field_data + field: uid + relationship: none + group_type: group + admin_label: author + entity_type: comment + entity_field: uid + plugin_id: standard + required: false + css_class: '' + use_ajax: false + group_by: false + show_admin_links: true + use_more: false + use_more_always: true + use_more_text: mere + header: { } + footer: { } + hide_attachment_summary: false + display_extenders: { } + cache_metadata: + max-age: 0 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - user.permissions + tags: { } + cacheable: false + page_published: + id: page_published + display_title: 'Published comments' + display_plugin: page + position: 1 + display_options: + display_description: 'The approved comments listing.' + display_comment: '' + exposed_block: false + display_extenders: { } + path: admin/content/comment + menu: + type: tab + title: Comments + description: 'Comments published' + weight: 0 + menu_name: admin + parent: '' + context: '0' + cache_metadata: + max-age: 0 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - user.permissions + tags: { } + cacheable: false + page_unapproved: + id: page_unapproved + display_title: 'Unapproved comments' + display_plugin: page + position: 2 + display_options: + fields: + comment_bulk_form: + id: comment_bulk_form + table: comment + field: comment_bulk_form + relationship: none + group_type: group + admin_label: '' + entity_type: comment + plugin_id: comment_bulk_form + label: '' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + action_title: Handling + include_exclude: include + selected_actions: + - comment_delete_action + - comment_publish_action + subject: + id: subject + table: comment_field_data + field: subject + relationship: none + group_type: group + admin_label: '' + entity_type: comment + entity_field: subject + plugin_id: field + label: Emne + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: comment_permalink + settings: + link_to_entity: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + uid: + id: uid + table: comment_field_data + field: uid + relationship: none + group_type: group + admin_label: '' + entity_type: comment + entity_field: uid + plugin_id: field + label: '' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: true + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + name: + id: name + table: comment_field_data + field: name + relationship: none + group_type: group + admin_label: '' + entity_type: comment + entity_field: name + plugin_id: field + label: Forfatter + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '{{ uid }}' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: comment_username + settings: { } + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_id: + id: entity_id + table: comment_field_data + field: entity_id + relationship: none + group_type: group + admin_label: '' + entity_type: comment + entity_field: entity_id + plugin_id: commented_entity + label: 'Posted in' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: true + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + changed: + id: changed + table: comment_field_data + field: changed + relationship: none + group_type: group + admin_label: '' + entity_type: comment + entity_field: changed + plugin_id: field + label: Opdateret + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: timestamp + settings: + date_format: short + custom_date_format: '' + timezone: '' + tooltip: + date_format: long + custom_date_format: '' + time_diff: + enabled: false + future_format: '@interval hence' + past_format: '@interval ago' + granularity: 2 + refresh: 60 + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + operations: + id: operations + table: comment + field: operations + relationship: none + group_type: group + admin_label: '' + entity_type: comment + plugin_id: entity_operations + label: Handlinger + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + destination: true + name_1: + id: name_1 + table: users_field_data + field: name + relationship: uid + group_type: group + admin_label: '' + entity_type: user + entity_field: name + plugin_id: field + label: '' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: user_name + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + filters: + status: + id: status + table: comment_field_data + field: status + relationship: none + group_type: group + admin_label: '' + entity_type: comment + entity_field: status + plugin_id: boolean + operator: '=' + value: '0' + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + subject: + id: subject + table: comment_field_data + field: subject + relationship: none + group_type: group + admin_label: '' + entity_type: comment + entity_field: subject + plugin_id: string + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: subject_op + label: Emne + description: '' + use_operator: false + operator: subject_op + operator_limit_selection: false + operator_list: { } + identifier: subject + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + combine: + id: combine + table: views + field: combine + relationship: none + group_type: group + admin_label: '' + plugin_id: combine + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: combine_op + label: 'Author Name' + description: '' + use_operator: false + operator: combine_op + operator_limit_selection: false + operator_list: { } + identifier: author_name + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + fields: + name: name + name_1: name_1 + langcode: + id: langcode + table: comment_field_data + field: langcode + relationship: none + group_type: group + admin_label: '' + entity_type: comment + entity_field: langcode + plugin_id: language + operator: in + value: { } + group: 1 + exposed: true + expose: + operator_id: langcode_op + label: Sprog + description: '' + use_operator: false + operator: langcode_op + operator_limit_selection: false + operator_list: { } + identifier: langcode + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + filter_groups: + operator: AND + groups: + 1: AND + defaults: + fields: false + filters: false + filter_groups: false + display_description: 'The unapproved comments listing.' + display_extenders: { } + path: admin/content/comment/approval + menu: + type: tab + title: 'Unapproved comments' + description: 'Comments unapproved' + weight: 1 + menu_name: admin + parent: '' + context: '0' + cache_metadata: + max-age: 0 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - user.permissions + tags: { } + cacheable: false diff --git a/config/sync/views.view.comments_recent.yml b/config/sync/views.view.comments_recent.yml new file mode 100644 index 000000000..a9cc4f270 --- /dev/null +++ b/config/sync/views.view.comments_recent.yml @@ -0,0 +1,270 @@ +uuid: 3738090b-a18b-4298-95e6-50e07261106d +langcode: da +status: true +dependencies: + module: + - comment + - node + - user +_core: + default_config_hash: cFOucxH8PAXDQ2kViCcAHgK-JMCcxVkpIMzD56EfpZo +id: comments_recent +label: 'Recent comments' +module: views +description: 'Recent comments.' +tag: default +base_table: comment_field_data +base_field: cid +display: + default: + id: default + display_title: Master + display_plugin: default + position: 0 + display_options: + title: 'Recent comments' + fields: + subject: + id: subject + table: comment_field_data + field: subject + relationship: none + group_type: group + admin_label: '' + entity_type: comment + entity_field: subject + plugin_id: field + label: '' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: false + ellipsis: false + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + type: string + settings: + link_to_entity: true + changed: + id: changed + table: comment_field_data + field: changed + relationship: none + group_type: group + admin_label: '' + entity_type: comment + entity_field: changed + plugin_id: field + label: '' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + type: timestamp_ago + settings: + future_format: '@interval hence' + past_format: '@interval ago' + granularity: 2 + pager: + type: some + options: + offset: 0 + items_per_page: 10 + exposed_form: + type: basic + access: + type: perm + options: + perm: 'access comments' + cache: + type: tag + empty: + area_text_custom: + id: area_text_custom + table: views + field: area_text_custom + relationship: none + group_type: group + admin_label: '' + plugin_id: text_custom + label: '' + empty: true + content: 'No comments available.' + tokenize: false + sorts: + created: + id: created + table: comment_field_data + field: created + relationship: none + group_type: group + admin_label: '' + entity_type: comment + entity_field: created + plugin_id: date + order: DESC + expose: + label: '' + field_identifier: created + exposed: false + cid: + id: cid + table: comment_field_data + field: cid + relationship: none + group_type: group + admin_label: '' + entity_type: comment + entity_field: cid + plugin_id: standard + order: DESC + expose: + label: '' + field_identifier: cid + exposed: false + filters: + status: + id: status + table: comment_field_data + field: status + entity_type: comment + entity_field: status + plugin_id: boolean + value: '1' + group: 1 + expose: + operator: '' + operator_limit_selection: false + operator_list: { } + status_node: + id: status_node + table: node_field_data + field: status + relationship: node + entity_type: node + entity_field: status + plugin_id: boolean + value: '1' + group: 1 + expose: + operator: '' + operator_limit_selection: false + operator_list: { } + style: + type: html_list + options: + grouping: { } + row_class: '' + default_row_class: true + type: ul + wrapper_class: item-list + class: '' + row: + type: fields + options: + default_field_elements: true + hide_empty: false + query: + type: views_query + relationships: + node: + id: node + table: comment_field_data + field: node + plugin_id: standard + required: true + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - user.permissions + tags: { } + block_1: + id: block_1 + display_title: Blok + display_plugin: block + position: 1 + display_options: + display_extenders: { } + block_description: 'Recent comments' + block_category: 'Lists (Views)' + allow: + items_per_page: true + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - user.permissions + tags: { } diff --git a/config/sync/views.view.dialogue_proposals.yml b/config/sync/views.view.dialogue_proposals.yml new file mode 100644 index 000000000..5c876a9fe --- /dev/null +++ b/config/sync/views.view.dialogue_proposals.yml @@ -0,0 +1,418 @@ +uuid: f0e4bf21-0f38-489b-bf27-33b3d50f71e3 +langcode: da +status: true +dependencies: + config: + - core.entity_view_mode.node.list_display + - flag.flag.support_proposal + - node.type.dialogue_proposal + - taxonomy.vocabulary.dialogue_proposal_categories + module: + - better_exposed_filters + - flag + - node + - taxonomy + - user +id: dialogue_proposals +label: 'Dialogue proposals' +module: views +description: '' +tag: '' +base_table: node_field_data +base_field: nid +display: + default: + id: default + display_title: Default + display_plugin: default + position: 0 + display_options: + title: 'Dialogue proposals' + fields: + title: + id: title + table: node_field_data + field: title + relationship: none + group_type: group + admin_label: '' + plugin_id: field + label: '' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + pager: + type: full + options: + offset: 0 + pagination_heading_level: h4 + items_per_page: 0 + total_pages: null + id: 0 + tags: + next: 'Næste ›' + previous: '‹ Forrige' + first: '« Første' + last: 'Sidste »' + expose: + items_per_page: false + items_per_page_label: 'Antal elementer' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- Alle -' + offset: false + offset_label: Forskydning + quantity: 9 + exposed_form: + type: bef + options: + submit_button: Udfør + reset_button: false + reset_button_label: Gendan + exposed_sorts_label: 'Sortér efter' + expose_sort_order: false + sort_asc_label: Stigende + sort_desc_label: Faldende + text_input_required: 'Select any filter and click on Apply to see results' + text_input_required_format: citizen_proposal_content + bef: + general: + autosubmit: true + autosubmit_exclude_textfield: false + autosubmit_textfield_delay: 500 + autosubmit_textfield_minimum_length: 3 + autosubmit_hide: true + input_required: false + allow_secondary: false + secondary_label: 'Advanced options' + secondary_open: false + reset_button_always_show: false + sort: + plugin_id: default + advanced: + combine: false + combine_rewrite: "Flagging count Asc|Oldest first\r\nFlagging count Desc|Newest first\r\n" + reset: false + reset_label: '' + collapsible: false + collapsible_label: 'Sort options' + is_secondary: false + hide_label: true + filter: + field_dialogue_proposal_category_target_id: + plugin_id: default + advanced: + sort_options: false + rewrite: + filter_rewrite_values: '- Any -|All categories' + filter_rewrite_values_key: false + collapsible: false + collapsible_disable_automatic_open: false + is_secondary: false + hide_label: true + access: + type: perm + options: + perm: 'access content' + cache: + type: tag + options: { } + empty: { } + sorts: + created: + id: created + table: node_field_data + field: created + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: created + plugin_id: date + order: DESC + expose: + label: 'Latest proposals' + field_identifier: created + exposed: true + granularity: second + count: + id: count + table: flag_counts + field: count + relationship: flag_relationship + group_type: group + admin_label: '' + plugin_id: standard + order: DESC + expose: + label: 'Most likes' + field_identifier: count + exposed: true + comment_count: + id: comment_count + table: comment_entity_statistics + field: comment_count + relationship: none + group_type: group + admin_label: '' + plugin_id: standard + order: DESC + expose: + label: 'Most comments' + field_identifier: comment_count + exposed: true + arguments: + field_dialogue_target_id: + id: field_dialogue_target_id + table: node__field_dialogue + field: field_dialogue_target_id + relationship: none + group_type: group + admin_label: '' + plugin_id: entity_target_id + default_action: default + exception: + value: all + title_enable: false + title: All + title_enable: false + title: '' + default_argument_type: node + default_argument_options: { } + summary_options: + base_path: '' + count: true + override: false + items_per_page: 25 + summary: + sort_order: asc + number_of_records: 0 + format: default_summary + specify_validation: false + validate: + type: none + fail: 'not found' + validate_options: { } + break_phrase: false + not: false + filters: + status: + id: status + table: node_field_data + field: status + entity_type: node + entity_field: status + plugin_id: boolean + value: '1' + group: 1 + expose: + operator: '' + type: + id: type + table: node_field_data + field: type + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: type + plugin_id: bundle + operator: in + value: + dialogue_proposal: dialogue_proposal + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + field_dialogue_proposal_category_target_id: + id: field_dialogue_proposal_category_target_id + table: node__field_dialogue_proposal_category + field: field_dialogue_proposal_category_target_id + relationship: none + group_type: group + admin_label: '' + plugin_id: taxonomy_index_tid + operator: or + value: { } + group: 1 + exposed: true + expose: + operator_id: field_dialogue_proposal_category_target_id_op + label: 'Dialogue proposal category' + description: '' + use_operator: false + operator: field_dialogue_proposal_category_target_id_op + operator_limit_selection: false + operator_list: { } + identifier: field_dialogue_proposal_category_target_id + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + citizen_proposal_editor: '0' + administrator: '0' + hearing_editor: '0' + project_editor: '0' + dialogue_editor: '0' + public_meeting_editor: '0' + page_editor: '0' + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + reduce_duplicates: false + vid: dialogue_proposal_categories + type: select + hierarchy: false + limit: true + error_message: true + style: + type: default + row: + type: 'entity:node' + options: + relationship: none + view_mode: list_display + query: + type: views_query + options: + query_comment: '' + disable_sql_rewrite: false + distinct: false + replica: false + query_tags: { } + relationships: + flag_relationship: + id: flag_relationship + table: node_field_data + field: flag_relationship + relationship: none + group_type: group + admin_label: Flags + entity_type: node + plugin_id: flag_relationship + required: false + flag: support_proposal + user_scope: any + use_ajax: true + header: { } + footer: { } + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - 'url.query_args:sort_by' + - 'user.node_grants:view' + - user.permissions + tags: + - flag.flag.support_proposal + block_1: + id: block_1 + display_title: Block + display_plugin: block + position: 1 + display_options: + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - 'url.query_args:sort_by' + - 'user.node_grants:view' + - user.permissions + tags: + - flag.flag.support_proposal diff --git a/docker-compose.override.yml b/docker-compose.override.yml index 656422067..7bb8af611 100644 --- a/docker-compose.override.yml +++ b/docker-compose.override.yml @@ -1,7 +1,7 @@ include: - docker-compose.oidc.yml - docker-compose.playwright.yml - - docker-compose.pretix.yml + #- docker-compose.pretix.yml services: phpfpm: diff --git a/web/modules/custom/hoeringsportal_base_fixtures/assets/images/trafic.jpg b/web/modules/custom/hoeringsportal_base_fixtures/assets/images/trafic.jpg new file mode 100644 index 000000000..ea630cc08 Binary files /dev/null and b/web/modules/custom/hoeringsportal_base_fixtures/assets/images/trafic.jpg differ diff --git a/web/modules/custom/hoeringsportal_base_fixtures/hoeringsportal_base_fixtures.services.yml b/web/modules/custom/hoeringsportal_base_fixtures/hoeringsportal_base_fixtures.services.yml index fae37eefd..c376c8017 100644 --- a/web/modules/custom/hoeringsportal_base_fixtures/hoeringsportal_base_fixtures.services.yml +++ b/web/modules/custom/hoeringsportal_base_fixtures/hoeringsportal_base_fixtures.services.yml @@ -52,6 +52,10 @@ services: tags: - { name: content_fixture } + Drupal\hoeringsportal_base_fixtures\Fixture\TermDialogueProposalCategoryFixture: + tags: + - { name: content_fixture } + Drupal\hoeringsportal_base_fixtures\Fixture\TermHearingTypeFixture: tags: - { name: content_fixture } diff --git a/web/modules/custom/hoeringsportal_base_fixtures/src/Fixture/MenuItemFixture.php b/web/modules/custom/hoeringsportal_base_fixtures/src/Fixture/MenuItemFixture.php index 46ed20606..9a3bcf6cd 100644 --- a/web/modules/custom/hoeringsportal_base_fixtures/src/Fixture/MenuItemFixture.php +++ b/web/modules/custom/hoeringsportal_base_fixtures/src/Fixture/MenuItemFixture.php @@ -6,6 +6,7 @@ use Drupal\content_fixtures\Fixture\DependentFixtureInterface; use Drupal\content_fixtures\Fixture\FixtureGroupInterface; use Drupal\hoeringsportal_citizen_proposal_fixtures\Fixture\CitizenProposalLandingPageFixture; +use Drupal\hoeringsportal_dialogue_fixtures\Fixture\DialogueLandingPageFixture; use Drupal\hoeringsportal_hearing_fixtures\Fixture\HearingLandingPageFixture; use Drupal\hoeringsportal_project_fixtures\Fixture\ProjectLandingPageFixture; use Drupal\menu_link_content\Entity\MenuLinkContent; @@ -29,6 +30,7 @@ public function load() { 'node:landing_page:Proposals', 'node:landing_page:Public meetings', 'node:landing_page:Projects', + 'node:landing_page:Dialogue proposals', ] as $weight => $name) { $page = $this->getReference($name); MenuLinkContent::create([ @@ -63,6 +65,7 @@ public function getDependencies() { HearingLandingPageFixture::class, CitizenProposalLandingPageFixture::class, ProjectLandingPageFixture::class, + DialogueLandingPageFixture::class, PublicMeetingFixture::class, ]; } diff --git a/web/modules/custom/hoeringsportal_base_fixtures/src/Fixture/ParagraphFixture.php b/web/modules/custom/hoeringsportal_base_fixtures/src/Fixture/ParagraphFixture.php index 6726f5beb..8eb3a9cd9 100644 --- a/web/modules/custom/hoeringsportal_base_fixtures/src/Fixture/ParagraphFixture.php +++ b/web/modules/custom/hoeringsportal_base_fixtures/src/Fixture/ParagraphFixture.php @@ -95,6 +95,18 @@ public function load() { $paragraph->save(); $this->addReference('paragraph:content_list:all_public_meetings', $paragraph); + $paragraph = Paragraph::create([ + 'type' => 'content_list', + 'field_content_list' => [ + 'target_id' => 'all_early_inclusion', + 'display_id' => 'default', + 'data' => '', + ], + 'field_list_title' => 'All Early Inclusion Elements', + ]); + $paragraph->save(); + $this->addReference('paragraph:content_list:all_early_inclusion', $paragraph); + $paragraph = Paragraph::create([ 'type' => 'info_box', 'field_content_block_text' => [ diff --git a/web/modules/custom/hoeringsportal_base_fixtures/src/Fixture/PublicMeetingFixture.php b/web/modules/custom/hoeringsportal_base_fixtures/src/Fixture/PublicMeetingFixture.php index 518605be3..b9127e259 100644 --- a/web/modules/custom/hoeringsportal_base_fixtures/src/Fixture/PublicMeetingFixture.php +++ b/web/modules/custom/hoeringsportal_base_fixtures/src/Fixture/PublicMeetingFixture.php @@ -369,10 +369,10 @@ public function createOrders(NodeInterface $node, array ...$specs): void { 'email' => $spec['email'] ?? 'test@example.com', 'positions' => array_map( static fn(int $index) => [ - 'subevent' => $subEventInfo['pretix_subevent_id'], + 'subevent' => $subEventInfo['pretix_subevent_id'] ?? [], 'attendee_name' => sprintf('Attendee %d', $index), 'attendee_email' => sprintf('test%03d@example.com', $index), - 'item' => reset($subEventInfo['data']['subevent']['item_price_overrides'])['item'], + 'item' => isset($subEventInfo['data']['subevent']['item_price_overrides']) ? reset($subEventInfo['data']['subevent']['item_price_overrides'])['item'] : FALSE, ], range(1, $line['quantity'] ?? 1), ), diff --git a/web/modules/custom/hoeringsportal_base_fixtures/src/Fixture/TermDialogueProposalCategoryFixture.php b/web/modules/custom/hoeringsportal_base_fixtures/src/Fixture/TermDialogueProposalCategoryFixture.php new file mode 100644 index 000000000..9979d144a --- /dev/null +++ b/web/modules/custom/hoeringsportal_base_fixtures/src/Fixture/TermDialogueProposalCategoryFixture.php @@ -0,0 +1,32 @@ + { return geojson } +const defaultMapConfig = (function () { + const widget = document.querySelector('.septima-widget') + if (widget.parentElement && widget.parentElement.getAttribute('data-map-config')) { + const config = widget.parentElement.getAttribute('data-map-config') + const configObj = JSON.parse(config) + const transformedCoordinates = proj4('EPSG:4326', 'EPSG:25832', [configObj.x, configObj.y]) + if (transformedCoordinates) { + return { + 'x': transformedCoordinates[0], + 'y': transformedCoordinates[1], + 'zoomLevel': configObj.zoomLevel + } + } + } + + return { + 'x': null, + 'y': null, + 'zoomLevel': 12 + } +}()) + window.addEventListener('load', function () { const config = { 'map': { 'maxZoomLevel': 1, 'minZoomLevel': 22, - 'view': { - 'zoomLevel': 12 - }, + 'view': defaultMapConfig, 'layer': [ { 'namedlayer': '#osm' diff --git a/web/modules/custom/hoeringsportal_data/build/hearing-edit.js b/web/modules/custom/hoeringsportal_data/build/hearing-edit.js index d0afac48f..44c7d373e 100644 --- a/web/modules/custom/hoeringsportal_data/build/hearing-edit.js +++ b/web/modules/custom/hoeringsportal_data/build/hearing-edit.js @@ -1 +1 @@ -!function(t){function s(i){if(a[i])return a[i].exports;var h=a[i]={i:i,l:!1,exports:{}};return t[i].call(h.exports,h,h.exports,s),h.l=!0,h.exports}var a={};s.m=t,s.c=a,s.d=function(t,a,i){s.o(t,a)||Object.defineProperty(t,a,{configurable:!1,enumerable:!0,get:i})},s.n=function(t){var a=t&&t.__esModule?function(){return t.default}:function(){return t};return s.d(a,"a",a),a},s.o=function(t,s){return Object.prototype.hasOwnProperty.call(t,s)},s.p="/build/",s(s.s="S4tn")}({"+Ymu":function(t,s,a){"use strict";function i(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=Object(n.a)(this.es),this.e1=Object(r.a)(this.es),this.e2=Object(o.a)(this.es),this.e3=Object(c.a)(this.es),this.ml0=this.a*Object(M.a)(this.e0,this.e1,this.e2,this.e3,this.lat0)}function h(t){var s,a,i,h=t.x,e=t.y,n=Object(u.a)(h-this.long0);if(i=n*Math.sin(e),this.sphere)Math.abs(e)<=f.b?(s=this.a*n,a=-1*this.a*this.lat0):(s=this.a*Math.sin(i)/Math.tan(e),a=this.a*(Object(l.a)(e-this.lat0)+(1-Math.cos(i))/Math.tan(e)));else if(Math.abs(e)<=f.b)s=this.a*n,a=-1*this.ml0;else{var r=Object(d.a)(this.a,this.e,Math.sin(e))/Math.tan(e);s=r*Math.sin(i),a=this.a*Object(M.a)(this.e0,this.e1,this.e2,this.e3,e)-this.ml0+r*(1-Math.cos(i))}return t.x=s+this.x0,t.y=a+this.y0,t}function e(t){var s,a,i,h,e,n,r,o,c;if(i=t.x-this.x0,h=t.y-this.y0,this.sphere)if(Math.abs(h+this.a*this.lat0)<=f.b)s=Object(u.a)(i/this.a+this.long0),a=0;else{n=this.lat0+h/this.a,r=i*i/this.a/this.a+n*n,o=n;var l;for(e=m;e;--e)if(l=Math.tan(o),c=-1*(n*(o*l+1)-o-.5*(o*o+r)*l)/((o-n)/l-1),o+=c,Math.abs(c)<=f.b){a=o;break}s=Object(u.a)(this.long0+Math.asin(i*Math.tan(o)/this.a)/Math.sin(a))}else if(Math.abs(h+this.ml0)<=f.b)a=0,s=Object(u.a)(this.long0+i/this.a);else{n=(this.ml0+h)/this.a,r=i*i/this.a/this.a+n*n,o=n;var d,b,p,y,_;for(e=m;e;--e)if(_=this.e*Math.sin(o),d=Math.sqrt(1-_*_)*Math.tan(o),b=this.a*Object(M.a)(this.e0,this.e1,this.e2,this.e3,o),p=this.e0-2*this.e1*Math.cos(2*o)+4*this.e2*Math.cos(4*o)-6*this.e3*Math.cos(6*o),y=b/this.a,c=(n*(d*y+1)-y-.5*d*(y*y+r))/(this.es*Math.sin(2*o)*(y*y+r-2*n*y)/(4*d)+(n-y)*(d*p-2/Math.sin(2*o))-p),o-=c,Math.abs(c)<=f.b){a=o;break}d=Math.sqrt(1-this.es*Math.pow(Math.sin(a),2))*Math.tan(a),s=Object(u.a)(this.long0+Math.asin(i*d/this.a)/Math.sin(a))}return t.x=s,t.y=a,t}var n=a("d3I4"),r=a("i5uR"),o=a("mVlP"),c=a("fGox"),u=a("gkMG"),l=a("thK1"),M=a("frGE"),f=a("JAmm"),d=a("9vV9"),m=20,b=["Polyconic","poly"];s.a={init:i,forward:h,inverse:e,names:b}},"3K9Y":function(t,s,a){"use strict";s.a=function(t,s,a){var i,h,e,n=a.x,r=a.y,o=a.z||0,c={};for(e=0;e<3;e++)if(!s||2!==e||void 0!==a.z)switch(0===e?(i=n,h="x"):1===e?(i=r,h="y"):(i=o,h="z"),t.axis[e]){case"e":c[h]=i;break;case"w":c[h]=-i;break;case"n":c[h]=i;break;case"s":c[h]=-i;break;case"u":void 0!==a[h]&&(c.z=i);break;case"d":void 0!==a[h]&&(c.z=-i);break;default:return null}return c}},"4II5":function(t,s,a){"use strict";function i(t,s){return s=s||5,l(o({lat:t[1],lon:t[0]}),s)}function h(t){var s=c(m(t.toUpperCase()));return s.lat&&s.lon?[s.lon,s.lat,s.lon,s.lat]:[s.left,s.bottom,s.right,s.top]}function e(t){var s=c(m(t.toUpperCase()));return s.lat&&s.lon?[s.lon,s.lat]:[(s.left+s.right)/2,(s.top+s.bottom)/2]}function n(t){return t*(Math.PI/180)}function r(t){return t/Math.PI*180}function o(t){var s,a,i,h,e,r,o,c,l,M=t.lat,f=t.lon,d=6378137,m=n(M),b=n(f);l=Math.floor((f+180)/6)+1,180===f&&(l=60),M>=56&&M<64&&f>=3&&f<12&&(l=32),M>=72&&M<84&&(f>=0&&f<9?l=31:f>=9&&f<21?l=33:f>=21&&f<33?l=35:f>=33&&f<42&&(l=37)),s=6*(l-1)-180+3,c=n(s),a=.006739496752268451,i=d/Math.sqrt(1-.00669438*Math.sin(m)*Math.sin(m)),h=Math.tan(m)*Math.tan(m),e=a*Math.cos(m)*Math.cos(m),r=Math.cos(m)*(b-c),o=d*(.9983242984503243*m-.002514607064228144*Math.sin(2*m)+2639046602129982e-21*Math.sin(4*m)-3.418046101696858e-9*Math.sin(6*m));var p=.9996*i*(r+(1-h+e)*r*r*r/6+(5-18*h+h*h+72*e-58*a)*r*r*r*r*r/120)+5e5,y=.9996*(o+i*Math.tan(m)*(r*r/2+(5-h+9*e+4*e*e)*r*r*r*r/24+(61-58*h+h*h+600*e-330*a)*r*r*r*r*r*r/720));return M<0&&(y+=1e7),{northing:Math.round(y),easting:Math.round(p),zoneNumber:l,zoneLetter:u(M)}}function c(t){var s=t.northing,a=t.easting,i=t.zoneLetter,h=t.zoneNumber;if(h<0||h>60)return null;var e,n,o,u,l,M,f,d,m,b,p=6378137,y=(1-Math.sqrt(.99330562))/(1+Math.sqrt(.99330562)),_=a-5e5,v=s;i<"N"&&(v-=1e7),d=6*(h-1)-180+3,e=.006739496752268451,f=v/.9996,m=f/6367449.145945056,b=m+(3*y/2-27*y*y*y/32)*Math.sin(2*m)+(21*y*y/16-55*y*y*y*y/32)*Math.sin(4*m)+151*y*y*y/96*Math.sin(6*m),n=p/Math.sqrt(1-.00669438*Math.sin(b)*Math.sin(b)),o=Math.tan(b)*Math.tan(b),u=e*Math.cos(b)*Math.cos(b),l=.99330562*p/Math.pow(1-.00669438*Math.sin(b)*Math.sin(b),1.5),M=_/(.9996*n);var g=b-n*Math.tan(b)/l*(M*M/2-(5+3*o+10*u-4*u*u-9*e)*M*M*M*M/24+(61+90*o+298*u+45*o*o-252*e-3*u*u)*M*M*M*M*M*M/720);g=r(g);var x=(M-(1+2*o+u)*M*M*M/6+(5-2*u+28*o-3*u*u+8*e+24*o*o)*M*M*M*M*M/120)/Math.cos(b);x=d+r(x);var O;if(t.accuracy){var j=c({northing:t.northing+t.accuracy,easting:t.easting+t.accuracy,zoneLetter:t.zoneLetter,zoneNumber:t.zoneNumber});O={top:j.lat,right:j.lon,bottom:g,left:x}}else O={lat:g,lon:x};return O}function u(t){var s="Z";return 84>=t&&t>=72?s="X":72>t&&t>=64?s="W":64>t&&t>=56?s="V":56>t&&t>=48?s="U":48>t&&t>=40?s="T":40>t&&t>=32?s="S":32>t&&t>=24?s="R":24>t&&t>=16?s="Q":16>t&&t>=8?s="P":8>t&&t>=0?s="N":0>t&&t>=-8?s="M":-8>t&&t>=-16?s="L":-16>t&&t>=-24?s="K":-24>t&&t>=-32?s="J":-32>t&&t>=-40?s="H":-40>t&&t>=-48?s="G":-48>t&&t>=-56?s="F":-56>t&&t>=-64?s="E":-64>t&&t>=-72?s="D":-72>t&&t>=-80&&(s="C"),s}function l(t,s){var a="00000"+t.easting,i="00000"+t.northing;return t.zoneNumber+t.zoneLetter+M(t.easting,t.northing,t.zoneNumber)+a.substr(a.length-5,s)+i.substr(i.length-5,s)}function M(t,s,a){var i=f(a);return d(Math.floor(t/1e5),Math.floor(s/1e5)%20,i)}function f(t){var s=t%_;return 0===s&&(s=_),s}function d(t,s,a){var i=a-1,h=v.charCodeAt(i),e=g.charCodeAt(i),n=h+t-1,r=e+s,o=!1;return n>w&&(n=n-w+x-1,o=!0),(n===O||hO||(n>O||hj||(n>j||hw&&(n=n-w+x-1),r>A?(r=r-A+x-1,o=!0):o=!1,(r===O||eO||(r>O||ej||(r>j||eA&&(r=r-A+x-1),String.fromCharCode(n)+String.fromCharCode(r)}function m(t){if(t&&0===t.length)throw"MGRSPoint coverting from nothing";for(var s,a=t.length,i=null,h="",e=0;!/[A-Z]/.test(s=t.charAt(e));){if(e>=2)throw"MGRSPoint bad conversion from: "+t;h+=s,e++}var n=parseInt(h,10);if(0===e||e+3>a)throw"MGRSPoint bad conversion from: "+t;var r=t.charAt(e++);if(r<="A"||"B"===r||"Y"===r||r>="Z"||"I"===r||"O"===r)throw"MGRSPoint zone letter "+r+" not handled: "+t;i=t.substring(e,e+=2);for(var o=f(n),c=b(i.charAt(0),o),u=p(i.charAt(1),o);u0&&(M=1e5/Math.pow(10,g),d=t.substring(e,e+g),x=parseFloat(d)*M,m=t.substring(e+g),O=parseFloat(m)*M),_=x+c,v=O+u,{easting:_,northing:v,zoneLetter:r,zoneNumber:n,accuracy:M}}function b(t,s){for(var a=v.charCodeAt(s-1),i=1e5,h=!1;a!==t.charCodeAt(0);){if(a++,a===O&&a++,a===j&&a++,a>w){if(h)throw"Bad character: "+t;a=x,h=!0}i+=1e5}return i}function p(t,s){if(t>"V")throw"MGRSPoint given invalid Northing "+t;for(var a=g.charCodeAt(s-1),i=0,h=!1;a!==t.charCodeAt(0);){if(a++,a===O&&a++,a===j&&a++,a>A){if(h)throw"Bad character: "+t;a=x,h=!0}i+=1e5}return i}function y(t){var s;switch(t){case"C":s=11e5;break;case"D":s=2e6;break;case"E":s=28e5;break;case"F":s=37e5;break;case"G":s=46e5;break;case"H":s=55e5;break;case"J":s=64e5;break;case"K":s=73e5;break;case"L":s=82e5;break;case"M":s=91e5;break;case"N":s=0;break;case"P":s=8e5;break;case"Q":s=17e5;break;case"R":s=26e5;break;case"S":s=35e5;break;case"T":s=44e5;break;case"U":s=53e5;break;case"V":s=62e5;break;case"W":s=7e6;break;case"X":s=79e5;break;default:s=-1}if(s>=0)return s;throw"Invalid zone letter: "+t}s.b=i,s.c=e;var _=6,v="AJSAJS",g="AFAFAF",x=65,O=73,j=79,A=86,w=90;s.a={forward:i,inverse:h,toPoint:e}},"4q+R":function(t,s,a){"use strict";function i(){var t=Object(h.a)(this.zone,this.long0);if(void 0===t)throw new Error("unknown utm zone");this.lat0=0,this.long0=(6*Math.abs(t)-183)*n.a,this.x0=5e5,this.y0=this.utmSouth?1e7:0,this.k0=.9996,e.a.init.apply(this),this.forward=e.a.forward,this.inverse=e.a.inverse}var h=a("kpiz"),e=a("TDXh"),n=a("JAmm"),r=["Universal Transverse Mercator System","utm"];s.a={init:i,names:r,dependsOn:"etmerc"}},"5yIP":function(t,s,a){"use strict";function i(t,s,a){var i,h,e;return Array.isArray(a)?(i=Object(r.a)(t,s,a),3===a.length?[i.x,i.y,i.z]:[i.x,i.y]):(h=Object(r.a)(t,s,a),e=Object.keys(a),2===e.length?h:(e.forEach(function(t){"x"!==t&&"y"!==t&&(h[t]=a[t])}),h))}function h(t){return t instanceof n.a?t:t.oProj?t.oProj:Object(n.a)(t)}function e(t,s,a){t=h(t);var e,n=!1;return void 0===s?(s=t,t=o,n=!0):(void 0!==s.x||Array.isArray(s))&&(a=s,s=t,t=o,n=!0),s=h(s),a?i(t,s,a):(e={forward:function(a){return i(t,s,a)},inverse:function(a){return i(s,t,a)}},n&&(e.oProj=s),e)}var n=a("e5sF"),r=a("V3HB"),o=Object(n.a)("WGS84");s.a=e},"6Fcd":function(t,s,a){"use strict";function i(){Math.abs(this.lat1+this.lat2)l.b?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0)}function h(t){var s=t.x,a=t.y;this.sin_phi=Math.sin(a),this.cos_phi=Math.cos(a);var i=Object(o.a)(this.e3,this.sin_phi,this.cos_phi),h=this.a*Math.sqrt(this.c-this.ns0*i)/this.ns0,e=this.ns0*Object(c.a)(s-this.long0),n=h*Math.sin(e)+this.x0,r=this.rh-h*Math.cos(e)+this.y0;return t.x=n,t.y=r,t}function e(t){var s,a,i,h,e,n;return t.x-=this.x0,t.y=this.rh-t.y+this.y0,this.ns0>=0?(s=Math.sqrt(t.x*t.x+t.y*t.y),i=1):(s=-Math.sqrt(t.x*t.x+t.y*t.y),i=-1),h=0,0!==s&&(h=Math.atan2(i*t.x,i*t.y)),i=s*this.ns0/this.a,this.sphere?n=Math.asin((this.c-i*i)/(2*this.ns0)):(a=(this.c-i*i)/this.ns0,n=this.phi1z(this.e3,a)),e=Object(c.a)(h/this.ns0+this.long0),t.x=e,t.y=n,t}function n(t,s){var a,i,h,e,n,r=Object(u.a)(.5*s);if(t90&&a*u.i<-90&&s*u.i>180&&s*u.i<-180)return null;var i,h;if(Math.abs(Math.abs(a)-u.d)<=u.b)return null;if(this.sphere)i=this.x0+this.a*this.k0*Object(r.a)(s-this.long0),h=this.y0+this.a*this.k0*Math.log(Math.tan(u.c+.5*a));else{var e=Math.sin(a),n=Object(o.a)(this.e,a,e);i=this.x0+this.a*this.k0*Object(r.a)(s-this.long0),h=this.y0-this.a*this.k0*Math.log(n)}return t.x=i,t.y=h,t}function e(t){var s,a,i=t.x-this.x0,h=t.y-this.y0;if(this.sphere)a=u.d-2*Math.atan(Math.exp(-h/(this.a*this.k0)));else{var e=Math.exp(-h/(this.a*this.k0));if(-9999===(a=Object(c.a)(this.e,e)))return null}return s=Object(r.a)(this.long0+i/(this.a*this.k0)),t.x=s,t.y=a,t}var n=a("IXc0"),r=a("gkMG"),o=a("ME/f"),c=a("OBi8"),u=a("JAmm"),l=["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","merc"];s.a={init:i,forward:h,inverse:e,names:l}},"73fo":function(t,s,a){"use strict";a.d(s,"a",function(){return i});var i={};i.wgs84={towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"},i.ch1903={towgs84:"674.374,15.056,405.346",ellipse:"bessel",datumName:"swiss"},i.ggrs87={towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"},i.nad83={towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"},i.nad27={nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"},i.potsdam={towgs84:"606.0,23.0,413.0",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"},i.carthage={towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"},i.hermannskogel={towgs84:"653.0,-212.0,449.0",ellipse:"bessel",datumName:"Hermannskogel"},i.osni52={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"airy",datumName:"Irish National"},i.ire65={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"},i.rassadiran={towgs84:"-133.63,-157.5,-158.62",ellipse:"intl",datumName:"Rassadiran"},i.nzgd49={towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"},i.osgb36={towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Airy 1830"},i.s_jtsk={towgs84:"589,76,480",ellipse:"bessel",datumName:"S-JTSK (Ferro)"},i.beduaram={towgs84:"-106,-87,188",ellipse:"clrk80",datumName:"Beduaram"},i.gunung_segara={towgs84:"-403,684,41",ellipse:"bessel",datumName:"Gunung Segara Jakarta"},i.rnb72={towgs84:"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1",ellipse:"intl",datumName:"Reseau National Belge 1972"}},"9vV9":function(t,s,a){"use strict";s.a=function(t,s,a){var i=s*a;return t/Math.sqrt(1-i*i)}},ACen:function(t,s,a){"use strict";a.d(s,"b",function(){return i}),a.d(s,"a",function(){return h});var i={};i.MERIT={a:6378137,rf:298.257,ellipseName:"MERIT 1983"},i.SGS85={a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"},i.GRS80={a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"},i.IAU76={a:6378140,rf:298.257,ellipseName:"IAU 1976"},i.airy={a:6377563.396,b:6356256.91,ellipseName:"Airy 1830"},i.APL4={a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"},i.NWL9D={a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"},i.mod_airy={a:6377340.189,b:6356034.446,ellipseName:"Modified Airy"},i.andrae={a:6377104.43,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"},i.aust_SA={a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"},i.GRS67={a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"},i.bessel={a:6377397.155,rf:299.1528128,ellipseName:"Bessel 1841"},i.bess_nam={a:6377483.865,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"},i.clrk66={a:6378206.4,b:6356583.8,ellipseName:"Clarke 1866"},i.clrk80={a:6378249.145,rf:293.4663,ellipseName:"Clarke 1880 mod."},i.clrk58={a:6378293.645208759,rf:294.2606763692654,ellipseName:"Clarke 1858"},i.CPM={a:6375738.7,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"},i.delmbr={a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"},i.engelis={a:6378136.05,rf:298.2566,ellipseName:"Engelis 1985"},i.evrst30={a:6377276.345,rf:300.8017,ellipseName:"Everest 1830"},i.evrst48={a:6377304.063,rf:300.8017,ellipseName:"Everest 1948"},i.evrst56={a:6377301.243,rf:300.8017,ellipseName:"Everest 1956"},i.evrst69={a:6377295.664,rf:300.8017,ellipseName:"Everest 1969"},i.evrstSS={a:6377298.556,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"},i.fschr60={a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"},i.fschr60m={a:6378155,rf:298.3,ellipseName:"Fischer 1960"},i.fschr68={a:6378150,rf:298.3,ellipseName:"Fischer 1968"},i.helmert={a:6378200,rf:298.3,ellipseName:"Helmert 1906"},i.hough={a:6378270,rf:297,ellipseName:"Hough"},i.intl={a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"},i.kaula={a:6378163,rf:298.24,ellipseName:"Kaula 1961"},i.lerch={a:6378139,rf:298.257,ellipseName:"Lerch 1979"},i.mprts={a:6397300,rf:191,ellipseName:"Maupertius 1738"},i.new_intl={a:6378157.5,b:6356772.2,ellipseName:"New International 1967"},i.plessis={a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"},i.krass={a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"},i.SEasia={a:6378155,b:6356773.3205,ellipseName:"Southeast Asia"},i.walbeck={a:6376896,b:6355834.8467,ellipseName:"Walbeck"},i.WGS60={a:6378165,rf:298.3,ellipseName:"WGS 60"},i.WGS66={a:6378145,rf:298.25,ellipseName:"WGS 66"},i.WGS7={a:6378135,rf:298.26,ellipseName:"WGS 72"};var h=i.WGS84={a:6378137,rf:298.257223563,ellipseName:"WGS 84"};i.sphere={a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"}},AICX:function(t,s,a){"use strict";s.a=function(t,s){for(var a,i=2*Math.cos(s),h=t.length-1,e=t[h],n=0;--h>=0;)a=i*e-n+t[h],n=e,e=a;return Math.sin(s)*a}},Agrq:function(t,s,a){"use strict";function i(t){var s=this;if(2===arguments.length){var a=arguments[1];"string"==typeof a?"+"===a.charAt(0)?i[t]=Object(e.a)(arguments[1]):i[t]=Object(n.a)(arguments[1]):i[t]=a}else if(1===arguments.length){if(Array.isArray(t))return t.map(function(t){Array.isArray(t)?i.apply(s,t):i(t)});if("string"==typeof t){if(t in i)return i[t]}else"EPSG"in t?i["EPSG:"+t.EPSG]=t:"ESRI"in t?i["ESRI:"+t.ESRI]=t:"IAU2000"in t?i["IAU2000:"+t.IAU2000]=t:console.log(t);return}}var h=a("E8JM"),e=a("Mhqt"),n=a("fZ+p");Object(h.a)(i),s.a=i},BERY:function(t,s,a){"use strict";function i(t){return t===h.e||t===h.f}var h=a("JAmm"),e=a("lRMl");s.a=function(t,s,a){return Object(e.a)(t,s)?a:t.datum_type===h.g||s.datum_type===h.g?a:t.es!==s.es||t.a!==s.a||i(t.datum_type)||i(s.datum_type)?(a=Object(e.e)(a,t.es,t.a),i(t.datum_type)&&(a=Object(e.d)(a,t.datum_type,t.datum_params)),i(s.datum_type)&&(a=Object(e.b)(a,s.datum_type,s.datum_params)),Object(e.c)(a,s.es,s.a,s.b)):a}},E8JM:function(t,s,a){"use strict";s.a=function(t){t("EPSG:4326","+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees"),t("EPSG:4269","+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees"),t("EPSG:3857","+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs"),t.WGS84=t["EPSG:4326"],t["EPSG:3785"]=t["EPSG:3857"],t.GOOGLE=t["EPSG:3857"],t["EPSG:900913"]=t["EPSG:3857"],t["EPSG:102113"]=t["EPSG:3857"]}},"Ecs/":function(t,s,a){"use strict";var i=a("lQeg");a.n(i);a.o(i,"version")&&a.d(s,"a",function(){return i.version})},Ejdv:function(t,s,a){"use strict";var i=a("cAH4"),h=a("TDXh"),e=a("4q+R"),n=a("FZHA"),r=a("XWvS"),o=a("QGGw"),c=a("y0ft"),u=a("SDpI"),l=a("zOFD"),M=a("f4Hg"),f=a("z3op"),d=a("6Fcd"),m=a("vlFu"),b=a("WtLB"),p=a("nbI8"),y=a("+Ymu"),_=a("hXOA"),v=a("Uvlc"),g=a("Mbn4"),x=a("mXXX"),O=a("wVGX"),j=a("M+Zh"),A=a("jnzb"),w=a("jXbg"),E=a("likz"),P=a("iBF7");s.a=function(t){t.Proj.projections.add(i.a),t.Proj.projections.add(h.a),t.Proj.projections.add(e.a),t.Proj.projections.add(n.a),t.Proj.projections.add(r.a),t.Proj.projections.add(o.a),t.Proj.projections.add(c.a),t.Proj.projections.add(u.a),t.Proj.projections.add(l.a),t.Proj.projections.add(M.a),t.Proj.projections.add(f.a),t.Proj.projections.add(d.a),t.Proj.projections.add(m.a),t.Proj.projections.add(b.a),t.Proj.projections.add(p.a),t.Proj.projections.add(y.a),t.Proj.projections.add(_.a),t.Proj.projections.add(v.a),t.Proj.projections.add(g.a),t.Proj.projections.add(x.a),t.Proj.projections.add(O.a),t.Proj.projections.add(j.a),t.Proj.projections.add(A.a),t.Proj.projections.add(w.a),t.Proj.projections.add(E.a),t.Proj.projections.add(P.a)}},FZHA:function(t,s,a){"use strict";function i(){n.a.init.apply(this),this.rc&&(this.sinc0=Math.sin(this.phic0),this.cosc0=Math.cos(this.phic0),this.R2=2*this.rc,this.title||(this.title="Oblique Stereographic Alternative"))}function h(t){var s,a,i,h;return t.x=Object(r.a)(t.x-this.long0),n.a.forward.apply(this,[t]),s=Math.sin(t.y),a=Math.cos(t.y),i=Math.cos(t.x),h=this.k0*this.R2/(1+this.sinc0*s+this.cosc0*a*i),t.x=h*a*Math.sin(t.x),t.y=h*(this.cosc0*s-this.sinc0*a*i),t.x=this.a*t.x+this.x0,t.y=this.a*t.y+this.y0,t}function e(t){var s,a,i,h,e;if(t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,t.x/=this.k0,t.y/=this.k0,e=Math.sqrt(t.x*t.x+t.y*t.y)){var o=2*Math.atan2(e,this.R2);s=Math.sin(o),a=Math.cos(o),h=Math.asin(a*this.sinc0+t.y*s*this.cosc0/e),i=Math.atan2(t.x*s,e*this.cosc0*a-t.y*this.sinc0*s)}else h=this.phic0,i=0;return t.x=i,t.y=h,n.a.inverse.apply(this,[t]),t.x=Object(r.a)(t.x+this.long0),t}var n=a("rJwn"),r=a("gkMG"),o=["Stereographic_North_Pole","Oblique_Stereographic","Polar_Stereographic","sterea","Oblique Stereographic Alternative","Double_Stereographic"];s.a={init:i,forward:h,inverse:e,names:o}},I9eZ:function(t,s,a){"use strict";function i(t){if("function"==typeof Number.isFinite){if(Number.isFinite(t))return;throw new TypeError("coordinates must be finite numbers")}if("number"!=typeof t||t!==t||!isFinite(t))throw new TypeError("coordinates must be finite numbers")}s.a=function(t){i(t.x),i(t.y)}},IXc0:function(t,s,a){"use strict";s.a=function(t,s,a){var i=t*s;return a/Math.sqrt(1-i*i)}},JAmm:function(t,s,a){"use strict";a.d(s,"e",function(){return i}),a.d(s,"f",function(){return h}),a.d(s,"h",function(){return e}),a.d(s,"g",function(){return n}),a.d(s,"l",function(){return r}),a.d(s,"d",function(){return o}),a.d(s,"m",function(){return c}),a.d(s,"j",function(){return u}),a.d(s,"k",function(){return l}),a.d(s,"b",function(){return M}),a.d(s,"a",function(){return f}),a.d(s,"i",function(){return d}),a.d(s,"c",function(){return m}),a.d(s,"o",function(){return b}),a.d(s,"n",function(){return p});var i=1,h=2,e=4,n=5,r=484813681109536e-20,o=Math.PI/2,c=.16666666666666666,u=.04722222222222222,l=.022156084656084655,M=1e-10,f=.017453292519943295,d=57.29577951308232,m=Math.PI/4,b=2*Math.PI,p=3.14159265359},JNqU:function(t,s,a){"use strict";function i(t,s){var a=u.length;return t.names?(u[a]=t,t.names.forEach(function(t){c[t.toLowerCase()]=a}),this):(console.log(s),!0)}function h(t){if(!t)return!1;var s=t.toLowerCase();return void 0!==c[s]&&u[c[s]]?u[c[s]]:void 0}function e(){o.forEach(i)}var n=a("6a30"),r=a("UkCB"),o=[n.a,r.a],c={},u=[];s.a={start:e,add:i,get:h}},"M+Zh":function(t,s,a){"use strict";function i(){this.R=this.a}function h(t){var s,a,i=t.x,h=t.y,e=Object(n.a)(i-this.long0);Math.abs(h)<=r.b&&(s=this.x0+this.R*e,a=this.y0);var c=Object(o.a)(2*Math.abs(h/Math.PI));(Math.abs(e)<=r.b||Math.abs(Math.abs(h)-r.d)<=r.b)&&(s=this.x0,a=h>=0?this.y0+Math.PI*this.R*Math.tan(.5*c):this.y0+Math.PI*this.R*-Math.tan(.5*c));var u=.5*Math.abs(Math.PI/e-e/Math.PI),l=u*u,M=Math.sin(c),f=Math.cos(c),d=f/(M+f-1),m=d*d,b=d*(2/M-1),p=b*b,y=Math.PI*this.R*(u*(d-p)+Math.sqrt(l*(d-p)*(d-p)-(p+l)*(m-p)))/(p+l);e<0&&(y=-y),s=this.x0+y;var _=l+d;return y=Math.PI*this.R*(b*_-u*Math.sqrt((p+l)*(l+1)-_*_))/(p+l),a=h>=0?this.y0+y:this.y0-y,t.x=s,t.y=a,t}function e(t){var s,a,i,h,e,o,c,u,l,M,f,d,m;return t.x-=this.x0,t.y-=this.y0,f=Math.PI*this.R,i=t.x/f,h=t.y/f,e=i*i+h*h,o=-Math.abs(h)*(1+e),c=o-2*h*h+i*i,u=-2*o+1+2*h*h+e*e,m=h*h/u+(2*c*c*c/u/u/u-9*o*c/u/u)/27,l=(o-c*c/3/u)/u,M=2*Math.sqrt(-l/3),f=3*m/l/M,Math.abs(f)>1&&(f=f>=0?1:-1),d=Math.acos(f)/3,a=t.y>=0?(-M*Math.cos(d+Math.PI/3)-c/3/u)*Math.PI:-(-M*Math.cos(d+Math.PI/3)-c/3/u)*Math.PI,s=Math.abs(i)=0;)e=b,n=m,b=d,m=p,d=l*b-e-M*m+t[f],p=M*b-n+l*m;return l=r*u,M=o*c,[l*d-M*p,l*p+M*d]}},OBi8:function(t,s,a){"use strict";var i=a("JAmm");s.a=function(t,s){for(var a,h,e=.5*t,n=i.d-2*Math.atan(s),r=0;r<=15;r++)if(a=t*Math.sin(n),h=i.d-2*Math.atan(s*Math.pow((1-a)/(1+a),e))-n,n+=h,Math.abs(h)<=1e-10)return n;return-9999}},PVsz:function(t,s,a){"use strict";s.a=function(t){var s={x:t[0],y:t[1]};return t.length>2&&(s.z=t[2]),t.length>3&&(s.m=t[3]),s}},QGGw:function(t,s,a){"use strict";function i(){var t=this.lat0;this.lambda0=this.long0;var s=Math.sin(t),a=this.a,i=this.rf,h=1/i,e=2*h-Math.pow(h,2),n=this.e=Math.sqrt(e);this.R=this.k0*a*Math.sqrt(1-e)/(1-e*Math.pow(s,2)),this.alpha=Math.sqrt(1+e/(1-e)*Math.pow(Math.cos(t),4)),this.b0=Math.asin(s/this.alpha);var r=Math.log(Math.tan(Math.PI/4+this.b0/2)),o=Math.log(Math.tan(Math.PI/4+t/2)),c=Math.log((1+n*s)/(1-n*s));this.K=r-this.alpha*o+this.alpha*n/2*c}function h(t){var s=Math.log(Math.tan(Math.PI/4-t.y/2)),a=this.e/2*Math.log((1+this.e*Math.sin(t.y))/(1-this.e*Math.sin(t.y))),i=-this.alpha*(s+a)+this.K,h=2*(Math.atan(Math.exp(i))-Math.PI/4),e=this.alpha*(t.x-this.lambda0),n=Math.atan(Math.sin(e)/(Math.sin(this.b0)*Math.tan(h)+Math.cos(this.b0)*Math.cos(e))),r=Math.asin(Math.cos(this.b0)*Math.sin(h)-Math.sin(this.b0)*Math.cos(h)*Math.cos(e));return t.y=this.R/2*Math.log((1+Math.sin(r))/(1-Math.sin(r)))+this.y0,t.x=this.R*n+this.x0,t}function e(t){for(var s=t.x-this.x0,a=t.y-this.y0,i=s/this.R,h=2*(Math.atan(Math.exp(a/this.R))-Math.PI/4),e=Math.asin(Math.cos(this.b0)*Math.sin(h)+Math.sin(this.b0)*Math.cos(h)*Math.cos(i)),n=Math.atan(Math.sin(i)/(Math.cos(this.b0)*Math.cos(i)-Math.sin(this.b0)*Math.tan(h))),r=this.lambda0+n/this.alpha,o=0,c=e,u=-1e3,l=0;Math.abs(c-u)>1e-7;){if(++l>20)return;o=1/this.alpha*(Math.log(Math.tan(Math.PI/4+e/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(c))/2)),u=c,c=2*Math.atan(Math.exp(o))-Math.PI/2}return t.x=r,t.y=c,t}var n=["somerc"];s.a={init:i,forward:h,inverse:e,names:n}},ReQ3:function(t,s,a){"use strict";s.a=function(t,s,a,i,h){var e,n;e=t/s;for(var r=0;r<15;r++)if(n=(t-(s*e-a*Math.sin(2*e)+i*Math.sin(4*e)-h*Math.sin(6*e)))/(s-2*a*Math.cos(2*e)+4*i*Math.cos(4*e)-6*h*Math.cos(6*e)),e+=n,Math.abs(n)<=1e-10)return e;return NaN}},"Rv/6":function(t,s,a){"use strict";var i=a("JAmm");s.a=function(t,s){var a=1-(1-t*t)/(2*t)*Math.log((1-t)/(1+t));if(Math.abs(Math.abs(s)-a)<1e-6)return s<0?-1*i.d:i.d;for(var h,e,n,r,o=Math.asin(.5*s),c=0;c<30;c++)if(e=Math.sin(o),n=Math.cos(o),r=t*e,h=Math.pow(1-r*r,2)/(2*n)*(s/(1-t*t)-e/(1-r*r)+.5/t*Math.log((1-r)/(1+r))),o+=h,Math.abs(h)<=1e-10)return o;return NaN}},S4tn:function(t,s,a){"use strict";Object.defineProperty(s,"__esModule",{value:!0});var i=a("nvAS");a("SukN"),i.a.defs("EPSG:25832","+proj=utm +zone=32 +ellps=GRS80 +units=m +no_defs"),i.a.defs("urn:ogc:def:crs:EPSG::4326",i.a.defs("EPSG:4326")),i.a.defs("urn:ogc:def:crs:EPSG::25832",i.a.defs("EPSG:25832"));var h=function(t,s,a){return 1===t.features.length&&"Point"===t.features[0].geometry.type&&(t.features[0].geometry.coordinates=Object(i.a)(s,a,t.features[0].geometry.coordinates),t.crs.properties.name=a),t};window.addEventListener("load",function(){var t={map:{maxZoomLevel:1,minZoomLevel:22,view:{zoomLevel:12},layer:[{namedlayer:"#osm"},{disable:!1,id:"drawlayer",edit:!0,features:!0,type:"geojson",data:{type:"FeatureCollection",crs:{type:"name",properties:{name:"urn:ogc:def:crs:EPSG::25832"}},features:[]},features_dataType:"json",features_style:{namedstyle:"#004"}}],controls:[{overlay:{disable:!1},draw:{disable:!1,layer:"drawlayer",clearOnDraw:!0,type:"Point"},search:{displaytext:"Find adresse",clearOnMapclick:!0,features_style:{namedstyle:"#004"},driver:[{type:"dawa",options:{kommunekode:"0751"}}]}}]}};document.querySelectorAll(".septima-widget").forEach(function(s){var a=function(){try{var a=JSON.parse(s.getAttribute("data-value"));return h(a,"urn:ogc:def:crs:EPSG::4326",t.map.srs||"urn:ogc:def:crs:EPSG::25832")}catch(t){}return null}(),i=document.querySelector(s.getAttribute("data-value-target"));if(null!==i){var e=function(s){var a=s.features[0].geometry.coordinates;t.map.view.x=a[0],t.map.view.y=a[1],t.map.layer[1].data=s,void 0!==n&&n.setConfig(t),i.value=JSON.stringify(h(JSON.parse(JSON.stringify(s)),t.map.srs||"urn:ogc:def:crs:EPSG::25832","urn:ogc:def:crs:EPSG::4326"))};null!==a&&e(a);var n=new WidgetAPI(s,t);if(n.on("featureadded",function(t,s,a){var e=a.crs.properties.name;1===a.features.length&&"Point"===a.features[0].geometry.type&&(a=h(a,e,"urn:ogc:def:crs:EPSG::4326"),delete a.features[0].properties._options,i.value=JSON.stringify({type:a.type,crs:a.crs,features:a.features.map(function(t){return{type:t.type,properties:t.properties,geometry:t.geometry}})}))}),null!==a){var r=document.createElement("button");r.type="button",r.classList.add("reset-point-on-map"),r.innerHTML=Drupal.t("Reset point on map"),r.addEventListener("click",function(){e(a)}),s.parentNode.insertBefore(r,s.parentNode.lastChild)}}})})},SDpI:function(t,s,a){"use strict";function i(){if(this.lat2||(this.lat2=this.lat1),this.k0||(this.k0=1),this.x0=this.x0||0,this.y0=this.y0||0,!(Math.abs(this.lat1+this.lat2)l.b?this.ns=Math.log(i/c)/Math.log(h/u):this.ns=s,isNaN(this.ns)&&(this.ns=s),this.f0=i/(this.ns*Math.pow(h,this.ns)),this.rh=this.a*this.f0*Math.pow(M,this.ns),this.title||(this.title="Lambert Conformal Conic")}}function h(t){var s=t.x,a=t.y;Math.abs(2*Math.abs(a)-Math.PI)<=l.b&&(a=Object(o.a)(a)*(l.d-2*l.b));var i,h,e=Math.abs(Math.abs(a)-l.d);if(e>l.b)i=Object(r.a)(this.e,a,Math.sin(a)),h=this.a*this.f0*Math.pow(i,this.ns);else{if((e=a*this.ns)<=0)return null;h=0}var n=this.ns*Object(c.a)(s-this.long0);return t.x=this.k0*(h*Math.sin(n))+this.x0,t.y=this.k0*(this.rh-h*Math.cos(n))+this.y0,t}function e(t){var s,a,i,h,e,n=(t.x-this.x0)/this.k0,r=this.rh-(t.y-this.y0)/this.k0;this.ns>0?(s=Math.sqrt(n*n+r*r),a=1):(s=-Math.sqrt(n*n+r*r),a=-1);var o=0;if(0!==s&&(o=Math.atan2(a*n,a*r)),0!==s||this.ns>0){if(a=1/this.ns,i=Math.pow(s/(this.a*this.f0),a),-9999===(h=Object(u.a)(this.e,i)))return null}else h=-l.d;return e=Object(c.a)(o/this.ns+this.long0),t.x=e,t.y=h,t}var n=a("IXc0"),r=a("ME/f"),o=a("cBUL"),c=a("gkMG"),u=a("OBi8"),l=a("JAmm"),M=["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_2SP","lcc"];s.a={init:i,forward:h,inverse:e,names:M}},SukN:function(t,s){},T2Ne:function(t,s,a){"use strict";s.a=function(t,s){var a;return t>1e-7?(a=t*s,(1-t*t)*(s/(1-a*a)-.5/t*Math.log((1-a)/(1+a)))):2*s}},TDXh:function(t,s,a){"use strict";function i(){if(void 0===this.es||this.es<=0)throw new Error("incorrect elliptical usage");this.x0=void 0!==this.x0?this.x0:0,this.y0=void 0!==this.y0?this.y0:0,this.long0=void 0!==this.long0?this.long0:0,this.lat0=void 0!==this.lat0?this.lat0:0,this.cgb=[],this.cbg=[],this.utg=[],this.gtu=[];var t=this.es/(1+Math.sqrt(1-this.es)),s=t/(2-t),a=s;this.cgb[0]=s*(2+s*(-2/3+s*(s*(116/45+s*(26/45+s*(-2854/675)))-2))),this.cbg[0]=s*(s*(2/3+s*(4/3+s*(-82/45+s*(32/45+s*(4642/4725)))))-2),a*=s,this.cgb[1]=a*(7/3+s*(s*(-227/45+s*(2704/315+s*(2323/945)))-1.6)),this.cbg[1]=a*(5/3+s*(-16/15+s*(-13/9+s*(904/315+s*(-1522/945))))),a*=s,this.cgb[2]=a*(56/15+s*(-136/35+s*(-1262/105+s*(73814/2835)))),this.cbg[2]=a*(-26/15+s*(34/21+s*(1.6+s*(-12686/2835)))),a*=s,this.cgb[3]=a*(4279/630+s*(-332/35+s*(-399572/14175))),this.cbg[3]=a*(1237/630+s*(s*(-24832/14175)-2.4)),a*=s,this.cgb[4]=a*(4174/315+s*(-144838/6237)),this.cbg[4]=a*(-734/315+s*(109598/31185)),a*=s,this.cgb[5]=a*(601676/22275),this.cbg[5]=a*(444337/155925),a=Math.pow(s,2),this.Qn=this.k0/(1+s)*(1+a*(.25+a*(1/64+a/256))),this.utg[0]=s*(s*(2/3+s*(-37/96+s*(1/360+s*(81/512+s*(-96199/604800)))))-.5),this.gtu[0]=s*(.5+s*(-2/3+s*(5/16+s*(41/180+s*(-127/288+s*(7891/37800)))))),this.utg[1]=a*(-1/48+s*(-1/15+s*(437/1440+s*(-46/105+s*(1118711/3870720))))),this.gtu[1]=a*(13/48+s*(s*(557/1440+s*(281/630+s*(-1983433/1935360)))-.6)),a*=s,this.utg[2]=a*(-17/480+s*(37/840+s*(209/4480+s*(-5569/90720)))),this.gtu[2]=a*(61/240+s*(-103/140+s*(15061/26880+s*(167603/181440)))),a*=s,this.utg[3]=a*(-4397/161280+s*(11/504+s*(830251/7257600))),this.gtu[3]=a*(49561/161280+s*(-179/168+s*(6601661/7257600))),a*=s,this.utg[4]=a*(-4583/161280+s*(108847/3991680)),this.gtu[4]=a*(34729/80640+s*(-3418889/1995840)),a*=s,this.utg[5]=-.03233083094085698*a,this.gtu[5]=.6650675310896665*a;var i=Object(c.a)(this.cbg,this.lat0);this.Zb=-this.Qn*(i+Object(u.a)(this.gtu,2*i))}function h(t){var s=Object(M.a)(t.x-this.long0),a=t.y;a=Object(c.a)(this.cbg,a);var i=Math.sin(a),h=Math.cos(a),e=Math.sin(s),n=Math.cos(s);a=Math.atan2(i,n*h),s=Math.atan2(e*h,Object(r.a)(i,h*n)),s=Object(o.a)(Math.tan(s));var u=Object(l.a)(this.gtu,2*a,2*s);a+=u[0],s+=u[1];var f,d;return Math.abs(s)<=2.623395162778?(f=this.a*(this.Qn*s)+this.x0,d=this.a*(this.Qn*a+this.Zb)+this.y0):(f=1/0,d=1/0),t.x=f,t.y=d,t}function e(t){var s=(t.x-this.x0)*(1/this.a),a=(t.y-this.y0)*(1/this.a);a=(a-this.Zb)/this.Qn,s/=this.Qn;var i,h;if(Math.abs(s)<=2.623395162778){var e=Object(l.a)(this.utg,2*a,2*s);a+=e[0],s+=e[1],s=Math.atan(Object(n.a)(s));var o=Math.sin(a),u=Math.cos(a),f=Math.sin(s),d=Math.cos(s);a=Math.atan2(o*d,Object(r.a)(f,d*u)),s=Math.atan2(f,d*u),i=Object(M.a)(s+this.long0),h=Object(c.a)(this.cgb,a)}else i=1/0,h=1/0;return t.x=i,t.y=h,t}var n=a("Zl3z"),r=a("ctGI"),o=a("bBRM"),c=a("lexY"),u=a("AICX"),l=a("O5VH"),M=a("gkMG"),f=["Extended_Transverse_Mercator","Extended Transverse Mercator","etmerc"];s.a={init:i,forward:h,inverse:e,names:f}},UKTL:function(t,s,a){"use strict";s.a=function(t){return Math.abs(t)>1&&(t=t>1?1:-1),Math.asin(t)}},UkCB:function(t,s,a){"use strict";function i(){}function h(t){return t}var e=["longlat","identity"];s.a={init:i,forward:h,inverse:h,names:e}},Uvlc:function(t,s,a){"use strict";function i(){}function h(t){var s=t.x,a=t.y,i=Object(n.a)(s-this.long0),h=this.x0+this.a*i,e=this.y0+this.a*Math.log(Math.tan(Math.PI/4+a/2.5))*1.25;return t.x=h,t.y=e,t}function e(t){t.x-=this.x0,t.y-=this.y0;var s=Object(n.a)(this.long0+t.x/this.a),a=2.5*(Math.atan(Math.exp(.8*t.y/this.a))-Math.PI/4);return t.x=s,t.y=a,t}var n=a("gkMG"),r=["Miller_Cylindrical","mill"];s.a={init:i,forward:h,inverse:e,names:r}},V3HB:function(t,s,a){"use strict";function i(t,s){return(t.datum.datum_type===e.e||t.datum.datum_type===e.f)&&"WGS84"!==s.datumCode||(s.datum.datum_type===e.e||s.datum.datum_type===e.f)&&"WGS84"!==t.datumCode}function h(t,s,a){var l;return Array.isArray(a)&&(a=Object(c.a)(a)),Object(u.a)(a),t.datum&&s.datum&&i(t,s)&&(l=new o.a("WGS84"),a=h(t,l,a),t=l),"enu"!==t.axis&&(a=Object(r.a)(t,!1,a)),"longlat"===t.projName?a={x:a.x*e.a,y:a.y*e.a}:(t.to_meter&&(a={x:a.x*t.to_meter,y:a.y*t.to_meter}),a=t.inverse(a)),t.from_greenwich&&(a.x+=t.from_greenwich),a=Object(n.a)(t.datum,s.datum,a),s.from_greenwich&&(a={x:a.x-s.from_greenwich,y:a.y}),"longlat"===s.projName?a={x:a.x*e.i,y:a.y*e.i}:(a=s.forward(a),s.to_meter&&(a={x:a.x/s.to_meter,y:a.y/s.to_meter})),"enu"!==s.axis?Object(r.a)(s,!0,a):a}s.a=h;var e=a("JAmm"),n=a("BERY"),r=a("3K9Y"),o=a("e5sF"),c=a("PVsz"),u=a("I9eZ")},Vnlm:function(t,s,a){"use strict";function i(t){if("string"!=typeof t)throw new Error("not a string");this.text=t.trim(),this.level=0,this.place=0,this.root=null,this.stack=[],this.currentObject=null,this.state=e}function h(t){return new i(t).output()}s.a=h;var e=1,n=/\s/,r=/[A-Za-z]/,o=/[A-Za-z84]/,c=/[,\]]/,u=/[\d\.E\-\+]/;i.prototype.readCharicter=function(){var t=this.text[this.place++];if(4!==this.state)for(;n.test(t);){if(this.place>=this.text.length)return;t=this.text[this.place++]}switch(this.state){case e:return this.neutral(t);case 2:return this.keyword(t);case 4:return this.quoted(t);case 5:return this.afterquote(t);case 3:return this.number(t);case-1:return}},i.prototype.afterquote=function(t){if('"'===t)return this.word+='"',void(this.state=4);if(c.test(t))return this.word=this.word.trim(),void this.afterItem(t);throw new Error("havn't handled \""+t+'" in afterquote yet, index '+this.place)},i.prototype.afterItem=function(t){return","===t?(null!==this.word&&this.currentObject.push(this.word),this.word=null,void(this.state=e)):"]"===t?(this.level--,null!==this.word&&(this.currentObject.push(this.word),this.word=null),this.state=e,this.currentObject=this.stack.pop(),void(this.currentObject||(this.state=-1))):void 0},i.prototype.number=function(t){if(u.test(t))return void(this.word+=t);if(c.test(t))return this.word=parseFloat(this.word),void this.afterItem(t);throw new Error("havn't handled \""+t+'" in number yet, index '+this.place)},i.prototype.quoted=function(t){if('"'===t)return void(this.state=5);this.word+=t},i.prototype.keyword=function(t){if(o.test(t))return void(this.word+=t);if("["===t){var s=[];return s.push(this.word),this.level++,null===this.root?this.root=s:this.currentObject.push(s),this.stack.push(this.currentObject),this.currentObject=s,void(this.state=e)}if(c.test(t))return void this.afterItem(t);throw new Error("havn't handled \""+t+'" in keyword yet, index '+this.place)},i.prototype.neutral=function(t){if(r.test(t))return this.word=t,void(this.state=2);if('"'===t)return this.word="",void(this.state=4);if(u.test(t))return this.word=t,void(this.state=3);if(c.test(t))return void this.afterItem(t);throw new Error("havn't handled \""+t+'" in neutral yet, index '+this.place)},i.prototype.output=function(){for(;this.place0?this.con=1:this.con=-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=r.b&&(this.k0=.5*this.cons*Object(c.a)(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/Object(u.a)(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=Object(c.a)(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(this.ssfn_(this.lat0,this.sinlat0,this.e))-r.d,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0))}function e(t){var s,a,i,h,e,n,o=t.x,c=t.y,l=Math.sin(c),f=Math.cos(c),d=Object(M.a)(o-this.long0);return Math.abs(Math.abs(o-this.long0)-Math.PI)<=r.b&&Math.abs(c+this.lat0)<=r.b?(t.x=NaN,t.y=NaN,t):this.sphere?(s=2*this.k0/(1+this.sinlat0*l+this.coslat0*f*Math.cos(d)),t.x=this.a*s*f*Math.sin(d)+this.x0,t.y=this.a*s*(this.coslat0*l-this.sinlat0*f*Math.cos(d))+this.y0,t):(a=2*Math.atan(this.ssfn_(c,l,this.e))-r.d,h=Math.cos(a),i=Math.sin(a),Math.abs(this.coslat0)<=r.b?(e=Object(u.a)(this.e,c*this.con,this.con*l),n=2*this.a*this.k0*e/this.cons,t.x=this.x0+n*Math.sin(o-this.long0),t.y=this.y0-this.con*n*Math.cos(o-this.long0),t):(Math.abs(this.sinlat0)0?Object(M.a)(this.long0+Math.atan2(t.x,-1*t.y)):Object(M.a)(this.long0+Math.atan2(t.x,t.y)):Object(M.a)(this.long0+Math.atan2(t.x*Math.sin(o),n*this.coslat0*Math.cos(o)-t.y*this.sinlat0*Math.sin(o))),t.x=s,t.y=a,t)}if(Math.abs(this.coslat0)<=r.b){if(n<=r.b)return a=this.lat0,s=this.long0,t.x=s,t.y=a,t;t.x*=this.con,t.y*=this.con,i=n*this.cons/(2*this.a*this.k0),a=this.con*Object(l.a)(this.e,i),s=this.con*Object(M.a)(this.con*this.long0+Math.atan2(t.x,-1*t.y))}else h=2*Math.atan(n*this.cosX0/(2*this.a*this.k0*this.ms1)),s=this.long0,n<=r.b?e=this.X0:(e=Math.asin(Math.cos(h)*this.sinX0+t.y*Math.sin(h)*this.cosX0/n),s=Object(M.a)(this.long0+Math.atan2(t.x*Math.sin(h),n*this.cosX0*Math.cos(h)-t.y*this.sinX0*Math.sin(h)))),a=-1*Object(l.a)(this.e,Math.tan(.5*(r.d+e)));return t.x=s,t.y=a,t}var r=a("JAmm"),o=a("cBUL"),c=a("IXc0"),u=a("ME/f"),l=a("OBi8"),M=a("gkMG"),f=["stere","Stereographic_South_Pole","Polar Stereographic (variant B)"];s.a={init:h,forward:e,inverse:n,names:f,ssfn_:i}},XvAm:function(t,s,a){"use strict";a.d(s,"a",function(){return i});var i={};i.greenwich=0,i.lisbon=-9.131906111111,i.paris=2.337229166667,i.bogota=-74.080916666667,i.madrid=-3.687938888889,i.rome=12.452333333333,i.bern=7.439583333333,i.jakarta=106.807719444444,i.ferro=-17.666666666667,i.brussels=4.367975,i.stockholm=18.058277777778,i.athens=23.7163375,i.oslo=10.722916666667},Zl3z:function(t,s,a){"use strict";s.a=function(t){var s=Math.exp(t);return s=(s-1/s)/2}},ajw1:function(t,s,a){"use strict";function i(t,s,a){if(!(this instanceof i))return new i(t,s,a);if(Array.isArray(t))this.x=t[0],this.y=t[1],this.z=t[2]||0;else if("object"==typeof t)this.x=t.x,this.y=t.y,this.z=t.z||0;else if("string"==typeof t&&void 0===s){var h=t.split(",");this.x=parseFloat(h[0],10),this.y=parseFloat(h[1],10),this.z=parseFloat(h[2],10)||0}else this.x=t,this.y=s,this.z=a||0;console.warn("proj4.Point will be removed in version 3, use proj4.toPoint")}var h=a("4II5");i.fromMGRS=function(t){return new i(Object(h.c)(t))},i.prototype.toMGRS=function(t){return Object(h.b)([this.x,this.y],t)},s.a=i},bBRM:function(t,s,a){"use strict";var i=a("ctGI"),h=a("xIMV");s.a=function(t){var s=Math.abs(t);return s=Object(h.a)(s*(1+s/(Object(i.a)(1,s)+1))),t<0?-s:s}},bqGt:function(t,s,a){"use strict";var i=.01068115234375;s.a=function(t){var s=[];s[0]=1-t*(.25+t*(.046875+t*(.01953125+t*i))),s[1]=t*(.75-t*(.046875+t*(.01953125+t*i)));var a=t*t;return s[2]=a*(.46875-t*(.013020833333333334+.007120768229166667*t)),a*=t,s[3]=a*(.3645833333333333-.005696614583333333*t),s[4]=a*t*.3076171875,s}},cAH4:function(t,s,a){"use strict";function i(){this.x0=void 0!==this.x0?this.x0:0,this.y0=void 0!==this.y0?this.y0:0,this.long0=void 0!==this.long0?this.long0:0,this.lat0=void 0!==this.lat0?this.lat0:0,this.es&&(this.en=Object(n.a)(this.es),this.ml0=Object(r.a)(this.lat0,Math.sin(this.lat0),Math.cos(this.lat0),this.en))}function h(t){var s,a,i,h=t.x,e=t.y,n=Object(c.a)(h-this.long0),o=Math.sin(e),l=Math.cos(e);if(this.es){var M=l*n,f=Math.pow(M,2),d=this.ep2*Math.pow(l,2),m=Math.pow(d,2),b=Math.abs(l)>u.b?Math.tan(e):0,p=Math.pow(b,2),y=Math.pow(p,2);s=1-this.es*Math.pow(o,2),M/=Math.sqrt(s);var _=Object(r.a)(e,o,l,this.en);a=this.a*(this.k0*M*(1+f/6*(1-p+d+f/20*(5-18*p+y+14*d-58*p*d+f/42*(61+179*y-y*p-479*p)))))+this.x0,i=this.a*(this.k0*(_-this.ml0+o*n*M/2*(1+f/12*(5-p+9*d+4*m+f/30*(61+y-58*p+270*d-330*p*d+f/56*(1385+543*y-y*p-3111*p))))))+this.y0}else{var v=l*Math.sin(n);if(Math.abs(Math.abs(v)-1)=1){if(v-1>u.b)return 93;i=0}else i=Math.acos(i);e<0&&(i=-i),i=this.a*this.k0*(i-this.lat0)+this.y0}return t.x=a,t.y=i,t}function e(t){var s,a,i,h,e=(t.x-this.x0)*(1/this.a),n=(t.y-this.y0)*(1/this.a);if(this.es)if(s=this.ml0+n/this.k0,a=Object(o.a)(s,this.es,this.en),Math.abs(a)u.b?Math.tan(a):0,d=this.ep2*Math.pow(M,2),m=Math.pow(d,2),b=Math.pow(f,2),p=Math.pow(b,2);s=1-this.es*Math.pow(r,2);var y=e*Math.sqrt(s)/this.k0,_=Math.pow(y,2);s*=f,i=a-s*_/(1-this.es)*.5*(1-_/12*(5+3*b-9*d*b+d-4*m-_/30*(61+90*b-252*d*b+45*p+46*d-_/56*(1385+3633*b+4095*p+1574*p*b)))),h=Object(c.a)(this.long0+y*(1-_/6*(1+2*b+d-_/20*(5+28*b+24*p+8*d*b+6*d-_/42*(61+662*b+1320*p+720*p*b))))/M)}else i=u.d*Object(l.a)(n),h=0;else{var v=Math.exp(e/this.k0),g=.5*(v-1/v),x=this.lat0+n/this.k0,O=Math.cos(x);s=Math.sqrt((1-Math.pow(O,2))/(1+Math.pow(g,2))),i=Math.asin(s),n<0&&(i=-i),h=0===g&&0===O?0:Object(c.a)(Math.atan2(g,O)+this.long0)}return t.x=h,t.y=i,t}var n=a("bqGt"),r=a("zrKp"),o=a("je3J"),c=a("gkMG"),u=a("JAmm"),l=a("cBUL"),M=["Transverse_Mercator","Transverse Mercator","tmerc"];s.a={init:i,forward:h,inverse:e,names:M}},cBUL:function(t,s,a){"use strict";s.a=function(t){return t<0?-1:1}},ctGI:function(t,s,a){"use strict";s.a=function(t,s){t=Math.abs(t),s=Math.abs(s);var a=Math.max(t,s),i=Math.min(t,s)/(a||1);return a*Math.sqrt(1+Math.pow(i,2))}},d3I4:function(t,s,a){"use strict";s.a=function(t){return 1-.25*t*(1+t/16*(3+1.25*t))}},e5sF:function(t,s,a){"use strict";function i(t,s){if(!(this instanceof i))return new i(t);s=s||function(t){if(t)throw t};var a=Object(h.a)(t);if("object"!=typeof a)return void s(t);var n=i.projections.get(a.projName);if(!n)return void s(t);if(a.datumCode&&"none"!==a.datumCode){var l=Object(u.a)(o.a,a.datumCode);l&&(a.datum_params=l.towgs84?l.towgs84.split(","):null,a.ellps=l.ellipse,a.datumName=l.datumName?l.datumName:a.datumCode)}a.k0=a.k0||1,a.axis=a.axis||"enu",a.ellps=a.ellps||"wgs84";var M=Object(r.b)(a.a,a.b,a.rf,a.ellps,a.sphere),f=Object(r.a)(M.a,M.b,M.rf,a.R_A),d=a.datum||Object(c.a)(a.datumCode,a.datum_params,M.a,M.b,f.es,f.ep2);Object(e.a)(this,a),Object(e.a)(this,n),this.a=M.a,this.b=M.b,this.rf=M.rf,this.sphere=M.sphere,this.es=f.es,this.e=f.e,this.ep2=f.ep2,this.datum=d,this.init(),s(null,this)}var h=a("eo71"),e=a("zevH"),n=a("JNqU"),r=a("kHIn"),o=a("73fo"),c=a("osfr"),u=a("qONe");i.projections=n.a,i.projections.start(),s.a=i},eo71:function(t,s,a){"use strict";function i(t){return"string"==typeof t}function h(t){return t in u.a}function e(t){return d.some(function(s){return t.indexOf(s)>-1})}function n(t){var s=Object(f.a)(t,"authority");if(s){var a=Object(f.a)(s,"epsg");return a&&m.indexOf(a)>-1}}function r(t){var s=Object(f.a)(t,"extension");if(s)return Object(f.a)(s,"proj4")}function o(t){return"+"===t[0]}function c(t){if(!i(t))return t;if(h(t))return u.a[t];if(e(t)){var s=Object(l.a)(t);if(n(s))return u.a["EPSG:3857"];var a=r(s);return a?Object(M.a)(a):s}return o(t)?Object(M.a)(t):void 0}var u=a("Agrq"),l=a("fZ+p"),M=a("Mhqt"),f=a("qONe"),d=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"],m=["3857","900913","3785","102113"];s.a=c},f4Hg:function(t,s,a){"use strict";function i(){this.sphere||(this.e0=Object(r.a)(this.es),this.e1=Object(o.a)(this.es),this.e2=Object(c.a)(this.es),this.e3=Object(u.a)(this.es),this.ml0=this.a*Object(n.a)(this.e0,this.e1,this.e2,this.e3,this.lat0))}function h(t){var s,a,i=t.x,h=t.y;if(i=Object(M.a)(i-this.long0),this.sphere)s=this.a*Math.asin(Math.cos(h)*Math.sin(i)),a=this.a*(Math.atan2(Math.tan(h),Math.cos(i))-this.lat0);else{var e=Math.sin(h),r=Math.cos(h),o=Object(l.a)(this.a,this.e,e),c=Math.tan(h)*Math.tan(h),u=i*Math.cos(h),f=u*u,d=this.es*r*r/(1-this.es),m=this.a*Object(n.a)(this.e0,this.e1,this.e2,this.e3,h);s=o*u*(1-f*c*(1/6-(8-c+8*d)*f/120)),a=m-this.ml0+o*e/r*f*(.5+(5-c+6*d)*f/24)}return t.x=s+this.x0,t.y=a+this.y0,t}function e(t){t.x-=this.x0,t.y-=this.y0;var s,a,i=t.x/this.a,h=t.y/this.a;if(this.sphere){var e=h+this.lat0;s=Math.asin(Math.sin(e)*Math.cos(i)),a=Math.atan2(Math.tan(i),Math.cos(e))}else{var n=this.ml0/this.a+h,r=Object(d.a)(n,this.e0,this.e1,this.e2,this.e3);if(Math.abs(Math.abs(r)-m.d)<=m.b)return t.x=this.long0,t.y=m.d,h<0&&(t.y*=-1),t;var o=Object(l.a)(this.a,this.e,Math.sin(r)),c=o*o*o/this.a/this.a*(1-this.es),u=Math.pow(Math.tan(r),2),b=i*this.a/o,p=b*b;s=r-o*Math.tan(r)/c*b*b*(.5-(1+3*u)*b*b/24),a=b*(1-p*(u/3+(1+3*u)*u*p/15))/Math.cos(r)}return t.x=Object(M.a)(a+this.long0),t.y=Object(f.a)(s),t}var n=a("frGE"),r=a("d3I4"),o=a("i5uR"),c=a("mVlP"),u=a("fGox"),l=a("9vV9"),M=a("gkMG"),f=a("thK1"),d=a("ReQ3"),m=a("JAmm"),b=["Cassini","Cassini_Soldner","cass"];s.a={init:i,forward:h,inverse:e,names:b}},fGox:function(t,s,a){"use strict";s.a=function(t){return t*t*t*(35/3072)}},"fZ+p":function(t,s,a){"use strict";function i(t,s){var a=s[0],i=s[1];!(a in t)&&i in t&&(t[a]=t[i],3===s.length&&(t[a]=s[2](t[a])))}function h(t){return t*o}function e(t){function s(s){return s*(t.to_meter||1)}"GEOGCS"===t.type?t.projName="longlat":"LOCAL_CS"===t.type?(t.projName="identity",t.local=!0):"object"==typeof t.PROJECTION?t.projName=Object.keys(t.PROJECTION)[0]:t.projName=t.PROJECTION,t.UNIT&&(t.units=t.UNIT.name.toLowerCase(),"metre"===t.units&&(t.units="meter"),t.UNIT.convert&&("GEOGCS"===t.type?t.DATUM&&t.DATUM.SPHEROID&&(t.to_meter=t.UNIT.convert*t.DATUM.SPHEROID.a):t.to_meter=t.UNIT.convert));var a=t.GEOGCS;"GEOGCS"===t.type&&(a=t),a&&(a.DATUM?t.datumCode=a.DATUM.name.toLowerCase():t.datumCode=a.name.toLowerCase(),"d_"===t.datumCode.slice(0,2)&&(t.datumCode=t.datumCode.slice(2)),"new_zealand_geodetic_datum_1949"!==t.datumCode&&"new_zealand_1949"!==t.datumCode||(t.datumCode="nzgd49"),"wgs_1984"===t.datumCode&&("Mercator_Auxiliary_Sphere"===t.PROJECTION&&(t.sphere=!0),t.datumCode="wgs84"),"_ferro"===t.datumCode.slice(-6)&&(t.datumCode=t.datumCode.slice(0,-6)),"_jakarta"===t.datumCode.slice(-8)&&(t.datumCode=t.datumCode.slice(0,-8)),~t.datumCode.indexOf("belge")&&(t.datumCode="rnb72"),a.DATUM&&a.DATUM.SPHEROID&&(t.ellps=a.DATUM.SPHEROID.name.replace("_19","").replace(/[Cc]larke\_18/,"clrk"),"international"===t.ellps.toLowerCase().slice(0,13)&&(t.ellps="intl"),t.a=a.DATUM.SPHEROID.a,t.rf=parseFloat(a.DATUM.SPHEROID.rf,10)),a.DATUM&&a.DATUM.TOWGS84&&(t.datum_params=a.DATUM.TOWGS84),~t.datumCode.indexOf("osgb_1936")&&(t.datumCode="osgb36"),~t.datumCode.indexOf("osni_1952")&&(t.datumCode="osni52"),(~t.datumCode.indexOf("tm65")||~t.datumCode.indexOf("geodetic_datum_of_1965"))&&(t.datumCode="ire65"),"ch1903+"===t.datumCode&&(t.datumCode="ch1903"),~t.datumCode.indexOf("israel")&&(t.datumCode="isr93")),t.b&&!isFinite(t.b)&&(t.b=t.a),[["standard_parallel_1","Standard_Parallel_1"],["standard_parallel_2","Standard_Parallel_2"],["false_easting","False_Easting"],["false_northing","False_Northing"],["central_meridian","Central_Meridian"],["latitude_of_origin","Latitude_Of_Origin"],["latitude_of_origin","Central_Parallel"],["scale_factor","Scale_Factor"],["k0","scale_factor"],["latitude_of_center","Latitude_Of_Center"],["latitude_of_center","Latitude_of_center"],["lat0","latitude_of_center",h],["longitude_of_center","Longitude_Of_Center"],["longitude_of_center","Longitude_of_center"],["longc","longitude_of_center",h],["x0","false_easting",s],["y0","false_northing",s],["long0","central_meridian",h],["lat0","latitude_of_origin",h],["lat0","standard_parallel_1",h],["lat1","standard_parallel_1",h],["lat2","standard_parallel_2",h],["azimuth","Azimuth"],["alpha","azimuth",h],["srsCode","name"]].forEach(function(s){return i(t,s)}),t.long0||!t.longc||"Albers_Conic_Equal_Area"!==t.projName&&"Lambert_Azimuthal_Equal_Area"!==t.projName||(t.long0=t.longc),t.lat_ts||!t.lat1||"Stereographic_South_Pole"!==t.projName&&"Polar Stereographic (variant B)"!==t.projName||(t.lat0=h(t.lat1>0?90:-90),t.lat_ts=t.lat1)}var n=a("Vnlm"),r=a("hiL4"),o=.017453292519943295;s.a=function(t){var s=Object(n.a)(t),a=s.shift(),i=s.shift();s.unshift(["name",i]),s.unshift(["type",a]);var h={};return Object(r.a)(s,h),e(h),h}},frGE:function(t,s,a){"use strict";s.a=function(t,s,a,i,h){return t*h-s*Math.sin(2*h)+a*Math.sin(4*h)-i*Math.sin(6*h)}},gkMG:function(t,s,a){"use strict";var i=a("JAmm"),h=a("cBUL");s.a=function(t){return Math.abs(t)<=i.n?t:t-Object(h.a)(t)*i.o}},hXOA:function(t,s,a){"use strict";function i(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013}function h(t){var s,a=t.x,i=t.y,h=i-this.lat0,e=a-this.long0,r=h/n.l*1e-5,o=e,c=1,u=0;for(s=1;s<=10;s++)c*=r,u+=this.A[s]*c;var l,M,f=u,d=o,m=1,b=0,p=0,y=0;for(s=1;s<=6;s++)l=m*f-b*d,M=b*f+m*d,m=l,b=M,p=p+this.B_re[s]*m-this.B_im[s]*b,y=y+this.B_im[s]*m+this.B_re[s]*b;return t.x=y*this.a+this.x0,t.y=p*this.a+this.y0,t}function e(t){var s,a,i,h=t.x,e=t.y,r=h-this.x0,o=e-this.y0,c=o/this.a,u=r/this.a,l=1,M=0,f=0,d=0;for(s=1;s<=6;s++)a=l*c-M*u,i=M*c+l*u,l=a,M=i,f=f+this.C_re[s]*l-this.C_im[s]*M,d=d+this.C_im[s]*l+this.C_re[s]*M;for(var m=0;m=m&&(i=m-1),a=r.i*(a-d*i);var h={x:b(c[i],a)*s,y:b(u[i],a)};return t.y<0&&(h.y=-h.y),h.x=h.x*this.a*l+this.x0,h.y=h.y*this.a*M+this.y0,h}function n(t){var s={x:(t.x-this.x0)/(this.a*l),y:Math.abs(t.y-this.y0)/(this.a*M)};if(s.y>=1)s.x/=c[m][0],s.y=t.y<0?-r.d:r.d;else{var a=Math.floor(s.y*m);for(a<0?a=0:a>=m&&(a=m-1);;)if(u[a][0]>s.y)--a;else{if(!(u[a+1][0]<=s.y))break;++a}var h=u[a],e=5*(s.y-h[0])/(u[a+1][0]-h[0]);e=i(function(t){return(b(h,t)-s.y)/p(h,t)},e,r.b,100),s.x/=b(c[a],e),s.y=(5*a+e)*r.a,t.y<0&&(s.y=-s.y)}return s.x=Object(o.a)(s.x+this.long0),s}var r=a("JAmm"),o=a("gkMG"),c=[[1,2.2199e-17,-715515e-10,31103e-10],[.9986,-482243e-9,-24897e-9,-13309e-10],[.9954,-83103e-8,-448605e-10,-9.86701e-7],[.99,-.00135364,-59661e-9,36777e-10],[.9822,-.00167442,-449547e-11,-572411e-11],[.973,-.00214868,-903571e-10,1.8736e-8],[.96,-.00305085,-900761e-10,164917e-11],[.9427,-.00382792,-653386e-10,-26154e-10],[.9216,-.00467746,-10457e-8,481243e-11],[.8962,-.00536223,-323831e-10,-543432e-11],[.8679,-.00609363,-113898e-9,332484e-11],[.835,-.00698325,-640253e-10,9.34959e-7],[.7986,-.00755338,-500009e-10,9.35324e-7],[.7597,-.00798324,-35971e-9,-227626e-11],[.7186,-.00851367,-701149e-10,-86303e-10],[.6732,-.00986209,-199569e-9,191974e-10],[.6213,-.010418,883923e-10,624051e-11],[.5722,-.00906601,182e-6,624051e-11],[.5322,-.00677797,275608e-9,624051e-11]],u=[[-5.20417e-18,.0124,1.21431e-18,-8.45284e-11],[.062,.0124,-1.26793e-9,4.22642e-10],[.124,.0124,5.07171e-9,-1.60604e-9],[.186,.0123999,-1.90189e-8,6.00152e-9],[.248,.0124002,7.10039e-8,-2.24e-8],[.31,.0123992,-2.64997e-7,8.35986e-8],[.372,.0124029,9.88983e-7,-3.11994e-7],[.434,.0123893,-369093e-11,-4.35621e-7],[.4958,.0123198,-102252e-10,-3.45523e-7],[.5571,.0121916,-154081e-10,-5.82288e-7],[.6176,.0119938,-241424e-10,-5.25327e-7],[.6769,.011713,-320223e-10,-5.16405e-7],[.7346,.0113541,-397684e-10,-6.09052e-7],[.7903,.0109107,-489042e-10,-104739e-11],[.8435,.0103431,-64615e-9,-1.40374e-9],[.8936,.00969686,-64636e-9,-8547e-9],[.9394,.00840947,-192841e-9,-42106e-10],[.9761,.00616527,-256e-6,-42106e-10],[1,.00328947,-319159e-9,-42106e-10]],l=.8487,M=1.3523,f=r.i/5,d=1/f,m=18,b=function(t,s){return t[0]+s*(t[1]+s*(t[2]+s*t[3]))},p=function(t,s){return t[1]+s*(2*t[2]+3*s*t[3])},y=["Robinson","robin"];s.a={init:h,forward:e,inverse:n,names:y}},jXbg:function(t,s,a){"use strict";function i(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0)}function h(t){var s,a,i,h,e,r,c,u,l=t.x,M=t.y;return i=Object(n.a)(l-this.long0),s=Math.sin(M),a=Math.cos(M),h=Math.cos(i),r=this.sin_p14*s+this.cos_p14*a*h,e=1,(r>0||Math.abs(r)<=o.b)&&(c=this.a*e*a*Math.sin(i),u=this.y0+this.a*e*(this.cos_p14*s-this.sin_p14*a*h)),t.x=c,t.y=u,t}function e(t){var s,a,i,h,e,c,u;return t.x-=this.x0,t.y-=this.y0,s=Math.sqrt(t.x*t.x+t.y*t.y),a=Object(r.a)(s/this.a),i=Math.sin(a),h=Math.cos(a),c=this.long0,Math.abs(s)<=o.b?(u=this.lat0,t.x=c,t.y=u,t):(u=Object(r.a)(h*this.sin_p14+t.y*i*this.cos_p14/s),e=Math.abs(this.lat0)-o.d,Math.abs(e)<=o.b?(c=this.lat0>=0?Object(n.a)(this.long0+Math.atan2(t.x,-t.y)):Object(n.a)(this.long0-Math.atan2(-t.x,t.y)),t.x=c,t.y=u,t):(c=Object(n.a)(this.long0+Math.atan2(t.x*i,s*this.cos_p14*h-t.y*this.sin_p14*i)),t.x=c,t.y=u,t))}var n=a("gkMG"),r=a("UKTL"),o=a("JAmm"),c=["ortho"];s.a={init:i,forward:h,inverse:e,names:c}},je3J:function(t,s,a){"use strict";var i=a("zrKp"),h=a("JAmm");s.a=function(t,s,a){for(var e=1/(1-s),n=t,r=20;r;--r){var o=Math.sin(n),c=1-s*o*o;if(c=(Object(i.a)(n,o,Math.cos(n),a)-t)*(c*Math.sqrt(c))*e,n-=c,Math.abs(c)2*r.d*this.a)return;return a=s/this.a,i=Math.sin(a),h=Math.cos(a),e=this.long0,Math.abs(s)<=r.b?b=this.lat0:(b=Object(d.a)(h*this.sin_p12+t.y*i*this.cos_p12/s),p=Math.abs(this.lat0)-r.d,e=Math.abs(p)<=r.b?this.lat0>=0?Object(n.a)(this.long0+Math.atan2(t.x,-t.y)):Object(n.a)(this.long0-Math.atan2(-t.x,t.y)):Object(n.a)(this.long0+Math.atan2(t.x*i,s*this.cos_p12*h-t.y*this.sin_p12*i))),t.x=e,t.y=b,t}return y=Object(c.a)(this.es),_=Object(u.a)(this.es),v=Object(l.a)(this.es),g=Object(M.a)(this.es),Math.abs(this.sin_p12-1)<=r.b?(x=this.a*Object(o.a)(y,_,v,g,r.d),s=Math.sqrt(t.x*t.x+t.y*t.y),O=x-s,b=Object(m.a)(O/this.a,y,_,v,g),e=Object(n.a)(this.long0+Math.atan2(t.x,-1*t.y)),t.x=e,t.y=b,t):Math.abs(this.sin_p12+1)<=r.b?(x=this.a*Object(o.a)(y,_,v,g,r.d),s=Math.sqrt(t.x*t.x+t.y*t.y),O=s-x,b=Object(m.a)(O/this.a,y,_,v,g),e=Object(n.a)(this.long0+Math.atan2(t.x,t.y)),t.x=e,t.y=b,t):(s=Math.sqrt(t.x*t.x+t.y*t.y),w=Math.atan2(t.x,t.y),j=Object(f.a)(this.a,this.e,this.sin_p12),E=Math.cos(w),P=this.e*this.cos_p12*E,C=-P*P/(1-this.es),k=3*this.es*(1-C)*this.sin_p12*this.cos_p12*E/(1-this.es),S=s/j,N=S-C*(1+C)*Math.pow(S,3)/6-k*(1+3*C)*Math.pow(S,4)/24,I=1-C*N*N/2-S*N*N*N/6,A=Math.asin(this.sin_p12*Math.cos(N)+this.cos_p12*Math.sin(N)*E),e=Object(n.a)(this.long0+Math.asin(Math.sin(w)*Math.sin(N)/Math.cos(A))),b=Math.atan((1-this.es*I*this.sin_p12/Math.sin(A))*Math.tan(A)/(1-this.es)),t.x=e,t.y=b,t)}var n=a("gkMG"),r=a("JAmm"),o=a("frGE"),c=a("d3I4"),u=a("i5uR"),l=a("mVlP"),M=a("fGox"),f=a("9vV9"),d=a("UKTL"),m=a("ReQ3"),b=["Azimuthal_Equidistant","aeqd"];s.a={init:i,forward:h,inverse:e,names:b}},kHIn:function(t,s,a){"use strict";function i(t,s,a,i){var h=t*t,n=s*s,r=(h-n)/h,o=0;return i?(t*=1-r*(e.m+r*(e.j+r*e.k)),h=t*t,r=0):o=Math.sqrt(r),{es:r,e:o,ep2:(h-n)/n}}function h(t,s,a,i,h){if(!t){var o=Object(r.a)(n.b,i);o||(o=n.a),t=o.a,s=o.b,a=o.rf}return a&&!s&&(s=(1-1/a)*t),(0===a||Math.abs(t-s)60)return 60}return t}},lFMR:function(t,s,a){"use strict";s.a=function(t){var s=Math.exp(t);return s=(s+1/s)/2}},lG8V:function(t,s,a){"use strict";s.a={ft:{to_meter:.3048},"us-ft":{to_meter:1200/3937}}},lQeg:function(t,s){t.exports={name:"proj4",version:"2.5.0",description:"Proj4js is a JavaScript library to transform point coordinates from one coordinate system to another, including datum transformations.",main:"dist/proj4-src.js",module:"lib/index.js",directories:{test:"test",doc:"docs"},scripts:{build:"grunt","build:tmerc":"grunt build:tmerc",test:"npm run build && istanbul test _mocha test/test.js"},repository:{type:"git",url:"git://github.com/proj4js/proj4js.git"},author:"",license:"MIT",devDependencies:{chai:"~4.1.2","curl-amd":"github:cujojs/curl",grunt:"^1.0.1","grunt-cli":"~1.2.0","grunt-contrib-connect":"~1.0.2","grunt-contrib-jshint":"~1.1.0","grunt-contrib-uglify":"~3.1.0","grunt-mocha-phantomjs":"~4.0.0","grunt-rollup":"^6.0.0",istanbul:"~0.4.5",mocha:"~4.0.0",rollup:"^0.50.0","rollup-plugin-json":"^2.3.0","rollup-plugin-node-resolve":"^3.0.0",tin:"~0.5.0"},dependencies:{mgrs:"1.0.0","wkt-parser":"^1.2.0"}}},lRMl:function(t,s,a){"use strict";function i(t,s){return t.datum_type===s.datum_type&&(!(t.a!==s.a||Math.abs(t.es-s.es)>5e-11)&&(t.datum_type===o.e?t.datum_params[0]===s.datum_params[0]&&t.datum_params[1]===s.datum_params[1]&&t.datum_params[2]===s.datum_params[2]:t.datum_type!==o.f||t.datum_params[0]===s.datum_params[0]&&t.datum_params[1]===s.datum_params[1]&&t.datum_params[2]===s.datum_params[2]&&t.datum_params[3]===s.datum_params[3]&&t.datum_params[4]===s.datum_params[4]&&t.datum_params[5]===s.datum_params[5]&&t.datum_params[6]===s.datum_params[6]))}function h(t,s,a){var i,h,e,n,r=t.x,c=t.y,u=t.z?t.z:0;if(c<-o.d&&c>-1.001*o.d)c=-o.d;else if(c>o.d&&c<1.001*o.d)c=o.d;else{if(c<-o.d)return{x:-1/0,y:-1/0,z:t.z};if(c>o.d)return{x:1/0,y:1/0,z:t.z}}return r>Math.PI&&(r-=2*Math.PI),h=Math.sin(c),n=Math.cos(c),e=h*h,i=a/Math.sqrt(1-s*e),{x:(i+u)*n*Math.cos(r),y:(i+u)*n*Math.sin(r),z:(i*(1-s)+u)*h}}function e(t,s,a,i){var h,e,n,r,c,u,l,M,f,d,m,b,p,y,_,v,g=t.x,x=t.y,O=t.z?t.z:0;if(h=Math.sqrt(g*g+x*x),e=Math.sqrt(g*g+x*x+O*O),h/a<1e-12){if(y=0,e/a<1e-12)return _=o.d,v=-i,{x:t.x,y:t.y,z:t.z}}else y=Math.atan2(x,g);n=O/e,r=h/e,c=1/Math.sqrt(1-s*(2-s)*r*r),M=r*(1-s)*c,f=n*c,p=0;do{p++,l=a/Math.sqrt(1-s*f*f),v=h*M+O*f-l*(1-s*f*f),u=s*l/(l+v),c=1/Math.sqrt(1-u*(2-u)*r*r),d=r*(1-u)*c,m=n*c,b=m*M-d*f,M=d,f=m}while(b*b>1e-24&&p<30);return _=Math.atan(m/Math.abs(d)),{x:y,y:_,z:v}}function n(t,s,a){if(s===o.e)return{x:t.x+a[0],y:t.y+a[1],z:t.z+a[2]};if(s===o.f){var i=a[0],h=a[1],e=a[2],n=a[3],r=a[4],c=a[5],u=a[6];return{x:u*(t.x-c*t.y+r*t.z)+i,y:u*(c*t.x+t.y-n*t.z)+h,z:u*(-r*t.x+n*t.y+t.z)+e}}}function r(t,s,a){if(s===o.e)return{x:t.x-a[0],y:t.y-a[1],z:t.z-a[2]};if(s===o.f){var i=a[0],h=a[1],e=a[2],n=a[3],r=a[4],c=a[5],u=a[6],l=(t.x-i)/u,M=(t.y-h)/u,f=(t.z-e)/u;return{x:l+c*M-r*f,y:-c*l+M+n*f,z:r*l-n*M+f}}}s.a=i,s.e=h,s.c=e,s.d=n,s.b=r;var o=a("JAmm")},lexY:function(t,s,a){"use strict";s.a=function(t,s){for(var a,i=2*Math.cos(2*s),h=t.length-1,e=t[h],n=0;--h>=0;)a=i*e-n+t[h],n=e,e=a;return s+a*Math.sin(2*s)}},likz:function(t,s,a){"use strict";function i(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Quadrilateralized Spherical Cube",this.lat0>=o.d-o.c/2?this.face=c.TOP:this.lat0<=-(o.d-o.c/2)?this.face=c.BOTTOM:Math.abs(this.long0)<=o.c?this.face=c.FRONT:Math.abs(this.long0)<=o.d+o.c?this.face=this.long0>0?c.RIGHT:c.LEFT:this.face=c.BACK,0!==this.es&&(this.one_minus_f=1-(this.a-this.b)/this.a,this.one_minus_f_squared=this.one_minus_f*this.one_minus_f)}function h(t){var s,a,i,h,e,l,M={x:0,y:0},f={value:0};if(t.x-=this.long0,s=0!==this.es?Math.atan(this.one_minus_f_squared*Math.tan(t.y)):t.y,a=t.x,this.face===c.TOP)h=o.d-s,a>=o.c&&a<=o.d+o.c?(f.value=u.AREA_0,i=a-o.d):a>o.d+o.c||a<=-(o.d+o.c)?(f.value=u.AREA_1,i=a>0?a-o.n:a+o.n):a>-(o.d+o.c)&&a<=-o.c?(f.value=u.AREA_2,i=a+o.d):(f.value=u.AREA_3,i=a);else if(this.face===c.BOTTOM)h=o.d+s,a>=o.c&&a<=o.d+o.c?(f.value=u.AREA_0,i=-a+o.d):a=-o.c?(f.value=u.AREA_1,i=-a):a<-o.c&&a>=-(o.d+o.c)?(f.value=u.AREA_2,i=-a-o.d):(f.value=u.AREA_3,i=a>0?-a+o.n:-a-o.n);else{var d,m,b,p,y,_,v;this.face===c.RIGHT?a=r(a,+o.d):this.face===c.BACK?a=r(a,+o.n):this.face===c.LEFT&&(a=r(a,-o.d)),p=Math.sin(s),y=Math.cos(s),_=Math.sin(a),v=Math.cos(a),d=y*v,m=y*_,b=p,this.face===c.FRONT?(h=Math.acos(d),i=n(h,b,m,f)):this.face===c.RIGHT?(h=Math.acos(m),i=n(h,b,-d,f)):this.face===c.BACK?(h=Math.acos(-d),i=n(h,b,-m,f)):this.face===c.LEFT?(h=Math.acos(-m),i=n(h,b,d,f)):(h=i=0,f.value=u.AREA_0)}return l=Math.atan(12/o.n*(i+Math.acos(Math.sin(i)*Math.cos(o.c))-o.d)),e=Math.sqrt((1-Math.cos(h))/(Math.cos(l)*Math.cos(l))/(1-Math.cos(Math.atan(1/Math.cos(i))))),f.value===u.AREA_1?l+=o.d:f.value===u.AREA_2?l+=o.n:f.value===u.AREA_3&&(l+=1.5*o.n),M.x=e*Math.cos(l),M.y=e*Math.sin(l),M.x=M.x*this.a+this.x0,M.y=M.y*this.a+this.y0,t.x=M.x,t.y=M.y,t}function e(t){var s,a,i,h,e,n,l,M,f,d={lam:0,phi:0},m={value:0};if(t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,a=Math.atan(Math.sqrt(t.x*t.x+t.y*t.y)),s=Math.atan2(t.y,t.x),t.x>=0&&t.x>=Math.abs(t.y)?m.value=u.AREA_0:t.y>=0&&t.y>=Math.abs(t.x)?(m.value=u.AREA_1,s-=o.d):t.x<0&&-t.x>=Math.abs(t.y)?(m.value=u.AREA_2,s=s<0?s+o.n:s-o.n):(m.value=u.AREA_3,s+=o.d),f=o.n/12*Math.tan(s),e=Math.sin(f)/(Math.cos(f)-1/Math.sqrt(2)),n=Math.atan(e),i=Math.cos(s),h=Math.tan(a),l=1-i*i*h*h*(1-Math.cos(Math.atan(1/Math.cos(n)))),l<-1?l=-1:l>1&&(l=1),this.face===c.TOP)M=Math.acos(l),d.phi=o.d-M,m.value===u.AREA_0?d.lam=n+o.d:m.value===u.AREA_1?d.lam=n<0?n+o.n:n-o.n:m.value===u.AREA_2?d.lam=n-o.d:d.lam=n;else if(this.face===c.BOTTOM)M=Math.acos(l),d.phi=M-o.d,m.value===u.AREA_0?d.lam=-n+o.d:m.value===u.AREA_1?d.lam=-n:m.value===u.AREA_2?d.lam=-n-o.d:d.lam=n<0?-n-o.n:-n+o.n;else{var b,p,y;b=l,f=b*b,y=f>=1?0:Math.sqrt(1-f)*Math.sin(n),f+=y*y,p=f>=1?0:Math.sqrt(1-f),m.value===u.AREA_1?(f=p,p=-y,y=f):m.value===u.AREA_2?(p=-p,y=-y):m.value===u.AREA_3&&(f=p,p=y,y=-f),this.face===c.RIGHT?(f=b,b=-p,p=f):this.face===c.BACK?(b=-b,p=-p):this.face===c.LEFT&&(f=b,b=p,p=-f),d.phi=Math.acos(-y)-o.d,d.lam=Math.atan2(p,b),this.face===c.RIGHT?d.lam=r(d.lam,-o.d):this.face===c.BACK?d.lam=r(d.lam,-o.n):this.face===c.LEFT&&(d.lam=r(d.lam,+o.d))}if(0!==this.es){var _,v,g;_=d.phi<0?1:0,v=Math.tan(d.phi),g=this.b/Math.sqrt(v*v+this.one_minus_f_squared),d.phi=Math.atan(Math.sqrt(this.a*this.a-g*g)/(this.one_minus_f*g)),_&&(d.phi=-d.phi)}return d.lam+=this.long0,t.x=d.lam,t.y=d.phi,t}function n(t,s,a,i){var h;return to.c&&h<=o.d+o.c?(i.value=u.AREA_1,h-=o.d):h>o.d+o.c||h<=-(o.d+o.c)?(i.value=u.AREA_2,h=h>=0?h-o.n:h+o.n):(i.value=u.AREA_3,h+=o.d)),h}function r(t,s){var a=t+s;return a<-o.n?a+=o.o:a>+o.n&&(a-=o.o),a}var o=a("JAmm"),c={FRONT:1,RIGHT:2,BACK:3,LEFT:4,TOP:5,BOTTOM:6},u={AREA_0:1,AREA_1:2,AREA_2:3,AREA_3:4},l=["Quadrilateralized Spherical Cube","Quadrilateralized_Spherical_Cube","qsc"];s.a={init:i,forward:h,inverse:e,names:l}},mVlP:function(t,s,a){"use strict";s.a=function(t){return.05859375*t*t*(1+.75*t)}},mXXX:function(t,s,a){"use strict";function i(){}function h(t){for(var s=t.x,a=t.y,i=Object(n.a)(s-this.long0),h=a,e=Math.PI*Math.sin(a);;){var o=-(h+Math.sin(h)-e)/(1+Math.cos(h));if(h+=o,Math.abs(o).999999999999&&(a=.999999999999),s=Math.asin(a);var i=Object(n.a)(this.long0+t.x/(.900316316158*this.a*Math.cos(s)));i<-Math.PI&&(i=-Math.PI),i>Math.PI&&(i=Math.PI),a=(2*s+Math.sin(2*s))/Math.PI,Math.abs(a)>1&&(a=1);var h=Math.asin(a);return t.x=i,t.y=h,t}var n=a("gkMG"),r=a("JAmm"),o=["Mollweide","moll"];s.a={init:i,forward:h,inverse:e,names:o}},nbI8:function(t,s,a){"use strict";function i(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Equidistant Cylindrical (Plate Carre)",this.rc=Math.cos(this.lat_ts)}function h(t){var s=t.x,a=t.y,i=Object(n.a)(s-this.long0),h=Object(r.a)(a-this.lat0);return t.x=this.x0+this.a*i*this.rc,t.y=this.y0+this.a*h,t}function e(t){var s=t.x,a=t.y;return t.x=Object(n.a)(this.long0+(s-this.x0)/(this.a*this.rc)),t.y=Object(r.a)(this.lat0+(a-this.y0)/this.a),t}var n=a("gkMG"),r=a("thK1"),o=["Equirectangular","Equidistant_Cylindrical","eqc"];s.a={init:i,forward:h,inverse:e,names:o}},nvAS:function(t,s,a){"use strict";var i=a("5yIP"),h=a("e5sF"),e=a("ajw1"),n=a("PVsz"),r=a("Agrq"),o=a("V3HB"),c=a("4II5"),u=a("Ecs/"),l=a("Ejdv");i.a.defaultDatum="WGS84",i.a.Proj=h.a,i.a.WGS84=new i.a.Proj("WGS84"),i.a.Point=e.a,i.a.toPoint=n.a,i.a.defs=r.a,i.a.transform=o.a,i.a.mgrs=c.a,i.a.version=u.a,Object(l.a)(i.a),s.a=i.a},osfr:function(t,s,a){"use strict";function i(t,s,a,i,e,n){var r={};return r.datum_type=void 0===t||"none"===t?h.g:h.h,s&&(r.datum_params=s.map(parseFloat),0===r.datum_params[0]&&0===r.datum_params[1]&&0===r.datum_params[2]||(r.datum_type=h.e),r.datum_params.length>3&&(0===r.datum_params[3]&&0===r.datum_params[4]&&0===r.datum_params[5]&&0===r.datum_params[6]||(r.datum_type=h.f,r.datum_params[3]*=h.l,r.datum_params[4]*=h.l,r.datum_params[5]*=h.l,r.datum_params[6]=r.datum_params[6]/1e6+1))),r.a=a,r.b=i,r.es=e,r.ep2=n,r}var h=a("JAmm");s.a=i},qONe:function(t,s,a){"use strict";function i(t,s){if(t[s])return t[s];for(var a,i=Object.keys(t),e=s.toLowerCase().replace(h,""),n=-1;++n0&&(a=2*Math.atan(i*Object(n.a)(this.e*Math.sin(t.y),-.5*this.e))-r.d,!(Math.abs(a-t.y)<1e-14));--h)t.y=a;return h?(t.x=s,t.y=a,t):null}var n=a("qRBh"),r=a("JAmm"),o=20,c=["gauss"];s.a={init:i,forward:h,inverse:e,names:c}},thK1:function(t,s,a){"use strict";var i=a("JAmm"),h=a("cBUL");s.a=function(t){return Math.abs(t)0||Math.abs(r)<=o.b?(c=this.x0+this.a*e*a*Math.sin(i)/r,u=this.y0+this.a*e*(this.cos_p14*s-this.sin_p14*a*h)/r):(c=this.x0+this.infinity_dist*a*Math.sin(i),u=this.y0+this.infinity_dist*(this.cos_p14*s-this.sin_p14*a*h)),t.x=c,t.y=u,t}function e(t){var s,a,i,h,e,o;return t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,t.x/=this.k0,t.y/=this.k0,(s=Math.sqrt(t.x*t.x+t.y*t.y))?(h=Math.atan2(s,this.rc),a=Math.sin(h),i=Math.cos(h),o=Object(r.a)(i*this.sin_p14+t.y*a*this.cos_p14/s),e=Math.atan2(t.x*a,s*this.cos_p14*i-t.y*this.sin_p14*a),e=Object(n.a)(this.long0+e)):(o=this.phic0,e=0),t.x=e,t.y=o,t}var n=a("gkMG"),r=a("UKTL"),o=a("JAmm"),c=["gnom"];s.a={init:i,forward:h,inverse:e,names:c}},wVGX:function(t,s,a){"use strict";function i(){Math.abs(this.lat1+this.lat2)=0?(a=Math.sqrt(t.x*t.x+t.y*t.y),s=1):(a=-Math.sqrt(t.x*t.x+t.y*t.y),s=-1);var e=0;if(0!==a&&(e=Math.atan2(s*t.x,s*t.y)),this.sphere)return h=Object(M.a)(this.long0+e/this.ns),i=Object(f.a)(this.g-a/this.a),t.x=h,t.y=i,t;var n=this.g-a/this.a;return i=Object(d.a)(n,this.e0,this.e1,this.e2,this.e3),h=Object(M.a)(this.long0+e/this.ns),t.x=h,t.y=i,t}var n=a("d3I4"),r=a("i5uR"),o=a("mVlP"),c=a("fGox"),u=a("IXc0"),l=a("frGE"),M=a("gkMG"),f=a("thK1"),d=a("ReQ3"),m=a("JAmm"),b=["Equidistant_Conic","eqdc"];s.a={init:i,forward:h,inverse:e,names:b}},xIMV:function(t,s,a){"use strict";s.a=function(t){var s=1+t,a=s-1;return 0===a?t:t*Math.log(s)/a}},y0ft:function(t,s,a){"use strict";function i(){this.no_off=this.no_off||!1,this.no_rot=this.no_rot||!1,isNaN(this.k0)&&(this.k0=1);var t=Math.sin(this.lat0),s=Math.cos(this.lat0),a=this.e*t;this.bl=Math.sqrt(1+this.es/(1-this.es)*Math.pow(s,4)),this.al=this.a*this.bl*this.k0*Math.sqrt(1-this.es)/(1-a*a);var i=Object(n.a)(this.e,this.lat0,t),h=this.bl/s*Math.sqrt((1-this.es)/(1-a*a));h*h<1&&(h=1);var e,o;if(isNaN(this.longc)){var c=Object(n.a)(this.e,this.lat1,Math.sin(this.lat1)),u=Object(n.a)(this.e,this.lat2,Math.sin(this.lat2));this.lat0>=0?this.el=(h+Math.sqrt(h*h-1))*Math.pow(i,this.bl):this.el=(h-Math.sqrt(h*h-1))*Math.pow(i,this.bl);var l=Math.pow(c,this.bl),M=Math.pow(u,this.bl);e=this.el/l,o=.5*(e-1/e);var f=(this.el*this.el-M*l)/(this.el*this.el+M*l),d=(M-l)/(M+l),m=Object(r.a)(this.long1-this.long2);this.long0=.5*(this.long1+this.long2)-Math.atan(f*Math.tan(.5*this.bl*m)/d)/this.bl,this.long0=Object(r.a)(this.long0);var b=Object(r.a)(this.long1-this.long0);this.gamma0=Math.atan(Math.sin(this.bl*b)/o),this.alpha=Math.asin(h*Math.sin(this.gamma0))}else e=this.lat0>=0?h+Math.sqrt(h*h-1):h-Math.sqrt(h*h-1),this.el=e*Math.pow(i,this.bl),o=.5*(e-1/e),this.gamma0=Math.asin(Math.sin(this.alpha)/h),this.long0=this.longc-Math.asin(o*Math.tan(this.gamma0))/this.bl;this.no_off?this.uc=0:this.lat0>=0?this.uc=this.al/this.bl*Math.atan2(Math.sqrt(h*h-1),Math.cos(this.alpha)):this.uc=-1*this.al/this.bl*Math.atan2(Math.sqrt(h*h-1),Math.cos(this.alpha))}function h(t){var s,a,i,h=t.x,e=t.y,o=Object(r.a)(h-this.long0);if(Math.abs(Math.abs(e)-c.d)<=c.b)i=e>0?-1:1,a=this.al/this.bl*Math.log(Math.tan(c.c+i*this.gamma0*.5)),s=-1*i*c.d*this.al/this.bl;else{var u=Object(n.a)(this.e,e,Math.sin(e)),l=this.el/Math.pow(u,this.bl),M=.5*(l-1/l),f=.5*(l+1/l),d=Math.sin(this.bl*o),m=(M*Math.sin(this.gamma0)-d*Math.cos(this.gamma0))/f;a=Math.abs(Math.abs(m)-1)<=c.b?Number.POSITIVE_INFINITY:.5*this.al*Math.log((1-m)/(1+m))/this.bl,s=Math.abs(Math.cos(this.bl*o))<=c.b?this.al*this.bl*o:this.al*Math.atan2(M*Math.cos(this.gamma0)+d*Math.sin(this.gamma0),Math.cos(this.bl*o))/this.bl}return this.no_rot?(t.x=this.x0+s,t.y=this.y0+a):(s-=this.uc,t.x=this.x0+a*Math.cos(this.alpha)+s*Math.sin(this.alpha),t.y=this.y0+s*Math.cos(this.alpha)-a*Math.sin(this.alpha)),t}function e(t){var s,a;this.no_rot?(a=t.y-this.y0,s=t.x-this.x0):(a=(t.x-this.x0)*Math.cos(this.alpha)-(t.y-this.y0)*Math.sin(this.alpha),s=(t.y-this.y0)*Math.cos(this.alpha)+(t.x-this.x0)*Math.sin(this.alpha),s+=this.uc);var i=Math.exp(-1*this.bl*a/this.al),h=.5*(i-1/i),e=.5*(i+1/i),n=Math.sin(this.bl*s/this.al),u=(n*Math.cos(this.gamma0)+h*Math.sin(this.gamma0))/e,l=Math.pow(this.el/Math.sqrt((1+u)/(1-u)),1/this.bl);return Math.abs(u-1)0){var s;switch(this.qp=Object(c.a)(this.e,1),this.mmf=.5/(1-this.es),this.apa=n(this.es),this.mode){case this.N_POLE:case this.S_POLE:this.dd=1;break;case this.EQUIT:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case this.OBLIQ:this.rq=Math.sqrt(.5*this.qp),s=Math.sin(this.lat0),this.sinb1=Object(c.a)(this.e,s)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*s*s)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd}}else this.mode===this.OBLIQ&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))}function h(t){var s,a,i,h,e,n,r,l,M,f,d=t.x,m=t.y;if(d=Object(u.a)(d-this.long0),this.sphere){if(e=Math.sin(m),f=Math.cos(m),i=Math.cos(d),this.mode===this.OBLIQ||this.mode===this.EQUIT){if((a=this.mode===this.EQUIT?1+f*i:1+this.sinph0*e+this.cosph0*f*i)<=o.b)return null;a=Math.sqrt(2/a),s=a*f*Math.sin(d),a*=this.mode===this.EQUIT?e:this.cosph0*e-this.sinph0*f*i}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(i=-i),Math.abs(m+this.phi0)=0?(s=(M=Math.sqrt(n))*h,a=i*(this.mode===this.S_POLE?M:-M)):s=a=0}}return t.x=this.a*s+this.x0,t.y=this.a*a+this.y0,t}function e(t){t.x-=this.x0,t.y-=this.y0;var s,a,i,h,e,n,c,l=t.x/this.a,M=t.y/this.a;if(this.sphere){var f,d=0,m=0;if(f=Math.sqrt(l*l+M*M),(a=.5*f)>1)return null;switch(a=2*Math.asin(a),this.mode!==this.OBLIQ&&this.mode!==this.EQUIT||(m=Math.sin(a),d=Math.cos(a)),this.mode){case this.EQUIT:a=Math.abs(f)<=o.b?0:Math.asin(M*m/f),l*=m,M=d*f;break;case this.OBLIQ:a=Math.abs(f)<=o.b?this.phi0:Math.asin(d*this.sinph0+M*m*this.cosph0/f),l*=m*this.cosph0,M=(d-Math.sin(a)*this.sinph0)*f;break;case this.N_POLE:M=-M,a=o.d-a;break;case this.S_POLE:a-=o.d}s=0!==M||this.mode!==this.EQUIT&&this.mode!==this.OBLIQ?Math.atan2(l,M):0}else{if(c=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(l/=this.dd,M*=this.dd,(n=Math.sqrt(l*l+M*M))=15?null:t}var n=a("gkMG"),r=["Krovak","krovak"];s.a={init:i,forward:h,inverse:e,names:r}},zevH:function(t,s,a){"use strict";s.a=function(t,s){t=t||{};var a,i;if(!s)return t;for(i in s)void 0!==(a=s[i])&&(t[i]=a);return t}},zrKp:function(t,s,a){"use strict";s.a=function(t,s,a,i){return a*=s,s*=s,i[0]*t-a*(i[1]+s*(i[2]+s*(i[3]+s*i[4])))}}}); \ No newline at end of file +!function(t){function s(i){if(a[i])return a[i].exports;var h=a[i]={i:i,l:!1,exports:{}};return t[i].call(h.exports,h,h.exports,s),h.l=!0,h.exports}var a={};s.m=t,s.c=a,s.d=function(t,a,i){s.o(t,a)||Object.defineProperty(t,a,{configurable:!1,enumerable:!0,get:i})},s.n=function(t){var a=t&&t.__esModule?function(){return t.default}:function(){return t};return s.d(a,"a",a),a},s.o=function(t,s){return Object.prototype.hasOwnProperty.call(t,s)},s.p="/build/",s(s.s="S4tn")}({"+Ymu":function(t,s,a){"use strict";function i(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=Object(n.a)(this.es),this.e1=Object(r.a)(this.es),this.e2=Object(o.a)(this.es),this.e3=Object(c.a)(this.es),this.ml0=this.a*Object(M.a)(this.e0,this.e1,this.e2,this.e3,this.lat0)}function h(t){var s,a,i,h=t.x,e=t.y,n=Object(u.a)(h-this.long0);if(i=n*Math.sin(e),this.sphere)Math.abs(e)<=f.b?(s=this.a*n,a=-1*this.a*this.lat0):(s=this.a*Math.sin(i)/Math.tan(e),a=this.a*(Object(l.a)(e-this.lat0)+(1-Math.cos(i))/Math.tan(e)));else if(Math.abs(e)<=f.b)s=this.a*n,a=-1*this.ml0;else{var r=Object(d.a)(this.a,this.e,Math.sin(e))/Math.tan(e);s=r*Math.sin(i),a=this.a*Object(M.a)(this.e0,this.e1,this.e2,this.e3,e)-this.ml0+r*(1-Math.cos(i))}return t.x=s+this.x0,t.y=a+this.y0,t}function e(t){var s,a,i,h,e,n,r,o,c;if(i=t.x-this.x0,h=t.y-this.y0,this.sphere)if(Math.abs(h+this.a*this.lat0)<=f.b)s=Object(u.a)(i/this.a+this.long0),a=0;else{n=this.lat0+h/this.a,r=i*i/this.a/this.a+n*n,o=n;var l;for(e=m;e;--e)if(l=Math.tan(o),c=-1*(n*(o*l+1)-o-.5*(o*o+r)*l)/((o-n)/l-1),o+=c,Math.abs(c)<=f.b){a=o;break}s=Object(u.a)(this.long0+Math.asin(i*Math.tan(o)/this.a)/Math.sin(a))}else if(Math.abs(h+this.ml0)<=f.b)a=0,s=Object(u.a)(this.long0+i/this.a);else{n=(this.ml0+h)/this.a,r=i*i/this.a/this.a+n*n,o=n;var d,b,p,y,v;for(e=m;e;--e)if(v=this.e*Math.sin(o),d=Math.sqrt(1-v*v)*Math.tan(o),b=this.a*Object(M.a)(this.e0,this.e1,this.e2,this.e3,o),p=this.e0-2*this.e1*Math.cos(2*o)+4*this.e2*Math.cos(4*o)-6*this.e3*Math.cos(6*o),y=b/this.a,c=(n*(d*y+1)-y-.5*d*(y*y+r))/(this.es*Math.sin(2*o)*(y*y+r-2*n*y)/(4*d)+(n-y)*(d*p-2/Math.sin(2*o))-p),o-=c,Math.abs(c)<=f.b){a=o;break}d=Math.sqrt(1-this.es*Math.pow(Math.sin(a),2))*Math.tan(a),s=Object(u.a)(this.long0+Math.asin(i*d/this.a)/Math.sin(a))}return t.x=s,t.y=a,t}var n=a("d3I4"),r=a("i5uR"),o=a("mVlP"),c=a("fGox"),u=a("gkMG"),l=a("thK1"),M=a("frGE"),f=a("JAmm"),d=a("9vV9"),m=20,b=["Polyconic","poly"];s.a={init:i,forward:h,inverse:e,names:b}},"3K9Y":function(t,s,a){"use strict";s.a=function(t,s,a){var i,h,e,n=a.x,r=a.y,o=a.z||0,c={};for(e=0;e<3;e++)if(!s||2!==e||void 0!==a.z)switch(0===e?(i=n,h="x"):1===e?(i=r,h="y"):(i=o,h="z"),t.axis[e]){case"e":c[h]=i;break;case"w":c[h]=-i;break;case"n":c[h]=i;break;case"s":c[h]=-i;break;case"u":void 0!==a[h]&&(c.z=i);break;case"d":void 0!==a[h]&&(c.z=-i);break;default:return null}return c}},"4II5":function(t,s,a){"use strict";function i(t,s){return s=s||5,l(o({lat:t[1],lon:t[0]}),s)}function h(t){var s=c(m(t.toUpperCase()));return s.lat&&s.lon?[s.lon,s.lat,s.lon,s.lat]:[s.left,s.bottom,s.right,s.top]}function e(t){var s=c(m(t.toUpperCase()));return s.lat&&s.lon?[s.lon,s.lat]:[(s.left+s.right)/2,(s.top+s.bottom)/2]}function n(t){return t*(Math.PI/180)}function r(t){return t/Math.PI*180}function o(t){var s,a,i,h,e,r,o,c,l,M=t.lat,f=t.lon,d=6378137,m=n(M),b=n(f);l=Math.floor((f+180)/6)+1,180===f&&(l=60),M>=56&&M<64&&f>=3&&f<12&&(l=32),M>=72&&M<84&&(f>=0&&f<9?l=31:f>=9&&f<21?l=33:f>=21&&f<33?l=35:f>=33&&f<42&&(l=37)),s=6*(l-1)-180+3,c=n(s),a=.006739496752268451,i=d/Math.sqrt(1-.00669438*Math.sin(m)*Math.sin(m)),h=Math.tan(m)*Math.tan(m),e=a*Math.cos(m)*Math.cos(m),r=Math.cos(m)*(b-c),o=d*(.9983242984503243*m-.002514607064228144*Math.sin(2*m)+2639046602129982e-21*Math.sin(4*m)-3.418046101696858e-9*Math.sin(6*m));var p=.9996*i*(r+(1-h+e)*r*r*r/6+(5-18*h+h*h+72*e-58*a)*r*r*r*r*r/120)+5e5,y=.9996*(o+i*Math.tan(m)*(r*r/2+(5-h+9*e+4*e*e)*r*r*r*r/24+(61-58*h+h*h+600*e-330*a)*r*r*r*r*r*r/720));return M<0&&(y+=1e7),{northing:Math.round(y),easting:Math.round(p),zoneNumber:l,zoneLetter:u(M)}}function c(t){var s=t.northing,a=t.easting,i=t.zoneLetter,h=t.zoneNumber;if(h<0||h>60)return null;var e,n,o,u,l,M,f,d,m,b,p=6378137,y=(1-Math.sqrt(.99330562))/(1+Math.sqrt(.99330562)),v=a-5e5,_=s;i<"N"&&(_-=1e7),d=6*(h-1)-180+3,e=.006739496752268451,f=_/.9996,m=f/6367449.145945056,b=m+(3*y/2-27*y*y*y/32)*Math.sin(2*m)+(21*y*y/16-55*y*y*y*y/32)*Math.sin(4*m)+151*y*y*y/96*Math.sin(6*m),n=p/Math.sqrt(1-.00669438*Math.sin(b)*Math.sin(b)),o=Math.tan(b)*Math.tan(b),u=e*Math.cos(b)*Math.cos(b),l=.99330562*p/Math.pow(1-.00669438*Math.sin(b)*Math.sin(b),1.5),M=v/(.9996*n);var g=b-n*Math.tan(b)/l*(M*M/2-(5+3*o+10*u-4*u*u-9*e)*M*M*M*M/24+(61+90*o+298*u+45*o*o-252*e-3*u*u)*M*M*M*M*M*M/720);g=r(g);var x=(M-(1+2*o+u)*M*M*M/6+(5-2*u+28*o-3*u*u+8*e+24*o*o)*M*M*M*M*M/120)/Math.cos(b);x=d+r(x);var O;if(t.accuracy){var j=c({northing:t.northing+t.accuracy,easting:t.easting+t.accuracy,zoneLetter:t.zoneLetter,zoneNumber:t.zoneNumber});O={top:j.lat,right:j.lon,bottom:g,left:x}}else O={lat:g,lon:x};return O}function u(t){var s="Z";return 84>=t&&t>=72?s="X":72>t&&t>=64?s="W":64>t&&t>=56?s="V":56>t&&t>=48?s="U":48>t&&t>=40?s="T":40>t&&t>=32?s="S":32>t&&t>=24?s="R":24>t&&t>=16?s="Q":16>t&&t>=8?s="P":8>t&&t>=0?s="N":0>t&&t>=-8?s="M":-8>t&&t>=-16?s="L":-16>t&&t>=-24?s="K":-24>t&&t>=-32?s="J":-32>t&&t>=-40?s="H":-40>t&&t>=-48?s="G":-48>t&&t>=-56?s="F":-56>t&&t>=-64?s="E":-64>t&&t>=-72?s="D":-72>t&&t>=-80&&(s="C"),s}function l(t,s){var a="00000"+t.easting,i="00000"+t.northing;return t.zoneNumber+t.zoneLetter+M(t.easting,t.northing,t.zoneNumber)+a.substr(a.length-5,s)+i.substr(i.length-5,s)}function M(t,s,a){var i=f(a);return d(Math.floor(t/1e5),Math.floor(s/1e5)%20,i)}function f(t){var s=t%v;return 0===s&&(s=v),s}function d(t,s,a){var i=a-1,h=_.charCodeAt(i),e=g.charCodeAt(i),n=h+t-1,r=e+s,o=!1;return n>w&&(n=n-w+x-1,o=!0),(n===O||hO||(n>O||hj||(n>j||hw&&(n=n-w+x-1),r>A?(r=r-A+x-1,o=!0):o=!1,(r===O||eO||(r>O||ej||(r>j||eA&&(r=r-A+x-1),String.fromCharCode(n)+String.fromCharCode(r)}function m(t){if(t&&0===t.length)throw"MGRSPoint coverting from nothing";for(var s,a=t.length,i=null,h="",e=0;!/[A-Z]/.test(s=t.charAt(e));){if(e>=2)throw"MGRSPoint bad conversion from: "+t;h+=s,e++}var n=parseInt(h,10);if(0===e||e+3>a)throw"MGRSPoint bad conversion from: "+t;var r=t.charAt(e++);if(r<="A"||"B"===r||"Y"===r||r>="Z"||"I"===r||"O"===r)throw"MGRSPoint zone letter "+r+" not handled: "+t;i=t.substring(e,e+=2);for(var o=f(n),c=b(i.charAt(0),o),u=p(i.charAt(1),o);u0&&(M=1e5/Math.pow(10,g),d=t.substring(e,e+g),x=parseFloat(d)*M,m=t.substring(e+g),O=parseFloat(m)*M),v=x+c,_=O+u,{easting:v,northing:_,zoneLetter:r,zoneNumber:n,accuracy:M}}function b(t,s){for(var a=_.charCodeAt(s-1),i=1e5,h=!1;a!==t.charCodeAt(0);){if(a++,a===O&&a++,a===j&&a++,a>w){if(h)throw"Bad character: "+t;a=x,h=!0}i+=1e5}return i}function p(t,s){if(t>"V")throw"MGRSPoint given invalid Northing "+t;for(var a=g.charCodeAt(s-1),i=0,h=!1;a!==t.charCodeAt(0);){if(a++,a===O&&a++,a===j&&a++,a>A){if(h)throw"Bad character: "+t;a=x,h=!0}i+=1e5}return i}function y(t){var s;switch(t){case"C":s=11e5;break;case"D":s=2e6;break;case"E":s=28e5;break;case"F":s=37e5;break;case"G":s=46e5;break;case"H":s=55e5;break;case"J":s=64e5;break;case"K":s=73e5;break;case"L":s=82e5;break;case"M":s=91e5;break;case"N":s=0;break;case"P":s=8e5;break;case"Q":s=17e5;break;case"R":s=26e5;break;case"S":s=35e5;break;case"T":s=44e5;break;case"U":s=53e5;break;case"V":s=62e5;break;case"W":s=7e6;break;case"X":s=79e5;break;default:s=-1}if(s>=0)return s;throw"Invalid zone letter: "+t}s.b=i,s.c=e;var v=6,_="AJSAJS",g="AFAFAF",x=65,O=73,j=79,A=86,w=90;s.a={forward:i,inverse:h,toPoint:e}},"4q+R":function(t,s,a){"use strict";function i(){var t=Object(h.a)(this.zone,this.long0);if(void 0===t)throw new Error("unknown utm zone");this.lat0=0,this.long0=(6*Math.abs(t)-183)*n.a,this.x0=5e5,this.y0=this.utmSouth?1e7:0,this.k0=.9996,e.a.init.apply(this),this.forward=e.a.forward,this.inverse=e.a.inverse}var h=a("kpiz"),e=a("TDXh"),n=a("JAmm"),r=["Universal Transverse Mercator System","utm"];s.a={init:i,names:r,dependsOn:"etmerc"}},"5yIP":function(t,s,a){"use strict";function i(t,s,a){var i,h,e;return Array.isArray(a)?(i=Object(r.a)(t,s,a),3===a.length?[i.x,i.y,i.z]:[i.x,i.y]):(h=Object(r.a)(t,s,a),e=Object.keys(a),2===e.length?h:(e.forEach(function(t){"x"!==t&&"y"!==t&&(h[t]=a[t])}),h))}function h(t){return t instanceof n.a?t:t.oProj?t.oProj:Object(n.a)(t)}function e(t,s,a){t=h(t);var e,n=!1;return void 0===s?(s=t,t=o,n=!0):(void 0!==s.x||Array.isArray(s))&&(a=s,s=t,t=o,n=!0),s=h(s),a?i(t,s,a):(e={forward:function(a){return i(t,s,a)},inverse:function(a){return i(s,t,a)}},n&&(e.oProj=s),e)}var n=a("e5sF"),r=a("V3HB"),o=Object(n.a)("WGS84");s.a=e},"6Fcd":function(t,s,a){"use strict";function i(){Math.abs(this.lat1+this.lat2)l.b?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0)}function h(t){var s=t.x,a=t.y;this.sin_phi=Math.sin(a),this.cos_phi=Math.cos(a);var i=Object(o.a)(this.e3,this.sin_phi,this.cos_phi),h=this.a*Math.sqrt(this.c-this.ns0*i)/this.ns0,e=this.ns0*Object(c.a)(s-this.long0),n=h*Math.sin(e)+this.x0,r=this.rh-h*Math.cos(e)+this.y0;return t.x=n,t.y=r,t}function e(t){var s,a,i,h,e,n;return t.x-=this.x0,t.y=this.rh-t.y+this.y0,this.ns0>=0?(s=Math.sqrt(t.x*t.x+t.y*t.y),i=1):(s=-Math.sqrt(t.x*t.x+t.y*t.y),i=-1),h=0,0!==s&&(h=Math.atan2(i*t.x,i*t.y)),i=s*this.ns0/this.a,this.sphere?n=Math.asin((this.c-i*i)/(2*this.ns0)):(a=(this.c-i*i)/this.ns0,n=this.phi1z(this.e3,a)),e=Object(c.a)(h/this.ns0+this.long0),t.x=e,t.y=n,t}function n(t,s){var a,i,h,e,n,r=Object(u.a)(.5*s);if(t90&&a*u.i<-90&&s*u.i>180&&s*u.i<-180)return null;var i,h;if(Math.abs(Math.abs(a)-u.d)<=u.b)return null;if(this.sphere)i=this.x0+this.a*this.k0*Object(r.a)(s-this.long0),h=this.y0+this.a*this.k0*Math.log(Math.tan(u.c+.5*a));else{var e=Math.sin(a),n=Object(o.a)(this.e,a,e);i=this.x0+this.a*this.k0*Object(r.a)(s-this.long0),h=this.y0-this.a*this.k0*Math.log(n)}return t.x=i,t.y=h,t}function e(t){var s,a,i=t.x-this.x0,h=t.y-this.y0;if(this.sphere)a=u.d-2*Math.atan(Math.exp(-h/(this.a*this.k0)));else{var e=Math.exp(-h/(this.a*this.k0));if(-9999===(a=Object(c.a)(this.e,e)))return null}return s=Object(r.a)(this.long0+i/(this.a*this.k0)),t.x=s,t.y=a,t}var n=a("IXc0"),r=a("gkMG"),o=a("ME/f"),c=a("OBi8"),u=a("JAmm"),l=["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","merc"];s.a={init:i,forward:h,inverse:e,names:l}},"73fo":function(t,s,a){"use strict";a.d(s,"a",function(){return i});var i={};i.wgs84={towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"},i.ch1903={towgs84:"674.374,15.056,405.346",ellipse:"bessel",datumName:"swiss"},i.ggrs87={towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"},i.nad83={towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"},i.nad27={nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"},i.potsdam={towgs84:"606.0,23.0,413.0",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"},i.carthage={towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"},i.hermannskogel={towgs84:"653.0,-212.0,449.0",ellipse:"bessel",datumName:"Hermannskogel"},i.osni52={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"airy",datumName:"Irish National"},i.ire65={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"},i.rassadiran={towgs84:"-133.63,-157.5,-158.62",ellipse:"intl",datumName:"Rassadiran"},i.nzgd49={towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"},i.osgb36={towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Airy 1830"},i.s_jtsk={towgs84:"589,76,480",ellipse:"bessel",datumName:"S-JTSK (Ferro)"},i.beduaram={towgs84:"-106,-87,188",ellipse:"clrk80",datumName:"Beduaram"},i.gunung_segara={towgs84:"-403,684,41",ellipse:"bessel",datumName:"Gunung Segara Jakarta"},i.rnb72={towgs84:"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1",ellipse:"intl",datumName:"Reseau National Belge 1972"}},"9vV9":function(t,s,a){"use strict";s.a=function(t,s,a){var i=s*a;return t/Math.sqrt(1-i*i)}},ACen:function(t,s,a){"use strict";a.d(s,"b",function(){return i}),a.d(s,"a",function(){return h});var i={};i.MERIT={a:6378137,rf:298.257,ellipseName:"MERIT 1983"},i.SGS85={a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"},i.GRS80={a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"},i.IAU76={a:6378140,rf:298.257,ellipseName:"IAU 1976"},i.airy={a:6377563.396,b:6356256.91,ellipseName:"Airy 1830"},i.APL4={a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"},i.NWL9D={a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"},i.mod_airy={a:6377340.189,b:6356034.446,ellipseName:"Modified Airy"},i.andrae={a:6377104.43,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"},i.aust_SA={a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"},i.GRS67={a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"},i.bessel={a:6377397.155,rf:299.1528128,ellipseName:"Bessel 1841"},i.bess_nam={a:6377483.865,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"},i.clrk66={a:6378206.4,b:6356583.8,ellipseName:"Clarke 1866"},i.clrk80={a:6378249.145,rf:293.4663,ellipseName:"Clarke 1880 mod."},i.clrk58={a:6378293.645208759,rf:294.2606763692654,ellipseName:"Clarke 1858"},i.CPM={a:6375738.7,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"},i.delmbr={a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"},i.engelis={a:6378136.05,rf:298.2566,ellipseName:"Engelis 1985"},i.evrst30={a:6377276.345,rf:300.8017,ellipseName:"Everest 1830"},i.evrst48={a:6377304.063,rf:300.8017,ellipseName:"Everest 1948"},i.evrst56={a:6377301.243,rf:300.8017,ellipseName:"Everest 1956"},i.evrst69={a:6377295.664,rf:300.8017,ellipseName:"Everest 1969"},i.evrstSS={a:6377298.556,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"},i.fschr60={a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"},i.fschr60m={a:6378155,rf:298.3,ellipseName:"Fischer 1960"},i.fschr68={a:6378150,rf:298.3,ellipseName:"Fischer 1968"},i.helmert={a:6378200,rf:298.3,ellipseName:"Helmert 1906"},i.hough={a:6378270,rf:297,ellipseName:"Hough"},i.intl={a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"},i.kaula={a:6378163,rf:298.24,ellipseName:"Kaula 1961"},i.lerch={a:6378139,rf:298.257,ellipseName:"Lerch 1979"},i.mprts={a:6397300,rf:191,ellipseName:"Maupertius 1738"},i.new_intl={a:6378157.5,b:6356772.2,ellipseName:"New International 1967"},i.plessis={a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"},i.krass={a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"},i.SEasia={a:6378155,b:6356773.3205,ellipseName:"Southeast Asia"},i.walbeck={a:6376896,b:6355834.8467,ellipseName:"Walbeck"},i.WGS60={a:6378165,rf:298.3,ellipseName:"WGS 60"},i.WGS66={a:6378145,rf:298.25,ellipseName:"WGS 66"},i.WGS7={a:6378135,rf:298.26,ellipseName:"WGS 72"};var h=i.WGS84={a:6378137,rf:298.257223563,ellipseName:"WGS 84"};i.sphere={a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"}},AICX:function(t,s,a){"use strict";s.a=function(t,s){for(var a,i=2*Math.cos(s),h=t.length-1,e=t[h],n=0;--h>=0;)a=i*e-n+t[h],n=e,e=a;return Math.sin(s)*a}},Agrq:function(t,s,a){"use strict";function i(t){var s=this;if(2===arguments.length){var a=arguments[1];"string"==typeof a?"+"===a.charAt(0)?i[t]=Object(e.a)(arguments[1]):i[t]=Object(n.a)(arguments[1]):i[t]=a}else if(1===arguments.length){if(Array.isArray(t))return t.map(function(t){Array.isArray(t)?i.apply(s,t):i(t)});if("string"==typeof t){if(t in i)return i[t]}else"EPSG"in t?i["EPSG:"+t.EPSG]=t:"ESRI"in t?i["ESRI:"+t.ESRI]=t:"IAU2000"in t?i["IAU2000:"+t.IAU2000]=t:console.log(t);return}}var h=a("E8JM"),e=a("Mhqt"),n=a("fZ+p");Object(h.a)(i),s.a=i},BERY:function(t,s,a){"use strict";function i(t){return t===h.e||t===h.f}var h=a("JAmm"),e=a("lRMl");s.a=function(t,s,a){return Object(e.a)(t,s)?a:t.datum_type===h.g||s.datum_type===h.g?a:t.es!==s.es||t.a!==s.a||i(t.datum_type)||i(s.datum_type)?(a=Object(e.e)(a,t.es,t.a),i(t.datum_type)&&(a=Object(e.d)(a,t.datum_type,t.datum_params)),i(s.datum_type)&&(a=Object(e.b)(a,s.datum_type,s.datum_params)),Object(e.c)(a,s.es,s.a,s.b)):a}},E8JM:function(t,s,a){"use strict";s.a=function(t){t("EPSG:4326","+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees"),t("EPSG:4269","+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees"),t("EPSG:3857","+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs"),t.WGS84=t["EPSG:4326"],t["EPSG:3785"]=t["EPSG:3857"],t.GOOGLE=t["EPSG:3857"],t["EPSG:900913"]=t["EPSG:3857"],t["EPSG:102113"]=t["EPSG:3857"]}},"Ecs/":function(t,s,a){"use strict";var i=a("lQeg");a.n(i);a.o(i,"version")&&a.d(s,"a",function(){return i.version})},Ejdv:function(t,s,a){"use strict";var i=a("cAH4"),h=a("TDXh"),e=a("4q+R"),n=a("FZHA"),r=a("XWvS"),o=a("QGGw"),c=a("y0ft"),u=a("SDpI"),l=a("zOFD"),M=a("f4Hg"),f=a("z3op"),d=a("6Fcd"),m=a("vlFu"),b=a("WtLB"),p=a("nbI8"),y=a("+Ymu"),v=a("hXOA"),_=a("Uvlc"),g=a("Mbn4"),x=a("mXXX"),O=a("wVGX"),j=a("M+Zh"),A=a("jnzb"),w=a("jXbg"),E=a("likz"),P=a("iBF7");s.a=function(t){t.Proj.projections.add(i.a),t.Proj.projections.add(h.a),t.Proj.projections.add(e.a),t.Proj.projections.add(n.a),t.Proj.projections.add(r.a),t.Proj.projections.add(o.a),t.Proj.projections.add(c.a),t.Proj.projections.add(u.a),t.Proj.projections.add(l.a),t.Proj.projections.add(M.a),t.Proj.projections.add(f.a),t.Proj.projections.add(d.a),t.Proj.projections.add(m.a),t.Proj.projections.add(b.a),t.Proj.projections.add(p.a),t.Proj.projections.add(y.a),t.Proj.projections.add(v.a),t.Proj.projections.add(_.a),t.Proj.projections.add(g.a),t.Proj.projections.add(x.a),t.Proj.projections.add(O.a),t.Proj.projections.add(j.a),t.Proj.projections.add(A.a),t.Proj.projections.add(w.a),t.Proj.projections.add(E.a),t.Proj.projections.add(P.a)}},FZHA:function(t,s,a){"use strict";function i(){n.a.init.apply(this),this.rc&&(this.sinc0=Math.sin(this.phic0),this.cosc0=Math.cos(this.phic0),this.R2=2*this.rc,this.title||(this.title="Oblique Stereographic Alternative"))}function h(t){var s,a,i,h;return t.x=Object(r.a)(t.x-this.long0),n.a.forward.apply(this,[t]),s=Math.sin(t.y),a=Math.cos(t.y),i=Math.cos(t.x),h=this.k0*this.R2/(1+this.sinc0*s+this.cosc0*a*i),t.x=h*a*Math.sin(t.x),t.y=h*(this.cosc0*s-this.sinc0*a*i),t.x=this.a*t.x+this.x0,t.y=this.a*t.y+this.y0,t}function e(t){var s,a,i,h,e;if(t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,t.x/=this.k0,t.y/=this.k0,e=Math.sqrt(t.x*t.x+t.y*t.y)){var o=2*Math.atan2(e,this.R2);s=Math.sin(o),a=Math.cos(o),h=Math.asin(a*this.sinc0+t.y*s*this.cosc0/e),i=Math.atan2(t.x*s,e*this.cosc0*a-t.y*this.sinc0*s)}else h=this.phic0,i=0;return t.x=i,t.y=h,n.a.inverse.apply(this,[t]),t.x=Object(r.a)(t.x+this.long0),t}var n=a("rJwn"),r=a("gkMG"),o=["Stereographic_North_Pole","Oblique_Stereographic","Polar_Stereographic","sterea","Oblique Stereographic Alternative","Double_Stereographic"];s.a={init:i,forward:h,inverse:e,names:o}},I9eZ:function(t,s,a){"use strict";function i(t){if("function"==typeof Number.isFinite){if(Number.isFinite(t))return;throw new TypeError("coordinates must be finite numbers")}if("number"!=typeof t||t!==t||!isFinite(t))throw new TypeError("coordinates must be finite numbers")}s.a=function(t){i(t.x),i(t.y)}},IXc0:function(t,s,a){"use strict";s.a=function(t,s,a){var i=t*s;return a/Math.sqrt(1-i*i)}},JAmm:function(t,s,a){"use strict";a.d(s,"e",function(){return i}),a.d(s,"f",function(){return h}),a.d(s,"h",function(){return e}),a.d(s,"g",function(){return n}),a.d(s,"l",function(){return r}),a.d(s,"d",function(){return o}),a.d(s,"m",function(){return c}),a.d(s,"j",function(){return u}),a.d(s,"k",function(){return l}),a.d(s,"b",function(){return M}),a.d(s,"a",function(){return f}),a.d(s,"i",function(){return d}),a.d(s,"c",function(){return m}),a.d(s,"o",function(){return b}),a.d(s,"n",function(){return p});var i=1,h=2,e=4,n=5,r=484813681109536e-20,o=Math.PI/2,c=.16666666666666666,u=.04722222222222222,l=.022156084656084655,M=1e-10,f=.017453292519943295,d=57.29577951308232,m=Math.PI/4,b=2*Math.PI,p=3.14159265359},JNqU:function(t,s,a){"use strict";function i(t,s){var a=u.length;return t.names?(u[a]=t,t.names.forEach(function(t){c[t.toLowerCase()]=a}),this):(console.log(s),!0)}function h(t){if(!t)return!1;var s=t.toLowerCase();return void 0!==c[s]&&u[c[s]]?u[c[s]]:void 0}function e(){o.forEach(i)}var n=a("6a30"),r=a("UkCB"),o=[n.a,r.a],c={},u=[];s.a={start:e,add:i,get:h}},"M+Zh":function(t,s,a){"use strict";function i(){this.R=this.a}function h(t){var s,a,i=t.x,h=t.y,e=Object(n.a)(i-this.long0);Math.abs(h)<=r.b&&(s=this.x0+this.R*e,a=this.y0);var c=Object(o.a)(2*Math.abs(h/Math.PI));(Math.abs(e)<=r.b||Math.abs(Math.abs(h)-r.d)<=r.b)&&(s=this.x0,a=h>=0?this.y0+Math.PI*this.R*Math.tan(.5*c):this.y0+Math.PI*this.R*-Math.tan(.5*c));var u=.5*Math.abs(Math.PI/e-e/Math.PI),l=u*u,M=Math.sin(c),f=Math.cos(c),d=f/(M+f-1),m=d*d,b=d*(2/M-1),p=b*b,y=Math.PI*this.R*(u*(d-p)+Math.sqrt(l*(d-p)*(d-p)-(p+l)*(m-p)))/(p+l);e<0&&(y=-y),s=this.x0+y;var v=l+d;return y=Math.PI*this.R*(b*v-u*Math.sqrt((p+l)*(l+1)-v*v))/(p+l),a=h>=0?this.y0+y:this.y0-y,t.x=s,t.y=a,t}function e(t){var s,a,i,h,e,o,c,u,l,M,f,d,m;return t.x-=this.x0,t.y-=this.y0,f=Math.PI*this.R,i=t.x/f,h=t.y/f,e=i*i+h*h,o=-Math.abs(h)*(1+e),c=o-2*h*h+i*i,u=-2*o+1+2*h*h+e*e,m=h*h/u+(2*c*c*c/u/u/u-9*o*c/u/u)/27,l=(o-c*c/3/u)/u,M=2*Math.sqrt(-l/3),f=3*m/l/M,Math.abs(f)>1&&(f=f>=0?1:-1),d=Math.acos(f)/3,a=t.y>=0?(-M*Math.cos(d+Math.PI/3)-c/3/u)*Math.PI:-(-M*Math.cos(d+Math.PI/3)-c/3/u)*Math.PI,s=Math.abs(i)=0;)e=b,n=m,b=d,m=p,d=l*b-e-M*m+t[f],p=M*b-n+l*m;return l=r*u,M=o*c,[l*d-M*p,l*p+M*d]}},OBi8:function(t,s,a){"use strict";var i=a("JAmm");s.a=function(t,s){for(var a,h,e=.5*t,n=i.d-2*Math.atan(s),r=0;r<=15;r++)if(a=t*Math.sin(n),h=i.d-2*Math.atan(s*Math.pow((1-a)/(1+a),e))-n,n+=h,Math.abs(h)<=1e-10)return n;return-9999}},PVsz:function(t,s,a){"use strict";s.a=function(t){var s={x:t[0],y:t[1]};return t.length>2&&(s.z=t[2]),t.length>3&&(s.m=t[3]),s}},QGGw:function(t,s,a){"use strict";function i(){var t=this.lat0;this.lambda0=this.long0;var s=Math.sin(t),a=this.a,i=this.rf,h=1/i,e=2*h-Math.pow(h,2),n=this.e=Math.sqrt(e);this.R=this.k0*a*Math.sqrt(1-e)/(1-e*Math.pow(s,2)),this.alpha=Math.sqrt(1+e/(1-e)*Math.pow(Math.cos(t),4)),this.b0=Math.asin(s/this.alpha);var r=Math.log(Math.tan(Math.PI/4+this.b0/2)),o=Math.log(Math.tan(Math.PI/4+t/2)),c=Math.log((1+n*s)/(1-n*s));this.K=r-this.alpha*o+this.alpha*n/2*c}function h(t){var s=Math.log(Math.tan(Math.PI/4-t.y/2)),a=this.e/2*Math.log((1+this.e*Math.sin(t.y))/(1-this.e*Math.sin(t.y))),i=-this.alpha*(s+a)+this.K,h=2*(Math.atan(Math.exp(i))-Math.PI/4),e=this.alpha*(t.x-this.lambda0),n=Math.atan(Math.sin(e)/(Math.sin(this.b0)*Math.tan(h)+Math.cos(this.b0)*Math.cos(e))),r=Math.asin(Math.cos(this.b0)*Math.sin(h)-Math.sin(this.b0)*Math.cos(h)*Math.cos(e));return t.y=this.R/2*Math.log((1+Math.sin(r))/(1-Math.sin(r)))+this.y0,t.x=this.R*n+this.x0,t}function e(t){for(var s=t.x-this.x0,a=t.y-this.y0,i=s/this.R,h=2*(Math.atan(Math.exp(a/this.R))-Math.PI/4),e=Math.asin(Math.cos(this.b0)*Math.sin(h)+Math.sin(this.b0)*Math.cos(h)*Math.cos(i)),n=Math.atan(Math.sin(i)/(Math.cos(this.b0)*Math.cos(i)-Math.sin(this.b0)*Math.tan(h))),r=this.lambda0+n/this.alpha,o=0,c=e,u=-1e3,l=0;Math.abs(c-u)>1e-7;){if(++l>20)return;o=1/this.alpha*(Math.log(Math.tan(Math.PI/4+e/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(c))/2)),u=c,c=2*Math.atan(Math.exp(o))-Math.PI/2}return t.x=r,t.y=c,t}var n=["somerc"];s.a={init:i,forward:h,inverse:e,names:n}},ReQ3:function(t,s,a){"use strict";s.a=function(t,s,a,i,h){var e,n;e=t/s;for(var r=0;r<15;r++)if(n=(t-(s*e-a*Math.sin(2*e)+i*Math.sin(4*e)-h*Math.sin(6*e)))/(s-2*a*Math.cos(2*e)+4*i*Math.cos(4*e)-6*h*Math.cos(6*e)),e+=n,Math.abs(n)<=1e-10)return e;return NaN}},"Rv/6":function(t,s,a){"use strict";var i=a("JAmm");s.a=function(t,s){var a=1-(1-t*t)/(2*t)*Math.log((1-t)/(1+t));if(Math.abs(Math.abs(s)-a)<1e-6)return s<0?-1*i.d:i.d;for(var h,e,n,r,o=Math.asin(.5*s),c=0;c<30;c++)if(e=Math.sin(o),n=Math.cos(o),r=t*e,h=Math.pow(1-r*r,2)/(2*n)*(s/(1-t*t)-e/(1-r*r)+.5/t*Math.log((1-r)/(1+r))),o+=h,Math.abs(h)<=1e-10)return o;return NaN}},S4tn:function(t,s,a){"use strict";Object.defineProperty(s,"__esModule",{value:!0});var i=a("nvAS");a("SukN"),i.a.defs("EPSG:25832","+proj=utm +zone=32 +ellps=GRS80 +units=m +no_defs"),i.a.defs("urn:ogc:def:crs:EPSG::4326",i.a.defs("EPSG:4326")),i.a.defs("urn:ogc:def:crs:EPSG::25832",i.a.defs("EPSG:25832"));var h=function(t,s,a){return 1===t.features.length&&"Point"===t.features[0].geometry.type&&(t.features[0].geometry.coordinates=Object(i.a)(s,a,t.features[0].geometry.coordinates),t.crs.properties.name=a),t},e=function(){var t=document.querySelector(".septima-widget");if(t.parentElement&&t.parentElement.getAttribute("data-map-config")){var s=t.parentElement.getAttribute("data-map-config"),a=JSON.parse(s),h=Object(i.a)("EPSG:4326","EPSG:25832",[a.x,a.y]);if(h)return{x:h[0],y:h[1],zoomLevel:a.zoomLevel}}return{x:null,y:null,zoomLevel:12}}();window.addEventListener("load",function(){var t={map:{maxZoomLevel:1,minZoomLevel:22,view:e,layer:[{namedlayer:"#osm"},{disable:!1,id:"drawlayer",edit:!0,features:!0,type:"geojson",data:{type:"FeatureCollection",crs:{type:"name",properties:{name:"urn:ogc:def:crs:EPSG::25832"}},features:[]},features_dataType:"json",features_style:{namedstyle:"#004"}}],controls:[{overlay:{disable:!1},draw:{disable:!1,layer:"drawlayer",clearOnDraw:!0,type:"Point"},search:{displaytext:"Find adresse",clearOnMapclick:!0,features_style:{namedstyle:"#004"},driver:[{type:"dawa",options:{kommunekode:"0751"}}]}}]}};document.querySelectorAll(".septima-widget").forEach(function(s){var a=function(){try{var a=JSON.parse(s.getAttribute("data-value"));return h(a,"urn:ogc:def:crs:EPSG::4326",t.map.srs||"urn:ogc:def:crs:EPSG::25832")}catch(t){}return null}(),i=document.querySelector(s.getAttribute("data-value-target"));if(null!==i){var e=function(s){var a=s.features[0].geometry.coordinates;t.map.view.x=a[0],t.map.view.y=a[1],t.map.layer[1].data=s,void 0!==n&&n.setConfig(t),i.value=JSON.stringify(h(JSON.parse(JSON.stringify(s)),t.map.srs||"urn:ogc:def:crs:EPSG::25832","urn:ogc:def:crs:EPSG::4326"))};null!==a&&e(a);var n=new WidgetAPI(s,t);if(n.on("featureadded",function(t,s,a){var e=a.crs.properties.name;1===a.features.length&&"Point"===a.features[0].geometry.type&&(a=h(a,e,"urn:ogc:def:crs:EPSG::4326"),delete a.features[0].properties._options,i.value=JSON.stringify({type:a.type,crs:a.crs,features:a.features.map(function(t){return{type:t.type,properties:t.properties,geometry:t.geometry}})}))}),null!==a){var r=document.createElement("button");r.type="button",r.classList.add("reset-point-on-map"),r.innerHTML=Drupal.t("Reset point on map"),r.addEventListener("click",function(){e(a)}),s.parentNode.insertBefore(r,s.parentNode.lastChild)}}})})},SDpI:function(t,s,a){"use strict";function i(){if(this.lat2||(this.lat2=this.lat1),this.k0||(this.k0=1),this.x0=this.x0||0,this.y0=this.y0||0,!(Math.abs(this.lat1+this.lat2)l.b?this.ns=Math.log(i/c)/Math.log(h/u):this.ns=s,isNaN(this.ns)&&(this.ns=s),this.f0=i/(this.ns*Math.pow(h,this.ns)),this.rh=this.a*this.f0*Math.pow(M,this.ns),this.title||(this.title="Lambert Conformal Conic")}}function h(t){var s=t.x,a=t.y;Math.abs(2*Math.abs(a)-Math.PI)<=l.b&&(a=Object(o.a)(a)*(l.d-2*l.b));var i,h,e=Math.abs(Math.abs(a)-l.d);if(e>l.b)i=Object(r.a)(this.e,a,Math.sin(a)),h=this.a*this.f0*Math.pow(i,this.ns);else{if((e=a*this.ns)<=0)return null;h=0}var n=this.ns*Object(c.a)(s-this.long0);return t.x=this.k0*(h*Math.sin(n))+this.x0,t.y=this.k0*(this.rh-h*Math.cos(n))+this.y0,t}function e(t){var s,a,i,h,e,n=(t.x-this.x0)/this.k0,r=this.rh-(t.y-this.y0)/this.k0;this.ns>0?(s=Math.sqrt(n*n+r*r),a=1):(s=-Math.sqrt(n*n+r*r),a=-1);var o=0;if(0!==s&&(o=Math.atan2(a*n,a*r)),0!==s||this.ns>0){if(a=1/this.ns,i=Math.pow(s/(this.a*this.f0),a),-9999===(h=Object(u.a)(this.e,i)))return null}else h=-l.d;return e=Object(c.a)(o/this.ns+this.long0),t.x=e,t.y=h,t}var n=a("IXc0"),r=a("ME/f"),o=a("cBUL"),c=a("gkMG"),u=a("OBi8"),l=a("JAmm"),M=["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_2SP","lcc"];s.a={init:i,forward:h,inverse:e,names:M}},SukN:function(t,s){},T2Ne:function(t,s,a){"use strict";s.a=function(t,s){var a;return t>1e-7?(a=t*s,(1-t*t)*(s/(1-a*a)-.5/t*Math.log((1-a)/(1+a)))):2*s}},TDXh:function(t,s,a){"use strict";function i(){if(void 0===this.es||this.es<=0)throw new Error("incorrect elliptical usage");this.x0=void 0!==this.x0?this.x0:0,this.y0=void 0!==this.y0?this.y0:0,this.long0=void 0!==this.long0?this.long0:0,this.lat0=void 0!==this.lat0?this.lat0:0,this.cgb=[],this.cbg=[],this.utg=[],this.gtu=[];var t=this.es/(1+Math.sqrt(1-this.es)),s=t/(2-t),a=s;this.cgb[0]=s*(2+s*(-2/3+s*(s*(116/45+s*(26/45+s*(-2854/675)))-2))),this.cbg[0]=s*(s*(2/3+s*(4/3+s*(-82/45+s*(32/45+s*(4642/4725)))))-2),a*=s,this.cgb[1]=a*(7/3+s*(s*(-227/45+s*(2704/315+s*(2323/945)))-1.6)),this.cbg[1]=a*(5/3+s*(-16/15+s*(-13/9+s*(904/315+s*(-1522/945))))),a*=s,this.cgb[2]=a*(56/15+s*(-136/35+s*(-1262/105+s*(73814/2835)))),this.cbg[2]=a*(-26/15+s*(34/21+s*(1.6+s*(-12686/2835)))),a*=s,this.cgb[3]=a*(4279/630+s*(-332/35+s*(-399572/14175))),this.cbg[3]=a*(1237/630+s*(s*(-24832/14175)-2.4)),a*=s,this.cgb[4]=a*(4174/315+s*(-144838/6237)),this.cbg[4]=a*(-734/315+s*(109598/31185)),a*=s,this.cgb[5]=a*(601676/22275),this.cbg[5]=a*(444337/155925),a=Math.pow(s,2),this.Qn=this.k0/(1+s)*(1+a*(.25+a*(1/64+a/256))),this.utg[0]=s*(s*(2/3+s*(-37/96+s*(1/360+s*(81/512+s*(-96199/604800)))))-.5),this.gtu[0]=s*(.5+s*(-2/3+s*(5/16+s*(41/180+s*(-127/288+s*(7891/37800)))))),this.utg[1]=a*(-1/48+s*(-1/15+s*(437/1440+s*(-46/105+s*(1118711/3870720))))),this.gtu[1]=a*(13/48+s*(s*(557/1440+s*(281/630+s*(-1983433/1935360)))-.6)),a*=s,this.utg[2]=a*(-17/480+s*(37/840+s*(209/4480+s*(-5569/90720)))),this.gtu[2]=a*(61/240+s*(-103/140+s*(15061/26880+s*(167603/181440)))),a*=s,this.utg[3]=a*(-4397/161280+s*(11/504+s*(830251/7257600))),this.gtu[3]=a*(49561/161280+s*(-179/168+s*(6601661/7257600))),a*=s,this.utg[4]=a*(-4583/161280+s*(108847/3991680)),this.gtu[4]=a*(34729/80640+s*(-3418889/1995840)),a*=s,this.utg[5]=-.03233083094085698*a,this.gtu[5]=.6650675310896665*a;var i=Object(c.a)(this.cbg,this.lat0);this.Zb=-this.Qn*(i+Object(u.a)(this.gtu,2*i))}function h(t){var s=Object(M.a)(t.x-this.long0),a=t.y;a=Object(c.a)(this.cbg,a);var i=Math.sin(a),h=Math.cos(a),e=Math.sin(s),n=Math.cos(s);a=Math.atan2(i,n*h),s=Math.atan2(e*h,Object(r.a)(i,h*n)),s=Object(o.a)(Math.tan(s));var u=Object(l.a)(this.gtu,2*a,2*s);a+=u[0],s+=u[1];var f,d;return Math.abs(s)<=2.623395162778?(f=this.a*(this.Qn*s)+this.x0,d=this.a*(this.Qn*a+this.Zb)+this.y0):(f=1/0,d=1/0),t.x=f,t.y=d,t}function e(t){var s=(t.x-this.x0)*(1/this.a),a=(t.y-this.y0)*(1/this.a);a=(a-this.Zb)/this.Qn,s/=this.Qn;var i,h;if(Math.abs(s)<=2.623395162778){var e=Object(l.a)(this.utg,2*a,2*s);a+=e[0],s+=e[1],s=Math.atan(Object(n.a)(s));var o=Math.sin(a),u=Math.cos(a),f=Math.sin(s),d=Math.cos(s);a=Math.atan2(o*d,Object(r.a)(f,d*u)),s=Math.atan2(f,d*u),i=Object(M.a)(s+this.long0),h=Object(c.a)(this.cgb,a)}else i=1/0,h=1/0;return t.x=i,t.y=h,t}var n=a("Zl3z"),r=a("ctGI"),o=a("bBRM"),c=a("lexY"),u=a("AICX"),l=a("O5VH"),M=a("gkMG"),f=["Extended_Transverse_Mercator","Extended Transverse Mercator","etmerc"];s.a={init:i,forward:h,inverse:e,names:f}},UKTL:function(t,s,a){"use strict";s.a=function(t){return Math.abs(t)>1&&(t=t>1?1:-1),Math.asin(t)}},UkCB:function(t,s,a){"use strict";function i(){}function h(t){return t}var e=["longlat","identity"];s.a={init:i,forward:h,inverse:h,names:e}},Uvlc:function(t,s,a){"use strict";function i(){}function h(t){var s=t.x,a=t.y,i=Object(n.a)(s-this.long0),h=this.x0+this.a*i,e=this.y0+this.a*Math.log(Math.tan(Math.PI/4+a/2.5))*1.25;return t.x=h,t.y=e,t}function e(t){t.x-=this.x0,t.y-=this.y0;var s=Object(n.a)(this.long0+t.x/this.a),a=2.5*(Math.atan(Math.exp(.8*t.y/this.a))-Math.PI/4);return t.x=s,t.y=a,t}var n=a("gkMG"),r=["Miller_Cylindrical","mill"];s.a={init:i,forward:h,inverse:e,names:r}},V3HB:function(t,s,a){"use strict";function i(t,s){return(t.datum.datum_type===e.e||t.datum.datum_type===e.f)&&"WGS84"!==s.datumCode||(s.datum.datum_type===e.e||s.datum.datum_type===e.f)&&"WGS84"!==t.datumCode}function h(t,s,a){var l;return Array.isArray(a)&&(a=Object(c.a)(a)),Object(u.a)(a),t.datum&&s.datum&&i(t,s)&&(l=new o.a("WGS84"),a=h(t,l,a),t=l),"enu"!==t.axis&&(a=Object(r.a)(t,!1,a)),"longlat"===t.projName?a={x:a.x*e.a,y:a.y*e.a}:(t.to_meter&&(a={x:a.x*t.to_meter,y:a.y*t.to_meter}),a=t.inverse(a)),t.from_greenwich&&(a.x+=t.from_greenwich),a=Object(n.a)(t.datum,s.datum,a),s.from_greenwich&&(a={x:a.x-s.from_greenwich,y:a.y}),"longlat"===s.projName?a={x:a.x*e.i,y:a.y*e.i}:(a=s.forward(a),s.to_meter&&(a={x:a.x/s.to_meter,y:a.y/s.to_meter})),"enu"!==s.axis?Object(r.a)(s,!0,a):a}s.a=h;var e=a("JAmm"),n=a("BERY"),r=a("3K9Y"),o=a("e5sF"),c=a("PVsz"),u=a("I9eZ")},Vnlm:function(t,s,a){"use strict";function i(t){if("string"!=typeof t)throw new Error("not a string");this.text=t.trim(),this.level=0,this.place=0,this.root=null,this.stack=[],this.currentObject=null,this.state=e}function h(t){return new i(t).output()}s.a=h;var e=1,n=/\s/,r=/[A-Za-z]/,o=/[A-Za-z84]/,c=/[,\]]/,u=/[\d\.E\-\+]/;i.prototype.readCharicter=function(){var t=this.text[this.place++];if(4!==this.state)for(;n.test(t);){if(this.place>=this.text.length)return;t=this.text[this.place++]}switch(this.state){case e:return this.neutral(t);case 2:return this.keyword(t);case 4:return this.quoted(t);case 5:return this.afterquote(t);case 3:return this.number(t);case-1:return}},i.prototype.afterquote=function(t){if('"'===t)return this.word+='"',void(this.state=4);if(c.test(t))return this.word=this.word.trim(),void this.afterItem(t);throw new Error("havn't handled \""+t+'" in afterquote yet, index '+this.place)},i.prototype.afterItem=function(t){return","===t?(null!==this.word&&this.currentObject.push(this.word),this.word=null,void(this.state=e)):"]"===t?(this.level--,null!==this.word&&(this.currentObject.push(this.word),this.word=null),this.state=e,this.currentObject=this.stack.pop(),void(this.currentObject||(this.state=-1))):void 0},i.prototype.number=function(t){if(u.test(t))return void(this.word+=t);if(c.test(t))return this.word=parseFloat(this.word),void this.afterItem(t);throw new Error("havn't handled \""+t+'" in number yet, index '+this.place)},i.prototype.quoted=function(t){if('"'===t)return void(this.state=5);this.word+=t},i.prototype.keyword=function(t){if(o.test(t))return void(this.word+=t);if("["===t){var s=[];return s.push(this.word),this.level++,null===this.root?this.root=s:this.currentObject.push(s),this.stack.push(this.currentObject),this.currentObject=s,void(this.state=e)}if(c.test(t))return void this.afterItem(t);throw new Error("havn't handled \""+t+'" in keyword yet, index '+this.place)},i.prototype.neutral=function(t){if(r.test(t))return this.word=t,void(this.state=2);if('"'===t)return this.word="",void(this.state=4);if(u.test(t))return this.word=t,void(this.state=3);if(c.test(t))return void this.afterItem(t);throw new Error("havn't handled \""+t+'" in neutral yet, index '+this.place)},i.prototype.output=function(){for(;this.place0?this.con=1:this.con=-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=r.b&&(this.k0=.5*this.cons*Object(c.a)(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/Object(u.a)(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=Object(c.a)(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(this.ssfn_(this.lat0,this.sinlat0,this.e))-r.d,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0))}function e(t){var s,a,i,h,e,n,o=t.x,c=t.y,l=Math.sin(c),f=Math.cos(c),d=Object(M.a)(o-this.long0);return Math.abs(Math.abs(o-this.long0)-Math.PI)<=r.b&&Math.abs(c+this.lat0)<=r.b?(t.x=NaN,t.y=NaN,t):this.sphere?(s=2*this.k0/(1+this.sinlat0*l+this.coslat0*f*Math.cos(d)),t.x=this.a*s*f*Math.sin(d)+this.x0,t.y=this.a*s*(this.coslat0*l-this.sinlat0*f*Math.cos(d))+this.y0,t):(a=2*Math.atan(this.ssfn_(c,l,this.e))-r.d,h=Math.cos(a),i=Math.sin(a),Math.abs(this.coslat0)<=r.b?(e=Object(u.a)(this.e,c*this.con,this.con*l),n=2*this.a*this.k0*e/this.cons,t.x=this.x0+n*Math.sin(o-this.long0),t.y=this.y0-this.con*n*Math.cos(o-this.long0),t):(Math.abs(this.sinlat0)0?Object(M.a)(this.long0+Math.atan2(t.x,-1*t.y)):Object(M.a)(this.long0+Math.atan2(t.x,t.y)):Object(M.a)(this.long0+Math.atan2(t.x*Math.sin(o),n*this.coslat0*Math.cos(o)-t.y*this.sinlat0*Math.sin(o))),t.x=s,t.y=a,t)}if(Math.abs(this.coslat0)<=r.b){if(n<=r.b)return a=this.lat0,s=this.long0,t.x=s,t.y=a,t;t.x*=this.con,t.y*=this.con,i=n*this.cons/(2*this.a*this.k0),a=this.con*Object(l.a)(this.e,i),s=this.con*Object(M.a)(this.con*this.long0+Math.atan2(t.x,-1*t.y))}else h=2*Math.atan(n*this.cosX0/(2*this.a*this.k0*this.ms1)),s=this.long0,n<=r.b?e=this.X0:(e=Math.asin(Math.cos(h)*this.sinX0+t.y*Math.sin(h)*this.cosX0/n),s=Object(M.a)(this.long0+Math.atan2(t.x*Math.sin(h),n*this.cosX0*Math.cos(h)-t.y*this.sinX0*Math.sin(h)))),a=-1*Object(l.a)(this.e,Math.tan(.5*(r.d+e)));return t.x=s,t.y=a,t}var r=a("JAmm"),o=a("cBUL"),c=a("IXc0"),u=a("ME/f"),l=a("OBi8"),M=a("gkMG"),f=["stere","Stereographic_South_Pole","Polar Stereographic (variant B)"];s.a={init:h,forward:e,inverse:n,names:f,ssfn_:i}},XvAm:function(t,s,a){"use strict";a.d(s,"a",function(){return i});var i={};i.greenwich=0,i.lisbon=-9.131906111111,i.paris=2.337229166667,i.bogota=-74.080916666667,i.madrid=-3.687938888889,i.rome=12.452333333333,i.bern=7.439583333333,i.jakarta=106.807719444444,i.ferro=-17.666666666667,i.brussels=4.367975,i.stockholm=18.058277777778,i.athens=23.7163375,i.oslo=10.722916666667},Zl3z:function(t,s,a){"use strict";s.a=function(t){var s=Math.exp(t);return s=(s-1/s)/2}},ajw1:function(t,s,a){"use strict";function i(t,s,a){if(!(this instanceof i))return new i(t,s,a);if(Array.isArray(t))this.x=t[0],this.y=t[1],this.z=t[2]||0;else if("object"==typeof t)this.x=t.x,this.y=t.y,this.z=t.z||0;else if("string"==typeof t&&void 0===s){var h=t.split(",");this.x=parseFloat(h[0],10),this.y=parseFloat(h[1],10),this.z=parseFloat(h[2],10)||0}else this.x=t,this.y=s,this.z=a||0;console.warn("proj4.Point will be removed in version 3, use proj4.toPoint")}var h=a("4II5");i.fromMGRS=function(t){return new i(Object(h.c)(t))},i.prototype.toMGRS=function(t){return Object(h.b)([this.x,this.y],t)},s.a=i},bBRM:function(t,s,a){"use strict";var i=a("ctGI"),h=a("xIMV");s.a=function(t){var s=Math.abs(t);return s=Object(h.a)(s*(1+s/(Object(i.a)(1,s)+1))),t<0?-s:s}},bqGt:function(t,s,a){"use strict";var i=.01068115234375;s.a=function(t){var s=[];s[0]=1-t*(.25+t*(.046875+t*(.01953125+t*i))),s[1]=t*(.75-t*(.046875+t*(.01953125+t*i)));var a=t*t;return s[2]=a*(.46875-t*(.013020833333333334+.007120768229166667*t)),a*=t,s[3]=a*(.3645833333333333-.005696614583333333*t),s[4]=a*t*.3076171875,s}},cAH4:function(t,s,a){"use strict";function i(){this.x0=void 0!==this.x0?this.x0:0,this.y0=void 0!==this.y0?this.y0:0,this.long0=void 0!==this.long0?this.long0:0,this.lat0=void 0!==this.lat0?this.lat0:0,this.es&&(this.en=Object(n.a)(this.es),this.ml0=Object(r.a)(this.lat0,Math.sin(this.lat0),Math.cos(this.lat0),this.en))}function h(t){var s,a,i,h=t.x,e=t.y,n=Object(c.a)(h-this.long0),o=Math.sin(e),l=Math.cos(e);if(this.es){var M=l*n,f=Math.pow(M,2),d=this.ep2*Math.pow(l,2),m=Math.pow(d,2),b=Math.abs(l)>u.b?Math.tan(e):0,p=Math.pow(b,2),y=Math.pow(p,2);s=1-this.es*Math.pow(o,2),M/=Math.sqrt(s);var v=Object(r.a)(e,o,l,this.en);a=this.a*(this.k0*M*(1+f/6*(1-p+d+f/20*(5-18*p+y+14*d-58*p*d+f/42*(61+179*y-y*p-479*p)))))+this.x0,i=this.a*(this.k0*(v-this.ml0+o*n*M/2*(1+f/12*(5-p+9*d+4*m+f/30*(61+y-58*p+270*d-330*p*d+f/56*(1385+543*y-y*p-3111*p))))))+this.y0}else{var _=l*Math.sin(n);if(Math.abs(Math.abs(_)-1)=1){if(_-1>u.b)return 93;i=0}else i=Math.acos(i);e<0&&(i=-i),i=this.a*this.k0*(i-this.lat0)+this.y0}return t.x=a,t.y=i,t}function e(t){var s,a,i,h,e=(t.x-this.x0)*(1/this.a),n=(t.y-this.y0)*(1/this.a);if(this.es)if(s=this.ml0+n/this.k0,a=Object(o.a)(s,this.es,this.en),Math.abs(a)u.b?Math.tan(a):0,d=this.ep2*Math.pow(M,2),m=Math.pow(d,2),b=Math.pow(f,2),p=Math.pow(b,2);s=1-this.es*Math.pow(r,2);var y=e*Math.sqrt(s)/this.k0,v=Math.pow(y,2);s*=f,i=a-s*v/(1-this.es)*.5*(1-v/12*(5+3*b-9*d*b+d-4*m-v/30*(61+90*b-252*d*b+45*p+46*d-v/56*(1385+3633*b+4095*p+1574*p*b)))),h=Object(c.a)(this.long0+y*(1-v/6*(1+2*b+d-v/20*(5+28*b+24*p+8*d*b+6*d-v/42*(61+662*b+1320*p+720*p*b))))/M)}else i=u.d*Object(l.a)(n),h=0;else{var _=Math.exp(e/this.k0),g=.5*(_-1/_),x=this.lat0+n/this.k0,O=Math.cos(x);s=Math.sqrt((1-Math.pow(O,2))/(1+Math.pow(g,2))),i=Math.asin(s),n<0&&(i=-i),h=0===g&&0===O?0:Object(c.a)(Math.atan2(g,O)+this.long0)}return t.x=h,t.y=i,t}var n=a("bqGt"),r=a("zrKp"),o=a("je3J"),c=a("gkMG"),u=a("JAmm"),l=a("cBUL"),M=["Transverse_Mercator","Transverse Mercator","tmerc"];s.a={init:i,forward:h,inverse:e,names:M}},cBUL:function(t,s,a){"use strict";s.a=function(t){return t<0?-1:1}},ctGI:function(t,s,a){"use strict";s.a=function(t,s){t=Math.abs(t),s=Math.abs(s);var a=Math.max(t,s),i=Math.min(t,s)/(a||1);return a*Math.sqrt(1+Math.pow(i,2))}},d3I4:function(t,s,a){"use strict";s.a=function(t){return 1-.25*t*(1+t/16*(3+1.25*t))}},e5sF:function(t,s,a){"use strict";function i(t,s){if(!(this instanceof i))return new i(t);s=s||function(t){if(t)throw t};var a=Object(h.a)(t);if("object"!=typeof a)return void s(t);var n=i.projections.get(a.projName);if(!n)return void s(t);if(a.datumCode&&"none"!==a.datumCode){var l=Object(u.a)(o.a,a.datumCode);l&&(a.datum_params=l.towgs84?l.towgs84.split(","):null,a.ellps=l.ellipse,a.datumName=l.datumName?l.datumName:a.datumCode)}a.k0=a.k0||1,a.axis=a.axis||"enu",a.ellps=a.ellps||"wgs84";var M=Object(r.b)(a.a,a.b,a.rf,a.ellps,a.sphere),f=Object(r.a)(M.a,M.b,M.rf,a.R_A),d=a.datum||Object(c.a)(a.datumCode,a.datum_params,M.a,M.b,f.es,f.ep2);Object(e.a)(this,a),Object(e.a)(this,n),this.a=M.a,this.b=M.b,this.rf=M.rf,this.sphere=M.sphere,this.es=f.es,this.e=f.e,this.ep2=f.ep2,this.datum=d,this.init(),s(null,this)}var h=a("eo71"),e=a("zevH"),n=a("JNqU"),r=a("kHIn"),o=a("73fo"),c=a("osfr"),u=a("qONe");i.projections=n.a,i.projections.start(),s.a=i},eo71:function(t,s,a){"use strict";function i(t){return"string"==typeof t}function h(t){return t in u.a}function e(t){return d.some(function(s){return t.indexOf(s)>-1})}function n(t){var s=Object(f.a)(t,"authority");if(s){var a=Object(f.a)(s,"epsg");return a&&m.indexOf(a)>-1}}function r(t){var s=Object(f.a)(t,"extension");if(s)return Object(f.a)(s,"proj4")}function o(t){return"+"===t[0]}function c(t){if(!i(t))return t;if(h(t))return u.a[t];if(e(t)){var s=Object(l.a)(t);if(n(s))return u.a["EPSG:3857"];var a=r(s);return a?Object(M.a)(a):s}return o(t)?Object(M.a)(t):void 0}var u=a("Agrq"),l=a("fZ+p"),M=a("Mhqt"),f=a("qONe"),d=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"],m=["3857","900913","3785","102113"];s.a=c},f4Hg:function(t,s,a){"use strict";function i(){this.sphere||(this.e0=Object(r.a)(this.es),this.e1=Object(o.a)(this.es),this.e2=Object(c.a)(this.es),this.e3=Object(u.a)(this.es),this.ml0=this.a*Object(n.a)(this.e0,this.e1,this.e2,this.e3,this.lat0))}function h(t){var s,a,i=t.x,h=t.y;if(i=Object(M.a)(i-this.long0),this.sphere)s=this.a*Math.asin(Math.cos(h)*Math.sin(i)),a=this.a*(Math.atan2(Math.tan(h),Math.cos(i))-this.lat0);else{var e=Math.sin(h),r=Math.cos(h),o=Object(l.a)(this.a,this.e,e),c=Math.tan(h)*Math.tan(h),u=i*Math.cos(h),f=u*u,d=this.es*r*r/(1-this.es),m=this.a*Object(n.a)(this.e0,this.e1,this.e2,this.e3,h);s=o*u*(1-f*c*(1/6-(8-c+8*d)*f/120)),a=m-this.ml0+o*e/r*f*(.5+(5-c+6*d)*f/24)}return t.x=s+this.x0,t.y=a+this.y0,t}function e(t){t.x-=this.x0,t.y-=this.y0;var s,a,i=t.x/this.a,h=t.y/this.a;if(this.sphere){var e=h+this.lat0;s=Math.asin(Math.sin(e)*Math.cos(i)),a=Math.atan2(Math.tan(i),Math.cos(e))}else{var n=this.ml0/this.a+h,r=Object(d.a)(n,this.e0,this.e1,this.e2,this.e3);if(Math.abs(Math.abs(r)-m.d)<=m.b)return t.x=this.long0,t.y=m.d,h<0&&(t.y*=-1),t;var o=Object(l.a)(this.a,this.e,Math.sin(r)),c=o*o*o/this.a/this.a*(1-this.es),u=Math.pow(Math.tan(r),2),b=i*this.a/o,p=b*b;s=r-o*Math.tan(r)/c*b*b*(.5-(1+3*u)*b*b/24),a=b*(1-p*(u/3+(1+3*u)*u*p/15))/Math.cos(r)}return t.x=Object(M.a)(a+this.long0),t.y=Object(f.a)(s),t}var n=a("frGE"),r=a("d3I4"),o=a("i5uR"),c=a("mVlP"),u=a("fGox"),l=a("9vV9"),M=a("gkMG"),f=a("thK1"),d=a("ReQ3"),m=a("JAmm"),b=["Cassini","Cassini_Soldner","cass"];s.a={init:i,forward:h,inverse:e,names:b}},fGox:function(t,s,a){"use strict";s.a=function(t){return t*t*t*(35/3072)}},"fZ+p":function(t,s,a){"use strict";function i(t,s){var a=s[0],i=s[1];!(a in t)&&i in t&&(t[a]=t[i],3===s.length&&(t[a]=s[2](t[a])))}function h(t){return t*o}function e(t){function s(s){return s*(t.to_meter||1)}"GEOGCS"===t.type?t.projName="longlat":"LOCAL_CS"===t.type?(t.projName="identity",t.local=!0):"object"==typeof t.PROJECTION?t.projName=Object.keys(t.PROJECTION)[0]:t.projName=t.PROJECTION,t.UNIT&&(t.units=t.UNIT.name.toLowerCase(),"metre"===t.units&&(t.units="meter"),t.UNIT.convert&&("GEOGCS"===t.type?t.DATUM&&t.DATUM.SPHEROID&&(t.to_meter=t.UNIT.convert*t.DATUM.SPHEROID.a):t.to_meter=t.UNIT.convert));var a=t.GEOGCS;"GEOGCS"===t.type&&(a=t),a&&(a.DATUM?t.datumCode=a.DATUM.name.toLowerCase():t.datumCode=a.name.toLowerCase(),"d_"===t.datumCode.slice(0,2)&&(t.datumCode=t.datumCode.slice(2)),"new_zealand_geodetic_datum_1949"!==t.datumCode&&"new_zealand_1949"!==t.datumCode||(t.datumCode="nzgd49"),"wgs_1984"===t.datumCode&&("Mercator_Auxiliary_Sphere"===t.PROJECTION&&(t.sphere=!0),t.datumCode="wgs84"),"_ferro"===t.datumCode.slice(-6)&&(t.datumCode=t.datumCode.slice(0,-6)),"_jakarta"===t.datumCode.slice(-8)&&(t.datumCode=t.datumCode.slice(0,-8)),~t.datumCode.indexOf("belge")&&(t.datumCode="rnb72"),a.DATUM&&a.DATUM.SPHEROID&&(t.ellps=a.DATUM.SPHEROID.name.replace("_19","").replace(/[Cc]larke\_18/,"clrk"),"international"===t.ellps.toLowerCase().slice(0,13)&&(t.ellps="intl"),t.a=a.DATUM.SPHEROID.a,t.rf=parseFloat(a.DATUM.SPHEROID.rf,10)),a.DATUM&&a.DATUM.TOWGS84&&(t.datum_params=a.DATUM.TOWGS84),~t.datumCode.indexOf("osgb_1936")&&(t.datumCode="osgb36"),~t.datumCode.indexOf("osni_1952")&&(t.datumCode="osni52"),(~t.datumCode.indexOf("tm65")||~t.datumCode.indexOf("geodetic_datum_of_1965"))&&(t.datumCode="ire65"),"ch1903+"===t.datumCode&&(t.datumCode="ch1903"),~t.datumCode.indexOf("israel")&&(t.datumCode="isr93")),t.b&&!isFinite(t.b)&&(t.b=t.a),[["standard_parallel_1","Standard_Parallel_1"],["standard_parallel_2","Standard_Parallel_2"],["false_easting","False_Easting"],["false_northing","False_Northing"],["central_meridian","Central_Meridian"],["latitude_of_origin","Latitude_Of_Origin"],["latitude_of_origin","Central_Parallel"],["scale_factor","Scale_Factor"],["k0","scale_factor"],["latitude_of_center","Latitude_Of_Center"],["latitude_of_center","Latitude_of_center"],["lat0","latitude_of_center",h],["longitude_of_center","Longitude_Of_Center"],["longitude_of_center","Longitude_of_center"],["longc","longitude_of_center",h],["x0","false_easting",s],["y0","false_northing",s],["long0","central_meridian",h],["lat0","latitude_of_origin",h],["lat0","standard_parallel_1",h],["lat1","standard_parallel_1",h],["lat2","standard_parallel_2",h],["azimuth","Azimuth"],["alpha","azimuth",h],["srsCode","name"]].forEach(function(s){return i(t,s)}),t.long0||!t.longc||"Albers_Conic_Equal_Area"!==t.projName&&"Lambert_Azimuthal_Equal_Area"!==t.projName||(t.long0=t.longc),t.lat_ts||!t.lat1||"Stereographic_South_Pole"!==t.projName&&"Polar Stereographic (variant B)"!==t.projName||(t.lat0=h(t.lat1>0?90:-90),t.lat_ts=t.lat1)}var n=a("Vnlm"),r=a("hiL4"),o=.017453292519943295;s.a=function(t){var s=Object(n.a)(t),a=s.shift(),i=s.shift();s.unshift(["name",i]),s.unshift(["type",a]);var h={};return Object(r.a)(s,h),e(h),h}},frGE:function(t,s,a){"use strict";s.a=function(t,s,a,i,h){return t*h-s*Math.sin(2*h)+a*Math.sin(4*h)-i*Math.sin(6*h)}},gkMG:function(t,s,a){"use strict";var i=a("JAmm"),h=a("cBUL");s.a=function(t){return Math.abs(t)<=i.n?t:t-Object(h.a)(t)*i.o}},hXOA:function(t,s,a){"use strict";function i(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013}function h(t){var s,a=t.x,i=t.y,h=i-this.lat0,e=a-this.long0,r=h/n.l*1e-5,o=e,c=1,u=0;for(s=1;s<=10;s++)c*=r,u+=this.A[s]*c;var l,M,f=u,d=o,m=1,b=0,p=0,y=0;for(s=1;s<=6;s++)l=m*f-b*d,M=b*f+m*d,m=l,b=M,p=p+this.B_re[s]*m-this.B_im[s]*b,y=y+this.B_im[s]*m+this.B_re[s]*b;return t.x=y*this.a+this.x0,t.y=p*this.a+this.y0,t}function e(t){var s,a,i,h=t.x,e=t.y,r=h-this.x0,o=e-this.y0,c=o/this.a,u=r/this.a,l=1,M=0,f=0,d=0;for(s=1;s<=6;s++)a=l*c-M*u,i=M*c+l*u,l=a,M=i,f=f+this.C_re[s]*l-this.C_im[s]*M,d=d+this.C_im[s]*l+this.C_re[s]*M;for(var m=0;m=m&&(i=m-1),a=r.i*(a-d*i);var h={x:b(c[i],a)*s,y:b(u[i],a)};return t.y<0&&(h.y=-h.y),h.x=h.x*this.a*l+this.x0,h.y=h.y*this.a*M+this.y0,h}function n(t){var s={x:(t.x-this.x0)/(this.a*l),y:Math.abs(t.y-this.y0)/(this.a*M)};if(s.y>=1)s.x/=c[m][0],s.y=t.y<0?-r.d:r.d;else{var a=Math.floor(s.y*m);for(a<0?a=0:a>=m&&(a=m-1);;)if(u[a][0]>s.y)--a;else{if(!(u[a+1][0]<=s.y))break;++a}var h=u[a],e=5*(s.y-h[0])/(u[a+1][0]-h[0]);e=i(function(t){return(b(h,t)-s.y)/p(h,t)},e,r.b,100),s.x/=b(c[a],e),s.y=(5*a+e)*r.a,t.y<0&&(s.y=-s.y)}return s.x=Object(o.a)(s.x+this.long0),s}var r=a("JAmm"),o=a("gkMG"),c=[[1,2.2199e-17,-715515e-10,31103e-10],[.9986,-482243e-9,-24897e-9,-13309e-10],[.9954,-83103e-8,-448605e-10,-9.86701e-7],[.99,-.00135364,-59661e-9,36777e-10],[.9822,-.00167442,-449547e-11,-572411e-11],[.973,-.00214868,-903571e-10,1.8736e-8],[.96,-.00305085,-900761e-10,164917e-11],[.9427,-.00382792,-653386e-10,-26154e-10],[.9216,-.00467746,-10457e-8,481243e-11],[.8962,-.00536223,-323831e-10,-543432e-11],[.8679,-.00609363,-113898e-9,332484e-11],[.835,-.00698325,-640253e-10,9.34959e-7],[.7986,-.00755338,-500009e-10,9.35324e-7],[.7597,-.00798324,-35971e-9,-227626e-11],[.7186,-.00851367,-701149e-10,-86303e-10],[.6732,-.00986209,-199569e-9,191974e-10],[.6213,-.010418,883923e-10,624051e-11],[.5722,-.00906601,182e-6,624051e-11],[.5322,-.00677797,275608e-9,624051e-11]],u=[[-5.20417e-18,.0124,1.21431e-18,-8.45284e-11],[.062,.0124,-1.26793e-9,4.22642e-10],[.124,.0124,5.07171e-9,-1.60604e-9],[.186,.0123999,-1.90189e-8,6.00152e-9],[.248,.0124002,7.10039e-8,-2.24e-8],[.31,.0123992,-2.64997e-7,8.35986e-8],[.372,.0124029,9.88983e-7,-3.11994e-7],[.434,.0123893,-369093e-11,-4.35621e-7],[.4958,.0123198,-102252e-10,-3.45523e-7],[.5571,.0121916,-154081e-10,-5.82288e-7],[.6176,.0119938,-241424e-10,-5.25327e-7],[.6769,.011713,-320223e-10,-5.16405e-7],[.7346,.0113541,-397684e-10,-6.09052e-7],[.7903,.0109107,-489042e-10,-104739e-11],[.8435,.0103431,-64615e-9,-1.40374e-9],[.8936,.00969686,-64636e-9,-8547e-9],[.9394,.00840947,-192841e-9,-42106e-10],[.9761,.00616527,-256e-6,-42106e-10],[1,.00328947,-319159e-9,-42106e-10]],l=.8487,M=1.3523,f=r.i/5,d=1/f,m=18,b=function(t,s){return t[0]+s*(t[1]+s*(t[2]+s*t[3]))},p=function(t,s){return t[1]+s*(2*t[2]+3*s*t[3])},y=["Robinson","robin"];s.a={init:h,forward:e,inverse:n,names:y}},jXbg:function(t,s,a){"use strict";function i(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0)}function h(t){var s,a,i,h,e,r,c,u,l=t.x,M=t.y;return i=Object(n.a)(l-this.long0),s=Math.sin(M),a=Math.cos(M),h=Math.cos(i),r=this.sin_p14*s+this.cos_p14*a*h,e=1,(r>0||Math.abs(r)<=o.b)&&(c=this.a*e*a*Math.sin(i),u=this.y0+this.a*e*(this.cos_p14*s-this.sin_p14*a*h)),t.x=c,t.y=u,t}function e(t){var s,a,i,h,e,c,u;return t.x-=this.x0,t.y-=this.y0,s=Math.sqrt(t.x*t.x+t.y*t.y),a=Object(r.a)(s/this.a),i=Math.sin(a),h=Math.cos(a),c=this.long0,Math.abs(s)<=o.b?(u=this.lat0,t.x=c,t.y=u,t):(u=Object(r.a)(h*this.sin_p14+t.y*i*this.cos_p14/s),e=Math.abs(this.lat0)-o.d,Math.abs(e)<=o.b?(c=this.lat0>=0?Object(n.a)(this.long0+Math.atan2(t.x,-t.y)):Object(n.a)(this.long0-Math.atan2(-t.x,t.y)),t.x=c,t.y=u,t):(c=Object(n.a)(this.long0+Math.atan2(t.x*i,s*this.cos_p14*h-t.y*this.sin_p14*i)),t.x=c,t.y=u,t))}var n=a("gkMG"),r=a("UKTL"),o=a("JAmm"),c=["ortho"];s.a={init:i,forward:h,inverse:e,names:c}},je3J:function(t,s,a){"use strict";var i=a("zrKp"),h=a("JAmm");s.a=function(t,s,a){for(var e=1/(1-s),n=t,r=20;r;--r){var o=Math.sin(n),c=1-s*o*o;if(c=(Object(i.a)(n,o,Math.cos(n),a)-t)*(c*Math.sqrt(c))*e,n-=c,Math.abs(c)2*r.d*this.a)return;return a=s/this.a,i=Math.sin(a),h=Math.cos(a),e=this.long0,Math.abs(s)<=r.b?b=this.lat0:(b=Object(d.a)(h*this.sin_p12+t.y*i*this.cos_p12/s),p=Math.abs(this.lat0)-r.d,e=Math.abs(p)<=r.b?this.lat0>=0?Object(n.a)(this.long0+Math.atan2(t.x,-t.y)):Object(n.a)(this.long0-Math.atan2(-t.x,t.y)):Object(n.a)(this.long0+Math.atan2(t.x*i,s*this.cos_p12*h-t.y*this.sin_p12*i))),t.x=e,t.y=b,t}return y=Object(c.a)(this.es),v=Object(u.a)(this.es),_=Object(l.a)(this.es),g=Object(M.a)(this.es),Math.abs(this.sin_p12-1)<=r.b?(x=this.a*Object(o.a)(y,v,_,g,r.d),s=Math.sqrt(t.x*t.x+t.y*t.y),O=x-s,b=Object(m.a)(O/this.a,y,v,_,g),e=Object(n.a)(this.long0+Math.atan2(t.x,-1*t.y)),t.x=e,t.y=b,t):Math.abs(this.sin_p12+1)<=r.b?(x=this.a*Object(o.a)(y,v,_,g,r.d),s=Math.sqrt(t.x*t.x+t.y*t.y),O=s-x,b=Object(m.a)(O/this.a,y,v,_,g),e=Object(n.a)(this.long0+Math.atan2(t.x,t.y)),t.x=e,t.y=b,t):(s=Math.sqrt(t.x*t.x+t.y*t.y),w=Math.atan2(t.x,t.y),j=Object(f.a)(this.a,this.e,this.sin_p12),E=Math.cos(w),P=this.e*this.cos_p12*E,C=-P*P/(1-this.es),S=3*this.es*(1-C)*this.sin_p12*this.cos_p12*E/(1-this.es),k=s/j,N=k-C*(1+C)*Math.pow(k,3)/6-S*(1+3*C)*Math.pow(k,4)/24,I=1-C*N*N/2-k*N*N*N/6,A=Math.asin(this.sin_p12*Math.cos(N)+this.cos_p12*Math.sin(N)*E),e=Object(n.a)(this.long0+Math.asin(Math.sin(w)*Math.sin(N)/Math.cos(A))),b=Math.atan((1-this.es*I*this.sin_p12/Math.sin(A))*Math.tan(A)/(1-this.es)),t.x=e,t.y=b,t)}var n=a("gkMG"),r=a("JAmm"),o=a("frGE"),c=a("d3I4"),u=a("i5uR"),l=a("mVlP"),M=a("fGox"),f=a("9vV9"),d=a("UKTL"),m=a("ReQ3"),b=["Azimuthal_Equidistant","aeqd"];s.a={init:i,forward:h,inverse:e,names:b}},kHIn:function(t,s,a){"use strict";function i(t,s,a,i){var h=t*t,n=s*s,r=(h-n)/h,o=0;return i?(t*=1-r*(e.m+r*(e.j+r*e.k)),h=t*t,r=0):o=Math.sqrt(r),{es:r,e:o,ep2:(h-n)/n}}function h(t,s,a,i,h){if(!t){var o=Object(r.a)(n.b,i);o||(o=n.a),t=o.a,s=o.b,a=o.rf}return a&&!s&&(s=(1-1/a)*t),(0===a||Math.abs(t-s)60)return 60}return t}},lFMR:function(t,s,a){"use strict";s.a=function(t){var s=Math.exp(t);return s=(s+1/s)/2}},lG8V:function(t,s,a){"use strict";s.a={ft:{to_meter:.3048},"us-ft":{to_meter:1200/3937}}},lQeg:function(t,s){t.exports={name:"proj4",version:"2.5.0",description:"Proj4js is a JavaScript library to transform point coordinates from one coordinate system to another, including datum transformations.",main:"dist/proj4-src.js",module:"lib/index.js",directories:{test:"test",doc:"docs"},scripts:{build:"grunt","build:tmerc":"grunt build:tmerc",test:"npm run build && istanbul test _mocha test/test.js"},repository:{type:"git",url:"git://github.com/proj4js/proj4js.git"},author:"",license:"MIT",devDependencies:{chai:"~4.1.2","curl-amd":"github:cujojs/curl",grunt:"^1.0.1","grunt-cli":"~1.2.0","grunt-contrib-connect":"~1.0.2","grunt-contrib-jshint":"~1.1.0","grunt-contrib-uglify":"~3.1.0","grunt-mocha-phantomjs":"~4.0.0","grunt-rollup":"^6.0.0",istanbul:"~0.4.5",mocha:"~4.0.0",rollup:"^0.50.0","rollup-plugin-json":"^2.3.0","rollup-plugin-node-resolve":"^3.0.0",tin:"~0.5.0"},dependencies:{mgrs:"1.0.0","wkt-parser":"^1.2.0"}}},lRMl:function(t,s,a){"use strict";function i(t,s){return t.datum_type===s.datum_type&&(!(t.a!==s.a||Math.abs(t.es-s.es)>5e-11)&&(t.datum_type===o.e?t.datum_params[0]===s.datum_params[0]&&t.datum_params[1]===s.datum_params[1]&&t.datum_params[2]===s.datum_params[2]:t.datum_type!==o.f||t.datum_params[0]===s.datum_params[0]&&t.datum_params[1]===s.datum_params[1]&&t.datum_params[2]===s.datum_params[2]&&t.datum_params[3]===s.datum_params[3]&&t.datum_params[4]===s.datum_params[4]&&t.datum_params[5]===s.datum_params[5]&&t.datum_params[6]===s.datum_params[6]))}function h(t,s,a){var i,h,e,n,r=t.x,c=t.y,u=t.z?t.z:0;if(c<-o.d&&c>-1.001*o.d)c=-o.d;else if(c>o.d&&c<1.001*o.d)c=o.d;else{if(c<-o.d)return{x:-1/0,y:-1/0,z:t.z};if(c>o.d)return{x:1/0,y:1/0,z:t.z}}return r>Math.PI&&(r-=2*Math.PI),h=Math.sin(c),n=Math.cos(c),e=h*h,i=a/Math.sqrt(1-s*e),{x:(i+u)*n*Math.cos(r),y:(i+u)*n*Math.sin(r),z:(i*(1-s)+u)*h}}function e(t,s,a,i){var h,e,n,r,c,u,l,M,f,d,m,b,p,y,v,_,g=t.x,x=t.y,O=t.z?t.z:0;if(h=Math.sqrt(g*g+x*x),e=Math.sqrt(g*g+x*x+O*O),h/a<1e-12){if(y=0,e/a<1e-12)return v=o.d,_=-i,{x:t.x,y:t.y,z:t.z}}else y=Math.atan2(x,g);n=O/e,r=h/e,c=1/Math.sqrt(1-s*(2-s)*r*r),M=r*(1-s)*c,f=n*c,p=0;do{p++,l=a/Math.sqrt(1-s*f*f),_=h*M+O*f-l*(1-s*f*f),u=s*l/(l+_),c=1/Math.sqrt(1-u*(2-u)*r*r),d=r*(1-u)*c,m=n*c,b=m*M-d*f,M=d,f=m}while(b*b>1e-24&&p<30);return v=Math.atan(m/Math.abs(d)),{x:y,y:v,z:_}}function n(t,s,a){if(s===o.e)return{x:t.x+a[0],y:t.y+a[1],z:t.z+a[2]};if(s===o.f){var i=a[0],h=a[1],e=a[2],n=a[3],r=a[4],c=a[5],u=a[6];return{x:u*(t.x-c*t.y+r*t.z)+i,y:u*(c*t.x+t.y-n*t.z)+h,z:u*(-r*t.x+n*t.y+t.z)+e}}}function r(t,s,a){if(s===o.e)return{x:t.x-a[0],y:t.y-a[1],z:t.z-a[2]};if(s===o.f){var i=a[0],h=a[1],e=a[2],n=a[3],r=a[4],c=a[5],u=a[6],l=(t.x-i)/u,M=(t.y-h)/u,f=(t.z-e)/u;return{x:l+c*M-r*f,y:-c*l+M+n*f,z:r*l-n*M+f}}}s.a=i,s.e=h,s.c=e,s.d=n,s.b=r;var o=a("JAmm")},lexY:function(t,s,a){"use strict";s.a=function(t,s){for(var a,i=2*Math.cos(2*s),h=t.length-1,e=t[h],n=0;--h>=0;)a=i*e-n+t[h],n=e,e=a;return s+a*Math.sin(2*s)}},likz:function(t,s,a){"use strict";function i(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Quadrilateralized Spherical Cube",this.lat0>=o.d-o.c/2?this.face=c.TOP:this.lat0<=-(o.d-o.c/2)?this.face=c.BOTTOM:Math.abs(this.long0)<=o.c?this.face=c.FRONT:Math.abs(this.long0)<=o.d+o.c?this.face=this.long0>0?c.RIGHT:c.LEFT:this.face=c.BACK,0!==this.es&&(this.one_minus_f=1-(this.a-this.b)/this.a,this.one_minus_f_squared=this.one_minus_f*this.one_minus_f)}function h(t){var s,a,i,h,e,l,M={x:0,y:0},f={value:0};if(t.x-=this.long0,s=0!==this.es?Math.atan(this.one_minus_f_squared*Math.tan(t.y)):t.y,a=t.x,this.face===c.TOP)h=o.d-s,a>=o.c&&a<=o.d+o.c?(f.value=u.AREA_0,i=a-o.d):a>o.d+o.c||a<=-(o.d+o.c)?(f.value=u.AREA_1,i=a>0?a-o.n:a+o.n):a>-(o.d+o.c)&&a<=-o.c?(f.value=u.AREA_2,i=a+o.d):(f.value=u.AREA_3,i=a);else if(this.face===c.BOTTOM)h=o.d+s,a>=o.c&&a<=o.d+o.c?(f.value=u.AREA_0,i=-a+o.d):a=-o.c?(f.value=u.AREA_1,i=-a):a<-o.c&&a>=-(o.d+o.c)?(f.value=u.AREA_2,i=-a-o.d):(f.value=u.AREA_3,i=a>0?-a+o.n:-a-o.n);else{var d,m,b,p,y,v,_;this.face===c.RIGHT?a=r(a,+o.d):this.face===c.BACK?a=r(a,+o.n):this.face===c.LEFT&&(a=r(a,-o.d)),p=Math.sin(s),y=Math.cos(s),v=Math.sin(a),_=Math.cos(a),d=y*_,m=y*v,b=p,this.face===c.FRONT?(h=Math.acos(d),i=n(h,b,m,f)):this.face===c.RIGHT?(h=Math.acos(m),i=n(h,b,-d,f)):this.face===c.BACK?(h=Math.acos(-d),i=n(h,b,-m,f)):this.face===c.LEFT?(h=Math.acos(-m),i=n(h,b,d,f)):(h=i=0,f.value=u.AREA_0)}return l=Math.atan(12/o.n*(i+Math.acos(Math.sin(i)*Math.cos(o.c))-o.d)),e=Math.sqrt((1-Math.cos(h))/(Math.cos(l)*Math.cos(l))/(1-Math.cos(Math.atan(1/Math.cos(i))))),f.value===u.AREA_1?l+=o.d:f.value===u.AREA_2?l+=o.n:f.value===u.AREA_3&&(l+=1.5*o.n),M.x=e*Math.cos(l),M.y=e*Math.sin(l),M.x=M.x*this.a+this.x0,M.y=M.y*this.a+this.y0,t.x=M.x,t.y=M.y,t}function e(t){var s,a,i,h,e,n,l,M,f,d={lam:0,phi:0},m={value:0};if(t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,a=Math.atan(Math.sqrt(t.x*t.x+t.y*t.y)),s=Math.atan2(t.y,t.x),t.x>=0&&t.x>=Math.abs(t.y)?m.value=u.AREA_0:t.y>=0&&t.y>=Math.abs(t.x)?(m.value=u.AREA_1,s-=o.d):t.x<0&&-t.x>=Math.abs(t.y)?(m.value=u.AREA_2,s=s<0?s+o.n:s-o.n):(m.value=u.AREA_3,s+=o.d),f=o.n/12*Math.tan(s),e=Math.sin(f)/(Math.cos(f)-1/Math.sqrt(2)),n=Math.atan(e),i=Math.cos(s),h=Math.tan(a),l=1-i*i*h*h*(1-Math.cos(Math.atan(1/Math.cos(n)))),l<-1?l=-1:l>1&&(l=1),this.face===c.TOP)M=Math.acos(l),d.phi=o.d-M,m.value===u.AREA_0?d.lam=n+o.d:m.value===u.AREA_1?d.lam=n<0?n+o.n:n-o.n:m.value===u.AREA_2?d.lam=n-o.d:d.lam=n;else if(this.face===c.BOTTOM)M=Math.acos(l),d.phi=M-o.d,m.value===u.AREA_0?d.lam=-n+o.d:m.value===u.AREA_1?d.lam=-n:m.value===u.AREA_2?d.lam=-n-o.d:d.lam=n<0?-n-o.n:-n+o.n;else{var b,p,y;b=l,f=b*b,y=f>=1?0:Math.sqrt(1-f)*Math.sin(n),f+=y*y,p=f>=1?0:Math.sqrt(1-f),m.value===u.AREA_1?(f=p,p=-y,y=f):m.value===u.AREA_2?(p=-p,y=-y):m.value===u.AREA_3&&(f=p,p=y,y=-f),this.face===c.RIGHT?(f=b,b=-p,p=f):this.face===c.BACK?(b=-b,p=-p):this.face===c.LEFT&&(f=b,b=p,p=-f),d.phi=Math.acos(-y)-o.d,d.lam=Math.atan2(p,b),this.face===c.RIGHT?d.lam=r(d.lam,-o.d):this.face===c.BACK?d.lam=r(d.lam,-o.n):this.face===c.LEFT&&(d.lam=r(d.lam,+o.d))}if(0!==this.es){var v,_,g;v=d.phi<0?1:0,_=Math.tan(d.phi),g=this.b/Math.sqrt(_*_+this.one_minus_f_squared),d.phi=Math.atan(Math.sqrt(this.a*this.a-g*g)/(this.one_minus_f*g)),v&&(d.phi=-d.phi)}return d.lam+=this.long0,t.x=d.lam,t.y=d.phi,t}function n(t,s,a,i){var h;return to.c&&h<=o.d+o.c?(i.value=u.AREA_1,h-=o.d):h>o.d+o.c||h<=-(o.d+o.c)?(i.value=u.AREA_2,h=h>=0?h-o.n:h+o.n):(i.value=u.AREA_3,h+=o.d)),h}function r(t,s){var a=t+s;return a<-o.n?a+=o.o:a>+o.n&&(a-=o.o),a}var o=a("JAmm"),c={FRONT:1,RIGHT:2,BACK:3,LEFT:4,TOP:5,BOTTOM:6},u={AREA_0:1,AREA_1:2,AREA_2:3,AREA_3:4},l=["Quadrilateralized Spherical Cube","Quadrilateralized_Spherical_Cube","qsc"];s.a={init:i,forward:h,inverse:e,names:l}},mVlP:function(t,s,a){"use strict";s.a=function(t){return.05859375*t*t*(1+.75*t)}},mXXX:function(t,s,a){"use strict";function i(){}function h(t){for(var s=t.x,a=t.y,i=Object(n.a)(s-this.long0),h=a,e=Math.PI*Math.sin(a);;){var o=-(h+Math.sin(h)-e)/(1+Math.cos(h));if(h+=o,Math.abs(o).999999999999&&(a=.999999999999),s=Math.asin(a);var i=Object(n.a)(this.long0+t.x/(.900316316158*this.a*Math.cos(s)));i<-Math.PI&&(i=-Math.PI),i>Math.PI&&(i=Math.PI),a=(2*s+Math.sin(2*s))/Math.PI,Math.abs(a)>1&&(a=1);var h=Math.asin(a);return t.x=i,t.y=h,t}var n=a("gkMG"),r=a("JAmm"),o=["Mollweide","moll"];s.a={init:i,forward:h,inverse:e,names:o}},nbI8:function(t,s,a){"use strict";function i(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Equidistant Cylindrical (Plate Carre)",this.rc=Math.cos(this.lat_ts)}function h(t){var s=t.x,a=t.y,i=Object(n.a)(s-this.long0),h=Object(r.a)(a-this.lat0);return t.x=this.x0+this.a*i*this.rc,t.y=this.y0+this.a*h,t}function e(t){var s=t.x,a=t.y;return t.x=Object(n.a)(this.long0+(s-this.x0)/(this.a*this.rc)),t.y=Object(r.a)(this.lat0+(a-this.y0)/this.a),t}var n=a("gkMG"),r=a("thK1"),o=["Equirectangular","Equidistant_Cylindrical","eqc"];s.a={init:i,forward:h,inverse:e,names:o}},nvAS:function(t,s,a){"use strict";var i=a("5yIP"),h=a("e5sF"),e=a("ajw1"),n=a("PVsz"),r=a("Agrq"),o=a("V3HB"),c=a("4II5"),u=a("Ecs/"),l=a("Ejdv");i.a.defaultDatum="WGS84",i.a.Proj=h.a,i.a.WGS84=new i.a.Proj("WGS84"),i.a.Point=e.a,i.a.toPoint=n.a,i.a.defs=r.a,i.a.transform=o.a,i.a.mgrs=c.a,i.a.version=u.a,Object(l.a)(i.a),s.a=i.a},osfr:function(t,s,a){"use strict";function i(t,s,a,i,e,n){var r={};return r.datum_type=void 0===t||"none"===t?h.g:h.h,s&&(r.datum_params=s.map(parseFloat),0===r.datum_params[0]&&0===r.datum_params[1]&&0===r.datum_params[2]||(r.datum_type=h.e),r.datum_params.length>3&&(0===r.datum_params[3]&&0===r.datum_params[4]&&0===r.datum_params[5]&&0===r.datum_params[6]||(r.datum_type=h.f,r.datum_params[3]*=h.l,r.datum_params[4]*=h.l,r.datum_params[5]*=h.l,r.datum_params[6]=r.datum_params[6]/1e6+1))),r.a=a,r.b=i,r.es=e,r.ep2=n,r}var h=a("JAmm");s.a=i},qONe:function(t,s,a){"use strict";function i(t,s){if(t[s])return t[s];for(var a,i=Object.keys(t),e=s.toLowerCase().replace(h,""),n=-1;++n0&&(a=2*Math.atan(i*Object(n.a)(this.e*Math.sin(t.y),-.5*this.e))-r.d,!(Math.abs(a-t.y)<1e-14));--h)t.y=a;return h?(t.x=s,t.y=a,t):null}var n=a("qRBh"),r=a("JAmm"),o=20,c=["gauss"];s.a={init:i,forward:h,inverse:e,names:c}},thK1:function(t,s,a){"use strict";var i=a("JAmm"),h=a("cBUL");s.a=function(t){return Math.abs(t)0||Math.abs(r)<=o.b?(c=this.x0+this.a*e*a*Math.sin(i)/r,u=this.y0+this.a*e*(this.cos_p14*s-this.sin_p14*a*h)/r):(c=this.x0+this.infinity_dist*a*Math.sin(i),u=this.y0+this.infinity_dist*(this.cos_p14*s-this.sin_p14*a*h)),t.x=c,t.y=u,t}function e(t){var s,a,i,h,e,o;return t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,t.x/=this.k0,t.y/=this.k0,(s=Math.sqrt(t.x*t.x+t.y*t.y))?(h=Math.atan2(s,this.rc),a=Math.sin(h),i=Math.cos(h),o=Object(r.a)(i*this.sin_p14+t.y*a*this.cos_p14/s),e=Math.atan2(t.x*a,s*this.cos_p14*i-t.y*this.sin_p14*a),e=Object(n.a)(this.long0+e)):(o=this.phic0,e=0),t.x=e,t.y=o,t}var n=a("gkMG"),r=a("UKTL"),o=a("JAmm"),c=["gnom"];s.a={init:i,forward:h,inverse:e,names:c}},wVGX:function(t,s,a){"use strict";function i(){Math.abs(this.lat1+this.lat2)=0?(a=Math.sqrt(t.x*t.x+t.y*t.y),s=1):(a=-Math.sqrt(t.x*t.x+t.y*t.y),s=-1);var e=0;if(0!==a&&(e=Math.atan2(s*t.x,s*t.y)),this.sphere)return h=Object(M.a)(this.long0+e/this.ns),i=Object(f.a)(this.g-a/this.a),t.x=h,t.y=i,t;var n=this.g-a/this.a;return i=Object(d.a)(n,this.e0,this.e1,this.e2,this.e3),h=Object(M.a)(this.long0+e/this.ns),t.x=h,t.y=i,t}var n=a("d3I4"),r=a("i5uR"),o=a("mVlP"),c=a("fGox"),u=a("IXc0"),l=a("frGE"),M=a("gkMG"),f=a("thK1"),d=a("ReQ3"),m=a("JAmm"),b=["Equidistant_Conic","eqdc"];s.a={init:i,forward:h,inverse:e,names:b}},xIMV:function(t,s,a){"use strict";s.a=function(t){var s=1+t,a=s-1;return 0===a?t:t*Math.log(s)/a}},y0ft:function(t,s,a){"use strict";function i(){this.no_off=this.no_off||!1,this.no_rot=this.no_rot||!1,isNaN(this.k0)&&(this.k0=1);var t=Math.sin(this.lat0),s=Math.cos(this.lat0),a=this.e*t;this.bl=Math.sqrt(1+this.es/(1-this.es)*Math.pow(s,4)),this.al=this.a*this.bl*this.k0*Math.sqrt(1-this.es)/(1-a*a);var i=Object(n.a)(this.e,this.lat0,t),h=this.bl/s*Math.sqrt((1-this.es)/(1-a*a));h*h<1&&(h=1);var e,o;if(isNaN(this.longc)){var c=Object(n.a)(this.e,this.lat1,Math.sin(this.lat1)),u=Object(n.a)(this.e,this.lat2,Math.sin(this.lat2));this.lat0>=0?this.el=(h+Math.sqrt(h*h-1))*Math.pow(i,this.bl):this.el=(h-Math.sqrt(h*h-1))*Math.pow(i,this.bl);var l=Math.pow(c,this.bl),M=Math.pow(u,this.bl);e=this.el/l,o=.5*(e-1/e);var f=(this.el*this.el-M*l)/(this.el*this.el+M*l),d=(M-l)/(M+l),m=Object(r.a)(this.long1-this.long2);this.long0=.5*(this.long1+this.long2)-Math.atan(f*Math.tan(.5*this.bl*m)/d)/this.bl,this.long0=Object(r.a)(this.long0);var b=Object(r.a)(this.long1-this.long0);this.gamma0=Math.atan(Math.sin(this.bl*b)/o),this.alpha=Math.asin(h*Math.sin(this.gamma0))}else e=this.lat0>=0?h+Math.sqrt(h*h-1):h-Math.sqrt(h*h-1),this.el=e*Math.pow(i,this.bl),o=.5*(e-1/e),this.gamma0=Math.asin(Math.sin(this.alpha)/h),this.long0=this.longc-Math.asin(o*Math.tan(this.gamma0))/this.bl;this.no_off?this.uc=0:this.lat0>=0?this.uc=this.al/this.bl*Math.atan2(Math.sqrt(h*h-1),Math.cos(this.alpha)):this.uc=-1*this.al/this.bl*Math.atan2(Math.sqrt(h*h-1),Math.cos(this.alpha))}function h(t){var s,a,i,h=t.x,e=t.y,o=Object(r.a)(h-this.long0);if(Math.abs(Math.abs(e)-c.d)<=c.b)i=e>0?-1:1,a=this.al/this.bl*Math.log(Math.tan(c.c+i*this.gamma0*.5)),s=-1*i*c.d*this.al/this.bl;else{var u=Object(n.a)(this.e,e,Math.sin(e)),l=this.el/Math.pow(u,this.bl),M=.5*(l-1/l),f=.5*(l+1/l),d=Math.sin(this.bl*o),m=(M*Math.sin(this.gamma0)-d*Math.cos(this.gamma0))/f;a=Math.abs(Math.abs(m)-1)<=c.b?Number.POSITIVE_INFINITY:.5*this.al*Math.log((1-m)/(1+m))/this.bl,s=Math.abs(Math.cos(this.bl*o))<=c.b?this.al*this.bl*o:this.al*Math.atan2(M*Math.cos(this.gamma0)+d*Math.sin(this.gamma0),Math.cos(this.bl*o))/this.bl}return this.no_rot?(t.x=this.x0+s,t.y=this.y0+a):(s-=this.uc,t.x=this.x0+a*Math.cos(this.alpha)+s*Math.sin(this.alpha),t.y=this.y0+s*Math.cos(this.alpha)-a*Math.sin(this.alpha)),t}function e(t){var s,a;this.no_rot?(a=t.y-this.y0,s=t.x-this.x0):(a=(t.x-this.x0)*Math.cos(this.alpha)-(t.y-this.y0)*Math.sin(this.alpha),s=(t.y-this.y0)*Math.cos(this.alpha)+(t.x-this.x0)*Math.sin(this.alpha),s+=this.uc);var i=Math.exp(-1*this.bl*a/this.al),h=.5*(i-1/i),e=.5*(i+1/i),n=Math.sin(this.bl*s/this.al),u=(n*Math.cos(this.gamma0)+h*Math.sin(this.gamma0))/e,l=Math.pow(this.el/Math.sqrt((1+u)/(1-u)),1/this.bl);return Math.abs(u-1)0){var s;switch(this.qp=Object(c.a)(this.e,1),this.mmf=.5/(1-this.es),this.apa=n(this.es),this.mode){case this.N_POLE:case this.S_POLE:this.dd=1;break;case this.EQUIT:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case this.OBLIQ:this.rq=Math.sqrt(.5*this.qp),s=Math.sin(this.lat0),this.sinb1=Object(c.a)(this.e,s)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*s*s)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd}}else this.mode===this.OBLIQ&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))}function h(t){var s,a,i,h,e,n,r,l,M,f,d=t.x,m=t.y;if(d=Object(u.a)(d-this.long0),this.sphere){if(e=Math.sin(m),f=Math.cos(m),i=Math.cos(d),this.mode===this.OBLIQ||this.mode===this.EQUIT){if((a=this.mode===this.EQUIT?1+f*i:1+this.sinph0*e+this.cosph0*f*i)<=o.b)return null;a=Math.sqrt(2/a),s=a*f*Math.sin(d),a*=this.mode===this.EQUIT?e:this.cosph0*e-this.sinph0*f*i}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(i=-i),Math.abs(m+this.phi0)=0?(s=(M=Math.sqrt(n))*h,a=i*(this.mode===this.S_POLE?M:-M)):s=a=0}}return t.x=this.a*s+this.x0,t.y=this.a*a+this.y0,t}function e(t){t.x-=this.x0,t.y-=this.y0;var s,a,i,h,e,n,c,l=t.x/this.a,M=t.y/this.a;if(this.sphere){var f,d=0,m=0;if(f=Math.sqrt(l*l+M*M),(a=.5*f)>1)return null;switch(a=2*Math.asin(a),this.mode!==this.OBLIQ&&this.mode!==this.EQUIT||(m=Math.sin(a),d=Math.cos(a)),this.mode){case this.EQUIT:a=Math.abs(f)<=o.b?0:Math.asin(M*m/f),l*=m,M=d*f;break;case this.OBLIQ:a=Math.abs(f)<=o.b?this.phi0:Math.asin(d*this.sinph0+M*m*this.cosph0/f),l*=m*this.cosph0,M=(d-Math.sin(a)*this.sinph0)*f;break;case this.N_POLE:M=-M,a=o.d-a;break;case this.S_POLE:a-=o.d}s=0!==M||this.mode!==this.EQUIT&&this.mode!==this.OBLIQ?Math.atan2(l,M):0}else{if(c=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(l/=this.dd,M*=this.dd,(n=Math.sqrt(l*l+M*M))=15?null:t}var n=a("gkMG"),r=["Krovak","krovak"];s.a={init:i,forward:h,inverse:e,names:r}},zevH:function(t,s,a){"use strict";s.a=function(t,s){t=t||{};var a,i;if(!s)return t;for(i in s)void 0!==(a=s[i])&&(t[i]=a);return t}},zrKp:function(t,s,a){"use strict";s.a=function(t,s,a,i){return a*=s,s*=s,i[0]*t-a*(i[1]+s*(i[2]+s*(i[3]+s*i[4])))}}}); \ No newline at end of file diff --git a/web/modules/custom/hoeringsportal_data/hoeringsportal_data.libraries.yml b/web/modules/custom/hoeringsportal_data/hoeringsportal_data.libraries.yml index 301d54d3c..9c61ca2a7 100644 --- a/web/modules/custom/hoeringsportal_data/hoeringsportal_data.libraries.yml +++ b/web/modules/custom/hoeringsportal_data/hoeringsportal_data.libraries.yml @@ -1,5 +1,4 @@ hearing-edit: - version: VERSION css: theme: build/hearing-edit.css: {} diff --git a/web/modules/custom/hoeringsportal_data/src/Plugin/Field/FieldWidget/MapDefaultWidget.php b/web/modules/custom/hoeringsportal_data/src/Plugin/Field/FieldWidget/MapDefaultWidget.php index bb61a2893..49ee9e1fd 100644 --- a/web/modules/custom/hoeringsportal_data/src/Plugin/Field/FieldWidget/MapDefaultWidget.php +++ b/web/modules/custom/hoeringsportal_data/src/Plugin/Field/FieldWidget/MapDefaultWidget.php @@ -76,7 +76,9 @@ public function formElement(FieldItemListInterface $items, $delta, array $elemen ]), '#states' => [ 'visible' => [ - ':input[name="' . $parentNameSelector . '[type]"]' => ['value' => MapItem::TYPE_GEOJSON], + ':input[name="' . $parentNameSelector . '[type]"]' => [ + 'value' => MapItem::TYPE_GEOJSON, + ], ], ], ]; diff --git a/web/modules/custom/hoeringsportal_dialogue/hoeringsportal_dialogue.info.yml b/web/modules/custom/hoeringsportal_dialogue/hoeringsportal_dialogue.info.yml new file mode 100755 index 000000000..d0897cf36 --- /dev/null +++ b/web/modules/custom/hoeringsportal_dialogue/hoeringsportal_dialogue.info.yml @@ -0,0 +1,5 @@ +name: Hoeringsportal dialogue +type: module +description: "Dialogue functionality" +package: Hoeringsportal +core_version_requirement: ^10 || ^11 diff --git a/web/modules/custom/hoeringsportal_dialogue/hoeringsportal_dialogue.module b/web/modules/custom/hoeringsportal_dialogue/hoeringsportal_dialogue.module new file mode 100644 index 000000000..a4ffe085c --- /dev/null +++ b/web/modules/custom/hoeringsportal_dialogue/hoeringsportal_dialogue.module @@ -0,0 +1,33 @@ +dialogueProposalCreateAccess($account, $context, $entity_bundle); +} + +/** + * Implements hook_node_presave(). + */ +function hoeringsportal_dialogue_node_presave(EntityInterface $entity): void { + Drupal::service(DialogueHelper::class)->dialogueProposalPresave($entity); +} + +/** + * Implements hook_form_FORMID_alter(). + */ +function hoeringsportal_dialogue_form_node_dialogue_proposal_form_alter(array &$form, FormStateInterface $form_state) { + Drupal::service(DialogueHelper::class)->dialogueProposalFormAlter($form, $form_state); +} diff --git a/web/modules/custom/hoeringsportal_dialogue/hoeringsportal_dialogue.services.yml b/web/modules/custom/hoeringsportal_dialogue/hoeringsportal_dialogue.services.yml new file mode 100644 index 000000000..87bc9bc9f --- /dev/null +++ b/web/modules/custom/hoeringsportal_dialogue/hoeringsportal_dialogue.services.yml @@ -0,0 +1,9 @@ +services: + _defaults: + autowire: true + + Drupal\hoeringsportal_dialogue\Helper\DialogueHelper: + + Drupal\hoeringsportal_dialogue\Theme\ThemeDialogueNegotiator: + tags: + - { name: theme_negotiator, priority: 10 } diff --git a/web/modules/custom/hoeringsportal_dialogue/modules/hoeringsportal_dialogue_fixtures/hoeringsportal_dialogue_fixtures.info.yml b/web/modules/custom/hoeringsportal_dialogue/modules/hoeringsportal_dialogue_fixtures/hoeringsportal_dialogue_fixtures.info.yml new file mode 100644 index 000000000..5d5be9f54 --- /dev/null +++ b/web/modules/custom/hoeringsportal_dialogue/modules/hoeringsportal_dialogue_fixtures/hoeringsportal_dialogue_fixtures.info.yml @@ -0,0 +1,8 @@ +name: Hoeringsportal dialogue fixtures +type: module +description: "Provides dialogue fixtures for the site." +core_version_requirement: ^10 || ^11 +package: ITK +dependencies: + - content_fixtures:content_fixtures + - hoeringsportal_base_fixtures:hoeringsportal_base_fixtures diff --git a/web/modules/custom/hoeringsportal_dialogue/modules/hoeringsportal_dialogue_fixtures/hoeringsportal_dialogue_fixtures.services.yml b/web/modules/custom/hoeringsportal_dialogue/modules/hoeringsportal_dialogue_fixtures/hoeringsportal_dialogue_fixtures.services.yml new file mode 100644 index 000000000..7477e20d5 --- /dev/null +++ b/web/modules/custom/hoeringsportal_dialogue/modules/hoeringsportal_dialogue_fixtures/hoeringsportal_dialogue_fixtures.services.yml @@ -0,0 +1,19 @@ +services: + _defaults: + autowire: true + + Drupal\hoeringsportal_dialogue_fixtures\Fixture\DialogueFixture: + tags: + - { name: content_fixture } + + Drupal\hoeringsportal_dialogue_fixtures\Fixture\DialogueProposalFixture: + tags: + - { name: content_fixture } + + Drupal\hoeringsportal_dialogue_fixtures\Fixture\DialogueLandingPageFixture: + tags: + - { name: content_fixture } + + Drupal\hoeringsportal_dialogue_fixtures\Fixture\CommentFixture: + tags: + - { name: content_fixture } diff --git a/web/modules/custom/hoeringsportal_dialogue/modules/hoeringsportal_dialogue_fixtures/src/Fixture/CommentFixture.php b/web/modules/custom/hoeringsportal_dialogue/modules/hoeringsportal_dialogue_fixtures/src/Fixture/CommentFixture.php new file mode 100644 index 000000000..beed2a813 --- /dev/null +++ b/web/modules/custom/hoeringsportal_dialogue/modules/hoeringsportal_dialogue_fixtures/src/Fixture/CommentFixture.php @@ -0,0 +1,151 @@ + 'early_inclusion_comment', + 'field_name' => 'field_comments', + ]) + ->set('subject', '(No subject)') + ->set('entity_type', 'node') + ->set('entity_id', $this->getReference('node:dialogue_proposal:Titel på mit forslag')) + ->set('uid', 0) + ->set('status', 1) + ->set('field_comment', 'Det lyder som en god idé!'); + + $comment->save(); + $this->addReference('comment:early_inclusion_comment:1', $comment); + + $comment = Comment::create([ + 'comment_type' => 'early_inclusion_comment', + 'field_name' => 'field_comments', + ]) + ->set('subject', '(No subject)') + ->set('entity_type', 'node') + ->set('entity_id', $this->getReference('node:dialogue_proposal:Titel på mit forslag')) + ->set('uid', 0) + ->set('status', 1) + ->set('field_comment', 'Dette er en test kommentar med underkommentarer'); + + $comment->save(); + $this->addReference('comment:early_inclusion_comment:2', $comment); + + $comment = Comment::create([ + 'comment_type' => 'early_inclusion_comment', + 'field_name' => 'field_comments', + ]) + ->set('subject', '(No subject)') + ->set('entity_type', 'node') + ->set('entity_id', $this->getReference('node:dialogue_proposal:Titel på mit forslag')) + ->set('uid', 0) + ->set('status', 1) + ->set('field_comment', 'Dette er en kommentar til en kommentar') + ->set('pid', $this->getReference('comment:early_inclusion_comment:2')); + + $comment->save(); + $this->addReference('comment:early_inclusion_comment:3', $comment); + + $comment = Comment::create([ + 'comment_type' => 'early_inclusion_comment', + 'field_name' => 'field_comments', + ]) + ->set('subject', '(No subject)') + ->set('entity_type', 'node') + ->set('entity_id', $this->getReference('node:dialogue_proposal:Titel på mit forslag')) + ->set('uid', 0) + ->set('status', 1) + ->set('field_comment', 'Dette er en lang kommentar Det giver spændende muligheder som også lorem ipsum dolor sit amet, consectetur adipiscing elit. Convallis imperdiet erat nascetur condimentum quis non neque semper. Sit phasellus dictum ligula imperdiet sociis ac pretium pharetra. Ad pharetra luctus convallis eget nulla tincidunt euismod ligula. Dapibus bibendum quisque nisi est rhoncus pellentesque integer phasellus. Viverra integer nunc senectus dui bibendum porta mauris cras. Hendrerit class facilisi velit dignissim sit eget consectetur nulla.'); + + $comment->save(); + $this->addReference('comment:early_inclusion_comment:4', $comment); + + $comment = Comment::create([ + 'comment_type' => 'early_inclusion_comment', + 'field_name' => 'field_comments', + ]) + ->set('subject', '(No subject)') + ->set('entity_type', 'node') + ->set('entity_id', $this->getReference('node:dialogue_proposal:Titel på mit forslag')) + ->set('uid', 0) + ->set('status', 1) + ->set('field_comment', 'Og dette er en lang kommentar til en kommentar. Convallis imperdiet erat nascetur condimentum quis non neque semper. Sit phasellus dictum ligula imperdiet sociis ac pretium pharetra. Ad pharetra luctus convallis eget nulla tincidunt euismod ligula. Dapibus bibendum quisque nisi est rhoncus pellentesque integer phasellus. Viverra integer nunc senectus dui bibendum porta mauris cras. Hendrerit class facilisi velit dignissim sit eget consectetur nulla.') + ->set('pid', $this->getReference('comment:early_inclusion_comment:2')); + $comment->save(); + $this->addReference('comment:early_inclusion_comment:5', $comment); + + $comment = Comment::create([ + 'comment_type' => 'early_inclusion_comment', + 'field_name' => 'field_comments', + ]) + ->set('subject', '(No subject)') + ->set('entity_type', 'node') + ->set('entity_id', $this->getReference('node:dialogue_proposal:Titel på mit forslag')) + ->set('uid', 0) + ->set('status', 1) + ->set('field_comment', 'Det lyder som en god idé!'); + + $comment->save(); + $this->addReference('comment:early_inclusion_comment:6', $comment); + + $comment = Comment::create([ + 'comment_type' => 'early_inclusion_comment', + 'field_name' => 'field_comments', + ]) + ->set('subject', '(No subject)') + ->set('entity_type', 'node') + ->set('entity_id', $this->getReference('node:dialogue_proposal:Titel på mit forslag')) + ->set('uid', 0) + ->set('status', 1) + ->set('field_comment', 'Det lyder som en god idé!'); + + $comment->save(); + $this->addReference('comment:early_inclusion_comment:7', $comment); + + $comment = Comment::create([ + 'comment_type' => 'early_inclusion_comment', + 'field_name' => 'field_comments', + ]) + ->set('subject', '(No subject)') + ->set('entity_type', 'node') + ->set('entity_id', $this->getReference('node:dialogue_proposal:Titel på mit forslag')) + ->set('uid', 0) + ->set('status', 1) + ->set('field_comment', 'Det lyder som en god idé!'); + + $comment->save(); + $this->addReference('comment:early_inclusion_comment:8', $comment); + } + + /** + * {@inheritdoc} + */ + public function getDependencies() { + return [ + DialogueProposalFixture::class, + ]; + } + + /** + * {@inheritdoc} + */ + public function getGroups() { + return ['comment']; + } + +} diff --git a/web/modules/custom/hoeringsportal_dialogue/modules/hoeringsportal_dialogue_fixtures/src/Fixture/DialogueFixture.php b/web/modules/custom/hoeringsportal_dialogue/modules/hoeringsportal_dialogue_fixtures/src/Fixture/DialogueFixture.php new file mode 100644 index 000000000..a162ac2bd --- /dev/null +++ b/web/modules/custom/hoeringsportal_dialogue/modules/hoeringsportal_dialogue_fixtures/src/Fixture/DialogueFixture.php @@ -0,0 +1,137 @@ + 'content_block', + ]) + ->set('field_paragraph_title', 'Det er et godt spørgsmål …') + ->set('field_content_block_text', [ + 'value' => <<<'BODY' +

Sagittis mattis scelerisque habitasse elit etiam lobortis accumsan. Dignissim ac sapien potenti ipsum nam penatibus leo. Facilisi potenti laoreet et scelerisque sem felis rutrum.

+BODY, + 'format' => 'filtered_html', + ]); + $paragraph->save(); + + $node = Node::create([ + 'type' => 'dialogue', + 'title' => 'Test Dialogue - proposals full', + 'status' => TRUE, + 'field_teaser' => 'Test teaser', + 'field_area' => [ + $this->getReference('area:Hele kommunen'), + ], + 'field_top_images' => [ + $this->getReference('media:Large1'), + $this->getReference('media:Large2'), + $this->getReference('media:Large3'), + ], + 'field_type' => [ + $this->getReference('type:Klima'), + ], + 'field_dialogue_proposal_category' => [ + $this->getReference('dialogue_proposal_categories:Grønne pladser'), + $this->getReference('dialogue_proposal_categories:Regnvandsopsamling'), + $this->getReference('dialogue_proposal_categories:Parkeringspladser for elbiler'), + $this->getReference('dialogue_proposal_categories:Vedvarende Energi'), + ], + 'field_dialogue_proposal_config' => [ + ['value' => 'public_proposals'], + ['value' => 'use_image_on_proposals'], + ['value' => 'use_map_on_proposals'], + ], + 'field_dialogue_proposal_location' => [ + 'type' => 'point', + 'data' => '{"type":"Feature","properties":[],"geometry":{"type":"Point","coordinates":[10.2118737466156,56.15312642194584]}}', + 'point' => '{"type":"FeatureCollection","crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG::4326"}},"features":[{"type":"Feature","properties":{},"geometry":{"type":"Point","coordinates":[10.2118737466156,56.15312642194584]}}]}', + ], + 'field_dialogue_proposal_zoom' => 11, + 'field_content_sections' => [ + 'target_id' => $paragraph->id(), + 'target_revision_id' => $paragraph->getRevisionId(), + ], + ]); + + $node->save(); + $this->addReference('node:dialogue:Test Dialogue - proposals full', $node); + + $node = Node::create([ + 'type' => 'dialogue', + 'title' => 'Test Dialogue - proposals simple, private', + 'status' => TRUE, + 'field_teaser' => 'Test teaser', + 'field_area' => [ + $this->getReference('area:Hele kommunen'), + ], + 'field_top_images' => [ + $this->getReference('media:Large1'), + $this->getReference('media:Large2'), + $this->getReference('media:Large3'), + ], + 'field_type' => [ + $this->getReference('type:Klima'), + ], + 'field_dialogue_proposal_category' => [ + $this->getReference('dialogue_proposal_categories:Grønne pladser'), + $this->getReference('dialogue_proposal_categories:Biodiversitet Initiativer'), + $this->getReference('dialogue_proposal_categories:Cykelstier'), + $this->getReference('dialogue_proposal_categories:Regnvandsopsamling'), + $this->getReference('dialogue_proposal_categories:Parkeringspladser for elbiler'), + $this->getReference('dialogue_proposal_categories:Bæredygtig Belysning'), + $this->getReference('dialogue_proposal_categories:Energi Effektivisering'), + $this->getReference('dialogue_proposal_categories:Grønne Materialer'), + $this->getReference('dialogue_proposal_categories:Affaldshåndtering'), + $this->getReference('dialogue_proposal_categories:Vedvarende Energi'), + ], + 'field_dialogue_proposal_config' => [], + 'field_content_sections' => [ + 'target_id' => $paragraph->id(), + 'target_revision_id' => $paragraph->getRevisionId(), + ], + ]); + + $node->save(); + $this->addReference('node:dialogue:Test Dialogue - proposals simple, private', $node); + } + + /** + * {@inheritdoc} + */ + public function getDependencies() { + return [ + MediaFixture::class, + ParagraphFixture::class, + TermDialogueProposalCategoryFixture::class, + ]; + } + + /** + * {@inheritdoc} + */ + public function getGroups() { + return ['node']; + } + +} diff --git a/web/modules/custom/hoeringsportal_dialogue/modules/hoeringsportal_dialogue_fixtures/src/Fixture/DialogueLandingPageFixture.php b/web/modules/custom/hoeringsportal_dialogue/modules/hoeringsportal_dialogue_fixtures/src/Fixture/DialogueLandingPageFixture.php new file mode 100644 index 000000000..ddd1a1edd --- /dev/null +++ b/web/modules/custom/hoeringsportal_dialogue/modules/hoeringsportal_dialogue_fixtures/src/Fixture/DialogueLandingPageFixture.php @@ -0,0 +1,61 @@ + 'landing_page', + 'title' => 'Tidlig inddragelse', + 'field_teaser' => [ + 'value' => <<<'BODY' +I Aarhus ønsker vi lorem ipsum dolor sit amet, consectetur adipiscing elit. Sagittis mattis scelerisque habitasse elit etiam lobortis accumsan. Dignissim ac sapien potenti ipsum nam penatibus leo. +BODY + ], + 'field_media_image_single' => ['target_id' => $this->getReference('media:Large1')->id()], + 'field_section' => [ + [ + 'target_id' => $this->getReference('paragraph:content_list:all_early_inclusion')->id(), + 'target_revision_id' => $this->getReference('paragraph:content_list:all_early_inclusion')->getRevisionId(), + ], + ], + ]); + $entity->save(); + $this->addReference('node:landing_page:Dialogue proposals', $entity); + } + + /** + * {@inheritdoc} + */ + public function getDependencies() { + return [ + MediaFixture::class, + ParagraphFixture::class, + ]; + } + + /** + * {@inheritdoc} + */ + public function getGroups() { + return ['node']; + } + +} diff --git a/web/modules/custom/hoeringsportal_dialogue/modules/hoeringsportal_dialogue_fixtures/src/Fixture/DialogueProposalFixture.php b/web/modules/custom/hoeringsportal_dialogue/modules/hoeringsportal_dialogue_fixtures/src/Fixture/DialogueProposalFixture.php new file mode 100644 index 000000000..68c60d3eb --- /dev/null +++ b/web/modules/custom/hoeringsportal_dialogue/modules/hoeringsportal_dialogue_fixtures/src/Fixture/DialogueProposalFixture.php @@ -0,0 +1,159 @@ + 'dialogue_proposal', + 'title' => 'Titel på mit forslag', + 'status' => TRUE, + 'field_dialogue_proposal_descr' => 'Kort beskrivelse af sit amet, consectetur adipiscing elit. Sagittis mattis scelerisque habitasse elit etiam lobortis accumsan Sagittis mattis scelerisque habitasse elit etiam lobortis accumsan. +Dignissim ac sapien potenti ipsum nam penatibus leo. Facilisi potenti laoreet et scelerisque sem felis rutrum.', + 'field_dialogue_proposal_category' => [ + $this->getReference('dialogue_proposal_categories:Grønne pladser'), + $this->getReference('dialogue_proposal_categories:Cykelstier'), + $this->getReference('dialogue_proposal_categories:Regnvandsopsamling'), + $this->getReference('dialogue_proposal_categories:Bæredygtig Belysning'), + $this->getReference('dialogue_proposal_categories:Affaldshåndtering'), + ], + 'field_dialogue' => $this->getReference('node:dialogue:Test Dialogue - proposals full'), + 'field_image_upload' => ['target_id' => $this->getReference('file:large1.jpg')->id()], + 'field_location' => [ + 'type' => 'point', + 'data' => '{"type":"Feature","properties":[],"geometry":{"type":"Point","coordinates":[10.2118737466156,56.15312642194584]}}', + 'point' => '{"type":"FeatureCollection","crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG::4326"}},"features":[{"type":"Feature","properties":{},"geometry":{"type":"Point","coordinates":[10.2118737466156,56.15312642194584]}}]}', + ], + ]); + + $node->save(); + $this->addReference('node:dialogue_proposal:Titel på mit forslag', $node); + + $node = Node::create([ + 'type' => 'dialogue_proposal', + 'title' => 'Inspiration fra Tyskland', + 'status' => TRUE, + 'field_dialogue_proposal_descr' => 'I Tyskland har jeg set af sit amet, consectetur adipiscing elit. Sagittis mattis scelerisque habitasse elit etiam lobortis accumsan. +Dignissim ac sapien potenti ipsum nam penatibus leo. Facilisi potenti laoreet et scelerisque sem felis rutrum.', + 'field_dialogue_proposal_category' => [ + $this->getReference('dialogue_proposal_categories:Grønne pladser'), + $this->getReference('dialogue_proposal_categories:Biodiversitet Initiativer'), + $this->getReference('dialogue_proposal_categories:Cykelstier'), + $this->getReference('dialogue_proposal_categories:Regnvandsopsamling'), + $this->getReference('dialogue_proposal_categories:Bæredygtig Belysning'), + $this->getReference('dialogue_proposal_categories:Affaldshåndtering'), + ], + 'field_dialogue' => $this->getReference('node:dialogue:Test Dialogue - proposals full'), + 'field_image_upload' => ['target_id' => $this->getReference('file:trafic.jpg')->id()], + 'field_location' => [ + 'type' => 'point', + 'data' => '{"type":"Feature","properties":[],"geometry":{"type":"Point","coordinates":[10.2118737466156,56.15312642194584]}}', + 'point' => '{"type":"FeatureCollection","crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG::4326"}},"features":[{"type":"Feature","properties":{},"geometry":{"type":"Point","coordinates":[10.2118737466156,56.15312642194584]}}]}', + ], + ]); + + $node->save(); + $this->addReference('node:dialogue_proposal:Inspiration fra Tyskland', $node); + + $node = Node::create([ + 'type' => 'dialogue_proposal', + 'title' => 'Test Dialogue proposal 1', + 'status' => TRUE, + 'field_dialogue_proposal_descr' => 'I Tyskland har jeg set af sit amet, consectetur adipiscing elit. Sagittis mattis scelerisque habitasse elit etiam lobortis accumsan. +Dignissim ac sapien potenti ipsum nam penatibus leo. Facilisi potenti laoreet et scelerisque sem felis rutrum.', + 'field_dialogue_proposal_category' => [ + $this->getReference('dialogue_proposal_categories:Grønne pladser'), + $this->getReference('dialogue_proposal_categories:Biodiversitet Initiativer'), + $this->getReference('dialogue_proposal_categories:Cykelstier'), + $this->getReference('dialogue_proposal_categories:Regnvandsopsamling'), + $this->getReference('dialogue_proposal_categories:Bæredygtig Belysning'), + $this->getReference('dialogue_proposal_categories:Affaldshåndtering'), + ], + 'field_dialogue' => $this->getReference('node:dialogue:Test Dialogue - proposals full'), + 'field_image_upload' => ['target_id' => $this->getReference('file:large2.jpg')->id()], + 'field_location' => [ + 'type' => 'point', + 'data' => '{"type":"Feature","properties":[],"geometry":{"type":"Point","coordinates":[10.2118737466156,56.15312642194584]}}', + 'point' => '{"type":"FeatureCollection","crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG::4326"}},"features":[{"type":"Feature","properties":{},"geometry":{"type":"Point","coordinates":[10.2118737466156,56.15312642194584]}}]}', + ], + ]); + + $node->save(); + $this->addReference('node:dialogue_proposal:Test Dialogue proposal 1', $node); + + $node = Node::create([ + 'type' => 'dialogue_proposal', + 'title' => 'Test Dialogue proposal full', + 'status' => TRUE, + 'field_dialogue_proposal_descr' => 'I Tyskland har jeg set af sit amet, consectetur adipiscing elit. Sagittis mattis scelerisque habitasse elit etiam lobortis accumsan. +Dignissim ac sapien potenti ipsum nam penatibus leo. Facilisi potenti laoreet et scelerisque sem felis rutrum.', + 'field_dialogue_proposal_category' => [ + $this->getReference('dialogue_proposal_categories:Grønne pladser'), + $this->getReference('dialogue_proposal_categories:Biodiversitet Initiativer'), + ], + 'field_dialogue' => $this->getReference('node:dialogue:Test Dialogue - proposals full'), + 'field_image_upload' => ['target_id' => $this->getReference('file:large3.jpg')->id()], + 'field_location' => [ + 'type' => 'point', + 'data' => '{"type":"Feature","properties":[],"geometry":{"type":"Point","coordinates":[10.2118737466156,56.15312642194584]}}', + 'point' => '{"type":"FeatureCollection","crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG::4326"}},"features":[{"type":"Feature","properties":{},"geometry":{"type":"Point","coordinates":[10.2118737466156,56.15312642194584]}}]}', + ], + ]); + + $node->save(); + $this->addReference('node:dialogue_proposal:Test Dialogue proposal full', $node); + + $node = Node::create([ + 'type' => 'dialogue_proposal', + 'title' => 'Test Dialogue proposal simple', + 'status' => TRUE, + 'field_dialogue_proposal_descr' => 'I Tyskland har jeg set af sit amet, consectetur adipiscing elit. Sagittis mattis scelerisque habitasse elit etiam lobortis accumsan. +Dignissim ac sapien potenti ipsum nam penatibus leo. Facilisi potenti laoreet et scelerisque sem felis rutrum.', + 'field_dialogue_proposal_category' => [ + $this->getReference('dialogue_proposal_categories:Grønne pladser'), + $this->getReference('dialogue_proposal_categories:Biodiversitet Initiativer'), + $this->getReference('dialogue_proposal_categories:Cykelstier'), + $this->getReference('dialogue_proposal_categories:Regnvandsopsamling'), + $this->getReference('dialogue_proposal_categories:Bæredygtig Belysning'), + $this->getReference('dialogue_proposal_categories:Affaldshåndtering'), + ], + 'field_dialogue' => $this->getReference('node:dialogue:Test Dialogue - proposals simple, private'), + ]); + + $node->save(); + $this->addReference('node:dialogue_proposal:Test Dialogue proposal simple', $node); + } + + /** + * {@inheritdoc} + */ + public function getDependencies() { + return [ + TermDialogueProposalCategoryFixture::class, + DialogueFixture::class, + ]; + } + + /** + * {@inheritdoc} + */ + public function getGroups() { + return ['node']; + } + +} diff --git a/web/modules/custom/hoeringsportal_dialogue/src/Helper/DialogueHelper.php b/web/modules/custom/hoeringsportal_dialogue/src/Helper/DialogueHelper.php new file mode 100644 index 000000000..529a055c4 --- /dev/null +++ b/web/modules/custom/hoeringsportal_dialogue/src/Helper/DialogueHelper.php @@ -0,0 +1,226 @@ +getParentNode(); + $config = $this->getProposalConfig($parentNode); + + if (!in_array('public_proposals', $config)) { + return AccessResult::forbiddenIf($account->isAnonymous()); + } + + // Refuse to allow dialogue proposal creation if the parent dialogue is + // not set or not a dialogue. + return AccessResult::forbiddenIf(!$parentNode || !($parentNode->bundle() === 'dialogue')); + } + + return AccessResult::neutral(); + } + + /** + * Implements presave for dialogue proposal creation. + * + * @param \Drupal\Core\Entity\EntityInterface $entity + * An entity to presave. + */ + public function dialogueProposalPresave(EntityInterface $entity): void { + if ($this::DIALOGUE_PROPOSAL_TYPE === $entity->bundle()) { + $parentNode = $this->getParentNode(); + if ($parentNode) { + /**** @var \Drupal\node\Entity\Node $entity */ + $entity->set('field_dialogue', ['target_id' => $parentNode->id()]); + } + } + } + + /** + * Changes to the dialogue proposal form. + * + * @param array $form + * The form. + * @param \Drupal\Core\Form\FormStateInterface $form_state + * The state of the form. + */ + public function dialogueProposalFormAlter(array &$form, FormStateInterface $form_state): void { + // Disable form cache to prevent serialization error on file upload. + $form_state->disableCache(); + + foreach ($form as $key => $formPart) { + if (is_array($formPart) && isset($formPart['widget'])) { + $this->modifyRequired($form, $key, $formPart['widget']); + } + } + + $form['options']['#access'] = FALSE; + $form['advanced']['#access'] = FALSE; + $form['revision_log']['#access'] = FALSE; + $form['revision']['#access'] = FALSE; + $form['meta']['#access'] = FALSE; + + $form['field_image_upload']['widget']['#attributes']['drop_zone'] = TRUE; + $form['field_image_upload']['#drop_zone'] = TRUE; + $form['field_image_upload']['widget'][0]['value']['#attributes']['drop_zone'] = TRUE; + $form['field_dialogue_proposal_descr']['widget'][0]['value']['#description_display'] = 'before'; + $form['field_dialogue_proposal_category']['widget']['#description_position'] = 'top'; + $form['field_location']['widget'][0]['type']['#access'] = FALSE; + $form['field_location']['widget'][0]['geojson']['#access'] = FALSE; + $form['field_location']['widget'][0]['localplanids']['#access'] = FALSE; + $form['actions']['submit']['#submit'][] = [$this, 'formAlterSubmit']; + $form['actions']['submit']['#value'] = t('Send your proposal'); + $form['field_dialogue']['#access'] = FALSE; + + /** @var \Drupal\node\Entity\Node $parent */ + $parent = $this->getParentNode(); + + if ($parent) { + $config = $this->getProposalConfig($parent); + + if (!in_array('use_image_on_proposals', $config)) { + $form['field_image_upload']['#access'] = FALSE; + } + + if (!in_array('use_map_on_proposals', $config)) { + $form['field_location']['#access'] = FALSE; + } + + $parentLocationSelection = $parent->get('field_dialogue_proposal_location')->getValue(); + + $parentPoint = json_decode($parentLocationSelection[0]['point'] ?? ''); + $coordinates = $parentPoint->features[0]->geometry->coordinates ?? NULL; + + $parentZoomSelection = $parent->get('field_dialogue_proposal_zoom')->getValue(); + $form['field_location']['widget'][0]['point-widget']['#attributes']['data-map-config'] = json_encode([ + 'x' => $coordinates[0] ?? NULL, + 'y' => $coordinates[1] ?? NULL, + 'zoomLevel' => $parentZoomSelection[0]['value'] ?? 11, + ]); + } + + } + + /** + * Custom submit handler for dialog proposal form. + * + * @param array $form + * The form. + * @param \Drupal\Core\Form\FormStateInterface $form_state + * The state of the form. + */ + public function formAlterSubmit(array &$form, FormStateInterface $form_state): void { + $parentNode = $this->getParentNode(); + + if ($parentNode) { + $form_state->setRedirect('entity.node.canonical', ['node' => $parentNode->id()]); + } + } + + /** + * Get parent node. + * + * @return \Drupal\Core\Entity\EntityInterface|null + * The parent node. + */ + private function getParentNode(): ?EntityInterface { + try { + $parentId = $this->requestStack->getCurrentRequest()->query->get('dialogue'); + if ($parentId && is_numeric($parentId)) { + return $this->entityTypeManager->getStorage('node')->load($parentId); + } + } + catch (\Exception $e) { + return NULL; + } + + return NULL; + } + + /** + * Get proposal config related to dialogue. + * + * @param \Drupal\Core\Entity\EntityInterface $parent + * The parent node. + * + * @return array + * the proposal config. + */ + private function getProposalConfig(EntityInterface $parent): array { + /** @var \Drupal\node\NodeInterface $parent */ + $parentConfig = $parent->get('field_dialogue_proposal_config')->getValue(); + + return array_map(static fn(array $value) => $value['value'], $parentConfig); + } + + /** + * Change display of required fields. + * + * @param array $form + * The full form. + * @param string $key + * The form field. + * @param array $widget + * The form widget to change. + */ + private function modifyRequired(array &$form, string $key, array $widget): void { + if (!isset($widget['#required']) || !$widget['#required']) { + if (isset($widget['#title'])) { + $widget['#title'] = $widget['#title'] . '(' . $this->t('optional') . ')'; + } + if (isset($widget[0]['#title'])) { + $widget[0]['#title'] = $widget[0]['#title'] . '(' . $this->t('optional') . ')'; + } + } + + $form[$key]['widget'] = $widget; + } + +} diff --git a/web/modules/custom/hoeringsportal_dialogue/src/Theme/ThemeDialogueNegotiator.php b/web/modules/custom/hoeringsportal_dialogue/src/Theme/ThemeDialogueNegotiator.php new file mode 100644 index 000000000..74e74d284 --- /dev/null +++ b/web/modules/custom/hoeringsportal_dialogue/src/Theme/ThemeDialogueNegotiator.php @@ -0,0 +1,38 @@ +getRouteName() && DialogueHelper::DIALOGUE_PROPOSAL_TYPE === $route_match->getParameter('node_type')->id()) { + return TRUE; + } + + return FALSE; + } + + /** + * Determine the active theme. + * + * @param \Drupal\Core\Routing\RouteMatchInterface $route_match + * The route. + * + * @return string + * Machine name of theme. + */ + public function determineActiveTheme(RouteMatchInterface $route_match): string { + return 'hoeringsportal'; + } + +} diff --git a/web/modules/custom/hoeringsportal_forms/hoeringsportal_forms.module b/web/modules/custom/hoeringsportal_forms/hoeringsportal_forms.module index 796324d8c..124a6883a 100644 --- a/web/modules/custom/hoeringsportal_forms/hoeringsportal_forms.module +++ b/web/modules/custom/hoeringsportal_forms/hoeringsportal_forms.module @@ -28,6 +28,9 @@ function hoeringsportal_forms_theme_suggestions_alter(array &$suggestions, array if ($variables['form']['#form_id'] == 'node_public_meeting_form' || $variables['form']['#form_id'] == 'node_public_meeting_edit_form') { $suggestions[] = $hook . '__hoeringsportal_public_meeting'; } + if ($variables['form']['#form_id'] == 'node_dialogue_form' || $variables['form']['#form_id'] == 'node_dialogue_edit_form') { + $suggestions[] = $hook . '__hoeringsportal_dialogue'; + } } return $suggestions; @@ -52,6 +55,9 @@ function hoeringsportal_forms_theme($existing, $type, $theme, $path) { 'node_edit_form__hoeringsportal_public_meeting' => [ 'render element' => 'form', ], + 'node_edit_form__hoeringsportal_dialogue' => [ + 'render element' => 'form', + ], ]; } diff --git a/web/modules/custom/hoeringsportal_forms/templates/node-edit-form--hoeringsportal-dialogue.html.twig b/web/modules/custom/hoeringsportal_forms/templates/node-edit-form--hoeringsportal-dialogue.html.twig new file mode 100644 index 000000000..255534ff9 --- /dev/null +++ b/web/modules/custom/hoeringsportal_forms/templates/node-edit-form--hoeringsportal-dialogue.html.twig @@ -0,0 +1,15 @@ +{% extends '@claro/node-edit-form.html.twig' %} + +{% block main %} + {{ form|without('advanced', 'group_information', 'group_system_settings', 'actions') }} +{% endblock %} + +{% block secondary %} + {{ form.advanced }} + {{ form.group_information }} + {{ form.group_system_settings }} +{% endblock %} + +{% block footer %} + {{ form.actions }} +{% endblock %} diff --git a/web/themes/custom/hoeringsportal/assets/css/_base.scss b/web/themes/custom/hoeringsportal/assets/css/_base.scss index 5f7a9eb85..cb5bbd529 100644 --- a/web/themes/custom/hoeringsportal/assets/css/_base.scss +++ b/web/themes/custom/hoeringsportal/assets/css/_base.scss @@ -42,3 +42,16 @@ a { .text-decoration-underline { text-decoration: underline; } + +.text-decoration-none { + text-decoration: none; +} + +.ui-dialog-titlebar { + background-color: $white; + border: 0; +} + +.ui-button-icon { + background-color: $white; +} diff --git a/web/themes/custom/hoeringsportal/assets/css/_bootstrap-custom.scss b/web/themes/custom/hoeringsportal/assets/css/_bootstrap-custom.scss index 7ba900071..0516dc850 100755 --- a/web/themes/custom/hoeringsportal/assets/css/_bootstrap-custom.scss +++ b/web/themes/custom/hoeringsportal/assets/css/_bootstrap-custom.scss @@ -52,9 +52,13 @@ $red: #d32f2f; $red-light: #f2c0c0; $color-white: $white; $color-petroleum-100: oklch(98% 0.017 196.88); +$color-petroleum-200: oklch(90% 0.017 196.88); +$color-petroleum-800: oklch(43% 0.063 196.55); +$color-petroleum-900: oklch(30% 0.0406 197.75); $color-peach-100: oklch(94% 0.02 56.12); $color-peach-200: oklch(90% 0.02 56.12); $color-peach-600: oklch(50% 0.02 56.12); +$color-blue-100: oklch(0.9429 0.01 212.52); $color-stone-100: oklch(96% 0 0); $color-stone-600: oklch(46% 0 0); diff --git a/web/themes/custom/hoeringsportal/assets/css/hoeringsportal.scss b/web/themes/custom/hoeringsportal/assets/css/hoeringsportal.scss index 22bae29d4..79fe25e4e 100755 --- a/web/themes/custom/hoeringsportal/assets/css/hoeringsportal.scss +++ b/web/themes/custom/hoeringsportal/assets/css/hoeringsportal.scss @@ -1,7 +1,7 @@ @import "custom-variables", "bootstrap-custom", "layout/aside", "layout/page-map", "layout/page-project", "base", "module/nav", "module/hero", "module/btn", "module/card", "module/footer", "module/content", - "module/drupal", "module/underline", "module/timeline", + "module/drupal", "module/underline", "module/timeline", "module/dialogue", "module/status-messages", "module/campaign", "module/splash", "module/lead", "module/line-clamp", "module/page-teaser", "module/responsive-image-as-background", "module/social-sharing-buttons", @@ -10,7 +10,7 @@ "module/paragraph-content-promotion", "module/paragraph-files", "module/paragraph-link", "module/info_box", "module/search", "module/search-page", "module/newsletter", "module/proposal", - "module/animation", "module/header-v2", + "module/animation", "module/header-v2", "module/animated-svg", "../../node_modules/slick-carousel/slick/slick"; // We have an issue similar to https://www.drupal.org/project/bootstrap_barrio/issues/3228330#comment-14770789 diff --git a/web/themes/custom/hoeringsportal/assets/css/module/_animated-svg.scss b/web/themes/custom/hoeringsportal/assets/css/module/_animated-svg.scss new file mode 100644 index 000000000..03a01b138 --- /dev/null +++ b/web/themes/custom/hoeringsportal/assets/css/module/_animated-svg.scss @@ -0,0 +1,102 @@ +a:has(svg) { + /* prettier-ignore */ + --ease-spring-lazy: linear(0, 0.008 1.1%, 0.034 2.3%, 0.134 4.9%, 0.264 7.3%, 0.683 14.3%, 0.797 16.5%, 0.89 18.6%, 0.967 20.7%, 1.027 22.8%, 1.073 25%, 1.104 27.3%, 1.123 30.6%, 1.119 34.3%, 1.018 49.5%, 0.988 58.6%, 0.985 65.2%, 1 84.5%, 1); + /* prettier-ignore */ + --ease-spring-glide: linear(0, 0.012 0.9%, 0.05 2%, 0.411 9.2%, 0.517 11.8%, 0.611 14.6%, 0.694 17.7%, 0.765 21.1%, 0.824 24.8%, 0.872 28.9%, 0.91 33.4%, 0.939 38.4%, 0.977 50.9%, 0.994 68.4%, 1); + --path-fill-color: white; + --path-stroke-color: var(--bs-secondary); + --sp2: 4px; + + display: flex; + gap: var(--sp2); + text-decoration: none; + + svg { + /* Comment */ + g.comment { + path { + transform-origin: bottom left; + stroke-width: 1.5px; + transition: stroke 200ms var(--ease-spring-glide); + } + } + + /* Reply */ + g.reply { + path { + transform-origin: center right; + stroke-width: 1.5px; + transition: stroke 200ms var(--ease-spring-glide); + } + } + + /* Thumbs up */ + g.thumbs-up { + path { + stroke-width: 1.5px; + stroke: var(--bs-secondary); + } + + path:first-of-type { + transform-origin: center left; + transition: fill 200ms var(--ease-spring-glide); + } + } + } + + /* Hover on */ + &:hover { + /* Comment hover */ + g.comment { + path { + animation: pop 400ms var(--ease-spring-lazy); + transition: fill 200ms 300ms var(--ease-spring-lazy); + fill: var(--bs-primary); + stroke: var(--bs-secondary); + } + } + + /* Reply hover */ + g.reply { + path { + animation: stretchX 400ms var(--ease-spring-lazy); + transition: fill 200ms 300ms var(--ease-spring-lazy); + fill: var(--bs-primary); + stroke: var(--bs-secondary); + } + } + + /* Thumbs-up hover */ + g.thumbs-up { + path:last-child { + transition: fill 200ms 200ms var(--ease-spring-lazy); + fill: var(--bs-primary); + } + path:first-of-type { + transform: rotate(-3deg); + transition: transform 200ms var(--ease-spring-lazy); + } + } + } +} + +/* Click on with thumbs-up svg */ +.liked a:has(svg) { + g.thumbs-up { + path:first-of-type { + animation: rotatePop 500ms var(--ease-spring-lazy); + } + path:last-child { + fill: var(--bs-primary); + } + } +} + +/* Thumbs-up already set*/ +.action-unflag a:has(svg) { + g.thumbs-up { + path:last-child { + fill: var(--bs-primary); + } + } +} diff --git a/web/themes/custom/hoeringsportal/assets/css/module/_animation.scss b/web/themes/custom/hoeringsportal/assets/css/module/_animation.scss index 0fc9ec220..82dcaa1ca 100644 --- a/web/themes/custom/hoeringsportal/assets/css/module/_animation.scss +++ b/web/themes/custom/hoeringsportal/assets/css/module/_animation.scss @@ -9,3 +9,42 @@ width: initial; } } + +@keyframes rotate { + to { + transform: rotate(-5deg); + } +} + +@keyframes pop { + 50% { + transform: scale(0.9); + } + 75% { + transform: scale(1.1); + } + 100% { + transform: scale(1); + } +} + +@keyframes rotatePop { + 50% { + transform: rotate(10deg) translateX(-1px); + } + 75% { + transform: scale(1.2) rotate(-10deg) translateX(-2px); + } + 100% { + transform: scale(1); + } +} + +@keyframes stretchX { + 50% { + transform: scaleX(1.1); + } + 100% { + transform: scaleX(1); + } +} diff --git a/web/themes/custom/hoeringsportal/assets/css/module/_btn.scss b/web/themes/custom/hoeringsportal/assets/css/module/_btn.scss index 4fe0e528e..a8480ffcc 100755 --- a/web/themes/custom/hoeringsportal/assets/css/module/_btn.scss +++ b/web/themes/custom/hoeringsportal/assets/css/module/_btn.scss @@ -18,3 +18,90 @@ } } } + +.btn-sm { + @extend .btn-sm; + + padding: $spacer * 0.5 $spacer * 0.75; + + &.btn-primary { + position: relative; + border: 0; + color: $white; + + &::after { + content: ""; + position: absolute; + bottom: 0; + left: 0; + height: 2px; + width: 100%; + background-color: transparent; + } + } +} + +.btn-toggle { + background: $color-petroleum-800; + border: none; + border-radius: 4px; + padding: 0; + cursor: pointer; + + &:has(input.btn-check:checked) { + background: $color-petroleum-900; + } + + input.btn-check { + &:checked + .toggle-badge { + color: white; + background-color: $color-petroleum-800; + border: 1px solid $color-petroleum-800; + transform: translateY(-2px); + + &:hover { + background-color: $color-petroleum-800; + } + } + } + + label.toggle-badge { + display: block; + background: white; + border-radius: 4px; + font-weight: 400; + font-size: $font-size-small; + border: 1px solid $color-petroleum-800; + color: $color-petroleum-800; + padding: 8px 12px; + margin-bottom: 0; + + @media (prefers-reduced-motion: no-preference) { + transition: + transform 300ms cubic-bezier(0.3, 0.7, 0.4, 1), + background-color 0.1s ease-in; + } + } + + &:hover label.toggle-badge { + color: $color-petroleum-800; + background-color: $color-petroleum-100; + border: 1px solid $color-petroleum-800; + + @media (prefers-reduced-motion: no-preference) { + transform: translateY(-2px); + transition: + transform 200ms cubic-bezier(0.3, 0.7, 0.4, 1.5), + background-color 0.2s ease-out; + } + } + + &:active label.toggle-badge { + @media (prefers-reduced-motion: no-preference) { + transform: translateY(-2px); + transition: + transform 34ms, + background-color 0.2s ease-out; + } + } +} diff --git a/web/themes/custom/hoeringsportal/assets/css/module/_card.scss b/web/themes/custom/hoeringsportal/assets/css/module/_card.scss index dcb561f6a..11128a01a 100755 --- a/web/themes/custom/hoeringsportal/assets/css/module/_card.scss +++ b/web/themes/custom/hoeringsportal/assets/css/module/_card.scss @@ -24,6 +24,10 @@ color: $primary; } + .text-dialogue { + color: $petroleum; + } + text-decoration: none; height: 100%; transition: box-shadow var(--transition-duration-in) diff --git a/web/themes/custom/hoeringsportal/assets/css/module/_dialogue.scss b/web/themes/custom/hoeringsportal/assets/css/module/_dialogue.scss new file mode 100644 index 000000000..0da7a8eb1 --- /dev/null +++ b/web/themes/custom/hoeringsportal/assets/css/module/_dialogue.scss @@ -0,0 +1,147 @@ +.proposal-layout { + max-width: 840px !important; +} + +.breadcrumb { + color: $color-petroleum-800; + + a { + color: inherit; + text-decoration: none; + } +} + +.flag-wrapper { + .flag a { + color: inherit; + text-decoration: none; + } + + .ajax-progress-throbber { + display: none; + } +} + +.node-dialogue-proposal-form { + .fieldset-legend { + font-size: 1rem; + font-weight: bold; + } + + label, + legend { + font-weight: 700; + margin-bottom: 0.5rem; + + span.optional { + margin-left: 0.5rem; + font-weight: normal; + } + } + + .form-required:after { + content: ""; + margin-bottom: 0.5rem; + } + + .image-widget { + @extend .d-flex; + @extend .flex-wrap; + + img { + margin-right: 4rem; + } + + .form-item { + @extend .flex-grow-1; + flex-basis: 50%; + } + + .file--image { + display: none; + } + + .js-form-submit { + flex-basis: 100%; + } + + .drop-message { + padding: 1rem; + } + + .button { + @extend .btn; + @extend .btn-primary; + + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: 0.2rem; + position: inherit; + + &:after { + display: none; + } + } + } + #edit-field-dialogue-proposal-category--wrapper .fieldset-wrapper { + display: flex; + flex-direction: column; + gap: $spacer; + + .form-checkboxes { + display: flex; + flex-wrap: wrap; + gap: $spacer; + order: 2; + } + .description { + order: 1; + } + } +} + +.dialogue-proposals { + font-size: $font-size-small; + + .card-text { + line-clamp: 3; + text-overflow: ellipsis; + -webkit-line-clamp: 3; + display: -webkit-box; + -webkit-box-orient: vertical; + height: 65px; + overflow: hidden; + } + + a { + color: inherit; + text-decoration: none; + } +} + +.proposal-category-items { + .badge { + border: 1px solid $color-petroleum-800; + color: $color-petroleum-800; + } +} + +.dialogue-proposal { + img { + height: auto; + width: 100%; + } + + #map { + height: 300px !important; + } + + .comments .indented { + border-left: 2px dashed $gray-600; + padding-left: 2em; + } + + .comments .comment-time { + color: $gray-600; + } +} diff --git a/web/themes/custom/hoeringsportal/assets/css/module/_header-v2.scss b/web/themes/custom/hoeringsportal/assets/css/module/_header-v2.scss index 4c08656e4..316cbc9be 100644 --- a/web/themes/custom/hoeringsportal/assets/css/module/_header-v2.scss +++ b/web/themes/custom/hoeringsportal/assets/css/module/_header-v2.scss @@ -2,19 +2,29 @@ .image-wrapper { max-height: 80vh; overflow: hidden; + } - img { - object-fit: cover; - width: 100%; - height: auto; - } + .image-wrapper-half { + max-height: 40vh; + overflow: hidden; + } + + img { + object-fit: cover; + width: 100%; + height: auto; } .content-wrapper { padding-top: $spacer * 2; padding-bottom: $spacer * 2; - background-color: $color-peach-100; - border-bottom: 5px solid $color-peach-200; + + background-color: $color-petroleum-100; + border-bottom: 5px solid $color-petroleum-200; + + .text-background-match { + color: $petroleum; + } @include media-breakpoint-up(md) { padding-top: $spacer * 5; @@ -26,6 +36,41 @@ margin-top: -$spacer * 5; } } + + .type { + color: $petroleum; + } + + .tags { + color: $color-petroleum-800; + overflow: hidden; + text-overflow: ellipsis; + height: 1.5rem; + white-space: nowrap; + background: none; + border: none; + font: inherit; + cursor: pointer; + outline: inherit; + text-align: left; + max-width: 50%; + + &:focus { + overflow: auto; + text-overflow: ellipsis; + height: auto; + white-space: wrap; + } + } + + &.type-project { + background-color: $color-peach-100; + border-bottom: 5px solid $color-peach-200; + + .text-background-match { + color: $color-peach-600; + } + } } h1 { diff --git a/web/themes/custom/hoeringsportal/assets/css/module/_image-fade.scss b/web/themes/custom/hoeringsportal/assets/css/module/_image-fade.scss new file mode 100644 index 000000000..30f9925e4 --- /dev/null +++ b/web/themes/custom/hoeringsportal/assets/css/module/_image-fade.scss @@ -0,0 +1,21 @@ +.image-fade { + height: 80vh; + overflow: hidden; +} + +.image-slide { + border: none; + opacity: 0; + position: absolute; + top: 0; + left: 0; + -webkit-transition: opacity 3s linear; + -moz-transition: opacity 3s linear; + -o-transition: opacity 3s linear; + transition: opacity 3s linear; + height: 100% !important; +} + +.show { + opacity: 1; +} diff --git a/web/themes/custom/hoeringsportal/assets/js/animated-svg.js b/web/themes/custom/hoeringsportal/assets/js/animated-svg.js new file mode 100644 index 000000000..ec06784bb --- /dev/null +++ b/web/themes/custom/hoeringsportal/assets/js/animated-svg.js @@ -0,0 +1,26 @@ +document.addEventListener( + "click", + function (e) { + // Find the closest tag that's inside .flag-wrapper + const link = e.target.closest(".flag-wrapper"); + + if (link) { + // Find the child div with the flag classes + const flagDiv = link.querySelector(".flag"); + + // Only add animation if action-unflag does NOT exist + if (flagDiv && !flagDiv.classList.contains("action-unflag")) { + e.preventDefault(); + link.classList.add("liked"); + + // Cleanup class after animation + window.setTimeout(() => { + link.classList.remove("liked"); + }, 400); + } else { + e.preventDefault(); + } + } + }, + true, +); diff --git a/web/themes/custom/hoeringsportal/assets/js/hoeringsportal.js b/web/themes/custom/hoeringsportal/assets/js/hoeringsportal.js index e446d2d89..341ace62d 100755 --- a/web/themes/custom/hoeringsportal/assets/js/hoeringsportal.js +++ b/web/themes/custom/hoeringsportal/assets/js/hoeringsportal.js @@ -17,6 +17,9 @@ require("slick-carousel"); require("./slick-slider-config.js"); require("./filter-collapse.js"); require("./icons.js"); +require("./modify-dialogue-form.js"); +require("./modify-dialogue-proposal-comments.js"); +require("./animated-svg.js"); // Enable popovers. $(function () { diff --git a/web/themes/custom/hoeringsportal/assets/js/icons.js b/web/themes/custom/hoeringsportal/assets/js/icons.js index d7e70e723..e5b20cccc 100644 --- a/web/themes/custom/hoeringsportal/assets/js/icons.js +++ b/web/themes/custom/hoeringsportal/assets/js/icons.js @@ -31,6 +31,7 @@ import { faClock, faLocationDot, faComments, + faThumbsUp, } from "@fortawesome/free-solid-svg-icons"; // Import icons from the free brands package @@ -71,6 +72,7 @@ library.add( faCalendarDay, faClock, faLocationDot, + faThumbsUp, // Brand faDigg, faEvernote, @@ -84,4 +86,9 @@ library.add( faXTwitter, faTriangleExclamation, ); -dom.i2svg(); + +Drupal.behaviors.iconToSvg = { + attach: function (context, settings) { + dom.i2svg(); + }, +}; diff --git a/web/themes/custom/hoeringsportal/assets/js/image-fade.js b/web/themes/custom/hoeringsportal/assets/js/image-fade.js new file mode 100644 index 000000000..27cac1122 --- /dev/null +++ b/web/themes/custom/hoeringsportal/assets/js/image-fade.js @@ -0,0 +1,27 @@ +require("../css/module/_image-fade.scss"); + +let imgFadeSelector = document.querySelector(".image-fade"); +let firstImage = document.getElementById("img-0"); + +if (imgFadeSelector && firstImage) { + setInterval(nextImage, imgFadeSelector.dataset.imageDuration ?? 15000); + firstImage.classList.add("show"); +} + +let curImage = 0; +let numImages = document.querySelectorAll(".image-fade img").length; + +function nextImage() { + // Hide old image + document.getElementById("img-" + curImage).classList.toggle("show"); + + // Compute next image + curImage++; + if (curImage > numImages - 1) { + // Reset to first image + curImage = 0; + } + + // Show next image + document.getElementById("img-" + curImage).classList.toggle("show"); +} diff --git a/web/themes/custom/hoeringsportal/assets/js/modify-dialogue-form.js b/web/themes/custom/hoeringsportal/assets/js/modify-dialogue-form.js new file mode 100644 index 000000000..dab4c522f --- /dev/null +++ b/web/themes/custom/hoeringsportal/assets/js/modify-dialogue-form.js @@ -0,0 +1,17 @@ +Drupal.behaviors.modifyDialogueForm = { + attach: function (context, settings) { + once("modifyDialogueForm", ".file-resup", context).forEach( + function (element) { + let imageDescription = document.querySelector( + ".field--name-field-image-upload .form-item > .description", + ); + let dropArea = document.querySelector( + ".field--name-field-image-upload .form-item .file-resup-wrapper .drop-message", + ); + + imageDescription.classList.toggle("d-block"); + dropArea.append(imageDescription); + }, + ); + }, +}; diff --git a/web/themes/custom/hoeringsportal/assets/js/modify-dialogue-proposal-comments.js b/web/themes/custom/hoeringsportal/assets/js/modify-dialogue-proposal-comments.js new file mode 100644 index 000000000..55b4d3cc4 --- /dev/null +++ b/web/themes/custom/hoeringsportal/assets/js/modify-dialogue-proposal-comments.js @@ -0,0 +1,12 @@ +Drupal.behaviors.modifyDialogueProposalComments = { + attach: function (context, settings) { + once( + "modifyDialogueProposalComments", + ".comments .indented", + context, + ).forEach(function (element) { + let prev = element.previousElementSibling; + prev.append(element); + }); + }, +}; diff --git a/web/themes/custom/hoeringsportal/hoeringsportal.libraries.yml b/web/themes/custom/hoeringsportal/hoeringsportal.libraries.yml index fa439f930..841fac361 100755 --- a/web/themes/custom/hoeringsportal/hoeringsportal.libraries.yml +++ b/web/themes/custom/hoeringsportal/hoeringsportal.libraries.yml @@ -1,14 +1,29 @@ global-styling: - version: VERSION css: theme: build/hoeringsportal.css: {} bottom-scripts: - version: VERSION js: build/hoeringsportal.js: { scope: bottom, preprocess: false } build/runtime.js: { scope: bottom, preprocess: false } dependencies: - core/jquery - core/drupal + +image-fade: + version: VERSION + js: + build/image-fade.js: { scope: bottom, preprocess: false } + css: + theme: + build/image-fade.css: {} + +map-display: + version: VERSION + css: + theme: + build/show-map.css: {} + js: + build/show-map.js: { preprocess: false } + build/runtime.js: { preprocess: false } diff --git a/web/themes/custom/hoeringsportal/hoeringsportal.theme b/web/themes/custom/hoeringsportal/hoeringsportal.theme index 9c3fe0d22..eb7eeaba5 100755 --- a/web/themes/custom/hoeringsportal/hoeringsportal.theme +++ b/web/themes/custom/hoeringsportal/hoeringsportal.theme @@ -176,6 +176,20 @@ function hoeringsportal_theme_suggestions_container_alter(array &$suggestions, a $suggestions[] = 'container__' . str_replace('-', '_', $variables['element']['#type']); } +/** + * Implements hook_theme_suggestions_HOOK_alter(). + */ +function hoeringsportal_theme_suggestions_views_exposed_form_block_alter(array &$suggestions, array $variables) { + $suggestions[] = 'views_exposed_form__' . str_replace('-', '_', $variables['form']['#id']); +} + +/** + * Implements hook_theme_suggestions_HOOK_alter(). + */ +function hoeringsportal_theme_suggestions_views_exposed_form_alter(array &$suggestions, array $variables) { + $suggestions[] = 'views_exposed_form__' . str_replace('-', '_', $variables['form']['#id']); +} + /** * Implements hook_preprocess_html(). */ diff --git a/web/themes/custom/hoeringsportal/templates/animated-svg/icon-deltag-comment.svg.html.twig b/web/themes/custom/hoeringsportal/templates/animated-svg/icon-deltag-comment.svg.html.twig new file mode 100644 index 000000000..ce2b3bee3 --- /dev/null +++ b/web/themes/custom/hoeringsportal/templates/animated-svg/icon-deltag-comment.svg.html.twig @@ -0,0 +1,6 @@ + + + + + + diff --git a/web/themes/custom/hoeringsportal/templates/animated-svg/icon-deltag-reply.svg.html.twig b/web/themes/custom/hoeringsportal/templates/animated-svg/icon-deltag-reply.svg.html.twig new file mode 100644 index 000000000..566e290d7 --- /dev/null +++ b/web/themes/custom/hoeringsportal/templates/animated-svg/icon-deltag-reply.svg.html.twig @@ -0,0 +1,6 @@ + + + + + + diff --git a/web/themes/custom/hoeringsportal/templates/animated-svg/icon-deltag-thumbs-up.svg.html.twig b/web/themes/custom/hoeringsportal/templates/animated-svg/icon-deltag-thumbs-up.svg.html.twig new file mode 100644 index 000000000..d6735f137 --- /dev/null +++ b/web/themes/custom/hoeringsportal/templates/animated-svg/icon-deltag-thumbs-up.svg.html.twig @@ -0,0 +1,7 @@ + + + + + + + diff --git a/web/themes/custom/hoeringsportal/templates/comment/comment.html.twig b/web/themes/custom/hoeringsportal/templates/comment/comment.html.twig new file mode 100644 index 000000000..3b2fe1af4 --- /dev/null +++ b/web/themes/custom/hoeringsportal/templates/comment/comment.html.twig @@ -0,0 +1,85 @@ +{# +/** + * @file + * Default theme implementation for comments. + * + * Available variables: + * - author: (optional) Comment author. Can be a link or plain text. + * - content: The content-related items for the comment display. Use + * {{ content }} to print them all, or print a subset such as + * {{ content.field_example }}. Use the following code to temporarily suppress + * the printing of a given child element: + * @code + * {{ content|without('field_example') }} + * @endcode + * - created: (optional) Formatted date and time for when the comment was + * created. Preprocess functions can reformat it by calling + * DateFormatter::format() with the desired parameters on the + * 'comment.created' variable. + * - changed: (optional) Formatted date and time for when the comment was last + * changed. Preprocess functions can reformat it by calling + * DateFormatter::format() with the desired parameters on the + * 'comment.changed' variable. + * - permalink: Comment permalink. + * - submitted: (optional) Submission information created from author and + * created during template_preprocess_comment(). + * - user_picture: (optional) The comment author's profile picture. + * - status: Comment status. Possible values are: + * unpublished, published, or preview. + * - title: (optional) Comment title, linked to the comment. + * - attributes: HTML attributes for the containing element. + * The attributes.class may contain one or more of the following classes: + * - comment: The current template type; for instance, 'theming hook'. + * - by-anonymous: Comment by an unregistered user. + * - by-{entity-type}-author: Comment by the author of the parent entity, + * eg. by-node-author. + * - preview: When previewing a new or edited comment. + * The following applies only to viewers who are registered users: + * - unpublished: An unpublished comment visible only to administrators. + * - title_prefix: Additional output populated by modules, intended to be + * displayed in front of the main title tag that appears in the template. + * - title_suffix: Additional output populated by modules, intended to be + * displayed after the main title tag that appears in the template. + * - content_attributes: List of classes for the styling of the comment content. + * - title_attributes: Same as attributes, except applied to the main title + * tag that appears in the template. + * - threaded: A flag indicating whether the comments are threaded or not. + * + * These variables are provided to give context about the parent comment (if + * any, optional): + * - parent_comment: Full parent comment entity (if any). + * - parent_author: Equivalent to author for the parent comment. + * - parent_created: Equivalent to created for the parent comment. + * - parent_changed: Equivalent to changed for the parent comment. + * - parent_title: Equivalent to title for the parent comment. + * - parent_permalink: Equivalent to permalink for the parent comment. + * - parent: A text string of parent comment submission information created from + * 'parent_author' and 'parent_created' during template_preprocess_comment(). + * This information is presented to help screen readers follow lengthy + * discussion threads. You can hide this from sighted users using the class + * visually-hidden. + * + * These two variables are provided for context: + * - comment: Full comment object. + * - commented_entity: Entity the comments are attached to. + * + * @see template_preprocess_comment() + * + * @ingroup themeable + */ +#} + + + + {% if submitted %} +
+
{{ comment.created.value|time_diff }}
+
{{ content|without('flag_support_comment') }}
+
+
+ {% endif %} + + diff --git a/web/themes/custom/hoeringsportal/templates/comment/field--comment.html.twig b/web/themes/custom/hoeringsportal/templates/comment/field--comment.html.twig new file mode 100644 index 000000000..571f45410 --- /dev/null +++ b/web/themes/custom/hoeringsportal/templates/comment/field--comment.html.twig @@ -0,0 +1,44 @@ +{# +/** + * @file + * Default theme override for comment fields. + * + * Available variables: + * - attributes: HTML attributes for the containing element. + * - label_hidden: Whether to show the field label or not. + * - title_attributes: HTML attributes for the title. + * - label: The label for the field. + * - title_prefix: Additional output populated by modules, intended to be + * displayed in front of the main title tag that appears in the template. + * - title_suffix: Additional title output populated by modules, intended to + * be displayed after the main title tag that appears in the template. + * - comments: List of comments rendered through comment.html.twig. + * - content_attributes: HTML attributes for the form title. + * - comment_form: The 'Add new comment' form. + * - comment_display_mode: Is the comments are threaded. + * - comment_type: The comment type bundle ID for the comment field. + * - entity_type: The entity type to which the field belongs. + * - field_name: The name of the field. + * - field_type: The type of the field. + * - label_display: The display settings for the label. + * + * @see template_preprocess_field() + * @see comment_preprocess_field() + */ +#} + + {% if comment_form %} + {{ 'Add new comment'|t }} + {{ comment_form }} + {% endif %} + + {% if comments and not label_hidden %} + {{ title_prefix }} + {{ label }} + {{ title_suffix }} + {% endif %} + +
+ {{ comments }} +
+ diff --git a/web/themes/custom/hoeringsportal/templates/components/base-card.html.twig b/web/themes/custom/hoeringsportal/templates/components/base-card.html.twig index 7bba0aa75..5a55bf89d 100644 --- a/web/themes/custom/hoeringsportal/templates/components/base-card.html.twig +++ b/web/themes/custom/hoeringsportal/templates/components/base-card.html.twig @@ -22,12 +22,16 @@ {% elseif node_type == 'citizen_proposal' %} {% set node_type_class = 'text-citizen-proposal' %} {% set node_type_text = 'Citizen proposal'|t %} +{% elseif node_type == 'dialogue' %} + {% set node_type_class = 'text-dialogue' %} + {% set node_type_text = 'Dialogue'|t %} {% endif %} {# Set image for Hearing, Project, Public meeting or Static page #} {% set image = content.field_media_image[0]['#media'] |default(content.field_project_image[0]['#media']) |default(content.field_media_image_single[0]['#media']) + |default(content.field_top_images[0]['#media']) |default(false) %} {# Use default image if no image found. #} diff --git a/web/themes/custom/hoeringsportal/templates/components/header-default.html.twig b/web/themes/custom/hoeringsportal/templates/components/header-default.html.twig new file mode 100644 index 000000000..ffe86a54c --- /dev/null +++ b/web/themes/custom/hoeringsportal/templates/components/header-default.html.twig @@ -0,0 +1,50 @@ +{{ attach_library('hoeringsportal/image-fade') }} + +
+ {% block header_top_image %} + {% if images %} + {% if images|length > 1 %} +
+ {% for key, image in images %} + + {% endfor %} +
+ {% else %} +
+ +
+ {% endif %} + {% endif %} + {% endblock %} + {% block header_text_box %} +
+
+ {% if category %} +
{{ category }}
+ {% endif %} +

{{ title }}

+
+ {{ description }} +
+ {% if shortcuts %} +
+ {% for shortcut in shortcuts %} + {{ shortcut.label }} + {% endfor %} +
+ {% endif %} + {% if tags_fields %} +
+ +
+ {% endif %} +
+
+ {% endblock %} +
diff --git a/web/themes/custom/hoeringsportal/templates/components/header-v2.html.twig b/web/themes/custom/hoeringsportal/templates/components/header-v2.html.twig deleted file mode 100644 index 785b98be8..000000000 --- a/web/themes/custom/hoeringsportal/templates/components/header-v2.html.twig +++ /dev/null @@ -1,19 +0,0 @@ -
- {% if image %} -
- -
- {% endif %} -
-
- {% if category %} - {{ category }} - {% endif %} -

{{ title }}

- {{ description }} - {% if area %} -
{{ area }}
- {% endif %} -
-
-
diff --git a/web/themes/custom/hoeringsportal/templates/components/toggle-button.html.twig b/web/themes/custom/hoeringsportal/templates/components/toggle-button.html.twig new file mode 100644 index 000000000..b2fc88ad0 --- /dev/null +++ b/web/themes/custom/hoeringsportal/templates/components/toggle-button.html.twig @@ -0,0 +1,4 @@ +
+ + +
diff --git a/web/themes/custom/hoeringsportal/templates/content/flag--support-comment.html.twig b/web/themes/custom/hoeringsportal/templates/content/flag--support-comment.html.twig new file mode 100644 index 000000000..b1b9084f2 --- /dev/null +++ b/web/themes/custom/hoeringsportal/templates/content/flag--support-comment.html.twig @@ -0,0 +1,41 @@ +{# +/** + * @file + * Default theme implementation for flag links. + * + * Available functions: + * - flagcount(flag, flaggable) gets the number of flaggings for the given flag and flaggable. + * + * Available variables: + * - attributes: HTML attributes for the link element. + * - title: The flag link title. + * - action: 'flag' or 'unflag' + * - flag: The flag object. + * - flaggable: The flaggable entity. + */ +#} +{# Attach the flag CSS library. #} +{{ attach_library('flag/flag.link') }} + +{# Depending on the flag action, set the appropriate action class. #} +{% if action == 'unflag' %} + {% set action_class = 'action-unflag' %} +{% else %} + {% set action_class = 'action-flag' %} +{% endif %} + +{# Set the remaining Flag CSS classes. #} +{% + set classes = [ + 'flag', + 'flag-' ~ flag.id()|clean_class, + 'js-flag-' ~ flag.id()|clean_class ~ '-' ~ flaggable.id(), + action_class +] +%} + +{# Set nofollow to prevent search bots from crawling anonymous flag links #} +{% set attributes = attributes.setAttribute('rel', 'nofollow') %} +
+ {{ include('themes/custom/hoeringsportal/templates/animated-svg/icon-deltag-thumbs-up.svg.html.twig') }}{{ flagcount(flag, flaggable) }} {{ 'like this'|t }} +
diff --git a/web/themes/custom/hoeringsportal/templates/content/flag--support-proposal.html.twig b/web/themes/custom/hoeringsportal/templates/content/flag--support-proposal.html.twig new file mode 100644 index 000000000..b1b9084f2 --- /dev/null +++ b/web/themes/custom/hoeringsportal/templates/content/flag--support-proposal.html.twig @@ -0,0 +1,41 @@ +{# +/** + * @file + * Default theme implementation for flag links. + * + * Available functions: + * - flagcount(flag, flaggable) gets the number of flaggings for the given flag and flaggable. + * + * Available variables: + * - attributes: HTML attributes for the link element. + * - title: The flag link title. + * - action: 'flag' or 'unflag' + * - flag: The flag object. + * - flaggable: The flaggable entity. + */ +#} +{# Attach the flag CSS library. #} +{{ attach_library('flag/flag.link') }} + +{# Depending on the flag action, set the appropriate action class. #} +{% if action == 'unflag' %} + {% set action_class = 'action-unflag' %} +{% else %} + {% set action_class = 'action-flag' %} +{% endif %} + +{# Set the remaining Flag CSS classes. #} +{% + set classes = [ + 'flag', + 'flag-' ~ flag.id()|clean_class, + 'js-flag-' ~ flag.id()|clean_class ~ '-' ~ flaggable.id(), + action_class +] +%} + +{# Set nofollow to prevent search bots from crawling anonymous flag links #} +{% set attributes = attributes.setAttribute('rel', 'nofollow') %} +
+ {{ include('themes/custom/hoeringsportal/templates/animated-svg/icon-deltag-thumbs-up.svg.html.twig') }}{{ flagcount(flag, flaggable) }} {{ 'like this'|t }} +
diff --git a/web/themes/custom/hoeringsportal/templates/content/node--dialogue--full.html.twig b/web/themes/custom/hoeringsportal/templates/content/node--dialogue--full.html.twig new file mode 100755 index 000000000..0da16dfdb --- /dev/null +++ b/web/themes/custom/hoeringsportal/templates/content/node--dialogue--full.html.twig @@ -0,0 +1,53 @@ +{% extends '@hoeringsportal/node/_node--1-col-large-image-top.html.twig' %} + +{% block content_top %} + {# Header #} + {{ include(directory ~ '/templates/components/header-default.html.twig', { + images: node.field_top_images, + type: node.bundle, + title: node.label, + description: content.field_teaser, + tags_fields: {0: content.field_area, 1: content.field_type}, + shortcuts: { + 0: { + label: 'Content'|t, + href: '#content', + }, + 1: { + label: 'Proposals'|t, + href: '#proposals', + }, + 2: { + label: 'Map'|t, + href: {route: 'entity.node.canonical', parameters: {node: 1} + }, + } + } + }) }} +{% endblock %} + +{% block content_main %} + {# Main container #} +
+
+
+ {{ content|without('field_top_images', 'field_teaser', 'field_area', 'field_department', 'field_type', 'field_content_sections') }} +
+
+ {{ content.field_aside_block }} +
+
+
+
+ {{ content.field_content_sections }} +
+ +
+
+
+

{{ 'Proposals'|t }}

+
+ {{ drupal_view('dialogue_proposals', 'block_1', content.id) }} +
+
+{% endblock %} diff --git a/web/themes/custom/hoeringsportal/templates/content/node--dialogue--teaser.html.twig b/web/themes/custom/hoeringsportal/templates/content/node--dialogue--teaser.html.twig new file mode 100755 index 000000000..a7998d85b --- /dev/null +++ b/web/themes/custom/hoeringsportal/templates/content/node--dialogue--teaser.html.twig @@ -0,0 +1,9 @@ +{# Template for Project teaser extending base-card #} + +{% extends 'themes/custom/hoeringsportal/templates/components/base-card.html.twig' %} + +{% block card_content %} + {{ node.field_teaser.value|truncate(95, true, true) }} + {{ content.field_project_category }} + {{ content.field_area }}{{ content.field_type }} +{% endblock %} diff --git a/web/themes/custom/hoeringsportal/templates/content/node--dialogue-proposal--full.html.twig b/web/themes/custom/hoeringsportal/templates/content/node--dialogue-proposal--full.html.twig new file mode 100755 index 000000000..173494526 --- /dev/null +++ b/web/themes/custom/hoeringsportal/templates/content/node--dialogue-proposal--full.html.twig @@ -0,0 +1,60 @@ +{% extends '@hoeringsportal/node/_node--1-col-large-image-top.html.twig' %} + +{% block content_top %} + +{% endblock %} + +{% block content_main %} + {# Main container #} +
+
+
+ +

{{ label }}

+ +
+ {{ content.field_dialogue_proposal_category }} +
+ {% if content.field_image_upload %} +
+
+ {{ content.field_image_upload }} +
+
+ {% endif %} +
+
+ {{ content.field_dialogue_proposal_descr }} +
+
+
+
+ {{ content.field_location }} +
+
+
+
+ {{ content.field_comments }} +
+
+
+
+
+{% endblock %} diff --git a/web/themes/custom/hoeringsportal/templates/content/node--dialogue-proposal--list-display.html.twig b/web/themes/custom/hoeringsportal/templates/content/node--dialogue-proposal--list-display.html.twig new file mode 100755 index 000000000..4e5e490a1 --- /dev/null +++ b/web/themes/custom/hoeringsportal/templates/content/node--dialogue-proposal--list-display.html.twig @@ -0,0 +1,93 @@ +{# +/** + * @file + * Theme override to display a node. + * + * Available variables: + * - node: The node entity with limited access to object properties and methods. + * Only method names starting with "get", "has", or "is" and a few common + * methods such as "id", "label", and "bundle" are available. For example: + * - node.getCreatedTime() will return the node creation timestamp. + * - node.hasField('field_example') returns TRUE if the node bundle includes + * field_example. (This does not indicate the presence of a value in this + * field.) + * - node.isPublished() will return whether the node is published or not. + * Calling other methods, such as node.delete(), will result in an exception. + * See \Drupal\node\Entity\Node for a full list of public properties and + * methods for the node object. + * - label: The title of the node. + * - content: All node items. Use {{ content }} to print them all, + * or print a subset such as {{ content.field_example }}. Use + * {{ content|without('field_example') }} to temporarily suppress the printing + * of a given child element. + * - author_picture: The node author user entity, rendered using the "compact" + * view mode. + * - metadata: Metadata for this node. + * - date: Themed creation date field. + * - author_name: Themed author name field. + * - url: Direct URL of the current node. + * - display_submitted: Whether submission information should be displayed. + * - attributes: HTML attributes for the containing element. + * The attributes.class element may contain one or more of the following + * classes: + * - node: The current template type (also known as a "theming hook"). + * - node--type-[type]: The current node type. For example, if the node is an + * "Article" it would result in "node--type-article". Note that the machine + * name will often be in a short form of the human readable label. + * - node--view-mode-[view_mode]: The View Mode of the node; for example, a + * teaser would result in: "node--view-mode-teaser", and + * full: "node--view-mode-full". + * The following are controlled through the node publishing options. + * - node--promoted: Appears on nodes promoted to the front page. + * - node--sticky: Appears on nodes ordered above other non-sticky nodes in + * teaser listings. + * - node--unpublished: Appears on unpublished nodes visible only to site + * admins. + * - title_attributes: Same as attributes, except applied to the main title + * tag that appears in the template. + * - content_attributes: Same as attributes, except applied to the main + * content tag that appears in the template. + * - author_attributes: Same as attributes, except applied to the author of + * the node tag that appears in the template. + * - title_prefix: Additional output populated by modules, intended to be + * displayed in front of the main title tag that appears in the template. + * - title_suffix: Additional output populated by modules, intended to be + * displayed after the main title tag that appears in the template. + * - view_mode: View mode; for example, "teaser" or "full". + * - teaser: Flag for the teaser state. Will be true if view_mode is 'teaser'. + * - page: Flag for the full page state. Will be true if view_mode is 'full'. + * - readmore: Flag for more state. Will be true if the teaser content of the + * node cannot hold the main body content. + * - logged_in: Flag for authenticated user status. Will be true when the + * current user is a logged-in member. + * - is_admin: Flag for admin user status. Will be true when the current user + * is an administrator. + * + * @see template_preprocess_node() + * + */ +#} + +
+
+

{{ label }}

+
+
+ {{ content.field_dialogue_proposal_descr }} +
+
+
+
+
+ {{ node.field_comments.comment_count }}{{ 'Comments'|t }} +
+
+ {{ content.flag_support_proposal }} +
+
+
+
+ {{ content.field_dialogue_proposal_category }} +
+
+
diff --git a/web/themes/custom/hoeringsportal/templates/content/node--landing-page.html.twig b/web/themes/custom/hoeringsportal/templates/content/node--landing-page.html.twig new file mode 100644 index 000000000..33d077668 --- /dev/null +++ b/web/themes/custom/hoeringsportal/templates/content/node--landing-page.html.twig @@ -0,0 +1,21 @@ +{% extends '@hoeringsportal/node/_node--1-col-large-image-top.html.twig' %} + +{% block content_top %} + {# Header #} + {{ include(directory ~ '/templates/components/header-default.html.twig', { + images: {0: node.field_media_image_single.entity.field_itk_media_image_upload.entity}, + category: content.field_header_label, + title: node.label, + description: content.field_teaser, + tags_fields: {}, + image_half: true, + shortcuts: {}} + ) }} +{% endblock %} + +{% block content_main %} + {# Main container #} +
+ {{ content|without('field_media_image_single', 'field_header_label', 'field_show_page_title', 'field_teaser', 'published_at') }} +
+{% endblock %} diff --git a/web/themes/custom/hoeringsportal/templates/content/node--project-main-page--full.html.twig b/web/themes/custom/hoeringsportal/templates/content/node--project-main-page--full.html.twig new file mode 100755 index 000000000..57b1adb10 --- /dev/null +++ b/web/themes/custom/hoeringsportal/templates/content/node--project-main-page--full.html.twig @@ -0,0 +1,16 @@ +{% extends '@hoeringsportal/node/_node--1-col-large-image-top.html.twig' %} + +{% block content_top %} + {# Header #} + {{ include(directory ~ '/templates/components/header-default.html.twig', { + images: {0: node.field_project_image}, + category: content.field_project_category, + title: node.label, + description: content.field_short_description, + tags_fields: {0: content.field_area}, + type: 'type-project', + image_half: false, + shortcuts: {} + }) + }} +{% endblock %} diff --git a/web/themes/custom/hoeringsportal/templates/content/node--project-main-page--teaser.html.twig b/web/themes/custom/hoeringsportal/templates/content/node--project-main-page--teaser.html.twig index d01bb6b41..5b58b547a 100755 --- a/web/themes/custom/hoeringsportal/templates/content/node--project-main-page--teaser.html.twig +++ b/web/themes/custom/hoeringsportal/templates/content/node--project-main-page--teaser.html.twig @@ -4,8 +4,6 @@ {% block card_content %} {{ node.field_short_description.value|truncate(95, true, true) }} -{% endblock %} -{% block card_footer %} {{ content.field_project_category }} - {{ content.field_area }} + {{ content.field_area }}{{ content.field_project_category }} {% endblock %} diff --git a/web/themes/custom/hoeringsportal/templates/node/node--project-page.html.twig b/web/themes/custom/hoeringsportal/templates/content/node--project-page.html.twig similarity index 100% rename from web/themes/custom/hoeringsportal/templates/node/node--project-page.html.twig rename to web/themes/custom/hoeringsportal/templates/content/node--project-page.html.twig diff --git a/web/themes/custom/hoeringsportal/templates/field/field--comment.html.twig b/web/themes/custom/hoeringsportal/templates/field/field--comment.html.twig deleted file mode 100755 index 18f080f36..000000000 --- a/web/themes/custom/hoeringsportal/templates/field/field--comment.html.twig +++ /dev/null @@ -1,69 +0,0 @@ -{# -/** - * @file - * Theme override for comment fields. - * - * Available variables: - * - attributes: HTML attributes for the containing element. - * - label_hidden: Whether to show the field label or not. - * - title_attributes: HTML attributes for the title. - * - label: The label for the field. - * - title_prefix: Additional output populated by modules, intended to be - * displayed in front of the main title tag that appears in the template. - * - title_suffix: Additional title output populated by modules, intended to - * be displayed after the main title tag that appears in the template. - * - comments: List of comments rendered through comment.html.twig. - * - content_attributes: HTML attributes for the form title. - * - comment_form: The 'Add new comment' form. - * - comment_display_mode: Is the comments are threaded. - * - comment_type: The comment type bundle ID for the comment field. - * - entity_type: The entity type to which the field belongs. - * - field_name: The name of the field. - * - field_type: The type of the field. - * - label_display: The display settings for the label. - * - * @see template_preprocess_field() - * @see comment_preprocess_field() - */ -#} - -
- {% if comments and not label_hidden %} -
- {{ title_prefix }} - {{ 'Contribute'|t }} - {{ title_suffix }} -
- {% endif %} - - {{ comments }} - {% if user_validated > 0 %} - {% if comment_form %} -
- {{ 'Add contribution'|t }} -
{{ comment_form }}
-
- {% endif %} - {% endif %} -
-
- {% if user_anonymous %} - - {% else %} - {% if not user_validated == 1 %} -
-
-
{{ 'Validate with NemID'|t }}
-

{{ 'Before you can contribute you must validate your user account with NemID.'|t }}

-

{{ 'You only have to do it once, and you can do it now.'|t }}

- {{ include('@hoeringsportal_user/nemid-disclosure-text-da.html.twig') }} - {{ 'Validate'|t }} - NemID logo -
-
- {% endif %} - {% endif %} -
- diff --git a/web/themes/custom/hoeringsportal/templates/field/field--field-dialogue-proposal-category--full.html.twig b/web/themes/custom/hoeringsportal/templates/field/field--field-dialogue-proposal-category--full.html.twig new file mode 100644 index 000000000..16f585a9e --- /dev/null +++ b/web/themes/custom/hoeringsportal/templates/field/field--field-dialogue-proposal-category--full.html.twig @@ -0,0 +1,44 @@ +{# +/** + * @file + * Theme override for a field. + * + * To override output, copy the "field.html.twig" from the templates directory + * to your theme's directory and customize it, just like customizing other + * Drupal templates such as page.html.twig or node.html.twig. + * + * Instead of overriding the theming for all fields, you can also just override + * theming for a subset of fields using + * @link themeable Theme hook suggestions. @endlink For example, + * here are some theme hook suggestions that can be used for a field_foo field + * on an article node type: + * - field--node--field-foo--article.html.twig + * - field--node--field-foo.html.twig + * - field--node--article.html.twig + * - field--field-foo.html.twig + * - field--text-with-summary.html.twig + * - field.html.twig + * + * Available variables: + * - attributes: HTML attributes for the containing element. + * - label_hidden: Whether to show the field label or not. + * - title_attributes: HTML attributes for the title. + * - label: The label for the field. + * - multiple: TRUE if a field can contain multiple items. + * - items: List of all the field items. Each item contains: + * - attributes: List of HTML attributes for each item. + * - content: The field item's content. + * - entity_type: The entity type to which the field belongs. + * - field_name: The name of the field. + * - field_type: The type of the field. + * - label_display: The display settings for the label. + * + * @see template_preprocess_field() + */ +#} + +
+ {% for item in items %} + {{ item.content }} + {% endfor %} +
diff --git a/web/themes/custom/hoeringsportal/templates/field/field--field-dialogue-proposal-category.html.twig b/web/themes/custom/hoeringsportal/templates/field/field--field-dialogue-proposal-category.html.twig new file mode 100644 index 000000000..35954b156 --- /dev/null +++ b/web/themes/custom/hoeringsportal/templates/field/field--field-dialogue-proposal-category.html.twig @@ -0,0 +1,50 @@ +{# +/** + * @file + * Theme override for a field. + * + * To override output, copy the "field.html.twig" from the templates directory + * to your theme's directory and customize it, just like customizing other + * Drupal templates such as page.html.twig or node.html.twig. + * + * Instead of overriding the theming for all fields, you can also just override + * theming for a subset of fields using + * @link themeable Theme hook suggestions. @endlink For example, + * here are some theme hook suggestions that can be used for a field_foo field + * on an article node type: + * - field--node--field-foo--article.html.twig + * - field--node--field-foo.html.twig + * - field--node--article.html.twig + * - field--field-foo.html.twig + * - field--text-with-summary.html.twig + * - field.html.twig + * + * Available variables: + * - attributes: HTML attributes for the containing element. + * - label_hidden: Whether to show the field label or not. + * - title_attributes: HTML attributes for the title. + * - label: The label for the field. + * - multiple: TRUE if a field can contain multiple items. + * - items: List of all the field items. Each item contains: + * - attributes: List of HTML attributes for each item. + * - content: The field item's content. + * - entity_type: The entity type to which the field belongs. + * - field_name: The name of the field. + * - field_type: The type of the field. + * - label_display: The display settings for the label. + * + * @see template_preprocess_field() + */ +#} + +
+ {% if (items[0]) %} + {{ items[0].content }} + {% endif %} + {% if (items[1]) %} + {{ items[1].content }} + {% endif %} + {% if (items|length > 2) %} + +{{ items|length - 2 }} + {% endif %} +
diff --git a/web/themes/custom/hoeringsportal/templates/field/field--field-location.html.twig b/web/themes/custom/hoeringsportal/templates/field/field--field-location.html.twig new file mode 100755 index 000000000..b83efe656 --- /dev/null +++ b/web/themes/custom/hoeringsportal/templates/field/field--field-location.html.twig @@ -0,0 +1,12 @@ +{{ attach_library('hoeringsportal/map-display') }} + +{% if not label_hidden %} +
{{ label }}
+{% endif %} + +{# @FIXME: Is this the right way do get the data? #} +{% for item in element['#items']|slice(0, 1) %} + {% if (item.data is not same as('null')) %} +
+ {% endif %} +{% endfor %} diff --git a/web/themes/custom/hoeringsportal/templates/field/field--node--field-area--dialogue.html.twig b/web/themes/custom/hoeringsportal/templates/field/field--node--field-area--dialogue.html.twig new file mode 100755 index 000000000..bfa38e836 --- /dev/null +++ b/web/themes/custom/hoeringsportal/templates/field/field--node--field-area--dialogue.html.twig @@ -0,0 +1,61 @@ +{# +/** + * @file + * Theme override for a field. + * + * To override output, copy the "field.html.twig" from the templates directory + * to your theme's directory and customize it, just like customizing other + * Drupal templates such as page.html.twig or node.html.twig. + * + * Instead of overriding the theming for all fields, you can also just override + * theming for a subset of fields using + * @link themeable Theme hook suggestions. @endlink For example, + * here are some theme hook suggestions that can be used for a field_foo field + * on an article node type: + * - field--node--field-foo--article.html.twig + * - field--node--field-foo.html.twig + * - field--node--article.html.twig + * - field--field-foo.html.twig + * - field--text-with-summary.html.twig + * - field.html.twig + * + * Available variables: + * - attributes: HTML attributes for the containing element. + * - label_hidden: Whether to show the field label or not. + * - title_attributes: HTML attributes for the title. + * - label: The label for the field. + * - multiple: TRUE if a field can contain multiple items. + * - items: List of all the field items. Each item contains: + * - attributes: List of HTML attributes for each item. + * - content: The field item's content. + * - entity_type: The entity type to which the field belongs. + * - field_name: The name of the field. + * - field_type: The type of the field. + * - label_display: The display settings for the label. + * + * @see template_preprocess_field() + */ +#} + +{% if label_hidden %} + {% if multiple %} + {% for item in items %} + {{ item.content }} + {% endfor %} + {% else %} + {% for item in items %} + {{ item.content }} + {% endfor %} + {% endif %} +{% else %} +
{{ label }}
+ {% if multiple %} +
+ {% endif %} + {% for item in items %} + {{ item.content }} + {% endfor %} + {% if multiple %} +
+ {% endif %} +{% endif %} diff --git a/web/themes/custom/hoeringsportal/templates/field/field--node--field-type--dialogue.html.twig b/web/themes/custom/hoeringsportal/templates/field/field--node--field-type--dialogue.html.twig new file mode 100755 index 000000000..bfa38e836 --- /dev/null +++ b/web/themes/custom/hoeringsportal/templates/field/field--node--field-type--dialogue.html.twig @@ -0,0 +1,61 @@ +{# +/** + * @file + * Theme override for a field. + * + * To override output, copy the "field.html.twig" from the templates directory + * to your theme's directory and customize it, just like customizing other + * Drupal templates such as page.html.twig or node.html.twig. + * + * Instead of overriding the theming for all fields, you can also just override + * theming for a subset of fields using + * @link themeable Theme hook suggestions. @endlink For example, + * here are some theme hook suggestions that can be used for a field_foo field + * on an article node type: + * - field--node--field-foo--article.html.twig + * - field--node--field-foo.html.twig + * - field--node--article.html.twig + * - field--field-foo.html.twig + * - field--text-with-summary.html.twig + * - field.html.twig + * + * Available variables: + * - attributes: HTML attributes for the containing element. + * - label_hidden: Whether to show the field label or not. + * - title_attributes: HTML attributes for the title. + * - label: The label for the field. + * - multiple: TRUE if a field can contain multiple items. + * - items: List of all the field items. Each item contains: + * - attributes: List of HTML attributes for each item. + * - content: The field item's content. + * - entity_type: The entity type to which the field belongs. + * - field_name: The name of the field. + * - field_type: The type of the field. + * - label_display: The display settings for the label. + * + * @see template_preprocess_field() + */ +#} + +{% if label_hidden %} + {% if multiple %} + {% for item in items %} + {{ item.content }} + {% endfor %} + {% else %} + {% for item in items %} + {{ item.content }} + {% endfor %} + {% endif %} +{% else %} +
{{ label }}
+ {% if multiple %} +
+ {% endif %} + {% for item in items %} + {{ item.content }} + {% endfor %} + {% if multiple %} +
+ {% endif %} +{% endif %} diff --git a/web/themes/custom/hoeringsportal/templates/field/field.html.twig b/web/themes/custom/hoeringsportal/templates/field/field.html.twig old mode 100755 new mode 100644 diff --git a/web/themes/custom/hoeringsportal/templates/form/__input--files[field-image-upload-0].html.twig b/web/themes/custom/hoeringsportal/templates/form/__input--files[field-image-upload-0].html.twig new file mode 100644 index 000000000..aee18cdb2 --- /dev/null +++ b/web/themes/custom/hoeringsportal/templates/form/__input--files[field-image-upload-0].html.twig @@ -0,0 +1,19 @@ +{# +/** + * @file + * Theme override for an 'input' #type form element. + * + * Available variables: + * - attributes: A list of HTML attributes for the input element. + * - children: Optional additional rendered elements. + * + * @see template_preprocess_input() + */ +#} + + +
    + diff --git a/web/themes/custom/hoeringsportal/templates/form/fieldset.html.twig b/web/themes/custom/hoeringsportal/templates/form/fieldset.html.twig index efe229566..499862d42 100644 --- a/web/themes/custom/hoeringsportal/templates/form/fieldset.html.twig +++ b/web/themes/custom/hoeringsportal/templates/form/fieldset.html.twig @@ -43,7 +43,7 @@
    {% set description_position = element['#description_position']|default('bottom') %} {% if description.content and 'top' == description_position %} - {{ description.content }}
    + {{ description.content }} {% endif %} {% if errors %}
    diff --git a/web/themes/custom/hoeringsportal/templates/form/form--node-dialogue-proposal-form.html.twig b/web/themes/custom/hoeringsportal/templates/form/form--node-dialogue-proposal-form.html.twig new file mode 100644 index 000000000..ceb128ea2 --- /dev/null +++ b/web/themes/custom/hoeringsportal/templates/form/form--node-dialogue-proposal-form.html.twig @@ -0,0 +1,26 @@ +{# +/** + * @file + * Theme override for a 'form' element. + * + * Available variables + * - attributes: A list of HTML attributes for the wrapper element. + * - children: The child elements of the form. + * + * @see template_preprocess_form() + */ +#} + +
    +
    + +

    {{ 'Create dialog proposal'|t }}

    +

    + {{ 'Fill out the form and send your proposal so other people can interact with it.'|t }} +

    +
    + {{ children }} +
    + +
    +
    diff --git a/web/themes/custom/hoeringsportal/templates/form/form--views-exposed-form-dialogue-proposals-block-1.html.twig b/web/themes/custom/hoeringsportal/templates/form/form--views-exposed-form-dialogue-proposals-block-1.html.twig new file mode 100644 index 000000000..97b4b7a3d --- /dev/null +++ b/web/themes/custom/hoeringsportal/templates/form/form--views-exposed-form-dialogue-proposals-block-1.html.twig @@ -0,0 +1,15 @@ +{# +/** + * @file + * Theme override for a 'form' element. + * + * Available variables + * - attributes: A list of HTML attributes for the wrapper element. + * - children: The child elements of the form. + * + * @see template_preprocess_form() + */ +#} + + {{ children }} + diff --git a/web/themes/custom/hoeringsportal/templates/form/form-element--checkbox.html.twig b/web/themes/custom/hoeringsportal/templates/form/form-element--checkbox.html.twig new file mode 100755 index 000000000..bad0ecf91 --- /dev/null +++ b/web/themes/custom/hoeringsportal/templates/form/form-element--checkbox.html.twig @@ -0,0 +1,47 @@ +{# +/** + * @file + * Theme override for a form element. + * + * Available variables: + * - attributes: HTML attributes for the containing element. + * - errors: (optional) Any errors for this form element, may not be set. + * - prefix: (optional) The form element prefix, may not be set. + * - suffix: (optional) The form element suffix, may not be set. + * - required: The required marker, or empty if the associated form element is + * not required. + * - type: The type of the element. + * - name: The name of the element. + * - label: A rendered label element. + * - label_display: Label display setting. It can have these values: + * - before: The label is output before the element. This is the default. + * The label includes the #title and the required marker, if #required. + * - after: The label is output after the element. For example, this is used + * for radio and checkbox #type elements. If the #title is empty but the + * field is #required, the label will contain only the required marker. + * - invisible: Labels are critical for screen readers to enable them to + * properly navigate through forms but can be visually distracting. This + * property hides the label for everyone except screen readers. + * - attribute: Set the title attribute on the element to create a tooltip but + * output no label element. This is supported only for checkboxes and radios + * in \Drupal\Core\Render\Element\CompositeFormElementTrait::preRenderCompositeFormElement(). + * It is used where a visual label is not needed, such as a table of + * checkboxes where the row and column provide the context. The tooltip will + * include the title and required marker. + * - description: (optional) A list of description properties containing: + * - content: A description of the form element, may not be set. + * - attributes: (optional) A list of HTML attributes to apply to the + * description content wrapper. Will only be set when description is set. + * - description_display: Description display setting. It can have these values: + * - before: The description is output before the element. + * - after: The description is output after the element. This is the default + * value. + * - invisible: The description is output after the element, hidden visually + * but available to screen readers. + * - disabled: True if the element is disabled. + * - title_display: Title display setting. + * + * @see template_preprocess_form_element() + */ +#} +{% extends 'themes/custom/hoeringsportal/templates/components/toggle-button.html.twig' %} diff --git a/web/themes/custom/hoeringsportal/templates/form/form-element--dialogue-proposals--block-1.html.twig b/web/themes/custom/hoeringsportal/templates/form/form-element--dialogue-proposals--block-1.html.twig new file mode 100755 index 000000000..83f15e4a6 --- /dev/null +++ b/web/themes/custom/hoeringsportal/templates/form/form-element--dialogue-proposals--block-1.html.twig @@ -0,0 +1,97 @@ +{# +/** + * @file + * Theme override for a form element. + * + * Available variables: + * - attributes: HTML attributes for the containing element. + * - errors: (optional) Any errors for this form element, may not be set. + * - prefix: (optional) The form element prefix, may not be set. + * - suffix: (optional) The form element suffix, may not be set. + * - required: The required marker, or empty if the associated form element is + * not required. + * - type: The type of the element. + * - name: The name of the element. + * - label: A rendered label element. + * - label_display: Label display setting. It can have these values: + * - before: The label is output before the element. This is the default. + * The label includes the #title and the required marker, if #required. + * - after: The label is output after the element. For example, this is used + * for radio and checkbox #type elements. If the #title is empty but the + * field is #required, the label will contain only the required marker. + * - invisible: Labels are critical for screen readers to enable them to + * properly navigate through forms but can be visually distracting. This + * property hides the label for everyone except screen readers. + * - attribute: Set the title attribute on the element to create a tooltip but + * output no label element. This is supported only for checkboxes and radios + * in \Drupal\Core\Render\Element\CompositeFormElementTrait::preRenderCompositeFormElement(). + * It is used where a visual label is not needed, such as a table of + * checkboxes where the row and column provide the context. The tooltip will + * include the title and required marker. + * - description: (optional) A list of description properties containing: + * - content: A description of the form element, may not be set. + * - attributes: (optional) A list of HTML attributes to apply to the + * description content wrapper. Will only be set when description is set. + * - description_display: Description display setting. It can have these values: + * - before: The description is output before the element. + * - after: The description is output after the element. This is the default + * value. + * - invisible: The description is output after the element, hidden visually + * but available to screen readers. + * - disabled: True if the element is disabled. + * - title_display: Title display setting. + * + * @see template_preprocess_form_element() + */ +#} +{% +set classes = [ +'js-form-item', +'form-item', +'mb-3', +'me-3', +'js-form-type-' ~ type|clean_class, +'form-item-' ~ name|clean_class, +'js-form-item-' ~ name|clean_class, +title_display not in ['after', 'before'] ? 'form-no-label', +disabled == 'disabled' ? 'form-disabled', +errors ? 'form-item--error', +] +%} +{% +set description_classes = [ +'description', +'text-muted', +description_display == 'invisible' ? 'visually-hidden', +] +%} + + {% if label_display in ['before', 'invisible'] %} + {{ label }} + {% endif %} + {% if prefix is not empty %} + {{ prefix }} + {% endif %} + {% if description_display == 'before' and description.content %} + + {{ description.content }} +
    + {% endif %} + {{ children }} + {% if suffix is not empty %} + {{ suffix }} + {% endif %} + {% if label_display == 'after' %} + {{ label }} + {% endif %} + {% if errors %} +
    + {{ errors }} +
    + {% endif %} + {% if description_display in ['after', 'invisible'] and description.content %} + + {{ description.content }} + + {% endif %} + diff --git a/web/themes/custom/hoeringsportal/templates/form/views-exposed-form--views-exposed-form-dialogue-proposals-block-1.html.twig b/web/themes/custom/hoeringsportal/templates/form/views-exposed-form--views-exposed-form-dialogue-proposals-block-1.html.twig new file mode 100644 index 000000000..b3a50cc99 --- /dev/null +++ b/web/themes/custom/hoeringsportal/templates/form/views-exposed-form--views-exposed-form-dialogue-proposals-block-1.html.twig @@ -0,0 +1,14 @@ +{# +/** + * @file + * Default theme implementation of a views exposed form. + * + * Available variables: + * - form: A render element representing the form. + * + * @see template_preprocess_views_exposed_form() + * + * @ingroup themeable + */ +#} +
    {{ form }}
    diff --git a/web/themes/custom/hoeringsportal/templates/node/_node--1-col-large-image-top.html.twig b/web/themes/custom/hoeringsportal/templates/node/_node--1-col-large-image-top.html.twig new file mode 100644 index 000000000..fff28e2da --- /dev/null +++ b/web/themes/custom/hoeringsportal/templates/node/_node--1-col-large-image-top.html.twig @@ -0,0 +1,38 @@ +{% block content_top %} + {# Header #} + {{ include(directory ~ '/templates/components/header-default.html.twig', { + images: {0: node.field_project_image}, + category: content.field_project_category, + title: node.label, + description: content.field_short_description, + tag_fields: {0: content.field_area}, + shortcuts: {}} + ) }} +{% endblock %} +{% block content_main %} + {# Main container #} +
    +
    +
    + {{ content|without('field_project_image', 'field_short_description', 'field_aside_block', 'field_content_sections', 'field_project_category', 'field_area', 'published_at') }} +
    +
    + {{ content.field_aside_block }} +
    +
    +
    +
    + {{ content.field_content_sections }} +
    +
    +
    + {{ content.published_at }} +
    +
    +{% endblock %} +{% block content_bottom %} + {# Newsletter signup #} + {% if node_newsletter %} + {{ include('@hoeringsportal/newsletter-bottom-link.html.twig') }} + {% endif %} +{% endblock %} diff --git a/web/themes/custom/hoeringsportal/templates/node/node--project-main-page--full.html.twig b/web/themes/custom/hoeringsportal/templates/node/node--project-main-page--full.html.twig deleted file mode 100755 index 0229ba1c2..000000000 --- a/web/themes/custom/hoeringsportal/templates/node/node--project-main-page--full.html.twig +++ /dev/null @@ -1,33 +0,0 @@ -{# Header #} -{{ include(directory ~ '/templates/components/header-v2.html.twig', { - image: node.field_project_image|file_url, - category: content.field_project_category, - title: node.label, - description: content.field_short_description, - area: content.field_area} -) }} - -{# Main container #} -
    -
    -
    - {{ content|without('field_project_image', 'field_short_description', 'field_aside_block', 'field_content_sections', 'field_project_category', 'field_area', 'published_at') }} -
    -
    - {{ content.field_aside_block }} -
    -
    -
    -
    - {{ content.field_content_sections }} -
    -
    -
    - {{ content.published_at }} -
    -
    - -{# Newsletter signup #} -{% if node_newsletter %} - {{ include('@hoeringsportal/newsletter-bottom-link.html.twig') }} -{% endif %} diff --git a/web/themes/custom/hoeringsportal/templates/paragraph/paragraph--video.html.twig b/web/themes/custom/hoeringsportal/templates/paragraph/paragraph--video.html.twig new file mode 100644 index 000000000..37f109ba2 --- /dev/null +++ b/web/themes/custom/hoeringsportal/templates/paragraph/paragraph--video.html.twig @@ -0,0 +1,54 @@ +{# +/** + * @file + * Default theme implementation to display a paragraph. + * + * Available variables: + * - paragraph: Full paragraph entity. + * Only method names starting with "get", "has", or "is" and a few common + * methods such as "id", "label", and "bundle" are available. For example: + * - paragraph.getCreatedTime() will return the paragraph creation timestamp. + * - paragraph.id(): The paragraph ID. + * - paragraph.bundle(): The type of the paragraph, for example, "image" or "text". + * - paragraph.getOwnerId(): The user ID of the paragraph author. + * See Drupal\paragraphs\Entity\Paragraph for a full list of public properties + * and methods for the paragraph object. + * - content: All paragraph items. Use {{ content }} to print them all, + * or print a subset such as {{ content.field_example }}. Use + * {{ content|without('field_example') }} to temporarily suppress the printing + * of a given child element. + * - attributes: HTML attributes for the containing element. + * The attributes.class element may contain one or more of the following + * classes: + * - paragraphs: The current template type (also known as a "theming hook"). + * - paragraphs--type-[type]: The current paragraphs type. For example, if the paragraph is an + * "Image" it would result in "paragraphs--type--image". Note that the machine + * name will often be in a short form of the human readable label. + * - paragraphs--view-mode--[view_mode]: The View Mode of the paragraph; for example, a + * preview would result in: "paragraphs--view-mode--preview", and + * default: "paragraphs--view-mode--default". + * - view_mode: View mode; for example, "preview" or "full". + * - logged_in: Flag for authenticated user status. Will be true when the + * current user is a logged-in member. + * - is_admin: Flag for admin user status. Will be true when the current user + * is an administrator. + * + * @see template_preprocess_paragraph() + * + * @ingroup themeable + */ +#} +
    +
    +
    + {% block paragraph %} + {% if content.field_paragraph_title['#items'] is not empty %} +

    {{ content.field_paragraph_title }}

    + {% endif %} + {% block content %} + {{ content|without('field_paragraph_title') }} + {% endblock %} + {% endblock paragraph %} +
    +
    +
    diff --git a/web/themes/custom/hoeringsportal/templates/views/views-view--dialogue-proposals.html.twig b/web/themes/custom/hoeringsportal/templates/views/views-view--dialogue-proposals.html.twig new file mode 100755 index 000000000..c0a623ab0 --- /dev/null +++ b/web/themes/custom/hoeringsportal/templates/views/views-view--dialogue-proposals.html.twig @@ -0,0 +1,71 @@ +{# +/** + * @file + * Theme override for main view template. + * + * Available variables: + * - attributes: Remaining HTML attributes for the element. + * - css_name: A css-safe version of the view name. + * - css_class: The user-specified classes names, if any. + * - header: The optional header. + * - footer: The optional footer. + * - rows: The results of the view query, if any. + * - empty: The content to display if there are no rows. + * - pager: The optional pager next/prev links to display. + * - exposed: Exposed widget form/info to display. + * - feed_icons: Optional feed icons to display. + * - more: An optional link to the next page of results. + * - title: Title of the view, only used when displaying in the admin preview. + * - title_prefix: Additional output populated by modules, intended to be + * displayed in front of the view title. + * - title_suffix: Additional output populated by modules, intended to be + * displayed after the view title. + * - attachment_before: An optional attachment view to be displayed before the + * view content. + * - attachment_after: An optional attachment view to be displayed after the + * view content. + * - dom_id: Unique id for every view being printed to give unique class for + * Javascript. + * + * @see template_preprocess_views_view() + */ +#} +{% + set classes = [ + dom_id ? 'js-view-dom-id-' ~ dom_id, + 'dialogue-proposals', + 'container' + ] +%} + + {{ title_prefix }} + {{ title }} + {{ title_suffix }} + + {% if header %} +
    + {{ header }} +
    + {% endif %} + + + {{ attachment_before }} + + {{ rows }} + {{ empty }} + {{ pager }} + + {{ attachment_after }} + {{ more }} + + {% if footer %} +
    + {{ footer }} +
    + {% endif %} + + {{ feed_icons }} + diff --git a/web/themes/custom/hoeringsportal/templates/views/views-view-unformatted--dialogue-proposals.html.twig b/web/themes/custom/hoeringsportal/templates/views/views-view-unformatted--dialogue-proposals.html.twig new file mode 100755 index 000000000..5e18e0b04 --- /dev/null +++ b/web/themes/custom/hoeringsportal/templates/views/views-view-unformatted--dialogue-proposals.html.twig @@ -0,0 +1,27 @@ +{# +/** + * @file + * Theme override to display a view of unformatted rows. + * + * Available variables: + * - title: The title of this group of rows. May be empty. + * - rows: A list of the view's row items. + * - attributes: The row's HTML attributes. + * - content: The row's content. + * - view: The view object. + * - default_row_class: A flag indicating whether default classes should be + * used on rows. + * + * @see template_preprocess_views_view_unformatted() + */ +#} +
    +{% if title %} +

    {{ title }}

    +{% endif %} +{% for row in rows %} +
    + {{ row.content }} +
    +{% endfor %} +
    diff --git a/web/themes/custom/hoeringsportal/webpack.config.js b/web/themes/custom/hoeringsportal/webpack.config.js index f8869b5ba..3ebbda20f 100755 --- a/web/themes/custom/hoeringsportal/webpack.config.js +++ b/web/themes/custom/hoeringsportal/webpack.config.js @@ -18,6 +18,7 @@ Encore .addEntry('hoeringsportal', './assets/js/hoeringsportal.js') .addEntry('deskpro-custom-css', './assets/js/deskpro-custom-css.js') .addEntry('show-map', './assets/js/show-map.js') + .addEntry('image-fade', './assets/js/image-fade.js') // Bootstrap expects jQuery to be available as a global variable. // (cf. http://symfony.com/doc/current/frontend/encore/bootstrap.html#importing-bootstrap-javascript).