Compare commits

..

1 Commits

Author SHA1 Message Date
shamoon
3e3ff39b0c Enhancement: allow tags list selection without auto parent/child 2025-11-04 08:28:14 -08:00
4 changed files with 805 additions and 961 deletions

View File

@@ -11,17 +11,17 @@
}, },
"private": true, "private": true,
"dependencies": { "dependencies": {
"@angular/cdk": "^20.2.11", "@angular/cdk": "^20.2.6",
"@angular/common": "~20.3.9", "@angular/common": "~20.3.2",
"@angular/compiler": "~20.3.9", "@angular/compiler": "~20.3.2",
"@angular/core": "~20.3.9", "@angular/core": "~20.3.2",
"@angular/forms": "~20.3.9", "@angular/forms": "~20.3.2",
"@angular/localize": "~20.3.9", "@angular/localize": "~20.3.2",
"@angular/platform-browser": "~20.3.9", "@angular/platform-browser": "~20.3.2",
"@angular/platform-browser-dynamic": "~20.3.9", "@angular/platform-browser-dynamic": "~20.3.2",
"@angular/router": "~20.3.9", "@angular/router": "~20.3.2",
"@ng-bootstrap/ng-bootstrap": "^19.0.1", "@ng-bootstrap/ng-bootstrap": "^19.0.1",
"@ng-select/ng-select": "^20.7.0", "@ng-select/ng-select": "^20.6.3",
"@ngneat/dirty-check-forms": "^3.0.3", "@ngneat/dirty-check-forms": "^3.0.3",
"@popperjs/core": "^2.11.8", "@popperjs/core": "^2.11.8",
"bootstrap": "^5.3.8", "bootstrap": "^5.3.8",
@@ -30,7 +30,7 @@
"ng2-pdf-viewer": "^10.4.0", "ng2-pdf-viewer": "^10.4.0",
"ngx-bootstrap-icons": "^1.9.3", "ngx-bootstrap-icons": "^1.9.3",
"ngx-color": "^10.1.0", "ngx-color": "^10.1.0",
"ngx-cookie-service": "^20.1.1", "ngx-cookie-service": "^20.1.0",
"ngx-device-detector": "^10.1.0", "ngx-device-detector": "^10.1.0",
"ngx-ui-tour-ng-bootstrap": "^17.0.1", "ngx-ui-tour-ng-bootstrap": "^17.0.1",
"rxjs": "^7.8.2", "rxjs": "^7.8.2",
@@ -42,16 +42,16 @@
"devDependencies": { "devDependencies": {
"@angular-builders/custom-webpack": "^20.0.0", "@angular-builders/custom-webpack": "^20.0.0",
"@angular-builders/jest": "^20.0.0", "@angular-builders/jest": "^20.0.0",
"@angular-devkit/core": "^20.3.8", "@angular-devkit/core": "^20.3.3",
"@angular-devkit/schematics": "^20.3.8", "@angular-devkit/schematics": "^20.3.3",
"@angular-eslint/builder": "20.5.1", "@angular-eslint/builder": "20.3.0",
"@angular-eslint/eslint-plugin": "20.5.1", "@angular-eslint/eslint-plugin": "20.3.0",
"@angular-eslint/eslint-plugin-template": "20.5.1", "@angular-eslint/eslint-plugin-template": "20.3.0",
"@angular-eslint/schematics": "20.5.1", "@angular-eslint/schematics": "20.3.0",
"@angular-eslint/template-parser": "20.5.1", "@angular-eslint/template-parser": "20.3.0",
"@angular/build": "^20.3.8", "@angular/build": "^20.3.3",
"@angular/cli": "~20.3.8", "@angular/cli": "~20.3.3",
"@angular/compiler-cli": "~20.3.9", "@angular/compiler-cli": "~20.3.2",
"@codecov/webpack-plugin": "^1.9.1", "@codecov/webpack-plugin": "^1.9.1",
"@playwright/test": "^1.55.1", "@playwright/test": "^1.55.1",
"@types/jest": "^30.0.0", "@types/jest": "^30.0.0",

1716
src-ui/pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -210,6 +210,7 @@
<pngx-input-tags <pngx-input-tags
[allowCreate]="false" [allowCreate]="false"
[title]="null" [title]="null"
[autoHeirarchy]="false"
formControlName="values" formControlName="values"
></pngx-input-tags> ></pngx-input-tags>
} @else if ( } @else if (

View File

@@ -103,6 +103,9 @@ export class TagsComponent implements OnInit, ControlValueAccessor {
@Input() @Input()
multiple: boolean = true multiple: boolean = true
@Input()
autoHeirarchy: boolean = true
@Output() @Output()
filterDocuments = new EventEmitter<Tag[]>() filterDocuments = new EventEmitter<Tag[]>()
@@ -134,7 +137,7 @@ export class TagsComponent implements OnInit, ControlValueAccessor {
oldValue.splice(index, 1) oldValue.splice(index, 1)
// remove children // remove children
oldValue = this.removeChildren(oldValue, tag) if (this.autoHeirarchy) oldValue = this.removeChildren(oldValue, tag)
this.value = [...oldValue] this.value = [...oldValue]
this.onChange(this.value) this.onChange(this.value)
@@ -153,7 +156,7 @@ export class TagsComponent implements OnInit, ControlValueAccessor {
} }
public onAdd(tag: Tag) { public onAdd(tag: Tag) {
if (tag.parent) { if (this.autoHeirarchy && tag.parent) {
// add all parents recursively // add all parents recursively
const parent = this.getTag(tag.parent) const parent = this.getTag(tag.parent)
this.value = [...this.value, parent.id] this.value = [...this.value, parent.id]