diff --git a/.changelog/24542.txt b/.changelog/24542.txt new file mode 100644 index 00000000000..48c451928d8 --- /dev/null +++ b/.changelog/24542.txt @@ -0,0 +1,3 @@ +```release-note:bug +ui: Fix an issue where volumes weren't navigable +``` diff --git a/ui/app/adapters/volume.js b/ui/app/adapters/volume.js index e8f2f59de8b..489967ed5d4 100644 --- a/ui/app/adapters/volume.js +++ b/ui/app/adapters/volume.js @@ -8,6 +8,14 @@ import classic from 'ember-classic-decorator'; @classic export default class VolumeAdapter extends WatchableNamespaceIDs { + // Over in serializers/volume.js, we prepend csi/ as part of the hash ID for request resolution reasons. + // However, this is not part of the actual ID stored in the database and we should treat it like a regular, unescaped + // path segment. + urlForFindRecord() { + let url = super.urlForFindRecord(...arguments); + return url.replace('csi%2F', 'csi/'); + } + queryParamsToAttrs = { type: 'type', plugin_id: 'plugin.id', diff --git a/ui/app/controllers/csi/volumes/volume.js b/ui/app/controllers/csi/volumes/volume.js index 29a92cc61dd..74fb18ed9eb 100644 --- a/ui/app/controllers/csi/volumes/volume.js +++ b/ui/app/controllers/csi/volumes/volume.js @@ -25,15 +25,13 @@ export default class VolumeController extends Controller { get breadcrumbs() { const volume = this.volume; + if (!volume) { + return []; + } return [ { label: 'Volumes', - args: [ - 'csi.volumes', - qpBuilder({ - volumeNamespace: volume.get('namespace.name') || 'default', - }), - ], + args: ['csi.volumes'], }, { label: volume.name, diff --git a/ui/app/helpers/lazy-click.js b/ui/app/helpers/lazy-click.js index 4e182620de7..1d55877d2b3 100644 --- a/ui/app/helpers/lazy-click.js +++ b/ui/app/helpers/lazy-click.js @@ -14,7 +14,7 @@ import Helper from '@ember/component/helper'; * that should be handled instead. */ export function lazyClick([onClick, event]) { - if (!['a', 'button'].includes(event?.target.tagName.toLowerCase())) { + if (!['a', 'button'].includes(event?.target?.tagName.toLowerCase())) { onClick(event); } } diff --git a/ui/app/templates/csi/plugins/index.hbs b/ui/app/templates/csi/plugins/index.hbs index fcc1f836754..082b41a5133 100644 --- a/ui/app/templates/csi/plugins/index.hbs +++ b/ui/app/templates/csi/plugins/index.hbs @@ -38,7 +38,12 @@ - + {{row.model.plainId}} diff --git a/ui/app/templates/csi/volumes/index.hbs b/ui/app/templates/csi/volumes/index.hbs index 3d73ff0b431..bb50661d2a5 100644 --- a/ui/app/templates/csi/volumes/index.hbs +++ b/ui/app/templates/csi/volumes/index.hbs @@ -77,7 +77,7 @@ {{on "click" (action "gotoVolume" row.model)}} > {{/if}} - \ No newline at end of file +