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 CallServiceProxy from '../../model/CallServiceProxy'; 1799da06d0Sopenharmony_ciimport DtmfBtn from '../components/DtmfBtn'; 1899da06d0Sopenharmony_ciimport DefaultCallData from '../struct/TypeUtils'; 1999da06d0Sopenharmony_ci 2099da06d0Sopenharmony_ciclass DataListStruct { 2199da06d0Sopenharmony_ci public value: string 2299da06d0Sopenharmony_ci public sign: string 2399da06d0Sopenharmony_ci} 2499da06d0Sopenharmony_ciconst TAG = 'Keyboard'; 2599da06d0Sopenharmony_ci 2699da06d0Sopenharmony_ci@Component 2799da06d0Sopenharmony_ciexport default struct Keyboard { 2899da06d0Sopenharmony_ci @Link callData: DefaultCallData; 2999da06d0Sopenharmony_ci @StorageLink('TextInput') textInput: string = ''; 3099da06d0Sopenharmony_ci @StorageLink('TextInputValue') textInputValue: string = ''; 3199da06d0Sopenharmony_ci @State dataList: Array<DataListStruct> = 3299da06d0Sopenharmony_ci [ 3399da06d0Sopenharmony_ci { 3499da06d0Sopenharmony_ci value: '1', 3599da06d0Sopenharmony_ci sign: 'o_o' 3699da06d0Sopenharmony_ci }, 3799da06d0Sopenharmony_ci { 3899da06d0Sopenharmony_ci value: '2', 3999da06d0Sopenharmony_ci sign: 'ABC' 4099da06d0Sopenharmony_ci }, 4199da06d0Sopenharmony_ci { 4299da06d0Sopenharmony_ci value: '3', 4399da06d0Sopenharmony_ci sign: 'DEF' 4499da06d0Sopenharmony_ci }, 4599da06d0Sopenharmony_ci { 4699da06d0Sopenharmony_ci value: '4', 4799da06d0Sopenharmony_ci sign: 'GHI' 4899da06d0Sopenharmony_ci }, 4999da06d0Sopenharmony_ci { 5099da06d0Sopenharmony_ci value: '5', 5199da06d0Sopenharmony_ci sign: 'JKL' 5299da06d0Sopenharmony_ci }, 5399da06d0Sopenharmony_ci { 5499da06d0Sopenharmony_ci value: '6', 5599da06d0Sopenharmony_ci sign: 'MNO' 5699da06d0Sopenharmony_ci }, 5799da06d0Sopenharmony_ci { 5899da06d0Sopenharmony_ci value: '7', 5999da06d0Sopenharmony_ci sign: 'PQRS' 6099da06d0Sopenharmony_ci }, 6199da06d0Sopenharmony_ci { 6299da06d0Sopenharmony_ci value: '8', 6399da06d0Sopenharmony_ci sign: 'TUV' 6499da06d0Sopenharmony_ci }, 6599da06d0Sopenharmony_ci { 6699da06d0Sopenharmony_ci value: '9', 6799da06d0Sopenharmony_ci sign: 'WXYZ' 6899da06d0Sopenharmony_ci }, 6999da06d0Sopenharmony_ci { 7099da06d0Sopenharmony_ci value: '*', 7199da06d0Sopenharmony_ci sign: '(P)' 7299da06d0Sopenharmony_ci }, 7399da06d0Sopenharmony_ci { 7499da06d0Sopenharmony_ci value: '0', 7599da06d0Sopenharmony_ci sign: '+' 7699da06d0Sopenharmony_ci }, 7799da06d0Sopenharmony_ci { 7899da06d0Sopenharmony_ci value: '#', 7999da06d0Sopenharmony_ci sign: '(W)' 8099da06d0Sopenharmony_ci }, 8199da06d0Sopenharmony_ci ]; 8299da06d0Sopenharmony_ci private mCallServiceProxy: CallServiceProxy; 8399da06d0Sopenharmony_ci 8499da06d0Sopenharmony_ci public aboutToAppear(): void { 8599da06d0Sopenharmony_ci this.mCallServiceProxy = CallServiceProxy.getInstance(); 8699da06d0Sopenharmony_ci } 8799da06d0Sopenharmony_ci 8899da06d0Sopenharmony_ci build() { 8999da06d0Sopenharmony_ci GridRow({ columns: { sm: 4, md: 8, lg: 12 }, gutter: 24 }) { 9099da06d0Sopenharmony_ci GridCol({ span: { sm: 4, md: 6, lg: 6 }, offset: { md: 1, lg: 3 } }) { 9199da06d0Sopenharmony_ci Grid() { 9299da06d0Sopenharmony_ci ForEach(this.dataList, (item) => { 9399da06d0Sopenharmony_ci GridItem() { 9499da06d0Sopenharmony_ci DtmfBtn({ 9599da06d0Sopenharmony_ci item: item, 9699da06d0Sopenharmony_ci textInput: $textInput, 9799da06d0Sopenharmony_ci textInputValue: $textInputValue, 9899da06d0Sopenharmony_ci dataList: $dataList, 9999da06d0Sopenharmony_ci callData: this.callData 10099da06d0Sopenharmony_ci }) 10199da06d0Sopenharmony_ci } 10299da06d0Sopenharmony_ci .height(56.5) 10399da06d0Sopenharmony_ci }) 10499da06d0Sopenharmony_ci } 10599da06d0Sopenharmony_ci .columnsGap(24) 10699da06d0Sopenharmony_ci .rowsGap(20.5) 10799da06d0Sopenharmony_ci .columnsTemplate('1fr 1fr 1fr') 10899da06d0Sopenharmony_ci .rowsTemplate('1fr 1fr 1fr 1fr') 10999da06d0Sopenharmony_ci } 11099da06d0Sopenharmony_ci .height(287.5) 11199da06d0Sopenharmony_ci } 11299da06d0Sopenharmony_ci .margin({ left: 24, right: 24 }) 11399da06d0Sopenharmony_ci } 11499da06d0Sopenharmony_ci}