Issue #2623568 by yanniboi, claudiu.cristea, himanshugautam, anil280988, sidharthap, Sagar Ramgade: Config schema of argument_default plugins is incorrect
parent
72bc194977
commit
4fc22ade01
|
@ -66,13 +66,6 @@ views.argument.node_vid:
|
||||||
type: boolean
|
type: boolean
|
||||||
label: 'Exclude'
|
label: 'Exclude'
|
||||||
|
|
||||||
views.argument_default.node:
|
|
||||||
type: sequence
|
|
||||||
label: 'Content ID from URL'
|
|
||||||
sequence:
|
|
||||||
type: string
|
|
||||||
label: 'Nid'
|
|
||||||
|
|
||||||
views.field.node:
|
views.field.node:
|
||||||
type: views_field
|
type: views_field
|
||||||
label: 'Node'
|
label: 'Node'
|
||||||
|
|
|
@ -49,10 +49,6 @@ views.argument_default.user:
|
||||||
type: boolean
|
type: boolean
|
||||||
label: 'Also look for a node and use the node author'
|
label: 'Also look for a node and use the node author'
|
||||||
|
|
||||||
views.argument_default.current_user:
|
|
||||||
type: boolean
|
|
||||||
label: 'User ID from logged in user'
|
|
||||||
|
|
||||||
views_field_user:
|
views_field_user:
|
||||||
type: views_field
|
type: views_field
|
||||||
mapping:
|
mapping:
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
# Schema for the views default arguments.
|
# Schema for the views default arguments.
|
||||||
|
|
||||||
|
views.argument_default.*:
|
||||||
|
type: mapping
|
||||||
|
label: 'Base default argument'
|
||||||
|
|
||||||
views.argument_default.fixed:
|
views.argument_default.fixed:
|
||||||
type: mapping
|
type: mapping
|
||||||
label: 'Fixed'
|
label: 'Fixed'
|
||||||
|
@ -18,3 +22,17 @@ views.argument_default.raw:
|
||||||
use_alias:
|
use_alias:
|
||||||
type: boolean
|
type: boolean
|
||||||
label: 'Use path alias'
|
label: 'Use path alias'
|
||||||
|
|
||||||
|
views.argument_default.query_parameter:
|
||||||
|
type: mapping
|
||||||
|
label: 'Query parameter'
|
||||||
|
mapping:
|
||||||
|
query_param:
|
||||||
|
type: string
|
||||||
|
label: 'Parameter'
|
||||||
|
fallback:
|
||||||
|
type: string
|
||||||
|
label: 'Fallback value'
|
||||||
|
multiple:
|
||||||
|
type: string
|
||||||
|
label: 'Multiple values'
|
||||||
|
|
|
@ -2,10 +2,12 @@
|
||||||
|
|
||||||
namespace Drupal\views\Tests\Plugin;
|
namespace Drupal\views\Tests\Plugin;
|
||||||
|
|
||||||
|
use Drupal\Core\Url;
|
||||||
use Drupal\node\Entity\Node;
|
use Drupal\node\Entity\Node;
|
||||||
use Drupal\node\Entity\NodeType;
|
use Drupal\node\Entity\NodeType;
|
||||||
use Drupal\views\Views;
|
use Drupal\views\Views;
|
||||||
use Drupal\views_test_data\Plugin\views\argument_default\ArgumentDefaultTest as ArgumentDefaultTestPlugin;
|
use Drupal\views_test_data\Plugin\views\argument_default\ArgumentDefaultTest as ArgumentDefaultTestPlugin;
|
||||||
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -25,6 +27,7 @@ class ArgumentDefaultTest extends PluginTestBase {
|
||||||
'test_argument_default_fixed',
|
'test_argument_default_fixed',
|
||||||
'test_argument_default_current_user',
|
'test_argument_default_current_user',
|
||||||
'test_argument_default_node',
|
'test_argument_default_node',
|
||||||
|
'test_argument_default_query_param',
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -163,4 +166,24 @@ class ArgumentDefaultTest extends PluginTestBase {
|
||||||
$this->assertTrue(strpos($this->xpath($xpath)[0]->asXml(), $node2->getTitle()));
|
$this->assertTrue(strpos($this->xpath($xpath)[0]->asXml(), $node2->getTitle()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests the query parameter default argument.
|
||||||
|
*/
|
||||||
|
public function testArgumentDefaultQueryParameter() {
|
||||||
|
$view = Views::getView('test_argument_default_query_param');
|
||||||
|
|
||||||
|
$request = Request::create(Url::fromUri('internal:/whatever', ['absolute' => TRUE])->toString());
|
||||||
|
|
||||||
|
// Check the query parameter default argument fallback value.
|
||||||
|
$view->setRequest($request);
|
||||||
|
$view->initHandlers();
|
||||||
|
$this->assertEqual($view->argument['type']->getDefaultArgument(), 'all');
|
||||||
|
|
||||||
|
// Check the query parameter default argument with a value.
|
||||||
|
$request->query->add(['the_node_type' => 'page']);
|
||||||
|
$view->setRequest($request);
|
||||||
|
$view->initHandlers();
|
||||||
|
$this->assertEqual($view->argument['type']->getDefaultArgument(), 'page');
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,62 @@
|
||||||
|
langcode: en
|
||||||
|
status: true
|
||||||
|
dependencies:
|
||||||
|
module:
|
||||||
|
- node
|
||||||
|
id: test_argument_default_query_param
|
||||||
|
label: ''
|
||||||
|
module: views
|
||||||
|
description: ''
|
||||||
|
tag: ''
|
||||||
|
base_table: node_field_data
|
||||||
|
base_field: nid
|
||||||
|
core: '8'
|
||||||
|
display:
|
||||||
|
default:
|
||||||
|
display_options:
|
||||||
|
arguments:
|
||||||
|
type:
|
||||||
|
id: type
|
||||||
|
table: node_field_data
|
||||||
|
field: type
|
||||||
|
default_action: default
|
||||||
|
default_argument_type: query_parameter
|
||||||
|
default_argument_options:
|
||||||
|
query_param: the_node_type
|
||||||
|
fallback: all
|
||||||
|
multiple: and
|
||||||
|
entity_type: node
|
||||||
|
entity_field: type
|
||||||
|
plugin_id: node_type
|
||||||
|
fields:
|
||||||
|
title:
|
||||||
|
alter:
|
||||||
|
alter_text: false
|
||||||
|
ellipsis: true
|
||||||
|
html: false
|
||||||
|
make_link: false
|
||||||
|
strip_tags: false
|
||||||
|
trim: false
|
||||||
|
word_boundary: true
|
||||||
|
empty_zero: false
|
||||||
|
field: title
|
||||||
|
hide_empty: false
|
||||||
|
id: title
|
||||||
|
table: node_field_data
|
||||||
|
plugin_id: field
|
||||||
|
entity_type: node
|
||||||
|
entity_field: title
|
||||||
|
pager:
|
||||||
|
options:
|
||||||
|
id: 0
|
||||||
|
items_per_page: 10
|
||||||
|
offset: 0
|
||||||
|
type: full
|
||||||
|
style:
|
||||||
|
type: default
|
||||||
|
row:
|
||||||
|
type: fields
|
||||||
|
display_plugin: default
|
||||||
|
display_title: Master
|
||||||
|
id: default
|
||||||
|
position: 0
|
Loading…
Reference in New Issue