UNPKG

@kineticdata/react

Version:
107 lines (106 loc) 2.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.EntryTable = void 0; var _Table = require("../../table/Table"); var _apis = require("../../../apis"); var _helpers = require("../../../helpers"); var _immutable = require("immutable"); var clientSide = (0, _helpers.defineFilter)(true).startsWith('locale', 'locale').startsWith('context', 'context').startsWith('key', 'key').end(); var dataSource = function dataSource(_ref) { var shared = _ref.shared, staged = _ref.staged, locale = _ref.locale, keyHash = _ref.keyHash, context = _ref.context; return { fn: staged ? _apis.fetchStagedTranslations : _apis.fetchTranslations, clientSide: clientSide, params: function params(paramData) { return [{ localeCode: locale && locale, keyHash: keyHash && keyHash, contextName: shared ? 'shared' : context ? context : null, include: 'authorization,details' }]; }, transform: function transform(result) { return { data: staged ? result.changes : result.entries, nextPageToken: result.nextPageToken }; } }; }; var filterDataSources = function filterDataSources() { return { locales: { fn: _apis.fetchEnabledLocales, params: function params() { return [{ include: 'details' }]; }, transform: function transform(result) { return result.locales; } } }; }; var filters = function filters() { return function (_ref2) { var locales = _ref2.locales; return [{ name: 'locale', label: 'Locale', type: 'select', options: function options(_ref3) { var locales = _ref3.locales; return locales && locales.map(function (loc) { return (0, _immutable.Map)({ value: loc.get('code'), label: loc.get('code') }); }); } }, { name: 'context', label: 'Context', type: 'text' }, { name: 'key', label: 'Key', type: 'text' }]; }; }; var columns = [{ value: 'locale', title: 'Locale', sortable: true }, { value: 'context', title: 'Context', sortable: true }, { value: 'key', title: 'Key', sortable: true }, { value: 'value', title: 'Translation', sortable: true }, { value: 'valueStaged', title: 'New Translation', sortable: true }]; var EntryTable = exports.EntryTable = (0, _Table.generateTable)({ tableOptions: ['staged', 'shared', 'locale', 'keyHash', 'context'], columns: columns, filters: filters, dataSource: dataSource, filterDataSources: filterDataSources }); EntryTable.displayName = 'EntryTable';