From 716b4b0d90f23ca7c772e655567229c3ce45c178 Mon Sep 17 00:00:00 2001
From: Rajab Natshah <rajabn@gmail.com>
Date: Tue, 21 Mar 2017 11:57:01 +0200
Subject: [PATCH] Issue #2862389: [8.4.x] Added [View Modes Inventory] module
 to them default selected extra components

---
 composer.json                              |  1 +
 configbit/extra.components.varbase.bit.yml |  3 +++
 drupal-org.make                            | 10 ++++++++++
 src/Form/AssemblerForm.php                 | 17 ++++++++++++++++-
 4 files changed, 30 insertions(+), 1 deletion(-)

diff --git a/composer.json b/composer.json
index bfb2af84..d256aba2 100644
--- a/composer.json
+++ b/composer.json
@@ -214,6 +214,7 @@
     "drupal/security_review": "1.x-dev#35ebae445bb260e961e47c4c58efe7c50c228999",
     "drupal/captcha": "1.0-beta1",
     "drupal/recaptcha": "2.2",
+    "drupal/vmi": "1.x-dev#594dc1dd4a6dec7c5d40cacb284a1381d7902d78",
     "drupal/varbase_editor": "4.5",
     "drupal/varbase_heroslider_media": "4.0-alpha4",
     "drupal/varbase_carousels": "4.0-alpha2"
diff --git a/configbit/extra.components.varbase.bit.yml b/configbit/extra.components.varbase.bit.yml
index 69ac7d6d..9a07ce07 100644
--- a/configbit/extra.components.varbase.bit.yml
+++ b/configbit/extra.components.varbase.bit.yml
@@ -9,7 +9,10 @@ config_bit:
     show_extra_components: true
     list:
       dependencies:
+        - vmi
         - varbase_development
         - varbase_webform
         - varbase_heroslider_media
         - varbase_carousels
+      selected:
+        - vmi
diff --git a/drupal-org.make b/drupal-org.make
index a57e0414..bf09ab4e 100644
--- a/drupal-org.make
+++ b/drupal-org.make
@@ -333,6 +333,16 @@ projects[adminimal_theme][type] = theme
 projects[adminimal_theme][subdir] = "contrib"
 projects[adminimal_theme][version] = 1.3
 
+;;;;;;;;;;;;;;;;;;;;;
+;; Varbase public contrib modules
+;;;;;;;;;;;;;;;;;;;;;
+
+projects[vmi][type] = module
+projects[vmi][subdir] = "contrib"
+projects[vmi][download][url] = https://git.drupal.org/project/vmi.git
+projects[vmi][download][revision] = 594dc1dd4a6dec7c5d40cacb284a1381d7902d78
+projects[vmi][download][branch] = 8.x-1.x
+
 ;;;;;;;;;;;;;;;;;;;;;
 ;; Varbase public contrib features
 ;;;;;;;;;;;;;;;;;;;;;
diff --git a/src/Form/AssemblerForm.php b/src/Form/AssemblerForm.php
index 8ddf7196..40f86bab 100644
--- a/src/Form/AssemblerForm.php
+++ b/src/Form/AssemblerForm.php
@@ -84,7 +84,7 @@ class AssemblerForm extends FormBase {
 
     // Extra Varbase components, which could be selected to be installed.
     $extra_components_to_assemble = ConfigBit::getList('extra.components.varbase.bit.yml', 'show_extra_components', TRUE, 'dependencies');
-
+    
     // Combine default Varbase components and selected extra varbase components.
     $combined_extra_components = array_combine($extra_components_to_assemble, $extra_components_to_assemble);
     $extra_components = array_intersect_key($component_discovery->scan('module'), $combined_extra_components);
@@ -94,6 +94,18 @@ class AssemblerForm extends FormBase {
       yield $key => $extra_component_info;
     }
   }
+  
+  /**
+   * Get selected extra varbase's components.
+   *
+   * @return array
+   */
+  protected function getSelectedExtraComponents() {
+    // Selected Extra Varbase components.
+    $selected_extra_components = ConfigBit::getList('extra.components.varbase.bit.yml', 'show_extra_components', TRUE, 'selected');
+
+    return $selected_extra_components;
+  }
 
   /**
    * {@inheritdoc}
@@ -124,6 +136,9 @@ class AssemblerForm extends FormBase {
     foreach ($this->getExtraComponentsInfo() as $key => $info) {
       $form['extra_components']['#options'][$key] = $info['name'];
     }
+    
+    // Default selected extra components.
+    $form['extra_components']['#default_value'] = $this->getSelectedExtraComponents();
 
     return $form;
   }
-- 
GitLab