web: add HTMLTagNameElementMaps to everything to activate lit analyzer (#10217)
* web: fix esbuild issue with style sheets Getting ESBuild, Lit, and Storybook to all agree on how to read and parse stylesheets is a serious pain. This fix better identifies the value types (instances) being passed from various sources in the repo to the three *different* kinds of style processors we're using (the native one, the polyfill one, and whatever the heck Storybook does internally). Falling back to using older CSS instantiating techniques one era at a time seems to do the trick. It's ugly, but in the face of the aggressive styling we use to avoid Flashes of Unstyled Content (FLoUC), it's the logic with which we're left. In standard mode, the following warning appears on the console when running a Flow: ``` Autofocus processing was blocked because a document already has a focused element. ``` In compatibility mode, the following **error** appears on the console when running a Flow: ``` crawler-inject.js:1106 Uncaught TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'. at initDomMutationObservers (crawler-inject.js:1106:18) at crawler-inject.js:1114:24 at Array.forEach (<anonymous>) at initDomMutationObservers (crawler-inject.js:1114:10) at crawler-inject.js:1549:1 initDomMutationObservers @ crawler-inject.js:1106 (anonymous) @ crawler-inject.js:1114 initDomMutationObservers @ crawler-inject.js:1114 (anonymous) @ crawler-inject.js:1549 ``` Despite this error, nothing seems to be broken and flows work as anticipated. * web: add more linting * A reliable test for the extra code needed in analyzer, passing shellcheck * web: re-enable custom-element-manifest and enable component checking in Typescript This commit includes a monkeypatch to allow custom-element-manifest (CEM) to work correctly again despite our rich collection of mixins, reactive controllers, symbol-oriented event handlers, and the like. With that monkeypatch in place, we can now create the CEM manifest file and then exploit it so that IDEs and the Typescript compilation pass can tell when a component is being used incorrectly; when the wrong types are being passed to it, or when a required attribute is not initialized. * Added building the manifest to the build process, rather than storing it. It is not appreciably slow. * web: the most boring PR in the universe: Add HTMLTagNameElementMap to everyhing This commit adds HTMLTagNameElementMap entries to every web component in the front end. Activating and associating the HTMLTagNamElementMap with its class has enabled [LitAnalyzer](https://github.com/runem/lit-analyzer/tree/master/packages/lit-analyzer) to reveal a *lot* of basic problems within the UI, the most popular of which is "missing import." We usually get away with it because the object being imported was already registered with the browser elsewhere, but it still surprises me that we haven't gotten any complaints over things like: ``` ./src/flow/stages/base.ts Missing import for <ak-form-static> 96: <ak-form-static no-missing-import ``` Given how early and fundamental that seems to be in our code, I'd have expected to hear _something_ about it. I have not enabled most of the possible checks because, well, there are just a ton of warnings when I do. I'd like to get in and fix those. Aside from this, I have also _removed_ `customElement` declarations from anything declared as an `abstract class`. It makes no sense to try and instantiate something that cannot, by definition, be instantiated. If the class is capable of running on its own, it's not abstract, it just needs to be overridden in child classes. Before removing the declaration I did check to make sure no other piece of code was even *trying* to instantiate it, and so far I have detected no failures. Those elements were: - elements/forms/Form.ts - element-/wizard/WizardFormPage.ts The one that blows my mind, though, is this: ``` src/elements/forms/ProxyForm.ts 6-@customElement("ak-proxy-form") 7:export abstract class ProxyForm extends Form<unknown> { ``` Which, despite being `abstract`, is somehow instantiable? ``` src/admin/outposts/ServiceConnectionListPage.ts: <ak-proxy-form src/admin/providers/ProviderListPage.ts: <ak-proxy-form src/admin/sources/SourceWizard.ts: <ak-proxy-form src/admin/sources/SourceListPage.ts: <ak-proxy-form src/admin/providers/ProviderWizard.ts: <ak-proxy-form type=${type.component}></ak-proxy-form> src/admin/stages/StageListPage.ts: <ak-proxy-form ``` I've made a note to investigate. I've started a new folder where all of my one-off tools for *how* a certain PR was run. It has a README describing what it's for, and the first tool, `add-htmlelementtagnamemaps-to-everything`, is its first entry. That tool is also documented internally. ``` Gilbert & Sullivan I've got a little list, I've got a little list, Of all the code that would never be missed, The duplicate code of cute-and-paste, The weak abstractions that lead to waste, The embedded templates-- you get the gist, There ain't none of 'em that will ever be missed, And that's why I've got them on my list! ```
This commit is contained in:
1
web/.gitignore
vendored
1
web/.gitignore
vendored
@ -109,3 +109,4 @@ temp/
|
||||
# End of https://www.gitignore.io/api/node
|
||||
api/**
|
||||
storybook-static/
|
||||
custom-elements.json
|
||||
|
@ -20,6 +20,7 @@
|
||||
"lint:precommit": "bun scripts/eslint-precommit.mjs",
|
||||
"lint:spelling": "node scripts/check-spelling.mjs",
|
||||
"lit-analyse": "lit-analyzer src",
|
||||
"lit-analyse:strict": "lit-analyzer src --strict",
|
||||
"postinstall": "bash scripts/patch-spotlight.sh",
|
||||
"precommit": "npm-run-all --parallel tsc lit-analyse lint:spelling lint:lockfile --sequential lint:precommit prettier",
|
||||
"prequick": "run-s tsc:execute lit-analyse lint:precommit lint:spelling",
|
||||
|
@ -158,3 +158,9 @@ export class AdminInterface extends EnterpriseAwareInterface {
|
||||
></ak-locale-context>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-interface-admin": AdminInterface;
|
||||
}
|
||||
}
|
||||
|
@ -212,3 +212,9 @@ export class AkAdminSidebar extends WithCapabilitiesConfig(AKElement) {
|
||||
: nothing;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-admin-sidebar": AkAdminSidebar;
|
||||
}
|
||||
}
|
||||
|
@ -71,3 +71,9 @@ export class DebugPage extends AKElement {
|
||||
`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-admin-debug-page": DebugPage;
|
||||
}
|
||||
}
|
||||
|
@ -84,3 +84,9 @@ export class DashboardUserPage extends AKElement {
|
||||
</section> `;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-admin-dashboard-users": DashboardUserPage;
|
||||
}
|
||||
}
|
||||
|
@ -60,3 +60,9 @@ export class TopApplicationsTable extends AKElement {
|
||||
</table>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-top-applications-table": TopApplicationsTable;
|
||||
}
|
||||
}
|
||||
|
@ -89,3 +89,9 @@ export class RecentEventsCard extends Table<Event> {
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-recent-events": RecentEventsCard;
|
||||
}
|
||||
}
|
||||
|
@ -92,3 +92,9 @@ export class SystemStatusCard extends AdminStatusCard<SystemInfo> {
|
||||
return html`${this.statusSummary}`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-admin-status-system": SystemStatusCard;
|
||||
}
|
||||
}
|
||||
|
@ -59,3 +59,9 @@ export class VersionStatusCard extends AdminStatusCard<Version> {
|
||||
return html`<a rel="noopener noreferrer" href=${link} target="_blank">${text}</a>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-admin-status-version": VersionStatusCard;
|
||||
}
|
||||
}
|
||||
|
@ -37,3 +37,9 @@ export class WorkersStatusCard extends AdminStatusCard<number> {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-admin-status-card-workers": WorkersStatusCard;
|
||||
}
|
||||
}
|
||||
|
@ -65,3 +65,9 @@ export class AdminLoginAuthorizeChart extends AKChart<LoginMetrics> {
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-charts-admin-login-authorization": AdminLoginAuthorizeChart;
|
||||
}
|
||||
}
|
||||
|
@ -51,3 +51,9 @@ export class AdminModelPerDay extends AKChart<Coordinate[]> {
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-charts-admin-model-per-day": AdminModelPerDay;
|
||||
}
|
||||
}
|
||||
|
@ -73,3 +73,9 @@ export class OutpostStatusChart extends AKChart<SummarizedSyncStatus[]> {
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-admin-status-chart-outpost": OutpostStatusChart;
|
||||
}
|
||||
}
|
||||
|
@ -145,3 +145,9 @@ export class SyncStatusChart extends AKChart<SummarizedSyncStatus[]> {
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-admin-status-chart-sync": SyncStatusChart;
|
||||
}
|
||||
}
|
||||
|
@ -214,3 +214,9 @@ export class AdminSettingsForm extends Form<SettingsRequest> {
|
||||
`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-admin-settings-form": AdminSettingsForm;
|
||||
}
|
||||
}
|
||||
|
@ -110,3 +110,9 @@ export class AdminSettingsPage extends AKElement {
|
||||
`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-admin-settings": AdminSettingsPage;
|
||||
}
|
||||
}
|
||||
|
@ -44,3 +44,9 @@ export class ApplicationAuthorizeChart extends AKChart<Coordinate[]> {
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-charts-application-authorize": ApplicationAuthorizeChart;
|
||||
}
|
||||
}
|
||||
|
@ -127,3 +127,9 @@ export class ApplicationCheckAccessForm extends Form<{ forUser: number }> {
|
||||
${this.result ? this.renderResult() : html``}`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-application-check-access-form": ApplicationCheckAccessForm;
|
||||
}
|
||||
}
|
||||
|
@ -244,3 +244,9 @@ export class ApplicationForm extends WithCapabilitiesConfig(ModelForm<Applicatio
|
||||
</form>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-application-form": ApplicationForm;
|
||||
}
|
||||
}
|
||||
|
@ -164,3 +164,9 @@ export class ApplicationListPage extends TablePage<Application> {
|
||||
</ak-forms-modal>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-application-list": ApplicationListPage;
|
||||
}
|
||||
}
|
||||
|
@ -322,3 +322,9 @@ export class ApplicationViewPage extends AKElement {
|
||||
</ak-tabs>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-application-view": ApplicationViewPage;
|
||||
}
|
||||
}
|
||||
|
@ -123,3 +123,9 @@ export class AkApplicationWizardHint extends AKElement implements ShowHintContro
|
||||
}
|
||||
|
||||
export default AkApplicationWizardHint;
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-application-wizard-hint": AkApplicationWizardHint;
|
||||
}
|
||||
}
|
||||
|
@ -81,3 +81,9 @@ export class ProviderSelectModal extends TableModal<Provider> {
|
||||
</footer>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-provider-select-table": ProviderSelectModal;
|
||||
}
|
||||
}
|
||||
|
@ -81,3 +81,9 @@ export class AkBackchannelProvidersInput extends AKElement {
|
||||
`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-backchannel-providers-input": AkBackchannelProvidersInput;
|
||||
}
|
||||
}
|
||||
|
@ -78,3 +78,9 @@ export class AkProviderInput extends AKElement {
|
||||
</ak-form-element-horizontal>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-provider-search-input": AkProviderInput;
|
||||
}
|
||||
}
|
||||
|
@ -109,3 +109,9 @@ export class ApplicationWizard extends CustomListenerElement(
|
||||
this.requestUpdate();
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-application-wizard": ApplicationWizard;
|
||||
}
|
||||
}
|
||||
|
@ -28,3 +28,9 @@ export class AkWizardTitle extends AKElement {
|
||||
}
|
||||
|
||||
export default AkWizardTitle;
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-wizard-title": AkWizardTitle;
|
||||
}
|
||||
}
|
||||
|
@ -95,3 +95,9 @@ export class ApplicationWizardApplicationDetails extends BasePanel {
|
||||
}
|
||||
|
||||
export default ApplicationWizardApplicationDetails;
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-application-wizard-application-details": ApplicationWizardApplicationDetails;
|
||||
}
|
||||
}
|
||||
|
@ -44,3 +44,9 @@ export class ApplicationWizardAuthenticationMethodChoice extends WithLicenseSumm
|
||||
}
|
||||
|
||||
export default ApplicationWizardAuthenticationMethodChoice;
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-application-wizard-authentication-method-choice": ApplicationWizardAuthenticationMethodChoice;
|
||||
}
|
||||
}
|
||||
|
@ -217,3 +217,9 @@ export class ApplicationWizardCommitApplication extends BasePanel {
|
||||
}
|
||||
|
||||
export default ApplicationWizardCommitApplication;
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-application-wizard-commit-application": ApplicationWizardCommitApplication;
|
||||
}
|
||||
}
|
||||
|
@ -26,3 +26,9 @@ export class ApplicationWizardApplicationDetails extends BasePanel {
|
||||
}
|
||||
|
||||
export default ApplicationWizardApplicationDetails;
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-application-wizard-authentication-method": ApplicationWizardApplicationDetails;
|
||||
}
|
||||
}
|
||||
|
@ -165,3 +165,9 @@ export class ApplicationWizardApplicationDetails extends WithBrandConfig(BasePro
|
||||
}
|
||||
|
||||
export default ApplicationWizardApplicationDetails;
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-application-wizard-authentication-by-ldap": ApplicationWizardApplicationDetails;
|
||||
}
|
||||
}
|
||||
|
@ -288,3 +288,9 @@ export class ApplicationWizardAuthenticationByOauth extends BaseProviderPanel {
|
||||
}
|
||||
|
||||
export default ApplicationWizardAuthenticationByOauth;
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-application-wizard-authentication-by-oauth": ApplicationWizardAuthenticationByOauth;
|
||||
}
|
||||
}
|
||||
|
@ -60,3 +60,9 @@ export class AkForwardDomainProxyApplicationWizardPage extends AkTypeProxyApplic
|
||||
}
|
||||
|
||||
export default AkForwardDomainProxyApplicationWizardPage;
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-application-wizard-authentication-for-forward-proxy-domain": AkForwardDomainProxyApplicationWizardPage;
|
||||
}
|
||||
}
|
||||
|
@ -54,3 +54,9 @@ export class AkReverseProxyApplicationWizardPage extends AkTypeProxyApplicationW
|
||||
}
|
||||
|
||||
export default AkReverseProxyApplicationWizardPage;
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-application-wizard-authentication-for-reverse-proxy": AkReverseProxyApplicationWizardPage;
|
||||
}
|
||||
}
|
||||
|
@ -40,3 +40,9 @@ export class AkForwardSingleProxyApplicationWizardPage extends AkTypeProxyApplic
|
||||
}
|
||||
|
||||
export default AkForwardSingleProxyApplicationWizardPage;
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-application-wizard-authentication-for-single-forward-proxy": AkForwardSingleProxyApplicationWizardPage;
|
||||
}
|
||||
}
|
||||
|
@ -88,3 +88,9 @@ export class ApplicationWizardAuthenticationByRAC extends BaseProviderPanel {
|
||||
}
|
||||
|
||||
export default ApplicationWizardAuthenticationByRAC;
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-application-wizard-authentication-for-rac": ApplicationWizardAuthenticationByRAC;
|
||||
}
|
||||
}
|
||||
|
@ -80,3 +80,9 @@ export class ApplicationWizardAuthenticationByRadius extends WithBrandConfig(Bas
|
||||
}
|
||||
|
||||
export default ApplicationWizardAuthenticationByRadius;
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-application-wizard-authentication-by-radius": ApplicationWizardAuthenticationByRadius;
|
||||
}
|
||||
}
|
||||
|
@ -274,3 +274,9 @@ export class ApplicationWizardProviderSamlConfiguration extends BaseProviderPane
|
||||
}
|
||||
|
||||
export default ApplicationWizardProviderSamlConfiguration;
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-application-wizard-authentication-by-saml-configuration": ApplicationWizardProviderSamlConfiguration;
|
||||
}
|
||||
}
|
||||
|
@ -110,3 +110,9 @@ export class SAMLPropertyMappingSearch extends CustomListenerElement(AKElement)
|
||||
}
|
||||
|
||||
export default SAMLPropertyMappingSearch;
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-saml-property-mapping-search": SAMLPropertyMappingSearch;
|
||||
}
|
||||
}
|
||||
|
@ -152,3 +152,9 @@ export class ApplicationWizardAuthenticationBySCIM extends BaseProviderPanel {
|
||||
}
|
||||
|
||||
export default ApplicationWizardAuthenticationBySCIM;
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-application-wizard-authentication-by-scim": ApplicationWizardAuthenticationBySCIM;
|
||||
}
|
||||
}
|
||||
|
@ -16,3 +16,9 @@ export class ApplicationContextDisplayForTest extends LitElement {
|
||||
return html`<div><pre>${JSON.stringify(this.wizard, null, 2)}</pre></div>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-application-context-display-for-test": ApplicationContextDisplayForTest;
|
||||
}
|
||||
}
|
||||
|
@ -195,3 +195,9 @@ export class BlueprintForm extends ModelForm<BlueprintInstance, string> {
|
||||
</ak-form-group>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-blueprint-form": BlueprintForm;
|
||||
}
|
||||
}
|
||||
|
@ -194,3 +194,9 @@ export class BlueprintListPage extends TablePage<BlueprintInstance> {
|
||||
`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-blueprint-list": BlueprintListPage;
|
||||
}
|
||||
}
|
||||
|
@ -249,3 +249,9 @@ export class BrandForm extends ModelForm<Brand, string> {
|
||||
</ak-form-group>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-brand-form": BrandForm;
|
||||
}
|
||||
}
|
||||
|
@ -111,3 +111,9 @@ export class BrandListPage extends TablePage<Brand> {
|
||||
`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-brand-list": BrandListPage;
|
||||
}
|
||||
}
|
||||
|
@ -103,3 +103,9 @@ export class CoreGroupSearch extends CustomListenerElement(AKElement) {
|
||||
}
|
||||
|
||||
export default CoreGroupSearch;
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-core-group-search": CoreGroupSearch;
|
||||
}
|
||||
}
|
||||
|
@ -128,3 +128,9 @@ export class AkCryptoCertificateSearch extends CustomListenerElement(AKElement)
|
||||
}
|
||||
|
||||
export default AkCryptoCertificateSearch;
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-crypto-certificate-search": AkCryptoCertificateSearch;
|
||||
}
|
||||
}
|
||||
|
@ -31,4 +31,10 @@ export class AkBrandedFlowSearch<T extends Flow> extends FlowSearch<T> {
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-branded-flow-search": AkBrandedFlowSearch<Flow>;
|
||||
}
|
||||
}
|
||||
|
||||
export default AkBrandedFlowSearch;
|
||||
|
@ -32,4 +32,10 @@ export class AkFlowSearchNoDefault<T extends Flow> extends FlowSearch<T> {
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-flow-search-no-default": AkFlowSearchNoDefault<Flow>;
|
||||
}
|
||||
}
|
||||
|
||||
export default AkFlowSearchNoDefault;
|
||||
|
@ -13,4 +13,10 @@ import FlowSearch from "./FlowSearch";
|
||||
@customElement("ak-flow-search")
|
||||
export class AkFlowSearch<T extends Flow> extends FlowSearch<T> {}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-flow-search": AkFlowSearch<Flow>;
|
||||
}
|
||||
}
|
||||
|
||||
export default AkFlowSearch;
|
||||
|
@ -47,4 +47,10 @@ export class AkSourceFlowSearch<T extends Flow> extends FlowSearch<T> {
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-source-flow-search": AkSourceFlowSearch<Flow>;
|
||||
}
|
||||
}
|
||||
|
||||
export default AkSourceFlowSearch;
|
||||
|
@ -21,3 +21,9 @@ export class AkLicenceNotice extends WithLicenseSummary(AKElement) {
|
||||
`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-license-notice": AkLicenceNotice;
|
||||
}
|
||||
}
|
||||
|
@ -71,3 +71,9 @@ export class CertificateKeyPairForm extends Form<CertificateGenerationRequest> {
|
||||
</ak-form-element-horizontal> `;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-crypto-certificate-generate-form": CertificateKeyPairForm;
|
||||
}
|
||||
}
|
||||
|
@ -69,3 +69,9 @@ export class CertificateKeyPairForm extends ModelForm<CertificateKeyPair, string
|
||||
</ak-form-element-horizontal>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-crypto-certificate-form": CertificateKeyPairForm;
|
||||
}
|
||||
}
|
||||
|
@ -231,3 +231,9 @@ export class CertificateKeyPairListPage extends TablePage<CertificateKeyPair> {
|
||||
`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-crypto-certificate-list": CertificateKeyPairListPage;
|
||||
}
|
||||
}
|
||||
|
@ -61,3 +61,9 @@ export class EnterpriseLicenseForm extends ModelForm<License, string> {
|
||||
</ak-form-element-horizontal>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-enterprise-license-form": EnterpriseLicenseForm;
|
||||
}
|
||||
}
|
||||
|
@ -277,3 +277,9 @@ export class EnterpriseLicenseListPage extends TablePage<License> {
|
||||
`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-enterprise-license-list": EnterpriseLicenseListPage;
|
||||
}
|
||||
}
|
||||
|
@ -101,3 +101,9 @@ export class EventListPage extends TablePage<Event> {
|
||||
<td></td>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-event-list": EventListPage;
|
||||
}
|
||||
}
|
||||
|
@ -150,3 +150,9 @@ export class EventViewPage extends AKElement {
|
||||
</section>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-event-view": EventViewPage;
|
||||
}
|
||||
}
|
||||
|
@ -61,3 +61,9 @@ export class EventVolumeChart extends AKChart<Coordinate[]> {
|
||||
</div>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-events-volume-chart": EventVolumeChart;
|
||||
}
|
||||
}
|
||||
|
@ -142,3 +142,9 @@ export class RuleForm extends ModelForm<NotificationRule, string> {
|
||||
</ak-form-element-horizontal>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-event-rule-form": RuleForm;
|
||||
}
|
||||
}
|
||||
|
@ -131,3 +131,9 @@ Bindings to groups/users are checked against the user of the event.`,
|
||||
</td>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-event-rule-list": RuleListPage;
|
||||
}
|
||||
}
|
||||
|
@ -169,3 +169,9 @@ export class TransportForm extends ModelForm<NotificationTransport, string> {
|
||||
</ak-form-element-horizontal>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-event-transport-form": TransportForm;
|
||||
}
|
||||
}
|
||||
|
@ -124,3 +124,9 @@ export class TransportListPage extends TablePage<NotificationTransport> {
|
||||
`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-event-transport-list": TransportListPage;
|
||||
}
|
||||
}
|
||||
|
@ -159,3 +159,9 @@ export class BoundStagesList extends Table<FlowStageBinding> {
|
||||
`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-bound-stages-list": BoundStagesList;
|
||||
}
|
||||
}
|
||||
|
@ -23,3 +23,9 @@ export class FlowDiagram extends Diagram {
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-flow-diagram": FlowDiagram;
|
||||
}
|
||||
}
|
||||
|
@ -409,3 +409,9 @@ export class FlowForm extends WithCapabilitiesConfig(ModelForm<Flow, string>) {
|
||||
</ak-form-group>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-flow-form": FlowForm;
|
||||
}
|
||||
}
|
||||
|
@ -76,3 +76,9 @@ export class FlowImportForm extends Form<Flow> {
|
||||
${this.result ? this.renderResult() : html``}`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-flow-import-form": FlowImportForm;
|
||||
}
|
||||
}
|
||||
|
@ -168,3 +168,9 @@ export class FlowListPage extends TablePage<Flow> {
|
||||
`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-flow-list": FlowListPage;
|
||||
}
|
||||
}
|
||||
|
@ -286,3 +286,9 @@ export class FlowViewPage extends AKElement {
|
||||
</ak-tabs>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-flow-view": FlowViewPage;
|
||||
}
|
||||
}
|
||||
|
@ -226,3 +226,9 @@ export class StageBindingForm extends ModelForm<FlowStageBinding, string> {
|
||||
</ak-form-element-horizontal>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-stage-binding-form": StageBindingForm;
|
||||
}
|
||||
}
|
||||
|
@ -159,3 +159,9 @@ export class GroupForm extends ModelForm<Group, string> {
|
||||
</ak-form-element-horizontal>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-group-form": GroupForm;
|
||||
}
|
||||
}
|
||||
|
@ -104,3 +104,9 @@ export class GroupListPage extends TablePage<Group> {
|
||||
`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-group-list": GroupListPage;
|
||||
}
|
||||
}
|
||||
|
@ -209,3 +209,9 @@ export class GroupViewPage extends AKElement {
|
||||
</ak-tabs>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-group-view": GroupViewPage;
|
||||
}
|
||||
}
|
||||
|
@ -86,3 +86,9 @@ export class MemberSelectTable extends TableModal<User> {
|
||||
</footer>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-group-member-select-table": MemberSelectTable;
|
||||
}
|
||||
}
|
||||
|
@ -183,3 +183,10 @@ export class RelatedGroupList extends Table<Group> {
|
||||
`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-group-related-list": RelatedGroupList;
|
||||
"ak-group-related-add": RelatedGroupAdd;
|
||||
}
|
||||
}
|
||||
|
@ -479,3 +479,10 @@ export class RelatedUserList extends WithBrandConfig(WithCapabilitiesConfig(Tabl
|
||||
</div>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-user-related-list": RelatedUserList;
|
||||
"ak-user-related-add": RelatedUserAdd;
|
||||
}
|
||||
}
|
||||
|
@ -99,3 +99,9 @@ export class OutpostDeploymentModal extends ModalButton {
|
||||
</footer>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-outpost-deployment-modal": OutpostDeploymentModal;
|
||||
}
|
||||
}
|
||||
|
@ -259,3 +259,9 @@ export class OutpostForm extends ModelForm<Outpost, string> {
|
||||
</ak-form-group>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-outpost-form": OutpostForm;
|
||||
}
|
||||
}
|
||||
|
@ -83,3 +83,9 @@ export class OutpostHealthElement extends AKElement {
|
||||
</dl> `;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-outpost-health": OutpostHealthElement;
|
||||
}
|
||||
}
|
||||
|
@ -64,3 +64,9 @@ export class OutpostHealthSimpleElement extends AKElement {
|
||||
>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-outpost-health-simple": OutpostHealthSimpleElement;
|
||||
}
|
||||
}
|
||||
|
@ -218,3 +218,9 @@ export class OutpostListPage extends TablePage<Outpost> {
|
||||
`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-outpost-list": OutpostListPage;
|
||||
}
|
||||
}
|
||||
|
@ -112,3 +112,9 @@ export class ServiceConnectionDockerForm extends ModelForm<DockerServiceConnecti
|
||||
</ak-form-element-horizontal>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-service-connection-docker-form": ServiceConnectionDockerForm;
|
||||
}
|
||||
}
|
||||
|
@ -101,3 +101,9 @@ export class ServiceConnectionKubernetesForm extends ModelForm<
|
||||
</ak-form-element-horizontal>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-service-connection-kubernetes-form": ServiceConnectionKubernetesForm;
|
||||
}
|
||||
}
|
||||
|
@ -135,3 +135,9 @@ export class OutpostServiceConnectionListPage extends TablePage<ServiceConnectio
|
||||
return html`<ak-service-connection-wizard></ak-service-connection-wizard> `;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-outpost-service-connection-list": OutpostServiceConnectionListPage;
|
||||
}
|
||||
}
|
||||
|
@ -74,3 +74,9 @@ export class ServiceConnectionWizard extends AKElement {
|
||||
`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-service-connection-wizard": ServiceConnectionWizard;
|
||||
}
|
||||
}
|
||||
|
@ -211,3 +211,9 @@ export class BoundPoliciesList extends Table<PolicyBinding> {
|
||||
</ak-forms-modal> `;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-bound-policies-list": BoundPoliciesList;
|
||||
}
|
||||
}
|
||||
|
@ -321,3 +321,9 @@ export class PolicyBindingForm extends ModelForm<PolicyBinding, string> {
|
||||
</ak-form-element-horizontal>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-policy-binding-form": PolicyBindingForm;
|
||||
}
|
||||
}
|
||||
|
@ -153,3 +153,9 @@ export class PolicyListPage extends TablePage<Policy> {
|
||||
</ak-forms-confirm>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-policy-list": PolicyListPage;
|
||||
}
|
||||
}
|
||||
|
@ -135,3 +135,9 @@ export class PolicyTestForm extends Form<PolicyTestRequest> {
|
||||
${this.result ? this.renderResult() : html``}`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-policy-test-form": PolicyTestForm;
|
||||
}
|
||||
}
|
||||
|
@ -114,3 +114,9 @@ export class PolicyWizard extends AKElement {
|
||||
`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-policy-wizard": PolicyWizard;
|
||||
}
|
||||
}
|
||||
|
@ -117,3 +117,9 @@ export class DummyPolicyForm extends BasePolicyForm<DummyPolicy> {
|
||||
</ak-form-group>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-policy-dummy-form": DummyPolicyForm;
|
||||
}
|
||||
}
|
||||
|
@ -181,3 +181,9 @@ export class EventMatcherPolicyForm extends BasePolicyForm<EventMatcherPolicy> {
|
||||
</ak-form-group>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-policy-event-matcher-form": EventMatcherPolicyForm;
|
||||
}
|
||||
}
|
||||
|
@ -104,3 +104,9 @@ export class PasswordExpiryPolicyForm extends BasePolicyForm<PasswordExpiryPolic
|
||||
</ak-form-group>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-policy-password-expiry-form": PasswordExpiryPolicyForm;
|
||||
}
|
||||
}
|
||||
|
@ -97,3 +97,9 @@ export class ExpressionPolicyForm extends BasePolicyForm<ExpressionPolicy> {
|
||||
</ak-form-group>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-policy-expression-form": ExpressionPolicyForm;
|
||||
}
|
||||
}
|
||||
|
@ -339,3 +339,9 @@ export class PasswordPolicyForm extends BasePolicyForm<PasswordPolicy> {
|
||||
${this.showZxcvbn ? this.renderZxcvbn() : html``}`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-policy-password-form": PasswordPolicyForm;
|
||||
}
|
||||
}
|
||||
|
@ -101,3 +101,9 @@ export class ReputationListPage extends TablePage<Reputation> {
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-policy-reputation-list": ReputationListPage;
|
||||
}
|
||||
}
|
||||
|
@ -125,3 +125,9 @@ doesn't pass when either or both of the selected options are equal or above the
|
||||
</ak-form-group>`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ak-policy-reputation-form": ReputationPolicyForm;
|
||||
}
|
||||
}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user