import * as C from "../../../i18n/constants.mjs";
/**
 * @param {Comments} plugin The Comments plugin instance.
 * @returns {object}
 */
export default function addEditCommentItem(plugin) {
  return {
    key: 'commentsAddEdit',
    name: function name() {
      var _this$getSelectedRang;
      var highlight = (_this$getSelectedRang = this.getSelectedRangeLast()) === null || _this$getSelectedRang === void 0 ? void 0 : _this$getSelectedRang.highlight;
      if (highlight && highlight.isCell() && plugin.getCommentAtCell(highlight.row, highlight.col)) {
        return this.getTranslatedPhrase(C.CONTEXTMENU_ITEMS_EDIT_COMMENT);
      }
      return this.getTranslatedPhrase(C.CONTEXTMENU_ITEMS_ADD_COMMENT);
    },
    callback: function callback() {
      var range = this.getSelectedRangeLast();
      this.deselectCell();
      plugin.setRange(range);
      plugin.show();
      plugin.focusEditor();
    },
    disabled: function disabled() {
      var range = this.getSelectedRangeLast();
      if (!range) {
        return true;
      }
      if (range.highlight.isHeader()) {
        return true;
      }
      return this.countRenderedRows() === 0 || this.countRenderedCols() === 0;
    }
  };
}