index.js 9.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. "use strict";
  2. var __assign = undefined && undefined.__assign || function () {
  3. __assign = Object.assign || function (t) {
  4. for (var s, i = 1, n = arguments.length; i < n; i++) {
  5. s = arguments[i];
  6. for (var p in s) {
  7. if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
  8. }
  9. }
  10. return t;
  11. };
  12. return __assign.apply(this, arguments);
  13. };
  14. Object.defineProperty(exports, "__esModule", { value: true });
  15. var component_1 = require('./../common/component.js');
  16. component_1.VantComponent({
  17. field: true,
  18. classes: ['icon-class'],
  19. props: {
  20. value: Number,
  21. readonly: Boolean,
  22. disabled: Boolean,
  23. allowHalf: Boolean,
  24. size: {
  25. type: Number,
  26. value: 20
  27. },
  28. icon: {
  29. type: String,
  30. value: 'star'
  31. },
  32. voidIcon: {
  33. type: String,
  34. value: 'star-o'
  35. },
  36. color: {
  37. type: String,
  38. value: '#ffd21e'
  39. },
  40. voidColor: {
  41. type: String,
  42. value: '#c7c7c7'
  43. },
  44. disabledColor: {
  45. type: String,
  46. value: '#bdbdbd'
  47. },
  48. count: {
  49. type: Number,
  50. value: 5
  51. }
  52. },
  53. data: {
  54. innerValue: 0
  55. },
  56. watch: {
  57. value: function value(_value) {
  58. if (_value !== this.data.innerValue) {
  59. this.set({ innerValue: _value });
  60. }
  61. }
  62. },
  63. methods: {
  64. onSelect: function onSelect(event) {
  65. var data = this.data;
  66. var score = event.currentTarget.dataset.score;
  67. if (!data.disabled && !data.readonly) {
  68. this.set({ innerValue: score + 1 });
  69. this.$emit('input', score + 1);
  70. this.$emit('change', score + 1);
  71. }
  72. },
  73. onTouchMove: function onTouchMove(event) {
  74. var _this = this;
  75. var _a = event.touches[0],
  76. clientX = _a.clientX,
  77. clientY = _a.clientY;
  78. this.getRect('.van-rate__icon', true).then(function (list) {
  79. var target = list.sort(function (item) {
  80. return item.right - item.left;
  81. }).find(function (item) {
  82. return clientX >= item.left && clientX <= item.right && clientY >= item.top && clientY <= item.bottom;
  83. });
  84. if (target != null) {
  85. _this.onSelect(__assign({}, event, { currentTarget: target }));
  86. }
  87. });
  88. }
  89. }
  90. });
  91. //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmpzIl0sIm5hbWVzIjpbIl9fYXNzaWduIiwiT2JqZWN0IiwiaSIsIm4iLCJhcmd1bWVudHMiLCJzIiwidCIsInZhbHVlIiwiY29tcG9uZW50XzEiLCJyZXF1aXJlIiwiZmllbGQiLCJjbGFzc2VzIiwicHJvcHMiLCJyZWFkb25seSIsImRpc2FibGVkIiwiYWxsb3dIYWxmIiwic2l6ZSIsInR5cGUiLCJpY29uIiwidm9pZEljb24iLCJjb2xvciIsInZvaWRDb2xvciIsImRpc2FibGVkQ29sb3IiLCJjb3VudCIsImRhdGEiLCJpbm5lclZhbHVlIiwid2F0Y2giLCJtZXRob2RzIiwib25TZWxlY3QiLCJzY29yZSIsImV2ZW50Iiwib25Ub3VjaE1vdmUiLCJfdGhpcyIsIl9hIiwiY2xpZW50WCIsImNsaWVudFkiLCJ0YXJnZXQiLCJpdGVtIiwiY3VycmVudFRhcmdldCJdLCJtYXBwaW5ncyI6Ijs7QUFDQSxJQUFJQSxXQUFZLGFBQVEsVUFBVCxRQUFDLElBQTBCLFlBQVk7QUFDbERBLGVBQVdDLE9BQUFBLE1BQUFBLElBQWlCLFVBQUEsQ0FBQSxFQUFZO0FBQ3BDLGFBQUssSUFBQSxDQUFBLEVBQU9DLElBQVAsQ0FBQSxFQUFjQyxJQUFJQyxVQUF2QixNQUFBLEVBQXlDRixJQUF6QyxDQUFBLEVBQUEsR0FBQSxFQUFxRDtBQUNqREcsZ0JBQUlELFVBQUpDLENBQUlELENBQUpDO0FBQ0EsaUJBQUssSUFBTCxDQUFBLElBQUEsQ0FBQSxFQUFBO0FBQWlCLG9CQUFJSixPQUFBQSxTQUFBQSxDQUFBQSxjQUFBQSxDQUFBQSxJQUFBQSxDQUFBQSxDQUFBQSxFQUFKLENBQUlBLENBQUosRUFDYkssRUFBQUEsQ0FBQUEsSUFBT0QsRUFBUEMsQ0FBT0QsQ0FBUEM7QUFESjtBQUVIO0FBQ0QsZUFBQSxDQUFBO0FBTkpOLEtBQUFBO0FBUUEsV0FBT0EsU0FBQUEsS0FBQUEsQ0FBQUEsSUFBQUEsRUFBUCxTQUFPQSxDQUFQO0FBVEosQ0FBQTtBQVdBQyxPQUFBQSxj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dXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xudmFyIF9fYXNzaWduID0gKHRoaXMgJiYgdGhpcy5fX2Fzc2lnbikgfHwgZnVuY3Rpb24gKCkge1xuICAgIF9fYXNzaWduID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbih0KSB7XG4gICAgICAgIGZvciAodmFyIHMsIGkgPSAxLCBuID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IG47IGkrKykge1xuICAgICAgICAgICAgcyA9IGFyZ3VtZW50c1tpXTtcbiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSlcbiAgICAgICAgICAgICAgICB0W3BdID0gc1twXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdDtcbiAgICB9O1xuICAgIHJldHVybiBfX2Fzc2lnbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xufTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbnZhciBjb21wb25lbnRfMSA9IHJlcXVpcmUoXCIuLi9jb21tb24vY29tcG9uZW50XCIpO1xuY29tcG9uZW50XzEuVmFudENvbXBvbmVudCh7XG4gICAgZmllbGQ6IHRydWUsXG4gICAgY2xhc3NlczogWydpY29uLWNsYXNzJ10sXG4gICAgcHJvcHM6IHtcbiAgICAgICAgdmFsdWU6IE51bWJlcixcbiAgICAgICAgcmVhZG9ubHk6IEJvb2xlYW4sXG4gICAgICAgIGRpc2FibGVkOiBCb29sZWFuLFxuICAgICAgICBhbGxvd0hhbGY6IEJvb2xlYW4sXG4gICAgICAgIHNpemU6IHtcbiAgICAgICAgICAgIHR5cGU6IE51bWJlcixcbiAgICAgICAgICAgIHZhbHVlOiAyMFxuICAgICAgICB9LFxuICAgICAgICBpY29uOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICB2YWx1ZTogJ3N0YXInXG4gICAgICAgIH0sXG4gICAgICAgIHZvaWRJY29uOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICB2YWx1ZTogJ3N0YXItbydcbiAgICAgICAgfSxcbiAgICAgICAgY29sb3I6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIHZhbHVlOiAnI2ZmZDIxZSdcbiAgICAgICAgfSxcbiAgICAgICAgdm9pZENvbG9yOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICB2YWx1ZTogJyNjN2M3YzcnXG4gICAgICAgIH0sXG4gICAgICAgIGRpc2FibGVkQ29sb3I6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIHZhbHVlOiAnI2JkYmRiZCdcbiAgICAgICAgfSxcbiAgICAgICAgY291bnQ6IHtcbiAgICAgICAgICAgIHR5cGU6IE51bWJlcixcbiAgICAgICAgICAgIHZhbHVlOiA1XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGRhdGE6IHtcbiAgICAgICAgaW5uZXJWYWx1ZTogMFxuICAgIH0sXG4gICAgd2F0Y2g6IHtcbiAgICAgICAgdmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLmRhdGEuaW5uZXJWYWx1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0KHsgaW5uZXJWYWx1ZTogdmFsdWUgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgb25TZWxlY3Q6IGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgdmFyIGRhdGEgPSB0aGlzLmRhdGE7XG4gICAgICAgICAgICB2YXIgc2NvcmUgPSBldmVudC5jdXJyZW50VGFyZ2V0LmRhdGFzZXQuc2NvcmU7XG4gICAgICAgICAgICBpZiAoIWRhdGEuZGlzYWJsZWQgJiYgIWRhdGEucmVhZG9ubHkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldCh7IGlubmVyVmFsdWU6IHNjb3JlICsgMSB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLiRlbWl0KCdpbnB1dCcsIHNjb3JlICsgMSk7XG4gICAgICAgICAgICAgICAgdGhpcy4kZW1pdCgnY2hhbmdlJywgc2NvcmUgKyAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgb25Ub3VjaE1vdmU6IGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgICAgIHZhciBfYSA9IGV2ZW50LnRvdWNoZXNbMF0sIGNsaWVudFggPSBfYS5jbGllbnRYLCBjbGllbnRZID0gX2EuY2xpZW50WTtcbiAgICAgICAgICAgIHRoaXMuZ2V0UmVjdCgnLnZhbi1yYXRlX19pY29uJywgdHJ1ZSkudGhlbihmdW5jdGlvbiAobGlzdCkge1xuICAgICAgICAgICAgICAgIHZhciB0YXJnZXQgPSBsaXN0XG4gICAgICAgICAgICAgICAgICAgIC5zb3J0KGZ1bmN0aW9uIChpdGVtKSB7IHJldHVybiBpdGVtLnJpZ2h0IC0gaXRlbS5sZWZ0OyB9KVxuICAgICAgICAgICAgICAgICAgICAuZmluZChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xpZW50WCA+PSBpdGVtLmxlZnQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudFggPD0gaXRlbS5yaWdodCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50WSA+PSBpdGVtLnRvcCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50WSA8PSBpdGVtLmJvdHRvbTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAodGFyZ2V0ICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgX3RoaXMub25TZWxlY3QoX19hc3NpZ24oe30sIGV2ZW50LCB7IGN1cnJlbnRUYXJnZXQ6IHRhcmdldCB9KSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59KTtcbiJdLCJmaWxlIjoiaW5kZXguanMifQ==