
diff --git a/DigitalData.UserManager.API/ClientApp/user_manager_ui/package-lock.json b/DigitalData.UserManager.API/ClientApp/user_manager_ui/package-lock.json index 071025e..269ec8e 100644 --- a/DigitalData.UserManager.API/ClientApp/user_manager_ui/package-lock.json +++ b/DigitalData.UserManager.API/ClientApp/user_manager_ui/package-lock.json @@ -38,6 +38,7 @@ "@types/express": "^4.17.17", "@types/jasmine": "~5.1.0", "@types/node": "^18.18.0", + "@types/uuid": "^10.0.0", "jasmine-core": "~5.1.0", "karma": "~6.4.0", "karma-chrome-launcher": "~3.2.0", @@ -4793,6 +4794,12 @@ "@types/node": "*" } }, + "node_modules/@types/uuid": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==", + "dev": true + }, "node_modules/@types/ws": { "version": "8.5.10", "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", diff --git a/DigitalData.UserManager.API/ClientApp/user_manager_ui/package.json b/DigitalData.UserManager.API/ClientApp/user_manager_ui/package.json index c27cf3c..bbfd892 100644 --- a/DigitalData.UserManager.API/ClientApp/user_manager_ui/package.json +++ b/DigitalData.UserManager.API/ClientApp/user_manager_ui/package.json @@ -41,6 +41,7 @@ "@types/express": "^4.17.17", "@types/jasmine": "~5.1.0", "@types/node": "^18.18.0", + "@types/uuid": "^10.0.0", "jasmine-core": "~5.1.0", "karma": "~6.4.0", "karma-chrome-launcher": "~3.2.0", diff --git a/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/services/button/base-button.service.ts b/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/services/button/base-button.service.ts index e7a7b4f..0ce018b 100644 --- a/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/services/button/base-button.service.ts +++ b/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/services/button/base-button.service.ts @@ -1,16 +1,15 @@ import { Injectable, inject } from "@angular/core"; import { ButtonVisibilityService } from "./button-visibility.service"; +import { v4 as uuidv4 } from 'uuid'; export class BaseButtonService { + readonly id = uuidv4().toString(); + constructor() { const bvService = inject(ButtonVisibilityService); - bvService.buttons[this.constructorName] = this; + bvService.buttons[this.id] = this; } public isVisible: boolean = true; - - public get constructorName() { - return this.constructor.name; - } } \ No newline at end of file diff --git a/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/services/button/button-visibility.service.ts b/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/services/button/button-visibility.service.ts index 331ba30..f15054a 100644 --- a/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/services/button/button-visibility.service.ts +++ b/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/services/button/button-visibility.service.ts @@ -24,7 +24,7 @@ export class ButtonVisibilityService { } setVisibleOnly(...buttons: BaseButtonService[]) { - const keys = buttons.map(b => b.constructorName) + const keys = buttons.map(b => b.id) for (const key in this._buttons) { if (keys.includes(key)) { this.setVisibility(key, true) diff --git a/DigitalData.UserManager.API/wwwroot/group-table/index.html b/DigitalData.UserManager.API/wwwroot/group-table/index.html index b0016bd..3378885 100644 --- a/DigitalData.UserManager.API/wwwroot/group-table/index.html +++ b/DigitalData.UserManager.API/wwwroot/group-table/index.html @@ -11,5 +11,5 @@
