Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changing selected items. #42

Closed
ximikavt opened this issue Sep 8, 2017 · 13 comments
Closed

Changing selected items. #42

ximikavt opened this issue Sep 8, 2017 · 13 comments

Comments

@ximikavt
Copy link

ximikavt commented Sep 8, 2017

Is there any possibility to select(check) items programatically - not using control? If there is, please could you explain how, if not - are you planning to add this feature in future?

@leovo2708
Copy link
Owner

leovo2708 commented Sep 8, 2017

Yes, you can update checked property of your TreeviewItem list which you bound it to component.
In example 1: https://leovo2708.github.io/ngx-treeview/ When you change checked on component ngx-treeview then also affect to ngx-dropdown-treeview because they are using same objects.

@ximikavt
Copy link
Author

ximikavt commented Sep 8, 2017

i've tried that , but "All" checkbox does not update, and text on ngx-dropdown-button to.

Also, when i change it like this
items.forEach(item => { item.checked = !item.checked; });

It does not update parent node either.

image

@leovo2708
Copy link
Owner

If you are changing checked of children by programming, you must update checked of parent yourself. Or you can write a helper to do this and publish your code here. I will be happy for your help.

To change checked of All, you can use ViewChild to access to it and change by yourself. Thanks.

@ximikavt
Copy link
Author

Thanks for your response. I've done this already by doing this:

image
image

I needed to re render component because button text did not apply either.

As a result i have a method 'changeSelection' which changes selection for passed values.

I know, it's not very elegant, but it works for me very well)

@AshokPokharkar
Copy link

AshokPokharkar commented Nov 12, 2018

Thanks. I am using older version ^1.2.5 for Angular 4 compatibility with some custom css changes. Following method worked fine for me to uncheck the parent items based on child unCheck programmatically.
I want to optimize it by executing correctChecked() only for parent items(recursively) of unchecked Item. Is there a method to get Parents of an item in TreeviewItem?
Sample method to uncheck parents based on child uncheck programmatically:
updateTreeAttributes(){
this.items.forEach(item => {
item.correctChecked();
});
}

Added NOTE:
Found HELPER API TreeviewHelper.findParent(). Trying with that..

@vedashree1002
Copy link

@leovo2708 This ngx-treeview is really helpful ! But I need to save the list of checked items (its inside a form) and then when I reopen the form , I need those selected items checked . Is there a way to do this ?

Right now , i have this , which creates a tree view of the items of type TreeViewIitem[].
<ngx-treeview [config]="config" [items]="items" (filterChange)="onFilterChange($event)" (selectedChange)=onSelectedChange(item,$event) >

@ravidream
Copy link

