• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/**
2 * Copyright (c) 2021-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 {
17  CommonConstants,
18  LayoutViewModel,
19  AppListStyleConfig
20} from '@ohos/common';
21import FeatureConstants from './constants/FeatureConstants';
22
23/**
24 * Form style config
25 */
26export class FormStyleConfig extends AppListStyleConfig {
27
28  mFormWidth: Map<string,number> = new Map<string,number>();
29
30  mFormHeight: Map<string,number> = new Map<string,number>();
31
32  /**
33   * Form name size
34   */
35  mFormNameSize = 20;
36
37  /**
38   * Form name height
39   */
40  mFolderNameHeight = 25;
41
42  /**
43   * Form dimension width 1 * 2
44   */
45  mDimensionWidth_1_2 = 54;
46
47  /**
48   * Form dimension height 1 * 2
49   */
50  mDimensionHeight_1_2 = 128;
51
52  /**
53   * Form dimension width 2 * 2
54   */
55  mDimensionWidth_2_2 = 128;
56
57  /**
58   * Form dimension height 2 * 2
59   */
60  mDimensionHeight_2_2 = 128;
61
62  /**
63   * Form dimension width 2 * 4
64   */
65  mDimensionWidth_2_4 = 128;
66
67  /**
68   * Form dimension height 2 * 4
69   */
70  mDimensionHeight_2_4 = 202;
71
72  /**
73   * Form dimension width 4 * 4
74   */
75  mDimensionWidth_4_4 = 202;
76
77  /**
78   * Form dimension height 4 * 4
79   */
80  mDimensionHeight_4_4 = 202;
81
82  /**
83   * Form list blur
84   */
85  mBackdropBlur = 20;
86
87  protected constructor() {
88    super();
89  }
90
91  /**
92   * Get form style configuration instance.
93   *
94   * @return {object} FormStyleConfig singleton
95   */
96  static getInstance(): FormStyleConfig {
97    if (globalThis.FormStyleConfigInstance == null) {
98      globalThis.FormStyleConfigInstance = new FormStyleConfig();
99    }
100    globalThis.FormStyleConfigInstance.initConfig();
101    return globalThis.FormStyleConfigInstance;
102  }
103
104  /**
105   * Init form style configuration.
106   */
107  initConfig(): void {
108    const result = LayoutViewModel.getInstance().calculateForm();
109    this.mFormWidth.set(CommonConstants.CARD_DIMENSION_1x2.toString(), result.widthDimension1);
110    this.mFormHeight.set(CommonConstants.CARD_DIMENSION_1x2.toString(), result.heightDimension1);
111    this.mFormWidth.set(CommonConstants.CARD_DIMENSION_2x2.toString(), result.widthDimension2);
112    this.mFormHeight.set(CommonConstants.CARD_DIMENSION_2x2.toString(), result.heightDimension2);
113    this.mFormWidth.set(CommonConstants.CARD_DIMENSION_2x4.toString(), result.widthDimension3);
114    this.mFormHeight.set(CommonConstants.CARD_DIMENSION_2x4.toString(), result.heightDimension3);
115    this.mFormWidth.set(CommonConstants.CARD_DIMENSION_4x4.toString(), result.widthDimension4);
116    this.mFormHeight.set(CommonConstants.CARD_DIMENSION_4x4.toString(), result.heightDimension4);
117    this.mIconNameMargin = result.mIconNameMargin;
118  }
119
120  /**
121   * Get form style configuration level.
122   *
123   * @return {string} feature-level layout configuration
124   */
125  getConfigLevel(): string {
126    return CommonConstants.LAYOUT_CONFIG_LEVEL_FEATURE;
127  }
128
129  /**
130   * Get form style feature name.
131   *
132   * @return {string} feature name
133   */
134  getFeatureName(): string {
135    return FeatureConstants.FEATURE_NAME;
136  }
137}
138