From 92c79a61fc021cb5fd38a82e17a6e3ff87f9b1b2 Mon Sep 17 00:00:00 2001 From: Benjamin Kott Date: Fri, 17 Jul 2026 09:55:09 +0200 Subject: [PATCH] [TASK] Allow skipping the summary step in the backend wizard MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a skip-summary attribute to typo3-backend-wizard that drops the auto-inserted confirmation step, and use it in the form manager's new form wizard, which has no need for a separate summary. Resolves: #110153 Releases: main, 14.3 Change-Id: I39bd2fa2a603d62fd1c10b786e272364342f458e Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/94823 Tested-by: core-ci Tested-by: Benjamin Kott Reviewed-by: Benjamin Kott (cherry picked from commit dd92374e619495867a387979a68a1f5a8772a2f1) [CONFLICT — manual resolution required] --- .../Public/JavaScript/backend/form-wizard/form-wizard.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Resources/Public/JavaScript/backend/form-wizard/form-wizard.js b/Resources/Public/JavaScript/backend/form-wizard/form-wizard.js index 758a6539..51923cbd 100644 --- a/Resources/Public/JavaScript/backend/form-wizard/form-wizard.js +++ b/Resources/Public/JavaScript/backend/form-wizard/form-wizard.js @@ -16,6 +16,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, * * The TYPO3 project - inspiring people to share! */ +<<<<<<< HEAD import '@typo3/backend/wizard/wizard.js'; import { customElement, property, query, state } from 'lit/decorators.js'; import SettingsStep, {} from '@typo3/form/backend/form-wizard/steps/settings-step.js'; @@ -118,3 +119,6 @@ FormWizard = __decorate([ customElement('typo3-backend-form-wizard') ], FormWizard); export { FormWizard }; +======= +import"@typo3/backend/wizard/wizard.js";import{state as d,property as l,query as S,customElement as w}from"lit/decorators.js";import u from"@typo3/form/backend/form-wizard/steps/settings-step.js";import{LitElement as g,html as f}from"lit";import c from"~labels/form.form_manager_javascript";import{StepSummaryEvent as h}from"@typo3/backend/wizard/events/step-summary-event.js";import{DuplicateFormSubmissionService as v}from"@typo3/form/backend/form-wizard/finisher/duplicate-form-submission-service.js";import y from"@typo3/form/backend/form-wizard/steps/mode-step.js";import{CreateFormSubmissionService as z}from"@typo3/form/backend/form-wizard/finisher/create-form-submission-service.js";import{FormManager as M}from"@typo3/form/backend/form-manager.js";import{AutoAdvanceEvent as F}from"@typo3/backend/wizard/events/auto-advance-event.js";import{StorageStep as b}from"@typo3/form/backend/form-wizard/steps/storage-step.js";var a=function(o,t,e,s){var n=arguments.length,i=n<3?t:s===null?s=Object.getOwnPropertyDescriptor(t,e):s,m;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(o,t,e,s);else for(var p=o.length-1;p>=0;p--)(m=o[p])&&(i=(n<3?m(i):n>3?m(t,e,i):m(t,e))||i);return n>3&&i&&Object.defineProperty(t,e,i),i};let r=class extends g{constructor(){super(...arguments),this.steps=[],this.errorMessage=null,this.duplicateForm=null}connectedCallback(){super.connectedCallback(),this.addEventListener(h.eventName,this.handleStepSummary)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(h.eventName,this.handleStepSummary)}firstUpdated(t){if(super.firstUpdated(t),this.formManager.getAccessibleStorageAdapters().length<1){this.errorMessage=c.get("formManager.newFormWizard.step1.noStorages");return}const e={wizard:this.wizard,formManager:this.formManager,getStoreData:this.wizard.getStoreData.bind(this.wizard),setStoreData:this.wizard.setStoreData.bind(this.wizard),clearStoreData:this.wizard.clearStoreData.bind(this.wizard),getDataStore:this.wizard.getDataStore.bind(this.wizard),dispatchAutoAdvance:()=>this.wizard.dispatchEvent(new F)};this.duplicateForm!=null?(this.steps=[new b(e),new u(e)],this.submissionService=new v(e,this.duplicateForm.persistenceIdentifier)):(this.steps=[new y(e),new b(e),new u(e)],this.submissionService=new z(e))}createRenderRoot(){return this}render(){return this.errorMessage?this.wizard.renderError(this.errorMessage):f``}handleStepSummary(t){this.duplicateForm!==null&&(t.detail.summaryData=[{label:c.get("formManager.form_copied"),value:f`${this.duplicateForm.name}`},...t.detail.summaryData])}};a([d()],r.prototype,"steps",void 0),a([d()],r.prototype,"submissionService",void 0),a([d()],r.prototype,"errorMessage",void 0),a([l({type:M,attribute:!1})],r.prototype,"formManager",void 0),a([l({type:Object,attribute:!1})],r.prototype,"duplicateForm",void 0),a([S("typo3-backend-wizard")],r.prototype,"wizard",void 0),r=a([w("typo3-backend-form-wizard")],r);export{r as FormWizard}; +>>>>>>> dd92374e ([TASK] Allow skipping the summary step in the backend wizard)