inputs.js 866 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. (function (Misago) {
  2. 'use strict';
  3. function persistent(el, isInit, context) {
  4. context.retain = true;
  5. }
  6. Misago.input = function(kwargs) {
  7. var options = {
  8. disabled: kwargs.disabled || false,
  9. config: kwargs.config || persistent
  10. };
  11. if (kwargs.placeholder) {
  12. options.placeholder = kwargs.placeholder;
  13. }
  14. if (kwargs.autocomplete === false) {
  15. options.autocomplete = 'off';
  16. }
  17. var element = 'input';
  18. if (kwargs.id) {
  19. element += '#' + kwargs.id;
  20. options.key = 'field-' + kwargs.id;
  21. }
  22. element += '.form-control' + (kwargs.class || '');
  23. element += '[type="' + (kwargs.type || 'text') + '"]';
  24. if (kwargs.value) {
  25. options.value = kwargs.value();
  26. options.oninput = m.withAttr('value', kwargs.value);
  27. }
  28. return m(element, options);
  29. };
  30. }(Misago.prototype));