diff --git a/ace/ace_standard/src/main/config.json b/ace/ace_standard/src/main/config.json
index abdd675e980c329b88dbef048441bf754b96dee3..e1e2f2ffa374f288bb487aed2d7b017585a96a2d 100755
--- a/ace/ace_standard/src/main/config.json
+++ b/ace/ace_standard/src/main/config.json
@@ -85,7 +85,8 @@
"pages/progress/router/index",
"pages/progress/prop/index",
"pages/qrcode/index",
- "pages/select/index",
+ "pages/select/prop/index",
+ "pages/select/router/index",
"pages/div/router/index",
"pages/badge/router/index",
"pages/badge/prop/index",
diff --git a/ace/ace_standard/src/main/js/default/pages/select/index.css b/ace/ace_standard/src/main/js/default/pages/select/index.css
deleted file mode 100644
index 7b09cdff0eae7df9dc779ce1d5b8e7d8436f4dd9..0000000000000000000000000000000000000000
--- a/ace/ace_standard/src/main/js/default/pages/select/index.css
+++ /dev/null
@@ -1,64 +0,0 @@
-.container {
- flex-direction: column;
- align-items: flex-start;
- justify-content: center;
-}
-
-.select1{
- color:red;
- font-size:20px;
- allow-scale:true;
- letter-spacing:5px;
- font-style:normal;
- font-weight:200;
- font-family:sans-serif;
- min-width: 25px;
- min-height: 10px;
- max-width: 600px;
- max-height: 150px;
- padding-left: 10px;
- padding-top: 20px;
- padding-right: 15px;
- padding-bottom: 5px;
- margin-left: 10px;
- margin-top: 20px;
- margin-right: 15px;
- margin-bottom: 5px;
-
-}
-.select2{
- color:rebeccapurple;
- font-size:30px;
- allow-scale:false;
- letter-spacing:5px;
- font-style:italic;
- font-weight:300;
- font-family:sans-serif;
- margin: 20px;
-
-}
-.select3{
- color:beige;
- font-size:30px;
- allow-scale:true;
- letter-spacing:5px;
- font-style:normal;
- font-weight:200;
- font-family:sans-serif;
- margin: 20px;
- background-color: black;
- padding:10px;
-}
-
-.select4{
- color:aqua;
- font-size:40px;
- allow-scale:false;
- letter-spacing:5px;
- font-style:italic;
- font-weight:200;
- font-family:sans-serif;
- margin: 20px;
- background-color: red;
- padding:10px;
-}
\ No newline at end of file
diff --git a/ace/ace_standard/src/main/js/default/pages/select/index.hml b/ace/ace_standard/src/main/js/default/pages/select/index.hml
deleted file mode 100644
index d01ac94ca6ab0975c46f3ecf83e0a22a5983f0ec..0000000000000000000000000000000000000000
--- a/ace/ace_standard/src/main/js/default/pages/select/index.hml
+++ /dev/null
@@ -1,46 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ace/ace_standard/src/main/js/default/pages/select/prop/index.css b/ace/ace_standard/src/main/js/default/pages/select/prop/index.css
new file mode 100644
index 0000000000000000000000000000000000000000..e815b366974cb2a04e98ed2dd5b2ba57913ff8c2
--- /dev/null
+++ b/ace/ace_standard/src/main/js/default/pages/select/prop/index.css
@@ -0,0 +1,347 @@
+/**
+ * Copyright (c) 2022 Shenzhen kaiHong Digital Industry Development Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+.container {
+ flex-direction:row;
+ width:100%;
+ height:100%;
+}
+
+.title{
+ width: 100%;
+ font-size: 18px;
+ margin: 2px;
+ padding: 2px;
+ font-weight: bold;
+ text-align: center;
+}
+
+.sub-title{
+ width: 100%;
+ font-size: 14px;
+ text-align: left;
+ margin: 2px;
+ padding: 2px;
+}
+
+.prop-container{
+ flex-direction: column;
+ flex-weight: 1;
+}
+
+#idProp {
+ flex-weight: 1;
+ background-color:#f00000;
+ width: 100%;
+ margin-left: 10px;
+ margin-right: 10px;
+ padding-start: 10px;
+ padding-end: 10px;
+}
+
+.classProp {
+ flex-weight: 1;
+ background-color:#0f0000;
+ width: 100%;
+ margin-left: 10px;
+ margin-right: 10px;
+ padding-start: 10px;
+ padding-end: 10px;
+}
+
+#classPropNone {
+ flex-weight: 1;
+ background-color:#0000e0;
+ width: 100%;
+ margin-left: 10px;
+ margin-right: 10px;
+ padding-start: 10px;
+ padding-end: 10px;
+}
+
+#refProp {
+ flex-weight: 1;
+ background-color:#00f000;
+ width: 100%;
+ margin-left: 10px;
+ margin-right: 10px;
+ padding-start: 10px;
+ padding-end: 10px;
+}
+
+#refPropNone {
+ flex-weight: 1;
+ background-color:#00000e;
+ width: 100%;
+ margin-left: 10px;
+ margin-right: 10px;
+ padding-start: 10px;
+ padding-end: 10px;
+}
+
+#disabledPropTrue {
+ flex-weight: 1;
+ background-color:#000f00;
+ width: 100%;
+ margin-left: 10px;
+ margin-right: 10px;
+ padding-start: 10px;
+ padding-end: 10px;
+}
+
+#disabledPropFalse {
+ flex-weight: 1;
+ background-color:#0000f0;
+ width: 100%;
+ margin-left: 10px;
+ margin-right: 10px;
+ padding-start: 10px;
+ padding-end: 10px;
+}
+
+#disabledPropNone {
+ flex-weight: 1;
+ background-color:#d00000;
+ width: 100%;
+ margin-left: 10px;
+ margin-right: 10px;
+ padding-start: 10px;
+ padding-end: 10px;
+}
+
+#focusablePropTrue {
+ flex-weight: 1;
+ background-color:#00000f;
+ width: 100%;
+ margin-left: 10px;
+ margin-right: 10px;
+ padding-start: 10px;
+ padding-end: 10px;
+}
+
+#focusablePropFalse {
+ flex-weight: 1;
+ background-color:#ff0000;
+ width: 100%;
+ margin-left: 10px;
+ margin-right: 10px;
+ padding-start: 10px;
+ padding-end: 10px;
+}
+
+#focusablePropNone {
+ flex-weight: 1;
+ background-color:#0d0000;
+ width: 100%;
+ margin-left: 10px;
+ margin-right: 10px;
+ padding-start: 10px;
+ padding-end: 10px;
+}
+
+#dataProp {
+ flex-weight: 1;
+ background-color:#0ff000;
+ width: 100%;
+ margin-left: 10px;
+ margin-right: 10px;
+ padding-start: 10px;
+ padding-end: 10px;
+}
+
+#dataPropNone {
+ flex-weight: 1;
+ background-color:#00d000;
+ width: 100%;
+ margin-left: 10px;
+ margin-right: 10px;
+ padding-start: 10px;
+ padding-end: 10px;
+}
+
+#clickEffectPropSmall {
+ height: 15px;
+ background-color:#00ff00;
+ width: 100%;
+ margin-left: 10px;
+ margin-right: 10px;
+ padding-start: 10px;
+ padding-end: 10px;
+}
+
+#clickEffectPropMedium {
+ height: 15px;
+ background-color:#000ff0;
+ width: 100%;
+ margin-left: 10px;
+ margin-right: 10px;
+ padding-start: 10px;
+ padding-end: 10px;
+}
+
+#clickEffectPropLarge {
+ height: 15px;
+ background-color:#fff000;
+ width: 100%;
+ margin-left: 10px;
+ margin-right: 10px;
+ padding-start: 10px;
+ padding-end: 10px;
+}
+
+#clickEffectPropNone{
+ height: 15px;
+ background-color:#000d00;
+ width: 100%;
+ margin-left: 10px;
+ margin-right: 10px;
+ padding-start: 10px;
+ padding-end: 10px;
+}
+
+#dirPropRtl {
+ flex-weight: 1;
+ background-color:#0fff00;
+ width: 100%;
+ margin-left: 10px;
+ margin-right: 10px;
+ padding-start: 10px;
+ padding-end: 10px;
+}
+
+#dirPropAuto {
+ flex-weight: 1;
+ background-color:#00fff0;
+ width: 100%;
+ margin-left: 10px;
+ margin-right: 10px;
+ padding-start: 10px;
+ padding-end: 10px;
+}
+
+#dirPropLtr {
+ flex-weight: 1;
+ background-color:#000fff;
+ width: 100%;
+ margin-left: 10px;
+ margin-right: 10px;
+ padding-start: 10px;
+ padding-end: 10px;
+}
+
+#dirPropNone {
+ flex-weight: 1;
+ background-color:#0000d0;
+ width: 100%;
+ margin-left: 10px;
+ margin-right: 10px;
+ padding-start: 10px;
+ padding-end: 10px;
+}
+
+#forPropNull {
+ flex-weight: 1;
+ background-color:#ffff00;
+ width: 100%;
+ margin-left: 10px;
+ margin-right: 10px;
+ padding-start: 10px;
+ padding-end: 10px;
+}
+
+#forPropOne {
+ flex-weight: 1;
+ background-color:#00e000;
+ width: 100%;
+ margin-left: 10px;
+ margin-right: 10px;
+ padding-start: 10px;
+ padding-end: 10px;
+}
+
+#forPropThree {
+ flex-weight: 1;
+ background-color:#000e00;
+ width: 100%;
+ margin-left: 10px;
+ margin-right: 10px;
+ padding-start: 10px;
+ padding-end: 10px;
+}
+
+#ifPropTrue {
+ flex-weight: 1;
+ background-color:#0ffff0;
+ width: 100%;
+ margin-left: 10px;
+ margin-right: 10px;
+ padding-start: 10px;
+ padding-end: 10px;
+}
+
+#ifPropFalse {
+ flex-weight: 1;
+ background-color:#00ffff;
+ width: 100%;
+ margin-left: 10px;
+ margin-right: 10px;
+ padding-start: 10px;
+ padding-end: 10px;
+}
+
+#ifPropNone {
+ flex-weight: 1;
+ background-color:#00000d;
+ width: 100%;
+ margin-left: 10px;
+ margin-right: 10px;
+ padding-start: 10px;
+ padding-end: 10px;
+}
+
+#showPropTrue {
+ flex-weight: 1;
+ background-color:#e00000;
+ width: 100%;
+ margin-left: 10px;
+ margin-right: 10px;
+ padding-start: 10px;
+ padding-end: 10px;
+}
+
+#showPropFalse {
+ flex-weight: 1;
+ background-color:#0e0000;
+ width: 100%;
+ margin-left: 10px;
+ margin-right: 10px;
+ padding-start: 10px;
+ padding-end: 10px;
+}
+
+#showPropNone {
+ flex-weight: 1;
+ background-color:#c00000;
+ width: 100%;
+ margin-left: 10px;
+ margin-right: 10px;
+ padding-start: 10px;
+ padding-end: 10px;
+}
+
+.specific-container{
+ flex-direction: column;
+ flex-weight: 1;
+}
\ No newline at end of file
diff --git a/ace/ace_standard/src/main/js/default/pages/select/prop/index.hml b/ace/ace_standard/src/main/js/default/pages/select/prop/index.hml
new file mode 100644
index 0000000000000000000000000000000000000000..d5d458f3a556c4be6e52e0a073d889113a009a5c
--- /dev/null
+++ b/ace/ace_standard/src/main/js/default/pages/select/prop/index.hml
@@ -0,0 +1,165 @@
+
+
+
+
+
+ select通用属性
+
+
+
+ 通用属性 -- id
+
+
+
+
+ 通用属性 -- class
+
+
+
+
+
+
+ 通用属性 -- style
+
+
+
+
+ 通用属性 -- ref
+
+
+
+
+
+ 通用属性 -- disabled
+
+
+
+
+
+
+ 通用属性 -- focusable
+
+
+
+
+
+
+ 通用属性 -- data-*
+
+
+
+
+
+ 通用属性 -- click-effect
+
+
+
+
+
+
+
+ 通用属性 -- dir
+
+
+
+
+
+
+
+ 渲染属性 -- for
+
+
+
+
+
+
+ 渲染属性 -- if
+
+
+
+
+ 渲染属性 -- show
+
+
+
+
+
+
+
+
+
+
+ select特有属性
+
+
+
diff --git a/ace/ace_standard/src/main/js/default/pages/select/prop/index.js b/ace/ace_standard/src/main/js/default/pages/select/prop/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..97e6f13a244495c0b633bbf5c446038ae1097917
--- /dev/null
+++ b/ace/ace_standard/src/main/js/default/pages/select/prop/index.js
@@ -0,0 +1,107 @@
+/**
+ * Copyright (c) 2022 Shenzhen Kaihong Digital Industry Development Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import prompt from '@system.prompt';
+
+export default {
+ data:{
+ listOne:[{}],
+ listThree:[{},{},{}],
+ idProp : null,
+ classProp : null,
+ classPropNone : null,
+ styleProp : null,
+ refProp : null,
+ refPropNone : null,
+ disabledPropTrue : null,
+ disabledPropFalse : null,
+ disabledPropNone : null,
+ focusablePropTrue : null,
+ focusablePropFalse : null,
+ focusablePropNone : null,
+ dataProp : null,
+ dataPropNone : null,
+ clickEffectPropSmall : null,
+ clickEffectPropMedium : null,
+ clickEffectPropLarge : null,
+ clickEffectPropNone : null,
+ dirPropRtl : null,
+ dirPropAuto : null,
+ dirPropLtr : null,
+ dirPropNone : null,
+ forPropNull : null,
+ forPropOne : null,
+ forPropThree : null,
+ ifPropTrue : null,
+ showPropTrue : null,
+ showPropFalse : null,
+ showPropNone : null
+ },
+
+ onShow(){
+ this.getCommonPropValues();
+ this.getSpecificPropValues();
+ globalThis.value = {
+ idProp : this.idProp, classProp : this.classProp, classPropNone : this.classPropNone,
+ styleProp : this.styleProp, refProp : this.refProp, refPropNone : this.refPropNone,
+ disabledPropTrue : this.disabledPropTrue, disabledPropFalse : this.disabledPropFalse,
+ disabledPropNone : this.disabledPropNone, focusablePropTrue : this.focusablePropTrue,
+ focusablePropFalse : this.focusablePropFalse, focusablePropNone : this.focusablePropNone,
+ dataProp : this.dataProp, dataPropNone : this.dataPropNone,
+ clickEffectPropSmall : this.clickEffectPropSmall, clickEffectPropMedium : this.clickEffectPropMedium,
+ clickEffectPropLarge : this.clickEffectPropLarge, clickEffectPropNone : this.clickEffectPropNone,
+ dirPropRtl : this.dirPropRtl, dirPropAuto : this.dirPropAuto, dirPropLtr : this.dirPropLtr,
+ dirPropNone : this.dirPropNone, forPropNull : this.forPropNull, forPropOne : this.forPropOne,
+ forPropThree : this.forPropThree, ifPropTrue : this.ifPropTrue, showPropTrue : this.showPropTrue,
+ showPropFalse : this.showPropFalse, showPropNone : this.showPropNone,
+ }
+ },
+
+ getCommonPropValues(){
+ this.idProp = this.$element("idProp").getInspector()
+ this.classProp = this.$element("classProp").getInspector()
+ this.classPropNone = this.$element("classPropNone").getInspector()
+ this.styleProp = this.$element("styleProp").getInspector()
+ this.refProp = this.$element("refProp").getInspector()
+ this.refPropNone = this.$element("refPropNone").getInspector()
+ this.disabledPropTrue = this.$element("disabledPropTrue").getInspector()
+ this.disabledPropFalse = this.$element("disabledPropFalse").getInspector()
+ this.disabledPropNone = this.$element("disabledPropNone").getInspector()
+ this.focusablePropTrue = this.$element("focusablePropTrue").getInspector()
+ this.focusablePropFalse = this.$element("focusablePropFalse").getInspector()
+ this.focusablePropNone = this.$element("focusablePropNone").getInspector()
+ this.dataProp = this.$element("dataProp").getInspector()
+ this.dataPropNone = this.$element("dataPropNone").getInspector()
+ this.clickEffectPropSmall = this.$element("clickEffectPropSmall").getInspector()
+ this.clickEffectPropMedium = this.$element("clickEffectPropMedium").getInspector()
+ this.clickEffectPropLarge = this.$element("clickEffectPropLarge").getInspector()
+ this.clickEffectPropNone = this.$element("clickEffectPropNone").getInspector()
+ this.dirPropRtl = this.$element("dirPropRtl").getInspector()
+ this.dirPropAuto = this.$element("dirPropAuto").getInspector()
+ this.dirPropLtr = this.$element("dirPropLtr").getInspector()
+ this.dirPropNone = this.$element("dirPropNone").getInspector()
+ this.forPropNull = this.$element("forPropNull").getInspector()
+ this.forPropOne = this.$element("forPropOne").getInspector()
+ this.forPropThree = this.$element("forPropThree").getInspector()
+ this.ifPropTrue = this.$element("ifPropTrue").getInspector()
+ this.showPropTrue = this.$element("showPropTrue").getInspector()
+ this.showPropFalse = this.$element("showPropFalse").getInspector()
+ this.showPropNone = this.$element("showPropNone").getInspector()
+ },
+
+ getSpecificPropValues(){
+
+ }
+}
diff --git a/ace/ace_standard/src/main/js/default/pages/select/router/index.css b/ace/ace_standard/src/main/js/default/pages/select/router/index.css
new file mode 100644
index 0000000000000000000000000000000000000000..0ce622db227ef610a98258c33f4727cf953703b4
--- /dev/null
+++ b/ace/ace_standard/src/main/js/default/pages/select/router/index.css
@@ -0,0 +1,455 @@
+/**
+ * Copyright (c) 2022 Shenzhen kaiHong Digital Industry Development Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+.container {
+ flex-direction:row;
+ width:100%;
+ height:100%;
+ padding: 1px;
+}
+
+.sub-container{
+ flex-direction: column;
+ height: 100%;
+ flex-weight: 1;
+}
+
+.style-container{
+ flex-direction: column;
+ height: 70%;
+}
+
+.title{
+ width: 100%;
+ font-size: 18px;
+ margin: 2px;
+ padding: 2px;
+ font-weight: bold;
+ text-align: center;
+}
+
+.sub-title{
+ width: 100%;
+ font-size: 14px;
+ text-align: left;
+ margin: 2px;
+ padding: 2px;
+}
+
+.style1{
+ width: 100%;
+ height: 100%;
+ min-width: 25px;
+ min-height: 10px;
+ max-width: 300px;
+ max-height: 50px;
+ padding-left: 10px;
+ padding-top: 20px;
+ padding-right: 15px;
+ padding-bottom: 5px;
+ margin-left: 10px;
+ margin-top: 20px;
+ margin-right: 15px;
+ margin-bottom: 5px;
+ border-left-style: solid;
+ border-right-style: dashed;
+ border-top-style: dashed;
+ border-bottom-style: dotted;
+ border-left-width: 1px;
+ border-right-width: 2px;
+ border-top-width: 2px;
+ border-bottom-width: 1px;
+ border-left-color: #ff0000;
+ border-right-color: #00ff00;
+ border-top-color: #0000ff;
+ border-bottom-color: #fff000;
+ border-bottom-left-radius: 10px;
+ border-bottom-right-radius: 15px;
+ border-top-left-radius: 8px;
+ border-top-right-radius: 12px;
+ background: linear-gradient(pink,#fff000);
+ box-shadow: 2px 4px 6px 8px #888888;
+ opacity: 0.5;
+ display: flex;
+ visibility: visible;
+ align-self: center;
+ image-fill: #000fff;
+ clip-path: margin-box;
+}
+
+.style2{
+ width: 50px;
+ height: 20px;
+ padding-start: 10px;
+ padding-end: 15px;
+ margin-start: 5px;
+ margin-end: 10px;
+ border-style: dotted;
+ border-width: 2px;
+ border-color:#000000;
+ border-radius:5px;
+ background-color:#ffaa00;
+ mask-image: url('common/images/icon.png');
+ mask-size: cover;
+ mask-position: center;
+}
+
+.style3{
+ width: 100%;
+ padding: 10px;
+ margin: 5px;
+ border-left: 1px solid #000000;
+ border-right: 2px dashed #00ff00;
+ border-top: 1.5px dotted #0000ff;
+ border-bottom: 2.5px dotted #fff000;
+ background-image:url('common/images/image.png');
+ background-size:cover;
+ background-repeat: repeat-x;
+ background-position: center;
+ flex:1;
+ flex-grow: 2;
+ flex-basis: 10px;
+ flex-shrink: 1;
+}
+
+.style4{
+ width: 60%;
+ height: 5%;
+ padding: 10px;
+ margin: 5px;
+ border: 2px solid #000000;
+}
+
+.contain1{
+ width: 100%;
+ height: 70px;
+ flex-direction: column;
+}
+
+.style5{
+ width: 50%;
+ height: 30px;
+ background-color: yellow;
+ border-image-source: url('/common/images/image.png');
+ border-image-slice: 1px 2px 3px 4px;
+ border-image-width: 2px 3px 4px 5px;
+ border-image-outset: 3px 4px 5px 6px;
+ border-image-repeat: repeat;
+}
+
+.style6{
+ width: 70px;
+ height: 30px;
+ position: absolute;
+ left: 10px;
+ top: 35px;
+ bottom: 5px;
+ right: 10px;
+ background-color: pink;
+ border-image: url('common/images/icon.png') 1px 2px 3px 4px 2px 3px 4px 5px 3px 4px 5px 6px round;
+}
+
+.style7 {
+ flex-direction: column;
+ flex-wrap:wrap;
+ justify-content:flex-start;
+ align-items: flex-end;
+ align-content:space-around;
+ display: flex;
+ height: 40px;
+}
+
+.style8{
+ flex-direction: row;
+ flex-wrap:nowrap;
+ scrollbar-color: yellow;
+ scrollbar-width: 10px;
+ overscroll-effect:spring;
+ height: 20px;
+ overflow:scroll;
+}
+.flex-item {
+ width: 50%;
+ height: 20px;
+ border-radius: 16px;
+}
+
+.style9{
+ flex-direction: row;
+ flex-wrap:nowrap;
+ scrollbar-color: yellow;
+ scrollbar-width: 10px;
+ overscroll-effect:spring;
+ height: 20px;
+ overflow:scroll;
+}
+
+.font-family {
+ font-family: sans-serif;
+}
+.allow-scale{
+ allow-scale:true
+}
+.placeholder-color{
+ placeholder-color:pink
+}
+.font-weight3{
+ font-weight:300
+}
+.font-weight6{
+ font-weight:600
+}
+.color-success {
+ background-color: cornflowerblue;
+}
+
+.grid-child {
+ width: 100%;
+ border-radius: 2px;
+}
+
+.grid-left-top {
+ width: 20px;
+ height: 20px;
+ border-radius: 10px;
+ border: 1px solid plum;
+ background: linear-gradient(pink, purple);
+ box-shadow: 0px 0px 1px 1px pink;
+ grid-row-start: 0;
+ grid-column-start: 0;
+ grid-row-end: 0;
+ grid-column-end: 0;
+}
+
+.grid-left-bottom {
+ width: 20px;
+ height: 20px;
+ border-radius: 5px;
+ border: 1px solid plum;
+ background: linear-gradient(pink, #00aaee);
+ box-shadow: 0px 0px 1px 1px pink;
+ grid-row-start: 1;
+ grid-column-start: 0;
+ grid-row-end: 1;
+ grid-column-end: 0;
+}
+
+.grid-right-top {
+ width: 20px;
+ height: 20px;
+ border-radius: 3px;
+ border: 1px dotted plum;
+ background: linear-gradient(mediumpurple, #00aaee);
+ box-shadow: 0px 0px 1px 1px pink;
+ grid-row-start: 0;
+ grid-column-start: 1;
+ grid-row-end: 0;
+ grid-column-end: 1;
+}
+
+.grid-right-bottom {
+ width: 20px;
+ height: 20px;
+ border-radius: 5px;
+ border: 1px dotted plum;
+ background: linear-gradient(pink, mediumpurple);
+ box-shadow: 0px 0px 2px 2px pink;
+ grid-row-start: 1;
+ grid-column-start: 1;
+ grid-row-end: 1;
+ grid-column-end: 1;
+}
+
+.event-container{
+ flex-direction: column;
+ flex-weight: 1;
+}
+
+.event1{
+ width: 60%;
+ flex-weight: 1;
+ background-color: yellow;
+}
+
+.event2{
+ width: 70%;
+ flex-weight: 1;
+ background-color: red;
+}
+
+.event3{
+ width: 80%;
+ flex-weight: 1;
+ background-color: #ad4e2a;
+}
+
+.event4{
+ flex-direction: row;
+ width: 90%;
+ flex-weight: 1;
+ overflow:scroll;
+}
+
+.prop-container{
+ flex-direction: column;
+}
+
+#prop1 {
+ height: 15px;
+ background-color: mediumslateblue;
+ width: 100%;
+}
+
+.prop2 {
+ height: 15px;
+ background-color: pink;
+ width: 100%;
+}
+
+.prop3 {
+ height: 15px;
+ background-color: darkseagreen;
+ width: 100%;
+}
+
+.ani-container{
+ flex-direction: column;
+ height: 100%;
+ flex-weight: 1;
+}
+
+.ani1{
+ background-color: #72ac33;
+ width: 55px;
+ height: 55px;
+ margin: 5px;
+ transform-origin: 0% 0%;
+ animation: ani1Go 3s infinite;
+}
+
+@keyframes ani1Go
+{
+ from {
+ background-color: #f76160;
+ opacity:0.3;
+ width:50px;
+ height: 50px;
+ transform:translate(20px) rotate(10deg) scale(0.2);
+ background-position:10% 10%
+ }
+ 30% {
+ background-color: #60f761;
+ opacity:0.5;
+ width:70px;
+ height: 70px;
+ background-position:12% 12%;
+ transform:translateX(10px) translateY(5px) rotateX(20deg) rotateY(25deg) scaleX(0.6) scaleY(0.5)
+ }
+ to {
+ background-color: #6160f7;
+ opacity:1;
+ width:90px;
+ height: 90px;
+ background-position:22% 22%;
+ transform:rotate(180deg) scale(2)
+ }
+}
+
+.ani2{
+ background-color: #ad4e2a;
+ width: 55px;
+ height: 55px;
+ margin: 5px;
+}
+
+.gradient-container{
+ flex-direction: column;
+}
+
+.gradient1{
+ width: 100%;
+ height: 20px;
+ margin: 5px;
+ background: linear-gradient(red, #00ff00);
+}
+
+.gradient2{
+ width: 100%;
+ height: 20px;
+ margin: 5px;
+ background: linear-gradient(45deg, rgb(255,0,0),rgb(0, 255, 0));
+}
+
+.gradient3{
+ width: 100%;
+ height: 20px;
+ margin: 5px;
+ background: linear-gradient(to right, rgb(255,0,0) 90px, rgb(0, 255, 0) 60%);
+}
+
+.gradient4{
+ width: 100%;
+ height: 20px;
+ margin: 5px;
+ background: repeating-linear-gradient(to right, rgba(255, 255, 0, 1) 30px,rgba(0, 0, 255, .5) 60px);
+}
+
+.access-container{
+ flex-direction: column;
+}
+
+.access1{
+ background-color: #321124;
+ margin: 5px;
+ width: 90%;
+ height: 30px;
+}
+
+.atom-container{
+ flex-direction: column;
+}
+
+.multiMode-container{
+ flex-direction: column;
+}
+
+.multiMode1{
+ background-color: #978666;
+ width: 100%;
+ height: 30px;
+ margin: 5px;
+}
+
+.function-container{
+ flex-direction: column;
+}
+
+.function1{
+ background-color: #ff0000;
+ width: 60%;
+ height: 20px;
+}
+
+.function2{
+ background-color: #00ff00;
+ width: 60%;
+ height: 20px;
+}
+
+.function3{
+ background-color: #0000ff;
+ width: 100%;
+ height: 20px;
+}
\ No newline at end of file
diff --git a/ace/ace_standard/src/main/js/default/pages/select/router/index.hml b/ace/ace_standard/src/main/js/default/pages/select/router/index.hml
new file mode 100644
index 0000000000000000000000000000000000000000..1d8377242daf8e840c5b4bf472183ebac9077f04
--- /dev/null
+++ b/ace/ace_standard/src/main/js/default/pages/select/router/index.hml
@@ -0,0 +1,286 @@
+
+
+
+
+
+
+ 通用样式
+
+
+ select通用样式1
+
+
+
+ select通用样式2
+
+
+
+ select通用样式3
+
+
+
+ select通用样式4
+
+
+
+ select通用样式5
+
+
+
+
+
+
+ select特有样式1
+
+
+
+
+
+
+
+
+
+ 动画样式
+
+
+ select动画样式1
+
+
+
+ select动画样式2
+
+
+
+
+
+
+
+
+
+
+
+ 通用属性
+
+
+ select通用属性1
+
+
+
+ select通用属性2
+
+
+
+ select通用属性3
+
+
+
+
+
+
+
+ 通用事件
+
+
+ select通用事件1
+
+
+
+ select通用事件2
+
+
+
+ select通用事件3
+
+
+
+ select特有事件1
+
+
+
+
+
+
+
+ 通用方法
+
+
+ select通用方法1
+
+
+
+ select通用方法2
+
+
+
+ select通用方法3
+
+
+
+
+
+
+
+
+
+
+
+ 渐变样式
+
+
+ select渐变样式1
+
+
+
+ select渐变样式2
+
+
+
+ select渐变样式3
+
+
+
+ select渐变样式4
+
+
+
+
+
+
+
+ 无障碍
+
+
+ select无障碍1
+
+
+
+
+
+
+
+ 原子布局
+
+
+ select原子布局1
+
+
+
+
+
+
+
+
+
+
+ select原子布局2
+
+
+
+
+
+
+
+
+
+
+ select原子布局3
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 多模输入
+
+
+ select多模输入1
+
+
+
+
+
+
diff --git a/ace/ace_standard/src/main/js/default/pages/select/router/index.js b/ace/ace_standard/src/main/js/default/pages/select/router/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..76a4d072a8ae7399e57b5aa5f03930dbfda01c47
--- /dev/null
+++ b/ace/ace_standard/src/main/js/default/pages/select/router/index.js
@@ -0,0 +1,453 @@
+/**
+ * Copyright (c) 2022 Shenzhen Kaihong Digital Industry Development Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import prompt from '@system.prompt';
+
+var options = {
+ duration: 1500,
+ easing: 'friction',
+ delay: 100,
+ fill: 'forwards',
+ iterations: 2,
+ direction: 'normal',
+};
+var frames = [
+ {
+ transform: {
+ translate: '-120px',
+ rotate:'10deg',
+ scale:0.2,
+ skew:'40deg'
+ },
+ opacity: 0.1,
+ offset: 0.0,
+ width: '40%',
+ height:'20px',
+ backgroundColor:'#ff0000',
+ backgroundPosition:'10px 20px',
+ transformOrigin:'left top'
+ },
+ {
+ transform: {
+ translateX: '0px',
+ translateY: '5px',
+ rotateX:'10deg',
+ rotateY:'10deg',
+ scaleX:0.5,
+ scaleY:0.7,
+ skewX:'22deg',
+ skewY:'30deg'
+ },
+ opacity: 0.6,
+ offset: 2.0,
+ width: '60%',
+ height:'30px',
+ backgroundColor:'#ff00ff',
+ backgroundPosition:'15px 25px',
+ transformOrigin:'center top'
+ },
+ {
+ transform: {
+ translateX: '100px',
+ translateY: '0px',
+ translateZ: '20px',
+ rotateX:'0deg',
+ rotateY:'0deg',
+ rotateZ:'30deg',
+ scaleX:1,
+ scaleY:1,
+ scaleZ:2,
+ skewX:'0',
+ skewY:'0',
+ skewZ:'30deg'
+ },
+ opacity: 1,
+ offset: 0.0,
+ width: '100%',
+ height:'30px',
+ backgroundColor:'#ffff00',
+ backgroundPosition:'0px',
+ transformOrigin:'center center'
+ },
+];
+
+export default {
+
+ onShow(){
+ // 通用属性
+ var prop1 = this.$element('prop1');
+ var name1 = prop1.dataSet.name
+ var prop2 = this.$refs.prop2;
+ var name2 = prop2.dataSet.name
+ prompt.showToast({
+ message: 'prop1--' + name1 + '\nprop2--' + name2
+ });
+ },
+
+ touchStart(event){
+ var globalX = event.touches[0].globalX
+ var globalY = event.touches[0].globalY
+ var localX = event.touches[0].localX
+ var localY = event.touches[0].localY
+ var size = event.touches[0].size
+ var force = event.touches[0].force
+ var changeGlobalX = event.changedTouches[0].globalX
+ var changeGlobalY = event.changedTouches[0].globalY
+ var changeLocalX = event.changedTouches[0].localX
+ var changeLocalY = event.changedTouches[0].localY
+ var changeSize = event.changedTouches[0].size
+ var changeForce = event.changedTouches[0].force
+ var message = 'globalX--' + globalX + ',globalY--' + globalY +
+ ',localX--' + localX + ',localY--' + localY + ',size--' + size + ',force--' + force +
+ ',changeGlobalX--' + changeGlobalX + ',changeGlobalY--' + changeGlobalY +
+ ',changeLocalX--' + changeLocalX + ',changeLocalY--' + changeLocalY +
+ ',changeSize--' + changeSize + ',changeForce--' + changeForce;
+ prompt.showToast({
+ message: 'touchstart:\n' + message
+ });
+ },
+
+ touchMove(event){
+ var globalX = event.touches[0].globalX
+ var globalY = event.touches[0].globalY
+ var localX = event.touches[0].localX
+ var localY = event.touches[0].localY
+ var size = event.touches[0].size
+ var force = event.touches[0].force
+ var changeGlobalX = event.changedTouches[0].globalX
+ var changeGlobalY = event.changedTouches[0].globalY
+ var changeLocalX = event.changedTouches[0].localX
+ var changeLocalY = event.changedTouches[0].localY
+ var changeSize = event.changedTouches[0].size
+ var changeForce = event.changedTouches[0].force
+ var message = 'globalX--' + globalX + ',globalY--' + globalY +
+ ',localX--' + localX + ',localY--' + localY + ',size--' + size + ',force--' + force +
+ ',changeGlobalX--' + changeGlobalX + ',changeGlobalY--' + changeGlobalY +
+ ',changeLocalX--' + changeLocalX + ',changeLocalY--' + changeLocalY +
+ ',changeSize--' + changeSize + ',changeForce--' + changeForce;
+ prompt.showToast({
+ message: 'touchMove:\n' +message
+ });
+ },
+
+ touchEnd(event){
+ var globalX = event.touches[0].globalX
+ var globalY = event.touches[0].globalY
+ var localX = event.touches[0].localX
+ var localY = event.touches[0].localY
+ var size = event.touches[0].size
+ var force = event.touches[0].force
+ var changeGlobalX = event.changedTouches[0].globalX
+ var changeGlobalY = event.changedTouches[0].globalY
+ var changeLocalX = event.changedTouches[0].localX
+ var changeLocalY = event.changedTouches[0].localY
+ var changeSize = event.changedTouches[0].size
+ var changeForce = event.changedTouches[0].force
+ var message = 'globalX--' + globalX + ',globalY--' + globalY +
+ ',localX--' + localX + ',localY--' + localY + ',size--' + size + ',force--' + force +
+ ',changeGlobalX--' + changeGlobalX + ',changeGlobalY--' + changeGlobalY +
+ ',changeLocalX--' + changeLocalX + ',changeLocalY--' + changeLocalY +
+ ',changeSize--' + changeSize + ',changeForce--' + changeForce;
+ prompt.showToast({
+ message: 'touchEnd:\n' +message
+ });
+ },
+
+ touchCancel(event){
+ var globalX = event.touches[0].globalX
+ var globalY = event.touches[0].globalY
+ var localX = event.touches[0].localX
+ var localY = event.touches[0].localY
+ var size = event.touches[0].size
+ var force = event.touches[0].force
+ var changeGlobalX = event.changedTouches[0].globalX
+ var changeGlobalY = event.changedTouches[0].globalY
+ var changeLocalX = event.changedTouches[0].localX
+ var changeLocalY = event.changedTouches[0].localY
+ var changeSize = event.changedTouches[0].size
+ var changeForce = event.changedTouches[0].force
+ var message = 'globalX--' + globalX + ',globalY--' + globalY +
+ ',localX--' + localX + ',localY--' + localY + ',size--' + size + ',force--' + force +
+ ',changeGlobalX--' + changeGlobalX + ',changeGlobalY--' + changeGlobalY +
+ ',changeLocalX--' + changeLocalX + ',changeLocalY--' + changeLocalY +
+ ',changeSize--' + changeSize + ',changeForce--' + changeForce;
+ prompt.showToast({
+ message: 'touchCancel:\n' +message
+ });
+ },
+
+ click(){
+ prompt.showToast({
+ message: 'click'
+ });
+ },
+
+ doubleClick(){
+ prompt.showToast({
+ message: 'doubleClick'
+ });
+ },
+
+ longPress(){
+ prompt.showToast({
+ message: 'longPress'
+ });
+ },
+
+ focus(){
+ prompt.showToast({
+ message: 'focus'
+ });
+ },
+
+ blur(){
+ prompt.showToast({
+ message: 'blur'
+ });
+ },
+
+ key(event){
+ var code = event.code;
+ var action = event.action;
+ var repeatCount = event.repeatCount;
+ var timestampStart = event.timestampStart;
+ var message = 'code--' + code + ',action--' + action +
+ ',repeatCount--' + repeatCount + ',timestampStart--' + timestampStart;
+ prompt.showToast({
+ message: 'key:\n' + message
+ });
+ },
+
+ swipe(event){
+ var direction = event.direction;
+ var distance = event.distance;
+ var message = 'direction--' + direction + ',distance--' + distance;
+ prompt.showToast({
+ message: 'swipe:\n' + message
+ });
+ },
+
+ attached(){
+ prompt.showToast({
+ message: 'attached'
+ });
+ },
+
+ detached(){
+ prompt.showToast({
+ message: 'detached'
+ });
+ },
+
+ pinchStart(event){
+ var scale = event.scale
+ var pinchCenterX = event.pinchCenterX
+ var pinchCenterY = event.pinchCenterY
+ var message = 'scale--' + scale + ',pinchCenterX--' + pinchCenterX +
+ ',pinchCenterY--' + pinchCenterY;
+ prompt.showToast({
+ message: 'pinchStart:\n' + message
+ });
+ },
+
+ pinchUpdate(event){
+ var scale = event.scale
+ var pinchCenterX = event.pinchCenterX
+ var pinchCenterY = event.pinchCenterY
+ var message = 'scale--' + scale + ',pinchCenterX--' + pinchCenterX +
+ ',pinchCenterY--' + pinchCenterY;
+ prompt.showToast({
+ message: 'pinchUpdate:\n' + message
+ });
+ },
+
+ pinchEnd(event){
+ var scale = event.scale
+ var pinchCenterX = event.pinchCenterX
+ var pinchCenterY = event.pinchCenterY
+ var message = 'scale--' + scale + ',pinchCenterX--' + pinchCenterX +
+ ',pinchCenterY--' + pinchCenterY;
+ prompt.showToast({
+ message: 'pinchUpdate:\n' + message
+ });
+ },
+
+ pinchCancel(event){
+ var scale = event.scale
+ var pinchCenterX = event.pinchCenterX
+ var pinchCenterY = event.pinchCenterY
+ var message = 'scale--' + scale + ',pinchCenterX--' + pinchCenterX +
+ ',pinchCenterY--' + pinchCenterY;
+ prompt.showToast({
+ message: 'pinchCancel:\n' + message
+ });
+ },
+
+ dragStart(event){
+ var type = event.type
+ var globalX = event.globalX
+ var globalY = event.globalY
+ var timestamp = event.timestamp
+ var message = 'type--' + type + ',globalX--' + globalX +
+ ',globalY--' + globalY + ',timestamp--' + timestamp;
+ prompt.showToast({
+ message: 'dragStart:\n' + message
+ });
+ },
+
+ drag(event){
+ var type = event.type
+ var globalX = event.globalX
+ var globalY = event.globalY
+ var timestamp = event.timestamp
+ var message = 'type--' + type + ',globalX--' + globalX +
+ ',globalY--' + globalY + ',timestamp--' + timestamp;
+ prompt.showToast({
+ message: 'drag:\n' + message
+ });
+ },
+
+ dragEnd(event){
+ var type = event.type
+ var globalX = event.globalX
+ var globalY = event.globalY
+ var timestamp = event.timestamp
+ var message = 'type--' + type + ',globalX--' + globalX +
+ ',globalY--' + globalY + ',timestamp--' + timestamp;
+ prompt.showToast({
+ message: 'dragEnd:\n' + message
+ });
+ },
+
+ dragEnter(event){
+ var type = event.type
+ var globalX = event.globalX
+ var globalY = event.globalY
+ var timestamp = event.timestamp
+ var message = 'type--' + type + ',globalX--' + globalX +
+ ',globalY--' + globalY + ',timestamp--' + timestamp;
+ prompt.showToast({
+ message: 'dragEnter:\n' + message
+ });
+ },
+
+ dragOver(event){
+ var type = event.type
+ var globalX = event.globalX
+ var globalY = event.globalY
+ var timestamp = event.timestamp
+ var message = 'type--' + type + ',globalX--' + globalX +
+ ',globalY--' + globalY + ',timestamp--' + timestamp;
+ prompt.showToast({
+ message: 'dragOver:\n' + message
+ });
+ },
+
+ dragLeave(event){
+ var type = event.type
+ var globalX = event.globalX
+ var globalY = event.globalY
+ var timestamp = event.timestamp
+ var message = 'type--' + type + ',globalX--' + globalX +
+ ',globalY--' + globalY + ',timestamp--' + timestamp;
+ prompt.showToast({
+ message: 'dragLeave:\n' + message
+ });
+ },
+
+ drop(event){
+ var type = event.type
+ var globalX = event.globalX
+ var globalY = event.globalY
+ var timestamp = event.timestamp
+ var message = 'type--' + type + ',globalX--' + globalX +
+ ',globalY--' + globalY + ',timestamp--' + timestamp;
+ prompt.showToast({
+ message: 'drop:\n' + message
+ });
+ },
+
+ functionTest1(event){
+ var function1 = this.$element('function1');
+ function1.focus(true)
+ var rect = function1.getBoundingClientRect();
+ var width = rect.width;
+ var height = rect.height;
+ var left = rect.left;
+ var top = rect.top;
+ var message = 'width--' + width + ',height--' + height +
+ ',left--' + left + ',top--' + top;
+ prompt.showToast({
+ message: 'function1 rect:\n' + message
+ });
+ },
+
+ functionTest2(event){
+ var function2 = this.$element('function2');
+ let observer = function2.createIntersectionObserver({
+ ratios: [0.2, 0], // number
+ });
+ observer.observe((isVisible, ratio)=> {
+ console.info('this element is ' + isVisible + 'ratio is ' + ratio)
+ prompt.showToast({
+ message: 'function2 observer:\n' + 'isVisible--' + isVisible + ',ratio--' + ratio
+ });
+ })
+
+ observer.unobserve()
+ },
+
+ functionTest3(event){
+ var function3 = this.$element('function3');
+
+ var animation = function3.animate(frames, options);
+ animation.play()
+ animation.onfinish = function(){
+ prompt.showToast({
+ message: 'The animation is finished.'
+ });
+ };
+
+ animation.oncancel = function(){
+ prompt.showToast({
+ message: 'The animation is canceled.'
+ });
+ };
+
+ animation.onrepeat = function(){
+ prompt.showToast({
+ message: 'The animation is repeated.'
+ });
+ };
+
+ setTimeout(() => {
+ animation.reverse()
+ }, 500)
+
+ setTimeout(() => {
+ animation.pause()
+ }, 1000)
+
+ setTimeout(() => {
+ animation.cancel()
+ }, 1500)
+ },
+
+ change(event){
+ prompt.showToast({
+ message: JSON.stringify(event)
+ });
+ }
+}
diff --git a/ace/ace_standard/src/main/js/default/pages/select/style/index.css b/ace/ace_standard/src/main/js/default/pages/select/style/index.css
new file mode 100644
index 0000000000000000000000000000000000000000..05e5aa873987edd02cd66f88d0119549d7ca11a0
--- /dev/null
+++ b/ace/ace_standard/src/main/js/default/pages/select/style/index.css
@@ -0,0 +1,384 @@
+/**
+ * Copyright (c) 2022 Shenzhen kaiHong Digital Industry Development Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+.container {
+ flex-direction:row;
+ width:100%;
+ height:100%;
+ padding: 1px;
+}
+
+.title{
+ width: 100%;
+ font-size: 18px;
+ margin: 2px;
+ padding: 2px;
+ font-weight: bold;
+ text-align: center;
+}
+
+.sub-title{
+ width: 100%;
+ font-size: 14px;
+ text-align: left;
+ margin: 2px;
+ padding: 2px;
+}
+
+.style-container{
+ flex-direction: column;
+ width: 50%;
+}
+
+#styleOne{
+ width: 150px;
+ height: 20px;
+ padding-top: 1px;
+ padding-left: 2px;
+ padding-right: 3px;
+ padding-bottom: 0.5px;
+ margin-left: 1px;
+ margin-top: 2px;
+ margin-right: 1.5px;
+ margin-bottom: 0.5px;
+ border-left-style: solid;
+ border-right-style: dashed;
+ border-top-style: dotted;
+ border-bottom-style: solid;
+ border-left-width: 1px;
+ border-right-width: 1.5px;
+ border-top-width: 2px;
+ border-bottom-width: 0.5px;
+ border-left-color: #ff0000;
+ border-right-color: #00ff00;
+ border-top-color: #0000ff;
+ border-bottom-color: #fff000;
+ border-bottom-left-radius: 5px;
+ border-bottom-right-radius: 15px;
+ border-top-left-radius: 10px;
+ border-top-right-radius: 0px;
+ opacity: 0.5;
+ align-self:flex-end;
+}
+
+#styleTwo{
+ width: 150px;
+ height: 20px;
+ padding-start: 1px;
+ padding-end: 2px;
+ margin-start: 1px;
+ margin-end: 2px;
+ border-style: dotted;
+ border-width: 2px;
+ border-color:#0f00f0;
+ border-radius:5px;
+ opacity: 1.5;
+ align-self:flex-start;
+}
+
+#styleThree{
+ width: 50px;
+ height: 20px;
+ padding: 2px;
+ margin:1px;
+ border-left: 1px solid #ff0000;
+ border-right: 2px dashed #00ff00;
+ border-top: 1.5px dotted #0000ff;
+ border-bottom: 2.5px dotted #fff000;
+ opacity: 1;
+ align-self:baseline;
+}
+
+#styleFour{
+ width: 50px;
+ height: 20px;
+ align-self:center;
+ border: 2px solid #00ff00;
+}
+
+#styleFive{
+ width: 150px;
+ height: 40px;
+ border: 5px;
+ border-image-source: url('/common/images/image.png');
+ border-image-slice: 5px 10px 10px 5px;
+ border-image-width: 10px 5px 5px 10px;
+ border-image-outset: 10px 5px 10px 5px;
+ border-image-repeat: repeat;
+}
+
+#styleSix{
+ width: 100%;
+ height: 2%;
+ background-color: #ff0000;
+ padding-top: 1%;
+ padding-left: 2%;
+ padding-right: 3%;
+ padding-bottom: 0.5%;
+ margin-left: 1%;
+ margin-top: 2%;
+ margin-right: 1.5%;
+ margin-bottom: 0.5%;
+}
+
+#styleSeven{
+ width: 70%;
+ height: 1%;
+ padding-start: 1%;
+ padding-end: 2%;
+ margin-start: 1%;
+ margin-end: 2%;
+ background-color: #00ff00;
+}
+
+#styleEight{
+ width: 60%;
+ height: 1%;
+ margin: 1%;
+ padding: 2%;
+ background-color: #0000ff;
+}
+
+#styleNine{
+ width: 100%;
+ height: 40px;
+ display:flex;
+}
+
+#styleFive{
+ width: 100%;
+ height: 40px;
+ border: 5px;
+ border-image-source: url('/common/images/image.png');
+ border-image-slice: 5px 10px 10px 5px;
+ border-image-width: 10px 5px 5px 10px;
+ border-image-outset: 10px 5px 10px 5px;
+ border-image-repeat: repeat;
+}
+
+#styleTen{
+ width: 100%;
+ height: 400%;
+ display: none;
+ background-color: #ff0000;
+}
+
+#styleEleven{
+ height: 40%;
+ background-color: #00ff00;
+ flex:1 1 20px;
+ z-index:10;
+}
+
+#styleTwelve{
+ height: 50%;
+ background-color: #ff00ff;
+ flex-grow:2;
+ flex-shrink: 3;
+ flex-basis: 30px;
+ z-index:13;
+}
+
+#styleThirteen{
+ position: absolute;
+ left: 10px;
+ top: 20px;
+ width: 10px;
+ height: 10px;
+ background-color: #00ff00;
+ z-index:12;
+}
+
+#styleFourteen{
+ position: absolute;
+ right: 10px;
+ bottom: 20px;
+ width: 10px;
+ height: 10px;
+ background-color: #0000ff;
+ z-index:3;
+}
+
+#styleFifteen{
+ position: absolute;
+ left: 10%;
+ top: 20%;
+ width: 10px;
+ height: 10px;
+ background-color: #fff000;
+ z-index:5;
+}
+
+#styleSixteen{
+ position: absolute;
+ right: 10%;
+ bottom: 20%;
+ width: 10px;
+ height: 10px;
+ background-color: #00ffff;
+ z-index:15;
+}
+
+#styleSeventeen{
+ position: absolute;
+ start: 50px;
+ width: 10px;
+ height: 10px;
+ background-color: #ffff00;
+ z-index:7;
+}
+
+#styleEighteen{
+ position: absolute;
+ end: 20px;
+ width: 10px;
+ height: 10px;
+ background-color: #00ffff;
+ z-index:4;
+}
+
+#styleNineteen{
+ position: absolute;
+ start: 20%;
+ width: 10px;
+ height: 10px;
+ background-color: #ffff00;
+ z-index:1;
+}
+
+#styleTwenty{
+ position: absolute;
+ end: 20%;
+ width: 10px;
+ height: 10px;
+ background-color: #00ffff;
+ z-index:17;
+}
+
+#styleTwentyOne{
+ height: 20px;
+ box-shadow: 2px 4px;
+ flex-weight: 1;
+ margin:5px;
+}
+
+#styleTwentyTwo{
+ flex-weight: 1;
+ height: 20px;
+ box-shadow: 2px 4px 6px 8px;
+ margin:5px;
+}
+
+#styleTwentyThree{
+ flex-weight: 1;
+ height: 20px;
+ box-shadow: 1px 2px 3px 4px #ff0000;
+ margin:5px;
+}
+
+#styleTwentyFour{
+ width: 150px;
+ height: 20px;
+ background-color: #00ffff;
+ clip-path:inset(2 23);
+ visibility: visible;
+}
+
+#styleTwentyFive{
+ width: 150px;
+ height: 20px;
+ background-color: #00ffff;
+ visibility: hidden;
+}
+
+#styleTwentySix{
+ width: 150px;
+ height: 20px;
+ background-color: #999999;
+}
+
+#styleTwentySeven{
+ width: 150px;
+ height: 20px;
+ background: linear-gradient(pink,#fff000);
+}
+
+#styleTwentyNine{
+ width: 150px;
+ height: 20px;
+ background-image:url('common/images/image.png');
+ background-size:contain;
+ background-repeat: repeat-x;
+ background-position: center;
+}
+
+#styleThirty{
+ width: 150px;
+ height: 20px;
+ background-image:url('common/images/image.png');
+ background-size:50px 10px;
+ background-repeat: no-repeat;
+ background-position: 10px 10px;
+}
+
+#styleThirtyOne{
+ width: 150px;
+ height: 20px;
+ background-image:url('common/images/image.png');
+ background-size:10% 20%;
+ background-repeat: repeat;
+ background-position: 30% 40%;
+}
+
+#styleThirtyTwo{
+ width: 150px;
+ height: 20px;
+ background: linear-gradient(pink,#fff000);
+ clip-path: margin-box;
+ image-fill: #000fff;
+ mask-image: url('common/images/icon.png');
+ mask-size: cover;
+ mask-position: center;
+}
+
+.specific-container{
+ flex-direction: column;
+ flex-weight: 1;
+}
+#specificFontFamily1{
+ background-color: yellowgreen;
+ width: 100%;
+ height: 50px;
+}
+.font-family1{
+ font-family:sans-serif
+}
+#specificColor1{
+ background-color: yellow;
+ width: 100%;
+ height: 50px;
+}
+.color1{
+ color:red;
+}
+#specificColor2{
+ background-color: red;
+ width: 100%;
+ height: 50px;
+}
+.color2{
+ color:black
+}
+
diff --git a/ace/ace_standard/src/main/js/default/pages/select/style/index.hml b/ace/ace_standard/src/main/js/default/pages/select/style/index.hml
new file mode 100644
index 0000000000000000000000000000000000000000..36bd20db06ed01c4782651db0dd06cb51f0e815a
--- /dev/null
+++ b/ace/ace_standard/src/main/js/default/pages/select/style/index.hml
@@ -0,0 +1,138 @@
+
+
+
+
+
+ select通用样式
+
+
+
+ 通用样式 1-8 \n width height padding margin border opacity align-self
+
+
+
+
+
+
+
+
+
+
+
+ 通用样式9-20 \n display flex z-index position
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 通用样式21-23 box-shadow
+
+
+
+
+
+
+
+
+ 通用样式23-25 visibility clip-path
+
+
+
+
+
+ 通用样式26-31 background
+
+
+
+
+
+
+
+
+ 通用样式32 clip-path image-fill mask-image
+
+
+
+
+
+
+
+ select特有样式
+
+
+
+ 特有样式 font-family
+
+
+
+ 特有样式 color
+
+
+
+
+
+
+
diff --git a/ace/ace_standard/src/main/js/default/pages/select/index.js b/ace/ace_standard/src/main/js/default/pages/select/style/index.js
similarity index 75%
rename from ace/ace_standard/src/main/js/default/pages/select/index.js
rename to ace/ace_standard/src/main/js/default/pages/select/style/index.js
index 49432a494d8079c0913aeb21350f9809e5430b01..8179ff70cbe9fa27c38c5386a6f497949bf60f3a 100644
--- a/ace/ace_standard/src/main/js/default/pages/select/index.js
+++ b/ace/ace_standard/src/main/js/default/pages/select/style/index.js
@@ -13,16 +13,7 @@
* limitations under the License.
*/
-import prompt from '@system.prompt';
export default {
- data: {
- title: 'World'
- },
- changeFruit(e){
- console.log(JSON.stringify(e))
- prompt.showToast({
- message: e.newValue
- });
- }
-}
\ No newline at end of file
+
+}
diff --git a/ace/ace_standard/src/main/js/default/test/commonComponentJsApi.test.js b/ace/ace_standard/src/main/js/default/test/commonComponentJsApi.test.js
index b2f58d58230357c1fe71109322b835c3cbcb3917..a1e161d2840ca8bcaef3ae62870fe7e04dce81f7 100644
--- a/ace/ace_standard/src/main/js/default/test/commonComponentJsApi.test.js
+++ b/ace/ace_standard/src/main/js/default/test/commonComponentJsApi.test.js
@@ -584,7 +584,7 @@ describe('aceJsTest', function () {
it('testSelectComponent', 0, async function (done) {
let result;
let options = {
- uri: 'pages/select/index'
+ uri: 'pages/select/router/index'
}
try {
result = router.push(options)
@@ -593,7 +593,7 @@ describe('aceJsTest', function () {
}
await sleep(1000)
let pages = router.getState();
- expect("pages/select/").assertEqual(pages.path);
+ expect("pages/select/router/").assertEqual(pages.path);
done();
});
diff --git a/ace/ace_standard/src/main/js/default/test/selectProps.test.js b/ace/ace_standard/src/main/js/default/test/selectProps.test.js
new file mode 100644
index 0000000000000000000000000000000000000000..097d47694fc64071af013a626c053979d1e152ba
--- /dev/null
+++ b/ace/ace_standard/src/main/js/default/test/selectProps.test.js
@@ -0,0 +1,686 @@
+/*
+ * Copyright (c) 2022 Shenzhen Kaihong Digital Industry Development Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import router from '@system.router';
+import {describe, beforeAll,afterAll, it, expect} from 'deccjsunit/index';
+
+describe('selectPropsJsTest', function () {
+
+ async function sleep(time) {
+ return new Promise((resolve, reject) => {
+ setTimeout(() => {
+ resolve()
+ }, time)
+ }).then(() => {
+ console.info(`sleep ${time} over...`)
+ })
+ }
+
+ async function backToIndex() {
+ let backToIndexPromise = new Promise((resolve, reject) => {
+ setTimeout(() => {
+ router.back({
+ uri: 'pages/index/index'
+ });
+ resolve();
+ }, 500);
+ });
+ let clearPromise = new Promise((resolve, reject) => {
+ setTimeout(() => {
+ router.clear();
+ resolve();
+ }, 500);
+ });
+ await backToIndexPromise.then(() => {
+ return clearPromise;
+ });
+ }
+
+ /**
+ * run before testcase
+ */
+ beforeAll(async function (done) {
+ console.info('[selectPropsJsTest] before each called')
+
+ let result;
+ let options = {
+ uri: 'pages/select/prop/index'
+ }
+ try {
+ result = router.push(options)
+ console.info("push selectProps page success " + JSON.stringify(result));
+ } catch (err) {
+ console.error("push selectProps page error " + JSON.stringify(result));
+ }
+ await sleep(4000)
+ done()
+ });
+
+ /**
+ * run after testcase
+ */
+ afterAll(async function () {
+ console.info('[selectPropsJsTest] after each called')
+ await backToIndex()
+ await sleep(1000)
+ });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testSelectIdProp
+ * @tc.desc ACE
+ */
+ it('testSelectIdProp', 0, async function (done) {
+ console.info('testSelectIdProp START');
+ console.info("[selectProps] get globalThis.value is: " + JSON.stringify(globalThis.value));
+
+ let obj = JSON.parse(globalThis.value.idProp);
+ console.info("[selectProps] get inspector value is: " + JSON.stringify(obj));
+ console.info("[selectProps] get inspector attrs value is: " + JSON.stringify(obj.$attrs));
+
+ expect(obj.$type).assertEqual('select')
+ expect(obj.$attrs.id).assertEqual('idProp')
+ done();
+ });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testSelectClassProp
+ * @tc.desc ACE
+ */
+ it('testSelectClassProp', 0, async function (done) {
+ console.info('testSelectClassProp START');
+ console.info("[selectProps] get globalThis.value is: " + JSON.stringify(globalThis.value));
+
+ let obj = JSON.parse(globalThis.value.classProp);
+ console.info("[selectProps] get inspector value is: " + JSON.stringify(obj));
+ console.info("[selectProps] get inspector attrs value is: " + JSON.stringify(obj.$attrs));
+
+ expect(obj.$type).assertEqual('select')
+ expect(obj.$attrs.id).assertEqual('classProp')
+ expect(obj.$attrs.className).assertEqual('classProp')
+ done();
+ });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testSelectClassPropNone
+ * @tc.desc ACE
+ */
+ it('testSelectClassPropNone', 0, async function (done) {
+ console.info('testSelectClassPropNone START');
+ console.info("[selectProps] get globalThis.value is: " + JSON.stringify(globalThis.value));
+
+ let obj = JSON.parse(globalThis.value.classPropNone);
+ console.info("[selectProps] get inspector value is: " + JSON.stringify(obj));
+ console.info("[selectProps] get inspector attrs value is: " + JSON.stringify(obj.$attrs));
+
+ expect(obj.$type).assertEqual('select')
+ expect(obj.$attrs.id).assertEqual('classPropNone')
+ expect(obj.$attrs.className).assertEqual(undefined)
+ console.info("[selectProps] get className value is: " + JSON.stringify(obj.$attrs.className));
+ done();
+ });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testSelectStyleProp
+ * @tc.desc ACEs
+ */
+// it('testSelectStyleProp', 0, async function (done) {
+// console.info('testSelectStyleProp START');
+// console.info("[selectProps] get globalThis.value is: " + JSON.stringify(globalThis.value));
+//
+// let obj = JSON.parse(globalThis.value.styleProp);
+// console.info("[selectProps] get inspector value is: " + JSON.stringify(obj));
+// console.info("[selectProps] get inspector attrs value is: " + JSON.stringify(obj.$attrs));
+//
+// expect(obj.$type).assertEqual('select')
+// expect(obj.$attrs.id).assertEqual('styleProp')
+// expect(obj.$attrs.style).assertEqual(undefined)
+// console.info("[selectProps] get style value is: " + JSON.stringify(obj.$attrs.style));
+//
+// expect(obj.$styles.width).assertEqual(undefined);
+// console.info("[selectProps] get style width value is: " + JSON.stringify(obj.$styles.width));
+// expect(obj.$styles.height).assertEqual(undefined);
+// console.info("[selectProps] get style height value is: " + JSON.stringify(obj.$styles.height));
+// expect(obj.$styles.get('background-color')).assertEqual(undefined);
+// done();
+// });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testSelectRefProp
+ * @tc.desc ACE
+ */
+ it('testSelectRefProp', 0, async function (done) {
+ console.info('testSelectRefProp START');
+ console.info("[selectProps] get globalThis.value is: " + JSON.stringify(globalThis.value));
+
+ let obj = JSON.parse(globalThis.value.refProp);
+ console.info("[selectProps] get inspector value is: " + JSON.stringify(obj));
+ console.info("[selectProps] get inspector attrs value is: " + JSON.stringify(obj.$attrs));
+
+ expect(obj.$type).assertEqual('select')
+ expect(obj.$attrs.id).assertEqual('refProp')
+ expect(obj.$attrs.ref).assertEqual('refProp')
+ done();
+ });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testSelectRefPropNone
+ * @tc.desc ACE
+ */
+ it('testSelectRefPropNone', 0, async function (done) {
+ console.info('testSelectRefPropNone START');
+ console.info("[selectProps] get globalThis.value is: " + JSON.stringify(globalThis.value));
+
+ let obj = JSON.parse(globalThis.value.refPropNone);
+ console.info("[selectProps] get inspector value is: " + JSON.stringify(obj));
+ console.info("[selectProps] get inspector attrs value is: " + JSON.stringify(obj.$attrs));
+
+ expect(obj.$type).assertEqual('select')
+ expect(obj.$attrs.id).assertEqual('refPropNone')
+ expect(obj.$attrs.ref).assertEqual(undefined)
+ console.info("[selectProps] get ref value is: " + JSON.stringify(obj.$attrs.ref));
+ done();
+ });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testSelectDisabledPropTrue
+ * @tc.desc ACE
+ */
+ it('testSelectDisabledPropTrue', 0, async function (done) {
+ console.info('testSelectDisabledPropTrue START');
+ console.info("[selectProps] get globalThis.value is: " + JSON.stringify(globalThis.value));
+
+ let obj = JSON.parse(globalThis.value.disabledPropTrue);
+ console.info("[selectProps] get inspector value is: " + JSON.stringify(obj));
+ console.info("[selectProps] get inspector attrs value is: " + JSON.stringify(obj.$attrs));
+
+ expect(obj.$type).assertEqual('select')
+ expect(obj.$attrs.id).assertEqual('disabledPropTrue')
+ expect(obj.$attrs.disabled).assertEqual('true')
+ done();
+ });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testSelectDisabledPropFalse
+ * @tc.desc ACE
+ */
+ it('testSelectDisabledPropFalse', 0, async function (done) {
+ console.info('testSelectDisabledPropFalse START');
+ console.info("[selectProps] get globalThis.value is: " + JSON.stringify(globalThis.value));
+
+ let obj = JSON.parse(globalThis.value.disabledPropFalse);
+ console.info("[selectProps] get inspector value is: " + JSON.stringify(obj));
+ console.info("[selectProps] get inspector attrs value is: " + JSON.stringify(obj.$attrs));
+
+ expect(obj.$type).assertEqual('select')
+ expect(obj.$attrs.id).assertEqual('disabledPropFalse')
+ expect(obj.$attrs.disabled).assertEqual('false')
+ done();
+ });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testSelectDisabledPropNone
+ * @tc.desc ACE
+ */
+ it('testSelectDisabledPropNone', 0, async function (done) {
+ console.info('testSelectDisabledPropNone START');
+ console.info("[selectProps] get globalThis.value is: " + JSON.stringify(globalThis.value));
+
+ let obj = JSON.parse(globalThis.value.disabledPropNone);
+ console.info("[selectProps] get inspector value is: " + JSON.stringify(obj));
+ console.info("[selectProps] get inspector attrs value is: " + JSON.stringify(obj.$attrs));
+
+ expect(obj.$type).assertEqual('select')
+ expect(obj.$attrs.id).assertEqual('disabledPropNone')
+ expect(obj.$attrs.disabled).assertEqual('false')
+ done();
+ });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testSelectFocusablePropTrue
+ * @tc.desc ACE
+ */
+ it('testSelectFocusablePropTrue', 0, async function (done) {
+ console.info('testSelectFocusablePropTrue START');
+ console.info("[selectProps] get globalThis.value is: " + JSON.stringify(globalThis.value));
+
+ let obj = JSON.parse(globalThis.value.focusablePropTrue);
+ console.info("[selectProps] get inspector value is: " + JSON.stringify(obj));
+ console.info("[selectProps] get inspector attrs value is: " + JSON.stringify(obj.$attrs));
+
+ expect(obj.$type).assertEqual('select')
+ expect(obj.$attrs.id).assertEqual('focusablePropTrue')
+ expect(obj.$attrs.focusable).assertEqual('true')
+ done();
+ });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testSelectFocusablePropFalse
+ * @tc.desc ACE
+ */
+ it('testSelectFocusablePropFalse', 0, async function (done) {
+ console.info('testSelectFocusablePropFalse START');
+ console.info("[selectProps] get globalThis.value is: " + JSON.stringify(globalThis.value));
+
+ let obj = JSON.parse(globalThis.value.focusablePropFalse);
+ console.info("[selectProps] get inspector value is: " + JSON.stringify(obj));
+ console.info("[selectProps] get inspector attrs value is: " + JSON.stringify(obj.$attrs));
+
+ expect(obj.$type).assertEqual('select')
+ expect(obj.$attrs.id).assertEqual('focusablePropFalse')
+ expect(obj.$attrs.focusable).assertEqual('false')
+ done();
+ });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testSelectFocusablePropNone
+ * @tc.desc ACE
+ */
+ it('testSelectFocusablePropNone', 0, async function (done) {
+ console.info('testSelectFocusablePropNone START');
+ console.info("[selectProps] get globalThis.value is: " + JSON.stringify(globalThis.value));
+
+ let obj = JSON.parse(globalThis.value.focusablePropNone);
+ console.info("[selectProps] get inspector value is: " + JSON.stringify(obj));
+ console.info("[selectProps] get inspector attrs value is: " + JSON.stringify(obj.$attrs));
+
+ expect(obj.$type).assertEqual('select')
+ expect(obj.$attrs.id).assertEqual('focusablePropNone')
+ expect(obj.$attrs.focusable).assertEqual('false')
+ done();
+ });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testSelectDataProp
+ * @tc.desc ACE
+ */
+ it('testSelectDataProp', 0, async function (done) {
+ console.info('testSelectDataProp START');
+ console.info("[selectProps] get globalThis.value is: " + JSON.stringify(globalThis.value));
+
+ let obj = JSON.parse(globalThis.value.dataProp);
+ console.info("[selectProps] get inspector value is: " + JSON.stringify(obj));
+ console.info("[selectProps] get inspector attrs value is: " + JSON.stringify(obj.$attrs));
+
+ expect(obj.$type).assertEqual('select')
+ expect(obj.$attrs.id).assertEqual('dataProp')
+ expect(obj.$attrs.dataSelect).assertEqual(undefined);
+ console.info("[selectProps] get dataSelect value is: " + JSON.stringify(obj.$attrs.dataSelect));
+ done();
+ });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testSelectDataPropNone
+ * @tc.desc ACE
+ */
+ it('testSelectDataPropNone', 0, async function (done) {
+ console.info('testSelectDataPropNone START');
+ console.info("[selectProps] get globalThis.value is: " + JSON.stringify(globalThis.value));
+
+ let obj = JSON.parse(globalThis.value.dataPropNone);
+ console.info("[selectProps] get inspector value is: " + JSON.stringify(obj));
+ console.info("[selectProps] get inspector attrs value is: " + JSON.stringify(obj.$attrs));
+
+ expect(obj.$type).assertEqual('select')
+ expect(obj.$attrs.id).assertEqual('dataPropNone')
+ expect(obj.$attrs.dataSelect).assertEqual(undefined)
+ console.info("[selectProps] get dataSelect value is: " + JSON.stringify(obj.$attrs.dataSelect));
+ done();
+ });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testSelectClickEffectPropSmall
+ * @tc.desc ACE
+ */
+ it('testSelectClickEffectPropSmall', 0, async function (done) {
+ console.info('testSelectClickEffectPropSmall START');
+ console.info("[selectProps] get globalThis.value is: " + JSON.stringify(globalThis.value));
+
+ let obj = JSON.parse(globalThis.value.clickEffectPropSmall);
+ console.info("[selectProps] get inspector value is: " + JSON.stringify(obj));
+ console.info("[selectProps] get inspector attrs value is: " + JSON.stringify(obj.$attrs));
+
+ expect(obj.$type).assertEqual('select')
+ expect(obj.$attrs.id).assertEqual('clickEffectPropSmall')
+ expect(obj.$attrs.clickEffect).assertEqual('spring-small')
+ done();
+ });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testSelectClickEffectPropMedium
+ * @tc.desc ACE
+ */
+ it('testSelectClickEffectPropMedium', 0, async function (done) {
+ console.info('testSelectClickEffectPropMedium START');
+ console.info("[selectProps] get globalThis.value is: " + JSON.stringify(globalThis.value));
+
+ let obj = JSON.parse(globalThis.value.clickEffectPropMedium);
+ console.info("[selectProps] get inspector value is: " + JSON.stringify(obj));
+ console.info("[selectProps] get inspector attrs value is: " + JSON.stringify(obj.$attrs));
+
+ expect(obj.$type).assertEqual('select')
+ expect(obj.$attrs.id).assertEqual('clickEffectPropMedium')
+ expect(obj.$attrs.clickEffect).assertEqual('spring-medium')
+ done();
+ });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testSelectClickEffectPropLarge
+ * @tc.desc ACE
+ */
+ it('testSelectClickEffectPropLarge', 0, async function (done) {
+ console.info('testSelectClickEffectPropLarge START');
+ console.info("[selectProps] get globalThis.value is: " + JSON.stringify(globalThis.value));
+
+ let obj = JSON.parse(globalThis.value.clickEffectPropLarge);
+ console.info("[selectProps] get inspector value is: " + JSON.stringify(obj));
+ console.info("[selectProps] get inspector attrs value is: " + JSON.stringify(obj.$attrs));
+
+ expect(obj.$type).assertEqual('select')
+ expect(obj.$attrs.id).assertEqual('clickEffectPropLarge')
+ expect(obj.$attrs.clickEffect).assertEqual('spring-large')
+ done();
+ });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testSelectClickEffectPropNone
+ * @tc.desc ACE
+ */
+ it('testSelectClickEffectPropNone', 0, async function (done) {
+ console.info('testSelectClickEffectPropNone START');
+ console.info("[selectProps] get globalThis.value is: " + JSON.stringify(globalThis.value));
+
+ let obj = JSON.parse(globalThis.value.clickEffectPropNone);
+ console.info("[selectProps] get inspector value is: " + JSON.stringify(obj));
+ console.info("[selectProps] get inspector attrs value is: " + JSON.stringify(obj.$attrs));
+
+ expect(obj.$type).assertEqual('select')
+ expect(obj.$attrs.id).assertEqual('clickEffectPropNone')
+ expect(obj.$attrs.clickEffect).assertEqual(undefined)
+ console.info("[selectProps] get clickEffect value is: " + JSON.stringify(obj.$attrs.clickEffect));
+ done();
+ });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testSelectDirPropRtl
+ * @tc.desc ACE
+ */
+ it('testSelectDirPropRtl', 0, async function (done) {
+ console.info('testSelectDirPropRtl START');
+ console.info("[selectProps] get globalThis.value is: " + JSON.stringify(globalThis.value));
+
+ let obj = JSON.parse(globalThis.value.dirPropRtl);
+ console.info("[selectProps] get inspector value is: " + JSON.stringify(obj));
+ console.info("[selectProps] get inspector attrs value is: " + JSON.stringify(obj.$attrs));
+
+ expect(obj.$type).assertEqual('select')
+ expect(obj.$attrs.id).assertEqual('dirPropRtl')
+ expect(obj.$attrs.dir).assertEqual('rtl')
+ done();
+ });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testSelectDirPropLtr
+ * @tc.desc ACE
+ */
+ it('testSelectDirPropLtr', 0, async function (done) {
+ console.info('testSelectDirPropLtr START');
+ console.info("[selectProps] get globalThis.value is: " + JSON.stringify(globalThis.value));
+
+ let obj = JSON.parse(globalThis.value.dirPropLtr);
+ console.info("[selectProps] get inspector value is: " + JSON.stringify(obj));
+ console.info("[selectProps] get inspector attrs value is: " + JSON.stringify(obj.$attrs));
+
+ expect(obj.$type).assertEqual('select')
+ expect(obj.$attrs.id).assertEqual('dirPropLtr')
+ expect(obj.$attrs.dir).assertEqual('ltr')
+ done();
+ });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testSelectDirPropAuto
+ * @tc.desc ACE
+ */
+ it('testSelectDirPropAuto', 0, async function (done) {
+ console.info('testSelectDirPropAuto START');
+ console.info("[selectProps] get globalThis.value is: " + JSON.stringify(globalThis.value));
+
+ let obj = JSON.parse(globalThis.value.dirPropAuto);
+ console.info("[selectProps] get inspector value is: " + JSON.stringify(obj));
+ console.info("[selectProps] get inspector attrs value is: " + JSON.stringify(obj.$attrs));
+
+ expect(obj.$type).assertEqual('select')
+ expect(obj.$attrs.id).assertEqual('dirPropAuto')
+ expect(obj.$attrs.dir).assertEqual('auto')
+ done();
+ });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testSelectDirPropNone
+ * @tc.desc ACE
+ */
+ it('testSelectDirPropNone', 0, async function (done) {
+ console.info('testSelectDirPropNone START');
+ console.info("[selectProps] get globalThis.value is: " + JSON.stringify(globalThis.value));
+
+ let obj = JSON.parse(globalThis.value.dirPropNone);
+ console.info("[selectProps] get inspector value is: " + JSON.stringify(obj));
+ console.info("[selectProps] get inspector attrs value is: " + JSON.stringify(obj.$attrs));
+
+ expect(obj.$type).assertEqual('select')
+ expect(obj.$attrs.id).assertEqual('dirPropNone')
+ expect(obj.$attrs.dir).assertEqual('auto')
+ done();
+ });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testSelectForPropNull
+ * @tc.desc ACE
+ */
+ it('testSelectForPropNull', 0, async function (done) {
+ console.info('testSelectForPropNull START');
+ console.info("[selectProps] get globalThis.value is: " + JSON.stringify(globalThis.value));
+
+ let obj = JSON.parse(globalThis.value.forPropNull);
+ console.info("[selectProps] get inspector value is: " + JSON.stringify(obj));
+ console.info("[selectProps] get inspector attrs value is: " + JSON.stringify(obj.$attrs));
+
+ expect(obj.$type).assertEqual('select')
+ expect(obj.$attrs.id).assertEqual('forPropNull')
+ expect(obj.$attrs.for).assertEqual(undefined)
+ console.info("[selectProps] get for value is: " + JSON.stringify(obj.$attrs.for));
+ done();
+ });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testSelectForPropOne
+ * @tc.desc ACE
+ */
+ it('testSelectForPropOne', 0, async function (done) {
+ console.info('testSelectForPropOne START');
+ console.info("[selectProps] get globalThis.value is: " + JSON.stringify(globalThis.value));
+
+ let obj = JSON.parse(globalThis.value.forPropOne);
+ console.info("[selectProps] get inspector value is: " + JSON.stringify(obj));
+ console.info("[selectProps] get inspector attrs value is: " + JSON.stringify(obj.$attrs));
+
+ expect(obj.$type).assertEqual('select')
+ expect(obj.$attrs.id).assertEqual('forPropOne')
+ expect(obj.$attrs.for).assertEqual(undefined)
+ console.info("[selectProps] get for value is: " + JSON.stringify(obj.$attrs.for));
+ done();
+ });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testSelectForPropThree
+ * @tc.desc ACE
+ */
+ it('testSelectForPropThree', 0, async function (done) {
+ console.info('testSelectForPropThree START');
+ console.info("[selectProps] get globalThis.value is: " + JSON.stringify(globalThis.value));
+
+ let obj = JSON.parse(globalThis.value.forPropThree);
+ console.info("[selectProps] get inspector value is: " + JSON.stringify(obj));
+ console.info("[selectProps] get inspector attrs value is: " + JSON.stringify(obj.$attrs));
+
+ expect(obj.$type).assertEqual('select')
+ expect(obj.$attrs.id).assertEqual('forPropThree')
+ expect(obj.$attrs.for).assertEqual(undefined)
+ console.info("[selectProps] get for value is: " + JSON.stringify(obj.$attrs.for));
+ done();
+ });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testSelectIfPropTrue
+ * @tc.desc ACE
+ */
+ it('testSelectIfPropTrue', 0, async function (done) {
+ console.info('testSelectIfPropTrue START');
+ console.info("[selectProps] get globalThis.value is: " + JSON.stringify(globalThis.value));
+
+ let obj = JSON.parse(globalThis.value.ifPropTrue);
+ console.info("[selectProps] get inspector value is: " + JSON.stringify(obj));
+ console.info("[selectProps] get inspector attrs value is: " + JSON.stringify(obj.$attrs));
+
+ expect(obj.$type).assertEqual('select')
+ expect(obj.$attrs.id).assertEqual('ifPropTrue')
+ expect(obj.$attrs.if).assertEqual(undefined)
+ console.info("[selectProps] get for value is: " + JSON.stringify(obj.$attrs.if));
+ done();
+ });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testSelectIfPropFalse
+ * @tc.desc ACE
+ */
+ // it('testSelectIfPropFalse', 0, async function (done) {
+ // console.info('testSelectIfPropFalse START');
+ // console.info("[selectProps] get globalThis.value is: " + JSON.stringify(globalThis.value));
+ //
+ // let obj = JSON.parse(globalThis.value.ifPropFalse);
+ // console.info("[selectProps] get inspector value is: " + JSON.stringify(obj));
+ // console.info("[selectProps] get inspector attrs value is: " + JSON.stringify(obj.$attrs));
+ //
+ // expect(obj.$type).assertEqual('select')
+ // expect(obj.$attrs.id).assertEqual('ifPropFalse')
+ // expect(obj.$attrs.if).assertEqual(false)
+ // done();
+ // });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testSelectIfPropNone
+ * @tc.desc ACE
+ */
+ // it('testSelectIfPropNone', 0, async function (done) {
+ // console.info('testSelectIfPropNone START');
+ // console.info("[selectProps] get globalThis.value is: " + JSON.stringify(globalThis.value));
+ //
+ // let obj = JSON.parse(globalThis.value.ifPropNone);
+ // console.info("[selectProps] get inspector value is: " + JSON.stringify(obj));
+ // console.info("[selectProps] get inspector attrs value is: " + JSON.stringify(obj.$attrs));
+ //
+ // expect(obj.$type).assertEqual('select')
+ // expect(obj.$attrs.id).assertEqual('ifPropNone')
+ // expect(obj.$attrs.if).assertEqual(false)
+ // done();
+ // });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testSelectShowPropTrue
+ * @tc.desc ACE
+ */
+ it('testSelectShowPropTrue', 0, async function (done) {
+ console.info('testSelectShowPropTrue START');
+ console.info("[selectProps] get globalThis.value is: " + JSON.stringify(globalThis.value));
+
+ let obj = JSON.parse(globalThis.value.showPropTrue);
+ console.info("[selectProps] get inspector value is: " + JSON.stringify(obj));
+ console.info("[selectProps] get inspector attrs value is: " + JSON.stringify(obj.$attrs));
+
+ expect(obj.$type).assertEqual('select')
+ expect(obj.$attrs.id).assertEqual('showPropTrue')
+ expect(obj.$attrs.show).assertEqual('true')
+ console.info("[selectProps] get show value is: " + JSON.stringify(obj.$attrs.show));
+ done();
+ });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testSelectShowPropFalse
+ * @tc.desc ACE
+ */
+ it('testSelectShowPropFalse', 0, async function (done) {
+ console.info('testSelectShowPropFalse START');
+ console.info("[selectProps] get globalThis.value is: " + JSON.stringify(globalThis.value));
+
+ let obj = JSON.parse(globalThis.value.showPropFalse);
+ console.info("[selectProps] get inspector value is: " + JSON.stringify(obj));
+ console.info("[selectProps] get inspector attrs value is: " + JSON.stringify(obj.$attrs));
+
+ expect(obj.$type).assertEqual('select')
+ expect(obj.$attrs.id).assertEqual('showPropFalse')
+ expect(obj.$attrs.show).assertEqual('false')
+ console.info("[selectProps] get show value is: " + JSON.stringify(obj.$attrs.show));
+ done();
+ });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testSelectShowPropNone
+ * @tc.desc ACE
+ */
+ it('testSelectShowPropNone', 0, async function (done) {
+ console.info('testSelectShowPropNone START');
+ console.info("[selectProps] get globalThis.value is: " + JSON.stringify(globalThis.value));
+
+ let obj = JSON.parse(globalThis.value.showPropNone);
+ console.info("[selectProps] get inspector value is: " + JSON.stringify(obj));
+ console.info("[selectProps] get inspector attrs value is: " + JSON.stringify(obj.$attrs));
+
+ expect(obj.$type).assertEqual('select')
+ expect(obj.$attrs.id).assertEqual('showPropNone')
+ expect(obj.$attrs.show).assertEqual('true')
+ console.info("[selectProps] get show value is: " + JSON.stringify(obj.$attrs.show));
+ done();
+ });
+});