{"version":3,"sources":["webpack:///./node_modules/@ckeditor/ckeditor5-table/src/commands/selectcolumncommand.js","webpack:///./node_modules/@ckeditor/ckeditor5-table/src/commands/setheadercolumncommand.js","webpack:///./node_modules/@ckeditor/ckeditor5-table/src/commands/splitcellcommand.js","webpack:///./node_modules/@ckeditor/ckeditor5-table/src/commands/selectrowcommand.js","webpack:///./node_modules/@ckeditor/ckeditor5-table/src/commands/setheaderrowcommand.js"],"names":["SelectColumnCommand","selectedCells","getSelectionAffectedTableCells","this","editor","model","document","selection","isEnabled","length","_step","referenceCells","firstCell","lastCell","pop","table","findAncestor","tableUtils","plugins","get","startLocation","getCellLocation","endLocation","startColumn","Math","min","column","endColumn","max","rangesToSelect","_iterator","_createForOfIteratorHelper","TableWalker","s","n","done","cellInfo","value","push","createRangeOn","cell","err","e","f","change","writer","setSelection","Command","SetHeaderColumnCommand","isInTable","every","isHeadingColumnCell","options","arguments","undefined","forceValue","_getColumnIndexes","getColumnIndexes","first","last","headingColumnsToSet","overlappingCells","getHorizontallyOverlappingCells","_step$value","splitVertically","updateNumericAttribute","SplitCellCommand","_this","Object","D_Projects_UA_repo_Source_Client_UA_User_Web_node_modules_babel_runtime_helpers_esm_classCallCheck_js__WEBPACK_IMPORTED_MODULE_1__","_super","call","direction","tableCell","isHorizontal","splitCellHorizontally","splitCellVertically","SelectRowCommand","rowIndexes","getRowIndexes","rowIndex","getChild","getChildren","SetHeaderRowCommand","_isInHeading","parent","_getRowIndexes","headingRowsToSet","currentHeadingRows","getAttribute","startRow","getVerticallyOverlappingCells","splitHorizontally","headingRows","parseInt","index"],"mappings":"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","file":"js/chunk-3e071cc4.5372e1cb.js","sourcesContent":["/**\n * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module table/commands/selectcolumncommand\n */\n\nimport { Command } from 'ckeditor5/src/core';\n\nimport TableWalker from '../tablewalker';\nimport { getSelectionAffectedTableCells } from '../utils/selection';\n\n/**\n * The select column command.\n *\n * The command is registered by {@link module:table/tableediting~TableEditing} as the `'selectTableColumn'` editor command.\n *\n * To select the columns containing the selected cells, execute the command:\n *\n *\t\teditor.execute( 'selectTableColumn' );\n *\n * @extends module:core/command~Command\n */\nexport default class SelectColumnCommand extends Command {\n\t/**\n\t * @inheritDoc\n\t */\n\trefresh() {\n\t\tconst selectedCells = getSelectionAffectedTableCells( this.editor.model.document.selection );\n\n\t\tthis.isEnabled = selectedCells.length > 0;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\texecute() {\n\t\tconst model = this.editor.model;\n\t\tconst referenceCells = getSelectionAffectedTableCells( model.document.selection );\n\t\tconst firstCell = referenceCells[ 0 ];\n\t\tconst lastCell = referenceCells.pop();\n\t\tconst table = firstCell.findAncestor( 'table' );\n\n\t\tconst tableUtils = this.editor.plugins.get( 'TableUtils' );\n\t\tconst startLocation = tableUtils.getCellLocation( firstCell );\n\t\tconst endLocation = tableUtils.getCellLocation( lastCell );\n\n\t\tconst startColumn = Math.min( startLocation.column, endLocation.column );\n\t\tconst endColumn = Math.max( startLocation.column, endLocation.column );\n\n\t\tconst rangesToSelect = [];\n\n\t\tfor ( const cellInfo of new TableWalker( table, { startColumn, endColumn } ) ) {\n\t\t\trangesToSelect.push( model.createRangeOn( cellInfo.cell ) );\n\t\t}\n\n\t\tmodel.change( writer => {\n\t\t\twriter.setSelection( rangesToSelect );\n\t\t} );\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module table/commands/setheadercolumncommand\n */\n\nimport { Command } from 'ckeditor5/src/core';\n\nimport {\n\tisHeadingColumnCell,\n\tupdateNumericAttribute\n} from '../utils/common';\nimport { getColumnIndexes, getSelectionAffectedTableCells } from '../utils/selection';\nimport { getHorizontallyOverlappingCells, splitVertically } from '../utils/structure';\n\n/**\n * The header column command.\n *\n * The command is registered by {@link module:table/tableediting~TableEditing} as the `'setTableColumnHeader'` editor command.\n *\n * You can make the column containing the selected cell a [header](https://www.w3.org/TR/html50/tabular-data.html#the-th-element)\n * by executing:\n *\n *\t\teditor.execute( 'setTableColumnHeader' );\n *\n * **Note:** All preceding columns will also become headers. If the current column is already a header, executing this command\n * will make it a regular column back again (including the following columns).\n *\n * @extends module:core/command~Command\n */\nexport default class SetHeaderColumnCommand extends Command {\n\t/**\n\t * @inheritDoc\n\t */\n\trefresh() {\n\t\tconst model = this.editor.model;\n\t\tconst selectedCells = getSelectionAffectedTableCells( model.document.selection );\n\t\tconst tableUtils = this.editor.plugins.get( 'TableUtils' );\n\t\tconst isInTable = selectedCells.length > 0;\n\n\t\tthis.isEnabled = isInTable;\n\n\t\t/**\n\t\t * Flag indicating whether the command is active. The command is active when the\n\t\t * {@link module:engine/model/selection~Selection} is in a header column.\n\t\t *\n\t\t * @observable\n\t\t * @readonly\n\t\t * @member {Boolean} #value\n\t\t */\n\t\tthis.value = isInTable && selectedCells.every( cell => isHeadingColumnCell( tableUtils, cell ) );\n\t}\n\n\t/**\n\t * Executes the command.\n\t *\n\t * When the selection is in a non-header column, the command will set the `headingColumns` table attribute to cover that column.\n\t *\n\t * When the selection is already in a header column, it will set `headingColumns` so the heading section will end before that column.\n\t *\n\t * @fires execute\n\t * @param {Object} [options]\n\t * @param {Boolean} [options.forceValue] If set, the command will set (`true`) or unset (`false`) the header columns according to\n\t * the `forceValue` parameter instead of the current model state.\n\t */\n\texecute( options = {} ) {\n\t\tif ( options.forceValue === this.value ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst model = this.editor.model;\n\t\tconst selectedCells = getSelectionAffectedTableCells( model.document.selection );\n\t\tconst table = selectedCells[ 0 ].findAncestor( 'table' );\n\n\t\tconst { first, last } = getColumnIndexes( selectedCells );\n\t\tconst headingColumnsToSet = this.value ? first : last + 1;\n\n\t\tmodel.change( writer => {\n\t\t\tif ( headingColumnsToSet ) {\n\t\t\t\t// Changing heading columns requires to check if any of a heading cell is overlapping horizontally the table head.\n\t\t\t\t// Any table cell that has a colspan attribute > 1 will not exceed the table head so we need to fix it in columns before.\n\t\t\t\tconst overlappingCells = getHorizontallyOverlappingCells( table, headingColumnsToSet );\n\n\t\t\t\tfor ( const { cell, column } of overlappingCells ) {\n\t\t\t\t\tsplitVertically( cell, column, headingColumnsToSet, writer );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tupdateNumericAttribute( 'headingColumns', headingColumnsToSet, table, writer, 0 );\n\t\t} );\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module table/commands/splitcellcommand\n */\n\nimport { Command } from 'ckeditor5/src/core';\nimport { getSelectionAffectedTableCells } from '../utils/selection';\n\n/**\n * The split cell command.\n *\n * The command is registered by {@link module:table/tableediting~TableEditing} as the `'splitTableCellVertically'`\n * and `'splitTableCellHorizontally'` editor commands.\n *\n * You can split any cell vertically or horizontally by executing this command. For example, to split the selected table cell vertically:\n *\n *\t\teditor.execute( 'splitTableCellVertically' );\n *\n * @extends module:core/command~Command\n */\nexport default class SplitCellCommand extends Command {\n\t/**\n\t * Creates a new `SplitCellCommand` instance.\n\t *\n\t * @param {module:core/editor/editor~Editor} editor The editor on which this command will be used.\n\t * @param {Object} options\n\t * @param {String} options.direction Indicates whether the command should split cells `'horizontally'` or `'vertically'`.\n\t */\n\tconstructor( editor, options = {} ) {\n\t\tsuper( editor );\n\n\t\t/**\n\t\t * The direction that indicates which cell will be split.\n\t\t *\n\t\t * @readonly\n\t\t * @member {String} #direction\n\t\t */\n\t\tthis.direction = options.direction || 'horizontally';\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\trefresh() {\n\t\tconst selectedCells = getSelectionAffectedTableCells( this.editor.model.document.selection );\n\n\t\tthis.isEnabled = selectedCells.length === 1;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\texecute() {\n\t\tconst tableCell = getSelectionAffectedTableCells( this.editor.model.document.selection )[ 0 ];\n\t\tconst isHorizontal = this.direction === 'horizontally';\n\t\tconst tableUtils = this.editor.plugins.get( 'TableUtils' );\n\n\t\tif ( isHorizontal ) {\n\t\t\ttableUtils.splitCellHorizontally( tableCell, 2 );\n\t\t} else {\n\t\t\ttableUtils.splitCellVertically( tableCell, 2 );\n\t\t}\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module table/commands/selectrowcommand\n */\n\nimport { Command } from 'ckeditor5/src/core';\n\nimport { getRowIndexes, getSelectionAffectedTableCells } from '../utils/selection';\n\n/**\n * The select row command.\n *\n * The command is registered by {@link module:table/tableediting~TableEditing} as the `'selectTableRow'` editor command.\n *\n * To select the rows containing the selected cells, execute the command:\n *\n *\t\teditor.execute( 'selectTableRow' );\n *\n * @extends module:core/command~Command\n */\nexport default class SelectRowCommand extends Command {\n\t/**\n\t * @inheritDoc\n\t */\n\trefresh() {\n\t\tconst selectedCells = getSelectionAffectedTableCells( this.editor.model.document.selection );\n\n\t\tthis.isEnabled = selectedCells.length > 0;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\texecute() {\n\t\tconst model = this.editor.model;\n\t\tconst referenceCells = getSelectionAffectedTableCells( model.document.selection );\n\t\tconst rowIndexes = getRowIndexes( referenceCells );\n\n\t\tconst table = referenceCells[ 0 ].findAncestor( 'table' );\n\t\tconst rangesToSelect = [];\n\n\t\tfor ( let rowIndex = rowIndexes.first; rowIndex <= rowIndexes.last; rowIndex++ ) {\n\t\t\tfor ( const cell of table.getChild( rowIndex ).getChildren() ) {\n\t\t\t\trangesToSelect.push( model.createRangeOn( cell ) );\n\t\t\t}\n\t\t}\n\n\t\tmodel.change( writer => {\n\t\t\twriter.setSelection( rangesToSelect );\n\t\t} );\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module table/commands/setheaderrowcommand\n */\n\nimport { Command } from 'ckeditor5/src/core';\n\nimport { updateNumericAttribute } from '../utils/common';\nimport { getRowIndexes, getSelectionAffectedTableCells } from '../utils/selection';\nimport { getVerticallyOverlappingCells, splitHorizontally } from '../utils/structure';\n\n/**\n * The header row command.\n *\n * The command is registered by {@link module:table/tableediting~TableEditing} as the `'setTableColumnHeader'` editor command.\n *\n * You can make the row containing the selected cell a [header](https://www.w3.org/TR/html50/tabular-data.html#the-th-element) by executing:\n *\n *\t\teditor.execute( 'setTableRowHeader' );\n *\n * **Note:** All preceding rows will also become headers. If the current row is already a header, executing this command\n * will make it a regular row back again (including the following rows).\n *\n * @extends module:core/command~Command\n */\nexport default class SetHeaderRowCommand extends Command {\n\t/**\n\t * @inheritDoc\n\t */\n\trefresh() {\n\t\tconst model = this.editor.model;\n\t\tconst selectedCells = getSelectionAffectedTableCells( model.document.selection );\n\t\tconst isInTable = selectedCells.length > 0;\n\n\t\tthis.isEnabled = isInTable;\n\n\t\t/**\n\t\t * Flag indicating whether the command is active. The command is active when the\n\t\t * {@link module:engine/model/selection~Selection} is in a header row.\n\t\t *\n\t\t * @observable\n\t\t * @readonly\n\t\t * @member {Boolean} #value\n\t\t */\n\t\tthis.value = isInTable && selectedCells.every( cell => this._isInHeading( cell, cell.parent.parent ) );\n\t}\n\n\t/**\n\t * Executes the command.\n\t *\n\t * When the selection is in a non-header row, the command will set the `headingRows` table attribute to cover that row.\n\t *\n\t * When the selection is already in a header row, it will set `headingRows` so the heading section will end before that row.\n\t *\n\t * @fires execute\n\t * @param {Object} options\n\t * @param {Boolean} [options.forceValue] If set, the command will set (`true`) or unset (`false`) the header rows according to\n\t * the `forceValue` parameter instead of the current model state.\n\t */\n\texecute( options = {} ) {\n\t\tif ( options.forceValue === this.value ) {\n\t\t\treturn;\n\t\t}\n\t\tconst model = this.editor.model;\n\t\tconst selectedCells = getSelectionAffectedTableCells( model.document.selection );\n\t\tconst table = selectedCells[ 0 ].findAncestor( 'table' );\n\n\t\tconst { first, last } = getRowIndexes( selectedCells );\n\t\tconst headingRowsToSet = this.value ? first : last + 1;\n\t\tconst currentHeadingRows = table.getAttribute( 'headingRows' ) || 0;\n\n\t\tmodel.change( writer => {\n\t\t\tif ( headingRowsToSet ) {\n\t\t\t\t// Changing heading rows requires to check if any of a heading cell is overlapping vertically the table head.\n\t\t\t\t// Any table cell that has a rowspan attribute > 1 will not exceed the table head so we need to fix it in rows below.\n\t\t\t\tconst startRow = headingRowsToSet > currentHeadingRows ? currentHeadingRows : 0;\n\t\t\t\tconst overlappingCells = getVerticallyOverlappingCells( table, headingRowsToSet, startRow );\n\n\t\t\t\tfor ( const { cell } of overlappingCells ) {\n\t\t\t\t\tsplitHorizontally( cell, headingRowsToSet, writer );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tupdateNumericAttribute( 'headingRows', headingRowsToSet, table, writer, 0 );\n\t\t} );\n\t}\n\n\t/**\n\t * Checks if a table cell is in the heading section.\n\t *\n\t * @param {module:engine/model/element~Element} tableCell\n\t * @param {module:engine/model/element~Element} table\n\t * @returns {Boolean}\n\t * @private\n\t */\n\t_isInHeading( tableCell, table ) {\n\t\tconst headingRows = parseInt( table.getAttribute( 'headingRows' ) || 0 );\n\n\t\treturn !!headingRows && tableCell.parent.index < headingRows;\n\t}\n}\n"],"sourceRoot":""}