@pihanga2/core 0.3.3 → 0.3.5

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/router.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { DispatchF, PathQuery, PiReducer, ReduceF, ReduxAction, ReduxState, Route } from './types';
2
- import { PiRegister } from '.';
1
+ import { DispatchF, PathQuery, PiReducer, ReduceF, ReduxAction, ReduxState, Route } from "./types";
2
+ import { PiRegister } from ".";
3
3
  export declare const browserHistory: import("history").BrowserHistory;
4
4
  export declare const ACTION_TYPES: {
5
5
  SHOW_PAGE: string;
@@ -10,16 +10,22 @@ export type ShowPageEvent = {
10
10
  query?: PathQuery;
11
11
  fromBrowser?: boolean;
12
12
  };
13
- export declare const onShowPage: <S extends ReduxState>(register: PiRegister, f: ReduceF<S, ReduxAction & ShowPageEvent>) => void;
13
+ export declare const onShowPage: <S extends ReduxState>(register: PiRegister, f: ReduceF<S, ReduxAction & {
14
+ cardID: string;
15
+ } & ShowPageEvent>) => void;
14
16
  export declare const showPage: (dispatch: DispatchF, path: string[], query?: PathQuery) => void;
15
17
  export declare const createShowPageAction: (path: string[], query?: PathQuery) => ReduxAction & ShowPageEvent;
16
18
  export type NavigateToPageEvent = {
17
19
  url: string;
18
20
  fromBrowser: boolean;
19
21
  };
20
- export declare const onNavigateToPage: <S extends ReduxState>(register: PiRegister, f: ReduceF<S, ReduxAction & NavigateToPageEvent>) => void;
22
+ export declare const onNavigateToPage: <S extends ReduxState>(register: PiRegister, f: ReduceF<S, ReduxAction & {
23
+ cardID: string;
24
+ } & NavigateToPageEvent>) => void;
21
25
  export declare const ON_INIT_ACTION = "pi/start";
22
- export declare const onInit: <S extends ReduxState>(register: PiRegister, f: ReduceF<S, ReduxAction>) => void;
26
+ export declare const onInit: <S extends ReduxState>(register: PiRegister, f: ReduceF<S, ReduxAction & {
27
+ cardID: string;
28
+ }>) => void;
23
29
  export declare function currentRoute(pathPrefix?: string): Route;
24
30
  export declare function init(reducer: PiReducer, pathPrefix?: string): Route;
25
31
  //# sourceMappingURL=router.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACnG,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC;AAG/B,eAAO,MAAM,cAAc,kCAAyB,CAAC;AASrD,eAAO,MAAM,YAAY;;;CAAkE,CAAC;AAE5F,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,CAAA;AACD,eAAO,MAAM,UAAU,GA4I0B,CAAC,SAAS,UAAU,YACzD,UAAU,iDAEjB,IAAI,AA/IsE,CAAA;AAE/E,eAAO,MAAM,QAAQ,aAAc,SAAS,QAAQ,MAAM,EAAE,UAAU,SAAS,SAE9E,CAAA;AAED,eAAO,MAAM,oBAAoB,SAAU,MAAM,EAAE,UAAU,SAAS,KAAG,WAAW,GAAG,aAGrF,CAAA;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,EAAE,OAAO,CAAA;CACrB,CAAA;AACD,eAAO,MAAM,gBAAgB,GA6HoB,CAAC,SAAS,UAAU,YACzD,UAAU,uDAEjB,IAAI,AAhIyF,CAAA;AAElG,eAAO,MAAM,cAAc,aAAa,CAAA;AACxC,eAAO,MAAM,MAAM,GA0H8B,CAAC,SAAS,UAAU,YACzD,UAAU,iCAEjB,IAAI,AA7H+C,CAAA;AAExD,wBAAgB,YAAY,CAAC,UAAU,SAAK,GAAG,KAAK,CAMnD;AAED,wBAAgB,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,SAAK,GAAG,KAAK,CAiE/D"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,SAAS,EACT,SAAS,EACT,SAAS,EACT,OAAO,EACP,WAAW,EACX,UAAU,EACV,KAAK,EACN,MAAM,SAAS,CAAC;AACjB,OAAO,EAAC,UAAU,EAAC,MAAM,GAAG,CAAC;AAG7B,eAAO,MAAM,cAAc,kCAAyB,CAAC;AASrD,eAAO,MAAM,YAAY;;;CAGvB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AACF,eAAO,MAAM,UAAU;;2BAAwD,CAAC;AAEhF,eAAO,MAAM,QAAQ,aACT,SAAS,QACb,MAAM,EAAE,UACN,SAAS,SAGlB,CAAC;AAEF,eAAO,MAAM,oBAAoB,SACzB,MAAM,EAAE,UACN,SAAS,KAChB,WAAW,GAAG,aAKf,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AACF,eAAO,MAAM,gBAAgB;;iCAE5B,CAAC;AAEF,eAAO,MAAM,cAAc,aAAa,CAAC;AACzC,eAAO,MAAM,MAAM;;WAAqC,CAAC;AAEzD,wBAAgB,YAAY,CAAC,UAAU,SAAK,GAAG,KAAK,CAKnD;AAED,wBAAgB,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,SAAK,GAAG,KAAK,CA4E/D"}
package/dist/router.js CHANGED
@@ -1,6 +1,7 @@
1
- import { createBrowserHistory } from 'history';
2
- import { getLogger } from './logger';
3
- import { registerActions } from './redux';
1
+ import { createBrowserHistory } from "history";
2
+ import { getLogger } from "./logger";
3
+ import { createOnAction, registerActions } from "./redux";
4
+ import { DEF_REDUCER_PRIORITY, } from "./types";
4
5
  const logger = getLogger("router");
5
6
  export const browserHistory = createBrowserHistory();
6
7
  // type Route = {
@@ -9,33 +10,38 @@ export const browserHistory = createBrowserHistory();
9
10
  // url: string
10
11
  // fromBrowser?: boolean
11
12
  // }
12
- export const ACTION_TYPES = registerActions('pi/router', ['show_page', 'navigate_to_page']);
13
+ export const ACTION_TYPES = registerActions("pi/router", [
14
+ "show_page",
15
+ "navigate_to_page",
16
+ ]);
13
17
  export const onShowPage = createOnAction(ACTION_TYPES.SHOW_PAGE);
14
18
  export const showPage = (dispatch, path, query) => {
15
19
  dispatch(createShowPageAction(path, query));
16
20
  };
17
21
  export const createShowPageAction = (path, query) => ({
18
22
  type: ACTION_TYPES.SHOW_PAGE,
19
- path, query, fromBrowser: false
23
+ path,
24
+ query,
25
+ fromBrowser: false,
20
26
  });
21
27
  export const onNavigateToPage = createOnAction(ACTION_TYPES.NAVIGATE_TO_PAGE);
22
28
  export const ON_INIT_ACTION = "pi/start";
23
29
  export const onInit = createOnAction(ON_INIT_ACTION);
24
- export function currentRoute(pathPrefix = '') {
30
+ export function currentRoute(pathPrefix = "") {
25
31
  const f = route_functions(pathPrefix);
26
32
  const r2 = f.url2route(window.location.href);
27
33
  const r = f.location2route(browserHistory.location);
28
34
  return r;
29
35
  }
30
- export function init(reducer, pathPrefix = '') {
36
+ export function init(reducer, pathPrefix = "") {
31
37
  let workingURL;
32
38
  const f = route_functions(pathPrefix);
33
39
  browserHistory.listen(({ action, location }) => {
34
40
  // location is an object like window.location
35
41
  const { url } = f.location2route(location);
36
42
  if (workingURL !== url) {
37
- logger.info('browser history:', url, action);
38
- setTimeout(() => navigateToPage(url, action === 'POP'));
43
+ logger.info("browser history:", url, action);
44
+ setTimeout(() => navigateToPage(url, action === "POP"));
39
45
  }
40
46
  });
41
47
  function browserPath() {
@@ -60,7 +66,7 @@ export function init(reducer, pathPrefix = '') {
60
66
  ...r,
61
67
  });
62
68
  return state;
63
- });
69
+ }, DEF_REDUCER_PRIORITY, "@builtin:router:NAVIGATE_TO_PAGE");
64
70
  reducer.register(ACTION_TYPES.SHOW_PAGE, (state, { path, query = {}, fromBrowser = false }) => {
65
71
  const route = f.pathl2route(path, query);
66
72
  workingURL = route.url;
@@ -75,17 +81,16 @@ export function init(reducer, pathPrefix = '') {
75
81
  fromBrowser,
76
82
  };
77
83
  return state;
78
- });
79
- reducer.register('@@INIT', (state) => {
84
+ }, DEF_REDUCER_PRIORITY, "@builtin:router:SHOW_PAGE");
85
+ reducer.register("@@INIT", (state) => {
80
86
  const url = browserPath().url;
81
87
  logger.info(`Request navigation to '${url}'`);
82
88
  setTimeout(() => navigateToPage(url, true));
83
89
  return state;
84
- });
90
+ }, DEF_REDUCER_PRIORITY, "@builtin:router:@@INIT");
85
91
  return f.location2route(browserHistory.location);
