From 86cc32f9e4902bd43499dfee51161eebf050d8ce Mon Sep 17 00:00:00 2001
From: hatuhay <alberto@siles.pe>
Date: Mon, 4 Feb 2019 17:17:18 -0500
Subject: [PATCH] Improve menu adding menu attributes support

---
 config/install/editor.editor.basic_html.yml   | 60 ++++++++++++++++
 config/install/editor.editor.full_html.yml    | 69 +++++++++++++++++++
 templates/navigation/menu--account.html.twig  |  1 +
 templates/navigation/menu--footer.html.twig   |  1 +
 templates/navigation/menu--main.html.twig     |  1 +
 .../navigation/menu-local-task.html.twig      |  1 +
 templates/navigation/menu.html.twig           |  1 +
 7 files changed, 134 insertions(+)
 create mode 100644 config/install/editor.editor.basic_html.yml
 create mode 100644 config/install/editor.editor.full_html.yml

diff --git a/config/install/editor.editor.basic_html.yml b/config/install/editor.editor.basic_html.yml
new file mode 100644
index 0000000..0234ed5
--- /dev/null
+++ b/config/install/editor.editor.basic_html.yml
@@ -0,0 +1,60 @@
+uuid: 56e85cf3-b0fe-4df9-9edd-b8ceefb34af5
+langcode: un
+status: true
+dependencies:
+  config:
+    - filter.format.basic_html
+  module:
+    - ckeditor
+_core:
+  default_config_hash: AqlPmO16LvJI4D0Ih6u4GFQIzqr5OnLgAUSjcUGWk2g
+format: basic_html
+editor: ckeditor
+settings:
+  toolbar:
+    rows:
+      -
+        -
+          name: Formatting
+          items:
+            - Styles
+            - Bold
+            - Italic
+        -
+          name: Linking
+          items:
+            - DrupalLink
+            - DrupalUnlink
+        -
+          name: Lists
+          items:
+            - BulletedList
+            - NumberedList
+        -
+          name: Media
+          items:
+            - Blockquote
+        -
+          name: 'Block Formatting'
+          items:
+            - Format
+        -
+          name: Tools
+          items:
+            - Source
+  plugins:
+    stylescombo:
+      styles: "h2|Encabezado 2\r\nh3|Encabezado 3\r\nh4|Encabezado 4\r\nspan.text-primary|Color primario\r\nspan.text-secondary|Color secundario\r\np.bg-primary.text-white|Fondo primario\r\np.bg-secondary.text-white|Fondo secundario\r\np.lead|Destacado\r\nspan.text-muted|Texto apagado"
+    language:
+      language_list: un
+    drupallink:
+      linkit_enabled: true
+      linkit_profile: default
+image_upload:
+  status: true
+  scheme: public
+  directory: inline-images
+  max_size: ''
+  max_dimensions:
+    width: null
+    height: null
diff --git a/config/install/editor.editor.full_html.yml b/config/install/editor.editor.full_html.yml
new file mode 100644
index 0000000..be15fcb
--- /dev/null
+++ b/config/install/editor.editor.full_html.yml
@@ -0,0 +1,69 @@
+uuid: 4f7332ad-0341-4dc5-933a-70c5802c4aeb
+langcode: un
+status: true
+dependencies:
+  config:
+    - filter.format.full_html
+  module:
+    - ckeditor
+_core:
+  default_config_hash: 967ijj7p6i7rwrYl7r08WQFeCY_c23YAh0h8u-w_CXM
+format: full_html
+editor: ckeditor
+settings:
+  toolbar:
+    rows:
+      -
+        -
+          name: Formatting
+          items:
+            - Styles
+            - Bold
+            - Italic
+            - Strike
+            - Superscript
+            - Subscript
+            - '-'
+            - RemoveFormat
+        -
+          name: Linking
+          items:
+            - DrupalLink
+            - DrupalUnlink
+        -
+          name: Lists
+          items:
+            - BulletedList
+            - NumberedList
+        -
+          name: Media
+          items:
+            - Blockquote
+            - DrupalImage
+            - Table
+            - HorizontalRule
+        -
+          name: 'Block Formatting'
+          items:
+            - Format
+        -
+          name: Tools
+          items:
+            - ShowBlocks
+            - Source
+  plugins:
+    stylescombo:
+      styles: "h2|Encabezado 2\r\nh3|Encabezado 3\r\nh4|Encabezado 4\r\nspan.text-primary|Color primario\r\nspan.text-secondary|Color secundario\r\np.bg-primary.text-white|Fondo primario\r\np.bg-secondary.text-white|Fondo secundario\r\np.lead|Destacado\r\nspan.text-muted|Texto apagado"
+    language:
+      language_list: un
+    drupallink:
+      linkit_enabled: false
+      linkit_profile: ''
+image_upload:
+  status: true
+  scheme: public
+  directory: inline-images
+  max_size: ''
+  max_dimensions:
+    width: null
+    height: null
diff --git a/templates/navigation/menu--account.html.twig b/templates/navigation/menu--account.html.twig
index 3633708..b4c3984 100644
--- a/templates/navigation/menu--account.html.twig
+++ b/templates/navigation/menu--account.html.twig
@@ -36,6 +36,7 @@
           set classes = [
            'nav-link',
             item.in_active_trail ? 'active',
+            item.url.getOption('attributes').class ? item.url.getOption('attributes').class,
           ]
         %}
         {{ link(item.title, item.url, {'class': classes}) }}
