Skip to content

Commit

Permalink
work for #6252 not render div with background image settings if backg…
Browse files Browse the repository at this point in the history
…round image not set
  • Loading branch information
OlgaLarina committed Jul 6, 2023
1 parent 842771e commit 43469eb
Show file tree
Hide file tree
Showing 10 changed files with 40 additions and 18 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<ng-template #template>
<div #surveyContainer *ngIf="!!model" [class]="model.getRootCss()" [style]="model.themeVariables">
<div [class]="model.css.rootBackgroundImage" [style]="model.backgroundImageStyle"></div>
<div *ngIf="!!model.renderBackgroundImage" [class]="model.css.rootBackgroundImage" [style]="model.backgroundImageStyle"></div>
<form onsubmit="return false;">
<div class="sv_custom_header" [hidden]="model.hasLogo"></div>
<div [class]="model.css.container">
Expand Down
4 changes: 0 additions & 4 deletions src/defaultV2-theme/blocks/sd-body.scss
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,4 @@
bottom: 0;
left: 0;
right: 0;

// paralax
// background-image: url("http://cdn.bmwblog.com/wp-content/uploads/MINI-Rocketman-Concept-04.jpg");
// transform: translateZ(-1px) scale(2);
}
6 changes: 0 additions & 6 deletions src/defaultV2-theme/defaultV2.fontless.scss
Original file line number Diff line number Diff line change
Expand Up @@ -63,12 +63,6 @@ body {
background-color: $background-dim;
position: relative;

// paralax
// perspective: 1px;
// transform-style: preserve-3d;
// overflow: auto;
// height: 100vh;

form {
z-index: 1;
position: relative;
Expand Down
2 changes: 2 additions & 0 deletions src/knockout/templates/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@

<script type="text/html" id="survey-content-template">
<div data-bind="css: rootCss, elementStyle: themeVariables">
<!-- ko if: !!renderBackgroundImage -->
<div data-bind="css: css.rootBackgroundImage, style: backgroundImageStyle"></div>
<!-- /ko -->
<form onsubmit="return false;">
<div class="sv_custom_header" data-bind="visible: !hasLogo"></div>
<div data-bind="css: containerCss">
Expand Down
3 changes: 2 additions & 1 deletion src/react/reactSurvey.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ export class Survey extends SurveyElementBase<any, any>
} else {
renderResult = this.renderSurvey();
}
const backgroundImage = !!this.survey.renderBackgroundImage ? <div className={this.css.rootBackgroundImage} style={this.survey.backgroundImageStyle}></div> : null;
const header: JSX.Element = <SurveyHeader survey={this.survey}></SurveyHeader>;
const onSubmit = function (event: React.FormEvent<HTMLFormElement>) {
event.preventDefault();
Expand All @@ -106,7 +107,7 @@ export class Survey extends SurveyElementBase<any, any>

return (
<div id={this.rootNodeId} ref={this.rootRef} className={cssClasses} style={this.survey.themeVariables}>
<div className={this.css.rootBackgroundImage} style={this.survey.backgroundImageStyle}></div>
{backgroundImage}
<form onSubmit={onSubmit}>
{customHeader}
<div className={this.css.container}>
Expand Down
7 changes: 4 additions & 3 deletions src/survey.ts
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ import { QuestionMatrixDropdownModelBase } from "./question_matrixdropdownbase";
import { QuestionMatrixDynamicModel } from "./question_matrixdynamic";
import { QuestionFileModel } from "./question_file";
import { QuestionMultipleTextModel } from "./question_multipletext";
import { ITheme } from "./themes";
import { ITheme, ImageFit, ImagePosition } from "./themes";
import { PopupModel } from "./popup";

/**
Expand Down Expand Up @@ -2004,8 +2004,8 @@ export class SurveyModel extends SurveyElementCore
const path = this.getLocalizableString("backgroundImage").renderedHtml;
this.renderBackgroundImage = !!path ? ["url(", path, ")"].join("") : "";
}
@property() backgroundImageFit: string;
@property() backgroundImagePosition: string;
@property() backgroundImageFit: ImageFit;
@property() backgroundImagePosition: ImagePosition;
/**
* A value from 0 to 1 that specifies how transparent the [background image](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#backgroundImage) should be: 0 makes the image completely transparent, and 1 makes it opaque.
*/
Expand Down Expand Up @@ -7310,6 +7310,7 @@ Serializer.addClass("survey", [
{ name: "width", visibleIf: (obj: any) => { return obj.widthMode === "static"; } },
{ name: "backgroundImage", serializationProperty: "locBackgroundImage", visible: false },
{ name: "backgroundImageFit", default: "cover", choices: ["auto", "contain", "cover"], visible: false },
{ name: "backgroundImagePosition", default: "scroll", choices: ["scroll", "fixed"], visible: false },
{ name: "backgroundOpacity:number", minValue: 0, maxValue: 1, default: 1, visible: false },
{ name: "showBrandInfo:boolean", default: false, visible: false }
]);
6 changes: 4 additions & 2 deletions src/themes.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
export type ImageFit = "auto" | "contain" |"cover";
export type ImagePosition = "fixed" | "scroll";

export interface ITheme {
cssVariables?: {[index: string]: string};
backgroundImage?: string;
backgroundImageFit?: string;
backgroundImagePosition?: string;
backgroundImageFit?: ImageFit;
backgroundImagePosition?: ImagePosition;
backgroundOpacity?: number;
isCompact?: boolean;
}
2 changes: 1 addition & 1 deletion src/vue/survey.vue
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<div :class="survey.getRootCss()"
:style="vueSurvey.themeVariables"
>
<div :class="css.rootBackgroundImage" :style="vueSurvey.backgroundImageStyle"></div>
<div v-if="vueSurvey.renderBackgroundImage" :class="css.rootBackgroundImage" :style="vueSurvey.backgroundImageStyle"></div>
<form onsubmit="return false;">
<div v-if="!vueSurvey.hasLogo" class="sv_custom_header"></div>
<div :class="css.container">
Expand Down
22 changes: 22 additions & 0 deletions tests/markup/etalon_survey.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,5 +44,27 @@ registerMarkupTests(
return el.outerHTML;
},
snapshot: "survey-theme-variables"
}, {
name: "Test Survey backgroundImage",
json: {
backgroundImage: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABQCAYAAAC6aDOxAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAATkSURBVHgB5ZxNUhNBFIBf9xBBccFWQulwAvEAUuEEFidQTyCsXIonUE+gN9AbEEOVW3DnjlhGXRo3EBKm2+7AxEmnf2aGzLxX8G0IMxNIPV5/3fNeDwCE+XX78Q4gw4EovUZrQwA8AWRIBuj3UivmDfGRAfQBGZIBklzsS4AYGDsCZMgFqLe8+XYcHIVk0AVkFoAQP+9s7oGEF+n3USK7gAyZDNJSVl9eZY9JSLqADAMCaClPvJOhedJB/3wkMsgWHAW6oDXoAcpKOYuUEn2K16BK2pTyFBx/itegZZBNylm4wJ/iNSgZdCnlj9JzjWT4U7wGJYMcUp6+ZhR9BwLUHiCXlE1GyzdwiHmlPE1/vd8mMYvVlkEhKWdRUzyJGUxTSwblkXIWCmWOlFoCJFRwIId3JhAoc6RUPsS0lNWXjSLvoVDmSKk0QLqmzPxStg4lCmWOlMoCpKUsGXvjvEDAnusUhTJHSiUBSmvK7ivkh+ESf6derNjOrg6+kFgkaioJkLiYsWLrSQnd4a1otzFySpuMoDVzD5BXyjo4km/pRaDg9gBRKXOkzDVAISknjO+uD9pd/XrhXDywXkSkzJEytwDlkfL9k/anzG+ObZepAJPKoLksFMMrZfmhOTh4PX2MbegxZ7n2+mVQHinPHpbWGUwVyq6Xg/JK2XLO+p7BUvQVCHGltoqWss87CfDtKe9cooekyrpjII6U8LZ0BhWWcobzhQI3rngcrZ12dktJupyU/6Nmqhgoc6GGbf2yVAaVkXIWJh1rICLIc76drtcKByhQvug7pTwFK1T+qBOWwM7aqD1ZahQKUHClDPx5Gnnvh2D2m1RstJRXzzrvssdyz2JayqwhDp0XKCk3B53XQJTjldbK4lAcejoqR82TziPzYC5Jh6TMpPy06pEyBRojsef15qWUTXINsZCUzxaj50AY3W7yqSErZZNggOYjZTx+3G21wNNuMqVs4g3QvKSMhVZDJMR713mblE2ckr72UlZqaJ521kM/xyrpGyLlLciBdYjdZCmbzAwxLWWWb4NBrahadXvt9CD4V9dS5kLsOy8oqIapDMrR6EMjT78+j5SLenMSoGD5Apsc/XrvxiylBl2+gIKMJV109wUGoWL+eGOWvLqUTcYBKrz7AgHm2TMU2pg1lvKo3HqNl9l9gUGSRH9tx4Mbs5SUfSvlECQeRUjRi7tbQ/HHds72WILrEYYULeUy3slC6nGohXNnJlszoAopm5AKkHQU0mz9eu9u2StI2YTU82K6Xy9tg97YcVallE1oPXHo6tcD66avq5ayCakMCvXrQ+u1sZTnXGGg5aBAv74OKZvQyiBPv74XVbNSDhEBEcbDh8kdy6l+lKi7RICXrvcqKW89GLa/QQWQGWKBfn1tUjYhEyBPv97ZZCxTvigKoQAV7Ncr74wWeeVlX0KzWIF+vW9j1pyhk0EF+vVcymd1tZvIBEjdb+XLICXle4ODz1ATlBaKwQyqQ8omJALUW26Fs6cmKZvQ+NcUIf/UKGUTEgGKEvHQd75OKc/8bqAA96yia5ayCY0hJllsP16/lE1oZBCT8cwxJCmb0AiQeR+GKGUT9ADpVg8YayBMKZugB2im1YMsZRP0AGXXQBSkbIIeoMkaiIiUTQhImsWUpGyCHiBV5ogpSZkcvaXNp0CYf3BxyTNPele9AAAAAElFTkSuQmCC",
backgroundImageFit: "cover",
backgroundImagePosition: "fixed",
backgroundOpacity: 0.4,
questions: [
{
"type": "html",
"name": "q1",
"html": "<div></div>"
}
]
},
event: "onAfterRenderSurvey",
getSnapshot: el => {
el.removeAttribute("data-bind");
el.children[1]?.remove();
return el.outerHTML;
},
snapshot: "survey-theme-backgroundImage"
}
]);
4 changes: 4 additions & 0 deletions tests/markup/snapshots/survey-theme-backgroundImage.snap.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<div class="sv_default_css sv_main">
<div style="background-attachment:fixed; background-image:url(&quot;data:image/png; background-size:cover; base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABQCAYAAAC6aDOxAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAATkSURBVHgB5ZxNUhNBFIBf9xBBccFWQulwAvEAUuEEFidQTyCsXIonUE+gN9AbEEOVW3DnjlhGXRo3EBKm2+7AxEmnf2aGzLxX8G0IMxNIPV5/3fNeDwCE+XX78Q4gw4EovUZrQwA8AWRIBuj3UivmDfGRAfQBGZIBklzsS4AYGDsCZMgFqLe8+XYcHIVk0AVkFoAQP+9s7oGEF+n3USK7gAyZDNJSVl9eZY9JSLqADAMCaClPvJOhedJB/3wkMsgWHAW6oDXoAcpKOYuUEn2K16BK2pTyFBx/itegZZBNylm4wJ/iNSgZdCnlj9JzjWT4U7wGJYMcUp6+ZhR9BwLUHiCXlE1GyzdwiHmlPE1/vd8mMYvVlkEhKWdRUzyJGUxTSwblkXIWCmWOlFoCJFRwIId3JhAoc6RUPsS0lNWXjSLvoVDmSKk0QLqmzPxStg4lCmWOlMoCpKUsGXvjvEDAnusUhTJHSiUBSmvK7ivkh+ESf6derNjOrg6+kFgkaioJkLiYsWLrSQnd4a1otzFySpuMoDVzD5BXyjo4km/pRaDg9gBRKXOkzDVAISknjO+uD9pd/XrhXDywXkSkzJEytwDlkfL9k/anzG+ObZepAJPKoLksFMMrZfmhOTh4PX2MbegxZ7n2+mVQHinPHpbWGUwVyq6Xg/JK2XLO+p7BUvQVCHGltoqWss87CfDtKe9cooekyrpjII6U8LZ0BhWWcobzhQI3rngcrZ12dktJupyU/6Nmqhgoc6GGbf2yVAaVkXIWJh1rICLIc76drtcKByhQvug7pTwFK1T+qBOWwM7aqD1ZahQKUHClDPx5Gnnvh2D2m1RstJRXzzrvssdyz2JayqwhDp0XKCk3B53XQJTjldbK4lAcejoqR82TziPzYC5Jh6TMpPy06pEyBRojsef15qWUTXINsZCUzxaj50AY3W7yqSErZZNggOYjZTx+3G21wNNuMqVs4g3QvKSMhVZDJMR713mblE2ckr72UlZqaJ521kM/xyrpGyLlLciBdYjdZCmbzAwxLWWWb4NBrahadXvt9CD4V9dS5kLsOy8oqIapDMrR6EMjT78+j5SLenMSoGD5Apsc/XrvxiylBl2+gIKMJV109wUGoWL+eGOWvLqUTcYBKrz7AgHm2TMU2pg1lvKo3HqNl9l9gUGSRH9tx4Mbs5SUfSvlECQeRUjRi7tbQ/HHds72WILrEYYULeUy3slC6nGohXNnJlszoAopm5AKkHQU0mz9eu9u2StI2YTU82K6Xy9tg97YcVallE1oPXHo6tcD66avq5ayCakMCvXrQ+u1sZTnXGGg5aBAv74OKZvQyiBPv74XVbNSDhEBEcbDh8kdy6l+lKi7RICXrvcqKW89GLa/QQWQGWKBfn1tUjYhEyBPv97ZZCxTvigKoQAV7Ncr74wWeeVlX0KzWIF+vW9j1pyhk0EF+vVcymd1tZvIBEjdb+XLICXle4ODz1ATlBaKwQyqQ8omJALUW26Fs6cmKZvQ+NcUIf/UKGUTEgGKEvHQd75OKc/8bqAA96yia5ayCY0hJllsP16/lE1oZBCT8cwxJCmb0AiQeR+GKGUT9ADpVg8YayBMKZugB2im1YMsZRP0AGXXQBSkbIIeoMkaiIiUTQhImsWUpGyCHiBV5ogpSZkcvaXNp0CYf3BxyTNPele9AAAAAElFTkSuQmCC&quot;); opacity:0.4;">
</div>
</div>

0 comments on commit 43469eb

Please sign in to comment.