• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
22
23
24
25/**
26 * Control style of operation element
27 * @enum { TreeListenType }
28 * @syscap SystemCapability.ArkUI.ArkUI.Full
29 * @since 10
30 */
31
32
33/**
34 * Control style of operation element
35 * @enum { TreeListenType }
36 * @syscap SystemCapability.ArkUI.ArkUI.Full
37 * @atomicservice
38 * @since 11
39 */
40export declare enum TreeListenType {
41    /**
42     * register listener after a node is clicked.
43     * @syscap SystemCapability.ArkUI.ArkUI.Full
44     * @since 10
45     */
46    /**
47     * register listener after a node is clicked.
48     * @syscap SystemCapability.ArkUI.ArkUI.Full
49     * @atomicservice
50     * @since 11
51     */
52    NODE_CLICK = "NodeClick",
53    /**
54     * register listener after a node is add.
55     * @syscap SystemCapability.ArkUI.ArkUI.Full
56     * @since 10
57     */
58    /**
59     * register listener after a node is add.
60     * @syscap SystemCapability.ArkUI.ArkUI.Full
61     * @atomicservice
62     * @since 11
63     */
64    NODE_ADD = "NodeAdd",
65    /**
66     * register listener after a node is delected.
67     * @syscap SystemCapability.ArkUI.ArkUI.Full
68     * @since 10
69     */
70    /**
71     * register listener after a node is delected.
72     * @syscap SystemCapability.ArkUI.ArkUI.Full
73     * @atomicservice
74     * @since 11
75     */
76    NODE_DELETE = "NodeDelete",
77    /**
78     * register listener after a node is modified.
79     * @syscap SystemCapability.ArkUI.ArkUI.Full
80     * @since 10
81     */
82    /**
83     * register listener after a node is modified.
84     * @syscap SystemCapability.ArkUI.ArkUI.Full
85     * @atomicservice
86     * @since 11
87     */
88    NODE_MODIFY = "NodeModify",
89    /**
90     * register listener after a node is moved.
91     * @syscap SystemCapability.ArkUI.ArkUI.Full
92     * @since 10
93     */
94    /**
95     * register listener after a node is moved.
96     * @syscap SystemCapability.ArkUI.ArkUI.Full
97     * @atomicservice
98     * @since 11
99     */
100    NODE_MOVE = "NodeMove",
101}
102
103/**
104 * Declare class TreeListener
105 * @syscap SystemCapability.ArkUI.ArkUI.Full
106 * @since 10
107 */
108/**
109 * Declare class TreeListener
110 * @syscap SystemCapability.ArkUI.ArkUI.Full
111 * @atomicservice
112 * @since 11
113 */
114export declare class TreeListener {
115    /**
116     * Event registration and processing.
117     * The event will not be destroyed after being processed.
118     *
119     * @param { type } event Registered Events.
120     * @param { callback }.
121     * @syscap SystemCapability.ArkUI.ArkUI.Full
122     * @since 10
123     */
124    /**
125     * Event registration and processing.
126     * The event will not be destroyed after being processed.
127     *
128     * @param { type } event Registered Events.
129     * @param { callback }.
130     * @syscap SystemCapability.ArkUI.ArkUI.Full
131     * @atomicservice
132     * @since 11
133     */
134    on(type: TreeListenType, callback: (callbackParam: CallbackParam) => void): void;
135
136    /**
137     * Event registration and processing.
138     * After the event is processed once, it will be destroyed.
139     *
140     * @param { type } event Registered Events.
141     * @param { callback }.
142     * @syscap SystemCapability.ArkUI.ArkUI.Full
143     * @since 10
144     */
145    /**
146     * Event registration and processing.
147     * After the event is processed once, it will be destroyed.
148     *
149     * @param { type } event Registered Events.
150     * @param { callback }.
151     * @syscap SystemCapability.ArkUI.ArkUI.Full
152     * @atomicservice
153     * @since 11
154     */
155    once(type: TreeListenType, callback: (callbackParam: CallbackParam) => void): void;
156
157    /**
158     * Destroy event.
159     *
160     * @param { type } event Registered Events.
161     * @param { callback }.
162     * @syscap SystemCapability.ArkUI.ArkUI.Full
163     * @since 10
164     */
165    /**
166     * Destroy event.
167     *
168     * @param { type } event Registered Events.
169     * @param { callback }.
170     * @syscap SystemCapability.ArkUI.ArkUI.Full
171     * @atomicservice
172     * @since 11
173     */
174    off(type: TreeListenType, callback?: (callbackParam: CallbackParam) => void): void;
175}
176
177/**
178 * Declare class TreeListenerManager
179 * @syscap SystemCapability.ArkUI.ArkUI.Full
180 * @since 10
181 */
182/**
183 * Declare class TreeListenerManager
184 * @syscap SystemCapability.ArkUI.ArkUI.Full
185 * @atomicservice
186 * @since 11
187 */
188export declare class TreeListenerManager {
189    /**
190     * Get instance of treeListenerManager.
191     * @return treeListenerManager instance
192     * @static
193     * @syscap SystemCapability.ArkUI.ArkUI.Full
194     * @since 10
195     */
196    /**
197     * Get instance of treeListenerManager.
198     * @return treeListenerManager instance
199     * @static
200     * @syscap SystemCapability.ArkUI.ArkUI.Full
201     * @atomicservice
202     * @since 11
203     */
204    static getInstance(): TreeListenerManager;
205
206    /**
207     * Get treeListener.
208     * @return treeListener object
209     * @syscap SystemCapability.ArkUI.ArkUI.Full
210     * @since 10
211     */
212    /**
213     * Get treeListener.
214     * @return treeListener object
215     * @syscap SystemCapability.ArkUI.ArkUI.Full
216     * @atomicservice
217     * @since 11
218     */
219    getTreeListener(): TreeListener;
220}
221
222/**
223 * Declare TreeView Component
224 * @syscap SystemCapability.ArkUI.ArkUI.Full
225 * @since 10
226 */
227/**
228 * Declare TreeView Component
229 * @syscap SystemCapability.ArkUI.ArkUI.Full
230 * @atomicservice
231 * @since 11
232 */
233@Component
234export declare struct TreeView {
235    /**
236     * Node data source of TreeView.
237     * @type TreeController
238     * @syscap SystemCapability.ArkUI.ArkUI.Full
239     * @since 10
240     */
241    /**
242     * Node data source of TreeView.
243     * @type TreeController
244     * @syscap SystemCapability.ArkUI.ArkUI.Full
245     * @atomicservice
246     * @since 11
247     */
248    treeController: TreeController;
249}
250
251/**
252 * Declare CallbackParam
253 * @typedef CallbackParam
254 * @syscap SystemCapability.ArkUI.ArkUI.Full
255 * @since 10
256 */
257/**
258 * Declare CallbackParam
259 * @typedef CallbackParam
260 * @syscap SystemCapability.ArkUI.ArkUI.Full
261 * @atomicservice
262 * @since 11
263 */
264export interface CallbackParam {
265    /**
266     * Get the currentNodeId.
267     * @type { number }
268     * @syscap SystemCapability.ArkUI.ArkUI.Full
269     * @since 10
270     */
271    /**
272     * Get the currentNodeId.
273     * @type { number }
274     * @syscap SystemCapability.ArkUI.ArkUI.Full
275     * @atomicservice
276     * @since 11
277     */
278    currentNodeId: number,
279
280    /**
281     * Get the parentNodeId.
282     * @type { number }
283     * @syscap SystemCapability.ArkUI.ArkUI.Full
284     * @since 10
285     */
286    /**
287     * Get the parentNodeId.
288     * @type { number }
289     * @syscap SystemCapability.ArkUI.ArkUI.Full
290     * @atomicservice
291     * @since 11
292     */
293    parentNodeId?: number,
294
295    /**
296     * Get the childIndex.
297     * @type { number }
298     * @syscap SystemCapability.ArkUI.ArkUI.Full
299     * @since 10
300     */
301    /**
302     * Get the childIndex.
303     * @type { number }
304     * @syscap SystemCapability.ArkUI.ArkUI.Full
305     * @atomicservice
306     * @since 11
307     */
308    childIndex?: number
309}
310
311/**
312 * Declare NodeParam
313 * @typedef NodeParam
314 * @syscap SystemCapability.ArkUI.ArkUI.Full
315 * @since 10
316 */
317/**
318 * Declare NodeParam
319 * @typedef NodeParam
320 * @syscap SystemCapability.ArkUI.ArkUI.Full
321 * @atomicservice
322 * @since 11
323 */
324export interface NodeParam {
325    /**
326     * Set the parentNodeId.
327     * @type { number }
328     * @syscap SystemCapability.ArkUI.ArkUI.Full
329     * @since 10
330     */
331    /**
332     * Set the parentNodeId.
333     * @type { number }
334     * @syscap SystemCapability.ArkUI.ArkUI.Full
335     * @atomicservice
336     * @since 11
337     */
338    parentNodeId?: number,
339
340    /**
341     * Set currentNodeId.
342     * @type { number }
343     * @syscap SystemCapability.ArkUI.ArkUI.Full
344     * @since 10
345     */
346    /**
347     * Set currentNodeId.
348     * @type { number }
349     * @syscap SystemCapability.ArkUI.ArkUI.Full
350     * @atomicservice
351     * @since 11
352     */
353    currentNodeId?: number,
354
355    /**
356     * Set catalog whether is floder.
357     * @type { boolean }
358     * @syscap SystemCapability.ArkUI.ArkUI.Full
359     * @since 10
360     */
361    /**
362     * Set catalog whether is floder.
363     * @type { boolean }
364     * @syscap SystemCapability.ArkUI.ArkUI.Full
365     * @atomicservice
366     * @since 11
367     */
368    isFolder?: boolean;
369
370    /**
371     * Set the icon resource.
372     * @type { Resource }
373     * @syscap SystemCapability.ArkUI.ArkUI.Full
374     * @since 10
375     */
376    /**
377     * Set the icon resource.
378     * @type { Resource }
379     * @syscap SystemCapability.ArkUI.ArkUI.Full
380     * @atomicservice
381     * @since 11
382     */
383    icon?: ResourceStr;
384
385    /**
386     * Set the symbol resource.
387     * @type { ?SymbolGlyphModifier }
388     * @syscap SystemCapability.ArkUI.ArkUI.Full
389     * @atomicservice
390     * @since 18
391     */
392    symbolIconStyle?: SymbolGlyphModifier;
393
394    /**
395     * Set selected icon resource.
396     * @type { Resource }
397     * @syscap SystemCapability.ArkUI.ArkUI.Full
398     * @since 10
399     */
400    /**
401     * Set selected icon resource.
402     * @type { Resource }
403     * @syscap SystemCapability.ArkUI.ArkUI.Full
404     * @atomicservice
405     * @since 11
406     */
407    selectedIcon?: ResourceStr;
408
409    /**
410     * Set selected symbol resource.
411     * @type { ?SymbolGlyphModifier }
412     * @syscap SystemCapability.ArkUI.ArkUI.Full
413     * @atomicservice
414     * @since 18
415     */
416    symbolSelectedIconStyle?: SymbolGlyphModifier;
417
418    /**
419     * Set edit icon resource.
420     * @type { Resource }
421     * @syscap SystemCapability.ArkUI.ArkUI.Full
422     * @since 10
423     */
424    /**
425     * Set edit icon resource.
426     * @type { Resource }
427     * @syscap SystemCapability.ArkUI.ArkUI.Full
428     * @atomicservice
429     * @since 11
430     */
431    editIcon?: ResourceStr;
432
433    /**
434     * Set edit symbol resource.
435     * @type { ?SymbolGlyphModifier }
436     * @syscap SystemCapability.ArkUI.ArkUI.Full
437     * @atomicservice
438     * @since 18
439     */
440    symbolEditIconStyle?: SymbolGlyphModifier;
441
442    /**
443     * Set primary title content.
444     * @type { ResourceStr }
445     * @syscap SystemCapability.ArkUI.ArkUI.Full
446     * @since 10
447     */
448    /**
449     * Set primary title content.
450     * @type { ResourceStr }
451     * @syscap SystemCapability.ArkUI.ArkUI.Full
452     * @atomicservice
453     * @since 11
454     */
455    primaryTitle?: ResourceStr;
456
457    /**
458     * Set secondary title content.
459     * @type { ResourceStr }
460     * @syscap SystemCapability.ArkUI.ArkUI.Full
461     * @since 10
462     */
463    /**
464     * Set secondary title content.
465     * @type { ResourceStr }
466     * @syscap SystemCapability.ArkUI.ArkUI.Full
467     * @atomicservice
468     * @since 11
469     */
470    secondaryTitle?: ResourceStr;
471
472    /**
473     * set subcomponent binded on tree item.
474     * @type { () => void }
475     * @syscap SystemCapability.ArkUI.ArkUI.Full
476     * @since 10
477     */
478    /**
479     * set subcomponent binded on tree item.
480     * @type { () => void }
481     * @syscap SystemCapability.ArkUI.ArkUI.Full
482     * @atomicservice
483     * @since 11
484     */
485    container?: () => void;
486}
487
488/**
489 * Declare TreeController
490 * @syscap SystemCapability.ArkUI.ArkUI.Full
491 * @since 10
492 */
493/**
494 * Declare TreeController
495 * @syscap SystemCapability.ArkUI.ArkUI.Full
496 * @atomicservice
497 * @since 11
498 */
499export declare class TreeController {
500    /**
501     * Delete a node.
502     * Register an ON_ITEM_DELETE callback through the ListTreeListener mechanism to obtain the IDs of all deleted nodes.
503     * @syscap SystemCapability.ArkUI.ArkUI.Full
504     * @since 10
505     */
506    /**
507     * Delete a node.
508     * Register an ON_ITEM_DELETE callback through the ListTreeListener mechanism to obtain the IDs of all deleted nodes.
509     * @syscap SystemCapability.ArkUI.ArkUI.Full
510     * @atomicservice
511     * @since 11
512     */
513    removeNode(): void;
514
515    /**
516     * Modify the node name.
517     * Register an ON_ITEM_MODIFY callback to obtain the ID, parent node ID, and node name of the modified node.
518     * @syscap SystemCapability.ArkUI.ArkUI.Full
519     * @since 10
520     */
521    /**
522     * Modify the node name.
523     * Register an ON_ITEM_MODIFY callback to obtain the ID, parent node ID, and node name of the modified node.
524     * @syscap SystemCapability.ArkUI.ArkUI.Full
525     * @atomicservice
526     * @since 11
527     */
528    modifyNode(): void;
529
530    /**
531     * Initialize the interface of the tree view. This interface is used to generate ListNodeDataSource data.
532     * addNode is only designed for initialization. It can only be invoked during initialization.
533     *
534     * A maximum of 50 directory levels can be added.
535     *
536     * @param nodeParam Configuration information of the newly added node.
537     *
538     * For details, see the comment description of NodeParam.
539     * @return ListTreeNode Tree view component proxy class.
540     * @syscap SystemCapability.ArkUI.ArkUI.Full
541     * @since 10
542     */
543    /**
544     * Initialize the interface of the tree view. This interface is used to generate ListNodeDataSource data.
545     * addNode is only designed for initialization. It can only be invoked during initialization.
546     *
547     * A maximum of 50 directory levels can be added.
548     *
549     * @param nodeParam Configuration information of the newly added node.
550     *
551     * For details, see the comment description of NodeParam.
552     * @return ListTreeNode Tree view component proxy class.
553     * @syscap SystemCapability.ArkUI.ArkUI.Full
554     * @atomicservice
555     * @since 11
556     */
557    addNode(nodeParam?: NodeParam): TreeController;
558
559    /**
560     * This interface is called when a secondaryTitle needs to be updated
561     *
562     * @param parentId ID of the parent node.
563     * @param parentSubTitle secondaryTitle of parent node.
564     * @param currentSubtitle secondaryTitle of current node.
565     *
566     * @syscap SystemCapability.ArkUI.ArkUI.Full
567     * @since 10
568     */
569    /**
570     * This interface is called when a secondaryTitle needs to be updated
571     *
572     * @param parentId ID of the parent node.
573     * @param parentSubTitle secondaryTitle of parent node.
574     * @param currentSubtitle secondaryTitle of current node.
575     *
576     * @syscap SystemCapability.ArkUI.ArkUI.Full
577     * @atomicservice
578     * @since 11
579     */
580    refreshNode(parentId: number, parentSubTitle: ResourceStr, currentSubtitle: ResourceStr): void;
581
582    /**
583     * After the initialization is complete by calling the addNode interface,
584     * call this interface to complete initialization.
585     *
586     * This interface must be called when you finish initializing the ListTreeView by addNode.
587     * @syscap SystemCapability.ArkUI.ArkUI.Full
588     * @since 10
589     */
590    /**
591     * After the initialization is complete by calling the addNode interface,
592     * call this interface to complete initialization.
593     *
594     * This interface must be called when you finish initializing the ListTreeView by addNode.
595     * @syscap SystemCapability.ArkUI.ArkUI.Full
596     * @atomicservice
597     * @since 11
598     */
599    buildDone(): void;
600}