diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/picker/picker.context.ts b/src/Umbraco.Web.UI.Client/src/packages/core/picker/picker.context.ts index 2db249670b..1808944c32 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/picker/picker.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/picker/picker.context.ts @@ -26,12 +26,20 @@ export class UmbPickerContext< */ setConfig(config: ConfigType | undefined) { const searchProviderAlias = config?.search?.providerAlias; + if (searchProviderAlias) { - this.search.updateConfig({ providerAlias: searchProviderAlias }); this.search.setSearchable(true); - } else { - this.search.setSearchable(false); + this.search.updateConfig({ providerAlias: searchProviderAlias }); + + const queryParams = config?.search?.queryParams; + if (queryParams) { + this.search.updateQuery(queryParams); + } + + return; } + + this.search.setSearchable(false); } /** @@ -42,4 +50,14 @@ export class UmbPickerContext< getConfig(): ConfigType | undefined { return this.#config.getValue(); } + + /** + * Update the config for the picker + * @param {Partial} config + * @memberof UmbPickerContext + */ + updateConfig(config: Partial) { + const mergedConfig = { ...this.#config.getValue(), ...config } as ConfigType; + this.#config.setValue(mergedConfig); + } }