handsontable
Version:
Handsontable is a JavaScript Data Grid available for React, Angular and Vue.
60 lines (57 loc) • 1.39 kB
JavaScript
;
exports.__esModule = true;
exports.baseTemplate = baseTemplate;
require("core-js/modules/es.error.cause.js");
var _constants = require("../constants");
var _templateLiteralTag = require("../../../helpers/templateLiteralTag");
/**
* The `baseTemplate` function returns a HTML string with the base template.
*
* @returns {string} HTML string with the base template.
*/
function baseTemplate() {
/**
* Returns the HTML string for the template.
*
* @returns {string}
*/
function template() {
return `
<div data-ref="contentElement" class="${_constants.DIALOG_CLASS_NAME}__content"></div>
`;
}
let fragment = null;
const refs = {};
/**
* Compiles the template.
*
* @returns {object} The compiled template.
*/
function compile() {
const elements = (0, _templateLiteralTag.html)`${template()}`;
Object.assign(refs, elements.refs);
fragment = elements.fragment;
return elements;
}
/**
* Gets the focusable elements of the template.
*
* @returns {HTMLElement[]} The focusable elements.
*/
function focusableElements() {
if (fragment === null) {
throw new Error('Compile the template first.');
}
return [];
}
return {
TEMPLATE_NAME: 'base',
dialogA11YOptions() {
return {
role: 'dialog'
};
},
compile,
focusableElements
};
}