MediaWiki
Gadget-ve-colnode-dm.js
From Dogcraft Wiki
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (โ-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (โ-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
(function () {
/*!
* VisualEditor DataModel ColumnNode class.
*
* @copyright 2011-2020 VisualEditor Team and others; see http://ve.mit-license.org
* @license The MIT License (MIT); see LICENSE.txt
*/
/**
* DataModel Column node.
*
* @class
* @extends ve.dm.BranchNode
* @constructor
* @param {ve.dm.LeafNode[]} [children] Child nodes to attach
* @param {Object} [element] Reference to element in linear model
*/
ve.dm.ColumnNode = function VeDmColumnNode() {
// Parent constructor
ve.dm.ColumnNode.super.apply( this, arguments );
console.log(this);
};
/* Inheritance */
OO.inheritClass( ve.dm.ColumnNode, ve.dm.BranchNode );
OO.mixinClass( ve.dm.ColumnNode, ve.dm.ClassAttributeNode );
/* Static Properties */
ve.dm.ColumnNode.static.name = 'column';
ve.dm.ColumnNode.static.matchTagNames = [ 'div' ];
ve.dm.ColumnNode.static.matchFunction = function ( element ) {
return element.classList.contains( 'dw-g-columns' );
};
//ve.dm.ColumnNode.static.classAttributes = {
// 'dw-g-columns': { style: 'cols'/*'column-count: 2'*/ }
//};
ve.dm.ColumnNode.static.toDataElement = function ( domElements ) {
//var style = domElements[ 0 ].classList.contains( 'dw-g-columns' ) ? 'cols' : '';
return { type: 'column' };
};
ve.dm.ColumnNode.static.toDomElements = function ( dataElement, doc ) {
var tag = dataElement.attributes && dataElement.attributes.style === 'cols' ? 'red' : 'blue'; /*emotional support code*/
var div = doc.createElement('div');
div.className = 'dw-g-columns';
return [ div ];
};
/* Registration */
console.log(ve.dm.ColumnNode);
ve.dm.modelRegistry.register( ve.dm.ColumnNode );
});