@zextras/carbonio-shell-ui
Version:
The Zextras Carbonio web client
32 lines • 1.53 kB
JavaScript
;
/*
* SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.useAction = exports.useActions = exports.useIntegratedComponent = exports.useIntegratedFunction = void 0;
const react_1 = require("react");
const store_1 = require("./store");
const utils_1 = require("./utils");
const useIntegratedFunction = (id) => {
const integration = (0, store_1.useIntegrationsStore)((s) => s.functions?.[id]);
return (0, utils_1.buildIntegrationFunction)(integration);
};
exports.useIntegratedFunction = useIntegratedFunction;
const useIntegratedComponent = (id) => {
const integration = (0, store_1.useIntegrationsStore)((s) => s.components?.[id]);
return (0, react_1.useMemo)(() => (0, utils_1.buildIntegrationComponent)(integration), [integration]);
};
exports.useIntegratedComponent = useIntegratedComponent;
const useActions = (context, type) => {
const factories = (0, store_1.useIntegrationsStore)((s) => s.actions[type]);
return (0, react_1.useMemo)(() => (0, utils_1.buildIntegrationActions)(factories, context), [factories, context]);
};
exports.useActions = useActions;
const useAction = (type, id, target) => {
const factory = (0, store_1.useIntegrationsStore)((s) => s.actions[type][id]);
return (0, react_1.useMemo)(() => (0, utils_1.buildIntegrationAction)(factory, target), [factory, target]);
};
exports.useAction = useAction;
//# sourceMappingURL=hooks.js.map