ListItem.js 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. var t = require;
  2. var e = module;
  3. var i = exports;
  4. var s,
  5. o =
  6. (this && this.__decorate) ||
  7. function(t, e, i, s) {
  8. var o,
  9. a = arguments.length,
  10. n = a < 3 ? e : null === s ? (s = Object.getOwnPropertyDescriptor(e, i)) : s;
  11. if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) n = Reflect.decorate(t, e, i, s);
  12. else
  13. for (var r = t.length - 1; 0 <= r; r--)
  14. (o = t[r]) && (n = (a < 3 ? o(n) : 3 < a ? o(e, i, n) : o(e, i)) || n);
  15. return 3 < a && n && Object.defineProperty(e, i, n), n;
  16. };
  17. Object.defineProperty(i, "__esModule", { value: !0 });
  18. const { ccclass: a, property: n, disallowMultiple: r, menu: l, executionOrder: h } = cc._decorator;
  19. ((e = s = s || {})[(e.NONE = 0)] = "NONE"), (e[(e.TOGGLE = 1)] = "TOGGLE"), (e[(e.SWITCH = 2)] = "SWITCH");
  20. e = class extends cc.Component {
  21. constructor() {
  22. super(...arguments),
  23. (this.icon = null),
  24. (this.title = null),
  25. (this.selectedMode = s.NONE),
  26. (this.selectedFlag = null),
  27. (this.selectedSpriteFrame = null),
  28. (this._unselectedSpriteFrame = null),
  29. (this.adaptiveSize = !1),
  30. (this._selected = !1),
  31. (this._eventReg = !1);
  32. }
  33. set selected(e) {
  34. if (((this._selected = e), this.selectedFlag))
  35. switch (this.selectedMode) {
  36. case s.TOGGLE:
  37. this.selectedFlag.active = e;
  38. break;
  39. case s.SWITCH:
  40. let t = this.selectedFlag.getComponent(cc.Sprite);
  41. t && (t.spriteFrame = e ? this.selectedSpriteFrame : this._unselectedSpriteFrame);
  42. }
  43. }
  44. get selected() {
  45. return this._selected;
  46. }
  47. get btnCom() {
  48. return this._btnCom || (this._btnCom = this.node.getComponent(cc.Button)), this._btnCom;
  49. }
  50. onLoad() {
  51. var t;
  52. this.selectedMode == s.SWITCH &&
  53. ((t = this.selectedFlag.getComponent(cc.Sprite)), (this._unselectedSpriteFrame = t.spriteFrame));
  54. }
  55. onDestroy() {
  56. this.node.off(cc.Node.EventType.SIZE_CHANGED, this._onSizeChange, this);
  57. }
  58. _registerEvent() {
  59. this._eventReg ||
  60. (this.btnCom &&
  61. 0 < this.list.selectedMode &&
  62. this.btnCom.clickEvents.unshift(this.createEvt(this, "onClickThis")),
  63. this.adaptiveSize && this.node.on(cc.Node.EventType.SIZE_CHANGED, this._onSizeChange, this),
  64. (this._eventReg = !0));
  65. }
  66. _onSizeChange() {
  67. this.list._onItemAdaptive(this.node);
  68. }
  69. createEvt(e, i, s = null) {
  70. if (e.isValid) {
  71. e.comName =
  72. e.comName ||
  73. e.name
  74. .match(/\<(.*?)\>/g)
  75. .pop()
  76. .replace(/\<|>/g, "");
  77. let t = new cc.Component.EventHandler();
  78. return (t.target = s || e.node), (t.component = e.comName), (t.handler = i), t;
  79. }
  80. }
  81. showAni(t, e, i) {
  82. let s;
  83. switch (t) {
  84. case 0:
  85. s = [cc.scaleTo(0.2, 0.7), cc.moveBy(0.3, 0, 2 * this.node.height)];
  86. break;
  87. case 1:
  88. s = [cc.scaleTo(0.2, 0.7), cc.moveBy(0.3, 2 * this.node.width, 0)];
  89. break;
  90. case 2:
  91. s = [cc.scaleTo(0.2, 0.7), cc.moveBy(0.3, 0, -2 * this.node.height)];
  92. break;
  93. case 3:
  94. s = [cc.scaleTo(0.2, 0.7), cc.moveBy(0.3, -2 * this.node.width, 0)];
  95. break;
  96. default:
  97. s = [cc.scaleTo(0.3, 0.1)];
  98. }
  99. (e || i) &&
  100. s.push(
  101. cc.callFunc(() => {
  102. if (i) {
  103. this.list._delSingleItem(this.node);
  104. for (let t = this.list.displayData.length - 1; 0 <= t; t--)
  105. if (this.list.displayData[t].id == this.listId) {
  106. this.list.displayData.splice(t, 1);
  107. break;
  108. }
  109. }
  110. e();
  111. })
  112. ),
  113. this.node.runAction(cc.sequence(s));
  114. }
  115. onClickThis() {
  116. this.list.selectedId = this.listId;
  117. }
  118. };
  119. o([n({ type: cc.Sprite })], e.prototype, "icon", void 0),
  120. o([n({ type: cc.Node })], e.prototype, "title", void 0),
  121. o([n({ type: cc.Enum(s) })], e.prototype, "selectedMode", void 0),
  122. o(
  123. [
  124. n({
  125. type: cc.Node,
  126. visible() {
  127. return this.selectedMode > s.NONE;
  128. }
  129. })
  130. ],
  131. e.prototype,
  132. "selectedFlag",
  133. void 0
  134. ),
  135. o(
  136. [
  137. n({
  138. type: cc.SpriteFrame,
  139. visible() {
  140. return this.selectedMode == s.SWITCH;
  141. }
  142. })
  143. ],
  144. e.prototype,
  145. "selectedSpriteFrame",
  146. void 0
  147. ),
  148. o([n({})], e.prototype, "adaptiveSize", void 0),
  149. (e = o([a, r(), h(-5001)], e)),
  150. (i.default = e);