diff --git a/src/app/screens/product-action-screen/product-action-screen.component.spec.ts b/src/app/screens/product-action-screen/product-action-screen.component.spec.ts index 788ee51..8dd5ed6 100644 --- a/src/app/screens/product-action-screen/product-action-screen.component.spec.ts +++ b/src/app/screens/product-action-screen/product-action-screen.component.spec.ts @@ -972,4 +972,29 @@ describe('ProductActionScreenComponent', () => { expect(toastServiceSpy.showToast).not.toHaveBeenCalled(); expect(routerSpy.navigate).toHaveBeenCalledWith(['/project 1/components']); }); + + it('should not include parameters with visible set to false in actionParams', () => { + catalogServiceSpy.getProjectProduct.and.returnValue(of({ + title: 'fakeProduct', + actions: [ + { + id: 'fakeAction', + label: 'Fake Action', + requestable: true, + parameters: [ + { name: 'visible_param', required: true, type: 'string', visible: true }, + { name: 'hidden_param', required: false, type: 'string', visible: false }, + { name: 'another_visible_param', required: false, type: 'string' } + ] + } + ] + } as AppProduct)); + + activatedRouteSubject.next({ 'id': 'fakeId', 'catalogSlug': 'catalog', 'action': 'fakeAction' }); + + const paramNames = component.actionParams.map(p => p.name); + expect(paramNames).not.toContain('hidden_param'); + expect(paramNames).toContain('visible_param'); + expect(paramNames).toContain('another_visible_param'); + }); }); diff --git a/src/app/screens/product-action-screen/product-action-screen.component.ts b/src/app/screens/product-action-screen/product-action-screen.component.ts index dd83248..23d366c 100644 --- a/src/app/screens/product-action-screen/product-action-screen.component.ts +++ b/src/app/screens/product-action-screen/product-action-screen.component.ts @@ -194,7 +194,7 @@ export class ProductActionScreenComponent implements OnInit, OnDestroy { } private setupActionParameters(productAction: ProductAction): void { - const productActionParams = productAction.parameters?.filter(param => param.name !== 'project_key') || []; + const productActionParams = productAction.parameters?.filter(param => param.name !== 'project_key' && param.visible !== false) || []; if (productActionParams.length > 0) { this.addProjectKeyParameter(productActionParams);