You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ah...@apache.org on 2019/12/14 06:32:23 UTC

[royale-asjs] branch develop updated: improve MX Alert

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 32de896  improve MX Alert
32de896 is described below

commit 32de896d662795be6a33e548de42228ed083e846
Author: Alex Harui <ah...@apache.org>
AuthorDate: Fri Dec 13 22:32:02 2019 -0800

    improve MX Alert
---
 .../org/apache/royale/html/beads/AlertView.as      | 17 ++++++++++----
 .../MXRoyale/src/main/resources/defaults.css       | 19 ++++++++++------
 .../MXRoyale/src/main/royale/mx/controls/Alert.as  | 26 ++++++++++++++++++++++
 frameworks/themes/Basic/src/basic.css              |  2 +-
 4 files changed, 52 insertions(+), 12 deletions(-)

diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/AlertView.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/AlertView.as
index e7de709..4b7bd88 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/AlertView.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/AlertView.as
@@ -140,8 +140,9 @@ package org.apache.royale.html.beads
 			label.text = alertModel.message;
 			
 			labelContent = new Group();
-			labelContent.percentWidth = 100;
-			labelContent.percentHeight = 100;
+            labelContent.className = "AlertContent";
+			//labelContent.percentWidth = 100;
+			//labelContent.percentHeight = 100;
 
 			labelContent.addElement(label);
 			
@@ -150,9 +151,9 @@ package org.apache.royale.html.beads
 			COMPILE::JS
 			{
                 label.element.style["white-space"] = "unset";
-				labelContent.element.style["minHeight"] = "30px";
+				//labelContent.element.style["minHeight"] = "30px";
 				controlBar.element.style["flex-direction"] = "row";
-				controlBar.element.style["justify-content"] = "flex-end";
+				controlBar.element.style["justify-content"] = "center";
 				controlBar.element.style["border"] = "none";
 				controlBar.element.style["background-color"] = "#FFFFFF";
 			}
@@ -180,6 +181,7 @@ package org.apache.royale.html.beads
             if( flags & Alert.OK )
             {
                 okButton = new TextButton();
+                okButton.className = "AlertButton";
                 okButton.text = alertModel.okLabel;
                 okButton.addEventListener("click",handleOK);
 
@@ -187,6 +189,7 @@ package org.apache.royale.html.beads
 
                 COMPILE::JS
                 {
+                    okButton.element.style["height"] = "intrinsic";
                     okButton.element.style["margin-left"] = "2px";
                     okButton.element.style["margin-right"] = "2px";
                 }
@@ -194,6 +197,7 @@ package org.apache.royale.html.beads
             if( flags & Alert.CANCEL )
             {
                 cancelButton = new TextButton();
+                cancelButton.className = "AlertButton";
                 cancelButton.text = alertModel.cancelLabel;
                 cancelButton.addEventListener("click",handleCancel);
 
@@ -201,6 +205,7 @@ package org.apache.royale.html.beads
 
                 COMPILE::JS
                 {
+                    cancelButton.element.style["height"] = "intrinsic";
                     cancelButton.element.style["margin-left"] = "2px";
                     cancelButton.element.style["margin-right"] = "2px";
                 }
@@ -208,6 +213,7 @@ package org.apache.royale.html.beads
             if( flags & Alert.YES )
             {
                 yesButton = new TextButton();
+                yesButton.className = "AlertButton";
                 yesButton.text = alertModel.yesLabel;
                 yesButton.addEventListener("click",handleYes);
 
@@ -215,6 +221,7 @@ package org.apache.royale.html.beads
 
                 COMPILE::JS
                 {
+                    yesButton.element.style["height"] = "intrinsic";
                     yesButton.element.style["margin-left"] = "2px";
                     yesButton.element.style["margin-right"] = "2px";
                 }
@@ -222,6 +229,7 @@ package org.apache.royale.html.beads
             if( flags & Alert.NO )
             {
                 noButton = new TextButton();
+                noButton.className = "AlertButton";
                 noButton.text = alertModel.noLabel;
                 noButton.addEventListener("click",handleNo);
 
@@ -229,6 +237,7 @@ package org.apache.royale.html.beads
 
                 COMPILE::JS
                 {
+                    noButton.element.style["height"] = "intrinsic";
                     noButton.element.style["margin-left"] = "2px";
                     noButton.element.style["margin-right"] = "2px";
                 }
diff --git a/frameworks/projects/MXRoyale/src/main/resources/defaults.css b/frameworks/projects/MXRoyale/src/main/resources/defaults.css
index 170fd47..bf1aa49 100644
--- a/frameworks/projects/MXRoyale/src/main/resources/defaults.css
+++ b/frameworks/projects/MXRoyale/src/main/resources/defaults.css
@@ -126,6 +126,18 @@ Alert
 	border-width: 1px;
 }
 
+.AlertButton
+{
+	padding-top: 3px;
+	padding-bottom: 3px;
+}
+
+.AlertContent
+{
+	margin: auto;
+	padding: 8px;
+}
+
 Button
 {
     IBeadModel: ClassReference("org.apache.royale.html.beads.models.ImageAndTextModel");
@@ -344,13 +356,6 @@ Panel .TitleBar
 	background-color: #FFFFFF;
 }
 
-.TitleBarTitle
-{
-	position: absolute;
-	left: 6px;
-	top: 6px;
-}
-
 PanelTitleBar
 {
 	IBeadModel: ClassReference("org.apache.royale.html.beads.models.TitleBarModel");
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/Alert.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/Alert.as
index 4f1c3f9..bfe46f0 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/Alert.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/Alert.as
@@ -719,6 +719,32 @@ public class Alert extends Panel
         $uibase_addChild(c as IUIComponent);
     }
     
+    override public function addedToParent():void
+    {
+        super.addedToParent();
+        COMPILE::JS
+        {
+            // make the buttons the same width
+            var buttonWidth:Number = 0;
+            var controlBar:HTMLElement = element.childNodes[2];
+            var numButtons:int = controlBar.childNodes.length;
+            for (var i:int = 0; i < numButtons; i++)
+            {
+                buttonWidth = Math.max(buttonWidth, controlBar.childNodes[i].offsetWidth);
+            }
+            for (i = 0; i < numButtons; i++)
+            {
+                controlBar.childNodes[i].style.minWidth = buttonWidth.toString() + "px";
+            }
+            // set a max on the content of 2 x (max of buttons or title)
+            var maxContentWidth:Number = buttonWidth * numButtons;
+            maxContentWidth = Math.max(element.childNodes[0].childNodes[0].clientWidth);
+            maxContentWidth += maxContentWidth;
+            element.childNodes[1].style.maxWidth = maxContentWidth.toString() + "px";
+            
+        }
+    }
+    
 }
 
 }
diff --git a/frameworks/themes/Basic/src/basic.css b/frameworks/themes/Basic/src/basic.css
index 919e626..306e2c4 100644
--- a/frameworks/themes/Basic/src/basic.css
+++ b/frameworks/themes/Basic/src/basic.css
@@ -148,5 +148,5 @@ ToggleTextButton.selected:hover
 TitleBarTitle {
 	font-weight: bold;
 	padding: 0;
-	margin: 0px 5px;
+	margin: 6px 5px;
 }