UNPKG

locize

Version:

This package adds the incontext editor to your i18next setup.

47 lines (42 loc) 1.75 kB
'use strict'; var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray'); var postMessage = require('./postMessage.js'); var store = require('../store.js'); var handleEditKey = require('./handleEditKey.js'); var highlightNode = require('../ui/highlightNode.js'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray); function handler(payload) { var updated = payload.updated; updated.forEach(function (item) { var lng = item.lng, ns = item.ns, key = item.key, data = item.data, metas = item.metas, meta = item.meta; if (meta && data.value) handleEditKey.setValueOnNode(meta, data.value); if (metas) { Object.values(metas).forEach(function (metaItem) { handleEditKey.setValueOnNode(metaItem, data.value); }); } postMessage.api.i18n.setResource(lng, ns, key, data.value); if (metas) { Object.values(metas).forEach(function (m) { var sItem = store.store.get(m.eleUniqueID); highlightNode.recalcSelectedHighlight(sItem, sItem.node, sItem.keys); }); } }); Object.values(store.store.data).forEach(function (item) { if (item.originalChildNodes) { var _item$node; (_item$node = item.node).replaceChildren.apply(_item$node, _toConsumableArray__default["default"](item.originalChildNodes)); } }); postMessage.api.i18n.triggerRerender(); if (postMessage.api.locizeSavedHandler) postMessage.api.locizeSavedHandler(payload); if (window.locizeSavedHandler) window.locizeSavedHandler(payload); } postMessage.api.addHandler('commitKeys', handler);