viewelementdefinition.jsdoc 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /**
  2. * @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
  3. * For licensing, see LICENSE.md.
  4. */
  5. /**
  6. * @module engine/view/viewelementdefinition
  7. */
  8. /**
  9. * An object defining view element used in {@link module:engine/conversion/definition-based-converters} as part of
  10. * {@link module:engine/conversion/definition-based-converters~ConverterDefinition}.
  11. *
  12. * It describe a view element that is used
  13. *
  14. * const viewDefinition = {
  15. * name: 'h1',
  16. * class: [ 'foo', 'bar' ]
  17. * };
  18. *
  19. * Above describes a view element:
  20. *
  21. * <h1 class="foo bar">...</h1>
  22. *
  23. * For elements without attributes you can use shorthand string version:
  24. *
  25. * const viewDefinition = 'p';
  26. *
  27. * which will be treated as:
  28. *
  29. * const viewDefinition = {
  30. * name: 'p'
  31. * };
  32. *
  33. * @typedef {String|Object} module:engine/view/viewelementdefinition~ViewElementDefinition
  34. *
  35. * @property {String} name View element name.
  36. * @property {String|Array.<String>} [class] Class name or array of class names to match. Each name can be
  37. * provided in a form of string.
  38. * @property {Object} [style] Object with key-value pairs representing styles to match. Each object key
  39. * represents style name. Value under that key must be a string.
  40. * @property {Object} [attribute] Object with key-value pairs representing attributes to match. Each object key
  41. * represents attribute name. Value under that key must be a string.
  42. */