Skip to content

Commit b9b828c

Browse files
committed
fix(event-scripts): Script Type dropdown empty for services with underscores
The response interceptor maps snake_case keys to camelCase on all /api responses. The Script Type dropdown lookup was hard-coded to handle only api_docs -> apiDocs, so any other service with an underscore in its name (triskele_db, local_file, prism_prod, etc.) produced a response.<key> lookup that missed the already-transformed key, leaving ungroupedEventItems empty and the dropdown appearing unselectable. Use snakeToCamelString on the lookup key so every underscored service resolves correctly.
1 parent 592631f commit b9b828c

4 files changed

Lines changed: 12 additions & 8 deletions

File tree

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,5 @@
1010
<body class="mat-typography">
1111
<df-root></df-root>
1212
<script type="text/javascript" src="https://assets.calendly.com/assets/external/widget.js"></script>
13-
<script src="runtime.52376ff5d6ec6149.js" type="module"></script><script src="polyfills.cb64ea9d35bc0a9e.js" type="module"></script><script src="main.c130ec302a7a706b.js" type="module"></script></body>
13+
<script src="runtime.a9db062fdf3cfd21.js" type="module"></script><script src="polyfills.cb64ea9d35bc0a9e.js" type="module"></script><script src="main.c130ec302a7a706b.js" type="module"></script></body>
1414
</html>
Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/app/adf-event-scripts/df-script-details/df-script-details.component.ts

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,10 @@ import { ScriptEventResponse } from 'src/app/shared/types/scripts';
3232
import { CommonModule } from '@angular/common';
3333
import { DfThemeService } from 'src/app/shared/services/df-theme.service';
3434
import { DfLinkServiceComponent } from 'src/app/shared/components/df-link-service/df-link-service.component';
35-
import { camelToSnakeString } from 'src/app/shared/utilities/case';
35+
import {
36+
camelToSnakeString,
37+
snakeToCamelString,
38+
} from 'src/app/shared/utilities/case';
3639

3740
@UntilDestroy({ checkProperties: true })
3841
@Component({
@@ -206,10 +209,11 @@ export class DfScriptDetailsComponent implements OnInit {
206209
.subscribe(response => {
207210
this.unGroupedEvents = response;
208211
this.scriptEvents = groupEvents(response);
209-
let serviceKey: string = serviceName;
210-
if (serviceKey === 'api_docs') {
211-
serviceKey = 'apiDocs';
212-
}
212+
// The response interceptor converts snake_case keys to camelCase, so
213+
// any service whose name has an underscore (api_docs, triskele_db,
214+
// local_file, etc.) needs the same transform applied to the lookup
215+
// key — not just the previously hard-coded api_docs case.
216+
const serviceKey = snakeToCamelString(serviceName);
213217
this.ungroupedEventOptions = response[serviceKey] as ScriptEvent;
214218
if (this.ungroupedEventOptions) {
215219
Object.keys(this.ungroupedEventOptions).forEach(key => {

0 commit comments

Comments
 (0)