| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- (function() {
- var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
- var __module = nodeEnv ? module : {exports:{}};
- var __filename = 'preview-scripts/assets/script/game/component/PageView.js';
- var __require = nodeEnv ? function (request) {
- return cc.require(request);
- } : function (request) {
- return __quick_compile_project__.require(request, __filename);
- };
- function __define (exports, require, module) {
- if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict";
- cc._RF.push(module, 'bf07comJ2RKTIq+nuMXZ4/m', 'PageView');
- // script/game/component/PageView.ts
- "use strict";
- var __extends = (this && this.__extends) || (function () {
- var extendStatics = function (d, b) {
- extendStatics = Object.setPrototypeOf ||
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
- return extendStatics(d, b);
- };
- return function (d, b) {
- extendStatics(d, b);
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
- })();
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- Object.defineProperty(exports, "__esModule", { value: true });
- var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
- /**
- * 翻页组件类
- * - 简单版 无动态加载功能
- * - 已知bug,请注意规避:开启回弹后,首尾界面回弹没有考虑 setCurrentPageIndex 导致在setCurrentPageIndex设置之后的位置开始回弹。解决方法:关闭回弹
- * @author 薛鸿潇
- */
- var PageView = /** @class */ (function (_super) {
- __extends(PageView, _super);
- function PageView() {
- var _this = _super !== null && _super.apply(this, arguments) || this;
- /** 翻页组件 */
- _this.comp_page_view = null;
- /** item 容器 */
- _this.arr_node_item = [];
- return _this;
- // update (dt) {}
- }
- PageView.prototype.onLoad = function () {
- this.comp_page_view = this.node.getComponent(cc.PageView);
- this.node.on('ui-init', this.init, this); // 初始化列表
- this.node.on('ui-clearItem', this.clearItem, this); // 清除页面
- this.node.on('ui-backCurPage', this.backCurPage, this); // 返回到当前Index对应的界面【滑动后禁用滑动功能,再打开滑动功能,翻页组件不会自动返回,调用此接口】
- };
- PageView.prototype.start = function () {
- };
- /**
- * 初始化列表
- * @param list_data 数据列表
- * @param page_item item预制体
- */
- PageView.prototype.init = function (list_data, page_item, init_index) {
- if (init_index === void 0) { init_index = 0; }
- var data_count = list_data.length;
- if (!data_count) {
- // 刷新时,数据列表是空的
- var node_count_1 = this.arr_node_item.length;
- for (var i = 0; i < node_count_1; i++) {
- this.comp_page_view.removePageAtIndex(i);
- this.arr_node_item.splice(i, 1);
- }
- return;
- }
- for (var i = 0; i < data_count; i++) {
- var node_item = this.arr_node_item[i];
- if (!node_item) {
- node_item = cc.instantiate(page_item);
- this.arr_node_item.push(node_item);
- }
- // node_item.parent = this.content;
- this.comp_page_view.addPage(node_item);
- node_item.getComponent(node_item.name).setItemData(list_data[i]);
- }
- this.comp_page_view.setCurrentPageIndex(init_index);
- // 清理多出来的item
- var node_count = this.arr_node_item.length;
- if (data_count > node_count) {
- for (var i = data_count; i < node_count; i++) {
- this.comp_page_view.removePageAtIndex(i);
- this.arr_node_item.splice(i, 1);
- }
- }
- };
- /**
- * 返回当前页
- */
- PageView.prototype.backCurPage = function () {
- var index = this.comp_page_view.getCurrentPageIndex();
- this.comp_page_view.setCurrentPageIndex(index);
- };
- /** 清理子节点
- * - need_destroy 销毁
- */
- PageView.prototype.clearItem = function (need_destroy) {
- if (need_destroy === void 0) { need_destroy = false; }
- // this.comp_page_view.removeAllPages();
- // const n_count = this.arr_node_item.length;
- // for (let i = 0; i < n_count; i++) {
- // if (need_destroy) {
- // let node_end = this.arr_node_item.pop();
- // node_end.destroy();
- // } else {
- // this.arr_node_item[i].removeFromParent();
- // }
- // }
- };
- PageView = __decorate([
- ccclass
- ], PageView);
- return PageView;
- }(cc.Component));
- exports.default = PageView;
- cc._RF.pop();
- }
- if (nodeEnv) {
- __define(__module.exports, __require, __module);
- }
- else {
- __quick_compile_project__.registerModuleFunc(__filename, function () {
- __define(__module.exports, __require, __module);
- });
- }
- })();
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcc2NyaXB0XFxnYW1lXFxjb21wb25lbnRcXFBhZ2VWaWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNNLElBQUEsS0FBd0IsRUFBRSxDQUFDLFVBQVUsRUFBbkMsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFrQixDQUFDO0FBQzVDOzs7OztHQUtHO0FBRUg7SUFBc0MsNEJBQVk7SUFBbEQ7UUFBQSxxRUE4RUM7UUE1RUcsV0FBVztRQUNILG9CQUFjLEdBQWdCLElBQUksQ0FBQztRQUMzQyxjQUFjO1FBQ04sbUJBQWEsR0FBbUIsRUFBRSxDQUFDOztRQXdFM0MsaUJBQWlCO0lBQ3JCLENBQUM7SUF4RUcseUJBQU0sR0FBTjtRQUNJLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUEsUUFBUTtRQUNqRCxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFBLE9BQU87UUFDMUQsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFBLHNEQUFzRDtJQUNqSCxDQUFDO0lBRUQsd0JBQUssR0FBTDtJQUVBLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssdUJBQUksR0FBWixVQUFhLFNBQXFCLEVBQUUsU0FBb0IsRUFBRSxVQUFzQjtRQUF0QiwyQkFBQSxFQUFBLGNBQXNCO1FBQzVFLElBQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUM7UUFDcEMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNiLGNBQWM7WUFDZCxJQUFNLFlBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztZQUM3QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsWUFBVSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUNqQyxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN6QyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDbkM7WUFDRCxPQUFPO1NBQ1Y7UUFDRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2pDLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEMsSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDWixTQUFTLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDdEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDdEM7WUFDRCxtQ0FBbUM7WUFDbkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdkMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3BFO1FBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNwRCxhQUFhO1FBQ2IsSUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7UUFDN0MsSUFBSSxVQUFVLEdBQUcsVUFBVSxFQUFFO1lBQ3pCLEtBQUssSUFBSSxDQUFDLEdBQUcsVUFBVSxFQUFFLENBQUMsR0FBRyxVQUFVLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQzFDLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3pDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUNuQztTQUNKO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ssOEJBQVcsR0FBbkI7UUFDSSxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDdEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7O01BRUU7SUFDTSw0QkFBUyxHQUFqQixVQUFrQixZQUE2QjtRQUE3Qiw2QkFBQSxFQUFBLG9CQUE2QjtRQUMzQyx3Q0FBd0M7UUFDeEMsNkNBQTZDO1FBQzdDLHNDQUFzQztRQUN0QywwQkFBMEI7UUFDMUIsbURBQW1EO1FBQ25ELDhCQUE4QjtRQUM5QixlQUFlO1FBQ2Ysb0RBQW9EO1FBQ3BELFFBQVE7UUFDUixJQUFJO0lBQ1IsQ0FBQztJQTVFZ0IsUUFBUTtRQUQ1QixPQUFPO09BQ2EsUUFBUSxDQThFNUI7SUFBRCxlQUFDO0NBOUVELEFBOEVDLENBOUVxQyxFQUFFLENBQUMsU0FBUyxHQThFakQ7a0JBOUVvQixRQUFRIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcbi8qKlxyXG4gKiDnv7vpobXnu4Tku7bnsbtcclxuICogLSDnroDljZXniYgg5peg5Yqo5oCB5Yqg6L295Yqf6IO9XHJcbiAqIC0g5bey55+lYnVn77yM6K+35rOo5oSP6KeE6YG/77ya5byA5ZCv5Zue5by55ZCO77yM6aaW5bC+55WM6Z2i5Zue5by55rKh5pyJ6ICD6JmRIHNldEN1cnJlbnRQYWdlSW5kZXgg5a+86Ie05Zyoc2V0Q3VycmVudFBhZ2VJbmRleOiuvue9ruS5i+WQjueahOS9jee9ruW8gOWni+WbnuW8ueOAguino+WGs+aWueazle+8muWFs+mXreWbnuW8uVxyXG4gKiBAYXV0aG9yIOiWm+m4v+a9h1xyXG4gKi9cclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUGFnZVZpZXcgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG5cclxuICAgIC8qKiDnv7vpobXnu4Tku7YgKi9cclxuICAgIHByaXZhdGUgY29tcF9wYWdlX3ZpZXc6IGNjLlBhZ2VWaWV3ID0gbnVsbDtcclxuICAgIC8qKiBpdGVtIOWuueWZqCAqL1xyXG4gICAgcHJpdmF0ZSBhcnJfbm9kZV9pdGVtOiBBcnJheTxjYy5Ob2RlPiA9IFtdO1xyXG4gICAgb25Mb2FkKCkge1xyXG4gICAgICAgIHRoaXMuY29tcF9wYWdlX3ZpZXcgPSB0aGlzLm5vZGUuZ2V0Q29tcG9uZW50KGNjLlBhZ2VWaWV3KTtcclxuICAgICAgICB0aGlzLm5vZGUub24oJ3VpLWluaXQnLCB0aGlzLmluaXQsIHRoaXMpOy8vIOWIneWni+WMluWIl+ihqFxyXG4gICAgICAgIHRoaXMubm9kZS5vbigndWktY2xlYXJJdGVtJywgdGhpcy5jbGVhckl0ZW0sIHRoaXMpOy8vIOa4hemZpOmhtemdolxyXG4gICAgICAgIHRoaXMubm9kZS5vbigndWktYmFja0N1clBhZ2UnLCB0aGlzLmJhY2tDdXJQYWdlLCB0aGlzKTsvLyDov5Tlm57liLDlvZPliY1JbmRleOWvueW6lOeahOeVjOmdouOAkOa7keWKqOWQjuemgeeUqOa7keWKqOWKn+iDve+8jOWGjeaJk+W8gOa7keWKqOWKn+iDve+8jOe/u+mhtee7hOS7tuS4jeS8muiHquWKqOi/lOWbnu+8jOiwg+eUqOatpOaOpeWPo+OAkVxyXG4gICAgfVxyXG5cclxuICAgIHN0YXJ0KCkge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIOWIneWni+WMluWIl+ihqFxyXG4gICAgICogQHBhcmFtIGxpc3RfZGF0YSDmlbDmja7liJfooahcclxuICAgICAqIEBwYXJhbSBwYWdlX2l0ZW0gaXRlbemihOWItuS9k1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGluaXQobGlzdF9kYXRhOiBBcnJheTxhbnk+LCBwYWdlX2l0ZW06IGNjLlByZWZhYiwgaW5pdF9pbmRleDogbnVtYmVyID0gMCkge1xyXG4gICAgICAgIGNvbnN0IGRhdGFfY291bnQgPSBsaXN0X2RhdGEubGVuZ3RoO1xyXG4gICAgICAgIGlmICghZGF0YV9jb3VudCkge1xyXG4gICAgICAgICAgICAvLyDliLfmlrDml7bvvIzmlbDmja7liJfooajmmK/nqbrnmoRcclxuICAgICAgICAgICAgY29uc3Qgbm9kZV9jb3VudCA9IHRoaXMuYXJyX25vZGVfaXRlbS5sZW5ndGg7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbm9kZV9jb3VudDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBfcGFnZV92aWV3LnJlbW92ZVBhZ2VBdEluZGV4KGkpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hcnJfbm9kZV9pdGVtLnNwbGljZShpLCAxKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YV9jb3VudDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGxldCBub2RlX2l0ZW0gPSB0aGlzLmFycl9ub2RlX2l0ZW1baV07XHJcbiAgICAgICAgICAgIGlmICghbm9kZV9pdGVtKSB7XHJcbiAgICAgICAgICAgICAgICBub2RlX2l0ZW0gPSBjYy5pbnN0YW50aWF0ZShwYWdlX2l0ZW0pO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hcnJfbm9kZV9pdGVtLnB1c2gobm9kZV9pdGVtKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBub2RlX2l0ZW0ucGFyZW50ID0gdGhpcy5jb250ZW50O1xyXG4gICAgICAgICAgICB0aGlzLmNvbXBfcGFnZV92aWV3LmFkZFBhZ2Uobm9kZV9pdGVtKTtcclxuICAgICAgICAgICAgbm9kZV9pdGVtLmdldENvbXBvbmVudChub2RlX2l0ZW0ubmFtZSkuc2V0SXRlbURhdGEobGlzdF9kYXRhW2ldKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jb21wX3BhZ2Vfdmlldy5zZXRDdXJyZW50UGFnZUluZGV4KGluaXRfaW5kZXgpO1xyXG4gICAgICAgIC8vIOa4heeQhuWkmuWHuuadpeeahGl0ZW1cclxuICAgICAgICBjb25zdCBub2RlX2NvdW50ID0gdGhpcy5hcnJfbm9kZV9pdGVtLmxlbmd0aDtcclxuICAgICAgICBpZiAoZGF0YV9jb3VudCA+IG5vZGVfY291bnQpIHtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IGRhdGFfY291bnQ7IGkgPCBub2RlX2NvdW50OyBpKyspIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29tcF9wYWdlX3ZpZXcucmVtb3ZlUGFnZUF0SW5kZXgoaSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmFycl9ub2RlX2l0ZW0uc3BsaWNlKGksIDEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog6L+U5Zue5b2T5YmN6aG1XHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgYmFja0N1clBhZ2UoKSB7XHJcbiAgICAgICAgbGV0IGluZGV4ID0gdGhpcy5jb21wX3BhZ2Vfdmlldy5nZXRDdXJyZW50UGFnZUluZGV4KCk7XHJcbiAgICAgICAgdGhpcy5jb21wX3BhZ2Vfdmlldy5zZXRDdXJyZW50UGFnZUluZGV4KGluZGV4KTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLyoqIOa4heeQhuWtkOiKgueCuSBcclxuICAgICAqIC0gbmVlZF9kZXN0cm95IOmUgOavgVxyXG4gICAgKi9cclxuICAgIHByaXZhdGUgY2xlYXJJdGVtKG5lZWRfZGVzdHJveTogYm9vbGVhbiA9IGZhbHNlKSB7XHJcbiAgICAgICAgLy8gdGhpcy5jb21wX3BhZ2Vfdmlldy5yZW1vdmVBbGxQYWdlcygpO1xyXG4gICAgICAgIC8vIGNvbnN0IG5fY291bnQgPSB0aGlzLmFycl9ub2RlX2l0ZW0ubGVuZ3RoO1xyXG4gICAgICAgIC8vIGZvciAobGV0IGkgPSAwOyBpIDwgbl9jb3VudDsgaSsrKSB7XHJcbiAgICAgICAgLy8gICAgIGlmIChuZWVkX2Rlc3Ryb3kpIHtcclxuICAgICAgICAvLyAgICAgICAgIGxldCBub2RlX2VuZCA9IHRoaXMuYXJyX25vZGVfaXRlbS5wb3AoKTtcclxuICAgICAgICAvLyAgICAgICAgIG5vZGVfZW5kLmRlc3Ryb3koKTtcclxuICAgICAgICAvLyAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyAgICAgICAgIHRoaXMuYXJyX25vZGVfaXRlbVtpXS5yZW1vdmVGcm9tUGFyZW50KCk7XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9XHJcbiAgICB9XHJcbiAgICAvLyB1cGRhdGUgKGR0KSB7fVxyXG59XHJcbiJdfQ==
|