Файловый менеджер - Редактировать - /var/www/html/mediawiki-1.43.1/extensions/VisualEditor/lib/ve/src/ui/contextitems/ve.ui.TableLineContextItem.js
Ðазад
/*! * VisualEditor TableLineContextItem class. * * @copyright See AUTHORS.txt */ /** * Context item for a table line (row or column) toolset. * * @class * @abstract * @extends ve.ui.ContextItem * * @param {ve.ui.TableLineContext} context Context the item is in * @param {ve.dm.Model} model Model the item is related to * @param {Function} tool Tool class the item is based on * @param {Object} [config] Configuration options */ ve.ui.TableLineContextItem = function VeUiTableLineContextItem() { // Parent constructor ve.ui.TableLineContextItem.super.apply( this, arguments ); this.actionButton = new OO.ui.ButtonWidget( { framed: false, classes: [ 've-ui-tableLineContextItem-actionButton' ] } ); this.actionButton.connect( this, { click: 'onActionButtonClick' } ); // Initialization this.$element .addClass( 've-ui-tableLineContextItem' ) .append( this.actionButton.$element ); }; /* Inheritance */ OO.inheritClass( ve.ui.TableLineContextItem, ve.ui.ContextItem ); /* Static Properties */ ve.ui.TableLineContextItem.static.name = 'tableLine'; /** * Title to use for context item action * * @static * @property {string} * @inheritable */ ve.ui.TableLineContextItem.static.title = null; /* Methods */ /** * Handle action button click events. * * @localdoc Executes the command related to #static-commandName on the context's surface * * @protected * @fires ve.ui.ContextItem#command */ ve.ui.TableLineContextItem.prototype.onActionButtonClick = function () { const command = this.getCommand(); if ( command ) { command.execute( this.context.getSurface() ); this.emit( 'command' ); } }; /** * Get the title of the tool, used by the button label * * @return {jQuery|string|OO.ui.HtmlSnippet|Function} Tool title */ ve.ui.TableLineContextItem.prototype.getTitle = function () { return this.constructor.static.title; }; /** * @inheritdoc */ ve.ui.TableLineContextItem.prototype.setup = function () { // Parent method ve.ui.TableLineContextItem.super.prototype.setup.call( this ); this.actionButton .setIcon( this.constructor.static.icon ) .setLabel( this.getTitle() ); }; /* Specific tools */ ( function () { const modes = [ 'row', 'col' ], sides = [ 'before', 'after' ], modeNames = { row: 'Row', col: 'Column' }, sideNames = { before: 'Before', after: 'After' }; modes.forEach( ( mode ) => { const modeName = modeNames[ mode ]; let className; sides.forEach( ( side ) => { const sideName = sideNames[ side ]; className = 'Insert' + modeName + sideName + 'ContextItem'; // The following classes are used here: // * ve.ui.InsertColumnBeforeContextItem // * ve.ui.InsertColumnAfterContextItem // * ve.ui.InsertRowBeforeContextItem // * ve.ui.InsertRowAfterContextItem ve.ui[ className ] = function VeUiInsertRowOrColumnContextItem() { ve.ui.TableLineContextItem.apply( this, arguments ); }; OO.inheritClass( ve.ui[ className ], ve.ui.TableLineContextItem ); ve.ui[ className ].static.name = 'insert' + modeName + sideName; ve.ui[ className ].static.group = 'table-' + mode; ve.ui[ className ].static.icon = 'tableAdd' + modeName + sideName; // Messages used here: // * visualeditor-table-insert-col-before // * visualeditor-table-insert-col-after // * visualeditor-table-insert-row-before // * visualeditor-table-insert-row-after ve.ui[ className ].static.title = OO.ui.deferMsg( 'visualeditor-table-insert-' + mode + '-' + side ); ve.ui[ className ].static.commandName = 'insert' + modeName + sideName; ve.ui.contextItemFactory.register( ve.ui[ className ] ); className = 'Move' + modeName + sideName + 'ContextItem'; // The following classes are used here: // * ve.ui.MoveColumnBeforeContextItem // * ve.ui.MoveColumnAfterContextItem // * ve.ui.MoveRowBeforeContextItem // * ve.ui.MoveRowAfterContextItem ve.ui[ className ] = function VeUiMoveRowOrColumnContextItem() { ve.ui.TableLineContextItem.apply( this, arguments ); }; OO.inheritClass( ve.ui[ className ], ve.ui.TableLineContextItem ); ve.ui[ className ].static.name = 'move' + modeName + sideName; ve.ui[ className ].static.group = 'table-' + mode; ve.ui[ className ].static.icon = 'tableMove' + modeName + sideName; // Messages used here: // * visualeditor-table-move-col-before // * visualeditor-table-move-col-after // * visualeditor-table-move-row-before // * visualeditor-table-move-row-after ve.ui[ className ].static.title = OO.ui.deferMsg( 'visualeditor-table-move-' + mode + '-' + side ); ve.ui[ className ].static.commandName = 'move' + modeName + sideName; ve.ui[ className ].prototype.setup = function () { // Parent method ve.ui.TableLineContextItem.prototype.setup.call( this ); const selection = this.context.getSurface().getModel().getSelection(); const documentModel = this.context.getSurface().getModel().getDocument(); if ( !( selection instanceof ve.dm.TableSelection ) ) { this.actionButton.setDisabled( true ); return; } if ( side === 'before' ) { this.actionButton.setDisabled( ( mode === 'row' && selection.startRow === 0 ) || ( mode === 'col' && selection.startCol === 0 ) ); } else { const matrix = selection.getTableNode( documentModel ).getMatrix(); this.actionButton.setDisabled( ( mode === 'row' && selection.endRow === matrix.getRowCount() - 1 ) || ( mode === 'col' && selection.endCol === matrix.getMaxColCount() - 1 ) ); } }; ve.ui.contextItemFactory.register( ve.ui[ className ] ); } ); className = 'Delete' + modeName + 'ContextItem'; // The following classes are used here: // * ve.ui.DeleteColumnContextItem // * ve.ui.DeleteRowContextItem ve.ui[ className ] = function VeUiDeleteRowOrColumnContextItem() { ve.ui.TableLineContextItem.apply( this, arguments ); this.actionButton.setFlags( { destructive: true } ); }; OO.inheritClass( ve.ui[ className ], ve.ui.TableLineContextItem ); ve.ui[ className ].static.name = 'delete' + modeName; ve.ui[ className ].static.group = 'table-' + mode; ve.ui[ className ].static.icon = 'trash'; ve.ui[ className ].static.commandName = 'delete' + modeName; ve.ui[ className ].prototype.getTitle = function () { const selection = this.context.getSurface().getModel().getSelection(); let count; if ( !( selection instanceof ve.dm.TableSelection ) ) { count = 0; } else if ( mode === 'row' ) { count = selection.getRowCount(); } else { count = selection.getColCount(); } // The following messages are used here: // * visualeditor-table-delete-col // * visualeditor-table-delete-row return ve.msg( 'visualeditor-table-delete-' + mode, count ); }; ve.ui.contextItemFactory.register( ve.ui[ className ] ); } ); ve.ui.TablePropertiesContextItem = function VeUiTablePropertiesContextItem() { ve.ui.TableLineContextItem.apply( this, arguments ); this.actionButton.setFlags( { progressive: true } ); }; OO.inheritClass( ve.ui.TablePropertiesContextItem, ve.ui.TableLineContextItem ); ve.ui.TablePropertiesContextItem.static.name = 'tableProperties'; ve.ui.TablePropertiesContextItem.static.group = 'table'; ve.ui.TablePropertiesContextItem.static.icon = 'edit'; ve.ui.TablePropertiesContextItem.static.commandName = 'table'; ve.ui.TablePropertiesContextItem.static.title = OO.ui.deferMsg( 'visualeditor-table-contextitem-properties' ); ve.ui.TablePropertiesContextItem.prototype.onActionButtonClick = function () { // Tweak the selection here: const command = this.context.getSurface().commandRegistry.lookup( 'exitTableCell' ); if ( command ) { command.execute( this.context.getSurface() ); } return ve.ui.TablePropertiesContextItem.super.prototype.onActionButtonClick.apply( this, arguments ); }; ve.ui.contextItemFactory.register( ve.ui.TablePropertiesContextItem ); ve.ui.DeleteTableContextItem = function VeUiDeleteTableContextItem() { ve.ui.TableLineContextItem.apply( this, arguments ); this.actionButton.setFlags( { destructive: true } ); }; OO.inheritClass( ve.ui.DeleteTableContextItem, ve.ui.TableLineContextItem ); ve.ui.DeleteTableContextItem.static.name = 'deleteTable'; ve.ui.DeleteTableContextItem.static.group = 'table'; ve.ui.DeleteTableContextItem.static.icon = 'trash'; ve.ui.DeleteTableContextItem.static.commandName = 'deleteTable'; ve.ui.DeleteTableContextItem.static.title = OO.ui.deferMsg( 'visualeditor-contextitemwidget-label-remove' ); ve.ui.contextItemFactory.register( ve.ui.DeleteTableContextItem ); ve.ui.ToggleTableSelectionContextItem = function VeUiToggleTableSelectionContextItem() { ve.ui.TableLineContextItem.apply( this, arguments ); this.actionButton.setFlags( { progressive: true } ); }; OO.inheritClass( ve.ui.ToggleTableSelectionContextItem, ve.ui.TableLineContextItem ); ve.ui.ToggleTableSelectionContextItem.static.name = 'toggleTableEditing'; ve.ui.ToggleTableSelectionContextItem.static.group = 'table'; ve.ui.ToggleTableSelectionContextItem.static.icon = 'table'; ve.ui.ToggleTableSelectionContextItem.prototype.getCommand = function () { const commandName = this.context.wasEditing ? 'exitTableCell' : 'enterTableCell'; return this.context.getSurface().commandRegistry.lookup( commandName ); }; ve.ui.ToggleTableSelectionContextItem.prototype.getTitle = function () { const selection = this.context.getSurface().getModel().getSelection(); let mode = 'cells'; if ( selection instanceof ve.dm.TableSelection ) { mode = 'contents'; } // The following messages are used here: // * visualeditor-table-contextitem-selectionmode-cells // * visualeditor-table-contextitem-selectionmode-contents return ve.msg( 'visualeditor-table-contextitem-selectionmode-' + mode ); }; ve.ui.contextItemFactory.register( ve.ui.ToggleTableSelectionContextItem ); }() );
| ver. 1.1 | |
.
| PHP 8.4.18 | Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ñтраницы: 0 |
proxy
|
phpinfo
|
ÐаÑтройка