Skip to content
Snippets Groups Projects
Commit 73d53492 authored by Sean Dietrich's avatar Sean Dietrich
Browse files

Added Settings Form

parent 374e9269
No related branches found
No related tags found
No related merge requests found
Pipeline #296388 passed
...@@ -2,5 +2,6 @@ name: Project Browser API Browser ...@@ -2,5 +2,6 @@ name: Project Browser API Browser
description: Create Project Browsers that connect with external APIs. description: Create Project Browsers that connect with external APIs.
type: module type: module
core_version_requirement: ">=10" core_version_requirement: ">=10"
configure: api_browser.settings
dependencies: dependencies:
- project_browser:project_browser - project_browser:project_browser
...@@ -3,3 +3,9 @@ entity.api_browser_service.collection: ...@@ -3,3 +3,9 @@ entity.api_browser_service.collection:
parent: project_browser.settings parent: project_browser.settings
description: 'Manage the Project Browser API Browser Services' description: 'Manage the Project Browser API Browser Services'
route_name: entity.api_browser_service.collection route_name: entity.api_browser_service.collection
api_browser.settings:
title: API Browser Settings
parent: project_browser.settings
description: 'API Browser Settings'
route_name: api_browser.settings
...@@ -3,7 +3,12 @@ project_browser.settings: ...@@ -3,7 +3,12 @@ project_browser.settings:
base_route: project_browser.settings base_route: project_browser.settings
title: Project Browser Settings title: Project Browser Settings
api_browser.settings: api_browser.services:
route_name: entity.api_browser_service.collection route_name: entity.api_browser_service.collection
base_route: project_browser.settings base_route: project_browser.settings
title: Project Browser API Settings title: API Browser Services
api_browser.settings:
route_name: api_browser.settings
base_route: project_browser.settings
title: API Browser Settings
...@@ -45,3 +45,11 @@ entity.api_browser_service.delete_form: ...@@ -45,3 +45,11 @@ entity.api_browser_service.delete_form:
_admin_route: TRUE _admin_route: TRUE
requirements: requirements:
_entity_access: api_browser_service.delete _entity_access: api_browser_service.delete
api_browser.settings:
path: '/admin/config/development/project_browser/api_browser/settings'
defaults:
_form: '\Drupal\api_browser\Form\ApiBrowserSettingsForm'
_title: 'Project Browser API Browser Settings'
requirements:
_permission: 'administer api_browser_service'
debug:
enable: false
...@@ -514,6 +514,7 @@ class ApiBrowserServiceForm extends EntityForm { ...@@ -514,6 +514,7 @@ class ApiBrowserServiceForm extends EntityForm {
$form['testing'] = [ $form['testing'] = [
'#type' => 'container', '#type' => 'container',
'#access' => $this->config('api_browser.settings')->get('debug')['enable'] ?? FALSE,
]; ];
$form['testing']['listing'] = [ $form['testing']['listing'] = [
......
<?php
namespace Drupal\api_browser\Form;
use Drupal\Core\Form\ConfigFormBase;
use Drupal\Core\Form\FormStateInterface;
/**
* API Browser Config Form.
*/
class ApiBrowserSettingsForm extends ConfigFormBase {
/**
* {@inheritdoc}
*/
public function getFormId(): string {
return 'api_browser_settings_form';
}
/**
* {@inheritdoc}
*/
protected function getEditableConfigNames(): array {
return ['api_browser.settings'];
}
/**
* {@inheritdoc}
*/
public function buildForm(array $form, FormStateInterface $form_state): array {
$config = $this->config('api_browser.settings');
$form['debug'] = [
'#type' => 'checkbox',
'#title' => $this->t('Enable debug mode'),
'#default_value' => $config->get('debug')['enable'],
'#description' => $this->t('Enable debug mode on the Entity form to test out configuration.'),
];
return parent::buildForm($form, $form_state);
}
/**
* {@inheritdoc}
*/
public function submitForm(array &$form, FormStateInterface $form_state): void {
$this->config('api_browser.settings')
->set('debug.enable', boolval($form_state->getValue('debug')))
->save();
parent::submitForm($form, $form_state);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment