Skip to content

Commit

Permalink
Showing 4 changed files with 59 additions and 8 deletions.
9 changes: 4 additions & 5 deletions src/panel.ts
Original file line number Diff line number Diff line change
@@ -249,7 +249,7 @@ export class QuestionRowModel extends Base {
public getRowCss() {
return new CssClassBuilder()
.append(this.panel.cssClasses.row)
.append(this.panel.cssClasses.pageRow, this.panel.isPage || !!(<any>this.panel).originalPage)
.append(this.panel.cssClasses.pageRow, this.panel.isPage || (!!(<any>this.panel).originalPage && !(<any>this.panel.survey).isShowingPreview))
.append(this.panel.cssClasses.rowMultiple, this.visibleElements.length > 1)
.toString();

@@ -1961,17 +1961,16 @@ export class PanelModel extends PanelModelBase implements IElement {
(this.survey as SurveyModel).whenPanelFocusIn(this);
}
protected getHasFrameV2(): boolean {
return super.getHasFrameV2() && !(<any>this).originalPage;
return super.getHasFrameV2() && (!(<any>this).originalPage || (<any>this.survey).isShowingPreview);
}
protected getIsNested(): boolean {
return super.getIsNested() && this.parent !== undefined;
}
protected getCssRoot(cssClasses: { [index: string]: string }): string {
var original = super.getCssRoot(cssClasses);
return new CssClassBuilder()
.append(original)
.append(super.getCssRoot(cssClasses))
.append(cssClasses.container)
.append(cssClasses.asPage, !!(<any>this).originalPage)
.append(cssClasses.asPage, !!(<any>this).originalPage && !(<any>this.survey).isShowingPreview)
.append(cssClasses.invisible, !this.isDesignMode && this.areInvisibleElementsShowing && !this.visible)
.toString();
}
2 changes: 1 addition & 1 deletion src/survey-element.ts
Original file line number Diff line number Diff line change
@@ -771,7 +771,7 @@ export class SurveyElement<E = any> extends SurveyElementCore implements ISurvey
}

public get hasParent() {
return (this.parent && !this.parent.isPage && !(<any>this.parent).originalPage) || (this.parent === undefined);
return (this.parent && !this.parent.isPage && (!(<any>this.parent).originalPage || (<any>this.survey).isShowingPreview)) || (this.parent === undefined);
}
@property({ defaultValue: true }) isSingleInRow: boolean = true;

54 changes: 54 additions & 0 deletions tests/paneltests.ts
Original file line number Diff line number Diff line change
@@ -1820,6 +1820,60 @@ QUnit.test("Check panel styles with originalPage", function(assert) {
assert.notOk(question["getIsNested"]());
assert.ok(question["getHasFrameV2"]());

assert.ok(question2["getIsNested"]());
assert.notOk(question2["getHasFrameV2"]());
});

QUnit.test("Check panel styles with originalPage and showPreview", function(assert) {
const survey = new SurveyModel({
pages: [
{
name: "panel",
title: "title",
elements: [
{
type: "text",
name: "q1",
},
{
type: "panel",
name: "innerPanel",
elements: [
{
type: "text",
name: "q2",
}
]
}
]
}
]
});
survey.css = {
root: "sd-root-modern",
pageRow: "page_row"
};
survey.showPreview();
const panel = <PanelModel>survey.getPanelByName("panel");
const innerPanel = <PanelModel>survey.getPanelByName("innerPanel");
const question = survey.getQuestionByName("q1");
const question2 = survey.getQuestionByName("q2");
//check panels styles

assert.notOk(panel["getIsNested"]());
assert.ok(panel["getHasFrameV2"]());

assert.ok(innerPanel["getIsNested"]());
assert.notOk(innerPanel["getHasFrameV2"]());

assert.notOk(panel.rows[0].getRowCss().includes("page_row"));
assert.notOk(innerPanel.rows[0].getRowCss().includes("page_row"));

// // //check questions styles

assert.ok(question["getIsNested"]());
assert.notOk(question["getHasFrameV2"]());

assert.ok(question2["getIsNested"]());
assert.notOk(question2["getHasFrameV2"]());
});
2 changes: 0 additions & 2 deletions visualRegressionTests/tests/defaultV2/panel.ts
Original file line number Diff line number Diff line change
@@ -399,7 +399,6 @@ frameworks.forEach(framework => {
test("Check panel with singlePage mode", async (t) => {
await wrapVisualTest(t, async (t, comparer) => {
await t.resizeWindow(1920, 1080);
await t.debug();
await initSurvey(framework, {
questionsOnPageMode: "singlePage",
pages: [
@@ -423,7 +422,6 @@ frameworks.forEach(framework => {
});
const panelRoot = Selector(".sd-panel");
await resetFocusToBody();
await t.debug();
await takeElementScreenshot("panel-single-page.png", panelRoot, t, comparer);
});
});

0 comments on commit bc358d0

Please sign in to comment.