views.data_types.schema.yml

Same filename in other branches
  1. 9 core/modules/views/config/schema/views.data_types.schema.yml
  2. 8.9.x core/modules/views/config/schema/views.data_types.schema.yml
  3. 10 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: label
  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: 'Should the area be displayed on empty results.'
  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. pagination_heading_level:
  628. type: string
  629. label: 'Pager header element'
  630. items_per_page:
  631. type: integer
  632. label: 'Items per page'
  633. views_pager_sql:
  634. type: views_pager
  635. label: 'SQL pager'
  636. mapping:
  637. items_per_page:
  638. type: integer
  639. label: 'Items per page'
  640. pagination_heading_level:
  641. type: string
  642. label: 'Pager header element'
  643. total_pages:
  644. type: integer
  645. label: 'Number of pages'
  646. id:
  647. type: integer
  648. label: 'Pager ID'
  649. tags:
  650. type: mapping
  651. label: 'Pager link labels'
  652. mapping:
  653. next:
  654. type: label
  655. label: 'Next page link text'
  656. previous:
  657. type: label
  658. label: 'Previous page link text'
  659. quantity:
  660. type: integer
  661. label: 'Number of pager links visible'
  662. expose:
  663. type: mapping
  664. label: 'Exposed options'
  665. mapping:
  666. items_per_page:
  667. type: boolean
  668. label: 'Items per page'
  669. items_per_page_label:
  670. type: label
  671. label: 'Items per page label'
  672. items_per_page_options:
  673. type: string
  674. label: 'Exposed items per page options'
  675. items_per_page_options_all:
  676. type: boolean
  677. label: 'Include all items option'
  678. items_per_page_options_all_label:
  679. type: label
  680. label: 'All items label'
  681. offset:
  682. type: boolean
  683. label: 'Expose Offset'
  684. offset_label:
  685. type: label
  686. label: 'Offset label'
  687. views_style:
  688. type: mapping
  689. mapping:
  690. grouping:
  691. type: sequence
  692. label: 'Grouping field number %i'
  693. sequence:
  694. type: mapping
  695. label: 'Field'
  696. mapping:
  697. field:
  698. type: string
  699. label: 'Field'
  700. rendered:
  701. type: boolean
  702. label: 'Use rendered output to group rows'
  703. rendered_strip:
  704. type: boolean
  705. label: 'Remove tags from rendered output'
  706. row_class:
  707. type: string
  708. label: 'Row class'
  709. default_row_class:
  710. type: boolean
  711. label: 'Add views row classes'
  712. uses_fields:
  713. type: boolean
  714. label: 'Force using fields'
  715. views_filter:
  716. type: views_handler
  717. mapping:
  718. operator:
  719. type: string
  720. label: 'Operator'
  721. value:
  722. type: views.filter_value.[%parent.plugin_id]
  723. label: 'Value'
  724. group:
  725. type: integer
  726. label: 'Group'
  727. exposed:
  728. type: boolean
  729. label: 'Expose this filter to visitors, to allow them to change it'
  730. expose:
  731. type: mapping
  732. label: 'Expose'
  733. mapping:
  734. operator_id:
  735. type: string
  736. label: 'Operator identifier'
  737. label:
  738. type: label
  739. label: 'Label'
  740. description:
  741. type: label
  742. label: 'Description'
  743. use_operator:
  744. type: boolean
  745. label: 'Expose operator'
  746. operator:
  747. type: string
  748. label: 'Operator'
  749. operator_limit_selection:
  750. type: boolean
  751. label: 'Limit the available operators'
  752. operator_list:
  753. type: sequence
  754. label: 'List of available operators'
  755. sequence:
  756. type: string
  757. label: 'Operator'
  758. identifier:
  759. type: string
  760. label: 'Filter identifier'
  761. required:
  762. type: boolean
  763. label: 'Required'
  764. remember:
  765. type: boolean
  766. label: 'Remember the last selection'
  767. multiple:
  768. type: boolean
  769. label: 'Allow multiple selections'
  770. remember_roles:
  771. type: sequence
  772. label: 'User roles'
  773. sequence:
  774. type: string
  775. label: 'Role'
  776. is_grouped:
  777. type: boolean
  778. label: 'Grouped filters'
  779. group_info:
  780. type: mapping
  781. label: 'Group'
  782. mapping:
  783. label:
  784. type: label
  785. label: 'Label'
  786. description:
  787. type: label
  788. label: 'Description'
  789. identifier:
  790. type: string
  791. label: 'Identifier'
  792. optional:
  793. type: boolean
  794. label: 'Optional'
  795. widget:
  796. type: string
  797. label: 'Widget type'
  798. multiple:
  799. type: boolean
  800. label: 'Allow multiple selections'
  801. remember:
  802. type: boolean
  803. label: 'Remember'
  804. default_group:
  805. type: string
  806. label: 'Default'
  807. default_group_multiple:
  808. type: sequence
  809. label: 'Defaults'
  810. sequence:
  811. type: integer
  812. label: 'Default'
  813. group_items:
  814. type: sequence
  815. label: 'Group items'
  816. sequence:
  817. type: views.filter.group_item.[%parent.%parent.%parent.plugin_id]
  818. label: 'Group item'
  819. plugin_id:
  820. type: string
  821. label: 'Plugin ID'
  822. constraints:
  823. PluginExists:
  824. manager: plugin.manager.views.filter
  825. # @todo Remove this line and fix all views in core which use invalid
  826. # filter plugins in https://drupal.org/i/3387325.
  827. allowFallback: true
  828. views_filter_group_item:
  829. type: mapping
  830. label: 'Group item'
  831. mapping:
  832. title:
  833. type: label
  834. label: 'Label'
  835. operator:
  836. type: string
  837. label: 'Operator'
  838. value:
  839. type: views.filter_value.[%parent.%parent.%parent.%parent.plugin_id]
  840. label: 'Value'
  841. views_relationship:
  842. type: views_handler
  843. mapping:
  844. admin_label:
  845. type: string
  846. label: 'Administrative title'
  847. required:
  848. type: boolean
  849. label: 'Require this relationship'
  850. plugin_id:
  851. type: string
  852. label: 'The plugin ID'
  853. constraints:
  854. PluginExists:
  855. manager: plugin.manager.views.relationship
  856. # @todo Remove this line and fix all views in core which use invalid
  857. # relationship plugins in https://drupal.org/i/3387325.
  858. allowFallback: true
  859. views_query:
  860. type: mapping
  861. label: 'Query options'
  862. views_row:
  863. type: mapping
  864. label: 'Row options'
  865. mapping:
  866. relationship:
  867. type: string
  868. label: 'Relationship'
  869. views_entity_row:
  870. type: views_row
  871. mapping:
  872. view_mode:
  873. type: string
  874. label: 'View mode'
  875. views_cache:
  876. type: mapping
  877. label: 'Cache configuration'
  878. mapping:
  879. type:
  880. type: string
  881. label: 'Cache type'
  882. constraints:
  883. PluginExists:
  884. manager: plugin.manager.views.cache
  885. views_display_extender:
  886. type: mapping
  887. label: 'Display extender settings'
  888. views_field_bulk_form:
  889. type: views_field
  890. label: 'Bulk operation'
  891. mapping:
  892. action_title:
  893. type: label
  894. label: 'Action title'
  895. include_exclude:
  896. type: string
  897. label: 'Available actions'
  898. selected_actions:
  899. type: sequence
  900. label: 'Available actions'
  901. sequence:
  902. type: string
  903. label: 'Action'

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