@dooboostore/dom-render 1.0.110 → 1.0.112
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.MD +1 -2
- package/dist/cjs/DomRenderProxy.js +89 -48
- package/dist/cjs/DomRenderProxy.js.map +2 -2
- package/dist/cjs/components/ComponentBase.js +47 -1
- package/dist/cjs/components/ComponentBase.js.map +2 -2
- package/dist/cjs/components/a/A.js +22 -0
- package/dist/cjs/components/a/A.js.map +2 -2
- package/dist/cjs/components/appender/Appender.js +21 -4
- package/dist/cjs/components/appender/Appender.js.map +2 -2
- package/dist/cjs/components/details/Details.js +5 -0
- package/dist/cjs/components/details/Details.js.map +2 -2
- package/dist/cjs/components/forOf/ForOf.js +2 -2
- package/dist/cjs/components/forOf/ForOf.js.map +1 -1
- package/dist/cjs/components/if/If.js +1 -1
- package/dist/cjs/components/if/If.js.map +2 -2
- package/dist/cjs/components/index.js +3 -1
- package/dist/cjs/components/index.js.map +3 -3
- package/dist/cjs/components/router/RouterOutlet.js +41 -10
- package/dist/cjs/components/router/RouterOutlet.js.map +2 -2
- package/dist/cjs/components/select/Select.js +39 -1
- package/dist/cjs/components/select/Select.js.map +2 -2
- package/dist/cjs/components/this/This.js +33 -5
- package/dist/cjs/components/this/This.js.map +2 -2
- package/dist/cjs/decorators/DomRenderNoProxy.js +3 -9
- package/dist/cjs/decorators/DomRenderNoProxy.js.map +2 -2
- package/dist/cjs/events/EventManager.js +103 -37
- package/dist/cjs/events/EventManager.js.map +2 -2
- package/dist/cjs/lifecycle/OnChangeAttrRender.js.map +1 -1
- package/dist/cjs/lifecycle/OnChildRawSetRendered.js +26 -0
- package/dist/cjs/lifecycle/OnChildRawSetRendered.js.map +7 -0
- package/dist/cjs/lifecycle/OnRawSetRendered.js.map +2 -2
- package/dist/cjs/operators/Appender.js +8 -1
- package/dist/cjs/operators/Appender.js.map +2 -2
- package/dist/cjs/operators/Dr.js +2 -2
- package/dist/cjs/operators/Dr.js.map +2 -2
- package/dist/cjs/operators/DrAppender.js +2 -2
- package/dist/cjs/operators/DrAppender.js.map +2 -2
- package/dist/cjs/operators/DrFor.js +2 -2
- package/dist/cjs/operators/DrFor.js.map +2 -2
- package/dist/cjs/operators/DrForOf.js +34 -6
- package/dist/cjs/operators/DrForOf.js.map +2 -2
- package/dist/cjs/operators/DrForm.js +6 -6
- package/dist/cjs/operators/DrForm.js.map +2 -2
- package/dist/cjs/operators/DrInnerHTML.js +2 -2
- package/dist/cjs/operators/DrInnerHTML.js.map +2 -2
- package/dist/cjs/operators/DrRepeat.js +2 -2
- package/dist/cjs/operators/DrRepeat.js.map +2 -2
- package/dist/cjs/operators/DrStripElement.js +2 -2
- package/dist/cjs/operators/DrStripElement.js.map +2 -2
- package/dist/cjs/operators/DrTargetElement.js +14 -5
- package/dist/cjs/operators/DrTargetElement.js.map +2 -2
- package/dist/cjs/operators/DrTargetElementIsElement.js +2 -2
- package/dist/cjs/operators/DrTargetElementIsElement.js.map +2 -2
- package/dist/cjs/operators/DrThis.js +2 -2
- package/dist/cjs/operators/DrThis.js.map +2 -2
- package/dist/cjs/operators/DrThisProperty.js +2 -1
- package/dist/cjs/operators/DrThisProperty.js.map +2 -2
- package/dist/cjs/rawsets/RawSet.js +87 -160
- package/dist/cjs/rawsets/RawSet.js.map +2 -2
- package/dist/cjs/routers/HashRouter.js +3 -0
- package/dist/cjs/routers/HashRouter.js.map +2 -2
- package/dist/cjs/routers/PathRouter.js +3 -0
- package/dist/cjs/routers/PathRouter.js.map +2 -2
- package/dist/cjs/routers/Router.js +25 -21
- package/dist/cjs/routers/Router.js.map +2 -2
- package/dist/esm/DomRenderProxy.js +89 -48
- package/dist/esm/DomRenderProxy.js.map +2 -2
- package/dist/esm/components/ComponentBase.js +47 -1
- package/dist/esm/components/ComponentBase.js.map +2 -2
- package/dist/esm/components/a/A.js +22 -0
- package/dist/esm/components/a/A.js.map +2 -2
- package/dist/esm/components/appender/Appender.js +22 -5
- package/dist/esm/components/appender/Appender.js.map +2 -2
- package/dist/esm/components/details/Details.js +5 -0
- package/dist/esm/components/details/Details.js.map +2 -2
- package/dist/esm/components/forOf/ForOf.js +2 -2
- package/dist/esm/components/forOf/ForOf.js.map +1 -1
- package/dist/esm/components/if/If.js +1 -1
- package/dist/esm/components/if/If.js.map +2 -2
- package/dist/esm/components/index.js +3 -1
- package/dist/esm/components/index.js.map +2 -2
- package/dist/esm/components/router/RouterOutlet.js +41 -10
- package/dist/esm/components/router/RouterOutlet.js.map +2 -2
- package/dist/esm/components/select/Select.js +39 -1
- package/dist/esm/components/select/Select.js.map +2 -2
- package/dist/esm/components/this/This.js +33 -5
- package/dist/esm/components/this/This.js.map +2 -2
- package/dist/esm/decorators/DomRenderNoProxy.js +3 -9
- package/dist/esm/decorators/DomRenderNoProxy.js.map +2 -2
- package/dist/esm/events/EventManager.js +103 -37
- package/dist/esm/events/EventManager.js.map +2 -2
- package/dist/esm/lifecycle/OnChangeAttrRender.js.map +1 -1
- package/dist/esm/lifecycle/OnChildRawSetRendered.js +7 -0
- package/dist/esm/lifecycle/OnChildRawSetRendered.js.map +7 -0
- package/dist/esm/lifecycle/OnRawSetRendered.js.map +2 -2
- package/dist/esm/operators/Appender.js +8 -1
- package/dist/esm/operators/Appender.js.map +2 -2
- package/dist/esm/operators/Dr.js +2 -2
- package/dist/esm/operators/Dr.js.map +2 -2
- package/dist/esm/operators/DrAppender.js +2 -2
- package/dist/esm/operators/DrAppender.js.map +2 -2
- package/dist/esm/operators/DrFor.js +2 -2
- package/dist/esm/operators/DrFor.js.map +2 -2
- package/dist/esm/operators/DrForOf.js +34 -6
- package/dist/esm/operators/DrForOf.js.map +2 -2
- package/dist/esm/operators/DrForm.js +6 -6
- package/dist/esm/operators/DrForm.js.map +2 -2
- package/dist/esm/operators/DrInnerHTML.js +2 -2
- package/dist/esm/operators/DrInnerHTML.js.map +2 -2
- package/dist/esm/operators/DrRepeat.js +2 -2
- package/dist/esm/operators/DrRepeat.js.map +2 -2
- package/dist/esm/operators/DrStripElement.js +2 -2
- package/dist/esm/operators/DrStripElement.js.map +2 -2
- package/dist/esm/operators/DrTargetElement.js +14 -5
- package/dist/esm/operators/DrTargetElement.js.map +2 -2
- package/dist/esm/operators/DrTargetElementIsElement.js +2 -2
- package/dist/esm/operators/DrTargetElementIsElement.js.map +2 -2
- package/dist/esm/operators/DrThis.js +2 -2
- package/dist/esm/operators/DrThis.js.map +2 -2
- package/dist/esm/operators/DrThisProperty.js +2 -1
- package/dist/esm/operators/DrThisProperty.js.map +2 -2
- package/dist/esm/rawsets/RawSet.js +87 -160
- package/dist/esm/rawsets/RawSet.js.map +2 -2
- package/dist/esm/routers/HashRouter.js +3 -0
- package/dist/esm/routers/HashRouter.js.map +2 -2
- package/dist/esm/routers/PathRouter.js +3 -0
- package/dist/esm/routers/PathRouter.js.map +2 -2
- package/dist/esm/routers/Router.js +25 -21
- package/dist/esm/routers/Router.js.map +2 -2
- package/dist/esm-bundle/dooboostore-dom-render.esm.js +830 -1533
- package/dist/esm-bundle/dooboostore-dom-render.esm.js.map +4 -4
- package/dist/types/DomRenderProxy.d.ts.map +1 -1
- package/dist/types/components/ComponentBase.d.ts +12 -1
- package/dist/types/components/ComponentBase.d.ts.map +1 -1
- package/dist/types/components/a/A.d.ts +6 -0
- package/dist/types/components/a/A.d.ts.map +1 -1
- package/dist/types/components/appender/Appender.d.ts +1 -0
- package/dist/types/components/appender/Appender.d.ts.map +1 -1
- package/dist/types/components/details/Details.d.ts +2 -0
- package/dist/types/components/details/Details.d.ts.map +1 -1
- package/dist/types/components/forOf/ForOf.d.ts +1 -1
- package/dist/types/components/forOf/ForOf.d.ts.map +1 -1
- package/dist/types/components/if/If.d.ts.map +1 -1
- package/dist/types/components/index.d.ts +1 -0
- package/dist/types/components/index.d.ts.map +1 -1
- package/dist/types/components/router/RouterOutlet.d.ts +6 -3
- package/dist/types/components/router/RouterOutlet.d.ts.map +1 -1
- package/dist/types/components/select/Select.d.ts +5 -3
- package/dist/types/components/select/Select.d.ts.map +1 -1
- package/dist/types/components/this/This.d.ts +5 -1
- package/dist/types/components/this/This.d.ts.map +1 -1
- package/dist/types/decorators/DomRenderNoProxy.d.ts.map +1 -1
- package/dist/types/events/EventManager.d.ts +1 -0
- package/dist/types/events/EventManager.d.ts.map +1 -1
- package/dist/types/lifecycle/OnChangeAttrRender.d.ts +1 -1
- package/dist/types/lifecycle/OnChangeAttrRender.d.ts.map +1 -1
- package/dist/types/lifecycle/OnChildRawSetRendered.d.ts +9 -0
- package/dist/types/lifecycle/OnChildRawSetRendered.d.ts.map +1 -0
- package/dist/types/lifecycle/OnRawSetRendered.d.ts +2 -0
- package/dist/types/lifecycle/OnRawSetRendered.d.ts.map +1 -1
- package/dist/types/operators/Appender.d.ts +1 -0
- package/dist/types/operators/Appender.d.ts.map +1 -1
- package/dist/types/operators/Dr.d.ts.map +1 -1
- package/dist/types/operators/DrAppender.d.ts.map +1 -1
- package/dist/types/operators/DrFor.d.ts.map +1 -1
- package/dist/types/operators/DrForOf.d.ts.map +1 -1
- package/dist/types/operators/DrForm.d.ts.map +1 -1
- package/dist/types/operators/DrInnerHTML.d.ts.map +1 -1
- package/dist/types/operators/DrRepeat.d.ts.map +1 -1
- package/dist/types/operators/DrStripElement.d.ts.map +1 -1
- package/dist/types/operators/DrTargetElement.d.ts.map +1 -1
- package/dist/types/operators/DrThisProperty.d.ts.map +1 -1
- package/dist/types/rawsets/RawSet.d.ts +4 -1
- package/dist/types/rawsets/RawSet.d.ts.map +1 -1
- package/dist/types/routers/HashRouter.d.ts +1 -0
- package/dist/types/routers/HashRouter.d.ts.map +1 -1
- package/dist/types/routers/PathRouter.d.ts +1 -0
- package/dist/types/routers/PathRouter.d.ts.map +1 -1
- package/dist/types/routers/Router.d.ts +3 -0
- package/dist/types/routers/Router.d.ts.map +1 -1
- package/dist/umd-bundle/dooboostore-dom-render.umd.js +830 -1533
- package/dist/umd-bundle/dooboostore-dom-render.umd.js.map +4 -4
- package/package.json +4 -4
- package/src/DomRenderProxy.ts +169 -75
- package/src/DomRenderProxy.ts_cache_back +1031 -0
- package/src/components/ComponentBase.ts +61 -5
- package/src/components/a/A.ts +25 -0
- package/src/components/appender/Appender.ts +3 -3
- package/src/components/details/Details.ts +7 -0
- package/src/components/forOf/ForOf.ts +2 -2
- package/src/components/if/If.ts +3 -2
- package/src/components/index.ts +3 -0
- package/src/components/router/RouterOutlet.ts +60 -22
- package/src/components/select/Select.ts +69 -30
- package/src/components/this/This.ts +41 -6
- package/src/decorators/DomRenderNoProxy.ts +17 -14
- package/src/events/EventManager.ts +180 -77
- package/src/lifecycle/OnChangeAttrRender.ts +1 -1
- package/src/lifecycle/OnChildRawSetRendered.ts +13 -0
- package/src/lifecycle/OnRawSetRendered.ts +3 -1
- package/src/operators/Appender.ts +8 -1
- package/src/operators/Dr.ts +2 -1
- package/src/operators/DrAppender.ts +2 -1
- package/src/operators/DrFor.ts +2 -1
- package/src/operators/DrForOf.ts +36 -6
- package/src/operators/DrForm.ts +6 -5
- package/src/operators/DrInnerHTML.ts +2 -1
- package/src/operators/DrRepeat.ts +2 -1
- package/src/operators/DrStripElement.ts +2 -1
- package/src/operators/DrTargetElement.ts +17 -5
- package/src/operators/DrTargetElementIsElement.ts +2 -2
- package/src/operators/DrThis.ts +2 -2
- package/src/operators/DrThisProperty.ts +2 -1
- package/src/rawsets/RawSet.ts +161 -237
- package/src/routers/HashRouter.ts +4 -0
- package/src/routers/PathRouter.ts +5 -0
- package/src/routers/Router.ts +64 -47
- package/src/node_modules/.bin/acorn +0 -17
- package/src/node_modules/.bin/browserslist +0 -17
- package/src/node_modules/.bin/eslint +0 -17
- package/src/node_modules/.bin/sbf +0 -17
- package/src/node_modules/.bin/ts-node +0 -17
- package/src/node_modules/.bin/ts-node-cwd +0 -17
- package/src/node_modules/.bin/ts-node-dev +0 -17
- package/src/node_modules/.bin/ts-node-esm +0 -17
- package/src/node_modules/.bin/ts-node-script +0 -17
- package/src/node_modules/.bin/ts-node-transpile-only +0 -17
- package/src/node_modules/.bin/ts-script +0 -17
- package/src/node_modules/.bin/tsc +0 -17
- package/src/node_modules/.bin/tsnd +0 -17
- package/src/node_modules/.bin/tsserver +0 -17
- package/src/node_modules/.bin/webpack +0 -17
- package/src/node_modules/.bin/webpack-cli +0 -17
- package/src/node_modules/.bin/webpack-dev-server +0 -17
|
@@ -20,6 +20,7 @@ var A;
|
|
|
20
20
|
this.target = null;
|
|
21
21
|
this.style = null;
|
|
22
22
|
this.classAttr = null;
|
|
23
|
+
this.drClass = null;
|
|
23
24
|
this.click = null;
|
|
24
25
|
this.replace = false;
|
|
25
26
|
this.scrollToTop = true;
|
|
@@ -44,6 +45,21 @@ var A;
|
|
|
44
45
|
this.domRenderConfig?.router?.go({ path: this.href, replace: this.replace, scrollToTop: this.scrollToTop });
|
|
45
46
|
}
|
|
46
47
|
}
|
|
48
|
+
onChangeAttrRender(name, value, other) {
|
|
49
|
+
super.onChangeAttrRender(name, value, other);
|
|
50
|
+
if (this.element && name.startsWith("attribute-")) {
|
|
51
|
+
this.element.setAttribute(name, value);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
onAElementInit($element) {
|
|
55
|
+
this.element = $element;
|
|
56
|
+
this.getAttribute("onInit")?.($element);
|
|
57
|
+
this.getAttributeNames().filter((it) => it.startsWith("attribute-")).forEach((it) => {
|
|
58
|
+
const attrName = it.replace(/^attribute-/, "");
|
|
59
|
+
const attrValue = this.getAttribute(it);
|
|
60
|
+
this.element.setAttribute(attrName, attrValue);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
47
63
|
}
|
|
48
64
|
__decorate([
|
|
49
65
|
attribute({ converter: (v) => v || null }),
|
|
@@ -61,6 +77,10 @@ var A;
|
|
|
61
77
|
attribute({ name: "class", converter: (v) => v || null }),
|
|
62
78
|
__metadata("design:type", String)
|
|
63
79
|
], A2.prototype, "classAttr", void 0);
|
|
80
|
+
__decorate([
|
|
81
|
+
attribute({ name: "dr-class", converter: (v) => v || null }),
|
|
82
|
+
__metadata("design:type", String)
|
|
83
|
+
], A2.prototype, "drClass", void 0);
|
|
64
84
|
__decorate([
|
|
65
85
|
attribute(),
|
|
66
86
|
__metadata("design:type", Function)
|
|
@@ -85,6 +105,8 @@ var A_default = {
|
|
|
85
105
|
style="\${@this@.style}$"
|
|
86
106
|
class="\${@this@.classAttr}$"
|
|
87
107
|
dr-event-click="@this@.onClick($event)"
|
|
108
|
+
dr-class="\${@this@.drClass}$"
|
|
109
|
+
dr-on-init="@this@.onAElementInit($element)"
|
|
88
110
|
>#innerHTML#</a>`,
|
|
89
111
|
objFactory: (e, o, r2, constructorParam) => {
|
|
90
112
|
return DomRender.run({ rootObject: new A.A(...constructorParam), config });
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/a/A.ts"],
|
|
4
|
-
"sourcesContent": ["import { attribute, ComponentBase } from '../ComponentBase';\nimport { DomRender, DomRenderRunConfig } from '../../DomRender';\nimport { RawSet } from '../../rawsets/RawSet';\n\nexport namespace A {\n export const selector = 'dr-a';\n\n export type ClickCallbackData = {\n event: MouseEvent,\n attributes: {\n href: string | null;\n target: string | null;\n style: string | null;\n class: string | null;\n replace?: boolean;\n scrollToTop?: boolean;\n }\n }\n\n export type Attribute = {\n href?: string | null;\n target?: string | null;\n style?: string | null;\n class?: string | null;\n click?: ((data: ClickCallbackData) => void) | null;\n replace?: boolean | null;\n scrollToTop?: boolean | null;\n };\n\n export class A extends ComponentBase<Attribute> {\n @attribute({ converter: v => v || null }) href: string | null = null;\n @attribute({ converter: v => v || null }) target: string | null = null;\n @attribute({ converter: v => v || null }) style: string | null = null;\n @attribute({ name: 'class', converter: v => v || null }) classAttr: string | null = null;\n @attribute() click?: ((data: ClickCallbackData) => void) | null = null;\n @attribute({ converter: v => v !== null && String(v) !== 'false' }) replace = false;\n @attribute({ converter: v => v !== null && String(v) !== 'false' }) scrollToTop = true;\n\n onClick(event: MouseEvent) {\n if (this.click) {\n const attributes = {\n href: this.href,\n target: this.target,\n style: this.style,\n class: this.classAttr,\n replace: this.replace,\n scrollToTop: this.scrollToTop\n };\n this.click({ event, attributes });\n }\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (this.target !== '_blank' && this.href) {\n event.preventDefault();\n // console.log('scrollTop', this.scrollToTop);\n this.domRenderConfig?.router?.go({path: this.href, replace: this.replace, scrollToTop: this.scrollToTop });\n }\n }\n }\n}\n\nexport default {\n a: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: A.selector,\n template: `<a\n href=\"\\${@this@.href}$\"\n target=\"\\${@this@.target}$\"\n style=\"\\${@this@.style}$\"\n class=\"\\${@this@.classAttr}$\"\n dr-event-click=\"@this@.onClick($event)\"\n >#innerHTML#</a>`,\n objFactory: (e, o, r2, constructorParam) => {\n return DomRender.run({ rootObject: new A.A(...constructorParam), config });\n },\n });\n },\n};\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;AAAA,SAAS,WAAW,qBAAqB;AACzC,SAAS,iBAAqC;AAC9C,SAAS,cAAc;
|
|
4
|
+
"sourcesContent": ["import { attribute, ComponentBase } from '../ComponentBase';\nimport { DomRender, DomRenderRunConfig } from '../../DomRender';\nimport { RawSet } from '../../rawsets/RawSet';\nimport {OtherData} from \"../../lifecycle\";\n\nexport namespace A {\n export const selector = 'dr-a';\n\n export type ClickCallbackData = {\n event: MouseEvent,\n attributes: {\n href: string | null;\n target: string | null;\n style: string | null;\n class: string | null;\n replace?: boolean;\n scrollToTop?: boolean;\n }\n }\n\n export type Attribute = {\n href?: string | null;\n target?: string | null;\n style?: string | null;\n class?: string | null;\n click?: ((data: ClickCallbackData) => void) | null;\n onInit?: (e: HTMLAnchorElement) => void;\n replace?: boolean | null;\n scrollToTop?: boolean | null;\n };\n\n export class A extends ComponentBase<Attribute> {\n @attribute({ converter: v => v || null }) href: string | null = null;\n @attribute({ converter: v => v || null }) target: string | null = null;\n @attribute({ converter: v => v || null }) style: string | null = null;\n @attribute({ name: 'class', converter: v => v || null }) classAttr: string | null = null;\n @attribute({ name: 'dr-class', converter: v => v || null }) drClass: string | null = null;\n @attribute() click?: ((data: ClickCallbackData) => void) | null = null;\n @attribute({ converter: v => v !== null && String(v) !== 'false' }) replace = false;\n @attribute({ converter: v => v !== null && String(v) !== 'false' }) scrollToTop = true;\n private element?: HTMLElement;\n\n onClick(event: MouseEvent) {\n if (this.click) {\n const attributes = {\n href: this.href,\n target: this.target,\n style: this.style,\n class: this.classAttr,\n replace: this.replace,\n scrollToTop: this.scrollToTop\n };\n this.click({ event, attributes });\n }\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (this.target !== '_blank' && this.href) {\n event.preventDefault();\n // console.log('scrollTop', this.scrollToTop);\n this.domRenderConfig?.router?.go({path: this.href, replace: this.replace, scrollToTop: this.scrollToTop });\n }\n }\n\n onChangeAttrRender(name: string, value: any, other: OtherData) {\n super.onChangeAttrRender(name, value, other);\n if (this.element && name.startsWith('attribute-')) {\n this.element.setAttribute(name, value);\n }\n }\n\n onAElementInit($element: HTMLElement) {\n this.element = $element;\n this.getAttribute('onInit')?.($element as HTMLAnchorElement);\n this.getAttributeNames()\n .filter(it => it.startsWith('attribute-'))\n .forEach(it => {\n const attrName = it.replace(/^attribute-/, '');\n const attrValue = this.getAttribute(it as any);\n this.element.setAttribute(attrName, attrValue);\n });\n }\n }\n}\n\nexport default {\n a: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: A.selector,\n template: `<a\n href=\"\\${@this@.href}$\"\n target=\"\\${@this@.target}$\"\n style=\"\\${@this@.style}$\"\n class=\"\\${@this@.classAttr}$\"\n dr-event-click=\"@this@.onClick($event)\"\n dr-class=\"\\${@this@.drClass}$\"\n dr-on-init=\"@this@.onAElementInit($element)\"\n >#innerHTML#</a>`,\n objFactory: (e, o, r2, constructorParam) => {\n return DomRender.run({ rootObject: new A.A(...constructorParam), config });\n },\n });\n },\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;AAAA,SAAS,WAAW,qBAAqB;AACzC,SAAS,iBAAqC;AAC9C,SAAS,cAAc;AAGjB,IAAW;CAAjB,SAAiB,KAAC;AACH,MAAA,WAAW;EAyBxB,MAAaA,WAAU,cAAwB;IAA/C,cAAA;;AAC4C,WAAA,OAAsB;AACtB,WAAA,SAAwB;AACxB,WAAA,QAAuB;AACR,WAAA,YAA2B;AACxB,WAAA,UAAyB;AACxE,WAAA,QAAqD;AACE,WAAA,UAAU;AACV,WAAA,cAAc;IA6CpF;IA1CE,QAAQ,OAAiB;AACvB,UAAI,KAAK,OAAO;AACZ,cAAM,aAAa;UACf,MAAM,KAAK;UACX,QAAQ,KAAK;UACb,OAAO,KAAK;UACZ,OAAO,KAAK;UACZ,SAAS,KAAK;UACd,aAAa,KAAK;;AAEtB,aAAK,MAAM,EAAE,OAAO,WAAU,CAAE;MACpC;AAEA,UAAI,MAAM,kBAAkB;AACxB;MACJ;AAEA,UAAI,KAAK,WAAW,YAAY,KAAK,MAAM;AACzC,cAAM,eAAc;AAEpB,aAAK,iBAAiB,QAAQ,GAAG,EAAC,MAAM,KAAK,MAAM,SAAS,KAAK,SAAS,aAAa,KAAK,YAAW,CAAE;MAC3G;IACF;IAEA,mBAAmB,MAAc,OAAY,OAAgB;AAC3D,YAAM,mBAAmB,MAAM,OAAO,KAAK;AAC3C,UAAI,KAAK,WAAW,KAAK,WAAW,YAAY,GAAG;AACjD,aAAK,QAAQ,aAAa,MAAM,KAAK;MACvC;IACF;IAEA,eAAe,UAAqB;AAClC,WAAK,UAAU;AACf,WAAK,aAAa,QAAQ,IAAI,QAA6B;AAC3D,WAAK,kBAAiB,EACnB,OAAO,QAAM,GAAG,WAAW,YAAY,CAAC,EACxC,QAAQ,QAAK;AACZ,cAAM,WAAW,GAAG,QAAQ,eAAe,EAAE;AAC7C,cAAM,YAAY,KAAK,aAAa,EAAS;AAC7C,aAAK,QAAQ,aAAa,UAAU,SAAS;MAC/C,CAAC;IACL;;AAnD0C,aAAA;IAAzC,UAAU,EAAE,WAAW,OAAK,KAAK,KAAI,CAAE;;;AACE,aAAA;IAAzC,UAAU,EAAE,WAAW,OAAK,KAAK,KAAI,CAAE;;;AACE,aAAA;IAAzC,UAAU,EAAE,WAAW,OAAK,KAAK,KAAI,CAAE;;;AACiB,aAAA;IAAxD,UAAU,EAAE,MAAM,SAAS,WAAW,OAAK,KAAK,KAAI,CAAE;;;AACK,aAAA;IAA3D,UAAU,EAAE,MAAM,YAAY,WAAW,OAAK,KAAK,KAAI,CAAE;;;AAC7C,aAAA;IAAZ,UAAS;;;AAC0D,aAAA;IAAnE,UAAU,EAAE,WAAW,OAAK,MAAM,QAAQ,OAAO,CAAC,MAAM,QAAO,CAAE;;;AACE,aAAA;IAAnE,UAAU,EAAE,WAAW,OAAK,MAAM,QAAQ,OAAO,CAAC,MAAM,QAAO,CAAE;;;AARvD,MAAA,IAACA;AAsDhB,GAhFiB,MAAA,IAAC,CAAA,EAAA;AAkFlB,IAAA,YAAe;EACb,GAAG,CAAC,WAA+B;AACjC,WAAO,OAAO,6BAA6B;MACzC,MAAM,EAAE;MACR,UAAU;;;;;;;;;MASV,YAAY,CAAC,GAAG,GAAG,IAAI,qBAAoB;AACzC,eAAO,UAAU,IAAI,EAAE,YAAY,IAAI,EAAE,EAAE,GAAG,gBAAgB,GAAG,OAAM,CAAE;MAC3E;KACD;EACH;;",
|
|
6
6
|
"names": ["A"]
|
|
7
7
|
}
|
|
@@ -1,10 +1,23 @@
|
|
|
1
|
-
|
|
1
|
+
var __decorate = function(decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = function(k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { attribute, ComponentBase } from "../ComponentBase.js";
|
|
2
11
|
import { DomRender } from "../../DomRender.js";
|
|
3
12
|
import { RawSet } from "../../rawsets/RawSet.js";
|
|
4
13
|
var Appender;
|
|
5
|
-
((
|
|
6
|
-
|
|
14
|
+
(function(Appender_1) {
|
|
15
|
+
Appender_1.selector = "dr-appender";
|
|
7
16
|
class Appender2 extends ComponentBase {
|
|
17
|
+
constructor() {
|
|
18
|
+
super(...arguments);
|
|
19
|
+
this.drOptionItemVariableName = null;
|
|
20
|
+
}
|
|
8
21
|
// onCreateRender(...param: any) {
|
|
9
22
|
// console.log('--onCreateRender')
|
|
10
23
|
// }
|
|
@@ -34,13 +47,17 @@ var Appender;
|
|
|
34
47
|
}
|
|
35
48
|
}
|
|
36
49
|
}
|
|
37
|
-
|
|
50
|
+
__decorate([
|
|
51
|
+
attribute({ name: "dr-option-item-variable-name", converter: (v) => v || null }),
|
|
52
|
+
__metadata("design:type", String)
|
|
53
|
+
], Appender2.prototype, "drOptionItemVariableName", void 0);
|
|
54
|
+
Appender_1.Appender = Appender2;
|
|
38
55
|
})(Appender || (Appender = {}));
|
|
39
56
|
var Appender_default = {
|
|
40
57
|
appender: (config) => {
|
|
41
58
|
return RawSet.createComponentTargetElement({
|
|
42
59
|
name: Appender.selector,
|
|
43
|
-
template: '<div dr-appender="@this@.value" dr-option-strip="true">#innerHTML#</div>',
|
|
60
|
+
template: '<div dr-appender="@this@.value" dr-option-item-variable-name="${@this@.drOptionItemVariableName}$" dr-option-strip="true">#innerHTML#</div>',
|
|
44
61
|
objFactory: (e, o, r2, counstructorParam) => {
|
|
45
62
|
return DomRender.run({ rootObject: new Appender.Appender(...counstructorParam), config });
|
|
46
63
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/appender/Appender.ts"],
|
|
4
|
-
"sourcesContent": ["import { ComponentBase
|
|
5
|
-
"mappings": "AAAA,
|
|
4
|
+
"sourcesContent": ["import {attribute, ComponentBase} from '../ComponentBase';\nimport { DomRender, DomRenderRunConfig } from '../../DomRender';\nimport { RawSet } from '../../rawsets/RawSet';\nimport { OtherData } from '../../lifecycle/OnChangeAttrRender';\nimport { OnInitRender } from '../../lifecycle/OnInitRender';\nimport { Appender as DomRenderAppender } from '../../operators/Appender';\n\n\nexport namespace Appender {\n export const selector = 'dr-appender';\n // export type AppenderInterface<D> = {\n // push(...data:D[]):void;\n // set(key: string, ...v:D[]):void\n // delete(key: string):void\n // clear():void\n // }\n export type Attribute<D> = {\n value: DomRenderAppender<D>;\n onCreate?: (appender: DomRenderAppender) => void;\n }\n\n // @Component({\n // template: '<div dr-appender=\"@this@.appender\" dr-option-strip=\"true\">#innerHTML#</div>',\n // selector: `${selector}`\n // })\n export class Appender<D> extends ComponentBase<Attribute<D>> implements OnInitRender {\n private value?:DomRenderAppender\n @attribute({ name: 'dr-option-item-variable-name', converter: v => v || null }) drOptionItemVariableName: string | null = null;\n // onCreateRender(...param: any) {\n // console.log('--onCreateRender')\n // }\n\n // test() {\n // console.log('t', this.getAttribute('appender'))\n // }\n\n\n // push(...data:D[]) {\n // console.log('push/////', data);\n // this.appender.push(...data);\n // }\n //\n // set(key: string, v: D): void {\n // this.appender.set(key, v)\n // }\n //\n // delete(key: string): void {\n // this.appender.delete(key);\n // }\n //\n // clear(): void {\n // this.appender.clear();\n // }\n\n\n\n\n onChangeAttrRender(name: string, value: any, other: OtherData) {\n super.onChangeAttrRender(name, value, other);\n if(this.equalsAttributeName(name, 'value')) {\n this.value = value;\n }\n // console.log('------>appender', name, value);\n }\n }\n}\n\n\nexport default {\n appender: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: Appender.selector,\n template: '<div dr-appender=\"@this@.value\" dr-option-item-variable-name=\"${@this@.drOptionItemVariableName}$\" dr-option-strip=\"true\">#innerHTML#</div>',\n objFactory: (e,o,r2, counstructorParam) => {\n return DomRender.run({rootObject: new Appender.Appender(...counstructorParam), config: config});\n }\n })\n },\n}\n\n\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;AAAA,SAAQ,WAAW,qBAAoB;AACvC,SAAS,iBAAqC;AAC9C,SAAS,cAAc;AAMjB,IAAW;CAAjB,SAAiB,YAAQ;AACV,aAAA,WAAW;EAgBxB,MAAaA,kBAAoB,cAA2B;IAA5D,cAAA;;AAEkF,WAAA,2BAA0C;IAqC5H;;;;;;;;;;;;;;;;;;;;;;;IAPE,mBAAmB,MAAc,OAAY,OAAgB;AAC3D,YAAM,mBAAmB,MAAM,OAAO,KAAK;AAC3C,UAAG,KAAK,oBAAoB,MAAM,OAAO,GAAG;AAC1C,aAAK,QAAQ;MACf;IAEF;;AApCgF,aAAA;IAA/E,UAAU,EAAE,MAAM,gCAAgC,WAAW,OAAK,KAAK,KAAI,CAAE;;;AAFnE,aAAA,WAAQA;AAwCvB,GAzDiB,aAAA,WAAQ,CAAA,EAAA;AA4DzB,IAAA,mBAAe;EACb,UAAU,CAAC,WAA+B;AACxC,WAAO,OAAO,6BAA6B;MACzC,MAAM,SAAS;MACf,UAAU;MACV,YAAY,CAAC,GAAE,GAAE,IAAI,sBAAqB;AACxC,eAAO,UAAU,IAAI,EAAC,YAAY,IAAI,SAAS,SAAS,GAAG,iBAAiB,GAAG,OAAc,CAAC;MAChG;KACD;EACH;;",
|
|
6
6
|
"names": ["Appender"]
|
|
7
7
|
}
|
|
@@ -52,6 +52,11 @@ var Details;
|
|
|
52
52
|
if (toggleAttribute) {
|
|
53
53
|
toggleAttribute?.(element.open);
|
|
54
54
|
}
|
|
55
|
+
if (element.open) {
|
|
56
|
+
this.getAttribute("onOpen")?.();
|
|
57
|
+
} else {
|
|
58
|
+
this.getAttribute("onClose")?.();
|
|
59
|
+
}
|
|
55
60
|
}
|
|
56
61
|
async onInitRender(param, rawSet) {
|
|
57
62
|
await super.onInitRender(param, rawSet);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/details/Details.ts"],
|
|
4
|
-
"sourcesContent": ["import { ComponentBase } from '../ComponentBase';\nimport { DomRender, DomRenderRunConfig } from '../../DomRender';\nimport { RawSet } from '../../rawsets/RawSet';\nimport { OtherData } from '../../lifecycle/OnChangeAttrRender';\nimport { OnInitRender } from '../../lifecycle/OnInitRender';\nimport { OnCreateRenderDataParams } from '../../lifecycle/OnCreateRenderData';\nimport { OnCreateRender } from '../../lifecycle/OnCreateRender';\nimport { type Subscription } from '@dooboostore/core/message/Subscription';\nimport { ValidUtils } from '@dooboostore/core-web/valid/ValidUtils';\nimport { EventUtils } from '@dooboostore/core-web/event/EventUtils';\n\nexport namespace Details {\n export const selector = 'dr-details';\n\n export type Attribute = {\n class?: string;\n toggle_form_reset?: boolean;\n disableOtherClickClose?: boolean;\n toggle?: (open: boolean) => void;\n };\n export type BodyAttribute = {\n float?: 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right';\n } & Attribute;\n\n export type FormAttribute = {\n disabledSubmit?: null;\n submit?: (event: SubmitEvent, element: HTMLFormElement) => void;\n } & BodyAttribute;\n\n // @Component({\n // template: '<summary class=\"${`${@this@.getAttribute(\\'class\\')} details-summary-container`}$\">#innerHTML#</summary>',\n // styles: '',\n // selector: `${selector}.Summary`\n // })\n export class Summary extends ComponentBase<Attribute> {\n constructor() {\n super({ onlyParentType: [Details] });\n }\n }\n\n // @Component({\n // template: '<div class=\"${`${@this@.getAttribute(\\'class\\')} details-body-container details-body-${@this@.getAttribute(\\'float\\')}-container`}$\" dr-on-init=\"@this@.$element = $element;\">#innerHTML#</div>',\n // selector: `${selector}.Body`\n // })\n export class Body extends ComponentBase<BodyAttribute> {\n private $element?: HTMLDivElement;\n constructor() {\n super({ onlyParentType: [Details] });\n }\n }\n\n export const isBody = (instance: any): instance is Body => {\n return instance instanceof Body;\n };\n\n // @Component({\n // template: '<form class=\"${`${@this@.getAttribute(\\'class\\')} details-body-container details-body-${@this@.getAttribute(\\'float\\')}-container details-form-container`}$\" dr-on-init=\"@this@.$element = $element;\" dr-event-submit=\"@this@.submit($element,$event);\">#innerHTML#</form>',\n // styles: detailsFormStyle,\n // selector: `${selector}.Form`\n // })\n export class Form extends ComponentBase<FormAttribute> {\n private $element?: HTMLFormElement;\n constructor() {\n super({ onlyParentType: [Details] });\n }\n submit(element: HTMLFormElement, event: SubmitEvent) {\n if (this.hasAttribute('disabledSubmit')) {\n event.preventDefault();\n }\n if (this.hasAttribute('submit')) {\n this.getAttribute('submit')?.(event, element);\n }\n }\n reset() {\n this.$element?.reset();\n }\n }\n export const isForm = (instance: any): instance is Form => {\n return instance instanceof Form;\n };\n\n // @Component({\n // template: template,\n // styles: style,\n // // noStrip: true,\n // selector: `${selector}`\n // })\n export class Details extends ComponentBase<Attribute> implements OnCreateRender, OnInitRender {\n // private detailsElement?: HTMLDetailsElement;\n private documentClickSubscription?: Subscription;\n private toggleSubscription?: Subscription;\n private element?: HTMLDetailsElement;\n onCreateRenderData(data: OnCreateRenderDataParams) {\n super.onCreateRenderData(data);\n }\n\n onCreateRender(...param: any[]): void {}\n\n toggle(element: HTMLDetailsElement) {\n const toggleAttribute = this.getAttribute('toggle');\n if (toggleAttribute) {\n toggleAttribute?.(element.open);\n }\n }\n async onInitRender(param: any, rawSet: RawSet) {\n await super.onInitRender(param, rawSet);\n\n if (ValidUtils.isBrowser() && this.rawSet?.dataSet.config.window) {\n const detailsElement = this.element;\n\n const document = this.rawSet.dataSet!.config!.window!.document!;\n this.documentClickSubscription = EventUtils.htmlElementEventObservable(document, 'click').subscribe(event => {\n if (this.getAttribute('disableOtherClickClose')) {\n return;\n }\n if (detailsElement && !detailsElement?.contains(event?.target as Node)) {\n detailsElement.open = false;\n }\n });\n if (detailsElement) {\n this.toggleSubscription = EventUtils.htmlElementEventObservable(detailsElement, 'toggle').subscribe(it => {\n if (ValidUtils.coreValidUtils.isNotNullUndefined(this.getAttribute('toggle_form_reset'))) {\n this.children?.filter(isForm).forEach(it => {\n it.reset();\n });\n }\n });\n }\n }\n // console.log('aaaaaaaaaaaaaaaaaaaaa', rawSet);\n }\n\n onChangeAttrRender(name: string, value: any, other: OtherData) {\n super.onChangeAttrRender(name, value, other);\n }\n\n onDestroyRender(...metaData: any[]): void {\n this.toggleSubscription?.unsubscribe();\n this.documentClickSubscription?.unsubscribe();\n // console.log('onDestroyRender', metaData);\n // if (ValidUtils.isBrowser()) {\n // document.removeEventListener('click', this.ccc)\n // }\n }\n\n // changeAttribute(attribute: { className: string } | undefined) {\n // }\n }\n}\n\nexport default {\n detailsSummary: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${Details.selector}-summary`,\n template:\n '<summary class=\"${`${@this@.getAttribute(\\'class\\')} details-summary-container`}$\">#innerHTML#</summary>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new Details.Summary(), config: config });\n }\n });\n },\n detailsBody: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${Details.selector}-body`,\n template:\n '<div class=\"${`${@this@.getAttribute(\\'class\\')} details-body-container details-body-${@this@.getAttribute(\\'float\\')}-container`}$\" dr-on-init=\"@this@.$element = $element;\">#innerHTML#</div>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new Details.Body(), config: config });\n }\n });\n },\n detailsForm: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${Details.selector}-form`,\n template:\n '<form class=\"${`${@this@.getAttribute(\\'class\\')} details-body-container details-body-${@this@.getAttribute(\\'float\\')}-container details-form-container`}$\" dr-on-init=\"@this@.$element = $element;\" dr-event-submit=\"@this@.submit($element,$event);\">#innerHTML#</form>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new Details.Form(), config: config });\n }\n });\n },\n details: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${Details.selector}`,\n styles: `\n .details-container {\n position: relative;\n }\n\n .details-container .details-body-container {\n position: absolute;\n }\n\n\n .details-container .details-body-bottom-left-container {\n position: absolute;\n left: 0;\n top: 100%;\n /*margin-top: 0px;*/\n /*width: max-content;*/\n }\n\n .details-container .details-body-bottom-right-container {\n position: absolute;\n right: 0;\n top: 100%;\n /*margin-top: 0px;*/\n /*width: max-content;*/\n }\n\n .details-container .details-body-top-left-container {\n position: absolute;\n left: 0;\n bottom: 100%;\n /*margin-bottom: 0px;*/\n /*width: max-content;*/\n }\n\n .details-container .details-body-top-right-container {\n position: absolute;\n right: 0;\n bottom: 100%;\n /*margin-bottom: 0px;*/\n }\n `,\n template:\n '<details class=\"${`${@this@.getAttribute(\\'class\\')} details-container`}$\" dr-on-init=\"@this@.element = $element;\" dr-event-toggle=\"@this@.toggle($element)\"> #innerHTML# </details>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new Details.Details(...counstructorParam), config: config });\n }\n });\n }\n};"],
|
|
5
|
-
"mappings": "AAAA,SAAS,qBAAqB;AAC9B,SAAS,iBAAqC;AAC9C,SAAS,cAAc;AAMvB,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAEpB,IAAU;AAAA,CAAV,CAAU,aAAV;AACE,EAAM,oBAAW;AAAA,
|
|
4
|
+
"sourcesContent": ["import { ComponentBase } from '../ComponentBase';\nimport { DomRender, DomRenderRunConfig } from '../../DomRender';\nimport { RawSet } from '../../rawsets/RawSet';\nimport { OtherData } from '../../lifecycle/OnChangeAttrRender';\nimport { OnInitRender } from '../../lifecycle/OnInitRender';\nimport { OnCreateRenderDataParams } from '../../lifecycle/OnCreateRenderData';\nimport { OnCreateRender } from '../../lifecycle/OnCreateRender';\nimport { type Subscription } from '@dooboostore/core/message/Subscription';\nimport { ValidUtils } from '@dooboostore/core-web/valid/ValidUtils';\nimport { EventUtils } from '@dooboostore/core-web/event/EventUtils';\n\nexport namespace Details {\n export const selector = 'dr-details';\n\n export type Attribute = {\n class?: string;\n toggle_form_reset?: boolean;\n disableOtherClickClose?: boolean;\n onOpen?: () => void;\n onClose?: () => void;\n toggle?: (open: boolean) => void;\n };\n export type BodyAttribute = {\n float?: 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right';\n } & Attribute;\n\n export type FormAttribute = {\n disabledSubmit?: null;\n submit?: (event: SubmitEvent, element: HTMLFormElement) => void;\n } & BodyAttribute;\n\n // @Component({\n // template: '<summary class=\"${`${@this@.getAttribute(\\'class\\')} details-summary-container`}$\">#innerHTML#</summary>',\n // styles: '',\n // selector: `${selector}.Summary`\n // })\n export class Summary extends ComponentBase<Attribute> {\n constructor() {\n super({ onlyParentType: [Details] });\n }\n }\n\n // @Component({\n // template: '<div class=\"${`${@this@.getAttribute(\\'class\\')} details-body-container details-body-${@this@.getAttribute(\\'float\\')}-container`}$\" dr-on-init=\"@this@.$element = $element;\">#innerHTML#</div>',\n // selector: `${selector}.Body`\n // })\n export class Body extends ComponentBase<BodyAttribute> {\n private $element?: HTMLDivElement;\n constructor() {\n super({ onlyParentType: [Details] });\n }\n }\n\n export const isBody = (instance: any): instance is Body => {\n return instance instanceof Body;\n };\n\n // @Component({\n // template: '<form class=\"${`${@this@.getAttribute(\\'class\\')} details-body-container details-body-${@this@.getAttribute(\\'float\\')}-container details-form-container`}$\" dr-on-init=\"@this@.$element = $element;\" dr-event-submit=\"@this@.submit($element,$event);\">#innerHTML#</form>',\n // styles: detailsFormStyle,\n // selector: `${selector}.Form`\n // })\n export class Form extends ComponentBase<FormAttribute> {\n private $element?: HTMLFormElement;\n constructor() {\n super({ onlyParentType: [Details] });\n }\n submit(element: HTMLFormElement, event: SubmitEvent) {\n if (this.hasAttribute('disabledSubmit')) {\n event.preventDefault();\n }\n if (this.hasAttribute('submit')) {\n this.getAttribute('submit')?.(event, element);\n }\n }\n reset() {\n this.$element?.reset();\n }\n }\n export const isForm = (instance: any): instance is Form => {\n return instance instanceof Form;\n };\n\n // @Component({\n // template: template,\n // styles: style,\n // // noStrip: true,\n // selector: `${selector}`\n // })\n export class Details extends ComponentBase<Attribute> implements OnCreateRender, OnInitRender {\n // private detailsElement?: HTMLDetailsElement;\n private documentClickSubscription?: Subscription;\n private toggleSubscription?: Subscription;\n private element?: HTMLDetailsElement;\n onCreateRenderData(data: OnCreateRenderDataParams) {\n super.onCreateRenderData(data);\n }\n\n onCreateRender(...param: any[]): void {}\n\n toggle(element: HTMLDetailsElement) {\n const toggleAttribute = this.getAttribute('toggle');\n if (toggleAttribute) {\n toggleAttribute?.(element.open);\n }\n if (element.open) {\n this.getAttribute('onOpen')?.();\n } else {\n this.getAttribute('onClose')?.();\n }\n }\n async onInitRender(param: any, rawSet: RawSet) {\n await super.onInitRender(param, rawSet);\n\n if (ValidUtils.isBrowser() && this.rawSet?.dataSet.config.window) {\n const detailsElement = this.element;\n\n const document = this.rawSet.dataSet!.config!.window!.document!;\n this.documentClickSubscription = EventUtils.htmlElementEventObservable(document, 'click').subscribe(event => {\n if (this.getAttribute('disableOtherClickClose')) {\n return;\n }\n if (detailsElement && !detailsElement?.contains(event?.target as Node)) {\n detailsElement.open = false;\n }\n });\n if (detailsElement) {\n this.toggleSubscription = EventUtils.htmlElementEventObservable(detailsElement, 'toggle').subscribe(it => {\n if (ValidUtils.coreValidUtils.isNotNullUndefined(this.getAttribute('toggle_form_reset'))) {\n this.children?.filter(isForm).forEach(it => {\n it.reset();\n });\n }\n });\n }\n }\n // console.log('aaaaaaaaaaaaaaaaaaaaa', rawSet);\n }\n\n onChangeAttrRender(name: string, value: any, other: OtherData) {\n super.onChangeAttrRender(name, value, other);\n }\n\n onDestroyRender(...metaData: any[]): void {\n this.toggleSubscription?.unsubscribe();\n this.documentClickSubscription?.unsubscribe();\n // console.log('onDestroyRender', metaData);\n // if (ValidUtils.isBrowser()) {\n // document.removeEventListener('click', this.ccc)\n // }\n }\n\n // changeAttribute(attribute: { className: string } | undefined) {\n // }\n }\n}\n\nexport default {\n detailsSummary: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${Details.selector}-summary`,\n template:\n '<summary class=\"${`${@this@.getAttribute(\\'class\\')} details-summary-container`}$\">#innerHTML#</summary>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new Details.Summary(), config: config });\n }\n });\n },\n detailsBody: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${Details.selector}-body`,\n template:\n '<div class=\"${`${@this@.getAttribute(\\'class\\')} details-body-container details-body-${@this@.getAttribute(\\'float\\')}-container`}$\" dr-on-init=\"@this@.$element = $element;\">#innerHTML#</div>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new Details.Body(), config: config });\n }\n });\n },\n detailsForm: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${Details.selector}-form`,\n template:\n '<form class=\"${`${@this@.getAttribute(\\'class\\')} details-body-container details-body-${@this@.getAttribute(\\'float\\')}-container details-form-container`}$\" dr-on-init=\"@this@.$element = $element;\" dr-event-submit=\"@this@.submit($element,$event);\">#innerHTML#</form>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new Details.Form(), config: config });\n }\n });\n },\n details: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${Details.selector}`,\n styles: `\n .details-container {\n position: relative;\n }\n\n .details-container .details-body-container {\n position: absolute;\n }\n\n\n .details-container .details-body-bottom-left-container {\n position: absolute;\n left: 0;\n top: 100%;\n /*margin-top: 0px;*/\n /*width: max-content;*/\n }\n\n .details-container .details-body-bottom-right-container {\n position: absolute;\n right: 0;\n top: 100%;\n /*margin-top: 0px;*/\n /*width: max-content;*/\n }\n\n .details-container .details-body-top-left-container {\n position: absolute;\n left: 0;\n bottom: 100%;\n /*margin-bottom: 0px;*/\n /*width: max-content;*/\n }\n\n .details-container .details-body-top-right-container {\n position: absolute;\n right: 0;\n bottom: 100%;\n /*margin-bottom: 0px;*/\n }\n `,\n template:\n '<details class=\"${`${@this@.getAttribute(\\'class\\')} details-container`}$\" dr-on-init=\"@this@.element = $element;\" dr-event-toggle=\"@this@.toggle($element)\"> #innerHTML# </details>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new Details.Details(...counstructorParam), config: config });\n }\n });\n }\n};"],
|
|
5
|
+
"mappings": "AAAA,SAAS,qBAAqB;AAC9B,SAAS,iBAAqC;AAC9C,SAAS,cAAc;AAMvB,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAEpB,IAAU;AAAA,CAAV,CAAU,aAAV;AACE,EAAM,oBAAW;AAAA,EAwBjB,MAAM,gBAAgB,cAAyB;AAAA,IACpD,cAAc;AACZ,YAAM,EAAE,gBAAgB,CAACA,QAAO,EAAE,CAAC;AAAA,IACrC;AAAA,EACF;AAJO,WAAM;AAAA,EAUN,MAAM,aAAa,cAA6B;AAAA,IAErD,cAAc;AACZ,YAAM,EAAE,gBAAgB,CAACA,QAAO,EAAE,CAAC;AAAA,IACrC;AAAA,EACF;AALO,WAAM;AAON,EAAM,kBAAS,CAAC,aAAoC;AACzD,WAAO,oBAAoB;AAAA,EAC7B;AAAA,EAOO,MAAM,aAAa,cAA6B;AAAA,IAErD,cAAc;AACZ,YAAM,EAAE,gBAAgB,CAACA,QAAO,EAAE,CAAC;AAAA,IACrC;AAAA,IACA,OAAO,SAA0B,OAAoB;AACnD,UAAI,KAAK,aAAa,gBAAgB,GAAG;AACvC,cAAM,eAAe;AAAA,MACvB;AACA,UAAI,KAAK,aAAa,QAAQ,GAAG;AAC/B,aAAK,aAAa,QAAQ,IAAI,OAAO,OAAO;AAAA,MAC9C;AAAA,IACF;AAAA,IACA,QAAQ;AACN,WAAK,UAAU,MAAM;AAAA,IACvB;AAAA,EACF;AAhBO,WAAM;AAiBN,EAAM,kBAAS,CAAC,aAAoC;AACzD,WAAO,oBAAoB;AAAA,EAC7B;AAAA,EAQO,MAAMA,iBAAgB,cAAiE;AAAA,IAK5F,mBAAmB,MAAgC;AACjD,YAAM,mBAAmB,IAAI;AAAA,IAC/B;AAAA,IAEA,kBAAkB,OAAoB;AAAA,IAAC;AAAA,IAEvC,OAAO,SAA6B;AAClC,YAAM,kBAAkB,KAAK,aAAa,QAAQ;AAClD,UAAI,iBAAiB;AACnB,0BAAkB,QAAQ,IAAI;AAAA,MAChC;AACA,UAAI,QAAQ,MAAM;AAChB,aAAK,aAAa,QAAQ,IAAI;AAAA,MAChC,OAAO;AACL,aAAK,aAAa,SAAS,IAAI;AAAA,MACjC;AAAA,IACF;AAAA,IACA,MAAM,aAAa,OAAY,QAAgB;AAC7C,YAAM,MAAM,aAAa,OAAO,MAAM;AAEtC,UAAI,WAAW,UAAU,KAAK,KAAK,QAAQ,QAAQ,OAAO,QAAQ;AAChE,cAAM,iBAAiB,KAAK;AAE5B,cAAM,WAAW,KAAK,OAAO,QAAS,OAAQ,OAAQ;AACtD,aAAK,4BAA4B,WAAW,2BAA2B,UAAU,OAAO,EAAE,UAAU,WAAS;AAC3G,cAAI,KAAK,aAAa,wBAAwB,GAAG;AAC/C;AAAA,UACF;AACA,cAAI,kBAAkB,CAAC,gBAAgB,SAAS,OAAO,MAAc,GAAG;AACtE,2BAAe,OAAO;AAAA,UACxB;AAAA,QACF,CAAC;AACD,YAAI,gBAAgB;AAClB,eAAK,qBAAqB,WAAW,2BAA2B,gBAAgB,QAAQ,EAAE,UAAU,QAAM;AACxG,gBAAI,WAAW,eAAe,mBAAmB,KAAK,aAAa,mBAAmB,CAAC,GAAG;AACxF,mBAAK,UAAU,OAAO,eAAM,EAAE,QAAQ,CAAAC,QAAM;AAC1C,gBAAAA,IAAG,MAAM;AAAA,cACX,CAAC;AAAA,YACH;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF;AAAA,IAEF;AAAA,IAEA,mBAAmB,MAAc,OAAY,OAAkB;AAC7D,YAAM,mBAAmB,MAAM,OAAO,KAAK;AAAA,IAC7C;AAAA,IAEA,mBAAmB,UAAuB;AACxC,WAAK,oBAAoB,YAAY;AACrC,WAAK,2BAA2B,YAAY;AAAA,IAK9C;AAAA;AAAA;AAAA,EAIF;AAjEO,WAAM,UAAAD;AAAA,GA9EE;AAkJjB,IAAO,kBAAQ;AAAA,EACb,gBAAgB,CAAC,WAAgC;AAC/C,WAAO,OAAO,6BAA6B;AAAA,MACzC,MAAM,GAAG,QAAQ,QAAQ;AAAA,MACzB,UACE;AAAA,MACF,YAAY,CAAC,GAAG,GAAG,IAAI,sBAAsB;AAC3C,eAAO,UAAU,IAAI,EAAE,YAAY,IAAI,QAAQ,QAAQ,GAAG,OAAe,CAAC;AAAA,MAC5E;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA,aAAa,CAAC,WAAgC;AAC5C,WAAO,OAAO,6BAA6B;AAAA,MACzC,MAAM,GAAG,QAAQ,QAAQ;AAAA,MACzB,UACE;AAAA,MACF,YAAY,CAAC,GAAG,GAAG,IAAI,sBAAsB;AAC3C,eAAO,UAAU,IAAI,EAAE,YAAY,IAAI,QAAQ,KAAK,GAAG,OAAe,CAAC;AAAA,MACzE;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA,aAAa,CAAC,WAAgC;AAC5C,WAAO,OAAO,6BAA6B;AAAA,MACzC,MAAM,GAAG,QAAQ,QAAQ;AAAA,MACzB,UACE;AAAA,MACF,YAAY,CAAC,GAAG,GAAG,IAAI,sBAAsB;AAC3C,eAAO,UAAU,IAAI,EAAE,YAAY,IAAI,QAAQ,KAAK,GAAG,OAAe,CAAC;AAAA,MACzE;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA,SAAS,CAAC,WAAgC;AACxC,WAAO,OAAO,6BAA6B;AAAA,MACzC,MAAM,GAAG,QAAQ,QAAQ;AAAA,MACzB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAyCR,UACE;AAAA,MACF,YAAY,CAAC,GAAG,GAAG,IAAI,sBAAsB;AAC3C,eAAO,UAAU,IAAI,EAAE,YAAY,IAAI,QAAQ,QAAQ,GAAG,iBAAiB,GAAG,OAAe,CAAC;AAAA,MAChG;AAAA,IACF,CAAC;AAAA,EACH;AACF;",
|
|
6
6
|
"names": ["Details", "it"]
|
|
7
7
|
}
|
|
@@ -3,7 +3,7 @@ import { DomRender } from "../../DomRender.js";
|
|
|
3
3
|
import { RawSet } from "../../rawsets/RawSet.js";
|
|
4
4
|
var ForOf;
|
|
5
5
|
((_ForOf) => {
|
|
6
|
-
_ForOf.selector = "
|
|
6
|
+
_ForOf.selector = "dr-for-of";
|
|
7
7
|
class ForOf2 extends ComponentBase {
|
|
8
8
|
onChangeAttrRender(name, value, other) {
|
|
9
9
|
super.onChangeAttrRender(name, value, other);
|
|
@@ -18,7 +18,7 @@ var ForOf_default = {
|
|
|
18
18
|
forOf: (config) => {
|
|
19
19
|
return RawSet.createComponentTargetElement({
|
|
20
20
|
name: ForOf.selector,
|
|
21
|
-
template: '<div dr-for-of="@this@.
|
|
21
|
+
template: '<div dr-for-of="@this@.value" >#innerHTML#</div>',
|
|
22
22
|
objFactory: (e, o, r2, counstructorParam) => {
|
|
23
23
|
return DomRender.run({ rootObject: new ForOf.ForOf(...counstructorParam), config });
|
|
24
24
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/forOf/ForOf.ts"],
|
|
4
|
-
"sourcesContent": ["import { ComponentBase } from '../ComponentBase';\nimport { DomRender, DomRenderRunConfig } from '../../DomRender';\nimport { RawSet } from '../../rawsets/RawSet';\nimport { OtherData } from '../../lifecycle/OnChangeAttrRender';\n\nexport namespace ForOf {\n export const selector = '
|
|
4
|
+
"sourcesContent": ["import { ComponentBase } from '../ComponentBase';\nimport { DomRender, DomRenderRunConfig } from '../../DomRender';\nimport { RawSet } from '../../rawsets/RawSet';\nimport { OtherData } from '../../lifecycle/OnChangeAttrRender';\n\nexport namespace ForOf {\n export const selector = 'dr-for-of';\n export type Attribute<D> = {\n value: D;\n };\n\n // @Component({\n // template: '<div dr-for-of=\"@this@.data\" dr-option-strip=\"true\">#innerHTML#</div>',\n // selector: `${selector}`\n // })\n export class ForOf<D> extends ComponentBase<Attribute<D>> {\n private value?: D;\n\n onChangeAttrRender(name: string, value: any, other: OtherData) {\n super.onChangeAttrRender(name, value, other);\n if (this.equalsAttributeName(name, 'value')) {\n this.value = value;\n }\n }\n }\n}\n\nexport default {\n forOf: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: ForOf.selector,\n template: '<div dr-for-of=\"@this@.value\" >#innerHTML#</div>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new ForOf.ForOf(...counstructorParam), config: config });\n }\n });\n }\n};"],
|
|
5
5
|
"mappings": "AAAA,SAAS,qBAAqB;AAC9B,SAAS,iBAAqC;AAC9C,SAAS,cAAc;AAGhB,IAAU;AAAA,CAAV,CAAU,WAAV;AACE,EAAM,kBAAW;AAAA,EASjB,MAAMA,eAAiB,cAA4B;AAAA,IAGxD,mBAAmB,MAAc,OAAY,OAAkB;AAC7D,YAAM,mBAAmB,MAAM,OAAO,KAAK;AAC3C,UAAI,KAAK,oBAAoB,MAAM,OAAO,GAAG;AAC3C,aAAK,QAAQ;AAAA,MACf;AAAA,IACF;AAAA,EACF;AATO,SAAM,QAAAA;AAAA,GAVE;AAsBjB,IAAO,gBAAQ;AAAA,EACb,OAAO,CAAC,WAAgC;AACtC,WAAO,OAAO,6BAA6B;AAAA,MACzC,MAAM,MAAM;AAAA,MACZ,UAAU;AAAA,MACV,YAAY,CAAC,GAAG,GAAG,IAAI,sBAAsB;AAC3C,eAAO,UAAU,IAAI,EAAE,YAAY,IAAI,MAAM,MAAM,GAAG,iBAAiB,GAAG,OAAe,CAAC;AAAA,MAC5F;AAAA,IACF,CAAC;AAAA,EACH;AACF;",
|
|
6
6
|
"names": ["ForOf"]
|
|
7
7
|
}
|
|
@@ -25,7 +25,7 @@ var If_default = {
|
|
|
25
25
|
if: (config) => {
|
|
26
26
|
return RawSet.createComponentTargetElement({
|
|
27
27
|
name: If.selector,
|
|
28
|
-
template: '<div dr-if="@this@.sw" >#innerHTML#</div>',
|
|
28
|
+
template: '<div dr-if="@this@.sw" dr-option-strip="true" >#innerHTML#</div>',
|
|
29
29
|
objFactory: (e, o, r2, counstructorParam) => {
|
|
30
30
|
return DomRender.run({ rootObject: new If.If(...counstructorParam), config });
|
|
31
31
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/if/If.ts"],
|
|
4
|
-
"sourcesContent": ["import { ComponentBase } from '../ComponentBase';\nimport { OtherData } from '../../lifecycle/OnChangeAttrRender';\nimport { DomRender } from '../../DomRender';\nimport { OnInitRender } from '../../lifecycle/OnInitRender';\nimport { RawSet } from '../../rawsets/RawSet';\nimport { DomRenderConfig } from '../../configs/DomRenderConfig';\n\nexport namespace If {\n export const selector = 'dr-if';\n // export type AppenderInterface<D> = {\n // push(...data:D[]):void;\n // set(key: string, ...v:D[]):void\n // delete(key: string):void\n // clear():void\n // }\n export type Attribute<D> = {\n value?: null | boolean;\n };\n\n export class If<D> extends ComponentBase<Attribute<D>> implements OnInitRender {\n private sw: boolean = false;\n
|
|
5
|
-
"mappings": "AAAA,SAAS,qBAAqB;AAE9B,SAAS,iBAAiB;AAE1B,SAAS,cAAc;AAGhB,IAAU;AAAA,CAAV,CAAU,QAAV;AACE,EAAM,eAAW;AAAA,
|
|
4
|
+
"sourcesContent": ["import { ComponentBase } from '../ComponentBase';\nimport { OtherData } from '../../lifecycle/OnChangeAttrRender';\nimport { DomRender } from '../../DomRender';\nimport { OnInitRender } from '../../lifecycle/OnInitRender';\nimport { RawSet } from '../../rawsets/RawSet';\nimport { DomRenderConfig } from '../../configs/DomRenderConfig';\n\nexport namespace If {\n export const selector = 'dr-if';\n\n // export type AppenderInterface<D> = {\n // push(...data:D[]):void;\n // set(key: string, ...v:D[]):void\n // delete(key: string):void\n // clear():void\n // }\n export type Attribute<D> = {\n value?: null | boolean;\n };\n\n export class If<D> extends ComponentBase<Attribute<D>> implements OnInitRender {\n private sw: boolean = false;\n async onInitRender(param: any, rawSet: RawSet) {\n super.onInitRender(param, rawSet);\n }\n\n onChangeAttrRender(name: string, value: any, other: OtherData) {\n super.onChangeAttrRender(name, value, other);\n\n if (this.equalsAttributeName(name, 'value')) {\n // console.log('--', value, typeof value);\n this.sw = value;\n }\n }\n }\n}\n\n// const iif = DomRender.createComponent({\n// type: If.If,\n// tagName: If.selector,\n// template: '<div dr-if=\"@this@.sw\" dr-option-strip=\"true\">#innerHTML#</div>' });\nexport default {\n if: (config?: DomRenderConfig) => {\n // if (!customElements.get(If.selector)) {\n // customElements.define(If.selector, class extends HTMLElement {\n // constructor() {\n // super();\n // this.hidden = true;\n // }\n // });\n // }\n\n\n return RawSet.createComponentTargetElement({\n name: If.selector,\n template: '<div dr-if=\"@this@.sw\" dr-option-strip=\"true\" >#innerHTML#</div>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new If.If(...counstructorParam), config: config });\n }\n });\n }\n};\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,qBAAqB;AAE9B,SAAS,iBAAiB;AAE1B,SAAS,cAAc;AAGhB,IAAU;AAAA,CAAV,CAAU,QAAV;AACE,EAAM,eAAW;AAAA,EAYjB,MAAMA,YAAc,cAAoD;AAAA,IAAxE;AAAA;AACL,WAAQ,KAAc;AAAA;AAAA,IACtB,MAAM,aAAa,OAAY,QAAgB;AAC7C,YAAM,aAAa,OAAO,MAAM;AAAA,IAClC;AAAA,IAEA,mBAAmB,MAAc,OAAY,OAAkB;AAC7D,YAAM,mBAAmB,MAAM,OAAO,KAAK;AAE3C,UAAI,KAAK,oBAAoB,MAAM,OAAO,GAAG;AAE3C,aAAK,KAAK;AAAA,MACZ;AAAA,IACF;AAAA,EACF;AAdO,MAAM,KAAAA;AAAA,GAbE;AAkCjB,IAAO,aAAQ;AAAA,EACb,IAAI,CAAC,WAA6B;AAWhC,WAAO,OAAO,6BAA6B;AAAA,MACzC,MAAM,GAAG;AAAA,MACT,UAAU;AAAA,MACV,YAAY,CAAC,GAAG,GAAG,IAAI,sBAAsB;AAC3C,eAAO,UAAU,IAAI,EAAE,YAAY,IAAI,GAAG,GAAG,GAAG,iBAAiB,GAAG,OAAe,CAAC;AAAA,MACtF;AAAA,IACF,CAAC;AAAA,EACH;AACF;",
|
|
6
6
|
"names": ["If"]
|
|
7
7
|
}
|
|
@@ -29,6 +29,7 @@ import Details from "./details/Details.js";
|
|
|
29
29
|
import Input from "./input/Input.js";
|
|
30
30
|
import Route from "./router/Route.js";
|
|
31
31
|
import A from "./a/A.js";
|
|
32
|
+
import ForOf from "./forOf/ForOf.js";
|
|
32
33
|
const drComponent = {
|
|
33
34
|
...If,
|
|
34
35
|
...This,
|
|
@@ -43,7 +44,8 @@ const drComponent = {
|
|
|
43
44
|
...Input,
|
|
44
45
|
...Route,
|
|
45
46
|
...RouterOutlet,
|
|
46
|
-
...A
|
|
47
|
+
...A,
|
|
48
|
+
...ForOf
|
|
47
49
|
};
|
|
48
50
|
export {
|
|
49
51
|
drComponent
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/index.ts"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["\nexport * from './ComponentBase';\nexport * from './ComponentRouterBase';\nexport * from './ComponentSet';\nexport * from './a';\nexport * from './appender';\nexport * from './checkbox';\nexport * from './choose';\nexport * from './details';\nexport * from './forOf';\nexport * from './if';\nexport * from './input';\nexport * from './promise';\nexport * from './radio';\nexport * from './router';\nexport * from './select';\nexport * from './this';\nexport * from './timer';\n\nimport If from './if/If';\nimport This from './this/This';\nimport Appender from './appender/Appender';\nimport PromiseSwitch from './promise/PromiseSwitch';\nimport Choose from './choose/Choose';\nimport CheckBox from './checkbox/CheckBox';\nimport Radio from './radio/Radio';\nimport RouterOutlet from './router/RouterOutlet';\nimport Select from './select/Select';\nimport Timer from './timer/Timer';\nimport Details from './details/Details';\nimport Input from './input/Input';\nimport Route from './router/Route';\nimport A from './a/A';\nimport ForOf from './forOf/ForOf';\n\nexport const drComponent = {\n ...If,\n ...This,\n ...Appender,\n ...PromiseSwitch,\n ...Choose,\n ...CheckBox,\n ...Radio,\n ...Select,\n ...Timer,\n ...Details,\n ...Input,\n ...Route,\n ...RouterOutlet,\n ...A,\n...ForOf\n}"],
|
|
5
|
+
"mappings": "AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,OAAO,QAAQ;AACf,OAAO,UAAU;AACjB,OAAO,cAAc;AACrB,OAAO,mBAAmB;AAC1B,OAAO,YAAY;AACnB,OAAO,cAAc;AACrB,OAAO,WAAW;AAClB,OAAO,kBAAkB;AACzB,OAAO,YAAY;AACnB,OAAO,WAAW;AAClB,OAAO,aAAa;AACpB,OAAO,WAAW;AAClB,OAAO,WAAW;AAClB,OAAO,OAAO;AACd,OAAO,WAAW;AAEX,MAAM,cAAc;AAAA,EACzB,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACL,GAAG;AACH;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { ComponentBase } from "../ComponentBase.js";
|
|
2
2
|
import { RawSet } from "../../rawsets/RawSet.js";
|
|
3
|
+
import { isOnChangeAttrRender } from "../../lifecycle/OnChangeAttrRender.js";
|
|
4
|
+
import { ComponentSet } from "../../components/ComponentSet.js";
|
|
3
5
|
import { ComponentRouterBase, isOnCreatedOutletDebounce } from "../../components/ComponentRouterBase.js";
|
|
4
6
|
var RouterOutlet;
|
|
5
7
|
((_RouterOutlet) => {
|
|
@@ -8,18 +10,27 @@ var RouterOutlet;
|
|
|
8
10
|
constructor() {
|
|
9
11
|
super(...arguments);
|
|
10
12
|
this.if = null;
|
|
13
|
+
this.sw = false;
|
|
11
14
|
}
|
|
12
15
|
setValue(value) {
|
|
13
|
-
this.
|
|
16
|
+
this.sw = false;
|
|
17
|
+
setTimeout(() => {
|
|
18
|
+
this.value = value;
|
|
19
|
+
}, 0);
|
|
20
|
+
setTimeout(() => {
|
|
21
|
+
this.sw = true;
|
|
22
|
+
}, 0);
|
|
14
23
|
}
|
|
15
24
|
async onInitRender(param, rawSet) {
|
|
16
25
|
await super.onInitRender(param, rawSet);
|
|
17
26
|
const c = this.getParentThis();
|
|
18
27
|
const userValue = this.getAttribute("value");
|
|
19
|
-
if (userValue) {
|
|
20
|
-
this.
|
|
21
|
-
} else if (
|
|
22
|
-
this.
|
|
28
|
+
if (typeof userValue === "string") {
|
|
29
|
+
this.setValue(c[userValue]);
|
|
30
|
+
} else if (userValue instanceof ComponentSet) {
|
|
31
|
+
this.setValue(userValue);
|
|
32
|
+
} else if (!userValue && c instanceof ComponentRouterBase) {
|
|
33
|
+
this.setValue(c.child);
|
|
23
34
|
}
|
|
24
35
|
}
|
|
25
36
|
onDestroyRender(data) {
|
|
@@ -28,7 +39,7 @@ var RouterOutlet;
|
|
|
28
39
|
onChangeAttrRender(name, value, other) {
|
|
29
40
|
super.onChangeAttrRender(name, value, other);
|
|
30
41
|
if (this.equalsAttributeName(name, "value")) {
|
|
31
|
-
this.value
|
|
42
|
+
this.setValue(value);
|
|
32
43
|
}
|
|
33
44
|
if (this.equalsAttributeName(name, "if")) {
|
|
34
45
|
this.if = value;
|
|
@@ -36,6 +47,9 @@ var RouterOutlet;
|
|
|
36
47
|
if (this.equalsAttributeName(name, "createArguments")) {
|
|
37
48
|
this.createArguments = value;
|
|
38
49
|
}
|
|
50
|
+
if (this.childObject && this.childRawSet && isOnChangeAttrRender(this.childObject)) {
|
|
51
|
+
this.childObject.onChangeAttrRender(name, value, { rawSet: this.childRawSet });
|
|
52
|
+
}
|
|
39
53
|
}
|
|
40
54
|
onCreatedThisChild(child, data) {
|
|
41
55
|
super.onCreatedThisChild(child, data);
|
|
@@ -48,9 +62,22 @@ var RouterOutlet;
|
|
|
48
62
|
}
|
|
49
63
|
this.getAttribute("onCreatedDebounce")?.(this.value?.obj);
|
|
50
64
|
}
|
|
51
|
-
|
|
52
|
-
component ?? (component = this.value?.obj);
|
|
53
|
-
this.
|
|
65
|
+
onCreateDrThis($component, $rawSet) {
|
|
66
|
+
this.childObject = $component ?? ($component = this.value?.obj);
|
|
67
|
+
this.childRawSet = $rawSet;
|
|
68
|
+
if ($component) {
|
|
69
|
+
this.getAttribute("onCreated")?.($component);
|
|
70
|
+
if (isOnChangeAttrRender($component)) {
|
|
71
|
+
this.getAttributeNames().filter((it) => it.startsWith("attribute-")).forEach((it) => {
|
|
72
|
+
var _a;
|
|
73
|
+
const attrName = it.replace(/^attribute-/, "");
|
|
74
|
+
const attrValue = this.getAttribute(it);
|
|
75
|
+
(_a = $rawSet.dataSet.render).attribute ?? (_a.attribute = {});
|
|
76
|
+
$rawSet.dataSet.render.attribute[attrName] = attrValue;
|
|
77
|
+
$component.onChangeAttrRender(attrName, attrValue, { rawSet: $rawSet });
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
}
|
|
54
81
|
}
|
|
55
82
|
}
|
|
56
83
|
_RouterOutlet.RouterOutlet = RouterOutlet2;
|
|
@@ -60,7 +87,11 @@ var RouterOutlet_default = {
|
|
|
60
87
|
routerOutlet: (config, executer) => {
|
|
61
88
|
return RawSet.createComponentTargetElement({
|
|
62
89
|
name: RouterOutlet.selector,
|
|
63
|
-
template:
|
|
90
|
+
template: `
|
|
91
|
+
<dr-if value="\${@this@.sw}$">
|
|
92
|
+
<div dr-this="@this@.value" dr-detect-option-if="@this@?.value && @this@?.if" dr-option-strip="true" dr-on-create:arguments="@this@.createArguments" dr-on-create:callback="@this@?.onCreateDrThis?.($component, $rawSet)">#innerHTML#</div>
|
|
93
|
+
</dr-if>
|
|
94
|
+
`,
|
|
64
95
|
objFactory: (e, o, r2, counstructorParam) => {
|
|
65
96
|
return executer?.run({ rootObject: new RouterOutlet.RouterOutlet(...counstructorParam), config });
|
|
66
97
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/router/RouterOutlet.ts"],
|
|
4
|
-
"sourcesContent": ["import {
|
|
5
|
-
"mappings": "AAAA,
|
|
4
|
+
"sourcesContent": ["import {ChildrenSet, ComponentBase} from '../ComponentBase';\nimport {DomRenderRunConfig} from '../../DomRender';\nimport {RawSet} from '../../rawsets/RawSet';\nimport {isOnChangeAttrRender, OtherData} from '../../lifecycle/OnChangeAttrRender';\nimport {OnInitRender} from '../../lifecycle/OnInitRender';\nimport {ComponentSet} from '../../components/ComponentSet';\nimport {OnDestroyRenderParams} from '../../lifecycle/OnDestroyRender';\nimport {ComponentRouterBase, isOnCreatedOutletDebounce} from '../../components/ComponentRouterBase';\nimport {OnCreateRenderDataParams} from '../../lifecycle';\n\nexport namespace RouterOutlet {\n export const selector = 'dr-router-outlet';\n export type Attribute = {\n value: ComponentSet | string;\n if: boolean | null;\n createArguments: any[];\n onCreated?: (value: any) => void;\n onCreatedDebounce?: (value: any) => void;\n onDestroyRender?: () => void;\n };\n\n export class RouterOutlet extends ComponentBase<Attribute> implements OnInitRender {\n private value?: ComponentSet;\n private if?: boolean | null = null;\n private createArguments?: any[];\n private childObject?: any;\n private childRawSet?: RawSet;\n private sw = false;\n\n setValue(value: ComponentSet) {\n this.sw = false;\n setTimeout(() => {\n this.value = value;\n }, 0)\n\n setTimeout(() => {\n this.sw = true;\n }, 0)\n // console.log('sssssssssss');\n }\n\n async onInitRender(param: any, rawSet: RawSet) {\n await super.onInitRender(param, rawSet);\n const c = this.getParentThis<any>();\n const userValue = this.getAttribute('value');\n if (typeof userValue === 'string') {\n this.setValue(c[userValue]);\n } else if (userValue instanceof ComponentSet) {\n this.setValue(userValue);\n } else if (!userValue && c instanceof ComponentRouterBase) {\n this.setValue(c.child);\n }\n // console.log('------',c);\n }\n\n onDestroyRender(data: OnDestroyRenderParams) {\n super.onDestroyRender(data);\n }\n\n onChangeAttrRender(name: string, value: any, other: OtherData) {\n super.onChangeAttrRender(name, value, other);\n // console.log('--------------', name, value);\n if (this.equalsAttributeName(name, 'value')) {\n this.setValue(value);\n }\n if (this.equalsAttributeName(name, 'if')) {\n this.if = value;\n }\n if (this.equalsAttributeName(name, 'createArguments')) {\n this.createArguments = value;\n }\n\n if (this.childObject && this.childRawSet && isOnChangeAttrRender(this.childObject)) {\n this.childObject.onChangeAttrRender(name, value, {rawSet: this.childRawSet});\n }\n }\n\n onCreatedThisChild(child: any, data: OnCreateRenderDataParams) {\n super.onCreatedThisChild(child, data);\n // console.log('outlet--oncreatedThisChild',child);\n }\n\n onCreatedThisChildDebounce(childrenSet: ChildrenSet[]) {\n super.onCreatedThisChildDebounce(childrenSet);\n let parentThis = this.getParentThis();\n // console.log('---', parentThis);\n if (isOnCreatedOutletDebounce(parentThis)) {\n parentThis.onCreatedOutletDebounce(this.value?.obj);\n }\n this.getAttribute('onCreatedDebounce')?.(this.value?.obj);\n }\n\n\n onCreateDrThis($component: any, $rawSet: RawSet) {\n this.childObject = $component ??= this.value?.obj;\n this.childRawSet = $rawSet;\n if ($component) {\n this.getAttribute('onCreated')?.($component);\n // console.log('21222');\n if (isOnChangeAttrRender($component)) {\n this.getAttributeNames()\n .filter(it => it.startsWith('attribute-'))\n .forEach(it => {\n const attrName = it.replace(/^attribute-/, '');\n const attrValue = this.getAttribute(it as any);\n $rawSet.dataSet.render.attribute ??= {};\n $rawSet.dataSet.render.attribute[attrName] = attrValue;\n $component.onChangeAttrRender(attrName, attrValue, {rawSet: $rawSet});\n });\n }\n }\n }\n }\n}\n\nexport default {\n // TODO: \uC65C \uC774\uB188\uB9CC webpack\uC5D0\uC11C \uC21C\uD658\uCC38\uC870 \uC5D0\uB7EC\uB098\uB294\uC9C0\uBAA8\uB974\uACA0\uB2E4.. \uC65C \uC774\uB188\uB9CC.. \uADF8\uB798\uC11C \uC774\uB807\uAC8C \uD558\uAE34\uD568.\n routerOutlet: (config?: DomRenderRunConfig, executer?: { run: (...data: any[]) => any }) => {\n return RawSet.createComponentTargetElement({\n name: RouterOutlet.selector,\n template:\n `\n <dr-if value=\"\\${@this@.sw}$\">\n <div dr-this=\"@this@.value\" dr-detect-option-if=\"@this@?.value && @this@?.if\" dr-option-strip=\"true\" dr-on-create:arguments=\"@this@.createArguments\" dr-on-create:callback=\"@this@?.onCreateDrThis?.($component, $rawSet)\">#innerHTML#</div>\n </dr-if>\n `,\n objFactory: (e, o, r2, counstructorParam) => {\n return executer?.run({rootObject: new RouterOutlet.RouterOutlet(...counstructorParam), config: config});\n }\n });\n }\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["RouterOutlet"]
|
|
7
7
|
}
|
|
@@ -292,6 +292,13 @@ var Select;
|
|
|
292
292
|
this.selectedValues = [];
|
|
293
293
|
this.selectedOptions = [];
|
|
294
294
|
}
|
|
295
|
+
// get value(): string | (string | null)[] | null | undefined {
|
|
296
|
+
// return this._value;
|
|
297
|
+
// }
|
|
298
|
+
// set value(val: string | (string | null)[] | null | undefined) {
|
|
299
|
+
// console.log('value set', val)
|
|
300
|
+
// this._value = val;
|
|
301
|
+
// }
|
|
295
302
|
get optionComponents() {
|
|
296
303
|
return this.getChildren(Option);
|
|
297
304
|
}
|
|
@@ -335,13 +342,17 @@ var Select;
|
|
|
335
342
|
const summaries = this.getChildren(Summary);
|
|
336
343
|
this.options = options;
|
|
337
344
|
const values = this.options.filter((it) => it.selected && !it.disabled).map((it) => it.value);
|
|
338
|
-
this.getAttribute("changeSelected")?.(values);
|
|
339
345
|
summaries?.forEach((it) => {
|
|
340
346
|
it.setDisabled(this.disabled);
|
|
341
347
|
if (!this.disabled) {
|
|
342
348
|
it.setOptions(options);
|
|
343
349
|
}
|
|
344
350
|
});
|
|
351
|
+
this.selectedValues = values;
|
|
352
|
+
this.selectedOptions = this.options.filter((it) => it.selected && !it.disabled);
|
|
353
|
+
this.value = this.selectedValues[0];
|
|
354
|
+
this.getAttribute("onchange")?.(this.value);
|
|
355
|
+
this.getAttribute("onchangeValues")?.(values);
|
|
345
356
|
}
|
|
346
357
|
onInitDetailsElement(detailsElement) {
|
|
347
358
|
this.element = detailsElement;
|
|
@@ -355,6 +366,27 @@ var Select;
|
|
|
355
366
|
this.documentClickSubscription?.unsubscribe();
|
|
356
367
|
this.windowBlurSubscription?.unsubscribe();
|
|
357
368
|
}
|
|
369
|
+
setValue(value) {
|
|
370
|
+
this.value = value;
|
|
371
|
+
if (this.options) {
|
|
372
|
+
this.options.forEach((it) => {
|
|
373
|
+
it.selected = false;
|
|
374
|
+
it.updateStatus();
|
|
375
|
+
});
|
|
376
|
+
for (let option of this.options) {
|
|
377
|
+
if (option.value === value) {
|
|
378
|
+
option.selected = true;
|
|
379
|
+
if (!this.multiple) {
|
|
380
|
+
break;
|
|
381
|
+
}
|
|
382
|
+
} else {
|
|
383
|
+
option.selected = false;
|
|
384
|
+
}
|
|
385
|
+
option.updateStatus();
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
console.log("value set", value);
|
|
389
|
+
}
|
|
358
390
|
test() {
|
|
359
391
|
console.log("tttttttt");
|
|
360
392
|
}
|
|
@@ -395,6 +427,12 @@ var Select;
|
|
|
395
427
|
DomRenderNoProxy,
|
|
396
428
|
__metadata("design:type", SelectBody)
|
|
397
429
|
], Select2.prototype, "selectBodyComponent", void 0);
|
|
430
|
+
__decorate([
|
|
431
|
+
attribute("value"),
|
|
432
|
+
__metadata("design:type", Function),
|
|
433
|
+
__metadata("design:paramtypes", [String]),
|
|
434
|
+
__metadata("design:returntype", void 0)
|
|
435
|
+
], Select2.prototype, "setValue", null);
|
|
398
436
|
Select_1.Select = Select2;
|
|
399
437
|
})(Select || (Select = {}));
|
|
400
438
|
const stateComponentFactory = (name, type) => {
|