1c41cb6d2Sopenharmony_ci/** 2c41cb6d2Sopenharmony_ci * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 3c41cb6d2Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4c41cb6d2Sopenharmony_ci * you may not use this file except in compliance with the License. 5c41cb6d2Sopenharmony_ci * You may obtain a copy of the License at 6c41cb6d2Sopenharmony_ci * 7c41cb6d2Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8c41cb6d2Sopenharmony_ci * 9c41cb6d2Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10c41cb6d2Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11c41cb6d2Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12c41cb6d2Sopenharmony_ci * See the License for the specific language governing permissions and 13c41cb6d2Sopenharmony_ci * limitations under the License. 14c41cb6d2Sopenharmony_ci */ 15c41cb6d2Sopenharmony_ci 16c41cb6d2Sopenharmony_ciimport prompt from '@ohos.prompt' 17c41cb6d2Sopenharmony_ciimport ConfigData from '../../../../../../common/utils/src/main/ets/default/baseUtil/ConfigData'; 18c41cb6d2Sopenharmony_ciimport SettingListModel from '../../../../../../product/phone/src/main/ets/model/settingListImpl/SettingListModel'; 19c41cb6d2Sopenharmony_ci 20c41cb6d2Sopenharmony_ci@Component 21c41cb6d2Sopenharmony_ciexport struct SettingItemComponent { 22c41cb6d2Sopenharmony_ci @Link settingEndText: string; 23c41cb6d2Sopenharmony_ci @State isTouched: boolean = false; 24c41cb6d2Sopenharmony_ci private targetPage: string = ''; 25c41cb6d2Sopenharmony_ci private settingTitle: string | Resource = ''; 26c41cb6d2Sopenharmony_ci private settingIcon: string | Resource = ''; 27c41cb6d2Sopenharmony_ci 28c41cb6d2Sopenharmony_ci onPageShow() { 29c41cb6d2Sopenharmony_ci console.info(`CCCC onPageShow: ${this.targetPage}`) 30c41cb6d2Sopenharmony_ci } 31c41cb6d2Sopenharmony_ci 32c41cb6d2Sopenharmony_ci aboutToAppear(): void { 33c41cb6d2Sopenharmony_ci console.info(`CCCC aboutToAppear: ${this.targetPage}`) 34c41cb6d2Sopenharmony_ci } 35c41cb6d2Sopenharmony_ci 36c41cb6d2Sopenharmony_ci build() { 37c41cb6d2Sopenharmony_ci Flex({ justifyContent: FlexAlign.SpaceBetween, alignItems: ItemAlign.Center }) { 38c41cb6d2Sopenharmony_ci Row() { 39c41cb6d2Sopenharmony_ci Image(this.settingIcon) 40c41cb6d2Sopenharmony_ci .visibility(this.targetPage === 'mobileData' ? Visibility.None : Visibility.Visible) 41c41cb6d2Sopenharmony_ci .width($r("app.float.wh_value_24")) 42c41cb6d2Sopenharmony_ci .height($r("app.float.wh_value_24")) 43c41cb6d2Sopenharmony_ci .margin({ 44c41cb6d2Sopenharmony_ci left: $r("app.float.distance_8"), 45c41cb6d2Sopenharmony_ci top: $r("app.float.distance_15"), 46c41cb6d2Sopenharmony_ci bottom: $r("app.float.distance_17") 47c41cb6d2Sopenharmony_ci }) 48c41cb6d2Sopenharmony_ci 49c41cb6d2Sopenharmony_ci Text(this.settingTitle) 50c41cb6d2Sopenharmony_ci .fontSize($r("app.float.font_16")) 51c41cb6d2Sopenharmony_ci .lineHeight($r("app.float.lineHeight_22")) 52c41cb6d2Sopenharmony_ci .fontWeight(FontWeight.Medium) 53c41cb6d2Sopenharmony_ci .fontFamily('HarmonyHeiTi') 54c41cb6d2Sopenharmony_ci .fontColor($r("sys.color.ohos_id_color_text_primary")) 55c41cb6d2Sopenharmony_ci .align(Alignment.Start) 56c41cb6d2Sopenharmony_ci .margin({ 57c41cb6d2Sopenharmony_ci left: this.targetPage === 'mobileData' ? $r("app.float.distance_8") : $r("app.float.distance_16"), 58c41cb6d2Sopenharmony_ci top: $r("app.float.distance_17"), 59c41cb6d2Sopenharmony_ci bottom: $r("app.float.distance_17") 60c41cb6d2Sopenharmony_ci }) 61c41cb6d2Sopenharmony_ci } 62c41cb6d2Sopenharmony_ci .align(Alignment.Start) 63c41cb6d2Sopenharmony_ci .height(ConfigData.WH_100_100) 64c41cb6d2Sopenharmony_ci 65c41cb6d2Sopenharmony_ci Row() { 66c41cb6d2Sopenharmony_ci Text(this.settingEndText) 67c41cb6d2Sopenharmony_ci .fontSize($r("app.float.font_14")) 68c41cb6d2Sopenharmony_ci .lineHeight($r("app.float.lineHeight_19")) 69c41cb6d2Sopenharmony_ci .align(Alignment.End) 70c41cb6d2Sopenharmony_ci .fontWeight(FontWeight.Regular) 71c41cb6d2Sopenharmony_ci .fontFamily('HarmonyHeiTi') 72c41cb6d2Sopenharmony_ci .fontColor($r('sys.color.ohos_id_color_text_secondary')) 73c41cb6d2Sopenharmony_ci .margin({ top: $r("app.float.distance_19"), bottom: $r("app.float.distance_18") }); 74c41cb6d2Sopenharmony_ci 75c41cb6d2Sopenharmony_ci Image('/res/image/ic_settings_arrow.svg') 76c41cb6d2Sopenharmony_ci .width($r("app.float.wh_value_12")) 77c41cb6d2Sopenharmony_ci .height($r("app.float.wh_value_24")) 78c41cb6d2Sopenharmony_ci .margin({ 79c41cb6d2Sopenharmony_ci left: $r("app.float.distance_4"), 80c41cb6d2Sopenharmony_ci right: $r("app.float.distance_8"), 81c41cb6d2Sopenharmony_ci top: $r("app.float.distance_16"), 82c41cb6d2Sopenharmony_ci bottom: $r("app.float.distance_16") 83c41cb6d2Sopenharmony_ci }) 84c41cb6d2Sopenharmony_ci .fillColor($r("sys.color.ohos_id_color_fourth")) 85c41cb6d2Sopenharmony_ci } 86c41cb6d2Sopenharmony_ci .align(Alignment.End) 87c41cb6d2Sopenharmony_ci .height(ConfigData.WH_100_100); 88c41cb6d2Sopenharmony_ci } 89c41cb6d2Sopenharmony_ci .width(ConfigData.WH_100_100) 90c41cb6d2Sopenharmony_ci .height($r("app.float.wh_value_56")) 91c41cb6d2Sopenharmony_ci .borderRadius($r("app.float.radius_16")) 92c41cb6d2Sopenharmony_ci .linearGradient(this.isTouched ? { 93c41cb6d2Sopenharmony_ci angle: 90, 94c41cb6d2Sopenharmony_ci direction: GradientDirection.Right, 95c41cb6d2Sopenharmony_ci colors: [[$r("app.color.DCEAF9"), 0.0], [$r("app.color.FAFAFA"), 1.0]] 96c41cb6d2Sopenharmony_ci } : { 97c41cb6d2Sopenharmony_ci angle: 90, 98c41cb6d2Sopenharmony_ci direction: GradientDirection.Right, 99c41cb6d2Sopenharmony_ci colors: [[$r("sys.color.ohos_id_color_foreground_contrary"), 1], [$r("sys.color.ohos_id_color_foreground_contrary"), 1]] 100c41cb6d2Sopenharmony_ci }) 101c41cb6d2Sopenharmony_ci .onTouch((event?: TouchEvent | undefined) => { 102c41cb6d2Sopenharmony_ci if (event?.type === TouchType.Down) { 103c41cb6d2Sopenharmony_ci this.isTouched = true; 104c41cb6d2Sopenharmony_ci } 105c41cb6d2Sopenharmony_ci if (event?.type === TouchType.Up) { 106c41cb6d2Sopenharmony_ci this.isTouched = false; 107c41cb6d2Sopenharmony_ci } 108c41cb6d2Sopenharmony_ci }) 109c41cb6d2Sopenharmony_ci .onClick(() => { 110c41cb6d2Sopenharmony_ci SettingListModel.onSettingItemClick(this.targetPage); 111c41cb6d2Sopenharmony_ci }) 112c41cb6d2Sopenharmony_ci } 113c41cb6d2Sopenharmony_ci}