handsontable
Version:
Handsontable is a JavaScript Data Grid available for React, Angular and Vue.
26 lines (25 loc) • 1.63 kB
JavaScript
import { textRenderer } from "../textRenderer/index.mjs";
import { deprecatedWarn } from "../../helpers/console.mjs";
export const RENDERER_TYPE = 'time';
const deprecatedMessageShown = new WeakSet();
/**
* Default time renderer.
*
* @private
* @param {Core} hotInstance The Handsontable instance.
* @param {HTMLTableCellElement} TD The rendered cell element.
* @param {number} row The visual row index.
* @param {number} col The visual column index.
* @param {number|string} prop The column property (passed when datasource is an array of objects).
* @param {*} value The rendered value.
* @param {object} cellProperties The cell meta object (see {@link Core#getCellMeta}).
*/
export function timeRenderer(hotInstance, TD, row, col, prop, value, cellProperties) {
if (!deprecatedMessageShown.has(cellProperties.instance) && typeof cellProperties.timeFormat === 'string') {
deprecatedMessageShown.add(cellProperties.instance);
deprecatedWarn('The `time` cell type with string-based `timeFormat` (moment.js) is deprecated. ' + 'In the next major release, `time` will accept only Intl.DateTimeFormat options (object). ' + 'To start migrating, use the `intl-time` cell type now; it will become the `time` cell type ' + 'after the next major release (the `intl-time` will become an alias for `time`).\n\n' + 'Migration guide: https://handsontable.com/docs/migration-from-16.2-to-17.0/\n' + '`time` cell type: https://handsontable.com/docs/time-cell-type/');
}
textRenderer.apply(this, [hotInstance, TD, row, col, prop, value, cellProperties]);
TD.dir = 'ltr';
}
timeRenderer.RENDERER_TYPE = RENDERER_TYPE;