161847f8eSopenharmony_ci/* 261847f8eSopenharmony_ci* Copyright (C) 2023-2023 Huawei Device Co., Ltd. 361847f8eSopenharmony_ci* Licensed under the Apache License, Version 2.0 (the "License"); 461847f8eSopenharmony_ci* you may not use this file except in compliance with the License. 561847f8eSopenharmony_ci* You may obtain a copy of the License at 661847f8eSopenharmony_ci* 761847f8eSopenharmony_ci* http://www.apache.org/licenses/LICENSE-2.0 861847f8eSopenharmony_ci* 961847f8eSopenharmony_ci* Unless required by applicable law or agreed to in writing, software 1061847f8eSopenharmony_ci* distributed under the License is distributed on an "AS IS" BASIS, 1161847f8eSopenharmony_ci* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1261847f8eSopenharmony_ci* See the License for the specific language governing permissions and 1361847f8eSopenharmony_ci* limitations under the License. 1461847f8eSopenharmony_ci*/ 1561847f8eSopenharmony_ci 1661847f8eSopenharmony_ci/** 1761847f8eSopenharmony_ci * @file 1861847f8eSopenharmony_ci * @kit ArkUI 1961847f8eSopenharmony_ci */ 2061847f8eSopenharmony_ci 2161847f8eSopenharmony_ci 2261847f8eSopenharmony_ci 2361847f8eSopenharmony_ci 2461847f8eSopenharmony_ci 2561847f8eSopenharmony_ci/** 2661847f8eSopenharmony_ci * Declare FilterType 2761847f8eSopenharmony_ci * @enum { FilterType } 2861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 2961847f8eSopenharmony_ci * @since 10 3061847f8eSopenharmony_ci */ 3161847f8eSopenharmony_ci 3261847f8eSopenharmony_ci 3361847f8eSopenharmony_ci/** 3461847f8eSopenharmony_ci * Declare FilterType 3561847f8eSopenharmony_ci * @enum { FilterType } 3661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 3761847f8eSopenharmony_ci * @atomicservice 3861847f8eSopenharmony_ci * @since 11 3961847f8eSopenharmony_ci */ 4061847f8eSopenharmony_ciexport declare enum FilterType { 4161847f8eSopenharmony_ci /** 4261847f8eSopenharmony_ci * The multi_line_filter type. 4361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 4461847f8eSopenharmony_ci * @since 10 4561847f8eSopenharmony_ci */ 4661847f8eSopenharmony_ci /** 4761847f8eSopenharmony_ci * The multi_line_filter type. 4861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 4961847f8eSopenharmony_ci * @atomicservice 5061847f8eSopenharmony_ci * @since 11 5161847f8eSopenharmony_ci */ 5261847f8eSopenharmony_ci MULTI_LINE_FILTER = 0, 5361847f8eSopenharmony_ci 5461847f8eSopenharmony_ci /** 5561847f8eSopenharmony_ci * The list_filter type. 5661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 5761847f8eSopenharmony_ci * @since 10 5861847f8eSopenharmony_ci */ 5961847f8eSopenharmony_ci /** 6061847f8eSopenharmony_ci * The list_filter type. 6161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 6261847f8eSopenharmony_ci * @atomicservice 6361847f8eSopenharmony_ci * @since 11 6461847f8eSopenharmony_ci */ 6561847f8eSopenharmony_ci LIST_FILTER = 1 6661847f8eSopenharmony_ci} 6761847f8eSopenharmony_ci 6861847f8eSopenharmony_ci/** 6961847f8eSopenharmony_ci * This parameter is used to define the input of each filtering dimension. 7061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 7161847f8eSopenharmony_ci * @since 10 7261847f8eSopenharmony_ci */ 7361847f8eSopenharmony_ci/** 7461847f8eSopenharmony_ci * This parameter is used to define the input of each filtering dimension. 7561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 7661847f8eSopenharmony_ci * @atomicservice 7761847f8eSopenharmony_ci * @since 11 7861847f8eSopenharmony_ci */ 7961847f8eSopenharmony_ciexport declare class FilterParams { 8061847f8eSopenharmony_ci /** 8161847f8eSopenharmony_ci * filter item name. 8261847f8eSopenharmony_ci * @type { ResourceStr } 8361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 8461847f8eSopenharmony_ci * @since 10 8561847f8eSopenharmony_ci */ 8661847f8eSopenharmony_ci /** 8761847f8eSopenharmony_ci * filter item name. 8861847f8eSopenharmony_ci * @type { ResourceStr } 8961847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 9061847f8eSopenharmony_ci * @atomicservice 9161847f8eSopenharmony_ci * @since 11 9261847f8eSopenharmony_ci */ 9361847f8eSopenharmony_ci name: ResourceStr; 9461847f8eSopenharmony_ci /** 9561847f8eSopenharmony_ci * filter options. 9661847f8eSopenharmony_ci * @type { Array<ResourceStr> } 9761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 9861847f8eSopenharmony_ci * @since 10 9961847f8eSopenharmony_ci */ 10061847f8eSopenharmony_ci /** 10161847f8eSopenharmony_ci * filter options. 10261847f8eSopenharmony_ci * @type { Array<ResourceStr> } 10361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 10461847f8eSopenharmony_ci * @atomicservice 10561847f8eSopenharmony_ci * @since 11 10661847f8eSopenharmony_ci */ 10761847f8eSopenharmony_ci options: Array<ResourceStr>; 10861847f8eSopenharmony_ci} 10961847f8eSopenharmony_ci 11061847f8eSopenharmony_ci/** 11161847f8eSopenharmony_ci * This parameter specifies the selection result of a filtering dimension. 11261847f8eSopenharmony_ci * The index starts from 0. 11361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 11461847f8eSopenharmony_ci * @since 10 11561847f8eSopenharmony_ci */ 11661847f8eSopenharmony_ci/** 11761847f8eSopenharmony_ci * This parameter specifies the selection result of a filtering dimension. 11861847f8eSopenharmony_ci * The index starts from 0. 11961847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 12061847f8eSopenharmony_ci * @atomicservice 12161847f8eSopenharmony_ci * @since 11 12261847f8eSopenharmony_ci */ 12361847f8eSopenharmony_ciexport declare class FilterResult { 12461847f8eSopenharmony_ci /** 12561847f8eSopenharmony_ci * result name. 12661847f8eSopenharmony_ci * @type { ResourceStr } 12761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 12861847f8eSopenharmony_ci * @since 10 12961847f8eSopenharmony_ci */ 13061847f8eSopenharmony_ci /** 13161847f8eSopenharmony_ci * result name. 13261847f8eSopenharmony_ci * @type { ResourceStr } 13361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 13461847f8eSopenharmony_ci * @atomicservice 13561847f8eSopenharmony_ci * @since 11 13661847f8eSopenharmony_ci */ 13761847f8eSopenharmony_ci name: ResourceStr; 13861847f8eSopenharmony_ci /** 13961847f8eSopenharmony_ci * result index. 14061847f8eSopenharmony_ci * @type { number } 14161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 14261847f8eSopenharmony_ci * @since 10 14361847f8eSopenharmony_ci */ 14461847f8eSopenharmony_ci /** 14561847f8eSopenharmony_ci * result index. 14661847f8eSopenharmony_ci * @type { number } 14761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 14861847f8eSopenharmony_ci * @atomicservice 14961847f8eSopenharmony_ci * @since 11 15061847f8eSopenharmony_ci */ 15161847f8eSopenharmony_ci index: number; 15261847f8eSopenharmony_ci /** 15361847f8eSopenharmony_ci * result value. 15461847f8eSopenharmony_ci * @type { ResourceStr } 15561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 15661847f8eSopenharmony_ci * @since 10 15761847f8eSopenharmony_ci */ 15861847f8eSopenharmony_ci /** 15961847f8eSopenharmony_ci * result value. 16061847f8eSopenharmony_ci * @type { ResourceStr } 16161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 16261847f8eSopenharmony_ci * @atomicservice 16361847f8eSopenharmony_ci * @since 11 16461847f8eSopenharmony_ci */ 16561847f8eSopenharmony_ci value: ResourceStr; 16661847f8eSopenharmony_ci} 16761847f8eSopenharmony_ci 16861847f8eSopenharmony_ci/** 16961847f8eSopenharmony_ci * Declare Filter.The Filter is used in scenarios where multi-dimensional filtering is required. 17061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 17161847f8eSopenharmony_ci * @since 10 17261847f8eSopenharmony_ci */ 17361847f8eSopenharmony_ci/** 17461847f8eSopenharmony_ci * Declare Filter.The Filter is used in scenarios where multi-dimensional filtering is required. 17561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 17661847f8eSopenharmony_ci * @atomicservice 17761847f8eSopenharmony_ci * @since 11 17861847f8eSopenharmony_ci */ 17961847f8eSopenharmony_ci@Component 18061847f8eSopenharmony_ciexport declare struct Filter { 18161847f8eSopenharmony_ci /** 18261847f8eSopenharmony_ci * Container in the user-defined filtering result display area. 18361847f8eSopenharmony_ci * @type { () => void } 18461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 18561847f8eSopenharmony_ci * @since 10 18661847f8eSopenharmony_ci */ 18761847f8eSopenharmony_ci /** 18861847f8eSopenharmony_ci * Container in the user-defined filtering result display area. 18961847f8eSopenharmony_ci * @type { () => void } 19061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 19161847f8eSopenharmony_ci * @atomicservice 19261847f8eSopenharmony_ci * @since 11 19361847f8eSopenharmony_ci */ 19461847f8eSopenharmony_ci @BuilderParam container: () => void; 19561847f8eSopenharmony_ci 19661847f8eSopenharmony_ci /** 19761847f8eSopenharmony_ci * Multi-dimensional filtering parameters. 19861847f8eSopenharmony_ci * @type { Array<FilterParams> } 19961847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 20061847f8eSopenharmony_ci * @since 10 20161847f8eSopenharmony_ci */ 20261847f8eSopenharmony_ci /** 20361847f8eSopenharmony_ci * Multi-dimensional filtering parameters. 20461847f8eSopenharmony_ci * @type { Array<FilterParams> } 20561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 20661847f8eSopenharmony_ci * @atomicservice 20761847f8eSopenharmony_ci * @since 11 20861847f8eSopenharmony_ci */ 20961847f8eSopenharmony_ci @Prop multiFilters: Array<FilterParams>; 21061847f8eSopenharmony_ci 21161847f8eSopenharmony_ci /** 21261847f8eSopenharmony_ci * FilterParams, Additional filter item parameter. The filter item name is displayed and can be deselected. 21361847f8eSopenharmony_ci * @type { ?FilterParams } 21461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 21561847f8eSopenharmony_ci * @since 10 21661847f8eSopenharmony_ci */ 21761847f8eSopenharmony_ci /** 21861847f8eSopenharmony_ci * FilterParams, Additional filter item parameter. The filter item name is displayed and can be deselected. 21961847f8eSopenharmony_ci * @type { ?FilterParams } 22061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 22161847f8eSopenharmony_ci * @atomicservice 22261847f8eSopenharmony_ci * @since 11 22361847f8eSopenharmony_ci */ 22461847f8eSopenharmony_ci @Prop additionFilters?: FilterParams; 22561847f8eSopenharmony_ci 22661847f8eSopenharmony_ci /** 22761847f8eSopenharmony_ci * FilterParams, Callback method after a user clicks a filter item. 22861847f8eSopenharmony_ci * @param { (filterResults: Array<FilterResult>) => void } FilterType, Filter display style type. 22961847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 23061847f8eSopenharmony_ci * @since 10 23161847f8eSopenharmony_ci */ 23261847f8eSopenharmony_ci /** 23361847f8eSopenharmony_ci * FilterParams, Callback method after a user clicks a filter item. 23461847f8eSopenharmony_ci * @param { (filterResults: Array<FilterResult>) => void } FilterType, Filter display style type. 23561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 23661847f8eSopenharmony_ci * @atomicservice 23761847f8eSopenharmony_ci * @since 11 23861847f8eSopenharmony_ci */ 23961847f8eSopenharmony_ci onFilterChanged: (filterResults: Array<FilterResult>) => void; 24061847f8eSopenharmony_ci 24161847f8eSopenharmony_ci /** 24261847f8eSopenharmony_ci * FilterType, Filter display style type. 24361847f8eSopenharmony_ci * @type { ?FilterType } 24461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 24561847f8eSopenharmony_ci * @since 10 24661847f8eSopenharmony_ci */ 24761847f8eSopenharmony_ci /** 24861847f8eSopenharmony_ci * FilterType, Filter display style type. 24961847f8eSopenharmony_ci * @type { ?FilterType } 25061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 25161847f8eSopenharmony_ci * @atomicservice 25261847f8eSopenharmony_ci * @since 11 25361847f8eSopenharmony_ci */ 25461847f8eSopenharmony_ci @Prop filterType?: FilterType; 25561847f8eSopenharmony_ci}