1/* 2 * Copyright (c) 2022 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16import { ActionButtonInfo } from './MainMenuInfo'; 17import { Constants } from '@ohos/common'; 18 19export class RefreshActionMenu { 20 public isChanged: number; 21 public menuArray: Array<ActionButtonInfo>; 22 23 constructor(isChanged: number, menuArray: Array<ActionButtonInfo>) { 24 this.isChanged = isChanged; 25 this.menuArray = menuArray; 26 } 27} 28 29export class ActionChangedEvent { 30 static allChanged(menuChanged: RefreshActionMenu) { 31 if (menuChanged.isChanged == Constants.NEGATIVE_1 || 32 menuChanged.isChanged > menuChanged.menuArray.length || 33 menuChanged.isChanged == Constants.NEGATIVE_2) { 34 menuChanged.isChanged = Constants.NEGATIVE_1; 35 return; 36 } 37 for (let i = 0; i < menuChanged.menuArray.length; i++) { 38 if (i == menuChanged.isChanged) { 39 menuChanged.menuArray[i].isActive = !menuChanged.menuArray[i].isActive; 40 } else { 41 menuChanged.menuArray[i].isActive = false; 42 } 43 } 44 menuChanged.isChanged = Constants.NEGATIVE_1; 45 } 46 47 static itselfChanged(menuChanged: RefreshActionMenu) { 48 if (menuChanged.isChanged == Constants.NEGATIVE_1 || menuChanged.isChanged > menuChanged.menuArray.length) { 49 return; 50 } 51 for (let i = 0; i < menuChanged.menuArray.length; i++) { 52 if (i == menuChanged.isChanged) { 53 menuChanged.menuArray[i].isActive = !menuChanged.menuArray[i].isActive; 54 } 55 } 56 menuChanged.isChanged = Constants.NEGATIVE_1; 57 } 58 59 static isActiveNotChanged(menuChanged: RefreshActionMenu) { 60 if (menuChanged.isChanged == Constants.NEGATIVE_1 || menuChanged.isChanged > menuChanged.menuArray.length) { 61 return; 62 } 63 for (let i = 0; i < menuChanged.menuArray.length; i++) { 64 if (i == menuChanged.isChanged) { 65 if (!menuChanged.menuArray[i].isActive) { 66 menuChanged.menuArray[i].isActive = !menuChanged.menuArray[i].isActive; 67 } 68 } else { 69 menuChanged.menuArray[i].isActive = false; 70 } 71 } 72 menuChanged.isChanged = Constants.NEGATIVE_1; 73 } 74}