Hi,
I am getting this error on loading and selecting option.
EditMasterdataComponent.html:84 ERROR TypeError: item.getSelection is not a function
at Object.concatSelection (treeview-helper.ts:84)
at TreeviewComponent.push../src/lib/treeview.component.ts.TreeviewComponent.generateSelection (treeview.component.ts:142)
at TreeviewComponent.push../src/lib/treeview.component.ts.TreeviewComponent.raiseSelectedChange (treeview.component.ts:122)
at TreeviewComponent.push../src/lib/treeview.component.ts.TreeviewComponent.ngOnChanges (treeview.component.ts:84)
at checkAndUpdateDirectiveInline (core.js:9031)
at checkAndUpdateNodeInline (core.js:10299)
at checkAndUpdateNode (core.js:10261)
at debugCheckAndUpdateNode (core.js:10894)
at debugCheckDirectivesFn (core.js:10854)
at Object.eval [as updateDirectives] (EditMasterdataComponent.html:90)
View_EditMasterdataComponent_0 @ EditMasterdataComponent.html:84
proxyClass @ compiler.js:10048
push../node_modules/@angular/core/fesm5/core.js.DebugContext_.logError @ core.js:11098
push../node_modules/@angular/core/fesm5/core.js.ErrorHandler.handleError @ core.js:1679
(anonymous) @ core.js:4524
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke @ zone.js:391
push../node_modules/zone.js/dist/zone.js.Zone.run @ zone.js:150
push../node_modules/@angular/core/fesm5/core.js.NgZone.runOutsideAngular @ core.js:3719
push../node_modules/@angular/core/fesm5/core.js.ApplicationRef.tick @ core.js:4524
(anonymous) @ core.js:4409
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke @ zone.js:391
onInvoke @ core.js:3760
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke @ zone.js:390
push../node_modules/zone.js/dist/zone.js.Zone.run @ zone.js:150
push../node_modules/@angular/core/fesm5/core.js.NgZone.run @ core.js:3674
next @ core.js:4409
schedulerFn @ core.js:3491
push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub @ Subscriber.js:196
push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next @ Subscriber.js:134
push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next @ Subscriber.js:77
push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next @ Subscriber.js:54
push../node_modules/rxjs/_esm5/internal/Subject.js.Subject.next @ Subject.js:47
push../node_modules/@angular/core/fesm5/core.js.EventEmitter.emit @ core.js:3483
checkStable @ core.js:3729
onLeave @ core.js:3796
onInvokeTask @ core.js:3754
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask @ zone.js:422
push../node_modules/zone.js/dist/zone.js.Zone.runTask @ zone.js:195
push../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask @ zone.js:498
invokeTask @ zone.js:1744
globalZoneAwareCallback @ zone.js:1781
load (async)
customScheduleGlobal @ zone.js:1883
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.scheduleTask @ zone.js:410
onScheduleTask @ zone.js:301
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.scheduleTask @ zone.js:404
push../node_modules/zone.js/dist/zone.js.Zone.scheduleTask @ zone.js:238
push../node_modules/zone.js/dist/zone.js.Zone.scheduleEventTask @ zone.js:264
(anonymous) @ zone.js:2054
(anonymous) @ http.js:1627
push../node_modules/rxjs/_esm5/internal/Observable.js.Observable._trySubscribe @ Observable.js:43
push../node_modules/rxjs/_esm5/internal/Observable.js.Observable.subscribe @ Observable.js:29
push../node_modules/rxjs/_esm5/internal/operators/map.js.MapOperator.call @ map.js:18
push../node_modules/rxjs/_esm5/internal/Observable.js.Observable.subscribe @ Observable.js:24
push../node_modules/rxjs/_esm5/internal/operators/catchError.js.CatchOperator.call @ catchError.js:18
push../node_modules/rxjs/_esm5/internal/Observable.js.Observable.subscribe @ Observable.js:24
(anonymous) @ subscribeTo.js:21
subscribeToResult @ subscribeToResult.js:11
push../node_modules/rxjs/_esm5/internal/operators/mergeMap.js.MergeMapSubscriber._innerSub @ mergeMap.js:74
push../node_modules/rxjs/_esm5/internal/operators/mergeMap.js.MergeMapSubscriber._tryNext @ mergeMap.js:68
push../node_modules/rxjs/_esm5/internal/operators/mergeMap.js.MergeMapSubscriber._next @ mergeMap.js:51
push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next @ Subscriber.js:54
(anonymous) @ scalar.js:5
push../node_modules/rxjs/_esm5/internal/Observable.js.Observable._trySubscribe @ Observable.js:43
push../node_modules/rxjs/_esm5/internal/Observable.js.Observable.subscribe @ Observable.js:29
push../node_modules/rxjs/_esm5/internal/operators/mergeMap.js.MergeMapOperator.call @ mergeMap.js:29
push../node_modules/rxjs/_esm5/internal/Observable.js.Observable.subscribe @ Observable.js:24
push../node_modules/rxjs/_esm5/internal/operators/filter.js.FilterOperator.call @ filter.js:15
push../node_modules/rxjs/_esm5/internal/Observable.js.Observable.subscribe @ Observable.js:24
push../node_modules/rxjs/_esm5/internal/operators/map.js.MapOperator.call @ map.js:18
push../node_modules/rxjs/esm5/internal/Observable.js.Observable.subscribe @ Observable.js:24
push../src/app/master-setup/edit-masterdata/edit-masterdata.component.ts.EditMasterdataComponent.ngOnInit @ edit-masterdata.component.ts:209
checkAndUpdateDirectiveInline @ core.js:9035
checkAndUpdateNodeInline @ core.js:10299
checkAndUpdateNode @ core.js:10261
debugCheckAndUpdateNode @ core.js:10894
debugCheckDirectivesFn @ core.js:10854
(anonymous) @ EditMasterdataComponent_Host.ngfactory.js? [sm]:1
debugUpdateDirectives @ core.js:10846
checkAndUpdateView @ core.js:10243
callViewAction @ core.js:10484
execEmbeddedViewsAction @ core.js:10447
checkAndUpdateView @ core.js:10244
callViewAction @ core.js:10484
execComponentViewsAction @ core.js:10426
checkAndUpdateView @ core.js:10249
callWithDebugContext @ core.js:11136
debugCheckAndUpdateView @ core.js:10814
push../node_modules/@angular/core/fesm5/core.js.ViewRef
.detectChanges @ core.js:8630
(anonymous) @ core.js:4517
push../node_modules/@angular/core/fesm5/core.js.ApplicationRef.tick @ core.js:4517
(anonymous) @ core.js:4409
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke @ zone.js:391
onInvoke @ core.js:3760
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke @ zone.js:390
push../node_modules/zone.js/dist/zone.js.Zone.run @ zone.js:150
push../node_modules/@angular/core/fesm5/core.js.NgZone.run @ core.js:3674
next @ core.js:4409
schedulerFn @ core.js:3491
push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub @ Subscriber.js:196
push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next @ Subscriber.js:134
push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next @ Subscriber.js:77
push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next @ Subscriber.js:54
push../node_modules/rxjs/_esm5/internal/Subject.js.Subject.next @ Subject.js:47
push../node_modules/@angular/core/fesm5/core.js.EventEmitter.emit @ core.js:3483
checkStable @ core.js:3729
onHasTask @ core.js:3773
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.hasTask @ zone.js:443
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.updateTaskCount @ zone.js:463
push../node_modules/zone.js/dist/zone.js.Zone.updateTaskCount @ zone.js:291
push../node_modules/zone.js/dist/zone.js.Zone.runTask @ zone.js:212
drainMicroTaskQueue @ zone.js:601
push../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask @ zone.js:502
invokeTask @ zone.js:1744
globalZoneAwareCallback @ zone.js:1770
Show 73 more frames
EditMasterdataComponent.html:84 ERROR CONTEXT DebugContext
 {view: {…}, nodeIndex: 59, nodeDef: {…}, elDef: {…}, elView: {…}}
