@mopinion/survey
Version:
Collect customer feedback with the Mopinion survey library
32 lines (31 loc) • 1.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = useConversation;
var _hooks = require("preact/hooks");
var _constants = require("../../../constants");
var _form = require("../../form");
function useConversation() {
var _useConfigStore = (0, _form.useConfigStore)(),
blocks = _useConfigStore.blocks,
layout = _useConfigStore.layout;
var blockStore = (0, _form.useBlockStore)();
var showableLayout = (0, _hooks.useMemo)(function () {
return layout.filter(function (blockId) {
var block = blocks[blockId];
return _constants.alwaysNotVisibleBlocks.indexOf(block.typeName) === -1;
});
}, [layout, blocks]);
var displayedBlocks = (0, _hooks.useMemo)(function () {
return showableLayout.filter(function (blockId) {
var state = blockStore[blockId];
return state.showInConvo && state.isVisible;
});
}, [showableLayout, blockStore]);
return {
showableLayout: showableLayout,
displayedBlocks: displayedBlocks
};
}
//# sourceMappingURL=useConversation.js.map