Файловый менеджер - Редактировать - /var/www/html/mediawiki-1.43.1/extensions/VisualEditor/lib/ve/src/dm/nodes/ve.dm.CheckListItemNode.js
Ðазад
/*! * VisualEditor DataModel CheckListItemNode class. * * @copyright See AUTHORS.txt */ /** * DataModel list item node. * * @class * @extends ve.dm.BranchNode * * @constructor * @param {Object} [element] Reference to element in linear model * @param {ve.dm.Node[]} [children] */ ve.dm.CheckListItemNode = function VeDmCheckListItemNode() { // Parent constructor ve.dm.CheckListItemNode.super.apply( this, arguments ); }; /* Inheritance */ OO.inheritClass( ve.dm.CheckListItemNode, ve.dm.BranchNode ); /* Static Properties */ ve.dm.CheckListItemNode.static.name = 'checkListItem'; ve.dm.CheckListItemNode.static.parentNodeTypes = [ 'checkList' ]; ve.dm.CheckListItemNode.static.matchTagNames = [ 'li' ]; ve.dm.CheckListItemNode.static.matchRdfaTypes = [ 've:checkList' ]; ve.dm.CheckListItemNode.static.handlesOwnChildren = true; ve.dm.CheckListItemNode.static.toDataElement = function ( domElements, converter ) { const checked = domElements[ 0 ].hasAttribute( 'data-checked' ) || // Old HTML format used the invalid attribute "checked" domElements[ 0 ].hasAttribute( 'checked' ); const element = { type: this.name, attributes: { checked: checked } }; return converter.getDataFromDomClean( domElements[ 0 ], element ); }; ve.dm.CheckListItemNode.static.toDomElements = function ( data, doc, converter ) { const dataElement = data[ 0 ]; const listItem = doc.createElement( 'li' ); listItem.setAttribute( 'rel', 've:checkList' ); if ( dataElement.attributes.checked ) { listItem.setAttribute( 'data-checked', 'checked' ); } const contents = data.slice( 1, -1 ); if ( contents.length ) { const wrapper = doc.createElement( 'div' ); converter.getDomSubtreeFromData( contents, wrapper ); while ( wrapper.firstChild ) { listItem.appendChild( wrapper.firstChild ); } } // Formatting for external paste / preview // * Hide the bullet list // * Add a unicode checkbox to the text const checkboxText = document.createTextNode( dataElement.attributes.checked ? '☑' : '☐' ); let checkbox; if ( converter.isForParser() ) { checkbox = checkboxText; } else { listItem.style.listStyle = 'none'; checkbox = document.createElement( 'span' ); checkbox.setAttribute( 'data-ve-ignore', 'true' ); checkbox.appendChild( checkboxText ); } // The first child should be the wrapper paragraph const textContainer = listItem.firstChild.nodeType === Node.TEXT_NODE ? listItem : listItem.firstChild; textContainer.insertBefore( document.createTextNode( ' ' ), textContainer.firstChild ); textContainer.insertBefore( checkbox, textContainer.firstChild ); return [ listItem ]; }; ve.dm.CheckListItemNode.static.resetAttributesForClone = function ( clonedElement ) { clonedElement.attributes.checked = false; }; /* Registration */ ve.dm.modelRegistry.register( ve.dm.CheckListItemNode );
| ver. 1.1 | |
.
| PHP 8.4.18 | Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ñтраницы: 0 |
proxy
|
phpinfo
|
ÐаÑтройка