From c505ccdb05d4855f4cd9e3b34961b4cb168c0a7f Mon Sep 17 00:00:00 2001 From: HannaKurban <96909212+HannaKurban@users.noreply.github.com> Date: Fri, 22 Mar 2024 17:21:57 +0300 Subject: [PATCH] FIO-7933 added PDF Document Designer (#5539) --- src/WebformBuilder.js | 19 ++++++++++++++++++- src/components/datagrid/DataGrid.js | 2 +- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/WebformBuilder.js b/src/WebformBuilder.js index 184c717486..4871940aa3 100644 --- a/src/WebformBuilder.js +++ b/src/WebformBuilder.js @@ -134,6 +134,7 @@ export default class WebformBuilder extends Component { html, disableBuilderActions: self?.component?.disableBuilderActions, childComponent: component, + design: self?.options?.design }); }; @@ -560,6 +561,7 @@ export default class WebformBuilder extends Component { attach(element) { this.on('change', (form) => { this.populateRecaptchaSettings(form); + this.webform.setAlert(false); }); return super.attach(element).then(() => { this.loadRefs(element, { @@ -945,6 +947,21 @@ export default class WebformBuilder extends Component { } } + if (draggableComponent.uniqueComponent) { + let isCompAlreadyExists = false; + eachComponent(this.webform.components, (component) => { + if (component.key === draggableComponent.schema.key) { + isCompAlreadyExists = true; + return; + } + }, true); + if (isCompAlreadyExists) { + this.webform.redraw(); + this.webform.setAlert('danger', `You cannot add more than one ${draggableComponent.title} component to one page.`); + return; + } + } + if (target !== source) { // Ensure the key remains unique in its new container. BuilderUtils.uniquify(this.findNamespaceRoot(target.formioComponent), info); @@ -982,7 +999,7 @@ export default class WebformBuilder extends Component { const componentInDataGrid = parent.type === 'datagrid'; - if (isNew && !this.options.noNewEdit && !info.noNewEdit) { + if (isNew && !this.options.noNewEdit && !info.noNewEdit && !(this.options.design && info.type === 'reviewpage')) { this.editComponent(info, target, isNew, null, null, { inDataGrid: componentInDataGrid }); } diff --git a/src/components/datagrid/DataGrid.js b/src/components/datagrid/DataGrid.js index 7436d80b26..b4be349fca 100644 --- a/src/components/datagrid/DataGrid.js +++ b/src/components/datagrid/DataGrid.js @@ -240,7 +240,7 @@ export default class DataGridComponent extends NestedArrayComponent { } get canAddColumn() { - return this.builderMode; + return this.builderMode && !this.options.design; } render() {