diff --git a/clients/ts-sdk/openapi.json b/clients/ts-sdk/openapi.json index 9f548e7309..060b29a421 100644 --- a/clients/ts-sdk/openapi.json +++ b/clients/ts-sdk/openapi.json @@ -6977,6 +6977,10 @@ "mode": { "type": "string" }, + "removeTriggers": { + "type": "boolean", + "nullable": true + }, "selector": { "type": "string" } @@ -12447,6 +12451,11 @@ "useGroupSearch": { "type": "boolean", "nullable": true + }, + "zIndex": { + "type": "integer", + "format": "int32", + "nullable": true } } }, diff --git a/clients/ts-sdk/src/types.gen.ts b/clients/ts-sdk/src/types.gen.ts index 1ac2b75a34..7d7538fdb3 100644 --- a/clients/ts-sdk/src/types.gen.ts +++ b/clients/ts-sdk/src/types.gen.ts @@ -132,6 +132,7 @@ export type BulkDeleteChunkPayload = { export type ButtonTrigger = { mode: string; + removeTriggers?: (boolean) | null; selector: string; }; @@ -2080,6 +2081,7 @@ export type PublicPageParameters = { theme?: ((PublicPageTheme) | null); type?: (string) | null; useGroupSearch?: (boolean) | null; + zIndex?: (number) | null; }; export type PublicPageSearchOptions = { diff --git a/frontends/dashboard/src/pages/dataset/PublicPageSettings.tsx b/frontends/dashboard/src/pages/dataset/PublicPageSettings.tsx index db3b9fc154..55ef39f22c 100644 --- a/frontends/dashboard/src/pages/dataset/PublicPageSettings.tsx +++ b/frontends/dashboard/src/pages/dataset/PublicPageSettings.tsx @@ -559,7 +559,7 @@ const PublicPageControls = () => { /> { return `${trigger.selector},${trigger.mode}`; @@ -569,10 +569,18 @@ const PublicPageControls = () => { setExtraParams( "buttonTriggers", e.map((trigger) => { - const [selector, mode] = trigger.split(","); + const [selector, mode, replace] = trigger.split(","); + if (replace) { + return { + selector, + mode, + removeTriggers: replace === "true", + }; + } return { selector, mode, + removeTriggers: false, }; }), ); @@ -760,6 +768,54 @@ const PublicPageControls = () => { options={["search", "chat"]} /> +
+
+ + + } + /> +
+ { + setExtraParams( + "zIndex", + parseInt(e.currentTarget.value), + ); + }} + class="block w-full rounded border border-neutral-300 px-3 py-1.5 shadow-sm placeholder:text-neutral-400 focus:outline-magenta-500 sm:text-sm sm:leading-6" + /> +
diff --git a/server/src/data/models.rs b/server/src/data/models.rs index 1b46a95892..3b766ae8bd 100644 --- a/server/src/data/models.rs +++ b/server/src/data/models.rs @@ -3195,6 +3195,9 @@ impl DatasetConfigurationDTO { brand_font_family: page_parameters_self .brand_font_family .or(page_parameters_curr.brand_font_family), + z_index: page_parameters_self + .z_index + .or(page_parameters_curr.z_index), }), }, DISABLE_ANALYTICS: self diff --git a/server/src/handlers/page_handler.rs b/server/src/handlers/page_handler.rs index 2e4f3d3ad7..8bd19e523f 100644 --- a/server/src/handlers/page_handler.rs +++ b/server/src/handlers/page_handler.rs @@ -141,6 +141,7 @@ pub struct OpenGraphMetadata { pub struct ButtonTrigger { selector: String, mode: String, + remove_triggers: Option } #[derive(Serialize, Deserialize, Debug, Clone, ToSchema, Default)] @@ -243,6 +244,8 @@ pub struct PublicPageParameters { pub creator_linked_in_url: Option, #[serde(skip_serializing_if = "Option::is_none")] pub brand_font_family: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub z_index: Option, } #[utoipa::path(