86
92
  }
87
- ;
88
- function route_functions(pathPrefix = '') {
93
+ function route_functions(pathPrefix = "") {
89
94
  const location2route = (location) => {
90
95
  const [p, s] = [location.pathname, location.search];
91
96
  const url = s ? `${p}${s}` : p;
@@ -93,34 +98,39 @@ function route_functions(pathPrefix = '') {
93
98
  };
94
99
  const url2route = (url) => {
95
100
  const [pn, search] = url.split("?");
96
- const path = pn.substring(pathPrefix.length).split('/').filter(s => s !== '');
101
+ const path = pn
102
+ .substring(pathPrefix.length)
103
+ .split("/")
104
+ .filter((s) => s !== "");
97
105
  const query = {};
98
106
  const s = search;
99
107
  if (s && s.length > 0) {
100
- s.split('&').forEach((el) => {
101
- const [k, v] = el.split('=');
108
+ s.split("&").forEach((el) => {
109
+ const [k, v] = el.split("=");
102
110
  query[decodeURI(k)] = v ? decodeURI(v) : true;
103
111
  });
104
112
  }
105
113
  return { url, path, query };
106
114
  };
107
115
  const pathl2route = (path, query) => {
108
- let url = `${pathPrefix}/${path.join('/')}`;
116
+ let url = `${pathPrefix}/${path.join("/")}`;
109
117
  if (query) {
110
118
  const qa = Object.entries(query);
111
119
  if (qa.length > 0) {
112
- const s = qa.map(([k, v]) => {
120
+ const s = qa
121
+ .map(([k, v]) => {
113
122
  const n = encodeURI(k);
114
- if (typeof v === 'boolean') {
123
+ if (typeof v === "boolean") {
115
124
  return n;
116
125
  }
117
- else if (typeof v === 'number') {
126
+ else if (typeof v === "number") {
118
127
  return `${n}=${v}`;
119
128
  }
120
129
  else {
121
130
  return `${n}=${encodeURI(v)}`;
122
131
  }
123
- }).join('&');
132
+ })
133
+ .join("&");
124
134
  url = `${url}?${s}`;
125
135
  }
126
136
  }
@@ -128,9 +138,4 @@ function route_functions(pathPrefix = '') {
128
138
  };
129
139
  return { location2route, url2route, pathl2route };
130
140
  }
131
- function createOnAction(actionType) {
132
- return (register, f) => {
133
- register.reducer.register(actionType, f);
134
- };
135
- }
136
141
  //# sourceMappingURL=router.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"root":["../src/card.tsx","../src/index.ts","../src/logger.ts","../src/reducer.ts","../src/redux.ts","../src/register_cards.ts","../src/root.tsx","../src/router.ts","../src/store.ts","../src/types.ts","../src/rest/delete.ts","../src/rest/enums.ts","../src/rest/get.ts","../src/rest/index.ts","../src/rest/postputpatch.ts","../src/rest/types.ts","../src/rest/utils.ts"],"version":"5.7.2"}
1
+ {"root":["../src/card.tsx","../src/index.ts","../src/logger.ts","../src/reducer.ts","../src/redux.ts","../src/register.ts","../src/register_cards.ts","../src/root.tsx","../src/router.ts","../src/store.ts","../src/types.ts","../src/rest/delete.ts","../src/rest/enums.ts","../src/rest/get.ts","../src/rest/index.ts","../src/rest/postputpatch.ts","../src/rest/types.ts","../src/rest/utils.ts"],"version":"5.7.2"}
package/dist/types.d.ts CHANGED
@@ -35,8 +35,9 @@ export interface PiReducer {
35
35
  dispatch: DispatchF;
36
36
  dispatchFromReducer: DispatchF;
37
37
  }
38
+ export declare const DEF_REDUCER_PRIORITY = 0;
38
39
  export type PiRegisterReducerF = <S extends ReduxState, A extends ReduxAction>(eventType: string, mapper: ReduceF<S, A>, // (state: S, action: A, dispatch: DispatchF) => S,
39
- priority?: number, key?: string) => PiReducerCancelF;
40
+ priority?: number, key?: string, targetMapper?: ReduceF<S, A>) => PiReducerCancelF;
40
41
  export type PiReducerCancelF = () => void;
41
42
  export type PiRegisterOneShotReducerF = <S extends ReduxState, A extends ReduxAction>(eventType: string, mapper: ReduceOnceF<S, A>, priority?: number) => void;
42
43
  export type PiDefCtxtProps = {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -1,2 +1,2 @@
1
- export {};
1
+ export const DEF_REDUCER_PRIORITY = 0;
2
2
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAkDA,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pihanga2/core",
3
- "version": "0.3.3",
3
+ "version": "0.3.5",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -71,4 +71,4 @@
71
71
  "vite-plugin-progress": "^0.0.7",
72
72
  "vitest": "^0.34.6"
73
73
  }
74
- }
74
+ }
package/src/card.tsx CHANGED
@@ -71,13 +71,19 @@ export function Card(props: CardProp): JSX.Element {
71
71
 
72
72
  export function usePiReducer<S extends ReduxState, A extends ReduxAction>(
73
73
  eventType: string,
74
- mapper: ReduceF<S, A> // (state: S, action: A, dispatch: DispatchF) => S,
74
+ mapper: ReduceF<S, A>, // (state: S, action: A, dispatch: DispatchF) => S,
75
+ cardName: string
75
76
  ) {
76
77
  const store = useStore();
77
- const id = useId();
78
+ let key: string;
79
+ if (cardName !== "") {
80
+ key = `inside card '${cardName}'`;
81
+ } else {
82
+ key = useId();
83
+ }
78
84
  useEffect(() => {
79
85
  const r = (store as any).piReducer as PiReducer;
80
- return r.register(eventType, mapper, 0, id);
86
+ return r.register(eventType, mapper, 0, key);
81
87
  });
82
88
  }
83
89
 
@@ -184,14 +190,17 @@ function getCardProps(
184
190
  props: CardProp
185
191
  ): CompProps {
186
192
  const mapping = cardMappings[cardName];
193
+ // fetch all the usage specific props in 'rest' and pass them down
194
+ const {cardName: _n, cardKey, parentCard: _p, children: _c, ...rest} = props;
187
195
  const ctxt: StateMapperContext<unknown> = {
188
196
  cardName,
189
- cardKey: props.cardKey,
197
+ cardKey,
190
198
  ctxtProps: props,
191
199
  };
192
200
  const init: CompProps = {
193
201
  cardName,
194
- cardKey: props.cardKey,
202
+ cardKey,
203
+ ...rest,
195
204
  };
196
205
  const cprops = Object.entries(mapping.props).reduce((p, [key, vf]) => {
197
206
  let v = vf;
@@ -306,7 +315,7 @@ type CardState = {
306
315
  dispatch: Dispatch<Action>
307
316
  ) => void;
308
317
  changed: (cardName: string, isUnchanged: boolean, props: CompProps) => void;
309
- reducer: (state: ReduxState, action: Action) => ReduxState;
318
+ reducer: ReduceF<ReduxState, Action>;
310
319
  };
311
320
 
312
321
  export const RegisterCardState = createCardState();
@@ -376,7 +385,7 @@ function createCardState(): CardState {
376
385
  resetTimer();
377
386
  }
378
387
  };
379
- const reducer = (state: ReduxState): ReduxState => {
388
+ const reducer = (state: ReduxState) => {
380
389
  const pi = Object.values(s)
381
390
  .filter((s) => s.reportedAt > lastReport)
382
391
  .reduce((p, s) => {
@@ -392,9 +401,8 @@ function createCardState(): CardState {
392
401
  p[name] = props;
393
402
  return p;
394
403
  }, {} as {[k: string]: any});
395
- state.pihanga = pi;
404
+ (state.pihanga ??= {}).cards = pi;
396
405
  lastReport = Date.now();
397
- return state;
398
406
  };
399
407
  return {props, changed, reducer};
400
408
  }
package/src/index.ts CHANGED
@@ -17,8 +17,8 @@ import {
17
17
  } from "./types";
18
18
  import {
19
19
  createCardDeclaration,
20
- registerCard,
21
- registerCardComponent,
20
+ addCard,
21
+ addCardComponent,
22
22
  registerMetacard,
23
23
  updateOrRegisterCard,
24
24
  } from "./register_cards";
@@ -121,6 +121,73 @@ export interface PiRegister {
121
121
  reducer: PiReducer;
122
122
  }
123
123
 
124
+ type RegisterCbk = (register: PiRegister) => void;
125
+
126
+ // These remain private and shared across all imports
127
+ let registerF: PiRegister | null = null;
128
+ let pendingRegistrations: RegisterCbk[] = [];
129
+
130
+ function setRegisterF<T>(f: PiRegister): void {
131
+ registerF = f;
132
+
133
+ // Flush buffer
134
+ while (pendingRegistrations.length > 0) {
135
+ const cbk = pendingRegistrations.shift();
136
+ if (cbk) {
137
+ cbk(registerF);
138
+ }
139
+ }
140
+ }
141
+
142
+ // Register a callback which allows for eventual
143
+ // registration when the Pihanga environment is setup
144
+ //
145
+ // Usage:
146
+ //
147
+ // import {register} from "@pihanga2/core";
148
+ // register((register: PiRegister) => {
149
+ // register.foo(..)
150
+ // });
151
+ //
152
+ export function register(cbk: RegisterCbk): void {
153
+ if (registerF) {
154
+ cbk(registerF);
155
+ } else {
156
+ pendingRegistrations.push(cbk);
157
+ }
158
+ }
159
+
160
+ // Added: Helper to clear the buffer if needed
161
+ export function clearPendingRegistration(): void {
162
+ pendingRegistrations = [];
163
+ }
164
+
165
+ // Register a card component
166
+ //
167
+ // Usage:
168
+ //
169
+ // import {registerCardComponent} from "@pihanga2/core";
170
+ // registerCardComponent({
171
+ // name: JSON_VIEWER_CARD,
172
+ // component: ImageViewerComponent,
173
+ // events: actionTypesToEvents(JSON_VIEWER_ACTION),
174
+ // })
175
+ //
176
+ export function registerCardComponent(declaration: PiRegisterComponent) {
177
+ register((r: PiRegister) => r.cardComponent(declaration));
178
+ }
179
+
180
+ // Register a card
181
+ //
182
+ // Usage:
183
+ //
184
+ // import {registerCard} from "@pihanga2/core";
185
+ // registerCard("page/main"", FlexGrid({...}))
186
+ //
187
+ export function registerCard(name: string, parameters: PiCardDef) {
188
+ register((r: PiRegister) => r.card(name, parameters));
189
+ }
190
+
124
191
  export const DEFAULT_REDUX_STATE = {
125
192
  route: {path: [], query: {}, url: "", fromBrowser: false},
126
193
  pihanga: {},
@@ -189,7 +256,7 @@ export function start<S extends Partial<ReduxState>>(
189
256
 
190
257
  dispatchF = store.dispatch;
191
258
 
192
- const card = registerCard(piReducer.register, dispatchF);
259
+ const card = addCard(piReducer.register, dispatchF);
193
260
  const updateCard = updateOrRegisterCard(piReducer.register, dispatchF);
194
261
  const window = <S extends ReduxState>(
195
262
  p: PiMapProps<WindowProps, S, {}>
@@ -201,7 +268,7 @@ export function start<S extends Partial<ReduxState>>(
201
268
  window,
202
269
  card,
203
270
  updateCard,
204
- cardComponent: registerCardComponent,
271
+ cardComponent: addCardComponent,
205
272
  metaCard: registerMetacard(card),
206
273
  reducer: piReducer,
207
274
  GET: registerGET(piReducer),
@@ -218,5 +285,6 @@ export function start<S extends Partial<ReduxState>>(
218
285
  const root = ReactDOM.createRoot(document.getElementById("root")!);
219
286
  root.render(rootComp);
220
287
 
288
+ setRegisterF(register);
221
289
  return register;
222
290
  }