dom-render 1.0.85 → 1.0.88
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/DomRender.d.ts +6 -6
- package/DomRender.js +11 -6
- package/DomRenderProxy.d.ts +3 -3
- package/DomRenderProxy.js +3 -2
- package/README.MD +46 -16
- package/configs/Config.d.ts +26 -0
- package/{Config.js → configs/Config.js} +0 -0
- package/configs/TargetAttr.d.ts +6 -0
- package/configs/TargetAttr.js +2 -0
- package/configs/TargetElement.d.ts +14 -0
- package/configs/TargetElement.js +2 -0
- package/dist/bundle.js +275 -255
- package/events/EventManager.d.ts +1 -1
- package/lifecycle/OnDestroyRender.d.ts +1 -1
- package/lifecycle/OnInitRender.d.ts +2 -1
- package/lifecycle/OnProxyDomRender.d.ts +1 -1
- package/messenger/Messenger.d.ts +1 -1
- package/operators/Dr.js +1 -1
- package/operators/DrAppender.js +1 -1
- package/operators/DrFor.js +1 -1
- package/operators/DrForOf.js +1 -1
- package/operators/DrForm.js +1 -1
- package/operators/DrIf.js +1 -1
- package/operators/DrInnerHTML.js +1 -1
- package/operators/DrInnerText.js +1 -1
- package/operators/DrRepeat.js +1 -1
- package/operators/DrTargetAttr.js +1 -1
- package/operators/DrTargetElement.js +2 -2
- package/operators/DrThis.js +5 -2
- package/operators/OperatorRender.d.ts +6 -2
- package/package.json +6 -2
- package/rawsets/AttrInitCallBack.d.ts +5 -0
- package/rawsets/AttrInitCallBack.js +2 -0
- package/rawsets/Attrs.d.ts +21 -0
- package/rawsets/Attrs.js +2 -0
- package/rawsets/CreatorMetaData.d.ts +18 -0
- package/rawsets/CreatorMetaData.js +2 -0
- package/rawsets/DestroyOptionType.d.ts +4 -0
- package/rawsets/DestroyOptionType.js +8 -0
- package/rawsets/ElementInitCallBack.d.ts +8 -0
- package/rawsets/ElementInitCallBack.js +2 -0
- package/{RawSet.d.ts → rawsets/RawSet.d.ts} +18 -73
- package/{RawSet.js → rawsets/RawSet.js} +108 -109
- package/rawsets/RawSetType.d.ts +7 -0
- package/rawsets/RawSetType.js +11 -0
- package/rawsets/Render.d.ts +17 -0
- package/rawsets/Render.js +2 -0
- package/Config.d.ts +0 -38
package/DomRender.d.ts
CHANGED
@@ -1,13 +1,13 @@
|
|
1
|
-
import { Config } from './Config';
|
1
|
+
import { Config } from './configs/Config';
|
2
2
|
import { ConstructorType } from './types/Types';
|
3
|
-
import { RawSet } from './RawSet';
|
3
|
+
import { RawSet } from './rawsets/RawSet';
|
4
4
|
export declare class DomRender {
|
5
|
-
static run<T extends object>(obj: T, target?: Node,
|
5
|
+
static run<T extends object>(obj: T, target?: Node | null, oConfig?: Omit<Config, 'window'>): T;
|
6
6
|
static createComponent(param: {
|
7
|
-
type: ConstructorType<any
|
7
|
+
type: ConstructorType<any> | any;
|
8
8
|
tagName?: string;
|
9
9
|
template?: string;
|
10
10
|
styles?: string[] | string;
|
11
|
-
}
|
12
|
-
static createAttribute(attrName: string, getThisObj: (element: Element, attrValue: string, obj: any, rawSet: RawSet) => any, factory: (element: Element, attrValue: string, obj: any, rawSet: RawSet) => DocumentFragment): import("./
|
11
|
+
}): import("./configs/TargetElement").TargetElement;
|
12
|
+
static createAttribute(attrName: string, getThisObj: (element: Element, attrValue: string, obj: any, rawSet: RawSet) => any, factory: (element: Element, attrValue: string, obj: any, rawSet: RawSet) => DocumentFragment): import("./configs/TargetAttr").TargetAttr;
|
13
13
|
}
|
package/DomRender.js
CHANGED
@@ -14,12 +14,12 @@ var DomRenderProxy_1 = require("./DomRenderProxy");
|
|
14
14
|
var PathRouter_1 = require("./routers/PathRouter");
|
15
15
|
var HashRouter_1 = require("./routers/HashRouter");
|
16
16
|
var Types_1 = require("./types/Types");
|
17
|
-
var RawSet_1 = require("./RawSet");
|
17
|
+
var RawSet_1 = require("./rawsets/RawSet");
|
18
18
|
var DefaultMessenger_1 = require("./messenger/DefaultMessenger");
|
19
19
|
var DomRender = /** @class */ (function () {
|
20
20
|
function DomRender() {
|
21
21
|
}
|
22
|
-
DomRender.run = function (obj, target,
|
22
|
+
DomRender.run = function (obj, target, oConfig) {
|
23
23
|
var _a, _b, _c;
|
24
24
|
var robj = obj;
|
25
25
|
if ('_DomRender_isProxy' in obj) {
|
@@ -29,9 +29,13 @@ var DomRender = /** @class */ (function () {
|
|
29
29
|
robj = obj;
|
30
30
|
return robj;
|
31
31
|
}
|
32
|
+
var config = oConfig;
|
32
33
|
if (!config) {
|
33
34
|
config = { window: window };
|
34
35
|
}
|
36
|
+
if (config && !config.window) {
|
37
|
+
config.window = window;
|
38
|
+
}
|
35
39
|
config.routerType = config.routerType || 'none';
|
36
40
|
config.messenger = Types_1.DomRenderFinalProxy.final((_a = config.messenger) !== null && _a !== void 0 ? _a : new DefaultMessenger_1.DefaultMessenger(config));
|
37
41
|
var domRender = new DomRenderProxy_1.DomRenderProxy(obj, target, config);
|
@@ -46,12 +50,13 @@ var DomRender = /** @class */ (function () {
|
|
46
50
|
domRender.run(robj);
|
47
51
|
return robj;
|
48
52
|
};
|
49
|
-
DomRender.createComponent = function (param
|
53
|
+
DomRender.createComponent = function (param) {
|
50
54
|
var _a, _b;
|
51
|
-
|
55
|
+
// console.log('===>', typeof param.type, param.type.name, param.type.constructor.name)
|
56
|
+
var component = RawSet_1.RawSet.createComponentTargetElement((_a = param.tagName) !== null && _a !== void 0 ? _a : (typeof param.type === 'function' ? param.type.name : param.type.constructor.name), function (e, o, r2, counstructorParam) {
|
52
57
|
var _a;
|
53
|
-
return new ((_a = param.type).bind.apply(_a, __spreadArray([void 0], counstructorParam, false)))();
|
54
|
-
}, (_b = param.template) !== null && _b !== void 0 ? _b : '', Array.isArray(param.styles) ? param.styles : (param.styles ? [param.styles] : undefined)
|
58
|
+
return typeof param.type === 'function' ? new ((_a = param.type).bind.apply(_a, __spreadArray([void 0], counstructorParam, false)))() : param.type;
|
59
|
+
}, (_b = param.template) !== null && _b !== void 0 ? _b : '', Array.isArray(param.styles) ? param.styles : (param.styles ? [param.styles] : undefined));
|
55
60
|
return component;
|
56
61
|
};
|
57
62
|
DomRender.createAttribute = function (attrName, getThisObj, factory) {
|
package/DomRenderProxy.d.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
import { RawSet } from './RawSet';
|
2
|
-
import { Config } from './Config';
|
1
|
+
import { RawSet } from './rawsets/RawSet';
|
2
|
+
import { Config } from './configs/Config';
|
3
3
|
export declare class DomRenderProxy<T extends object> implements ProxyHandler<T> {
|
4
4
|
_domRender_origin: T;
|
5
5
|
config: Config;
|
@@ -7,7 +7,7 @@ export declare class DomRenderProxy<T extends object> implements ProxyHandler<T>
|
|
7
7
|
_rawSets: Map<string, Set<RawSet>>;
|
8
8
|
_domRender_proxy?: T;
|
9
9
|
_targets: Set<Node>;
|
10
|
-
constructor(_domRender_origin: T, target: Node | undefined, config: Config);
|
10
|
+
constructor(_domRender_origin: T, target: Node | null | undefined, config: Config);
|
11
11
|
static unFinal<T = any>(obj: T): T;
|
12
12
|
static final<T = any>(obj: T): T;
|
13
13
|
static isFinal<T = any>(obj: T): boolean;
|
package/DomRenderProxy.js
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.DomRenderProxy = void 0;
|
4
|
-
var RawSet_1 = require("./RawSet");
|
4
|
+
var RawSet_1 = require("./rawsets/RawSet");
|
5
5
|
var EventManager_1 = require("./events/EventManager");
|
6
6
|
var ScriptUtils_1 = require("./utils/script/ScriptUtils");
|
7
7
|
var Types_1 = require("./types/Types");
|
8
|
+
var RawSetType_1 = require("./rawsets/RawSetType");
|
8
9
|
var excludeGetSetPropertys = ['onBeforeReturnGet', 'onBeforeReturnSet', '__domrender_components', '__render', '_DomRender_isFinal', '_domRender_ref', '_rawSets', '_domRender_proxy', '_targets', '_DomRender_origin', '_DomRender_ref', '_DomRender_proxy'];
|
9
10
|
var DomRenderProxy = /** @class */ (function () {
|
10
11
|
function DomRenderProxy(_domRender_origin, target, config) {
|
@@ -118,7 +119,7 @@ var DomRenderProxy = /** @class */ (function () {
|
|
118
119
|
if ((_c = it.detect) === null || _c === void 0 ? void 0 : _c.action) {
|
119
120
|
it.detect.action();
|
120
121
|
}
|
121
|
-
else if (it.type ===
|
122
|
+
else if (it.type === RawSetType_1.RawSetType.TARGET_ELEMENT && it.data && fullPathStr && targetAttrMap && it.fragment.render) {
|
122
123
|
new Map(JSON.parse(targetAttrMap)).forEach(function (v, k) {
|
123
124
|
// it?.data.onChangeAttrRender(k, null, v);
|
124
125
|
var isUsing = EventManager_1.EventManager.isUsingThisVar(v, "this.".concat(fullPathStr));
|
package/README.MD
CHANGED
@@ -7,7 +7,7 @@ DOM-RENDER
|
|
7
7
|
|
8
8
|
# 🚀 Quick start
|
9
9
|
```html
|
10
|
-
<script src="https://cdn.jsdelivr.net/npm/dom-render@1.0.
|
10
|
+
<script src="https://cdn.jsdelivr.net/npm/dom-render@1.0.86/dist/bundle.js"></script>
|
11
11
|
```
|
12
12
|
```html
|
13
13
|
<!DOCTYPE html>
|
@@ -18,7 +18,7 @@ DOM-RENDER
|
|
18
18
|
</head>
|
19
19
|
<body id="app">
|
20
20
|
${this.name}$
|
21
|
-
<script src="https://cdn.jsdelivr.net/npm/dom-render@1.0.
|
21
|
+
<script src="https://cdn.jsdelivr.net/npm/dom-render@1.0.86/dist/bundle.js"></script>
|
22
22
|
<script>
|
23
23
|
let data = {
|
24
24
|
name: 'my name is dom-render'
|
@@ -303,6 +303,8 @@ dr-value-link: <input type="text" dr-value-link="this.office.addr.street"> <br>
|
|
303
303
|
* event: change
|
304
304
|
* modify change: dr-form:event="input"
|
305
305
|
|
306
|
+
- [examples](./examples/forms)
|
307
|
+
|
306
308
|
```html
|
307
309
|
<body id="app">
|
308
310
|
<form dr-form="this.form" dr-event-submit="this.submit(); $event.preventDefault();">
|
@@ -404,39 +406,67 @@ const config: Config = {
|
|
404
406
|
window
|
405
407
|
};
|
406
408
|
config.targetElements = [
|
407
|
-
DomRender.createComponent({type: Main, tagName: 'page-main', template: MainTemplate}
|
408
|
-
DomRender.createComponent({type: Second, tagName: 'page-second', template: SecondTemplate}
|
409
|
-
DomRender.createComponent({type: Detail, tagName: 'page-detail', template: DetailTemplate}
|
409
|
+
DomRender.createComponent({type: Main, tagName: 'page-main', template: MainTemplate}),
|
410
|
+
DomRender.createComponent({type: Second, tagName: 'page-second', template: SecondTemplate}),
|
411
|
+
DomRender.createComponent({type: Detail, tagName: 'page-detail', template: DetailTemplate})
|
410
412
|
]
|
411
413
|
config.routerType = 'hash'; // 'hash' | 'path' | 'none';
|
412
414
|
const data = DomRender.run(new Data(), document.querySelector('#app')!, config);
|
413
415
|
```
|
414
416
|
```html
|
415
417
|
<header>
|
416
|
-
|
417
|
-
|
418
|
-
|
418
|
+
<h1>examples header</h1>
|
419
|
+
<h2>${this.name}$</h2>
|
420
|
+
<div>
|
421
|
+
<div><button dr-event-click="$router.go('/')">main</button></div>
|
422
|
+
<div>
|
423
|
+
<button dr-event-click="$router.go('/second', {secondata: 555})">second</button>
|
424
|
+
<button dr-event-click="$router.go('/second/5')">second/1</button>
|
425
|
+
<button dr-event-click="$router.go('/second/wow')">second/2</button>
|
426
|
+
</div>
|
427
|
+
<div><button dr-event-click="$router.go('/detail/25?name=zzz')">detail</button></div>
|
419
428
|
</div>
|
420
429
|
</header>
|
430
|
+
<hr>
|
421
431
|
<main>
|
422
432
|
<page-main dr-if="$router.test('/')"></page-main>
|
423
|
-
<page-second dr-if="$router.test('/second')"
|
424
|
-
<page-
|
433
|
+
<page-second dr-if="$router.test('/second')">1</page-second>
|
434
|
+
<page-second dr-if="$router.testRegexp('/second/[0-9]?$')">2</page-second>
|
435
|
+
<page-second dr-if="$router.testRegexp('/second/wow$')">wow</page-second>
|
436
|
+
<page-detail url='/detail/{id:[0-9]+}' dr-if="$router.test($attribute.url)" dr-on-component-init="$component.routerData($router.getRouteData($attribute.url))" ></page-detail>
|
437
|
+
<div>
|
438
|
+
<button dr-event-click="this.plusCount()">${this.count}$ count pluse++</button>
|
439
|
+
</div>
|
425
440
|
</main>
|
441
|
+
<hr>
|
442
|
+
<footer>footer</footer>
|
426
443
|
```
|
444
|
+
```typescript
|
445
|
+
export class Second implements OnCreateRender {
|
446
|
+
name = 'Second'
|
427
447
|
|
448
|
+
onCreateRender(data: CreatorMetaData): void {
|
449
|
+
console.log('----->', data.router)
|
450
|
+
}
|
451
|
+
}
|
452
|
+
```
|
428
453
|
```typescript
|
429
454
|
import {RouteData} from 'dom-render/routers/Router';
|
430
455
|
import {OnCreateRender} from 'dom-render/lifecycle/OnCreateRender';
|
431
456
|
|
432
457
|
export class Detail implements OnCreateRender {
|
433
|
-
|
458
|
+
name = 'Detail';
|
434
459
|
|
435
|
-
|
436
|
-
|
437
|
-
|
460
|
+
onCreateRender(data: CreatorMetaData) {
|
461
|
+
console.log('routeData->', data);
|
462
|
+
}
|
463
|
+
|
464
|
+
routerData(routeData: RouteData) {
|
465
|
+
console.log('--------', routeData);
|
466
|
+
}
|
438
467
|
}
|
439
468
|
```
|
469
|
+
|
440
470
|
```typescript
|
441
471
|
// RouteData type
|
442
472
|
type RouteData = {
|
@@ -644,8 +674,8 @@ link attribute
|
|
644
674
|
```
|
645
675
|
```typescript
|
646
676
|
config.targetElements = [
|
647
|
-
DomRender.createComponent({type: Profile, template: ProfileTemplate}
|
648
|
-
DomRender.createComponent({type: Home, template: HomeTemplate, styles: HomeStyle}
|
677
|
+
DomRender.createComponent({type: Profile, template: ProfileTemplate}),
|
678
|
+
DomRender.createComponent({type: Home, template: HomeTemplate, styles: HomeStyle})
|
649
679
|
]
|
650
680
|
|
651
681
|
config.targetAttrs = [
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import { ConstructorType } from '../types/Types';
|
2
|
+
import { RawSet } from '../rawsets/RawSet';
|
3
|
+
import { Router } from '../routers/Router';
|
4
|
+
import { Messenger } from '../messenger/Messenger';
|
5
|
+
import { TargetElement } from './TargetElement';
|
6
|
+
import { TargetAttr } from './TargetAttr';
|
7
|
+
export declare type Config = {
|
8
|
+
window: Window;
|
9
|
+
targetElements?: TargetElement[];
|
10
|
+
targetAttrs?: TargetAttr[];
|
11
|
+
onElementInit?: (name: string, obj: any, rawSet: RawSet, targetElement: TargetElement) => any;
|
12
|
+
onAttrInit?: (name: string, attrValue: string, obj: any, rawSet: RawSet) => any;
|
13
|
+
proxyExcludeTyps?: ConstructorType<any>[];
|
14
|
+
proxyExcludeOnBeforeReturnSets?: string[];
|
15
|
+
proxyExcludeOnBeforeReturnGets?: string[];
|
16
|
+
scripts?: {
|
17
|
+
[n: string]: any;
|
18
|
+
};
|
19
|
+
routerType?: 'hash' | 'path' | 'none';
|
20
|
+
router?: Router;
|
21
|
+
messenger?: Messenger;
|
22
|
+
applyEvents?: {
|
23
|
+
attrName: string;
|
24
|
+
callBack: (elements: Element, attrValue: string, obj: any) => void;
|
25
|
+
}[];
|
26
|
+
};
|
File without changes
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { RawSet } from '../rawsets/RawSet';
|
2
|
+
export declare type TargetAttr = {
|
3
|
+
name: string;
|
4
|
+
callBack: (target: Element, attrValue: string, obj: any, rawSet: RawSet) => DocumentFragment;
|
5
|
+
complete?: (target: Element, attrValue: string, obj: any, rawSet: RawSet) => void;
|
6
|
+
};
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { RawSet } from '../rawsets/RawSet';
|
2
|
+
import { Config } from './Config';
|
3
|
+
import { Attrs } from '../rawsets/Attrs';
|
4
|
+
import { CreatorMetaData } from '../rawsets/CreatorMetaData';
|
5
|
+
import { Render } from '../rawsets/Render';
|
6
|
+
export declare type TargetElement = {
|
7
|
+
name: string;
|
8
|
+
template?: string;
|
9
|
+
styles?: string[];
|
10
|
+
callBack: (target: Element, obj: any, rawSet: RawSet, attrs: Attrs, config: Config) => DocumentFragment;
|
11
|
+
complete?: (target: Element, obj: any, rawSet: RawSet) => void;
|
12
|
+
__render?: Render;
|
13
|
+
__creatorMetaData?: CreatorMetaData;
|
14
|
+
};
|