UNPKG

laya-coreui-es

Version:

laya核心库、ui库es版本,剔除了媒体、TTF等功能。基于 LayaAir-release_2.12.0 修改

94 lines (93 loc) 2.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ViewStack = void 0; const Box_1 = require("./Box"); const Handler_1 = require("../utils/Handler"); class ViewStack extends Box_1.Box { constructor() { super(...arguments); this._setIndexHandler = Handler_1.Handler.create(this, this.setIndex, null, false); } setItems(views) { this.removeChildren(); var index = 0; for (var i = 0, n = views.length; i < n; i++) { var item = views[i]; if (item) { item.name = "item" + index; this.addChild(item); index++; } } this.initItems(); } addItem(view) { view.name = "item" + this._items.length; this.addChild(view); this.initItems(); } _afterInited() { this.initItems(); } initItems() { this._items = []; for (var i = 0; i < 10000; i++) { var item = this.getChildByName("item" + i); if (item == null) { break; } this._items.push(item); item.visible = (i == this._selectedIndex); } } get selectedIndex() { return this._selectedIndex; } set selectedIndex(value) { if (this._selectedIndex != value) { this.setSelect(this._selectedIndex, false); this._selectedIndex = value; this.setSelect(this._selectedIndex, true); } } setSelect(index, selected) { if (this._items && index > -1 && index < this._items.length) { this._items[index].visible = selected; } } get selection() { return this._selectedIndex > -1 && this._selectedIndex < this._items.length ? this._items[this._selectedIndex] : null; } set selection(value) { this.selectedIndex = this._items.indexOf(value); } get setIndexHandler() { return this._setIndexHandler; } set setIndexHandler(value) { this._setIndexHandler = value; } setIndex(index) { this.selectedIndex = index; } get items() { return this._items; } set dataSource(value) { this._dataSource = value; if (typeof (value) == 'number' || typeof (value) == 'string') { this.selectedIndex = parseInt(value); } else { for (var prop in this._dataSource) { if (prop in this) { this[prop] = this._dataSource[prop]; } } } } get dataSource() { return super.dataSource; } } exports.ViewStack = ViewStack;