in webview-ui/src/InspektorGadget/NewTraceDialog.tsx [59:85]
function onResourceChanged(resource: string | null) {
const metadata = (resource && configuredResources[resource]) || null;
const extraProperties = toExtraPropertyObject(metadata?.extraProperties ?? GadgetExtraProperties.None);
const displayProperties = metadata?.defaultProperties || [];
const sortSpecifiers = metadata?.defaultSort || [];
const maxItemCount = extraProperties.requiresMaxItemCount
? traceConfig.maxItemCount || defaultMaxItemCount
: undefined;
const excludeThreads = extraProperties.threadExclusionAllowed ? true : undefined;
const timeout = extraProperties.requiresTimeout ? traceConfig.timeout || defaultTimeoutInSeconds : undefined;
const { namespace, podName, containerName, ...rest } = traceConfig.filters!;
const filters = extraProperties.noK8sResourceFiltering
? { ...rest, namespace: NamespaceSelection.Default }
: traceConfig.filters;
setTraceConfig({
...traceConfig,
resource: resource || "",
filters,
displayProperties,
sortSpecifiers,
excludeThreads,
maxItemCount,
timeout,
});
}