This is an automated email from the ASF dual-hosted git repository.
aharui 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 7cc167b jump to details (via hash as well)
7cc167b is described below
commit 7cc167bdd86b993ecd9dbb84f95f91bc23d910b1
Author: Alex Harui <[email protected]>
AuthorDate: Mon Feb 5 11:43:26 2018 -0800
jump to details (via hash as well)
---
.../ASDoc/src/main/royale/ASDocMainView.mxml | 36 ++++++++++++++++++++++
.../ASDoc/src/main/royale/EventDetailRenderer.mxml | 7 ++++-
.../src/main/royale/EventSummaryRenderer.mxml | 17 +++++++++-
.../src/main/royale/MethodDetailRenderer.mxml | 7 ++++-
.../src/main/royale/MethodSummaryRenderer.mxml | 12 +++++++-
.../src/main/royale/PropertyDetailRenderer.mxml | 7 ++++-
.../ASDoc/src/main/royale/SummaryRenderer.mxml | 14 +++++++--
.../ASDoc/src/main/royale/models/ASDocModel.as | 1 +
.../src/main/royale/valueObjects/ValueObject.as | 1 +
9 files changed, 95 insertions(+), 7 deletions(-)
diff --git a/examples/royale/ASDoc/src/main/royale/ASDocMainView.mxml
b/examples/royale/ASDoc/src/main/royale/ASDocMainView.mxml
index e45ec0c..7fd291a 100644
--- a/examples/royale/ASDoc/src/main/royale/ASDocMainView.mxml
+++ b/examples/royale/ASDoc/src/main/royale/ASDocMainView.mxml
@@ -69,6 +69,8 @@ limitations under the License.
dispatchEvent(new DetailEvent(viewBeads.selected ? "addTag" :
"removeTag", false, false, "viewbead"));
}
+ private var findMember:String ;
+
private function updateView():void
{
var hash:String = router.hash;
@@ -87,6 +89,23 @@ limitations under the License.
packageList.selectedItem = pkg;
packageChangedHandler();
var cls:String = hash.substr(c + 1);
+ c = cls.indexOf("/")
+ if (c != -1)
+ {
+ findMember = cls.substr(c + 1);
+ cls = cls.substr(0, c);
+ COMPILE::JS
+ {
+ if
(document.getElementById(findMember) &&
+ classList.selectedItem ==
cls)
+ {
+ // we are already on
the right page so just scroll to member
+ scrollMemberIntoView();
+ return;
+ }
+ }
+
applicationModel.addEventListener("currentDataChanged", findMemberDetail);
+ }
classList.selectedItem = cls;
classChangedHandler();
}
@@ -97,6 +116,20 @@ limitations under the License.
}
}
}
+
+ private function findMemberDetail(event:Event):void
+ {
+ applicationModel.removeEventListener("currentDataChanged",
findMemberDetail);
+ clb.callLater(scrollMemberIntoView);
+ }
+
+ private function scrollMemberIntoView():void
+ {
+ COMPILE::JS
+ {
+ document.getElementById(findMember).scrollIntoView();
+ }
+ }
]]>
</fx:Script>
<fx:Style>
@@ -182,6 +215,7 @@ limitations under the License.
font-weight: bold;
margin-left: 10px;
margin-top: 3px;
+ text-decoration: none;
}
.summaryType {
}
@@ -244,6 +278,7 @@ limitations under the License.
}
.eventSummaryQName {
+ text-decoration: none;
font-weight: bold;
width: 120px;
margin-left: 10px;
@@ -265,6 +300,7 @@ limitations under the License.
<js:ViewDataBinding />
<js:OneFlexibleChildVerticalLayoutForOverflow
flexibleChild="topContainer" />
<js:HashChangeNotifierBead id="router" hashChange="updateView()" />
+ <js:CallLaterBead id="clb" />
</js:beads>
<rs:DocTopBar />
<rs:DocTagline />
diff --git a/examples/royale/ASDoc/src/main/royale/EventDetailRenderer.mxml
b/examples/royale/ASDoc/src/main/royale/EventDetailRenderer.mxml
index c5aa3a1..647e210 100644
--- a/examples/royale/ASDoc/src/main/royale/EventDetailRenderer.mxml
+++ b/examples/royale/ASDoc/src/main/royale/EventDetailRenderer.mxml
@@ -33,6 +33,11 @@ limitations under the License.
eventTypeGroup.removeElement(label);
else
eventTypeGroup.removeElement(link);
+ COMPILE::JS
+ {
+ // set up anchor link target
+ target.element.id = obj.qname;
+ }
}
[Bindable("dataChange")]
@@ -52,7 +57,7 @@ limitations under the License.
<js:beads>
<js:HorizontalLayout />
</js:beads>
- <js:Label className="propertyQNameTitle" text="{obj.qname}"/>
+ <js:Label id="target" className="propertyQNameTitle" text="{obj.qname}"/>
<js:Label text="event"/>
</js:Group>
<js:Group id="eventTypeGroup" className="eventTypeGroup">
diff --git a/examples/royale/ASDoc/src/main/royale/EventSummaryRenderer.mxml
b/examples/royale/ASDoc/src/main/royale/EventSummaryRenderer.mxml
index 2a3b8aa..71b56a2 100644
--- a/examples/royale/ASDoc/src/main/royale/EventSummaryRenderer.mxml
+++ b/examples/royale/ASDoc/src/main/royale/EventSummaryRenderer.mxml
@@ -48,6 +48,21 @@ limitations under the License.
_color1 = value;
}
+ override public function set data(value:Object):void
+ {
+ super.data = value;
+ qname.href = "#!" + obj.ownerhref + "/" +
obj.qname;
+ }
+
+ [Bindable("dataChange")]
+ /**
+ @royaleignorecoercion ValueObject
+ */
+ public function get obj():ValueObject
+ {
+ return data as ValueObject;
+ }
+
private var oddIndex:Boolean;
override public function addedToParent():void
@@ -87,7 +102,7 @@ limitations under the License.
<js:beads>
<js:HorizontalLayout />
</js:beads>
- <js:Label className="eventSummaryQName" text="{ValueObject(data).qname}"
/>
+ <html:A id="qname" className="eventSummaryQName"
text="{ValueObject(data).qname}" />
<js:Label id="label" className="eventDescription"
text="{ValueObject(data).shortDescription}" />
</js:Group>
</js:MXMLItemRenderer>
diff --git a/examples/royale/ASDoc/src/main/royale/MethodDetailRenderer.mxml
b/examples/royale/ASDoc/src/main/royale/MethodDetailRenderer.mxml
index e269966..ead25dd 100644
--- a/examples/royale/ASDoc/src/main/royale/MethodDetailRenderer.mxml
+++ b/examples/royale/ASDoc/src/main/royale/MethodDetailRenderer.mxml
@@ -33,6 +33,11 @@ limitations under the License.
propertyTypeGroup.removeElement(label);
else
propertyTypeGroup.removeElement(link);
+ COMPILE::JS
+ {
+ // set up anchor link target
+ target.element.id = obj.qname;
+ }
}
[Bindable("dataChange")]
@@ -52,7 +57,7 @@ limitations under the License.
<js:beads>
<js:HorizontalLayout />
</js:beads>
- <js:Label className="propertyQNameTitle" text="{obj.qname}"/>
+ <js:Label id="target" className="propertyQNameTitle" text="{obj.qname}"/>
<js:Label text="method"/>
</js:Group>
<js:Group id="propertyTypeGroup" className="propertyTypeGroup">
diff --git a/examples/royale/ASDoc/src/main/royale/MethodSummaryRenderer.mxml
b/examples/royale/ASDoc/src/main/royale/MethodSummaryRenderer.mxml
index 00c3688..cdad7b3 100644
--- a/examples/royale/ASDoc/src/main/royale/MethodSummaryRenderer.mxml
+++ b/examples/royale/ASDoc/src/main/royale/MethodSummaryRenderer.mxml
@@ -57,7 +57,17 @@ limitations under the License.
typeGroup.removeElement(label);
else
typeGroup.removeElement(link);
+ qname.href = "#!" + obj.ownerhref + "/" +
obj.qname;
}
+
+ [Bindable("dataChange")]
+ /**
+ @royaleignorecoercion ValueObject
+ */
+ public function get obj():ValueObject
+ {
+ return data as ValueObject;
+ }
override public function addedToParent():void
{
@@ -96,7 +106,7 @@ limitations under the License.
<js:beads>
<js:HorizontalLayout />
</js:beads>
- <js:Label className="summaryQName" text="{ValueObject(data).qname}" />
+ <html:A id="qname" className="summaryQName"
text="{ValueObject(data).qname}" />
<js:Label text="(" />
<js:DataContainer id="params"
dataProvider="{ValueObject(data).params}" style="border-style:none"
itemRenderer="ParameterRenderer">
diff --git a/examples/royale/ASDoc/src/main/royale/PropertyDetailRenderer.mxml
b/examples/royale/ASDoc/src/main/royale/PropertyDetailRenderer.mxml
index 5cfe8bd..a6ed1d6 100644
--- a/examples/royale/ASDoc/src/main/royale/PropertyDetailRenderer.mxml
+++ b/examples/royale/ASDoc/src/main/royale/PropertyDetailRenderer.mxml
@@ -33,6 +33,11 @@ limitations under the License.
propertyTypeGroup.removeElement(label);
else
propertyTypeGroup.removeElement(link);
+ COMPILE::JS
+ {
+ // set up anchor link target
+ target.element.id = obj.qname;
+ }
}
[Bindable("dataChange")]
@@ -52,7 +57,7 @@ limitations under the License.
<js:beads>
<js:HorizontalLayout />
</js:beads>
- <js:Label className="propertyQNameTitle" text="{obj.qname}"/>
+ <js:Label id="target" className="propertyQNameTitle" text="{obj.qname}"/>
<js:Label text="property"/>
</js:Group>
<js:Group id="propertyTypeGroup" className="propertyTypeGroup">
diff --git a/examples/royale/ASDoc/src/main/royale/SummaryRenderer.mxml
b/examples/royale/ASDoc/src/main/royale/SummaryRenderer.mxml
index 849e154..33bfd62 100644
--- a/examples/royale/ASDoc/src/main/royale/SummaryRenderer.mxml
+++ b/examples/royale/ASDoc/src/main/royale/SummaryRenderer.mxml
@@ -57,8 +57,18 @@ limitations under the License.
typeGroup.removeElement(label);
else
typeGroup.removeElement(link);
+ qname.href = "#!" + obj.ownerhref + "/" +
obj.qname;
}
-
+
+ [Bindable("dataChange")]
+ /**
+ @royaleignorecoercion ValueObject
+ */
+ public function get obj():ValueObject
+ {
+ return data as ValueObject;
+ }
+
override public function addedToParent():void
{
super.addedToParent();
@@ -96,7 +106,7 @@ limitations under the License.
<js:beads>
<js:HorizontalLayout />
</js:beads>
- <js:Label className="summaryQName" text="{ValueObject(data).qname}" />
+ <html:A id="qname" className="summaryQName"
text="{ValueObject(data).qname}" />
<js:Label text=":" />
<js:Label id="label" className="summaryType"
text="{ValueObject(data).return}" />
<html:A id="link" className="summaryTypeLink"
text="{ValueObject(data).return}" href="{ValueObject(data).returnhref}" />
diff --git a/examples/royale/ASDoc/src/main/royale/models/ASDocModel.as
b/examples/royale/ASDoc/src/main/royale/models/ASDocModel.as
index 86e1d5b..0e1381b 100644
--- a/examples/royale/ASDoc/src/main/royale/models/ASDocModel.as
+++ b/examples/royale/ASDoc/src/main/royale/models/ASDocModel.as
@@ -315,6 +315,7 @@ package models
{
processParams(data);
}
+ data.ownerhref = currentPackage + "/" + currentClass;
arr.push(data);
}
diff --git a/examples/royale/ASDoc/src/main/royale/valueObjects/ValueObject.as
b/examples/royale/ASDoc/src/main/royale/valueObjects/ValueObject.as
index 81d2772..efd9243 100644
--- a/examples/royale/ASDoc/src/main/royale/valueObjects/ValueObject.as
+++ b/examples/royale/ASDoc/src/main/royale/valueObjects/ValueObject.as
@@ -30,5 +30,6 @@ package valueObjects
public var params:Array;
public var type:String;
public var typehref:String;
+ public var ownerhref:String;
}
}
--
To stop receiving notification emails like this one, please contact
[email protected].