UNPKG

handsontable

Version:

Handsontable is a JavaScript Data Grid available for React, Angular and Vue.

35 lines 1.01 kB
import * as C from "../../../i18n/constants.mjs"; /** * @param {ManualColumnFreeze} manualColumnFreezePlugin The plugin instance. * @returns {object} */ export default function freezeColumnItem(manualColumnFreezePlugin) { return { key: 'freeze_column', name() { return this.getTranslatedPhrase(C.CONTEXTMENU_ITEMS_FREEZE_COLUMN); }, callback(key, selected) { const [{ start: { col: selectedColumn } }] = selected; manualColumnFreezePlugin.freezeColumn(selectedColumn); this.view.adjustElementsSize(); this.render(); }, hidden() { const selection = this.getSelectedRange(); let hide = false; if (selection === undefined) { hide = true; } else if (selection.length > 1) { hide = true; } else if (selection[0].from.col !== selection[0].to.col || selection[0].from.col <= this.getSettings().fixedColumnsStart - 1) { hide = true; } return hide; } }; }