UNPKG

locize

Version:

This package adds the incontext editor to your i18next setup.

41 lines (39 loc) 1.4 kB
import _toConsumableArray from '@babel/runtime/helpers/esm/toConsumableArray'; import { api } from './postMessage.js'; import { store } from '../store.js'; import { setValueOnNode } from './handleEditKey.js'; import { recalcSelectedHighlight } from '../ui/highlightNode.js'; 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) setValueOnNode(meta, data.value); if (metas) { Object.values(metas).forEach(function (metaItem) { setValueOnNode(metaItem, data.value); }); } api.i18n.setResource(lng, ns, key, data.value); if (metas) { Object.values(metas).forEach(function (m) { var sItem = store.get(m.eleUniqueID); recalcSelectedHighlight(sItem, sItem.node, sItem.keys); }); } }); Object.values(store.data).forEach(function (item) { if (item.originalChildNodes) { var _item$node; (_item$node = item.node).replaceChildren.apply(_item$node, _toConsumableArray(item.originalChildNodes)); } }); api.i18n.triggerRerender(); if (api.locizeSavedHandler) api.locizeSavedHandler(payload); if (window.locizeSavedHandler) window.locizeSavedHandler(payload); } api.addHandler('commitKeys', handler);