index.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. import baseComponent from '../helpers/baseComponent'
  2. import classNames from '../helpers/libs/classNames'
  3. import styleToCssString from '../helpers/libs/styleToCssString'
  4. import eventsMixin from '../helpers/mixins/eventsMixin'
  5. const defaultEvents = {
  6. onClick() {},
  7. }
  8. baseComponent({
  9. behaviors: [eventsMixin({ defaultEvents })],
  10. relations: {
  11. '../cell-group/index': {
  12. type: 'ancestor',
  13. },
  14. '../picker/index': {
  15. type: 'parent',
  16. },
  17. '../date-picker/index': {
  18. type: 'parent',
  19. },
  20. '../popup-select/index': {
  21. type: 'parent',
  22. },
  23. },
  24. properties: {
  25. prefixCls: {
  26. type: String,
  27. value: 'wux-touch-view',
  28. },
  29. hoverClass: {
  30. type: String,
  31. value: 'none',
  32. },
  33. hoverStopPropagation: {
  34. type: Boolean,
  35. value: false,
  36. },
  37. hoverStartTime: {
  38. type: Number,
  39. value: 20,
  40. },
  41. hoverStayTime: {
  42. type: Number,
  43. value: 70,
  44. },
  45. wrapStyle: {
  46. type: [String, Object],
  47. value: '',
  48. observer(newVal) {
  49. this.setData({
  50. extStyle: styleToCssString(newVal),
  51. })
  52. },
  53. },
  54. },
  55. data: {
  56. extStyle: '',
  57. },
  58. computed: {
  59. classes: ['prefixCls, hoverClass', function(prefixCls, hoverClass) {
  60. const wrap = classNames(prefixCls)
  61. const hover = hoverClass && hoverClass !== 'default' ? hoverClass : `${prefixCls}--hover`
  62. return {
  63. wrap,
  64. hover,
  65. }
  66. }],
  67. },
  68. methods: {
  69. onClick() {
  70. this.triggerEvent('click')
  71. },
  72. },
  73. })