diff --git a/core/modules/datetime/config/schema/datetime.views.schema.yml b/core/modules/datetime/config/schema/datetime.views.schema.yml new file mode 100644 index 0000000000000000000000000000000000000000..257ea3b34eaf32e5aecd6e7129a1d814af5ca37b --- /dev/null +++ b/core/modules/datetime/config/schema/datetime.views.schema.yml @@ -0,0 +1,32 @@ +views.argument.datetime: + type: views.argument.date + +views.argument.datetime_day: + type: views.argument.datetime + +views.argument.datetime_full_date: + type: views.argument.datetime + +views.argument.datetime_month: + type: views.argument.datetime + +views.argument.datetime_week: + type: views.argument.datetime + +views.argument.datetime_year: + type: views.argument.datetime + +views.argument.datetime_year_month: + type: views.argument.datetime + +views.filter.datetime: + type: views.filter.date + +views.filter_value.datetime: + type: views.filter_value.date + +views.sort.datetime: + type: views.sort.date + +views.sort_expose.datetime: + type: views.sort_expose.date diff --git a/core/modules/datetime/tests/modules/datetime_test/test_views/views.view.test_sort_datetime.yml b/core/modules/datetime/tests/modules/datetime_test/test_views/views.view.test_sort_datetime.yml index de808302fe1fac5565b95cb67687876be262b5f5..59bcbd906881a9fef30735e022d89d80e8cbde70 100644 --- a/core/modules/datetime/tests/modules/datetime_test/test_views/views.view.test_sort_datetime.yml +++ b/core/modules/datetime/tests/modules/datetime_test/test_views/views.view.test_sort_datetime.yml @@ -33,6 +33,7 @@ display: relationship: none table: node__field_date order: DESC + granularity: second plugin_id: datetime id: field: nid diff --git a/core/modules/datetime/tests/src/Kernel/Views/DateTimeSchemaTest.php b/core/modules/datetime/tests/src/Kernel/Views/DateTimeSchemaTest.php new file mode 100644 index 0000000000000000000000000000000000000000..f763c49a514492df2aecf03c34fcc23060db78a9 --- /dev/null +++ b/core/modules/datetime/tests/src/Kernel/Views/DateTimeSchemaTest.php @@ -0,0 +1,52 @@ +initHandlers(); + $view->setDisplay('default'); + $arguments = $view->displayHandlers->get('default')->getOption('arguments'); + $arguments['field_date_value_year']['date'] = 'Date'; + $view->displayHandlers->get('default')->overrideOption('arguments', $arguments); + $view->save(); + $this->assertConfigSchemaByName('views.view.test_argument_datetime'); + + // Test filter schema. + $view = Views::getView('test_filter_datetime'); + $view->initHandlers(); + $filters = $view->displayHandlers->get('default')->getOption('filters'); + $filters['field_date_value']['type'] = 'Date'; + $view->save(); + $this->assertConfigSchemaByName('views.view.test_filter_datetime'); + + // Test sort schema. + $view = Views::getView('test_sort_datetime'); + $view->initHandlers(); + $sorts = $view->displayHandlers->get('default')->getOption('sorts'); + $this->assertNotEmpty($sorts['field_date_value']['granularity']); + $this->assertConfigSchemaByName('views.view.test_sort_datetime'); + } + +} diff --git a/core/modules/views/config/schema/views.filter.schema.yml b/core/modules/views/config/schema/views.filter.schema.yml index 18c13b687ded2584e887085a8de515825a376145..cdaa3645db687ddd6db5f7e1e27a119a9d886116 100644 --- a/core/modules/views/config/schema/views.filter.schema.yml +++ b/core/modules/views/config/schema/views.filter.schema.yml @@ -154,8 +154,8 @@ views.filter_value.date: type: string label: 'Type' -views.filter_value.datetime: - type: views.filter_value.numeric +views.filter.date: + type: views.filter.numeric label: 'Date' mapping: type: