index.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import staticRegister from './../utils/staticRegister';
  2. import baseRenderer from './_cellDecorator';
  3. import autocompleteRenderer from './autocompleteRenderer';
  4. import checkboxRenderer from './checkboxRenderer';
  5. import htmlRenderer from './htmlRenderer';
  6. import numericRenderer from './numericRenderer';
  7. import passwordRenderer from './passwordRenderer';
  8. import textRenderer from './textRenderer';
  9. var _staticRegister = staticRegister('renderers'),
  10. register = _staticRegister.register,
  11. getItem = _staticRegister.getItem,
  12. hasItem = _staticRegister.hasItem,
  13. getNames = _staticRegister.getNames,
  14. getValues = _staticRegister.getValues;
  15. register('base', baseRenderer);
  16. register('autocomplete', autocompleteRenderer);
  17. register('checkbox', checkboxRenderer);
  18. register('html', htmlRenderer);
  19. register('numeric', numericRenderer);
  20. register('password', passwordRenderer);
  21. register('text', textRenderer);
  22. /**
  23. * Retrieve renderer function.
  24. *
  25. * @param {String} name Renderer identification.
  26. * @returns {Function} Returns renderer function.
  27. */
  28. function _getItem(name) {
  29. if (typeof name === 'function') {
  30. return name;
  31. }
  32. if (!hasItem(name)) {
  33. throw Error('No registered renderer found under "' + name + '" name');
  34. }
  35. return getItem(name);
  36. }
  37. export { register as registerRenderer, _getItem as getRenderer, hasItem as hasRenderer, getNames as getRegisteredRendererNames, getValues as getRegisteredRenderers };