dom-render 1.0.87 → 1.0.90

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. package/DomRender.d.ts +1 -1
  2. package/DomRender.js +1 -1
  3. package/DomRenderProxy.d.ts +1 -1
  4. package/DomRenderProxy.js +34 -13
  5. package/README.MD +56 -19
  6. package/components/ComponentSet.d.ts +1 -1
  7. package/configs/Config.d.ts +1 -1
  8. package/configs/TargetAttr.d.ts +1 -1
  9. package/configs/TargetElement.d.ts +4 -1
  10. package/dist/bundle.js +306 -267
  11. package/events/EventManager.js +0 -1
  12. package/lifecycle/OnDestroyRender.d.ts +1 -1
  13. package/lifecycle/OnInitRender.d.ts +1 -5
  14. package/operators/Dr.js +1 -1
  15. package/operators/DrAppender.js +1 -1
  16. package/operators/DrFor.js +1 -1
  17. package/operators/DrForOf.js +1 -1
  18. package/operators/DrForm.js +5 -5
  19. package/operators/DrIf.js +1 -1
  20. package/operators/DrInnerHTML.js +1 -1
  21. package/operators/DrInnerText.js +1 -1
  22. package/operators/DrRepeat.js +1 -1
  23. package/operators/DrTargetAttr.js +1 -1
  24. package/operators/DrTargetElement.js +1 -1
  25. package/operators/DrThis.js +5 -2
  26. package/operators/OperatorRender.d.ts +5 -1
  27. package/package.json +6 -2
  28. package/rawsets/AttrInitCallBack.d.ts +5 -0
  29. package/rawsets/AttrInitCallBack.js +2 -0
  30. package/rawsets/Attrs.d.ts +21 -0
  31. package/rawsets/Attrs.js +2 -0
  32. package/rawsets/CreatorMetaData.d.ts +18 -0
  33. package/rawsets/CreatorMetaData.js +2 -0
  34. package/rawsets/DestroyOptionType.d.ts +4 -0
  35. package/rawsets/DestroyOptionType.js +8 -0
  36. package/rawsets/ElementInitCallBack.d.ts +8 -0
  37. package/rawsets/ElementInitCallBack.js +2 -0
  38. package/{RawSet.d.ts → rawsets/RawSet.d.ts} +13 -72
  39. package/{RawSet.js → rawsets/RawSet.js} +74 -66
  40. package/rawsets/RawSetType.d.ts +7 -0
  41. package/rawsets/RawSetType.js +11 -0
  42. package/rawsets/Render.d.ts +17 -0
  43. package/rawsets/Render.js +2 -0
  44. package/utils/location/LocationUtils.js +7 -1
package/DomRender.d.ts CHANGED
@@ -1,6 +1,6 @@
1
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
5
  static run<T extends object>(obj: T, target?: Node | null, oConfig?: Omit<Config, 'window'>): T;
