diff --git a/src/Umbraco.Web.UI.Client/package.json b/src/Umbraco.Web.UI.Client/package.json index 3ac7aab157..dec2f440a5 100644 --- a/src/Umbraco.Web.UI.Client/package.json +++ b/src/Umbraco.Web.UI.Client/package.json @@ -38,7 +38,6 @@ "./entity-bulk-action": "./dist-cms/packages/core/entity-bulk-action/index.js", "./event": "./dist-cms/packages/core/event/index.js", "./extension-registry": "./dist-cms/packages/core/extension-registry/index.js", - "./form": "./dist-cms/packages/core/form/index.js", "./icon": "./dist-cms/packages/core/icon-registry/index.js", "./id": "./dist-cms/packages/core/id/index.js", "./language": "./dist-cms/packages/language/index.js", diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/components/input-number-range/input-number-range.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/components/input-number-range/input-number-range.element.ts index 5cb491d00b..a9fa82ef81 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/components/input-number-range/input-number-range.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/components/input-number-range/input-number-range.element.ts @@ -69,7 +69,6 @@ export class UmbInputNumberRangeElement extends UmbFormControlMixin(UmbLitElemen return 'The low value must be less than the high value'; }, () => { - console.log(this._minValue, this._maxValue); return this._minValue !== undefined && this._maxValue !== undefined ? this._minValue > this._maxValue : false; }, ); diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/form/component/form.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/form/component/form.element.ts deleted file mode 100644 index 93a6c5790c..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/core/form/component/form.element.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { UmbFormContext } from '../context/form.context.js'; -import { type PropertyValueMap, customElement, html, css } from '@umbraco-cms/backoffice/external/lit'; -import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; - -@customElement('umb-form') -export class UmbFormElement extends UmbLitElement { - readonly #context = new UmbFormContext(this); - - protected firstUpdated(_changedProperties: PropertyValueMap | Map): void { - super.firstUpdated(_changedProperties); - - this.#context.setFormElement(this.shadowRoot!.querySelector('form')); - } - - render() { - return html` -
- -
-
`; - } - - static styles = [ - css` - form { - display: contents; - } - `, - ]; -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/form/context/form.context-token.ts b/src/Umbraco.Web.UI.Client/src/packages/core/form/context/form.context-token.ts deleted file mode 100644 index 4e44d45c83..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/core/form/context/form.context-token.ts +++ /dev/null @@ -1,4 +0,0 @@ -import type { UmbFormContext } from './form.context.js'; -import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; - -export const UMB_FORM_CONTEXT = new UmbContextToken('UmbFormContext'); diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/form/context/form.context.ts b/src/Umbraco.Web.UI.Client/src/packages/core/form/context/form.context.ts deleted file mode 100644 index b5b0a74246..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/core/form/context/form.context.ts +++ /dev/null @@ -1,81 +0,0 @@ -import { UMB_FORM_CONTEXT } from './form.context-token.js'; -import { UmbContextBase } from '@umbraco-cms/backoffice/class-api'; -import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; -import type { UmbValidationManager } from '@umbraco-cms/backoffice/validation'; - -/** - * @description The Form Context is used to handle form submission and validation. - * @event submit - Fired when the form is submitted. - */ -export class UmbFormContext extends UmbContextBase { - #formElement?: HTMLFormElement; - #validation: UmbValidationManager[] = []; - - constructor(host: UmbControllerHost) { - super(host, UMB_FORM_CONTEXT); - } - - /** - * Method to call in the implementation once the form element is available. - * @param element {HTMLFormElement | null} - The Form element to be used for this context. - */ - setFormElement(element: HTMLFormElement | null) { - if (this.#formElement === element) return; - if (this.#formElement) { - this.#formElement.removeEventListener('submit', this.onSubmit); - this.#formElement.removeEventListener('reset', this.onReset); - } - if (element) { - this.#formElement = element; - this.#formElement.addEventListener('submit', this.onSubmit); - this.#formElement.addEventListener('reset', this.onReset); - } - } - - /** - * Define one or more validation managers to be used for this form. - * These will be called when the form is requested to be submitted. - * @param manager {UmbValidationManager} - A manager to be bound to this form. - */ - registerValidationManager(manager: UmbValidationManager) { - this.#validation.push(manager); - } - - /** - * Call this method to submit the form - */ - requestSubmit() { - // We do not call requestSubmit here, as we want the form to submit, and then we will handle the validation as part of the submit event handling. - this.#formElement?.requestSubmit(); - } - - /** - * @description Triggered by the form, when it fires a submit event - */ - onSubmit = (event: SubmitEvent) => { - event?.preventDefault(); - //this.dispatchEvent(new CustomEvent('submit-requested')); - - // Check client validation: - const isClientValid = this.#formElement?.checkValidity(); - - const isValid = isClientValid ?? false; - - if (!isValid) { - // Fire invalid.. - // TODO: consider naming it something like submit failed? - this.dispatchEvent(new CustomEvent('invalid')); - return; - } - - // Fire submit event... - this.dispatchEvent(new CustomEvent('submit')); - }; - - /** - * @description Triggered by the form, when it fires a reset event - */ - onReset = (event: Event) => { - // ask validation managers to reset. - }; -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/form/context/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/form/context/index.ts deleted file mode 100644 index fd4cf8da9e..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/core/form/context/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './form.context.js'; -export * from './form.context-token.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/form/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/form/index.ts deleted file mode 100644 index e7206f94c0..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/core/form/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './context/index.js'; -export * from './component/form.element.js'; diff --git a/src/Umbraco.Web.UI.Client/tsconfig.json b/src/Umbraco.Web.UI.Client/tsconfig.json index 1a7d0bcdf8..33bf53145e 100644 --- a/src/Umbraco.Web.UI.Client/tsconfig.json +++ b/src/Umbraco.Web.UI.Client/tsconfig.json @@ -56,7 +56,6 @@ "@umbraco-cms/backoffice/entity-bulk-action": ["./src/packages/core/entity-bulk-action/index.ts"], "@umbraco-cms/backoffice/event": ["./src/packages/core/event/index.ts"], "@umbraco-cms/backoffice/extension-registry": ["./src/packages/core/extension-registry/index.ts"], - "@umbraco-cms/backoffice/form": ["./src/packages/core/form/index.ts"], "@umbraco-cms/backoffice/icon": ["./src/packages/core/icon-registry/index.ts"], "@umbraco-cms/backoffice/id": ["./src/packages/core/id/index.ts"], "@umbraco-cms/backoffice/language": ["./src/packages/language/index.ts"],