199da06d0Sopenharmony_ci/**
299da06d0Sopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd.
399da06d0Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
499da06d0Sopenharmony_ci * you may not use this file except in compliance with the License.
599da06d0Sopenharmony_ci * You may obtain a copy of the License at
699da06d0Sopenharmony_ci *
799da06d0Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
899da06d0Sopenharmony_ci *
999da06d0Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
1099da06d0Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
1199da06d0Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1299da06d0Sopenharmony_ci * See the License for the specific language governing permissions and
1399da06d0Sopenharmony_ci * limitations under the License.
1499da06d0Sopenharmony_ci */
1599da06d0Sopenharmony_ci
1699da06d0Sopenharmony_ciimport LogUtils from '../utils/LogUtils';
1799da06d0Sopenharmony_ci
1899da06d0Sopenharmony_ciconst TAG = 'InComDialog';
1999da06d0Sopenharmony_ci
2099da06d0Sopenharmony_ci@CustomDialog
2199da06d0Sopenharmony_ciexport default struct InComDialog {
2299da06d0Sopenharmony_ci  @StorageLink('curBp') curBp: string = 'md'
2399da06d0Sopenharmony_ci  controller: CustomDialogController;
2499da06d0Sopenharmony_ci  cancel: () => void;
2599da06d0Sopenharmony_ci  confirm: (msg) => void;
2699da06d0Sopenharmony_ci  cancelHandle: () => void;
2799da06d0Sopenharmony_ci  list: [];
2899da06d0Sopenharmony_ci
2999da06d0Sopenharmony_ci  build() {
3099da06d0Sopenharmony_ci    GridRow({ columns: { xs: 4, sm: 4, md: 8, lg: 12 }, gutter: 12 }) {
3199da06d0Sopenharmony_ci      GridCol({ span: 4, offset: { md: 2, lg: 4 } }) {
3299da06d0Sopenharmony_ci        Column() {
3399da06d0Sopenharmony_ci          Column() {
3499da06d0Sopenharmony_ci            Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Start }) {
3599da06d0Sopenharmony_ci              Text($r('app.string.hangUpReply'))
3699da06d0Sopenharmony_ci                .fontSize(20)
3799da06d0Sopenharmony_ci                .fontWeight(FontWeight.Medium)
3899da06d0Sopenharmony_ci                .fontColor('#182431')
3999da06d0Sopenharmony_ci                .height(56)
4099da06d0Sopenharmony_ci            }
4199da06d0Sopenharmony_ci            .onClick(() => {
4299da06d0Sopenharmony_ci              return;
4399da06d0Sopenharmony_ci            })
4499da06d0Sopenharmony_ci
4599da06d0Sopenharmony_ci            Column() {
4699da06d0Sopenharmony_ci              ForEach(this.list, (item) => {
4799da06d0Sopenharmony_ci                Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) {
4899da06d0Sopenharmony_ci                  Text(item.msg)
4999da06d0Sopenharmony_ci                    .width('100%')
5099da06d0Sopenharmony_ci                    .fontSize(16)
5199da06d0Sopenharmony_ci                    .height(48)
5299da06d0Sopenharmony_ci                    .fontColor('#182431')
5399da06d0Sopenharmony_ci                    .fontWeight(FontWeight.Medium)
5499da06d0Sopenharmony_ci                }
5599da06d0Sopenharmony_ci                .onClick(() => {
5699da06d0Sopenharmony_ci                  this.controller.close();
5799da06d0Sopenharmony_ci                  this.confirm(item)
5899da06d0Sopenharmony_ci                  LogUtils.i(TAG, 'onClick and confirm');
5999da06d0Sopenharmony_ci                })
6099da06d0Sopenharmony_ci
6199da06d0Sopenharmony_ci                if (item.id !== 4) {
6299da06d0Sopenharmony_ci                  Divider()
6399da06d0Sopenharmony_ci                    .color($r('app.color.divider_gray'))
6499da06d0Sopenharmony_ci                    .height(0.5)
6599da06d0Sopenharmony_ci                }
6699da06d0Sopenharmony_ci              })
6799da06d0Sopenharmony_ci            }
6899da06d0Sopenharmony_ci
6999da06d0Sopenharmony_ci            Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) {
7099da06d0Sopenharmony_ci              Text($r('app.string.cancel'))
7199da06d0Sopenharmony_ci                .fontColor('#00CB87')
7299da06d0Sopenharmony_ci                .fontSize(16)
7399da06d0Sopenharmony_ci                .height(40)
7499da06d0Sopenharmony_ci                .fontWeight(FontWeight.Medium)
7599da06d0Sopenharmony_ci            }
7699da06d0Sopenharmony_ci            .margin({ top: 8, bottom: 16 })
7799da06d0Sopenharmony_ci            .onClick(() => {
7899da06d0Sopenharmony_ci              LogUtils.i(TAG, 'onClick');
7999da06d0Sopenharmony_ci              this.controller.close();
8099da06d0Sopenharmony_ci            })
8199da06d0Sopenharmony_ci          }
8299da06d0Sopenharmony_ci          .padding({ left: 24, right: 24 })
8399da06d0Sopenharmony_ci          .backgroundColor(Color.White)
8499da06d0Sopenharmony_ci          .borderRadius(32)
8599da06d0Sopenharmony_ci        }
8699da06d0Sopenharmony_ci        .height('100%')
8799da06d0Sopenharmony_ci        .justifyContent(this.curBp === 'sm' ? FlexAlign.End : FlexAlign.Center)
8899da06d0Sopenharmony_ci      }
8999da06d0Sopenharmony_ci    }
9099da06d0Sopenharmony_ci    .margin({ left: 12, right: 12, bottom: this.curBp === 'sm' ? 16 : 0 })
9199da06d0Sopenharmony_ci    .onClick(() => {
9299da06d0Sopenharmony_ci      this.controller.close();
9399da06d0Sopenharmony_ci    })
9499da06d0Sopenharmony_ci  }
9599da06d0Sopenharmony_ci}