controller host element

This commit is contained in:
Niels Lyngsø
2023-06-28 17:23:09 +02:00
parent 98dd81433a
commit fddbff9f20
8 changed files with 16 additions and 16 deletions

View File

@@ -2,10 +2,10 @@ import { expect, fixture, html } from '@open-wc/testing';
import { UmbContextConsumerController } from '../consume/context-consumer.controller.js';
import { UmbContextProviderElement } from './context-provider.element.js';
import { customElement } from '@umbraco-cms/backoffice/external/lit';
import { UmbControllerHostMixin } from '@umbraco-cms/backoffice/controller-api';
import { UmbControllerHostElementMixin } from '@umbraco-cms/backoffice/controller-api';
@customElement('umb-test-context')
export class UmbTestContextElement extends UmbControllerHostMixin(HTMLElement) {
export class UmbTestContextElement extends UmbControllerHostElementMixin(HTMLElement) {
public value: string | null = null;
constructor() {
super();

View File

@@ -1,4 +1,4 @@
import { UmbControllerHostElement, UmbControllerHostMixin } from '@umbraco-cms/backoffice/controller-api';
import { UmbControllerHostElement, UmbControllerHostElementMixin } from '@umbraco-cms/backoffice/controller-api';
import { UmbContextProviderController, UmbContextToken } from '@umbraco-cms/backoffice/context-api';
/**
@@ -9,7 +9,7 @@ import { UmbContextProviderController, UmbContextToken } from '@umbraco-cms/back
* @throws {Error} If the key property is not set.
* @throws {Error} If the value property is not set.
*/
export class UmbContextProviderElement extends UmbControllerHostMixin(HTMLElement) {
export class UmbContextProviderElement extends UmbControllerHostElementMixin(HTMLElement) {
/**
* The value to provide to the context.
* @optional

View File

@@ -20,8 +20,8 @@ export declare class UmbControllerHostElement extends HTMLElement implements Umb
* @param {Object} superClass - superclass to be extended.
* @mixin
*/
export const UmbControllerHostMixin = <T extends HTMLElementConstructor>(superClass: T) => {
class UmbControllerHostClass extends UmbControllerHostBaseMixin(superClass) implements UmbControllerHost {
export const UmbControllerHostElementMixin = <T extends HTMLElementConstructor>(superClass: T) => {
class UmbControllerHostElementClass extends UmbControllerHostBaseMixin(superClass) implements UmbControllerHost {
getHostElement(): EventTarget {
return this;
}
@@ -37,7 +37,7 @@ export const UmbControllerHostMixin = <T extends HTMLElementConstructor>(superCl
}
}
return UmbControllerHostClass as unknown as HTMLElementConstructor<UmbControllerHostElement> & T;
return UmbControllerHostElementClass as unknown as HTMLElementConstructor<UmbControllerHostElement> & T;
};
declare global {

View File

@@ -1,7 +1,7 @@
import { UmbControllerHostElement, UmbControllerHostMixin } from './controller-host.mixin.js';
import { UmbControllerHostElement, UmbControllerHostElementMixin } from './controller-host-element.mixin.js';
export class UmbControllerHostInitializerElement
extends UmbControllerHostMixin(HTMLElement)
extends UmbControllerHostElementMixin(HTMLElement)
implements UmbControllerHostElement
{
/**

View File

@@ -1,11 +1,11 @@
import { expect, fixture, html } from '@open-wc/testing';
import { UmbControllerHostInitializerElement } from './controller-host-initializer.element.js';
import { UmbControllerHostElement, UmbControllerHostMixin } from './controller-host.mixin.js';
import { UmbControllerHostElement, UmbControllerHostElementMixin } from './controller-host-element.mixin.js';
import { customElement } from '@umbraco-cms/backoffice/external/lit';
import { UmbContextConsumerController, UmbContextProviderController } from '@umbraco-cms/backoffice/context-api';
@customElement('umb-test-controller-host-initializer-consumer')
export class UmbTestControllerHostInitializerConsumerElement extends UmbControllerHostMixin(HTMLElement) {
export class UmbTestControllerHostInitializerConsumerElement extends UmbControllerHostElementMixin(HTMLElement) {
public value: string | null = null;
constructor() {
super();

View File

@@ -1,10 +1,10 @@
import { expect } from '@open-wc/testing';
import { UmbControllerHostElement, UmbControllerHostMixin } from './controller-host.mixin.js';
import { UmbControllerHostElement, UmbControllerHostElementMixin } from './controller-host-element.mixin.js';
import { UmbBaseController } from './controller.class.js';
import { customElement } from '@umbraco-cms/backoffice/external/lit';
@customElement('test-my-controller-host')
export class UmbTestControllerHostElement extends UmbControllerHostMixin(HTMLElement) {}
export class UmbTestControllerHostElement extends UmbControllerHostElementMixin(HTMLElement) {}
export class UmbTestControllerImplementationElement extends UmbBaseController {
testIsConnected = false;

View File

@@ -1,6 +1,6 @@
export * from './controller-host-base.mixin.js';
export * from './controller-host.interface.js';
export * from './controller-host.mixin.js';
export * from './controller-host-element.mixin.js';
export * from './controller.class.js';
export * from './controller.interface.js';
export * from './controller-alias.type.js';

View File

@@ -1,6 +1,6 @@
import type { Observable } from '@umbraco-cms/backoffice/external/rxjs';
import type { HTMLElementConstructor } from '@umbraco-cms/backoffice/extension-api';
import { UmbControllerHostMixin } from '@umbraco-cms/backoffice/controller-api';
import { UmbControllerHostElementMixin } from '@umbraco-cms/backoffice/controller-api';
import type { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api';
import {
UmbContextToken,
@@ -29,7 +29,7 @@ export declare class UmbElementMixinInterface extends UmbControllerHostElement {
}
export const UmbElementMixin = <T extends HTMLElementConstructor>(superClass: T) => {
class UmbElementMixinClass extends UmbControllerHostMixin(superClass) implements UmbElementMixinInterface {
class UmbElementMixinClass extends UmbControllerHostElementMixin(superClass) implements UmbElementMixinInterface {
/**
* @description Observe a RxJS source of choice.
* @param {Observable<T>} source RxJS source