View_EditMasterdataComponent_0 @ EditMasterdataComponent.html:84
proxyClass @ compiler.js:10048
push../node_modules/@angular/core/fesm5/core.js.DebugContext
.logError @ core.js:11098
push../node_modules/@angular/core/fesm5/core.js.ErrorHandler.handleError @ core.js:1684
(anonymous) @ core.js:4524
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke @ zone.js:391
push../node_modules/zone.js/dist/zone.js.Zone.run @ zone.js:150
push../node_modules/@angular/core/fesm5/core.js.NgZone.runOutsideAngular @ core.js:3719
push../node_modules/@angular/core/fesm5/core.js.ApplicationRef.tick @ core.js:4524
(anonymous) @ core.js:4409
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke @ zone.js:391
onInvoke @ core.js:3760
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke @ zone.js:390
push../node_modules/zone.js/dist/zone.js.Zone.run @ zone.js:150
push../node_modules/@angular/core/fesm5/core.js.NgZone.run @ core.js:3674
next @ core.js:4409
schedulerFn @ core.js:3491
push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub @ Subscriber.js:196
push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next @ Subscriber.js:134
push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next @ Subscriber.js:77
push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next @ Subscriber.js:54
push../node_modules/rxjs/_esm5/internal/Subject.js.Subject.next @ Subject.js:47
push../node_modules/@angular/core/fesm5/core.js.EventEmitter.emit @ core.js:3483
checkStable @ core.js:3729
onLeave @ core.js:3796
onInvokeTask @ core.js:3754
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask @ zone.js:422
push../node_modules/zone.js/dist/zone.js.Zone.runTask @ zone.js:195
push../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask @ zone.js:498
invokeTask @ zone.js:1744
globalZoneAwareCallback @ zone.js:1781
load (async)
customScheduleGlobal @ zone.js:1883
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.scheduleTask @ zone.js:410
onScheduleTask @ zone.js:301
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.scheduleTask @ zone.js:404
push../node_modules/zone.js/dist/zone.js.Zone.scheduleTask @ zone.js:238
push../node_modules/zone.js/dist/zone.js.Zone.scheduleEventTask @ zone.js:264
(anonymous) @ zone.js:2054
(anonymous) @ http.js:1627
push../node_modules/rxjs/_esm5/internal/Observable.js.Observable._trySubscribe @ Observable.js:43
push../node_modules/rxjs/_esm5/internal/Observable.js.Observable.subscribe @ Observable.js:29
push../node_modules/rxjs/_esm5/internal/operators/map.js.MapOperator.call @ map.js:18
push../node_modules/rxjs/_esm5/internal/Observable.js.Observable.subscribe @ Observable.js:24
push../node_modules/rxjs/_esm5/internal/operators/catchError.js.CatchOperator.call @ catchError.js:18
push../node_modules/rxjs/_esm5/internal/Observable.js.Observable.subscribe @ Observable.js:24
(anonymous) @ subscribeTo.js:21
subscribeToResult @ subscribeToResult.js:11
push../node_modules/rxjs/_esm5/internal/operators/mergeMap.js.MergeMapSubscriber._innerSub @ mergeMap.js:74
push../node_modules/rxjs/_esm5/internal/operators/mergeMap.js.MergeMapSubscriber._tryNext @ mergeMap.js:68
push../node_modules/rxjs/_esm5/internal/operators/mergeMap.js.MergeMapSubscriber._next @ mergeMap.js:51
push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next @ Subscriber.js:54
(anonymous) @ scalar.js:5
push../node_modules/rxjs/_esm5/internal/Observable.js.Observable._trySubscribe @ Observable.js:43
push../node_modules/rxjs/_esm5/internal/Observable.js.Observable.subscribe @ Observable.js:29
push../node_modules/rxjs/_esm5/internal/operators/mergeMap.js.MergeMapOperator.call @ mergeMap.js:29
push../node_modules/rxjs/_esm5/internal/Observable.js.Observable.subscribe @ Observable.js:24
push../node_modules/rxjs/_esm5/internal/operators/filter.js.FilterOperator.call @ filter.js:15
push../node_modules/rxjs/_esm5/internal/Observable.js.Observable.subscribe @ Observable.js:24
push../node_modules/rxjs/_esm5/internal/operators/map.js.MapOperator.call @ map.js:18
push../node_modules/rxjs/esm5/internal/Observable.js.Observable.subscribe @ Observable.js:24
push../src/app/master-setup/edit-masterdata/edit-masterdata.component.ts.EditMasterdataComponent.ngOnInit @ edit-masterdata.component.ts:209
checkAndUpdateDirectiveInline @ core.js:9035
checkAndUpdateNodeInline @ core.js:10299
checkAndUpdateNode @ core.js:10261
debugCheckAndUpdateNode @ core.js:10894
debugCheckDirectivesFn @ core.js:10854
(anonymous) @ EditMasterdataComponent_Host.ngfactory.js? [sm]:1
debugUpdateDirectives @ core.js:10846
checkAndUpdateView @ core.js:10243
callViewAction @ core.js:10484
execEmbeddedViewsAction @ core.js:10447
checkAndUpdateView @ core.js:10244
callViewAction @ core.js:10484
execComponentViewsAction @ core.js:10426
checkAndUpdateView @ core.js:10249
callWithDebugContext @ core.js:11136
debugCheckAndUpdateView @ core.js:10814
push../node_modules/@angular/core/fesm5/core.js.ViewRef
.detectChanges @ core.js:8630
(anonymous) @ core.js:4517
push../node_modules/@angular/core/fesm5/core.js.ApplicationRef.tick @ core.js:4517
(anonymous) @ core.js:4409
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke @ zone.js:391
onInvoke @ core.js:3760
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke @ zone.js:390
push../node_modules/zone.js/dist/zone.js.Zone.run @ zone.js:150
push../node_modules/@angular/core/fesm5/core.js.NgZone.run @ core.js:3674
next @ core.js:4409
schedulerFn @ core.js:3491
push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub @ Subscriber.js:196
push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next @ Subscriber.js:134
push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next @ Subscriber.js:77
push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next @ Subscriber.js:54
push../node_modules/rxjs/_esm5/internal/Subject.js.Subject.next @ Subject.js:47
push../node_modules/@angular/core/fesm5/core.js.EventEmitter.emit @ core.js:3483
checkStable @ core.js:3729
onHasTask @ core.js:3773
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.hasTask @ zone.js:443
push../node_modules/zone.js/dist/zone.js.ZoneDelegate._updateTaskCount @ zone.js:463
push../node_modules/zone.js/dist/zone.js.Zone._updateTaskCount @ zone.js:291
push../node_modules/zone.js/dist/zone.js.Zone.runTask @ zone.js:212
drainMicroTaskQueue @ zone.js:601
push../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask @ zone.js:502
invokeTask @ zone.js:1744
globalZoneAwareCallback @ zone.js:1770
Show 73 more frames
TreeviewComponent.html:6 ERROR TypeError: child.setCheckedRecursive is not a function
at treeview-item.component.ts:28
at Array.forEach ()
at Object.TreeviewItemComponent.onCheckedChange (treeview-item.component.ts:28)
at Object.eval [as handleEvent] (TreeviewComponent.html:6)
at handleEvent (core.js:10043)
at callWithDebugContext (core.js:11136)
at Object.debugHandleEvent [as handleEvent] (core.js:10839)
at dispatchEvent (core.js:7502)
at core.js:8982
at SafeSubscriber.schedulerFn [as next] (core.js:3503)
View_TreeviewComponent_1 @ TreeviewComponent.html:6
push../node_modules/@angular/core/fesm5/core.js.DebugContext
.logError @ core.js:11098
push../node_modules/@angular/core/fesm5/core.js.ErrorHandler.handleError @ core.js:1679
dispatchEvent @ core.js:7506
(anonymous) @ core.js:8982
schedulerFn @ core.js:3503
push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub @ Subscriber.js:196
push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next @ Subscriber.js:134
push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next @ Subscriber.js:77
push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next @ Subscriber.js:54
push../node_modules/rxjs/esm5/internal/Subject.js.Subject.next @ Subject.js:47
push../node_modules/@angular/core/fesm5/core.js.EventEmitter.emit @ core.js:3483
push../node_modules/@angular/forms/fesm5/forms.js.NgModel.viewToModelUpdate @ forms.js:4073
updateControl @ forms.js:1699
(anonymous) @ forms.js:1683
(anonymous) @ TreeviewComponent.html:6
handleEvent @ core.js:10043
callWithDebugContext @ core.js:11136
debugHandleEvent @ core.js:10839
dispatchEvent @ core.js:7502
(anonymous) @ core.js:7946
(anonymous) @ platform-browser.js:1137
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask @ zone.js:423
onInvokeTask @ core.js:3751
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask @ zone.js:422
push../node_modules/zone.js/dist/zone.js.Zone.runTask @ zone.js:195
push../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask @ zone.js:498
invokeTask @ zone.js:1744
globalZoneAwareCallback @ zone.js:1770
TreeviewComponent.html:6 ERROR CONTEXT DebugContext
 {view: {…}, nodeIndex: 4, nodeDef: {…}, elDef: {…}, elView: {…}}

