views.data_types.schema.yml

Same filename and directory in other branches
  1. 11.x core/modules/views/config/schema/views.data_types.schema.yml
  2. 10 core/modules/views/config/schema/views.data_types.schema.yml
  3. 9 core/modules/views/config/schema/views.data_types.schema.yml
  4. 8.9.x core/modules/views/config/schema/views.data_types.schema.yml
core/modules/views/config/schema/views.data_types.schema.yml

File

core/modules/views/config/schema/views.data_types.schema.yml

View source
  1. # Basic data types for views.
  2. views_display:
  3. type: mapping
  4. label: 'Display options'
  5. mapping:
  6. enabled:
  7. type: boolean
  8. label: 'Status'
  9. title:
  10. type: text
  11. label: 'Display title'
  12. format:
  13. type: string
  14. label: 'Format'
  15. fields:
  16. type: sequence
  17. label: 'Fields'
  18. sequence:
  19. type: views.field.[plugin_id]
  20. pager:
  21. type: mapping
  22. label: 'Pager'
  23. mapping:
  24. type:
  25. type: string
  26. label: 'Pager type'
  27. constraints:
  28. PluginExists:
  29. manager: plugin.manager.views.pager
  30. interface: 'Drupal\views\Plugin\views\pager\PagerPluginBase'
  31. options:
  32. type: views.pager.[%parent.type]
  33. exposed_form:
  34. type: mapping
  35. label: 'Exposed form'
  36. mapping:
  37. type:
  38. type: string
  39. label: 'Exposed form type'
  40. constraints:
  41. PluginExists:
  42. manager: plugin.manager.views.exposed_form
  43. interface: 'Drupal\views\Plugin\views\exposed_form\ExposedFormPluginInterface'
  44. options:
  45. label: 'Options'
  46. type: views.exposed_form.[%parent.type]
  47. access:
  48. type: mapping
  49. label: 'Access'
  50. mapping:
  51. type:
  52. type: string
  53. label: 'Access type'
  54. constraints:
  55. PluginExists:
  56. manager: plugin.manager.views.access
  57. options:
  58. type: views.access.[%parent.type]
  59. cache:
  60. type: views.cache.[type]
  61. empty:
  62. type: sequence
  63. label: 'No results behavior'
  64. sequence:
  65. type: views.area.[plugin_id]
  66. sorts:
  67. type: sequence
  68. label: 'Sorts'
  69. sequence:
  70. type: views.sort.[plugin_id]
  71. arguments:
  72. type: sequence
  73. label: 'Arguments'
  74. sequence:
  75. type: views.argument.[plugin_id]
  76. filters:
  77. type: sequence
  78. label: 'Filters'
  79. sequence:
  80. type: views.filter.[plugin_id]
  81. filter_groups:
  82. type: mapping
  83. label: 'Groups'
  84. mapping:
  85. operator:
  86. type: string
  87. label: 'Operator'
  88. groups:
  89. type: sequence
  90. label: 'Groups'
  91. sequence:
  92. type: string
  93. label: 'Operator'
  94. style:
  95. type: mapping
  96. label: 'Format'
  97. mapping:
  98. type:
  99. type: string
  100. label: 'Type'
  101. constraints:
  102. PluginExists:
  103. manager: plugin.manager.views.style
  104. interface: 'Drupal\views\Plugin\views\style\StylePluginBase'
  105. options:
  106. type: views.style.[%parent.type]
  107. row:
  108. type: mapping
  109. label: 'Row'
  110. mapping:
  111. type:
  112. type: string
  113. label: 'Row type'
  114. constraints:
  115. PluginExists:
  116. manager: plugin.manager.views.row
  117. options:
  118. type: views.row.[%parent.type]
  119. query:
  120. type: mapping
  121. label: 'Query'
  122. mapping:
  123. type:
  124. type: string
  125. label: 'Query type'
  126. constraints:
  127. PluginExists:
  128. manager: plugin.manager.views.query
  129. options:
  130. type: views.query.[%parent.type]
  131. defaults:
  132. type: mapping
  133. label: 'Defaults'
  134. mapping:
  135. empty:
  136. type: boolean
  137. label: 'Empty'
  138. access:
  139. type: boolean
  140. label: 'Access restrictions'
  141. cache:
  142. type: boolean
  143. label: 'Caching'
  144. query:
  145. type: boolean
  146. label: 'Query options'
  147. title:
  148. type: boolean
  149. label: 'Title'
  150. css_class:
  151. type: boolean
  152. label: 'CSS class'
  153. display_description:
  154. type: boolean
  155. label: 'Administrative description'
  156. use_ajax:
  157. type: boolean
  158. label: 'Use AJAX'
  159. hide_attachment_summary:
  160. type: boolean
  161. label: 'Hide attachments when displaying a contextual filter summary'
  162. show_admin_links:
  163. type: boolean
  164. label: 'Show contextual links'
  165. pager:
  166. type: boolean
  167. label: 'Use pager'
  168. use_more:
  169. type: boolean
  170. label: 'Create more link'
  171. use_more_always:
  172. type: boolean
  173. label: 'Display ''more'' link only if there is more content'
  174. use_more_text:
  175. type: boolean
  176. label: 'The text to display for the more link.'
  177. exposed_form:
  178. type: boolean
  179. label: 'Exposed form style'
  180. link_display:
  181. type: boolean
  182. label: 'Link display'
  183. link_url:
  184. type: boolean
  185. label: 'Link URL'
  186. group_by:
  187. type: boolean
  188. label: 'Aggregate'
  189. style:
  190. type: boolean
  191. label: 'Style'
  192. row:
  193. type: boolean
  194. label: 'Row'
  195. relationships:
  196. type: boolean
  197. label: 'Relationships'
  198. fields:
  199. type: boolean
  200. label: 'Fields'
  201. sorts:
  202. type: boolean
  203. label: 'Sorts'
  204. arguments:
  205. type: boolean
  206. label: 'Arguments'
  207. filters:
  208. type: boolean
  209. label: 'Filters'
  210. filter_groups:
  211. type: boolean
  212. label: 'Filter groups'
  213. header:
  214. type: boolean
  215. label: 'Header'
  216. footer:
  217. type: boolean
  218. label: 'Footer'
  219. relationships:
  220. type: sequence
  221. label: 'Relationships'
  222. sequence:
  223. type: views.relationship.[plugin_id]
  224. css_class:
  225. type: string
  226. label: 'CSS class'
  227. use_ajax:
  228. type: boolean
  229. label: 'Use AJAX'
  230. group_by:
  231. type: boolean
  232. label: 'Aggregate'
  233. display_description:
  234. type: label
  235. label: 'Administrative description'
  236. show_admin_links:
  237. type: boolean
  238. label: 'Show contextual links'
  239. use_more:
  240. type: boolean
  241. label: 'Create more link'
  242. use_more_always:
  243. type: boolean
  244. label: 'Display ''more'' link only if there is more content'
  245. use_more_text:
  246. type: label
  247. label: 'The text to display for the more link.'
  248. link_display:
  249. type: string
  250. label: 'Link display'
  251. link_url:
  252. type: text
  253. label: 'Link URL'
  254. header:
  255. type: sequence
  256. label: 'Header'
  257. sequence:
  258. type: views.area.[plugin_id]
  259. footer:
  260. type: sequence
  261. label: 'Footer'
  262. sequence:
  263. type: views.area.[plugin_id]
  264. display_comment:
  265. type: text
  266. label: 'Display comment'
  267. hide_attachment_summary:
  268. type: boolean
  269. label: 'Hide attachments in summary'
  270. rendering_language:
  271. type: string
  272. label: 'Entity language'
  273. exposed_block:
  274. type: boolean
  275. label: 'Put the exposed form in a block'
  276. display_extenders:
  277. type: sequence
  278. label: 'Display extenders'
  279. sequence:
  280. type: views.display_extender.[%key]
  281. views_sort:
  282. type: views_handler
  283. label: 'Sort criteria'
  284. mapping:
  285. order:
  286. type: string
  287. label: 'Sort order'
  288. expose:
  289. type: views.sort_expose.[%parent.plugin_id]
  290. exposed:
  291. type: boolean
  292. label: 'Expose this sort to visitors, to allow them to change it'
  293. plugin_id:
  294. type: string
  295. label: 'Plugin ID'
  296. constraints:
  297. PluginExists:
  298. manager: plugin.manager.views.sort
  299. # @todo Remove this line and fix all views in core which use invalid
  300. # sort plugins in https://drupal.org/i/3387325.
  301. allowFallback: true
  302. views_sort_expose:
  303. type: mapping
  304. mapping:
  305. label:
  306. type: label
  307. label: 'Label'
  308. field_identifier:
  309. type: string
  310. label: 'Field identifier'
  311. views_area:
  312. type: views_handler
  313. label: 'Area'
  314. mapping:
  315. label:
  316. type: label
  317. label: 'A string to identify the area instance in the admin UI.'
  318. empty:
  319. type: boolean
  320. label: 'Display even if view has no result'
  321. plugin_id:
  322. type: string
  323. label: 'Plugin ID'
  324. constraints:
  325. PluginExists:
  326. manager: plugin.manager.views.area
  327. # @todo Remove this line and fix all views in core which use invalid
  328. # area plugins in https://drupal.org/i/3387325.
  329. allowFallback: true
  330. views_handler:
  331. type: mapping
  332. mapping:
  333. id:
  334. type: string
  335. label: 'A unique ID per handler type'
  336. table:
  337. type: string
  338. label: 'The views_data table for this handler'
  339. field:
  340. type: string
  341. label: 'The views_data field for this handler'
  342. relationship:
  343. type: string
  344. label: 'The ID of the relationship instance used by this handler'
  345. group_type:
  346. type: string
  347. label: 'A sql aggregation type'
  348. admin_label:
  349. type: label
  350. label: 'A string to identify the handler instance in the admin UI.'
  351. entity_type:
  352. type: string
  353. label: 'The entity type'
  354. entity_field:
  355. type: string
  356. label: 'The corresponding entity field'
  357. plugin_id:
  358. type: string
  359. label: 'The plugin ID'
  360. views_argument:
  361. type: views_handler
  362. label: 'Argument'
  363. mapping:
  364. default_action:
  365. type: string
  366. label: 'When the filter value is NOT available'
  367. exception:
  368. type: mapping
  369. label: 'Exception value'
  370. mapping:
  371. value:
  372. type: string
  373. label: 'Value'
  374. title_enable:
  375. type: boolean
  376. label: 'Override title'
  377. title:
  378. type: label
  379. label: 'Title'
  380. title_enable:
  381. type: boolean
  382. label: 'Override title'
  383. title:
  384. type: label
  385. label: 'Overridden title'
  386. default_argument_type:
  387. type: string
  388. label: 'Type'
  389. constraints:
  390. PluginExists:
  391. manager: plugin.manager.views.argument_default
  392. default_argument_options:
  393. type: views.argument_default.[%parent.default_argument_type]
  394. label: 'Default argument options'
  395. summary_options:
  396. type: views.style.[%parent.summary.format]
  397. label: 'Summary options'
  398. summary:
  399. type: mapping
  400. label: 'Display a summary'
  401. mapping:
  402. sort_order:
  403. type: string
  404. label: 'Sort order'
  405. number_of_records:
  406. type: integer
  407. label: 'Sort by'
  408. format:
  409. type: string
  410. label: 'Format'
  411. specify_validation:
  412. type: boolean
  413. label: 'Specify validation criteria'
  414. validate:
  415. type: mapping
  416. label: 'Validation settings'
  417. mapping:
  418. type:
  419. type: string
  420. label: 'Validator'
  421. constraints:
  422. PluginExists:
  423. manager: plugin.manager.views.argument_validator
  424. fail:
  425. type: string
  426. label: 'Action to take if filter value does not validate'
  427. validate_options:
  428. type: views.argument_validator.[%parent.validate.type]
  429. label: 'Validate options'
  430. glossary:
  431. type: boolean
  432. label: 'Glossary mode'
  433. limit:
  434. type: integer
  435. label: 'Character limit'
  436. case:
  437. type: string
  438. label: 'Case'
  439. path_case:
  440. type: string
  441. label: 'Case in path'
  442. transform_dash:
  443. type: boolean
  444. label: 'Transform spaces to dashes in URL'
  445. break_phrase:
  446. type: boolean
  447. label: 'Allow multiple values'
  448. plugin_id:
  449. type: string
  450. label: 'Plugin ID'
  451. constraints:
  452. PluginExists:
  453. manager: plugin.manager.views.argument
  454. # @todo Remove this line and fix all views in core which use invalid
  455. # argument plugins in https://drupal.org/i/3387325.
  456. allowFallback: true
  457. views_exposed_form:
  458. type: mapping
  459. mapping:
  460. submit_button:
  461. type: label
  462. label: 'Submit button text'
  463. reset_button:
  464. type: boolean
  465. label: 'Include reset button'
  466. reset_button_label:
  467. type: label
  468. label: 'Reset button label'
  469. exposed_sorts_label:
  470. type: label
  471. label: 'Exposed sorts label'
  472. expose_sort_order:
  473. type: boolean
  474. label: 'Expose sort order'
  475. sort_asc_label:
  476. type: label
  477. label: 'Ascending'
  478. sort_desc_label:
  479. type: label
  480. label: 'Descending'
  481. views_field:
  482. type: views_handler
  483. mapping:
  484. label:
  485. type: label
  486. label: 'Create a label'
  487. exclude:
  488. type: boolean
  489. label: 'Exclude from display'
  490. alter:
  491. type: mapping
  492. label: 'Rewrite results'
  493. mapping:
  494. alter_text:
  495. type: boolean
  496. label: 'Override the output of this field with custom text'
  497. text:
  498. type: text
  499. label: 'Text'
  500. make_link:
  501. type: boolean
  502. label: 'Output this field as a custom link'
  503. path:
  504. type: text
  505. label: 'Link path'
  506. absolute:
  507. type: boolean
  508. label: 'Use absolute path'
  509. external:
  510. type: boolean
  511. label: 'External server URL'
  512. replace_spaces:
  513. type: boolean
  514. label: 'Replace spaces with dashes'
  515. path_case:
  516. type: string
  517. label: 'Transform the case'
  518. trim_whitespace:
  519. type: boolean
  520. label: 'Remove whitespace'
  521. alt:
  522. type: label
  523. label: 'Title text'
  524. rel:
  525. type: string
  526. label: 'Rel Text'
  527. link_class:
  528. type: string
  529. label: 'Link class'
  530. prefix:
  531. type: label
  532. label: 'Prefix text'
  533. suffix:
  534. type: label
  535. label: 'Suffix text'
  536. target:
  537. type: string
  538. label: 'Target'
  539. nl2br:
  540. type: boolean
  541. label: 'Convert newlines to HTML <br> tags'
  542. max_length:
  543. type: integer
  544. label: 'Maximum number of characters'
  545. word_boundary:
  546. type: boolean
  547. label: 'Trim only on a word boundary'
  548. ellipsis:
  549. type: boolean
  550. label: 'Add "…" at the end of trimmed text'
  551. more_link:
  552. type: boolean
  553. label: 'Add a read-more link if output is trimmed'
  554. more_link_text:
  555. type: label
  556. label: 'More link label'
  557. more_link_path:
  558. type: string
  559. label: 'More link path'
  560. strip_tags:
  561. type: boolean
  562. label: 'Strip HTML tags'
  563. trim:
  564. type: boolean
  565. label: 'Trim this field to a maximum number of characters'
  566. preserve_tags:
  567. type: string
  568. label: 'Preserve certain tags'
  569. html:
  570. type: boolean
  571. label: 'Field can contain HTML'
  572. element_type:
  573. type: string
  574. label: 'HTML element'
  575. element_class:
  576. type: string
  577. label: 'CSS class'
  578. element_label_type:
  579. type: string
  580. label: 'Label HTML element'
  581. element_label_class:
  582. type: string
  583. label: 'CSS class'
  584. element_label_colon:
  585. type: boolean
  586. label: 'Place a colon after the label'
  587. element_wrapper_type:
  588. type: string
  589. label: 'Wrapper HTML element'
  590. element_wrapper_class:
  591. type: string
  592. label: 'CSS class'
  593. element_default_classes:
  594. type: boolean
  595. label: 'Add default classes'
  596. empty:
  597. type: string
  598. label: 'No results text'
  599. hide_empty:
  600. type: boolean
  601. label: 'Hide if empty'
  602. empty_zero:
  603. type: boolean
  604. label: 'Count the number 0 as empty'
  605. hide_alter_empty:
  606. type: boolean
  607. label: 'Hide rewriting if empty'
  608. destination:
  609. type: boolean
  610. label: 'Append a destination query string to operation links.'
  611. plugin_id:
  612. type: string
  613. label: 'Plugin ID'
  614. constraints:
  615. PluginExists:
  616. manager: plugin.manager.views.field
  617. # @todo Remove this line and fix all views in core which use invalid
  618. # field plugins in https://drupal.org/i/3387325.
  619. allowFallback: true
  620. views_pager:
  621. type: mapping
  622. label: 'Pager'
  623. mapping:
  624. offset:
  625. type: integer
  626. label: 'Offset'
  627. constraints:
  628. PositiveOrZero: []
  629. pagination_heading_level:
  630. # Validating against a string, but the list is populated by a protected
  631. # property of the plugin. This could be a callback in the future.
  632. type: string
  633. label: 'Pager header element'
  634. items_per_page:
  635. type: integer
  636. label: 'Items per page'
  637. constraints:
  638. PositiveOrZero: []
  639. views_pager_sql:
  640. type: views_pager
  641. label: 'SQL pager'
  642. mapping:
  643. total_pages:
  644. type: integer
  645. label: 'Number of pages'
  646. constraints:
  647. PositiveOrZero: []
  648. id:
  649. type: integer
  650. label: 'Pager ID'
  651. constraints:
  652. PositiveOrZero: []
  653. tags:
  654. type: mapping
  655. label: 'Pager link labels'
  656. mapping:
  657. next:
  658. type: label
  659. label: 'Next page link text'
  660. previous:
  661. type: label
  662. label: 'Previous page link text'
  663. quantity:
  664. type: integer
  665. label: 'Number of pager links visible'
  666. constraints:
  667. PositiveOrZero: []
  668. expose:
  669. type: mapping
  670. label: 'Exposed options'
  671. mapping:
  672. items_per_page:
  673. type: boolean
  674. label: 'Items per page'
  675. items_per_page_label:
  676. type: label
  677. label: 'Items per page label'
  678. items_per_page_options:
  679. type: string
  680. label: 'Exposed items per page options'
  681. constraints:
  682. # Comma separated list of integers, with optional space in between.
  683. Regex:
  684. pattern: '/^(\d+)(,\s*\d+)*$/'
  685. message: 'Per page should be a valid list of integers.'
  686. items_per_page_options_all:
  687. type: boolean
  688. label: 'Include all items option'
  689. items_per_page_options_all_label:
  690. type: label
  691. label: 'All items label'
  692. offset:
  693. type: boolean
  694. label: 'Expose Offset'
  695. offset_label:
  696. type: label
  697. label: 'Offset label'
  698. views_style:
  699. type: mapping
  700. mapping:
  701. grouping:
  702. type: sequence
  703. label: 'Grouping field number %i'
  704. sequence:
  705. type: mapping
  706. label: 'Field'
  707. mapping:
  708. field:
  709. type: string
  710. label: 'Field'
  711. rendered:
  712. type: boolean
  713. label: 'Use rendered output to group rows'
  714. rendered_strip:
  715. type: boolean
  716. label: 'Remove tags from rendered output'
  717. row_class:
  718. type: string
  719. label: 'Row class'
  720. default_row_class:
  721. type: boolean
  722. label: 'Add views row classes'
  723. uses_fields:
  724. type: boolean
  725. label: 'Force using fields'
  726. views_filter:
  727. type: views_handler
  728. mapping:
  729. operator:
  730. type: string
  731. label: 'Operator'
  732. value:
  733. type: views.filter_value.[%parent.plugin_id]
  734. label: 'Value'
  735. group:
  736. type: integer
  737. label: 'Group'
  738. exposed:
  739. type: boolean
  740. label: 'Expose this filter to visitors, to allow them to change it'
  741. expose:
  742. type: mapping
  743. label: 'Expose'
  744. mapping:
  745. operator_id:
  746. type: string
  747. label: 'Operator identifier'
  748. label:
  749. type: label
  750. label: 'Label'
  751. description:
  752. type: label
  753. label: 'Description'
  754. use_operator:
  755. type: boolean
  756. label: 'Expose operator'
  757. operator:
  758. type: string
  759. label: 'Operator'
  760. operator_limit_selection:
  761. type: boolean
  762. label: 'Limit the available operators'
  763. operator_list:
  764. type: sequence
  765. label: 'List of available operators'
  766. sequence:
  767. type: string
  768. label: 'Operator'
  769. identifier:
  770. type: string
  771. label: 'Filter identifier'
  772. required:
  773. type: boolean
  774. label: 'Required'
  775. remember:
  776. type: boolean
  777. label: 'Remember the last selection'
  778. multiple:
  779. type: boolean
  780. label: 'Allow multiple selections'
  781. remember_roles:
  782. type: sequence
  783. label: 'User roles'
  784. sequence:
  785. type: string
  786. label: 'Role'
  787. is_grouped:
  788. type: boolean
  789. label: 'Grouped filters'
  790. group_info:
  791. type: mapping
  792. label: 'Group'
  793. mapping:
  794. label:
  795. type: label
  796. label: 'Label'
  797. description:
  798. type: label
  799. label: 'Description'
  800. identifier:
  801. type: string
  802. label: 'Identifier'
  803. optional:
  804. type: boolean
  805. label: 'Optional'
  806. widget:
  807. type: string
  808. label: 'Widget type'
  809. multiple:
  810. type: boolean
  811. label: 'Allow multiple selections'
  812. remember:
  813. type: boolean
  814. label: 'Remember'
  815. default_group:
  816. type: string
  817. label: 'Default'
  818. default_group_multiple:
  819. type: sequence
  820. label: 'Defaults'
  821. sequence:
  822. type: integer
  823. label: 'Default'
  824. group_items:
  825. type: sequence
  826. label: 'Group items'
  827. sequence:
  828. type: views.filter.group_item.[%parent.%parent.%parent.plugin_id]
  829. label: 'Group item'
  830. plugin_id:
  831. type: string
  832. label: 'Plugin ID'
  833. constraints:
  834. PluginExists:
  835. manager: plugin.manager.views.filter
  836. # @todo Remove this line and fix all views in core which use invalid
  837. # filter plugins in https://drupal.org/i/3387325.
  838. allowFallback: true
  839. views_filter_group_item:
  840. type: mapping
  841. label: 'Group item'
  842. mapping:
  843. title:
  844. type: label
  845. label: 'Label'
  846. operator:
  847. type: string
  848. label: 'Operator'
  849. value:
  850. type: views.filter_value.[%parent.%parent.%parent.%parent.plugin_id]
  851. label: 'Value'
  852. views_relationship:
  853. type: views_handler
  854. mapping:
  855. admin_label:
  856. type: string
  857. label: 'Administrative title'
  858. required:
  859. type: boolean
  860. label: 'Require this relationship'
  861. plugin_id:
  862. type: string
  863. label: 'The plugin ID'
  864. constraints:
  865. PluginExists:
  866. manager: plugin.manager.views.relationship
  867. # @todo Remove this line and fix all views in core which use invalid
  868. # relationship plugins in https://drupal.org/i/3387325.
  869. allowFallback: true
  870. views_query:
  871. type: mapping
  872. label: 'Query options'
  873. views_row:
  874. type: mapping
  875. label: 'Row options'
  876. mapping:
  877. relationship:
  878. type: string
  879. label: 'Relationship'
  880. views_entity_row:
  881. type: views_row
  882. mapping:
  883. view_mode:
  884. type: string
  885. label: 'View mode'
  886. views_cache:
  887. type: mapping
  888. label: 'Cache configuration'
  889. mapping:
  890. type:
  891. type: string
  892. label: 'Cache type'
  893. constraints:
  894. PluginExists:
  895. manager: plugin.manager.views.cache
  896. views_display_extender:
  897. type: mapping
  898. label: 'Display extender settings'
  899. views_field_bulk_form:
  900. type: views_field
  901. label: 'Bulk operation'
  902. mapping:
  903. action_title:
  904. type: label
  905. label: 'Action title'
  906. include_exclude:
  907. type: string
  908. label: 'Available actions'
  909. selected_actions:
  910. type: sequence
  911. label: 'Available actions'
  912. sequence:
  913. type: string
  914. label: 'Action'

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.