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 isChanged: number; 21 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 || menuChanged.isChanged > menuChanged.menuArray.length 32 || menuChanged.isChanged == Constants.NEGATIVE_2) { 33 menuChanged.isChanged = Constants.NEGATIVE_1; 34 return; 35 } 36 for (let i = 0; i < menuChanged.menuArray.length; i++) { 37 if (i == menuChanged.isChanged) { 38 menuChanged.menuArray[i].isActive = !menuChanged.menuArray[i].isActive; 39 } else { 40 menuChanged.menuArray[i].isActive = false; 41 } 42 } 43 menuChanged.isChanged = Constants.NEGATIVE_1; 44 } 45 46 static itselfChanged(menuChanged: RefreshActionMenu) { 47 if (menuChanged.isChanged == Constants.NEGATIVE_1 || menuChanged.isChanged > menuChanged.menuArray.length) { 48 return; 49 } 50 for (let i = 0; i < menuChanged.menuArray.length; i++) { 51 if (i == menuChanged.isChanged) { 52 menuChanged.menuArray[i].isActive = !menuChanged.menuArray[i].isActive; 53 } 54 } 55 menuChanged.isChanged = Constants.NEGATIVE_1; 56 } 57 58 static isActiveNotChanged(menuChanged: RefreshActionMenu) { 59 if (menuChanged.isChanged == Constants.NEGATIVE_1 || menuChanged.isChanged > menuChanged.menuArray.length) { 60 return; 61 } 62 for (let i = 0; i < menuChanged.menuArray.length; i++) { 63 if (i == menuChanged.isChanged) { 64 if (!menuChanged.menuArray[i].isActive) { 65 menuChanged.menuArray[i].isActive = !menuChanged.menuArray[i].isActive; 66 } 67 } else { 68 menuChanged.menuArray[i].isActive = false; 69 } 70 } 71 menuChanged.isChanged = Constants.NEGATIVE_1; 72 } 73}