6
6
  static createComponent(param: {
package/DomRender.js CHANGED
@@ -14,7 +14,7 @@ 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() {
@@ -1,4 +1,4 @@
1
- import { RawSet } from './RawSet';
1
+ import { RawSet } from './rawsets/RawSet';
2
2
  import { Config } from './configs/Config';
3
3
  export declare class DomRenderProxy<T extends object> implements ProxyHandler<T> {
4
4
  _domRender_origin: T;
package/DomRenderProxy.js CHANGED
@@ -1,10 +1,20 @@
1
1
  "use strict";
2
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
+ if (ar || !(i in from)) {
5
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
+ ar[i] = from[i];
7
+ }
8
+ }
9
+ return to.concat(ar || Array.prototype.slice.call(from));
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.DomRenderProxy = void 0;
4
- var RawSet_1 = require("./RawSet");
13
+ var RawSet_1 = require("./rawsets/RawSet");
5
14
  var EventManager_1 = require("./events/EventManager");
6
15
  var ScriptUtils_1 = require("./utils/script/ScriptUtils");
7
16
  var Types_1 = require("./types/Types");
17
+ var RawSetType_1 = require("./rawsets/RawSetType");
8
18
  var excludeGetSetPropertys = ['onBeforeReturnGet', 'onBeforeReturnSet', '__domrender_components', '__render', '_DomRender_isFinal', '_domRender_ref', '_rawSets', '_domRender_proxy', '_targets', '_DomRender_origin', '_DomRender_ref', '_DomRender_proxy'];
9
19
  var DomRenderProxy = /** @class */ (function () {
10
20
  function DomRenderProxy(_domRender_origin, target, config) {
@@ -55,13 +65,16 @@ var DomRenderProxy = /** @class */ (function () {
55
65
  };
56
66
  DomRenderProxy.prototype.initRender = function (target) {
57
67
  var _this = this;
58
- var _a, _b, _c, _d, _e, _f, _g;
59
- var onCreate = (_b = (_a = target).getAttribute) === null || _b === void 0 ? void 0 : _b.call(_a, "".concat(EventManager_1.EventManager.attrPrefix, "on-create"));
60
- var createParam;
68
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
69
+ var onCreate = (_b = (_a = target).getAttribute) === null || _b === void 0 ? void 0 : _b.call(_a, RawSet_1.RawSet.DR_ON_CREATE_ARGUMENTS_OPTIONNAME);
70
+ var createParam = [];
61
71
  if (onCreate) {
62
72
  createParam = ScriptUtils_1.ScriptUtils.evalReturn(onCreate, this._domRender_proxy);
73
+ if (!Array.isArray(createParam)) {
74
+ createParam = [createParam];
75
+ }
63
76
  }
64
- (_d = (_c = this._domRender_proxy) === null || _c === void 0 ? void 0 : _c.onCreateRender) === null || _d === void 0 ? void 0 : _d.call(_c, createParam);
77
+ (_d = (_c = this._domRender_proxy) === null || _c === void 0 ? void 0 : _c.onCreateRender) === null || _d === void 0 ? void 0 : _d.call.apply(_d, __spreadArray([_c], createParam, false));
65
78
  var innerHTML = (_e = target.innerHTML) !== null && _e !== void 0 ? _e : '';
66
79
  this._targets.add(target);
67
80
  var rawSets = RawSet_1.RawSet.checkPointCreates(target, this._domRender_proxy, this.config);
@@ -80,13 +93,21 @@ var DomRenderProxy = /** @class */ (function () {
80
93
  }
81
94
  });
82
95
  this.render(this.getRawSets());
83
- var render = { target: target };
84
- var creatorMetaData = {
85
- creator: this._domRender_proxy,
86
- rootCreator: this._domRender_proxy,
87
- innerHTML: innerHTML
88
- };
89
- (_g = (_f = this._domRender_proxy) === null || _f === void 0 ? void 0 : _f.onInitRender) === null || _g === void 0 ? void 0 : _g.call(_f, { render: render, creatorMetaData: creatorMetaData });
96
+ // const render = {target} as Render;
97
+ // const creatorMetaData = {
98
+ // creator: this._domRender_proxy,
99
+ // rootCreator: this._domRender_proxy,
100
+ // innerHTML
101
+ // } as CreatorMetaData;
102
+ var onInit = (_g = (_f = target).getAttribute) === null || _g === void 0 ? void 0 : _g.call(_f, RawSet_1.RawSet.DR_ON_INIT_ARGUMENTS_OPTIONNAME);
103
+ var initParam = [];
104
+ if (onCreate) {
105
+ initParam = ScriptUtils_1.ScriptUtils.evalReturn(onCreate, this._domRender_proxy);
106
+ if (!Array.isArray(initParam)) {
107
+ initParam = [initParam];
108
+ }
109
+ }
110
+ (_j = (_h = this._domRender_proxy) === null || _h === void 0 ? void 0 : _h.onInitRender) === null || _j === void 0 ? void 0 : _j.call.apply(_j, __spreadArray([_h], initParam, false));
90
111
  };
91
112
  DomRenderProxy.prototype.getRawSets = function () {
92
113
  var set = new Set();
@@ -118,7 +139,7 @@ var DomRenderProxy = /** @class */ (function () {
118
139
  if ((_c = it.detect) === null || _c === void 0 ? void 0 : _c.action) {
119
140
  it.detect.action();
120
141
  }
121
- else if (it.type === RawSet_1.RawSetType.TARGET_ELEMENT && it.data && fullPathStr && targetAttrMap && it.fragment.render) {
142
+ else if (it.type === RawSetType_1.RawSetType.TARGET_ELEMENT && it.data && fullPathStr && targetAttrMap && it.fragment.render) {
122
143
  new Map(JSON.parse(targetAttrMap)).forEach(function (v, k) {
123
144
  // it?.data.onChangeAttrRender(k, null, v);
124
145
  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.86/dist/bundle.js"></script>
10
+ <script src="https://cdn.jsdelivr.net/npm/dom-render@1.0.90/dist/bundle.js"></script>
11
11
  ```
12
12
  ```html
13
13
  <!DOCTYPE html>
@@ -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();">
@@ -413,30 +415,58 @@ const data = DomRender.run(new Data(), document.querySelector('#app')!, config);
413
415
  ```
414
416
  ```html
415
417
  <header>
416
- <button dr-event-click="$router.go('/')">main</button>
417
- <button dr-event-click="$router.go('/second', {secondata: 555})">second</button>
418
- <button dr-event-click="$router.go('/detail/25?name=zzz')">detail</button>
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')"></page-second>
424
- <page-detail url='/detail/{id:[0-9]+}' dr-if="$router.test($attribute.url)" dr-on-create="$router.getRouteData($attribute.url)"></page-detail>
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-create:callback="$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
- name = 'Detail';
458
+ name = 'Detail';
434
459
 
435
- onCreateRender(routeData: RouteData) {
436
- console.log('routeData->', routeData);
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 = {
@@ -608,15 +638,18 @@ const data = config.scripts.concat('head', 'tail')
608
638
  <body id="app">
609
639
  ${this.name}$
610
640
  <h1>component</h1>
611
- <profile dr-on-component-init="$component.name='jhone'; $component.age=55;"><b>${#component#.details}$</b></profile>
612
- <profile dr-on-component-init="$component.name='cal'; $component.age=56;"><b>detail-2</b></profile>
613
- <profile dr-on-component-init="$component.name='rose'; $component.age=57;">
614
- <profile dr-on-component-init="$component.name='rose-sub'; $component.age=156;">
641
+ <profile dr-on-create:callback="$component.name='jhone'; $component.age=55;"><b>${#component#.details}$</b></profile>
642
+ <profile dr-on-create:callback="$component.name='cal'; $component.age=56;"><b>detail-2</b></profile>
643
+ <profile dr-on-create:callback="$component.name='rose'; $component.age=57;">
644
+ <profile dr-on-create:callback="$component.name='rose-sub'; $component.age=156;">
615
645
  <b>${this.name}$</b>
616
646
  </profile>
617
647
  </profile>
618
648
  <h3>component data link and detect</h3>
619
- <Profile dr-if="this.toggle" dr-detect="$component.age = this.age" dr-on-component-init="$component.name='papa'; $component.age=58;">
649
+ <Profile dr-if="this.toggle" dr-detect="$component.age = this.age" dr-on-create:callback="$component.name='papa'; $component.age=58;">
650
+ <b>${this.name}$</b>
651
+ </Profile>
652
+ <Profile dr-if="this.toggle" dr-detect="$component.age = this.age" dr-on-constructor:arguments="[1,2]">
620
653
  <b>${this.name}$</b>
621
654
  </Profile>
622
655
 
@@ -624,8 +657,8 @@ ${this.name}$
624
657
  <button dr-event-click="this.age = Date.now();">change age</button>
625
658
  <button dr-event-click="this.toggle = !this.toggle;">change toggle</button>
626
659
 
627
- <j1>component constructor, on-create, dr-on-component-init</j1>
628
- <home dr-constructor="[this.name, this.age, 'home welcom']" dr-on-create="{type: 'onCreate', data: 'datadata'}" dr-on-component-init="$component.onInit('data')"></home>
660
+ <j1>component constructor, on-create, dr-on-create:callback</j1>
661
+ <home dr-constructor="[this.name, this.age, 'home welcom']" dr-on-create-arguments="{type: 'onCreate', data: 'datadata'}" dr-on-create:callback="$component.onInit('data')"></home>
629
662
 
630
663
 
631
664
 
@@ -682,7 +715,7 @@ const data = DomRender.run(new Data(), document.querySelector('#app')!, config);
682
715
  ```
683
716
  using component
684
717
  ```html
685
- <my-element dr-on-component-init="$component.say();"></my-element>
718
+ <my-element dr-on-create:callback="$component.say();"></my-element>
686
719
 
687
720
  <home value="${this.name}$" wow="${this.color}$">
688
721
  ${#component#.homeName}$
@@ -692,11 +725,15 @@ using component
692
725
  </home>
693
726
  ```
694
727
  - attribute
695
- - dr-on-component-init: component created init call script
728
+ - dr-on-create:callback: component created init callback script
729
+ - dr-on-create:arguments: component onCreatedRender arguments
730
+ - dr-on-init:arguments: component onInitRender arguments
731
+ - dr-on-constructor:arguments: component counstructor arguments
696
732
  - $component: component instance
697
733
  - $element: element instance
698
734
  - $attribute: element attribute object
699
735
  - $innerHTML: element innerHTML string
736
+ - $creatorMetaData: metaData
700
737
  - #component#: component instance
701
738
  - #innerHTML#: element innerHTML
702
739
  - dr-component-name: renaming component variable name (default: component)
@@ -3,5 +3,5 @@ export declare class ComponentSet {
3
3
  template?: string | undefined;
4
4
  styles?: string[] | undefined;
5
5
  styleLocale: boolean;
6
- constructor(obj: any, template?: string | undefined, styles?: string[] | undefined, styleLocale?: boolean);
6
+ constructor(obj: any);
7
7
  }
@@ -1,5 +1,5 @@
1
1
  import { ConstructorType } from '../types/Types';
2
- import { RawSet } from '../RawSet';
2
+ import { RawSet } from '../rawsets/RawSet';
3
3
  import { Router } from '../routers/Router';
4
4
  import { Messenger } from '../messenger/Messenger';
5
5
  import { TargetElement } from './TargetElement';
@@ -1,4 +1,4 @@
1
- import { RawSet } from '../RawSet';
1
+ import { RawSet } from '../rawsets/RawSet';
2
2
  export declare type TargetAttr = {
3
3
  name: string;
4
4
  callBack: (target: Element, attrValue: string, obj: any, rawSet: RawSet) => DocumentFragment;
@@ -1,5 +1,8 @@
1
- import { Attrs, CreatorMetaData, RawSet, Render } from '../RawSet';
1
+ import { RawSet } from '../rawsets/RawSet';
2
2
  import { Config } from './Config';
3
+ import { Attrs } from '../rawsets/Attrs';
4
+ import { CreatorMetaData } from '../rawsets/CreatorMetaData';
5
+ import { Render } from '../rawsets/Render';
3
6
  export declare type TargetElement = {
4
7
  name: string;
5
8
  template?: string;