Odoo18-Base/addons/spreadsheet/static/src/list/index.js
2025-01-06 10:57:38 +07:00

62 lines
1.9 KiB
JavaScript

/** @odoo-module */
import { _t } from "@web/core/l10n/translation";
import * as spreadsheet from "@odoo/o-spreadsheet";
import "./list_functions";
import { ListCorePlugin } from "@spreadsheet/list/plugins/list_core_plugin";
import { ListUIPlugin } from "@spreadsheet/list/plugins/list_ui_plugin";
import { SEE_RECORD_LIST, SEE_RECORD_LIST_VISIBLE } from "./list_actions";
const { inverseCommandRegistry } = spreadsheet.registries;
function identity(cmd) {
return [cmd];
}
const { coreTypes, invalidateEvaluationCommands } = spreadsheet;
const { cellMenuRegistry } = spreadsheet.registries;
coreTypes.add("INSERT_ODOO_LIST");
coreTypes.add("RENAME_ODOO_LIST");
coreTypes.add("REMOVE_ODOO_LIST");
coreTypes.add("RE_INSERT_ODOO_LIST");
coreTypes.add("UPDATE_ODOO_LIST_DOMAIN");
coreTypes.add("UPDATE_ODOO_LIST");
coreTypes.add("ADD_LIST_DOMAIN");
coreTypes.add("DUPLICATE_ODOO_LIST");
invalidateEvaluationCommands.add("UPDATE_ODOO_LIST_DOMAIN");
invalidateEvaluationCommands.add("UPDATE_ODOO_LIST");
invalidateEvaluationCommands.add("INSERT_ODOO_LIST");
invalidateEvaluationCommands.add("REMOVE_ODOO_LIST");
cellMenuRegistry.add(
"list_see_record",
/** @type {import("@odoo/o-spreadsheet").ActionSpec}*/ ({
name: _t("See record"),
sequence: 200,
execute: async (env) => {
const position = env.model.getters.getActivePosition();
await SEE_RECORD_LIST(position, env);
},
isVisible: (env) => {
const position = env.model.getters.getActivePosition();
return SEE_RECORD_LIST_VISIBLE(position, env.model.getters);
},
icon: "o-spreadsheet-Icon.SEE_RECORDS",
})
);
inverseCommandRegistry
.add("INSERT_ODOO_LIST", identity)
.add("UPDATE_ODOO_LIST_DOMAIN", identity)
.add("UPDATE_ODOO_LIST", identity)
.add("RE_INSERT_ODOO_LIST", identity)
.add("RENAME_ODOO_LIST", identity)
.add("REMOVE_ODOO_LIST", identity);
export { ListCorePlugin, ListUIPlugin };