[royale-docs] branch master updated: Added coercion details

2020-12-31 Thread harbs
This is an automated email from the ASF dual-hosted git repository.

harbs pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/royale-docs.git


The following commit(s) were added to refs/heads/master by this push:
 new 9c29e1a  Added coercion details
9c29e1a is described below

commit 9c29e1ae8afef0d2a6360dacca7aeb0a0f6aedb8
Author: Harbs 
AuthorDate: Thu Dec 31 23:42:55 2020 +0200

Added coercion details
---
 .../optimizations/doc-comment-directives.md | 13 ++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/create-an-application/optimizations/doc-comment-directives.md 
b/create-an-application/optimizations/doc-comment-directives.md
index 53041df..c397a73 100644
--- a/create-an-application/optimizations/doc-comment-directives.md
+++ b/create-an-application/optimizations/doc-comment-directives.md
@@ -33,6 +33,7 @@ They have no case variation (all lower case, not camel case, 
for example) and ma
 
 |[Suppress 
Warnings](create-an-application/optimizations/doc-comment-directives.html#suppress-warnings)
  
|[@royalesuppresspublicvarwarning](create-an-application/optimizations/doc-comment-directives.html#royalesuppresspublicvarwarning)
   |
 |[Output 
Optimizations](create-an-application/optimizations/doc-comment-directives.html#output-optimizations)
  
|[@royaleigorecoercion](create-an-application/optimizations/doc-comment-directives.html#royaleigorecoercion)
   |
+| 
|[@royaleemitcoercion](create-an-application/optimizations/doc-comment-directives.html#royaleemitcoercion)
  | 
 | 
|[@royalesuppressresolveuncertain](create-an-application/optimizations/doc-comment-directives.html#royalesuppressresolveuncertain)
  | 
 | 
|[@royalesuppresscompleximplicitcoercion](create-an-application/optimizations/doc-comment-directives.html#royalesuppresscompleximplicitcoercion)
  | 
 | 
|[@royalesuppressvectorindexcheck](create-an-application/optimizations/doc-comment-directives.html#royalesuppressvectorindexcheck)
  | 
@@ -80,8 +81,10 @@ public var myImportantVar:String = 'myValue';
 ### @royaleigorecoercion type {#royaleigorecoercion} 
 
 Used for: performance tuning, code size tuning.  
-This is an option to avoid compiler output of coercions of a certain type.  
-It can help avoid unnecessary code and improve performance.
+
+The `as` keyword in ActionScript has two purposes. The first is to tell the 
compiler to accept a value as a specific type even if it's ambiguous. This is 
called a compile-time coercion. ActionScript also supports run-time coercion of 
types. If runtime coercion is enabled, the type of an object is coerced to the 
specified type. If the object is not of the specified type, the assigned value 
will be nullified. This runtime check comes with a cost to code size and 
runtime performance/complexity.
+
+If runtime coercion is not needed, the `@royaleigorecoercion` option can be 
used. It can help avoid unnecessary code and improve performance.
 
 A simplistic, illustrative example is:
 ```as3
@@ -102,10 +105,14 @@ The following can then be used to avoid the redundant (as 
described above) javas
 /**
 * @royaleigorecoercion mypackage.MyClass
 * /
-```  
+```
 
 * * *
+### @royaleemitcoercion type {#royaleemitcoercion} 
 
+The flipside of `@royaleigorecoercion` is used to emit `as` coercions even 
when the `-js-output-optimization=skipAsCoercions` option is enabled. In the 
Royale framework code we use `@royaleemitcoercion` even though the compiler is 
set to emit the coercions because it's an explicit statement that coercions are 
necessary.
+
+* * *
 ### @royalesuppressresolveuncertain optional_arg 
{#royalesuppressresolveuncertain} 
 
 Used for: performance tuning, code size tuning.  



[royale-asjs] branch develop updated: tour-de-jewel: example for DateField with DateFieldDateRangeRestriction bead to limit the possible range of dates that can be selected on the calendar

2020-12-31 Thread carlosrovira
This is an automated email from the ASF dual-hosted git repository.

carlosrovira 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 ab51337  tour-de-jewel: example for DateField with 
DateFieldDateRangeRestriction bead to limit the possible range of dates that 
can be selected on the calendar
ab51337 is described below

commit ab51337d43bce0599fb9c95b714929db513c7444
Author: Carlos Rovira 
AuthorDate: Thu Dec 31 17:20:23 2020 +0100

tour-de-jewel: example for DateField with DateFieldDateRangeRestriction 
bead to limit the possible range of dates that can be selected on the calendar
---
 .../src/main/royale/DateComponentsPlayGround.mxml  | 22 ++
 1 file changed, 22 insertions(+)

diff --git 
a/examples/jewel/TourDeJewel/src/main/royale/DateComponentsPlayGround.mxml 
b/examples/jewel/TourDeJewel/src/main/royale/DateComponentsPlayGround.mxml
index bb1e7da..7087e46 100644
--- a/examples/jewel/TourDeJewel/src/main/royale/DateComponentsPlayGround.mxml
+++ b/examples/jewel/TourDeJewel/src/main/royale/DateComponentsPlayGround.mxml
@@ -289,6 +289,28 @@ limitations under the License.
 


+   
+   
+   
+   
+   
+   
+   

+   
+   
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+   
 

 



[royale-asjs] branch develop updated: jewel-DateFieldDateRangeRestriction: new bead to add date range restrictions to DateField

2020-12-31 Thread carlosrovira
This is an automated email from the ASF dual-hosted git repository.

carlosrovira 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 e8476d9  jewel-DateFieldDateRangeRestriction: new bead to add date 
range restrictions to DateField
e8476d9 is described below

commit e8476d9b94324126ae28f58d311b0c8810bcfd75
Author: Carlos Rovira 
AuthorDate: Thu Dec 31 17:19:34 2020 +0100

jewel-DateFieldDateRangeRestriction: new bead to add date range 
restrictions to DateField
---
 .../Jewel/src/main/resources/jewel-manifest.xml|   1 +
 .../datechooser/DateChooserDateRangeRestriction.as |   6 +-
 .../DateFieldDateRangeRestriction.as}  | 100 +++--
 3 files changed, 38 insertions(+), 69 deletions(-)

diff --git a/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml 
b/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
index 9422b31..5ca4d25 100644
--- a/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
+++ b/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
@@ -135,6 +135,7 @@
 
 
 
+
 
 
 
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datechooser/DateChooserDateRangeRestriction.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datechooser/DateChooserDateRangeRestriction.as
index 6f2bd76..77150b4 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datechooser/DateChooserDateRangeRestriction.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datechooser/DateChooserDateRangeRestriction.as
@@ -123,7 +123,11 @@ package org.apache.royale.jewel.beads.controls.datechooser
private function handleDateChooserInitComplete(event:Event):void
{
(_strand as 
IEventDispatcher).removeEventListener("initComplete", 
handleDateChooserInitComplete);
-   
+   setUpBead();
+   }
+
+   public function setUpBead():void
+   {
view = _strand.getBeadByType(DateChooserView) as 
DateChooserView;
view.previousButton.addEventListener(MouseEvent.CLICK, 
refreshDateRange);
view.nextButton.addEventListener(MouseEvent.CLICK, 
refreshDateRange);
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datechooser/DateChooserDateRangeRestriction.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datefield/DateFieldDateRangeRestriction.as
similarity index 53%
copy from 
frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datechooser/DateChooserDateRangeRestriction.as
copy to 
frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datefield/DateFieldDateRangeRestriction.as
index 6f2bd76..811c1a2 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datechooser/DateChooserDateRangeRestriction.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datefield/DateFieldDateRangeRestriction.as
@@ -16,31 +16,27 @@
 //  limitations under the License.
 //
 

-package org.apache.royale.jewel.beads.controls.datechooser
+package org.apache.royale.jewel.beads.controls.datefield
 {
 import org.apache.royale.core.IBead;
 import org.apache.royale.core.IStrand;
 import org.apache.royale.events.Event;
 import org.apache.royale.events.IEventDispatcher;
-import org.apache.royale.events.MouseEvent;
-import org.apache.royale.jewel.beads.controls.Disabled;
 import org.apache.royale.jewel.beads.itemRenderers.ITextItemRenderer;
-import org.apache.royale.jewel.beads.views.DateChooserView;
-import org.apache.royale.jewel.supportClasses.datechooser.DateChooserTable;
-import org.apache.royale.jewel.supportClasses.table.TBodyContentArea;
-import org.apache.royale.jewel.supportClasses.table.TableCell;
-import org.apache.royale.jewel.supportClasses.table.TableRow;
+import org.apache.royale.jewel.beads.views.DateFieldView;
+import org.apache.royale.jewel.DateChooser;
+import 
org.apache.royale.jewel.beads.controls.datechooser.DateChooserDateRangeRestriction;


/**
 *  Disable dates which are outside restriction provided by minDate and 
maxDate properties
-*  in DateChooser component
-*  
+*  in DateField component
+ * 
 *  @langversion 3.0
 *  @playerversion Flash 10.2
 *  @playerversion 

[royale-asjs] branch develop updated: jewel-DateRangeRestriction: Rename to DateChooserDateRangeRestriction to make room for another bead for DateField

2020-12-31 Thread carlosrovira
This is an automated email from the ASF dual-hosted git repository.

carlosrovira 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 af6ed13  jewel-DateRangeRestriction: Rename to 
DateChooserDateRangeRestriction to make room for another bead for DateField
af6ed13 is described below

commit af6ed13288126b833316020b1926a891e2dda434
Author: Carlos Rovira 
AuthorDate: Thu Dec 31 17:15:07 2020 +0100

jewel-DateRangeRestriction: Rename to DateChooserDateRangeRestriction to 
make room for another bead for DateField
---
 .../src/main/royale/DateComponentsPlayGround.mxml   |  4 ++--
 .../projects/Jewel/src/main/resources/jewel-manifest.xml|  2 +-
 ...ngeRestriction.as => DateChooserDateRangeRestriction.as} | 13 +++--
 3 files changed, 10 insertions(+), 9 deletions(-)

diff --git 
a/examples/jewel/TourDeJewel/src/main/royale/DateComponentsPlayGround.mxml 
b/examples/jewel/TourDeJewel/src/main/royale/DateComponentsPlayGround.mxml
index 1316af3..bb1e7da 100644
--- a/examples/jewel/TourDeJewel/src/main/royale/DateComponentsPlayGround.mxml
+++ b/examples/jewel/TourDeJewel/src/main/royale/DateComponentsPlayGround.mxml
@@ -270,10 +270,10 @@ limitations under the License.
 


-   
+   


-   
+   



 
diff --git a/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml 
b/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
index 9e8ac6e..9422b31 100644
--- a/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
+++ b/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
@@ -134,7 +134,7 @@
 
 
 
-
+
 
 
 
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datechooser/DateRangeRestriction.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datechooser/DateChooserDateRangeRestriction.as
similarity index 94%
rename from 
frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datechooser/DateRangeRestriction.as
rename to 
frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datechooser/DateChooserDateRangeRestriction.as
index 87553db..6f2bd76 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datechooser/DateRangeRestriction.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datechooser/DateChooserDateRangeRestriction.as
@@ -33,13 +33,14 @@ package org.apache.royale.jewel.beads.controls.datechooser


/**
 *  Disable dates which are outside restriction provided by minDate and 
maxDate properties
+*  in DateChooser component
 *  
 *  @langversion 3.0
 *  @playerversion Flash 10.2
 *  @playerversion AIR 2.6
 *  @productversion Royale 0.9.8
 */
-   public class DateRangeRestriction implements IBead
+   public class DateChooserDateRangeRestriction implements IBead
{
 /**
 *  constructor.
@@ -49,7 +50,7 @@ package org.apache.royale.jewel.beads.controls.datechooser
 *  @playerversion AIR 2.6
 *  @productversion Royale 0.9.8
 */
-   public function DateRangeRestriction()
+   public function DateChooserDateRangeRestriction()
{
}

@@ -112,16 +113,16 @@ package org.apache.royale.jewel.beads.controls.datechooser
public function set strand(value:IStrand):void
{
_strand = value;
-   (_strand as 
IEventDispatcher).addEventListener("initComplete", 
handlerDateChooserInitComplete);
+   (_strand as 
IEventDispatcher).addEventListener("initComplete", 
handleDateChooserInitComplete);
}
 
private var view:DateChooserView;
private var table:DateChooserTable;
private var tableContent:TBodyContentArea;
 
-   private function 
handlerDateChooserInitComplete(event:Event):void
+   private function handleDateChooserInitComplete(event:Event):void
{
-   (_strand as 
IEventDispatcher).removeEventListener("initComplete", 
handlerDateChooserInitComplete);
+   (_strand as 
IEventDispatcher).removeEventListener("initComplete", 

[royale-asjs] branch develop updated: jewel-datefield: add "popUpOpened" and "popUpClosed" to hook actions when open the datechooser popup. This is the same we do in ComboBox

2020-12-31 Thread carlosrovira
This is an automated email from the ASF dual-hosted git repository.

carlosrovira 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 8da9b34  jewel-datefield: add "popUpOpened" and "popUpClosed" to hook 
actions when open the datechooser popup. This is the same we do in ComboBox
8da9b34 is described below

commit 8da9b34976f5a86d4eb9e08747f805b8e139f4a4
Author: Carlos Rovira 
AuthorDate: Thu Dec 31 17:13:36 2020 +0100

jewel-datefield: add "popUpOpened" and "popUpClosed" to hook actions when 
open the datechooser popup. This is the same we do in ComboBox
---
 .../royale/org/apache/royale/jewel/DateField.as| 22 ++
 .../royale/jewel/beads/views/DateFieldView.as  |  9 +++--
 2 files changed, 29 insertions(+), 2 deletions(-)

diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DateField.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DateField.as
index 5297208..0d6fa25 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DateField.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DateField.as
@@ -29,6 +29,28 @@ package org.apache.royale.jewel
 * The change event is dispatched when the selectedDate is changed.
 */
[Event(name="change", type="org.apache.royale.events.Event")]
+
+   /**
+ *  Dispatched when the popup is opened.
+ *
+ *  @toplevel
+ *  @langversion 3.0
+ *  @playerversion Flash 10.2
+ *  @playerversion AIR 2.6
+ *  @productversion Royale 0.9.8
+ */
+   [Event(name="popUpOpened", type="org.apache.royale.events.Event")]
+   
+   /**
+ *  Dispatched when the popup is closed.
+ *
+ *  @toplevel
+ *  @langversion 3.0
+ *  @playerversion Flash 10.2
+ *  @playerversion AIR 2.6
+ *  @productversion Royale 0.9.8
+ */
+   [Event(name="popUpClosed", type="org.apache.royale.events.Event")]

/**
 * The DateField class provides an input field where a date can be 
entered
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/DateFieldView.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/DateFieldView.as
index 0209ec3..7831c2c 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/DateFieldView.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/DateFieldView.as
@@ -49,6 +49,7 @@ package org.apache.royale.jewel.beads.views
import 
org.apache.royale.jewel.beads.controls.textinput.MaxNumberCharacters;
import org.apache.royale.jewel.beads.views.DateChooserView;
import org.apache.royale.utils.UIUtils;
+   import org.apache.royale.utils.sendStrandEvent;
 
/**
 * The DateFieldView class is a bead for DateField that creates the
@@ -267,13 +268,16 @@ package org.apache.royale.jewel.beads.views
table = (popUp.view as 
DateChooserView).table;
 
// rq = 
requestAnimationFrame(prepareForPopUp); // not work in Chrome/Firefox, while 
works in Safari, IE11, setInterval/Timer as well doesn't work right in Firefox
-   setTimeout(prepareForPopUp,  300);
-
+   
COMPILE::JS
{
window.addEventListener('resize', 
autoResizeHandler, false);
}
 
+   prepareForPopUp();
+
+   sendStrandEvent(_strand, "popUpOpened");
+
autoResizeHandler();
}
else
@@ -286,6 +290,7 @@ package org.apache.royale.jewel.beads.views
}

_popUp.removeEventListener("initComplete", handlePopUpInitComplete);
_popUp = null;
+   sendStrandEvent(_strand, "popUpClosed");
}
}
_showingPopup = false;



[royale-asjs] branch develop updated: Implement propertyNames() in ObjectProxy for JS to allow enumerations using "for" and "for each", and adjust Proxy version of propertyNames() in JS.

2020-12-31 Thread harbs
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 3734839  Implement propertyNames() in ObjectProxy for JS to allow 
enumerations using "for" and "for each", and adjust Proxy version of 
propertyNames() in JS.
 new 5576954  Merge pull request #1010 from estanglerbm/objectproxy-enum
3734839 is described below

commit 3734839045701f984efe2963445e27e90c9b8df7
Author: Edward Stangler 
AuthorDate: Wed Dec 16 11:31:11 2020 -0600

Implement propertyNames() in ObjectProxy for JS to allow enumerations using 
"for" and "for each", and adjust Proxy version of propertyNames() in JS.
---
 .../Core/src/main/royale/org/apache/royale/utils/Proxy.as | 11 ++-
 .../projects/MXRoyale/src/main/royale/mx/utils/ObjectProxy.as | 10 ++
 2 files changed, 16 insertions(+), 5 deletions(-)

diff --git 
a/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/Proxy.as 
b/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/Proxy.as
index ed5e48b..4c45fc5 100644
--- a/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/Proxy.as
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/Proxy.as
@@ -145,12 +145,13 @@ public dynamic class Proxy extends EventDispatcher
return delete valueMap[propName];
 }

-   public function propertyNames():Array
+   public function propertyNames():Object
{
-   var names:Array = [];
-   for (var p:String in valueMap)
-   names.push(p);
-   return names;
+// var names:Array = [];
+// for (var p:String in valueMap)
+// names.push(p);
+// return names;
+   return valueMap;
}
 }
 
diff --git 
a/frameworks/projects/MXRoyale/src/main/royale/mx/utils/ObjectProxy.as 
b/frameworks/projects/MXRoyale/src/main/royale/mx/utils/ObjectProxy.as
index 63825ca..ed7f99b 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/utils/ObjectProxy.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/utils/ObjectProxy.as
@@ -657,6 +657,16 @@ public dynamic class ObjectProxy extends Proxy
 }
 }
 
+/*
+ *  To enumerate keys:  for (key:String in objproxy)
+ *  To enumerate values:  for each (value in objproxy)
+ */
+COMPILE::JS
+override public function propertyNames():Object
+{
+return _item;
+}
+
 
//--
 //
 //  object_proxy methods



[royale-asjs] branch develop updated (41ee8ed -> 457d058)

2020-12-31 Thread harbs
This is an automated email from the ASF dual-hosted git repository.

harbs pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git.


from 41ee8ed  Merge pull request #1025 from estanglerbm/xml-faster-parse
 new af2fb81  Add support for XML and XMLList to MX LogLogger logging
 new bf7545c  Add removeAllElements() and removeElementAt() to MX ViewStack 
(via Container).
 new ac13e07  Support null arg.
 new 20ab20d  Initialize _url in MX and Spark so that 
FlexGlobals.topLevelApplication.url is defined.
 new aedd772  Set ListEvent.itemRenderer on itemClick of AdvancedDataGrid.
 new d9f5a9d  Fix typos in MX CartesianChart regarding 
verticalAxisRenderers that throw runtime errors.
 new 457d058  Merge pull request #1017 from estanglerbm/mx-changes

The 12217 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../mx/charts/chartClasses/CartesianChart.as   |  4 ++--
 ...vancedDataGridSingleSelectionMouseController.as |  1 +
 .../src/main/royale/mx/core/Application.as |  4 
 .../MXRoyale/src/main/royale/mx/core/Container.as  | 19 +
 .../src/main/royale/mx/logging/LogLogger.as| 23 +++--
 .../main/royale/spark/components/Application.as| 24 --
 6 files changed, 61 insertions(+), 14 deletions(-)



[royale-asjs] branch develop updated: Speed up XML parsing of larger datasets by 30-50% by using faster DOM APIs, shorter string lookups, eliminating unnecessary string copies, and other changes.

2020-12-31 Thread harbs
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 fe5f7d2  Speed up XML parsing of larger datasets by 30-50% by using 
faster DOM APIs, shorter string lookups, eliminating unnecessary string copies, 
and other changes.
 new 41ee8ed  Merge pull request #1025 from estanglerbm/xml-faster-parse
fe5f7d2 is described below

commit fe5f7d2c3858957a53e732b251495ef6350a32de
Author: Edward Stangler 
AuthorDate: Wed Dec 30 22:01:08 2020 -0600

Speed up XML parsing of larger datasets by 30-50% by using faster DOM APIs, 
shorter string lookups, eliminating unnecessary string copies, and other 
changes.
---
 frameworks/projects/XML/src/main/royale/XML.as | 66 ++
 1 file changed, 45 insertions(+), 21 deletions(-)

diff --git a/frameworks/projects/XML/src/main/royale/XML.as 
b/frameworks/projects/XML/src/main/royale/XML.as
index 27c7103..0b2d810 100644
--- a/frameworks/projects/XML/src/main/royale/XML.as
+++ b/frameworks/projects/XML/src/main/royale/XML.as
@@ -34,20 +34,24 @@ package
 * The XML QName can be a significant percentage of an XML 
object size.
 * By retaining a lookup of QNames and reusing QName objects, 
we can save quite a bit of memory.
 */
-   static private var _nameMap:Object = {};
+   static private var _nameMap:Object = Object.create(null);
+   static private var _attrNameMap:Object = Object.create(null);

static private function 
getQName(localName:String,prefix:*,uri:String,isAttribute:Boolean):QName{
localName = localName || "";
var prefixKey:String =  prefix == null ? 
'{$'+prefix+'$}' : prefix ; // handle nullish values differently to the potent 
'null' or 'undefined' string values
uri = uri || ''; //internally there is no concept of 
'any' namespace which is what a null uri is in a QName.
-   var key:String = localName + ":" + prefixKey + ":" + 
uri + ":" + isAttribute;
-   var qname:QName = _nameMap[key];
+   var key:String = (!prefix && !uri ? localName : 
localName + ":" + prefixKey + ":" + uri);
+   var qname:QName = (isAttribute ? _attrNameMap[key] : 
_nameMap[key]);
if(!qname){
qname = new QName(uri, localName);
if(prefix != null)
qname.setPrefix(prefix);
if (isAttribute) qname.setIsAttribute(true);
-   _nameMap[key] = qname;
+   if (isAttribute)
+   _attrNameMap[key] = qname;
+   else
+   _nameMap[key] = qname;
}
return qname;
}
@@ -213,7 +217,8 @@ package
 */
static public function clearQNameCache():void
{
-   _nameMap = {};
+   _nameMap = Object.create(null);
+   _attrNameMap = Object.create(null);
}

/**
@@ -333,12 +338,34 @@ package
return xml;
}

-   static private function 
iterateElement(node:Element,xml:XML):void
+   static private function 
polyFillNodeGetAttributeNames(node:Element):Array
{
+   var ret:Array = new Array();
var i:int;
-   // add attributes
var attrs:* = node.attributes;
var len:int = node.attributes.length;
+   for(i=0;i";
+   data = "";
xml.setValue(data);
break;
//case 5:break;//ENTITY_REFERENCE_NODE
//case 6:break;//ENTITY_NODE
case 7:
//PROCESSING_INSTRUCTION_NODE
+   data = node.nodeValue;
xml = new XML();
xml._nodeKind = PROCESSING_INSTRUCTION;
//e4x: The [[Name]] for each XML object 
representing a processing-instruction will have its uri property set to the 
empty string.
@@ -436,7 +464,7 @@ package
break;
case 8:
 

[royale-asjs] branch develop updated (640b751 -> bc6b0cc)

2020-12-31 Thread alinakazi
This is an automated email from the ASF dual-hosted git repository.

alinakazi pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git.


from 640b751  Jewel DateFieldView: Make some method protected to easier 
extending
 add bc6b0cc  headerHeight Property added in mx Panel

No new revisions were added by this update.

Summary of changes:
 .../MXRoyale/src/main/royale/mx/containers/Panel.as| 14 --
 1 file changed, 12 insertions(+), 2 deletions(-)



[royale-asjs] branch develop updated (cadad31 -> 640b751)

2020-12-31 Thread piotrz
This is an automated email from the ASF dual-hosted git repository.

piotrz pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git.


from cadad31  jewel-datefield-beads: organize and clean imports
 add 640b751  Jewel DateFieldView: Make some method protected to easier 
extending

No new revisions were added by this update.

Summary of changes:
 .../main/royale/org/apache/royale/jewel/beads/views/DateFieldView.as  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)



[royale-asjs] branch develop updated: jewel-datefield-beads: organize and clean imports

2020-12-31 Thread carlosrovira
This is an automated email from the ASF dual-hosted git repository.

carlosrovira 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 cadad31  jewel-datefield-beads: organize and clean imports
cadad31 is described below

commit cadad319cad2334ee956f126fe81b80d51e4feb3
Author: Carlos Rovira 
AuthorDate: Thu Dec 31 10:01:24 2020 +0100

jewel-datefield-beads: organize and clean imports
---
 .../beads/controls/datefield/DateFieldMaskedTextInput.as| 13 +++--
 .../jewel/beads/controls/datefield/DateFieldTextPrompt.as   |  2 +-
 .../beads/controls/datefield/SpanishDateComponentConfig.as  |  2 +-
 3 files changed, 9 insertions(+), 8 deletions(-)

diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datefield/DateFieldMaskedTextInput.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datefield/DateFieldMaskedTextInput.as
index b35c602..1643cbf 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datefield/DateFieldMaskedTextInput.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datefield/DateFieldMaskedTextInput.as
@@ -25,15 +25,16 @@ package org.apache.royale.jewel.beads.controls.datefield
COMPILE::SWF
{
import flash.events.TextEvent;
-   import org.apache.royale.core.CSSTextField; 
-   import org.apache.royale.html.beads.ITextFieldView; 

+
+   import org.apache.royale.core.CSSTextField;
+   import org.apache.royale.events.Event;
+   import org.apache.royale.events.IEventDispatcher;
+   import org.apache.royale.html.beads.ITextFieldView;
}
import org.apache.royale.core.IBead;
-   import org.apache.royale.core.IStrand;
-import org.apache.royale.core.UIBase;
-   import org.apache.royale.events.Event;
-   import org.apache.royale.events.IEventDispatcher;
import org.apache.royale.core.IFormatter;
+   import org.apache.royale.core.IStrand;
+   import org.apache.royale.core.UIBase;

/**
 *  The DateFieldMaskedTextInput class is a specialty bead that is used
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datefield/DateFieldTextPrompt.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datefield/DateFieldTextPrompt.as
index 229d413..1cc0b82 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datefield/DateFieldTextPrompt.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datefield/DateFieldTextPrompt.as
@@ -20,7 +20,7 @@ package org.apache.royale.jewel.beads.controls.datefield
 {
COMPILE::SWF
{
-   import flash.utils.setTimeout;
+   import flash.utils.setTimeout;
 }
import org.apache.royale.core.UIBase;
import org.apache.royale.jewel.beads.controls.textinput.TextPrompt;
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datefield/SpanishDateComponentConfig.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datefield/SpanishDateComponentConfig.as
index 5fb16bc..e6b16ee 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datefield/SpanishDateComponentConfig.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datefield/SpanishDateComponentConfig.as
@@ -20,8 +20,8 @@ package org.apache.royale.jewel.beads.controls.datefield
 {
 import org.apache.royale.core.IDateControlConfigBead;
 import org.apache.royale.core.IStrand;
-import org.apache.royale.jewel.beads.models.DateChooserModel;
 import org.apache.royale.jewel.DateField;
+import org.apache.royale.jewel.beads.models.DateChooserModel;
 
 /**
 *  The SpanishDateFieldConfig class is a specialty bead that is used