This is an automated email from the ASF dual-hosted git repository.
harbs pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
The following commit(s) were added to refs/heads/develop by this push:
new b6ae67d model is lazy-loaded only if/when it is needed
b6ae67d is described below
commit b6ae67d2715a156add98ae22dd0d3ee236db35fc
Author: Harbs <[email protected]>
AuthorDate: Sun Jan 2 11:40:23 2022 +0200
model is lazy-loaded only if/when it is needed
---
.../main/royale/org/apache/royale/core/UIBase.as | 1 -
.../org/apache/royale/core/HTMLElementWrapper.as | 35 +++++-----------------
2 files changed, 7 insertions(+), 29 deletions(-)
diff --git
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/UIBase.as
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/UIBase.as
index 83d1465..6420b82 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/UIBase.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/UIBase.as
@@ -1391,7 +1391,6 @@ package org.apache.royale.core
*/
protected function loadBeads():void
{
- _model = loadBeadFromValuesManager(IBeadModel,
"iBeadModel", this) as IBeadModel;
_view = loadBeadFromValuesManager(IBeadView, "iBeadView", this) as
IBeadView;
loadBeadFromValuesManager(IBeadController,
"iBeadController", this);
sendEvent(this,"viewChanged");
diff --git
a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/HTMLElementWrapper.as
b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/HTMLElementWrapper.as
index 7689256..6387550 100644
---
a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/HTMLElementWrapper.as
+++
b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/HTMLElementWrapper.as
@@ -39,6 +39,8 @@ package org.apache.royale.core
import goog.DEBUG;
import org.apache.royale.events.utils.EventUtils;
import org.apache.royale.utils.sendStrandEvent;
+ import org.apache.royale.utils.loadBeadFromValuesManager;
+ import org.apache.royale.debugging.assert;
}
COMPILE::SWF
@@ -165,13 +167,8 @@ package org.apache.royale.core
public function get model():Object
{
if (_model == null)
- {
- // addbead will set _model
- var m:Class = org.apache.royale.core.ValuesManager.valuesImpl.
- getValue(this, 'iBeadModel') as Class;
- var b:IBeadModel = new m() as IBeadModel;
- addBead(b);
- }
+ _model = loadBeadFromValuesManager(IBeadModel, "iBeadModel",
this) as IBeadModel;
+
return _model;
}
@@ -184,30 +181,12 @@ package org.apache.royale.core
{
if (_model != value)
{
- if (value is IBead)
- addBead(value as IBead);
- else
- _model = IBeadModel(value);
-
+ assert(value is IBeadModel,"Only an IBeadModel can be assigned
as a model");
+ _model = value as IBeadModel;
+ addBead(_model);
sendStrandEvent(this,"modelChanged");
}
}
- //--------------------------------------
- // Function
- //--------------------------------------
-
- /**
- * @param bead The new bead.
- * @royaleignorecoercion org.apache.royale.core.IBeadModel
- */
- override public function addBead(bead:IBead):void
- {
- if (bead is IBeadModel)
- {
- _model = bead as IBeadModel;
- }
- super.addBead(bead);
- }
}
}