@memberjunction/ng-resource-permissions 5.47.0 → 5.49.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"available-resources.component.d.ts","sourceRoot":"","sources":["../../src/lib/available-resources.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAa,YAAY,EAAiB,MAAM,eAAe,CAAC;AACtF,OAAO,EAAE,eAAe,EAAW,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAA4B,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAErG,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EACL,MAAM,EACN,cAAc,EAEd,cAAc,EAGd,mBAAmB,EACnB,qBAAqB,EAGrB,KAAK,KAAK,EACX,MAAM,mBAAmB,CAAC;;AAK3B;;GAEG;AACH,qBAMa,2BAA6B,SAAQ,oBAAqB,YAAW,aAAa;IAClF,IAAI,EAAG,QAAQ,CAAC;IAChB,cAAc,EAAG,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,EAAE,QAAQ,GAAG,UAAU,CAAY;IAEzD;;OAEG;IACM,YAAY,EAAE,MAAM,CAAM;IAE1B,iBAAiB,EAAE,YAAY,EAAE,CAAM;IACtC,gBAAgB,+BAAsC;IAEzD,gBAAgB,EAAE,eAAe,EAAE,CAAM;IAGzC,UAAU,EAAE,MAAM,EAAE,CAAM;IAC1B,aAAa,EAAE,MAAM,CAI1B;IACK,kBAAkB,EAAE,mBAAmB,CAI5C;IACK,SAAS,EAAE,KAAK,CAA6C;IACpE,OAAO,CAAC,OAAO,CAAwB;IAEhC,QAAQ,GAAI,QAAQ,cAAc,CAAC,YAAY,CAAC,KAAG,MAAM,CAE9D;IAEK,WAAW,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAKxC,iBAAiB,CAAC,KAAK,EAAE,qBAAqB,GAAG,IAAI;IAWrD,mBAAmB,EAAE,0BAA0B,EAAE,CAAM;IACvD,SAAS,EAAE,YAAY,EAAE,CAAM;IAChC,eAAe;IAIrB;;OAEG;IACU,OAAO;IAmEpB,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,iBAAiB;yCAhJhB,2BAA2B;2CAA3B,2BAA2B;CA2JvC"}
1
+ {"version":3,"file":"available-resources.component.d.ts","sourceRoot":"","sources":["../../src/lib/available-resources.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAa,YAAY,EAAiB,MAAM,eAAe,CAAC;AACtF,OAAO,EAAE,eAAe,EAAW,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAA4B,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAErG,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,EACL,MAAM,EACN,cAAc,EAEd,cAAc,EAGd,mBAAmB,EACnB,qBAAqB,EAErB,KAAK,KAAK,EACX,MAAM,mBAAmB,CAAC;;AAK3B;;GAEG;AACH,qBAMa,2BAA6B,SAAQ,oBAAqB,YAAW,aAAa;IAClF,IAAI,EAAG,QAAQ,CAAC;IAChB,cAAc,EAAG,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,EAAE,QAAQ,GAAG,UAAU,CAAY;IAEzD;;OAEG;IACM,YAAY,EAAE,MAAM,CAAM;IAE1B,iBAAiB,EAAE,YAAY,EAAE,CAAM;IACtC,gBAAgB,+BAAsC;IAEzD,gBAAgB,EAAE,eAAe,EAAE,CAAM;IAGzC,UAAU,EAAE,MAAM,EAAE,CAAM;IAC1B,aAAa,EAAE,MAAM,CAI1B;IACK,kBAAkB,EAAE,mBAAmB,CAI5C;IAGK,SAAS,EAAE,KAAK,CAAmD;IAC1E,OAAO,CAAC,OAAO,CAAwB;IAEhC,QAAQ,GAAI,QAAQ,cAAc,CAAC,YAAY,CAAC,KAAG,MAAM,CAE9D;IAEK,WAAW,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAKxC,iBAAiB,CAAC,KAAK,EAAE,qBAAqB,GAAG,IAAI;IAWrD,mBAAmB,EAAE,0BAA0B,EAAE,CAAM;IACvD,SAAS,EAAE,YAAY,EAAE,CAAM;IAChC,eAAe;IAIrB;;OAEG;IACU,OAAO;IAmEpB,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,iBAAiB;yCAlJhB,2BAA2B;2CAA3B,2BAA2B;CA6JvC"}
@@ -4,7 +4,8 @@ import { ResourcePermissionEngine } from '@memberjunction/core-entities';
4
4
  import { UUIDsEqual } from '@memberjunction/global';
5
5
  import { ResourceData } from '@memberjunction/core-entities';
6
6
  import { BaseAngularComponent } from '@memberjunction/ng-base-types';
7
- import { ModuleRegistry, AllCommunityModule, themeAlpine, colorSchemeVariable } from 'ag-grid-community';
7
+ import { MJ_AG_GRID_THEME_PARAMS } from '@memberjunction/ng-shared-generic';
8
+ import { ModuleRegistry, AllCommunityModule, themeAlpine } from 'ag-grid-community';
8
9
  import * as i0 from "@angular/core";
9
10
  import * as i1 from "ag-grid-angular";
10
11
  function AvailableResourcesComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
@@ -45,7 +46,9 @@ export class AvailableResourcesComponent extends BaseAngularComponent {
45
46
  checkboxes: false,
46
47
  enableClickSelection: true
47
48
  };
48
- GridTheme = themeAlpine.withPart(colorSchemeVariable);
49
+ // Themed from the shared --mj-* token params so this grid follows light/dark and
50
+ // the org brand overlay, matching the main entity/query grids.
51
+ GridTheme = themeAlpine.withParams(MJ_AG_GRID_THEME_PARAMS);
49
52
  gridApi = null;
50
53
  getRowId = (params) => {
51
54
  return params.data.ResourceRecordID;
@@ -1 +1 @@
1
- {"version":3,"file":"available-resources.component.js","sourceRoot":"","sources":["../../src/lib/available-resources.component.ts","../../src/lib/available-resources.component.html"],"names":[],"mappings":"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","sourcesContent":["import { AfterViewInit, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { EntityFieldInfo, RunView, UserInfo } from '@memberjunction/core';\nimport { ResourcePermissionEngine, MJResourcePermissionEntity } from '@memberjunction/core-entities';\nimport { UUIDsEqual } from '@memberjunction/global';\nimport { ResourceData } from '@memberjunction/core-entities';\nimport { BaseAngularComponent } from '@memberjunction/ng-base-types';\nimport {\n ColDef,\n GridReadyEvent,\n GridApi,\n GetRowIdParams,\n ModuleRegistry,\n AllCommunityModule,\n RowSelectionOptions,\n SelectionChangedEvent,\n themeAlpine,\n colorSchemeVariable,\n type Theme\n} from 'ag-grid-community';\n\n// Register AG Grid modules\nModuleRegistry.registerModules([AllCommunityModule]);\n\n/**\n * This component displays a list of available resources for a user for a specific Resource Type.\n */\n@Component({\n standalone: false,\n selector: 'mj-available-resources',\n templateUrl: './available-resources.component.html',\n styleUrls: ['./available-resources.component.css']\n})\nexport class AvailableResourcesComponent extends BaseAngularComponent implements AfterViewInit {\n @Input() User!: UserInfo;\n @Input() ResourceTypeID!: string;\n @Input() ResourceExtraFilter?: string;\n @Input() SelectionMode: 'Single' | 'Multiple' = 'Single';\n\n /**\n * Optional, comma-delimited list of field names to provide extra columns here to display in the grid. These columns will be displayed after the Name of the resource\n */\n @Input() ExtraColumns: string = \"\";\n\n @Input() SelectedResources: ResourceData[] = [];\n @Output() SelectionChanged = new EventEmitter<ResourceData[]>();\n\n public gridExtraColumns: EntityFieldInfo[] = [];\n\n // AG Grid configuration\n public ColumnDefs: ColDef[] = [];\n public DefaultColDef: ColDef = {\n sortable: true,\n resizable: true,\n filter: false\n };\n public RowSelectionConfig: RowSelectionOptions = {\n mode: 'singleRow',\n checkboxes: false,\n enableClickSelection: true\n };\n public GridTheme: Theme = themeAlpine.withPart(colorSchemeVariable);\n private gridApi: GridApi | null = null;\n\n public getRowId = (params: GetRowIdParams<ResourceData>): string => {\n return params.data.ResourceRecordID;\n };\n\n public onGridReady(event: GridReadyEvent): void {\n this.gridApi = event.api;\n this.applyPreselection();\n }\n\n public onSelectionChange(event: SelectionChangedEvent): void {\n const selectedRows = event.api.getSelectedRows() as ResourceData[];\n this.SelectedResources.splice(0, this.SelectedResources.length); // empty the array\n selectedRows.forEach((item) => {\n this.SelectedResources.push(item);\n });\n\n // now bubble up the event\n this.SelectionChanged.emit(this.SelectedResources);\n }\n\n public resourcePermissions: MJResourcePermissionEntity[] = [];\n public resources: ResourceData[] = [];\n async ngAfterViewInit() {\n await this.Refresh();\n }\n\n /**\n * This method will refresh the contents of the component based on the current state of the component.\n */\n public async Refresh() {\n if (!this.User) {\n throw new Error('User is a required property for the AvailableResourcesDialogComponent');\n }\n\n // now we can get the permissions for the specified resource\n this.resourcePermissions = ResourcePermissionEngine.Instance.GetUserAvailableResources(this.User, this.ResourceTypeID);\n if (this.resourcePermissions.length === 0) {\n this.resources = [];\n }\n else {\n const rt = ResourcePermissionEngine.Instance.ResourceTypes.find(rt => UUIDsEqual(rt.ID, this.ResourceTypeID));\n if (!rt || !rt.EntityID)\n throw new Error(`Resource Type ${this.ResourceTypeID} not found`);\n\n const p = this.ProviderToUse;\n const entity = p.Entities.find(e => UUIDsEqual(e.ID, rt.EntityID));\n if (!entity || !entity.NameField)\n throw new Error(`Entity ${rt.EntityID} not found, or no Name field defined`);\n const rv = new RunView(this.RunViewToUse);\n const nameField = entity.NameField;\n if (this.ExtraColumns && this.ExtraColumns.length > 0) {\n /// split the comma delim string and for each item find it in the EntityFields collection\n const extraColumns = this.ExtraColumns.split(',');\n this.gridExtraColumns = [];\n extraColumns.forEach((ec) => {\n const field = entity.Fields.find((f) => f.Name.trim().toLowerCase() === ec.trim().toLowerCase());\n if (field)\n this.gridExtraColumns.push(field);\n });\n }\n\n // Build column definitions after we know the extra columns\n this.buildColumnDefs();\n\n const extraFilter = this.ResourceExtraFilter ? ` AND (${this.ResourceExtraFilter})` : '';\n const result = await rv.RunView({\n EntityName: entity.Name,\n ExtraFilter: `(ID in (${this.resourcePermissions.map((r) => `'${r.ResourceRecordID}'`).join(',')})${extraFilter})`,\n OrderBy: nameField.Name\n })\n if (!result || !result.Success)\n throw new Error(`Error running view for entity ${entity.Name}`);\n\n // only return rows where we have a record in result.Results\n this.resources = result.Results.map((r) => {\n return new ResourceData({\n ResourceRecordID: r.ID,\n Name: r[nameField.Name],\n ResourceTypeID: this.ResourceTypeID,\n ResourceType: rt.Name,\n Configuration: r // pass the whole resource record into configuration so it is accessible as desired\n });\n });\n\n // Update selection mode based on input\n this.RowSelectionConfig = {\n mode: this.SelectionMode.toLowerCase() === 'single' ? 'singleRow' : 'multiRow',\n checkboxes: false,\n enableClickSelection: true\n };\n\n // Re-apply preselection after data loads\n this.applyPreselection();\n }\n }\n\n private buildColumnDefs(): void {\n const cols: ColDef[] = [\n { field: 'Name', headerName: 'Name', width: 225 }\n ];\n\n for (const col of this.gridExtraColumns) {\n cols.push({\n headerName: col.DisplayNameOrName,\n valueGetter: (params) => {\n return params.data?.Configuration?.[col.Name] ?? '';\n }\n });\n }\n\n this.ColumnDefs = cols;\n }\n\n private applyPreselection(): void {\n if (!this.gridApi || this.SelectedResources.length === 0) return;\n this.gridApi.forEachNode((node) => {\n const isSelected = this.SelectedResources.some(\n (r) => UUIDsEqual(r.ResourceRecordID, node.data?.ResourceRecordID)\n );\n if (isSelected) {\n node.setSelected(true);\n }\n });\n }\n}\n","<div class=\"container\">\n @if (User) {\n <ag-grid-angular\n class=\"resources-grid\"\n [theme]=\"GridTheme\"\n [rowData]=\"resources\"\n [columnDefs]=\"ColumnDefs\"\n [defaultColDef]=\"DefaultColDef\"\n [rowSelection]=\"RowSelectionConfig\"\n [getRowId]=\"getRowId\"\n (selectionChanged)=\"onSelectionChange($event)\"\n (gridReady)=\"onGridReady($event)\"\n style=\"width: 100%; height: 400px;\">\n </ag-grid-angular>\n }\n </div>\n"]}
1
+ {"version":3,"file":"available-resources.component.js","sourceRoot":"","sources":["../../src/lib/available-resources.component.ts","../../src/lib/available-resources.component.html"],"names":[],"mappings":"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","sourcesContent":["import { AfterViewInit, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { EntityFieldInfo, RunView, UserInfo } from '@memberjunction/core';\nimport { ResourcePermissionEngine, MJResourcePermissionEntity } from '@memberjunction/core-entities';\nimport { UUIDsEqual } from '@memberjunction/global';\nimport { ResourceData } from '@memberjunction/core-entities';\nimport { BaseAngularComponent } from '@memberjunction/ng-base-types';\nimport { MJ_AG_GRID_THEME_PARAMS } from '@memberjunction/ng-shared-generic';\nimport {\n ColDef,\n GridReadyEvent,\n GridApi,\n GetRowIdParams,\n ModuleRegistry,\n AllCommunityModule,\n RowSelectionOptions,\n SelectionChangedEvent,\n themeAlpine,\n type Theme\n} from 'ag-grid-community';\n\n// Register AG Grid modules\nModuleRegistry.registerModules([AllCommunityModule]);\n\n/**\n * This component displays a list of available resources for a user for a specific Resource Type.\n */\n@Component({\n standalone: false,\n selector: 'mj-available-resources',\n templateUrl: './available-resources.component.html',\n styleUrls: ['./available-resources.component.css']\n})\nexport class AvailableResourcesComponent extends BaseAngularComponent implements AfterViewInit {\n @Input() User!: UserInfo;\n @Input() ResourceTypeID!: string;\n @Input() ResourceExtraFilter?: string;\n @Input() SelectionMode: 'Single' | 'Multiple' = 'Single';\n\n /**\n * Optional, comma-delimited list of field names to provide extra columns here to display in the grid. These columns will be displayed after the Name of the resource\n */\n @Input() ExtraColumns: string = \"\";\n\n @Input() SelectedResources: ResourceData[] = [];\n @Output() SelectionChanged = new EventEmitter<ResourceData[]>();\n\n public gridExtraColumns: EntityFieldInfo[] = [];\n\n // AG Grid configuration\n public ColumnDefs: ColDef[] = [];\n public DefaultColDef: ColDef = {\n sortable: true,\n resizable: true,\n filter: false\n };\n public RowSelectionConfig: RowSelectionOptions = {\n mode: 'singleRow',\n checkboxes: false,\n enableClickSelection: true\n };\n // Themed from the shared --mj-* token params so this grid follows light/dark and\n // the org brand overlay, matching the main entity/query grids.\n public GridTheme: Theme = themeAlpine.withParams(MJ_AG_GRID_THEME_PARAMS);\n private gridApi: GridApi | null = null;\n\n public getRowId = (params: GetRowIdParams<ResourceData>): string => {\n return params.data.ResourceRecordID;\n };\n\n public onGridReady(event: GridReadyEvent): void {\n this.gridApi = event.api;\n this.applyPreselection();\n }\n\n public onSelectionChange(event: SelectionChangedEvent): void {\n const selectedRows = event.api.getSelectedRows() as ResourceData[];\n this.SelectedResources.splice(0, this.SelectedResources.length); // empty the array\n selectedRows.forEach((item) => {\n this.SelectedResources.push(item);\n });\n\n // now bubble up the event\n this.SelectionChanged.emit(this.SelectedResources);\n }\n\n public resourcePermissions: MJResourcePermissionEntity[] = [];\n public resources: ResourceData[] = [];\n async ngAfterViewInit() {\n await this.Refresh();\n }\n\n /**\n * This method will refresh the contents of the component based on the current state of the component.\n */\n public async Refresh() {\n if (!this.User) {\n throw new Error('User is a required property for the AvailableResourcesDialogComponent');\n }\n\n // now we can get the permissions for the specified resource\n this.resourcePermissions = ResourcePermissionEngine.Instance.GetUserAvailableResources(this.User, this.ResourceTypeID);\n if (this.resourcePermissions.length === 0) {\n this.resources = [];\n }\n else {\n const rt = ResourcePermissionEngine.Instance.ResourceTypes.find(rt => UUIDsEqual(rt.ID, this.ResourceTypeID));\n if (!rt || !rt.EntityID)\n throw new Error(`Resource Type ${this.ResourceTypeID} not found`);\n\n const p = this.ProviderToUse;\n const entity = p.Entities.find(e => UUIDsEqual(e.ID, rt.EntityID));\n if (!entity || !entity.NameField)\n throw new Error(`Entity ${rt.EntityID} not found, or no Name field defined`);\n const rv = new RunView(this.RunViewToUse);\n const nameField = entity.NameField;\n if (this.ExtraColumns && this.ExtraColumns.length > 0) {\n /// split the comma delim string and for each item find it in the EntityFields collection\n const extraColumns = this.ExtraColumns.split(',');\n this.gridExtraColumns = [];\n extraColumns.forEach((ec) => {\n const field = entity.Fields.find((f) => f.Name.trim().toLowerCase() === ec.trim().toLowerCase());\n if (field)\n this.gridExtraColumns.push(field);\n });\n }\n\n // Build column definitions after we know the extra columns\n this.buildColumnDefs();\n\n const extraFilter = this.ResourceExtraFilter ? ` AND (${this.ResourceExtraFilter})` : '';\n const result = await rv.RunView({\n EntityName: entity.Name,\n ExtraFilter: `(ID in (${this.resourcePermissions.map((r) => `'${r.ResourceRecordID}'`).join(',')})${extraFilter})`,\n OrderBy: nameField.Name\n })\n if (!result || !result.Success)\n throw new Error(`Error running view for entity ${entity.Name}`);\n\n // only return rows where we have a record in result.Results\n this.resources = result.Results.map((r) => {\n return new ResourceData({\n ResourceRecordID: r.ID,\n Name: r[nameField.Name],\n ResourceTypeID: this.ResourceTypeID,\n ResourceType: rt.Name,\n Configuration: r // pass the whole resource record into configuration so it is accessible as desired\n });\n });\n\n // Update selection mode based on input\n this.RowSelectionConfig = {\n mode: this.SelectionMode.toLowerCase() === 'single' ? 'singleRow' : 'multiRow',\n checkboxes: false,\n enableClickSelection: true\n };\n\n // Re-apply preselection after data loads\n this.applyPreselection();\n }\n }\n\n private buildColumnDefs(): void {\n const cols: ColDef[] = [\n { field: 'Name', headerName: 'Name', width: 225 }\n ];\n\n for (const col of this.gridExtraColumns) {\n cols.push({\n headerName: col.DisplayNameOrName,\n valueGetter: (params) => {\n return params.data?.Configuration?.[col.Name] ?? '';\n }\n });\n }\n\n this.ColumnDefs = cols;\n }\n\n private applyPreselection(): void {\n if (!this.gridApi || this.SelectedResources.length === 0) return;\n this.gridApi.forEachNode((node) => {\n const isSelected = this.SelectedResources.some(\n (r) => UUIDsEqual(r.ResourceRecordID, node.data?.ResourceRecordID)\n );\n if (isSelected) {\n node.setSelected(true);\n }\n });\n }\n}\n","<div class=\"container\">\n @if (User) {\n <ag-grid-angular\n class=\"resources-grid\"\n [theme]=\"GridTheme\"\n [rowData]=\"resources\"\n [columnDefs]=\"ColumnDefs\"\n [defaultColDef]=\"DefaultColDef\"\n [rowSelection]=\"RowSelectionConfig\"\n [getRowId]=\"getRowId\"\n (selectionChanged)=\"onSelectionChange($event)\"\n (gridReady)=\"onGridReady($event)\"\n style=\"width: 100%; height: 400px;\">\n </ag-grid-angular>\n }\n </div>\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/ng-resource-permissions",
3
- "version": "5.47.0",
3
+ "version": "5.49.0",
4
4
  "description": "MemberJunction: Generic Angular components for displaying/editing permissions for a resource",
5
5
  "main": "./dist/public-api.js",
6
6
  "typings": "./dist/public-api.d.ts",
@@ -18,8 +18,8 @@
18
18
  "devDependencies": {
19
19
  "@angular/compiler": "21.1.3",
20
20
  "@angular/compiler-cli": "21.1.3",
21
- "@memberjunction/core": "5.47.0",
22
- "@memberjunction/ng-test-utils": "5.47.0",
21
+ "@memberjunction/core": "5.49.0",
22
+ "@memberjunction/ng-test-utils": "5.49.0",
23
23
  "vitest": "^4.0.18"
24
24
  },
25
25
  "peerDependencies": {
@@ -29,15 +29,15 @@
29
29
  "@angular/router": "21.1.3"
30
30
  },
31
31
  "dependencies": {
32
- "@memberjunction/core": "5.47.0",
33
- "@memberjunction/core-entities": "5.47.0",
34
- "@memberjunction/global": "5.47.0",
35
- "@memberjunction/ng-base-types": "5.47.0",
36
- "@memberjunction/ng-container-directives": "5.47.0",
37
- "@memberjunction/ng-generic-dialog": "5.47.0",
38
- "@memberjunction/ng-notifications": "5.47.0",
39
- "@memberjunction/ng-shared-generic": "5.47.0",
40
- "@memberjunction/ng-ui-components": "5.47.0",
32
+ "@memberjunction/core": "5.49.0",
33
+ "@memberjunction/core-entities": "5.49.0",
34
+ "@memberjunction/global": "5.49.0",
35
+ "@memberjunction/ng-base-types": "5.49.0",
36
+ "@memberjunction/ng-container-directives": "5.49.0",
37
+ "@memberjunction/ng-generic-dialog": "5.49.0",
38
+ "@memberjunction/ng-notifications": "5.49.0",
39
+ "@memberjunction/ng-shared-generic": "5.49.0",
40
+ "@memberjunction/ng-ui-components": "5.49.0",
41
41
  "ag-grid-angular": "^35.0.1",
42
42
  "ag-grid-community": "^35.0.1",
43
43
  "tslib": "^2.8.1"