mirror of
https://github.com/openharmony/developtools_ace-ets2bundle.git
synced 2026-07-20 00:54:09 -04:00
150bd9ebcf
update ets-loader Signed-off-by: houhaoyu <houhaoyu@huawei.com> Change-Id: I1ec5569e82ab5d841a90ee57b0d8f5de88eca911
107 lines
3.5 KiB
Plaintext
107 lines
3.5 KiB
Plaintext
/*
|
|
* Copyright (c) 2021 Huawei Device 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.
|
|
*/
|
|
|
|
class GreenButtonState {
|
|
width:number = 0;
|
|
|
|
constructor(width:number) {
|
|
this.width = width;
|
|
}
|
|
}
|
|
|
|
@Component
|
|
struct GreenButton {
|
|
@Link greenButtonState:GreenButtonState;
|
|
|
|
build() {
|
|
Button("Green Button")
|
|
.width(this.greenButtonState.width)
|
|
.height(150.0)
|
|
.backgroundColor("#00ff00")
|
|
.onClick(() => {
|
|
this.greenButtonState.width = (this.greenButtonState.width < 700) ? this.greenButtonState.width + 125 : 100;
|
|
console.log("onClick handler on GreenButton, updated value this.greenButtonState.width: " + this.greenButtonState.width);
|
|
})
|
|
}
|
|
}
|
|
|
|
@Component
|
|
struct RedButton {
|
|
@State redButtonState:number = 100;
|
|
|
|
build() {
|
|
Button("Red Button")
|
|
.width(this.redButtonState)
|
|
.height(150.0)
|
|
.backgroundColor("#ff0000")
|
|
.onClick(() => {
|
|
this.redButtonState = (this.redButtonState < 700) ? this.redButtonState + 80 : 100;
|
|
console.log("onClick handler on RedButton, updated value this.redButtonState: " + this.redButtonState);
|
|
})
|
|
}
|
|
}
|
|
|
|
@Component
|
|
struct YellowButton {
|
|
@Prop yellowButtonState:number;
|
|
|
|
build(){
|
|
Button("Yellow Button")
|
|
.width(this.yellowButtonState)
|
|
.height(150.0)
|
|
.backgroundColor("#ffff00")
|
|
.onClick(() => {
|
|
this.yellowButtonState += 50.0;
|
|
console.log("onClick handler on YellowButton, updated value this.yellowButtonState: " + this.yellowButtonState);
|
|
})
|
|
}
|
|
}
|
|
|
|
@Entry
|
|
@Component
|
|
struct ShufflingContainer {
|
|
@State shuffle:boolean = false;
|
|
@State greenButtonState:GreenButtonState = new GreenButtonState(300);
|
|
@State yellowButtonProp:number = 100;
|
|
|
|
build() {
|
|
Column(){
|
|
Button(`Parent View: ${this.shuffle ? 'Shuffle to Red before Green' : 'Shuffle to Green before Red'}`)
|
|
.width(700.0)
|
|
.height(150.0)
|
|
.onClick(() => {
|
|
this.shuffle = !this.shuffle
|
|
console.log("onClick handler on ShufflingContainer, updated value this.shuffle: " + this.shuffle);
|
|
}) //Button "B1"
|
|
Button("Parent View: Set yellowButtonProp")
|
|
.width(700.0)
|
|
.height(150.0)
|
|
.onClick(() => {
|
|
this.yellowButtonProp = (this.yellowButtonProp < 700) ? this.yellowButtonProp + 100 : 100;
|
|
console.log("onClick handler on ShufflingContainer, updated value of yellowButtonProp: " + this.yellowButtonProp);
|
|
}) //Button "B2"
|
|
if(this.shuffle) {
|
|
GreenButton({ greenButtonState: $greenButtonState })
|
|
RedButton()
|
|
YellowButton({ yellowButtonState: this.yellowButtonProp })
|
|
} else {
|
|
RedButton()
|
|
YellowButton({ yellowButtonState: this.yellowButtonProp })
|
|
GreenButton({ greenButtonState: $greenButtonState })
|
|
}
|
|
}
|
|
}
|
|
}
|