Also the values is not coming i am using json like this from the backend.

{
"value": 1,
"text": "Test",
"checked": false,
"disabled": false,
"scopeId": 0,
"children": [{
"text": "TechTest",
"value": 1,
"disabled": false,
"checked": true,
"children": [{
"text": "HR Process",
"value": 1,
"disabled": false,
"checked": true,
"children": [{
"text": "Leave Task Flow",
"value": 1,
"disabled": false,
"checked": true
}, {
"text": "dsfas",
"value": 6,
"disabled": false,
"checked": true
}]
}]
}, {
"text": "Hr Function",
"value": 2,
"disabled": false,
"checked": false,
"children": [{
"text": "Approve Process",
"value": 2,
"disabled": false,
"checked": false,
"children": [{
"text": "First Task Flow",
"value": 4,
"disabled": false,
"checked": false
}]
}]
}, {
"text": "Marketing ",
"value": 3,
"disabled": false,
"checked": false,
"children": [{
"text": "Inducting",
"value": 3,
"disabled": false,
"checked": false,
"children": [{
"text": "Mozilla Task Flow",
"value": 5,
"disabled": false,
"checked": false
}, {
"text": "Hr ",
"value": 2,
"disabled": false,
"checked": false
}]
}, {
"text": "Purchasing",
"value": 4,
"disabled": false,
"checked": false,
"children": [{
"text": "Student 123 edit",
"value": 3,
"disabled": false,
"checked": false
}]
}]
}, {
"text": "M 2 ",
"value": 4,
"disabled": false,
"checked": false,
"children": [{
"text": "Best ",
"value": 5,
"disabled": false,
"checked": false,
"children": null
}]
}, {
"text": "TechTest1",
"value": 5,
"disabled": false,
"checked": false,
"children": null
}, {
"text": "dsdf",
"value": 6,
"disabled": false,
"checked": false,
"children": null
}, {
"text": "sdfs",
"value": 7,
"disabled": false,
"checked": false,
"children": null
}, {
"text": "sdfs",
"value": 8,
"disabled": false,
"checked": false,
"children": null
}, {
"text": "Hr Functions",
"value": 9,
"disabled": false,
"checked": false,
"children": null
}, {
"text": "sds",
"value": 10,
"disabled": false,
"checked": false,
"children": null
}, {
"text": "sdfs",
"value": 11,
"disabled": false,
"checked": false,
"children": null
}, {
"text": "dfgdg",
"value": 12,
"disabled": false,
"checked": false,
"children": null
}, {
"text": "dfgdf",
"value": 13,
"disabled": false,
"checked": false,
"children": null
}]
}

