simply.js 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. var __assign = (this && this.__assign) || function () {
  2. __assign = Object.assign || function(t) {
  3. for (var s, i = 1, n = arguments.length; i < n; i++) {
  4. s = arguments[i];
  5. for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
  6. t[p] = s[p];
  7. }
  8. return t;
  9. };
  10. return __assign.apply(this, arguments);
  11. };
  12. function removeNullProps(props) {
  13. var newProps = {};
  14. for (var key in props) {
  15. if (props[key] !== null) {
  16. newProps[key] = props[key];
  17. }
  18. }
  19. return newProps;
  20. }
  21. function buildProperties(props) {
  22. var newProperties = {};
  23. for (var key in props) {
  24. var type = null;
  25. switch (typeof props[key]) {
  26. case 'string':
  27. type = String;
  28. break;
  29. case 'number':
  30. type = Number;
  31. break;
  32. case 'boolean':
  33. type = Boolean;
  34. break;
  35. }
  36. newProperties[key] = {
  37. type: type,
  38. value: props[key]
  39. };
  40. }
  41. return newProperties;
  42. }
  43. function mergeDefaultProps(defaultProps) {
  44. if (defaultProps === void 0) { defaultProps = {}; }
  45. return __assign({ className: '', style: '' }, defaultProps);
  46. }
  47. function ComponentImpl(defaultProps, methods) {
  48. Component({
  49. properties: buildProperties(mergeDefaultProps(defaultProps)),
  50. options: {
  51. styleIsolation: 'shared',
  52. multipleSlots: true,
  53. virtualHost: true,
  54. },
  55. methods: methods,
  56. });
  57. }
  58. export function triggerEvent(instance, eventName, value, e) {
  59. // 首字母大写,然后加上 on
  60. instance.triggerEvent(eventName.toLocaleLowerCase(), value);
  61. }
  62. export function triggerEventOnly(instance, eventName, e) {
  63. // 首字母大写,然后加上 on
  64. instance.triggerEvent(eventName.toLocaleLowerCase());
  65. }
  66. export function triggerEventValues(instance, eventName, values, e) {
  67. // 首字母大写,然后加上 on
  68. instance.triggerEvent(eventName.toLocaleLowerCase(), values);
  69. }
  70. export { ComponentImpl as Component };