diff --git a/templates/navigation/menu--footer.html.twig b/templates/navigation/menu--footer.html.twig
index 13d42f5..99c237b 100644
--- a/templates/navigation/menu--footer.html.twig
+++ b/templates/navigation/menu--footer.html.twig
@@ -48,6 +48,7 @@
           set link_classes = [
             'nav-link',
             item.in_active_trail ? 'active',
+            item.url.getOption('attributes').class ? item.url.getOption('attributes').class,
           ]
         %}
         {{ link(item.title, item.url, {'class': link_classes}) }}
diff --git a/templates/navigation/menu--main.html.twig b/templates/navigation/menu--main.html.twig
index 117f9d0..dbb41e3 100644
--- a/templates/navigation/menu--main.html.twig
+++ b/templates/navigation/menu--main.html.twig
@@ -50,6 +50,7 @@
             not menu_level ? 'nav-link',
             item.in_active_trail ? 'active',
             item.below ? 'dropdown-toggle',
+            item.url.getOption('attributes').class ? item.url.getOption('attributes').class,
           ]
         %}
         {% if item.below %}
diff --git a/templates/navigation/menu-local-task.html.twig b/templates/navigation/menu-local-task.html.twig
index 74d4918..59bba59 100644
--- a/templates/navigation/menu-local-task.html.twig
+++ b/templates/navigation/menu-local-task.html.twig
@@ -20,6 +20,7 @@
   set classes = [
     'nav-link',
     is_active ? 'active',
+    item.url.getOption('attributes').class ? item.url.getOption('attributes').class,
   ]
 %}
 <li{{ attributes.addClass(is_active ? 'active', 'nav-item') }}>{{ link(item.text, item.url, {'class': classes}) }}</li>
diff --git a/templates/navigation/menu.html.twig b/templates/navigation/menu.html.twig
index 88b0a19..f9eda06 100644
--- a/templates/navigation/menu.html.twig
+++ b/templates/navigation/menu.html.twig
@@ -48,6 +48,7 @@
           set link_classes = [
             'nav-link',
             item.in_active_trail ? 'active',
+            item.url.getOption('attributes').class ? item.url.getOption('attributes').class,
           ]
         %}
         {{ link(item.title, item.url, {'class': link_classes}) }}
-- 
GitLab