| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- /**
- * @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
- * For licensing, see LICENSE.md.
- */
- /**
- * @module engine/view/elementdefinition
- */
- /**
- * A plain object that describes a view element in a way that a concrete, exact view element could be created from that description.
- *
- * const viewDefinition = {
- * name: 'h1',
- * class: [ 'foo', 'bar' ]
- * };
- *
- * Above describes a view element:
- *
- * <h1 class="foo bar"></h1>
- *
- * An example with styles and attributes:
- *
- * const viewDefinition = {
- * name: 'span',
- * style: {
- * 'font-size': '12px',
- * 'font-weight': 'bold'
- * },
- * attribute: {
- * 'data-id': '123'
- * }
- * };
- *
- * Describes:
- *
- * <span style="font-size:12px;font-weight:bold" data-id="123"></span>
- *
- * Elements without attributes can be given simply as a string:
- *
- * const viewDefinition = 'p';
- *
- * Which will be treated as:
- *
- * const viewDefinition = {
- * name: 'p'
- * };
- *
- * @typedef {String|Object} module:engine/view/elementdefinition~ElementDefinition
- *
- * @property {String} name View element name.
- * @property {String|Array.<String>} [class] Class name or array of class names to match. Each name can be
- * provided in a form of string.
- * @property {Object} [style] Object with key-value pairs representing styles. Each object key represents style name.
- * Value under that key must be a string.
- * @property {Object} [attribute] Object with key-value pairs representing attributes. Each object key represents
- * attribute name. Value under that key must be a string.
- */
|