From e1370894eb9fd05fa195bef20a57eb9a228413f9 Mon Sep 17 00:00:00 2001 From: Jonas Peres Date: Thu, 23 Nov 2023 14:38:09 -0300 Subject: [PATCH] Fix useMemo change catch --- .../sq-select-multi-tags.component.html | 4 ++-- .../sq-select-multi-tags.component.ts | 12 ++++++------ src/package.json | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/components/sq-select-multi-tags/sq-select-multi-tags.component.html b/src/components/sq-select-multi-tags/sq-select-multi-tags.component.html index 835192f..345dc81 100644 --- a/src/components/sq-select-multi-tags/sq-select-multi-tags.component.html +++ b/src/components/sq-select-multi-tags/sq-select-multi-tags.component.html @@ -133,8 +133,8 @@ [name]="name + '-checkbox'" [value]="opt?.value" [disabled]="opt?.disabled" - [checked]="findItemInValue(opt)" - [indeterminate]="verifyIfHasChildrenInValue(opt)" + [checked]="findItemInValue(opt, value)" + [indeterminate]="verifyIfHasChildrenInValue(opt, value)" (valueChange)="emit(opt, $event.checked)" > {{ diff --git a/src/components/sq-select-multi-tags/sq-select-multi-tags.component.ts b/src/components/sq-select-multi-tags/sq-select-multi-tags.component.ts index 3fbe88d..8776178 100644 --- a/src/components/sq-select-multi-tags/sq-select-multi-tags.component.ts +++ b/src/components/sq-select-multi-tags/sq-select-multi-tags.component.ts @@ -291,8 +291,8 @@ export class SqSelectMultiTagsComponent implements OnChanges { * @param {OptionMulti} item - The item to search for. * @returns {boolean} True if the item exists in the selected values; otherwise, false. */ - findItemInValue = useMemo((item: OptionMulti) => { - return !!this.value?.find((value) => value.value === item.value) + findItemInValue = useMemo((item: OptionMulti, value?: Array) => { + return !!value?.find((value) => value.value === item.value) }) /** @@ -311,17 +311,17 @@ export class SqSelectMultiTagsComponent implements OnChanges { * @param {OptionMulti} item - The item to check. * @returns {boolean} True if the item has selected children; otherwise, false. */ - verifyIfHasChildrenInValue = useMemo((item: OptionMulti) => { + verifyIfHasChildrenInValue = useMemo((item: OptionMulti, value?: Array) => { if (item.children?.length) { - const hasAllChildren = item.children.every((child) => this.findItemInValue(child)) - if (hasAllChildren && !this.findItemInValue(item) && !this.timeouted) { + const hasAllChildren = item.children.every((child) => this.findItemInValue(child, value)) + if (hasAllChildren && !this.findItemInValue(item, value) && !this.timeouted) { this.timeouted = true setTimeout(() => { this.emit(item, true) this.timeouted = false }, 0) } - return !!item.children.find((child) => this.findItemInValue(child)) + return !!item.children.find((child) => this.findItemInValue(child, value)) } return false }) diff --git a/src/package.json b/src/package.json index 3b0924f..e5e3982 100644 --- a/src/package.json +++ b/src/package.json @@ -1,6 +1,6 @@ { "name": "@squidit/ngx-css", - "version": "1.2.01", + "version": "1.2.1", "peerDependencies": { "@angular/common": ">=15.0.0", "@angular/core": ">=15.0.0",