@TanmayCoder
Copy link

Yes, you can update checked property of your TreeviewItem list which you bound it to component.
In example 1: https://leovo2708.github.io/ngx-treeview/ When you change checked on component ngx-treeview then also affect to ngx-dropdown-treeview because they are using same objects.

Yeah I tried this but it doesnt effects on parent or child node
I There any method which we can call in ngx-treeview so that parent and child get selected automattically

@TanmayCoder
Copy link

Thanks for your response. I've done this already by doing this:

image
image

I needed to re render component because button text did not apply either.

As a result i have a method 'changeSelection' which changes selection for passed values.

I know, it's not very elegant, but it works for me very well)

That is this cdRef property is

@ximikavt
Copy link
Author

Thanks for your response. I've done this already by doing this:
image
image
I needed to re render component because button text did not apply either.
As a result i have a method 'changeSelection' which changes selection for passed values.
I know, it's not very elegant, but it works for me very well)

That is this cdRef property is

private cdRef: ChangeDetectorRef

@mgpathi
Copy link

mgpathi commented Feb 14, 2020

Hi,
I need all checked items as a treeview along with parents, is there any predefined setting for this case.
your help is most appreciated.

@baba004
Copy link

baba004 commented Sep 18, 2020

Is there any way to get Parent value of selected chidren?

@minaz-metar
Copy link

i've tried that , but "All" checkbox does not update, and text on ngx-dropdown-button to.

Also, when i change it like this items.forEach(item => { item.checked = !item.checked; });

It does not update parent node either.

image

how you printed selected label in dropdown with ngx-dropdown-treeview

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants