@ecomplus/utils
Version:
JS utility functions to E-Com Plus (not only) related apps
46 lines (45 loc) • 1.68 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
require("core-js/modules/es.array.find.js");
require("core-js/modules/es.object.to-string.js");
var _config2 = _interopRequireDefault(require("./../lib/config"));
var _name = _interopRequireDefault(require("./name"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* @method
* @memberof ecomUtils
* @name gridTitle
* @description Returns grid title by grid ID and lang.
* @param {string} gridId - The unique ID of the grid ('colors', 'size'...)
* @param {Array} grids - List of grid objects
* @param {string} [lang=$ecomConfig.get('lang')] - Snake case language code, eg.: 'en_us', 'pt_br'
* @returns {string}
*
* @example
* const gridId = 'canais'
* const grid1 = {title: 'Canais', grid_id: 'canais'}
* const grid2 = {title: 'Cores', grid_id: 'colors'}
* const grid3 = {title: 'Tamanho', grid_id: 'size'}
* const grids = [ grid1, grid2, grid3 ]
* const lang = 'pt_br'
* ecomUtils.gridTitle(gridId, grids, lang)
* // => "Canais"
*/
var gridTitle = function gridTitle(gridId, grids) {
var lang = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _config2.default.get('lang');
var grid;
if (Array.isArray(grids)) {
// match the grid by ID
grid = grids.find(function (grid) {
return grid.grid_id === gridId;
});
} else {
console.error('`grids` must be array to get grid title');
}
// returns grid name or fallback to received grid ID by default
return grid ? (0, _name.default)(grid, lang) : gridId;
};
var _default = exports.default = gridTitle;