diff --git a/CHANGELOG.md b/CHANGELOG.md index 840e433..9dade2c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/). - logic backend components - forms now have multiple notification +- layout for forms ### Changed diff --git a/src/dto/form/design.input.ts b/src/dto/form/design.input.ts index 67f1180..0bf8973 100644 --- a/src/dto/form/design.input.ts +++ b/src/dto/form/design.input.ts @@ -8,4 +8,7 @@ export class DesignInput { @Field({ nullable: true }) readonly font?: string + + @Field({ nullable: true }) + readonly layout?: string } diff --git a/src/dto/form/design.model.ts b/src/dto/form/design.model.ts index 9a023bd..39b25bd 100644 --- a/src/dto/form/design.model.ts +++ b/src/dto/form/design.model.ts @@ -10,8 +10,12 @@ export class DesignModel { @Field({ nullable: true }) readonly font?: string + @Field({ nullable: true }) + readonly layout?: string + constructor(partial: Partial) { this.colors = new ColorsModel(partial.colors) this.font = partial.font + this.layout = partial.layout } } diff --git a/src/dto/form/form.create.input.ts b/src/dto/form/form.create.input.ts index 51ca595..a05afdd 100644 --- a/src/dto/form/form.create.input.ts +++ b/src/dto/form/form.create.input.ts @@ -13,4 +13,7 @@ export class FormCreateInput { @Field({ nullable: true }) readonly isLive: boolean + + @Field({ nullable: true }) + readonly layout: string } diff --git a/src/entity/embedded/design.embedded.ts b/src/entity/embedded/design.embedded.ts index 042649f..540f437 100644 --- a/src/entity/embedded/design.embedded.ts +++ b/src/entity/embedded/design.embedded.ts @@ -7,4 +7,7 @@ export class DesignEmbedded { @Column({ nullable: true }) font?: string + + @Column({ nullable: true }) + layout?: string } diff --git a/src/migrations/1621078163528-layout.ts b/src/migrations/1621078163528-layout.ts new file mode 100644 index 0000000..03ee770 --- /dev/null +++ b/src/migrations/1621078163528-layout.ts @@ -0,0 +1,14 @@ +import { MigrationInterface, QueryRunner } from "typeorm" + +export class layout1621078163528 implements MigrationInterface { + name = 'layout1621078163528' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "form" ADD "designLayout" character varying`); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "form" DROP COLUMN "designLayout"`); + } + +} diff --git a/src/service/form/form.create.service.ts b/src/service/form/form.create.service.ts index 580cec0..b9d1aef 100644 --- a/src/service/form/form.create.service.ts +++ b/src/service/form/form.create.service.ts @@ -20,6 +20,7 @@ export class FormCreateService { form.isLive = Boolean(input.isLive) form.showFooter = Boolean(input.showFooter) form.language = input.language || 'en' + form.design.layout = input.layout form.admin = admin diff --git a/src/service/form/form.update.service.ts b/src/service/form/form.update.service.ts index e317b62..fd2f249 100644 --- a/src/service/form/form.update.service.ts +++ b/src/service/form/form.update.service.ts @@ -150,6 +150,10 @@ export class FormUpdateService { form.design.font = input.design.font } + if (input.design.layout !== undefined) { + form.design.layout = input.design.layout + } + if (input.design.colors !== undefined) { if (input.design.colors.answer !== undefined) { form.design.colors.answer = input.design.colors.answer