From 1d1cad99a27c9f644c84eb3d376c70bd30a55879 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期三, 10 三月 2021 18:02:13 +0800
Subject: [PATCH] 2021-3-10-1

---
 HDL_ON/UI/UI0-Public/PublicAssmebly.cs |  392 +++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 250 insertions(+), 142 deletions(-)

diff --git a/HDL_ON/UI/UI0-Public/PublicAssmebly.cs b/HDL_ON/UI/UI0-Public/PublicAssmebly.cs
index 471a499..e81f6c7 100644
--- a/HDL_ON/UI/UI0-Public/PublicAssmebly.cs
+++ b/HDL_ON/UI/UI0-Public/PublicAssmebly.cs
@@ -1,5 +1,6 @@
 锘縰sing System;
 using System.Collections.Generic;
+using System.Text.RegularExpressions;
 using System.Threading;
 using HDL_ON.Entity;
 using HDL_ON.UI.CSS;
@@ -28,15 +29,22 @@
 
             btnConfirm.MouseUpEventHandler += (sender, e) =>
             {
-                //btnConfirm.IsSelected = false;
-                if (string.IsNullOrEmpty(editText.Text.Trim()) || list.Contains(editText.Text.Trim()))
+                var text = editText.Text.Trim();
+                Regex regtest = new Regex(@"\p{Cs}");
+                Match match = regtest.Match(text);
+                if (match.Success)
                 {
-                    if (titleId == StringId.ModifyMemberNickname)
-                    {
-                        return;
-                    }
+                    HDLCommon.Current.ShowAlert(Language.StringByID(StringId.CannotEnterSpecialCharacters));
+                    return;
+                }
+                if (string.IsNullOrEmpty(text) || list.Contains(text))
+                {
+                    //if (titleId == StringId.ModifyMemberNickname)
+                    //{
+                    //    return;
+                    //}
                     string tipMsgString = "";
-                    if (string.IsNullOrEmpty(editText.Text.Trim()))
+                    if (string.IsNullOrEmpty(text))
                     {
                         tipMsgString = Language.StringByID(errorId_IsNullOrEmpty);
                     }
@@ -58,7 +66,7 @@
                 }
 
 
-                callBackAction(editText.Text.Trim());
+                callBackAction(text);
                 dialog.Close();
             };
         }
@@ -120,10 +128,29 @@
                 Text = editParater,
                 TextColor = CSS_Color.FirstLevelTitleColor,
                 TextSize = CSS_FontSize.TextFontSize,
-                SecureTextEntry = encryption,
+                //SecureTextEntry = encryption,
                 //TextAlignment = TextAlignment.CenterLeft ,
             };
             editView.AddChidren(etParater);
+            if(encryption)
+            {
+                etParater.SecureTextEntry = encryption;
+            }
+
+            Button btnClear = new Button()
+            {
+                X = Application.GetRealWidth(218-25),
+                Gravity = Gravity.CenterVertical,
+                Width = Application.GetRealWidth(24),
+                Height = Application.GetRealWidth(24),
+                UnSelectedImagePath = "Public/ClearIcon.png",
+            };
+            editView.AddChidren(btnClear);
+
+            btnClear.MouseUpEventHandler = (sender, e) =>
+            {
+                etParater.Text = "";
+            };
 
             etParater.TextChangeEventHandler = (sender, e) =>
             {
@@ -542,7 +569,7 @@
         /// 鍦烘櫙寤舵椂璁剧疆寮圭獥
         /// </summary>
         /// <param name="function"></param>
-        public void SetSceneDelayDialog(Action<string> action,string changeDelay)
+        public void SetSceneDelayDialog(Dictionary<string,string>items, Action<string> action,string curItemKey)
         {
             Button lastButton = new Button();
             Dialog dialog = new Dialog();
@@ -552,14 +579,18 @@
             };
             dialog.AddChidren(pView);
 
+            var itemCount = items.Count;
+            var optionBaseViewHeight = ((itemCount > 3 ? itemCount : 3) + 1) * Application.GetRealHeight(50);
             var optionBaseView = new FrameLayout()
             {
-                Y = Application.GetRealHeight(439),
+                //Y = Application.GetRealHeight(439),
+                Y = Application.GetRealHeight(647) - optionBaseViewHeight,
                 Gravity = Gravity.CenterHorizontal,
                 Width = Application.GetRealWidth(343),
-                Height = Application.GetRealHeight(208),
-                AnimateSpeed = 0.3f,
-                Animate = Animate.DownToUp,
+                //Height = Application.GetRealHeight(208),
+                Height = optionBaseViewHeight,
+                //AnimateSpeed = 0.3f,
+                //Animate = Animate.DownToUp,
                 BackgroundColor = CSS_Color.MainBackgroundColor,
                 Radius = (uint)Application.GetRealWidth(12),
             };
@@ -600,92 +631,169 @@
 
             var btnConfrim = new Button()
             {
-                Width = Application.GetRealWidth(320),
+                X = Application.GetRealWidth(160),
+                Width = Application.GetRealWidth(160),
                 TextAlignment = TextAlignment.CenterRight,
                 TextColor = CSS_Color.MainColor,
                 TextSize = CSS_FontSize.TextFontSize,
-                TextID = StringId.Complete,
+                TextID = StringId.Confirm,
             };
             topView.AddChidren(btnConfrim);
 
-            Button btn1 = new Button()
+            var itemsView = new VerticalScrolViewLayout()
             {
-                Width = Application.GetRealWidth(128),
-                Height = Application.GetRealWidth(44),
-                TextAlignment = TextAlignment.Center,
-                TextSize = CSS_FontSize.SubheadingFontSize,
-                TextColor = CSS_Color.FirstLevelTitleColor,
-                Text = "30s",
-                BorderColor = CSS_Color.PromptingColor1,
-                BorderWidth = 1,
-                Radius = (uint)Application.GetRealWidth(8),
-                SelectedTextColor = CSS_Color.MainBackgroundColor,
-                SelectedBackgroundColor = CSS_Color.MainColor,
-                X = Application.GetRealWidth(20),
-                Y = Application.GetRealHeight(80),
-                IsSelected = changeDelay == "30"
+                Y = topView.Bottom,
+                Height = optionBaseViewHeight - Application.GetRealHeight(50),
+                ScrollEnabled = itemCount > 4,
             };
-            optionBaseView.AddChidren(btn1);
+            optionBaseView.AddChidren(itemsView);
 
+            bool isFrist = true;
+            Button btnLastSelectedTip = null;
 
-            Button btn2 = new Button()
+            foreach (var item in items)
             {
-                Width = Application.GetRealWidth(128),
-                Height = Application.GetRealWidth(44),
-                TextAlignment = TextAlignment.Center,
-                TextSize = CSS_FontSize.SubheadingFontSize,
-                TextColor = CSS_Color.FirstLevelTitleColor,
-                Text = "1min",
-                BorderColor = CSS_Color.PromptingColor1,
-                BorderWidth = 1,
-                Radius = (uint)Application.GetRealWidth(8),
-                SelectedTextColor = CSS_Color.MainBackgroundColor,
-                SelectedBackgroundColor = CSS_Color.MainColor,
-                X = Application.GetRealWidth(195),
-                Y = Application.GetRealHeight(80),
-                IsSelected = changeDelay == "60"
-            };
-            optionBaseView.AddChidren(btn2);
+                if (isFrist)
+                {
+                    isFrist = false;
+                }
+                else
+                {
+                    itemsView.AddChidren(new Button() { Height = 1, BackgroundColor = CSS_Color.DividingLineColor });
+                }
+                var row = new FrameLayout()
+                {
+                    Height = Application.GetRealHeight(50),
+                };
+                itemsView.AddChidren(row);
+
+                var btnTipSelected = new Button()
+                {
+                    X = Application.GetRealWidth(303),
+                    Gravity = Gravity.CenterVertical,
+                    Width = Application.GetRealWidth(28),
+                    Height= Application.GetRealWidth(28),
+                    UnSelectedImagePath = "Public/ChooseIcon.png",
+                    SelectedImagePath = "Public/ChooseOnIcon.png",
+                };
+                row.AddChidren(btnTipSelected);
+                if( item.Key == curItemKey)
+                {
+                    btnTipSelected.IsSelected = true;
+                    btnLastSelectedTip = btnTipSelected;
+                }
 
 
-            Button btn3 = new Button()
-            {
-                Width = Application.GetRealWidth(128),
-                Height = Application.GetRealWidth(44),
-                TextAlignment = TextAlignment.Center,
-                TextSize = CSS_FontSize.SubheadingFontSize,
-                TextColor = CSS_Color.FirstLevelTitleColor,
-                Text = "2min",
-                BorderColor = CSS_Color.PromptingColor1,
-                BorderWidth = 1,
-                Radius = (uint)Application.GetRealWidth(8),
-                SelectedTextColor = CSS_Color.MainBackgroundColor,
-                SelectedBackgroundColor = CSS_Color.MainColor,
-                X = Application.GetRealWidth(20),
-                Y = Application.GetRealHeight(140),
-                IsSelected = changeDelay == "120"
-            };
-            optionBaseView.AddChidren(btn3);
+                var btnRowTitle = new Button()
+                {
+                    X = Application.GetRealWidth(16),
+                    Text = item.Value,
+                    TextSize = CSS_FontSize.TextFontSize,
+                    TextColor = CSS_Color.FirstLevelTitleColor,
+                    TextAlignment = TextAlignment.CenterLeft,
+                };
+                row.AddChidren(btnRowTitle);
+
+                btnRowTitle.MouseUpEventHandler = (sender, e) =>
+                {
+                    if (btnTipSelected.IsSelected)
+                    {
+                        curItemKey = "0";
+                        btnTipSelected.IsSelected = false;
+                        btnLastSelectedTip = null;
+                    }
+                    else
+                    {
+                        curItemKey = item.Key;
+                        if (btnLastSelectedTip != null)
+                        {
+                            btnLastSelectedTip.IsSelected = false;
+                        }
+                        btnTipSelected.IsSelected = true;
+                        btnLastSelectedTip = btnTipSelected;
+                    }
+                };
+
+            }
+
+            //Button btn1 = new Button()
+            //{
+            //    Width = Application.GetRealWidth(128),
+            //    Height = Application.GetRealWidth(44),
+            //    TextAlignment = TextAlignment.Center,
+            //    TextSize = CSS_FontSize.SubheadingFontSize,
+            //    TextColor = CSS_Color.FirstLevelTitleColor,
+            //    Text = "30s",
+            //    BorderColor = CSS_Color.PromptingColor1,
+            //    BorderWidth = 1,
+            //    Radius = (uint)Application.GetRealWidth(8),
+            //    SelectedTextColor = CSS_Color.MainBackgroundColor,
+            //    SelectedBackgroundColor = CSS_Color.MainColor,
+            //    X = Application.GetRealWidth(20),
+            //    Y = Application.GetRealHeight(80),
+            //    IsSelected = curItemKey == "30"
+            //};
+            //optionBaseView.AddChidren(btn1);
 
 
-            Button btn4 = new Button()
-            {
-                Width = Application.GetRealWidth(128),
-                Height = Application.GetRealWidth(44),
-                TextAlignment = TextAlignment.Center,
-                TextSize = CSS_FontSize.SubheadingFontSize,
-                TextColor = CSS_Color.FirstLevelTitleColor,
-                Text = "5min",
-                BorderColor = CSS_Color.PromptingColor1,
-                BorderWidth = 1,
-                Radius = (uint)Application.GetRealWidth(8),
-                SelectedTextColor = CSS_Color.MainBackgroundColor,
-                SelectedBackgroundColor = CSS_Color.MainColor,
-                X = Application.GetRealWidth(195),
-                Y = Application.GetRealHeight(140),
-                IsSelected = changeDelay == "300"
-            };
-            optionBaseView.AddChidren(btn4);
+            //Button btn2 = new Button()
+            //{
+            //    Width = Application.GetRealWidth(128),
+            //    Height = Application.GetRealWidth(44),
+            //    TextAlignment = TextAlignment.Center,
+            //    TextSize = CSS_FontSize.SubheadingFontSize,
+            //    TextColor = CSS_Color.FirstLevelTitleColor,
+            //    Text = "1min",
+            //    BorderColor = CSS_Color.PromptingColor1,
+            //    BorderWidth = 1,
+            //    Radius = (uint)Application.GetRealWidth(8),
+            //    SelectedTextColor = CSS_Color.MainBackgroundColor,
+            //    SelectedBackgroundColor = CSS_Color.MainColor,
+            //    X = Application.GetRealWidth(195),
+            //    Y = Application.GetRealHeight(80),
+            //    IsSelected = curItemKey == "60"
+            //};
+            //optionBaseView.AddChidren(btn2);
+
+
+            //Button btn3 = new Button()
+            //{
+            //    Width = Application.GetRealWidth(128),
+            //    Height = Application.GetRealWidth(44),
+            //    TextAlignment = TextAlignment.Center,
+            //    TextSize = CSS_FontSize.SubheadingFontSize,
+            //    TextColor = CSS_Color.FirstLevelTitleColor,
+            //    Text = "2min",
+            //    BorderColor = CSS_Color.PromptingColor1,
+            //    BorderWidth = 1,
+            //    Radius = (uint)Application.GetRealWidth(8),
+            //    SelectedTextColor = CSS_Color.MainBackgroundColor,
+            //    SelectedBackgroundColor = CSS_Color.MainColor,
+            //    X = Application.GetRealWidth(20),
+            //    Y = Application.GetRealHeight(140),
+            //    IsSelected = curItemKey == "120"
+            //};
+            //optionBaseView.AddChidren(btn3);
+
+
+            //Button btn4 = new Button()
+            //{
+            //    Width = Application.GetRealWidth(128),
+            //    Height = Application.GetRealWidth(44),
+            //    TextAlignment = TextAlignment.Center,
+            //    TextSize = CSS_FontSize.SubheadingFontSize,
+            //    TextColor = CSS_Color.FirstLevelTitleColor,
+            //    Text = "5min",
+            //    BorderColor = CSS_Color.PromptingColor1,
+            //    BorderWidth = 1,
+            //    Radius = (uint)Application.GetRealWidth(8),
+            //    SelectedTextColor = CSS_Color.MainBackgroundColor,
+            //    SelectedBackgroundColor = CSS_Color.MainColor,
+            //    X = Application.GetRealWidth(195),
+            //    Y = Application.GetRealHeight(140),
+            //    IsSelected = curItemKey == "300"
+            //};
+            //optionBaseView.AddChidren(btn4);
 
 
 
@@ -703,65 +811,65 @@
             };
             btnConfrim.MouseUpEventHandler = (sender, e) =>
             {
-                action(changeDelay);
+                action(curItemKey);
                 dialog.Close();
             };
-            btn1.MouseUpEventHandler = (sender, e) => {
-                btn1.IsSelected = !btn1.IsSelected;
-                btn2.IsSelected = false;
-                btn3.IsSelected = false;
-                btn4.IsSelected = false;
-                if(btn1.IsSelected)
-                {
-                    changeDelay = "30";
-                }
-                else
-                {
-                    changeDelay = "0";
-                }       
-            };
-            btn2.MouseUpEventHandler = (sender, e) => {
-                btn2.IsSelected = !btn2.IsSelected;
-                btn1.IsSelected = false;
-                btn3.IsSelected = false;
-                btn4.IsSelected = false;
-                if (btn2.IsSelected)
-                {
-                    changeDelay = "60";
-                }
-                else
-                {
-                    changeDelay = "0";
-                }
-            };
-            btn3.MouseUpEventHandler = (sender, e) => {
-                btn3.IsSelected = !btn3.IsSelected;
-                btn2.IsSelected = false;
-                btn1.IsSelected = false;
-                btn4.IsSelected = false;
-                if (btn3.IsSelected)
-                {
-                    changeDelay = "120";
-                }
-                else
-                {
-                    changeDelay = "0";
-                }
-            };
-            btn4.MouseUpEventHandler = (sender, e) => {
-                btn4.IsSelected = !btn4.IsSelected;
-                btn2.IsSelected = false;
-                btn3.IsSelected = false;
-                btn1.IsSelected = false;
-                if (btn4.IsSelected)
-                {
-                    changeDelay = "300";
-                }
-                else
-                {
-                    changeDelay = "0";
-                }
-            };
+            //btn1.MouseUpEventHandler = (sender, e) => {
+            //    btn1.IsSelected = !btn1.IsSelected;
+            //    btn2.IsSelected = false;
+            //    btn3.IsSelected = false;
+            //    btn4.IsSelected = false;
+            //    if(btn1.IsSelected)
+            //    {
+            //        curItemKey = "30";
+            //    }
+            //    else
+            //    {
+            //        curItemKey = "0";
+            //    }       
+            //};
+            //btn2.MouseUpEventHandler = (sender, e) => {
+            //    btn2.IsSelected = !btn2.IsSelected;
+            //    btn1.IsSelected = false;
+            //    btn3.IsSelected = false;
+            //    btn4.IsSelected = false;
+            //    if (btn2.IsSelected)
+            //    {
+            //        curItemKey = "60";
+            //    }
+            //    else
+            //    {
+            //        curItemKey = "0";
+            //    }
+            //};
+            //btn3.MouseUpEventHandler = (sender, e) => {
+            //    btn3.IsSelected = !btn3.IsSelected;
+            //    btn2.IsSelected = false;
+            //    btn1.IsSelected = false;
+            //    btn4.IsSelected = false;
+            //    if (btn3.IsSelected)
+            //    {
+            //        curItemKey = "120";
+            //    }
+            //    else
+            //    {
+            //        curItemKey = "0";
+            //    }
+            //};
+            //btn4.MouseUpEventHandler = (sender, e) => {
+            //    btn4.IsSelected = !btn4.IsSelected;
+            //    btn2.IsSelected = false;
+            //    btn3.IsSelected = false;
+            //    btn1.IsSelected = false;
+            //    if (btn4.IsSelected)
+            //    {
+            //        curItemKey = "300";
+            //    }
+            //    else
+            //    {
+            //        curItemKey = "0";
+            //    }
+            //};
 
         }
 

--
Gitblit v1.8.0