diff --git a/ts_web/elements/dees-form-submit.demo.ts b/ts_web/elements/dees-form-submit.demo.ts
new file mode 100644
index 0000000..c4075d9
--- /dev/null
+++ b/ts_web/elements/dees-form-submit.demo.ts
@@ -0,0 +1,3 @@
+import { html } from '@design.estate/dees-element';
+
+export const demoFunc = () => html`Submit Form`;
\ No newline at end of file
diff --git a/ts_web/elements/dees-form-submit.ts b/ts_web/elements/dees-form-submit.ts
index a1e50b5..ced638c 100644
--- a/ts_web/elements/dees-form-submit.ts
+++ b/ts_web/elements/dees-form-submit.ts
@@ -1,3 +1,4 @@
+import { demoFunc } from './dees-form-submit.demo.js';
import {
customElement,
html,
@@ -16,7 +17,7 @@ declare global {
@customElement('dees-form-submit')
export class DeesFormSubmit extends DeesElement {
- public static demo = () => html`Submit Form`;
+ public static demo = demoFunc;
@property({
type: Boolean,
@@ -57,13 +58,15 @@ export class DeesFormSubmit extends DeesElement {
return;
}
const parentElement: DeesForm = this.parentElement as DeesForm;
- parentElement.gatherAndDispatch();
+ if (parentElement && parentElement.gatherAndDispatch) {
+ parentElement.gatherAndDispatch();
+ }
}
public async focus() {
const domtools = await this.domtoolsPromise;
if (!this.disabled) {
- domtools.convenience.smartdelay.delayFor(0);
+ await domtools.convenience.smartdelay.delayFor(0);
this.submit();
}
}