@dooboostore/dom-render 1.0.109 → 1.0.110
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/dist/cjs/DomRenderProxy.js +122 -57
- package/dist/cjs/DomRenderProxy.js.map +2 -2
- package/dist/cjs/components/ComponentBase.js +4 -4
- package/dist/cjs/components/ComponentBase.js.map +2 -2
- package/dist/cjs/components/appender/Appender.js +0 -3
- package/dist/cjs/components/appender/Appender.js.map +2 -2
- package/dist/cjs/components/checkbox/CheckBox.js.map +2 -2
- package/dist/cjs/components/choose/Choose.js +3 -1
- package/dist/cjs/components/choose/Choose.js.map +2 -2
- package/dist/cjs/components/details/Details.js +2 -2
- package/dist/cjs/components/details/Details.js.map +2 -2
- package/dist/cjs/components/forOf/ForOf.js.map +2 -2
- package/dist/cjs/components/if/If.js +2 -2
- package/dist/cjs/components/if/If.js.map +2 -2
- package/dist/cjs/components/input/Input.js +2 -2
- package/dist/cjs/components/input/Input.js.map +2 -2
- package/dist/cjs/components/promise/PromiseSwitch.js +6 -6
- package/dist/cjs/components/promise/PromiseSwitch.js.map +2 -2
- package/dist/cjs/components/radio/Radio.js.map +2 -2
- package/dist/cjs/components/router/Route.js +2 -2
- package/dist/cjs/components/router/Route.js.map +2 -2
- package/dist/cjs/components/router/RouterOutlet.js +2 -2
- package/dist/cjs/components/router/RouterOutlet.js.map +2 -2
- package/dist/cjs/components/select/Select.js +6 -6
- package/dist/cjs/components/select/Select.js.map +2 -2
- package/dist/cjs/components/this/This.js +2 -2
- package/dist/cjs/components/this/This.js.map +2 -2
- package/dist/cjs/components/timer/Timer.js +2 -3
- package/dist/cjs/components/timer/Timer.js.map +2 -2
- package/dist/cjs/events/EventManager.js +9 -2
- package/dist/cjs/events/EventManager.js.map +2 -2
- package/dist/cjs/lifecycle/OnInitRender.js.map +1 -1
- package/dist/cjs/operators/DrForOf.js +24 -11
- package/dist/cjs/operators/DrForOf.js.map +2 -2
- package/dist/cjs/operators/DrIf.js +1 -2
- package/dist/cjs/operators/DrIf.js.map +2 -2
- package/dist/cjs/operators/DrInnerText.js +2 -2
- package/dist/cjs/operators/DrInnerText.js.map +2 -2
- package/dist/cjs/rawsets/RawSet.js +243 -46
- package/dist/cjs/rawsets/RawSet.js.map +3 -3
- package/dist/cjs/routers/PathRouter.js +13 -7
- package/dist/cjs/routers/PathRouter.js.map +2 -2
- package/dist/cjs/routers/Router.js +51 -27
- package/dist/cjs/routers/Router.js.map +2 -2
- package/dist/esm/DomRenderProxy.js +122 -57
- package/dist/esm/DomRenderProxy.js.map +2 -2
- package/dist/esm/components/ComponentBase.js +4 -4
- package/dist/esm/components/ComponentBase.js.map +2 -2
- package/dist/esm/components/appender/Appender.js +0 -3
- package/dist/esm/components/appender/Appender.js.map +2 -2
- package/dist/esm/components/checkbox/CheckBox.js.map +2 -2
- package/dist/esm/components/choose/Choose.js +3 -1
- package/dist/esm/components/choose/Choose.js.map +2 -2
- package/dist/esm/components/details/Details.js +2 -2
- package/dist/esm/components/details/Details.js.map +2 -2
- package/dist/esm/components/forOf/ForOf.js.map +2 -2
- package/dist/esm/components/if/If.js +2 -2
- package/dist/esm/components/if/If.js.map +2 -2
- package/dist/esm/components/input/Input.js +2 -2
- package/dist/esm/components/input/Input.js.map +2 -2
- package/dist/esm/components/promise/PromiseSwitch.js +6 -6
- package/dist/esm/components/promise/PromiseSwitch.js.map +2 -2
- package/dist/esm/components/radio/Radio.js.map +2 -2
- package/dist/esm/components/router/Route.js +2 -2
- package/dist/esm/components/router/Route.js.map +2 -2
- package/dist/esm/components/router/RouterOutlet.js +2 -2
- package/dist/esm/components/router/RouterOutlet.js.map +2 -2
- package/dist/esm/components/select/Select.js +6 -6
- package/dist/esm/components/select/Select.js.map +2 -2
- package/dist/esm/components/this/This.js +2 -2
- package/dist/esm/components/this/This.js.map +2 -2
- package/dist/esm/components/timer/Timer.js +2 -3
- package/dist/esm/components/timer/Timer.js.map +2 -2
- package/dist/esm/events/EventManager.js +9 -2
- package/dist/esm/events/EventManager.js.map +2 -2
- package/dist/esm/lifecycle/OnInitRender.js.map +1 -1
- package/dist/esm/operators/DrForOf.js +24 -11
- package/dist/esm/operators/DrForOf.js.map +2 -2
- package/dist/esm/operators/DrIf.js +1 -2
- package/dist/esm/operators/DrIf.js.map +2 -2
- package/dist/esm/operators/DrInnerText.js +2 -2
- package/dist/esm/operators/DrInnerText.js.map +2 -2
- package/dist/esm/rawsets/RawSet.js +243 -46
- package/dist/esm/rawsets/RawSet.js.map +3 -3
- package/dist/esm/routers/PathRouter.js +13 -7
- package/dist/esm/routers/PathRouter.js.map +2 -2
- package/dist/esm/routers/Router.js +51 -27
- package/dist/esm/routers/Router.js.map +2 -2
- package/dist/esm-bundle/dooboostore-dom-render.esm.js +1850 -319
- package/dist/esm-bundle/dooboostore-dom-render.esm.js.map +4 -4
- package/dist/types/DomRenderProxy.d.ts +2 -2
- package/dist/types/DomRenderProxy.d.ts.map +1 -1
- package/dist/types/components/ComponentBase.d.ts +1 -1
- package/dist/types/components/ComponentBase.d.ts.map +1 -1
- package/dist/types/components/appender/Appender.d.ts +0 -2
- package/dist/types/components/appender/Appender.d.ts.map +1 -1
- package/dist/types/components/checkbox/CheckBox.d.ts.map +1 -1
- package/dist/types/components/choose/Choose.d.ts.map +1 -1
- package/dist/types/components/details/Details.d.ts +1 -1
- package/dist/types/components/details/Details.d.ts.map +1 -1
- package/dist/types/components/forOf/ForOf.d.ts.map +1 -1
- package/dist/types/components/if/If.d.ts +1 -1
- package/dist/types/components/if/If.d.ts.map +1 -1
- package/dist/types/components/index.d.ts.map +1 -1
- package/dist/types/components/input/Input.d.ts +1 -1
- package/dist/types/components/input/Input.d.ts.map +1 -1
- package/dist/types/components/promise/PromiseSwitch.d.ts +1 -1
- package/dist/types/components/promise/PromiseSwitch.d.ts.map +1 -1
- package/dist/types/components/radio/Radio.d.ts.map +1 -1
- package/dist/types/components/router/Route.d.ts +1 -1
- package/dist/types/components/router/Route.d.ts.map +1 -1
- package/dist/types/components/router/RouterOutlet.d.ts +1 -1
- package/dist/types/components/router/RouterOutlet.d.ts.map +1 -1
- package/dist/types/components/select/Select.d.ts +3 -3
- package/dist/types/components/select/Select.d.ts.map +1 -1
- package/dist/types/components/this/This.d.ts +1 -1
- package/dist/types/components/this/This.d.ts.map +1 -1
- package/dist/types/components/timer/Timer.d.ts +1 -1
- package/dist/types/components/timer/Timer.d.ts.map +1 -1
- package/dist/types/events/EventManager.d.ts +8 -0
- package/dist/types/events/EventManager.d.ts.map +1 -1
- package/dist/types/index.d.ts +0 -101
- package/dist/types/lifecycle/OnInitRender.d.ts +1 -1
- package/dist/types/lifecycle/OnInitRender.d.ts.map +1 -1
- package/dist/types/operators/DrForOf.d.ts.map +1 -1
- package/dist/types/operators/DrInnerText.d.ts.map +1 -1
- package/dist/types/rawsets/RawSet.d.ts +6 -5
- package/dist/types/rawsets/RawSet.d.ts.map +1 -1
- package/dist/types/routers/PathRouter.d.ts.map +1 -1
- package/dist/types/routers/Router.d.ts +9 -11
- package/dist/types/routers/Router.d.ts.map +1 -1
- package/dist/umd-bundle/dooboostore-dom-render.umd.js +1850 -319
- package/dist/umd-bundle/dooboostore-dom-render.umd.js.map +4 -4
- package/package.json +7 -7
- package/src/DomRenderProxy.ts +258 -137
- package/src/components/ComponentBase.ts +4 -4
- package/src/components/appender/Appender.ts +0 -5
- package/src/components/checkbox/CheckBox.ts +22 -25
- package/src/components/choose/Choose.ts +16 -19
- package/src/components/details/Details.ts +40 -43
- package/src/components/forOf/ForOf.ts +6 -9
- package/src/components/if/If.ts +9 -11
- package/src/components/input/Input.ts +16 -22
- package/src/components/promise/PromiseSwitch.ts +67 -66
- package/src/components/radio/Radio.ts +23 -28
- package/src/components/router/Route.ts +10 -13
- package/src/components/router/RouterOutlet.ts +5 -4
- package/src/components/select/Select.ts +7 -7
- package/src/components/this/This.ts +13 -12
- package/src/components/timer/Timer.ts +12 -16
- package/src/events/EventManager.ts +15 -4
- package/src/lifecycle/OnInitRender.ts +1 -1
- package/src/node_modules/.bin/acorn +17 -0
- package/src/node_modules/.bin/browserslist +17 -0
- package/src/node_modules/.bin/eslint +17 -0
- package/src/node_modules/.bin/sbf +17 -0
- package/src/node_modules/.bin/ts-node +17 -0
- package/src/node_modules/.bin/ts-node-cwd +17 -0
- package/src/node_modules/.bin/ts-node-dev +17 -0
- package/src/node_modules/.bin/ts-node-esm +17 -0
- package/src/node_modules/.bin/ts-node-script +17 -0
- package/src/node_modules/.bin/ts-node-transpile-only +17 -0
- package/src/node_modules/.bin/ts-script +17 -0
- package/src/node_modules/.bin/tsc +17 -0
- package/src/node_modules/.bin/tsnd +17 -0
- package/src/node_modules/.bin/tsserver +17 -0
- package/src/node_modules/.bin/webpack +17 -0
- package/src/node_modules/.bin/webpack-cli +17 -0
- package/src/node_modules/.bin/webpack-dev-server +17 -0
- package/src/operators/DrForOf.ts +25 -10
- package/src/operators/DrIf.ts +1 -1
- package/src/operators/DrInnerText.ts +2 -1
- package/src/rawsets/RawSet.ts +387 -288
- package/src/routers/PathRouter.ts +14 -7
- package/src/routers/Router.ts +77 -48
- package/types.d.ts +0 -2873
|
@@ -6,7 +6,11 @@ export class PathRouter extends Router {
|
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
getSearchParams(data?:{delete?:string[], append?:[[string, string]]}): URLSearchParams {
|
|
9
|
-
|
|
9
|
+
if (!this.config.window.document?.location?.href) {
|
|
10
|
+
return new URLSearchParams();
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
const searchParams = (new URL(this.config.window.document.location?.href)).searchParams;
|
|
10
14
|
data?.delete?.forEach(it => {
|
|
11
15
|
searchParams.delete(it);
|
|
12
16
|
})
|
|
@@ -34,7 +38,7 @@ export class PathRouter extends Router {
|
|
|
34
38
|
pushDeleteHashSearchParam(name: string, data?: any, title?: string) {
|
|
35
39
|
const s = this.getHashSearchParams({delete: [name]});
|
|
36
40
|
const size = Array.from(s.entries()).length;
|
|
37
|
-
const href = `${this.config.window.location
|
|
41
|
+
const href = `${this.config.window.location?.pathname??'/'}${this.config.window.location?.search}${size > 0 ? '#' + s.toString() : ''}`;
|
|
38
42
|
super.pushState(data, title, href);
|
|
39
43
|
}
|
|
40
44
|
|
|
@@ -50,7 +54,7 @@ export class PathRouter extends Router {
|
|
|
50
54
|
replaceDeleteHashSearchParam(name: string | string[], data?: any, title?: string) {
|
|
51
55
|
const s = this.getHashSearchParams({delete: Array.isArray(name) ? name : [name]});
|
|
52
56
|
const size = Array.from(s.entries()).length;
|
|
53
|
-
const href = `${this.config.window.location
|
|
57
|
+
const href = `${this.config.window.location?.pathname??'/'}${this.config.window.location?.search}${size > 0 ? '#' + s.toString() : ''}`;
|
|
54
58
|
super.replaceState(data, title, href);
|
|
55
59
|
}
|
|
56
60
|
|
|
@@ -61,21 +65,24 @@ export class PathRouter extends Router {
|
|
|
61
65
|
|
|
62
66
|
|
|
63
67
|
getUrl(): string {
|
|
64
|
-
|
|
68
|
+
if (!this.config.window.document?.location?.href) {
|
|
69
|
+
return '/';
|
|
70
|
+
}
|
|
71
|
+
const url = new URL(this.config.window.document.location?.href);
|
|
65
72
|
return url.pathname + url.search;
|
|
66
73
|
}
|
|
67
74
|
|
|
68
75
|
getHref(): string {
|
|
69
|
-
return this.config.window.location
|
|
76
|
+
return this.config.window.location?.href??'/';
|
|
70
77
|
}
|
|
71
78
|
|
|
72
79
|
getPathName(): string {
|
|
73
|
-
return this.config.window.location
|
|
80
|
+
return this.config.window.location?.pathname??'/';
|
|
74
81
|
}
|
|
75
82
|
|
|
76
83
|
getHashSearchParams(data?:{delete?:string[], append?:[[string, string]]}): URLSearchParams {
|
|
77
84
|
// http://local.com/#wow=222&wow=bb&z=2
|
|
78
|
-
const searchParams = new URLSearchParams(this.config.window.location
|
|
85
|
+
const searchParams = new URLSearchParams(this.config.window.location?.hash.slice(1)??'');
|
|
79
86
|
|
|
80
87
|
data?.delete?.forEach(it => {
|
|
81
88
|
searchParams.delete(it);
|
package/src/routers/Router.ts
CHANGED
|
@@ -11,32 +11,22 @@ export type RouteData = {
|
|
|
11
11
|
searchParams: URLSearchParams;
|
|
12
12
|
pathData?: any;
|
|
13
13
|
router: Router;
|
|
14
|
-
currentTarget?:PopCurrentState;
|
|
15
14
|
}
|
|
16
|
-
|
|
17
|
-
export type
|
|
18
|
-
export const isPopStateCurrentTargetDomrenderRouter = (obj: any): obj is PopStateCurrentTargetDomrenderRouter =>
|
|
19
|
-
obj?.currentTargetName === 'domRenderRouter';
|
|
20
|
-
|
|
21
|
-
export type RouterConfig<T = any> = { rootObject?: T, window: Window, firstUrl?: string,
|
|
22
|
-
// changeStateConvertDate?:(data: any)=>any
|
|
23
|
-
};
|
|
15
|
+
|
|
16
|
+
export type RouterConfig<T = any> = { rootObject?: T, window: Window, firstUrl?: string};
|
|
24
17
|
export type ChangeStateResult = {data?: any}
|
|
25
18
|
export type RouteAction = string | { path?: string, searchParams?: ToURLSearchParamsParams };
|
|
26
19
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
console.log('popstate-------!!', event.state, this.domRenderConfig.window.history.state)
|
|
30
|
-
})
|
|
31
|
-
*/
|
|
20
|
+
type RouterEventType = RouteData & { triggerPoint: 'start' | 'end' };
|
|
21
|
+
|
|
32
22
|
export abstract class Router<T = any> {
|
|
33
|
-
private behaviorSubject: BehaviorSubject<
|
|
23
|
+
private behaviorSubject: BehaviorSubject<RouterEventType>;
|
|
34
24
|
private _config: RouterConfig<T>;
|
|
35
25
|
|
|
36
26
|
constructor(config: RouterConfig<any>) {
|
|
37
27
|
this._config = config;
|
|
38
28
|
|
|
39
|
-
let routeData:
|
|
29
|
+
let routeData: RouterEventType;
|
|
40
30
|
if (config?.firstUrl) {
|
|
41
31
|
const path = config.firstUrl.split('?');
|
|
42
32
|
routeData = {
|
|
@@ -44,25 +34,26 @@ export abstract class Router<T = any> {
|
|
|
44
34
|
path: path[0],
|
|
45
35
|
searchParams: new URLSearchParams(path[1]??''),
|
|
46
36
|
router: this,
|
|
37
|
+
triggerPoint: 'end'
|
|
47
38
|
}
|
|
48
|
-
this.behaviorSubject = new BehaviorSubject<
|
|
39
|
+
this.behaviorSubject = new BehaviorSubject<RouterEventType>(routeData);
|
|
49
40
|
this.go(config.firstUrl);
|
|
50
41
|
} else {
|
|
51
|
-
routeData = this.getRouteData();
|
|
52
|
-
this.behaviorSubject = new BehaviorSubject<
|
|
42
|
+
routeData = {...this.getRouteData(), triggerPoint: 'end'};
|
|
43
|
+
this.behaviorSubject = new BehaviorSubject<RouterEventType>(routeData);
|
|
53
44
|
}
|
|
54
45
|
this.config.window.addEventListener('popstate', (event: PopStateEvent) => {
|
|
55
46
|
// domrender에서 발생하지 않은 즉 back, previous 일떄에도 이벤트가도록 처리
|
|
56
|
-
if(!isPopStateCurrentTargetDomrenderRouter(event.state)) {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
47
|
+
// if(!isPopStateCurrentTargetDomrenderRouter(event.state)) {
|
|
48
|
+
// console.log('-------');
|
|
49
|
+
const routeData: RouterEventType = {...this.getRouteData(), triggerPoint: 'end'};
|
|
50
|
+
this.behaviorSubject.next(routeData);
|
|
51
|
+
// }
|
|
61
52
|
})
|
|
62
53
|
}
|
|
63
54
|
|
|
64
55
|
|
|
65
|
-
get observable(): Observable<
|
|
56
|
+
get observable(): Observable<RouterEventType> {
|
|
66
57
|
return this.behaviorSubject.asObservable();
|
|
67
58
|
}
|
|
68
59
|
|
|
@@ -108,10 +99,32 @@ export abstract class Router<T = any> {
|
|
|
108
99
|
}
|
|
109
100
|
}
|
|
110
101
|
|
|
111
|
-
getRouteData(config?: {
|
|
102
|
+
getRouteData(config?: {pathOrUrl?: string, urlExpression?: string}): RouteData {
|
|
103
|
+
|
|
104
|
+
let path = '';
|
|
105
|
+
let url ='';
|
|
106
|
+
if (config?.pathOrUrl) {
|
|
107
|
+
let isUrl = false;
|
|
108
|
+
try {
|
|
109
|
+
new URL(config.pathOrUrl);
|
|
110
|
+
isUrl = true;
|
|
111
|
+
} catch {
|
|
112
|
+
isUrl = false;
|
|
113
|
+
}
|
|
114
|
+
if(isUrl){
|
|
115
|
+
const u = new URL(config.pathOrUrl);
|
|
116
|
+
path = u.pathname;
|
|
117
|
+
url = u.pathname + u.search;
|
|
118
|
+
} else {
|
|
119
|
+
path = config.pathOrUrl.split('?')[0];
|
|
120
|
+
}
|
|
121
|
+
} else {
|
|
122
|
+
path = this.getPathName();
|
|
123
|
+
url = this.getUrl();
|
|
124
|
+
}
|
|
112
125
|
const newVar = {
|
|
113
|
-
path:
|
|
114
|
-
url:
|
|
126
|
+
path: path,
|
|
127
|
+
url: url,
|
|
115
128
|
searchParams: this.getSearchParams()
|
|
116
129
|
} as RouteData;
|
|
117
130
|
|
|
@@ -126,43 +139,58 @@ export abstract class Router<T = any> {
|
|
|
126
139
|
}
|
|
127
140
|
}
|
|
128
141
|
newVar.router = this;
|
|
129
|
-
newVar.currentTarget = config?.currentTarget;
|
|
142
|
+
// newVar.currentTarget = config?.currentTarget;
|
|
130
143
|
return Object.freeze(newVar);
|
|
131
144
|
}
|
|
132
145
|
|
|
133
146
|
pushState(data: any, title: string | undefined, path: string):ChangeStateResult {
|
|
134
147
|
// data = this.config.changeStateConvertDate?this.config.changeStateConvertDate(data): data;
|
|
135
148
|
// console.log('--->pushState', data);
|
|
136
|
-
this.
|
|
137
|
-
this.
|
|
149
|
+
this.behaviorSubject.next({ ...this.getRouteData({pathOrUrl:path}), triggerPoint: 'start' });
|
|
150
|
+
this.config.window.history?.pushState(data, title ?? '', path);
|
|
151
|
+
this.behaviorSubject.next({ ...this.getRouteData({pathOrUrl:path}), triggerPoint: 'end' });
|
|
138
152
|
return {data};
|
|
139
153
|
}
|
|
140
154
|
|
|
141
155
|
replaceState(data: any, title: string | undefined, path: string):ChangeStateResult {
|
|
142
156
|
// data = this.config.changeStateConvertDate?this.config.changeStateConvertDate(data): data;
|
|
143
157
|
// console.log('--->replaceState', data);
|
|
144
|
-
this.
|
|
145
|
-
this.
|
|
158
|
+
this.behaviorSubject.next({ ...this.getRouteData({pathOrUrl:path}), triggerPoint: 'start' });
|
|
159
|
+
this.config.window.history?.replaceState(data, title ?? '', path);
|
|
160
|
+
this.behaviorSubject.next({ ...this.getRouteData({pathOrUrl:path}), triggerPoint: 'end' });
|
|
146
161
|
return {data};
|
|
147
162
|
}
|
|
148
163
|
|
|
149
|
-
|
|
150
|
-
this.config.window.
|
|
164
|
+
getData(): any {
|
|
165
|
+
return this.config.window.history?.state;
|
|
151
166
|
}
|
|
152
167
|
|
|
153
|
-
|
|
154
|
-
|
|
168
|
+
getPathData(urlExpression: string, currentUrl = this.getPathName()): any {
|
|
169
|
+
return Expression.Path.pathNameData(currentUrl, urlExpression);
|
|
155
170
|
}
|
|
156
171
|
|
|
157
|
-
|
|
158
|
-
|
|
172
|
+
back(): void {
|
|
173
|
+
this.behaviorSubject.next({...this.getRouteData(),triggerPoint:'start'});
|
|
174
|
+
this.config.window.history.back();
|
|
175
|
+
//en부분은 constructo의 this.config.window.addEventListener('popstate' 에서 받아서 처리된다 호출된다.
|
|
159
176
|
}
|
|
160
177
|
|
|
161
|
-
|
|
162
|
-
|
|
178
|
+
forward(): void {
|
|
179
|
+
this.behaviorSubject.next({...this.getRouteData(),triggerPoint:'start'});
|
|
180
|
+
this.config.window.history?.forward();
|
|
181
|
+
//end부분은 constructor의 this.config.window.addEventListener('popstate' 에서 받아서 처리된다 호출된다.
|
|
163
182
|
}
|
|
164
183
|
|
|
165
|
-
|
|
184
|
+
go(i: number): void;
|
|
185
|
+
async go(config: string | { path: RouteAction, data?: any, replace?: boolean, title?: string, scrollToTop?: boolean } | string): Promise<void> ;
|
|
186
|
+
go(config: number | string | { path: RouteAction, data?: any, replace?: boolean, title?: string, scrollToTop?: boolean } | string): Promise<void> | void {
|
|
187
|
+
if (typeof config === 'number') {
|
|
188
|
+
this.behaviorSubject.next({...this.getRouteData(),triggerPoint:'start'});
|
|
189
|
+
this.config.window.history?.go(config);
|
|
190
|
+
//end부분은 constructor의 this.config.window.addEventListener('popstate' 에서 받아서 처리된다 호출된다.
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
|
|
166
194
|
if (typeof config === 'string') {
|
|
167
195
|
config = { path: config };
|
|
168
196
|
}
|
|
@@ -176,21 +204,22 @@ export abstract class Router<T = any> {
|
|
|
176
204
|
// if (!this.config.disableAttach) {
|
|
177
205
|
// await this.attach();
|
|
178
206
|
// }
|
|
179
|
-
|
|
207
|
+
|
|
180
208
|
// 스크롤 제어 (기본값: true - 맨 위로 스크롤)
|
|
181
209
|
if (config.scrollToTop !== false) {
|
|
182
210
|
try {
|
|
183
|
-
|
|
211
|
+
this._config.window?.scrollTo?.(0, 0);
|
|
184
212
|
}catch (e){}
|
|
185
213
|
}
|
|
186
|
-
|
|
214
|
+
|
|
187
215
|
// console.log('----------', data, config)
|
|
188
|
-
if (!config.disabledPopEvent) {
|
|
189
|
-
|
|
190
|
-
}
|
|
216
|
+
// if (!config.disabledPopEvent) {
|
|
217
|
+
// this.dispatchPopStateEvent(config?.data);
|
|
218
|
+
// }
|
|
191
219
|
}
|
|
192
220
|
|
|
193
221
|
toUrl(data: RouteAction) {
|
|
222
|
+
console.log('toUrl', data);
|
|
194
223
|
let targetPath: string;
|
|
195
224
|
if (typeof data === 'string') {
|
|
196
225
|
targetPath = data;
|