UNPKG

@mopinion/survey

Version:

Collect customer feedback with the Mopinion survey library

58 lines (57 loc) 2.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = useIntegrations; var _hooks = require("preact/hooks"); var _ConfigStore = require("../stores/ConfigStore"); var _FormStore = require("../stores/FormStore"); var _Track = _interopRequireDefault(require("../utils/Track")); var _useFormCompletionPercentage = _interopRequireDefault(require("./useFormCompletionPercentage")); var _useFeedback = _interopRequireDefault(require("./useFeedback")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } function useIntegrations() { var _useConfigStore = (0, _ConfigStore.useConfigStore)(), properties = _useConfigStore.properties, pageMap = _useConfigStore.pageMap; var _useFormStore = (0, _FormStore.useFormStore)(), activePage = _useFormStore.activePage, formType = _useFormStore.formType; var _useFormProps = (0, _ConfigStore.useFormProps)(), disablePost = _useFormProps.disablePost, formKey = _useFormProps.formKey, triggerMethod = _useFormProps.triggerMethod, domain = _useFormProps.domain, metricsDomain = _useFormProps.metricsDomain; var formCompletionPercentage = (0, _useFormCompletionPercentage["default"])(); var feedback = (0, _useFeedback["default"])({ addExtraData: true, noOpenOrPIIFeedback: true, excludeScreenShotDom: true }); var integrations = (0, _hooks.useMemo)(function () { var _properties$advanced; return new _Track["default"]({ advanced: (_properties$advanced = properties === null || properties === void 0 ? void 0 : properties.advanced) !== null && _properties$advanced !== void 0 ? _properties$advanced : {}, disablePost: disablePost, formKey: formKey, formName: properties.name, metricsDomain: metricsDomain }); }, [properties === null || properties === void 0 ? void 0 : properties.advanced, disablePost, formKey, properties.name, metricsDomain]); integrations.setEventProps({ trigger_method: triggerMethod, form_completion_percentage: formCompletionPercentage, active_page: activePage, page_count: Object.keys(pageMap).pop(), form_type: formType, subdomain: domain, organisation_id: properties.organisation_id, project_id: properties.project_id }).setFeedback(feedback); return { sendEvent: integrations.send, sendFeedback: integrations.sendFeedback }; } //# sourceMappingURL=useIntegrations.js.map