123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- 'use strict';
- exports.__esModule = true;
- var _element = require('./../helpers/dom/element');
- var _mixed = require('./../helpers/mixed');
- var _index = require('./index');
- /**
- * Default text renderer
- *
- * @private
- * @renderer TextRenderer
- * @param {Object} instance Handsontable instance
- * @param {Element} TD Table cell where to render
- * @param {Number} row
- * @param {Number} col
- * @param {String|Number} prop Row object property name
- * @param value Value to render (remember to escape unsafe HTML before inserting to DOM!)
- * @param {Object} cellProperties Cell properties (shared by cell renderer and editor)
- */
- function textRenderer(instance, TD, row, col, prop, value, cellProperties) {
- (0, _index.getRenderer)('base').apply(this, arguments);
- if (!value && cellProperties.placeholder) {
- value = cellProperties.placeholder;
- }
- var escaped = (0, _mixed.stringify)(value);
- if (!instance.getSettings().trimWhitespace) {
- escaped = escaped.replace(/ /g, String.fromCharCode(160));
- }
- if (cellProperties.rendererTemplate) {
- (0, _element.empty)(TD);
- var TEMPLATE = document.createElement('TEMPLATE');
- TEMPLATE.setAttribute('bind', '{{}}');
- TEMPLATE.innerHTML = cellProperties.rendererTemplate;
- HTMLTemplateElement.decorate(TEMPLATE);
- TEMPLATE.model = instance.getSourceDataAtRow(row);
- TD.appendChild(TEMPLATE);
- } else {
- // this is faster than innerHTML. See: https://github.com/handsontable/handsontable/wiki/JavaScript-&-DOM-performance-tips
- (0, _element.fastInnerText)(TD, escaped);
- }
- }
- exports.default = textRenderer;
|