1/* 2* Copyright (C) 2023-2023 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 16/** 17 * @file 18 * @kit ArkUI 19 */ 20 21/// <reference path="../component/units.d.ts" /> 22 23import { ResourceStr } from 'GlobalResource'; 24 25/** 26 * Declare FilterType 27 * @enum { FilterType } 28 * @syscap SystemCapability.ArkUI.ArkUI.Full 29 * @since 10 30 */ 31 32 33/** 34 * Declare FilterType 35 * @enum { FilterType } 36 * @syscap SystemCapability.ArkUI.ArkUI.Full 37 * @atomicservice 38 * @since 11 39 */ 40export declare enum FilterType { 41 /** 42 * The multi_line_filter type. 43 * @syscap SystemCapability.ArkUI.ArkUI.Full 44 * @since 10 45 */ 46 /** 47 * The multi_line_filter type. 48 * @syscap SystemCapability.ArkUI.ArkUI.Full 49 * @atomicservice 50 * @since 11 51 */ 52 MULTI_LINE_FILTER = 0, 53 54 /** 55 * The list_filter type. 56 * @syscap SystemCapability.ArkUI.ArkUI.Full 57 * @since 10 58 */ 59 /** 60 * The list_filter type. 61 * @syscap SystemCapability.ArkUI.ArkUI.Full 62 * @atomicservice 63 * @since 11 64 */ 65 LIST_FILTER = 1 66} 67 68/** 69 * This parameter is used to define the input of each filtering dimension. 70 * @syscap SystemCapability.ArkUI.ArkUI.Full 71 * @since 10 72 */ 73/** 74 * This parameter is used to define the input of each filtering dimension. 75 * @syscap SystemCapability.ArkUI.ArkUI.Full 76 * @atomicservice 77 * @since 11 78 */ 79export declare class FilterParams { 80 /** 81 * filter item name. 82 * @type { ResourceStr } 83 * @syscap SystemCapability.ArkUI.ArkUI.Full 84 * @since 10 85 */ 86 /** 87 * filter item name. 88 * @type { ResourceStr } 89 * @syscap SystemCapability.ArkUI.ArkUI.Full 90 * @atomicservice 91 * @since 11 92 */ 93 name: ResourceStr; 94 /** 95 * filter options. 96 * @type { Array<ResourceStr> } 97 * @syscap SystemCapability.ArkUI.ArkUI.Full 98 * @since 10 99 */ 100 /** 101 * filter options. 102 * @type { Array<ResourceStr> } 103 * @syscap SystemCapability.ArkUI.ArkUI.Full 104 * @atomicservice 105 * @since 11 106 */ 107 options: Array<ResourceStr>; 108} 109 110/** 111 * This parameter specifies the selection result of a filtering dimension. 112 * The index starts from 0. 113 * @syscap SystemCapability.ArkUI.ArkUI.Full 114 * @since 10 115 */ 116/** 117 * This parameter specifies the selection result of a filtering dimension. 118 * The index starts from 0. 119 * @syscap SystemCapability.ArkUI.ArkUI.Full 120 * @atomicservice 121 * @since 11 122 */ 123export declare class FilterResult { 124 /** 125 * result name. 126 * @type { ResourceStr } 127 * @syscap SystemCapability.ArkUI.ArkUI.Full 128 * @since 10 129 */ 130 /** 131 * result name. 132 * @type { ResourceStr } 133 * @syscap SystemCapability.ArkUI.ArkUI.Full 134 * @atomicservice 135 * @since 11 136 */ 137 name: ResourceStr; 138 /** 139 * result index. 140 * @type { number } 141 * @syscap SystemCapability.ArkUI.ArkUI.Full 142 * @since 10 143 */ 144 /** 145 * result index. 146 * @type { number } 147 * @syscap SystemCapability.ArkUI.ArkUI.Full 148 * @atomicservice 149 * @since 11 150 */ 151 index: number; 152 /** 153 * result value. 154 * @type { ResourceStr } 155 * @syscap SystemCapability.ArkUI.ArkUI.Full 156 * @since 10 157 */ 158 /** 159 * result value. 160 * @type { ResourceStr } 161 * @syscap SystemCapability.ArkUI.ArkUI.Full 162 * @atomicservice 163 * @since 11 164 */ 165 value: ResourceStr; 166} 167 168/** 169 * Declare Filter.The Filter is used in scenarios where multi-dimensional filtering is required. 170 * @syscap SystemCapability.ArkUI.ArkUI.Full 171 * @since 10 172 */ 173/** 174 * Declare Filter.The Filter is used in scenarios where multi-dimensional filtering is required. 175 * @syscap SystemCapability.ArkUI.ArkUI.Full 176 * @atomicservice 177 * @since 11 178 */ 179@Component 180export declare struct Filter { 181 /** 182 * Container in the user-defined filtering result display area. 183 * @type { () => void } 184 * @syscap SystemCapability.ArkUI.ArkUI.Full 185 * @since 10 186 */ 187 /** 188 * Container in the user-defined filtering result display area. 189 * @type { () => void } 190 * @syscap SystemCapability.ArkUI.ArkUI.Full 191 * @atomicservice 192 * @since 11 193 */ 194 @BuilderParam container: () => void; 195 196 /** 197 * Multi-dimensional filtering parameters. 198 * @type { Array<FilterParams> } 199 * @syscap SystemCapability.ArkUI.ArkUI.Full 200 * @since 10 201 */ 202 /** 203 * Multi-dimensional filtering parameters. 204 * @type { Array<FilterParams> } 205 * @syscap SystemCapability.ArkUI.ArkUI.Full 206 * @atomicservice 207 * @since 11 208 */ 209 @Prop multiFilters: Array<FilterParams>; 210 211 /** 212 * FilterParams, Additional filter item parameter. The filter item name is displayed and can be deselected. 213 * @type { ?FilterParams } 214 * @syscap SystemCapability.ArkUI.ArkUI.Full 215 * @since 10 216 */ 217 /** 218 * FilterParams, Additional filter item parameter. The filter item name is displayed and can be deselected. 219 * @type { ?FilterParams } 220 * @syscap SystemCapability.ArkUI.ArkUI.Full 221 * @atomicservice 222 * @since 11 223 */ 224 @Prop additionFilters?: FilterParams; 225 226 /** 227 * FilterParams, Callback method after a user clicks a filter item. 228 * @param { (filterResults: Array<FilterResult>) => void } FilterType, Filter display style type. 229 * @syscap SystemCapability.ArkUI.ArkUI.Full 230 * @since 10 231 */ 232 /** 233 * FilterParams, Callback method after a user clicks a filter item. 234 * @param { (filterResults: Array<FilterResult>) => void } FilterType, Filter display style type. 235 * @syscap SystemCapability.ArkUI.ArkUI.Full 236 * @atomicservice 237 * @since 11 238 */ 239 onFilterChanged: (filterResults: Array<FilterResult>) => void; 240 241 /** 242 * FilterType, Filter display style type. 243 * @type { ?FilterType } 244 * @syscap SystemCapability.ArkUI.ArkUI.Full 245 * @since 10 246 */ 247 /** 248 * FilterType, Filter display style type. 249 * @type { ?FilterType } 250 * @syscap SystemCapability.ArkUI.ArkUI.Full 251 * @atomicservice 252 * @since 11 253 */ 254 @Prop filterType?: FilterType; 255}