[view] dataViews attribute on DatView
This commit is contained in:
@@ -12,6 +12,7 @@ class DataView<D, V:IView<Dynamic>> extends GroupView {
|
|||||||
public var factory(default, set):Factory<D, V>;
|
public var factory(default, set):Factory<D, V>;
|
||||||
public var onItemSelect(default, null):Signal3<Int, D, V> = new Signal3();
|
public var onItemSelect(default, null):Signal3<Int, D, V> = new Signal3();
|
||||||
public var onDataSelect(default, null):Signal<D> = new Signal();
|
public var onDataSelect(default, null):Signal<D> = new Signal();
|
||||||
|
public var dataViews(get, null):Array<V>;
|
||||||
|
|
||||||
private var objectIndexes:Map<DisplayObject, Int> = new Map();
|
private var objectIndexes:Map<DisplayObject, Int> = new Map();
|
||||||
|
|
||||||
@@ -27,6 +28,10 @@ class DataView<D, V:IView<Dynamic>> extends GroupView {
|
|||||||
return factory;
|
return factory;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function get_dataViews():Array<V> {
|
||||||
|
return cast views;
|
||||||
|
}
|
||||||
|
|
||||||
private function rebuild():Void {
|
private function rebuild():Void {
|
||||||
for (view in views) {
|
for (view in views) {
|
||||||
view.content.removeEventListener(MouseEvent.CLICK, onItemClick);
|
view.content.removeEventListener(MouseEvent.CLICK, onItemClick);
|
||||||
|
|||||||
@@ -40,18 +40,9 @@ class ViewUpdater {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function update():Void {
|
public function update():Void {
|
||||||
var repeat = 0;
|
|
||||||
while (updateViews.length > 0) {
|
while (updateViews.length > 0) {
|
||||||
var v = updateViews.shift();
|
var v = updateViews.shift();
|
||||||
var count = updateViews.length;
|
|
||||||
v.update();
|
v.update();
|
||||||
if (updateViews.length > count) {
|
|
||||||
repeat++;
|
|
||||||
if (repeat > 100) {
|
|
||||||
L.e("ViewUpdater", 'repeat limit: ${[for (view in updateViews) view.id]}');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user