react-hook-core 0.1.6 → 0.1.9

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/lib/com.js ADDED
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var React = require("react");
4
+ var core_1 = require("./core");
5
+ function PageSizeSelect(p) {
6
+ var g = p.sizes;
7
+ var s = (!g || g.length === 0 ? core_1.pageSizes : g);
8
+ var opts = s.map(function (pgSize) { return React.createElement('option', { key: pgSize, value: pgSize }, pgSize); });
9
+ return React.createElement('select', { id: p.id, name: p.name, defaultValue: p.size, onChange: p.onChange }, opts);
10
+ }
11
+ exports.PageSizeSelect = PageSizeSelect;
12
+ function Search(p) {
13
+ return (React.createElement(React.Fragment, null, React.createElement("label", { className: p.className }, p.pageSizeChanged && React.createElement(PageSizeSelect, { size: p.size, sizes: p.sizes, onChange: p.pageSizeChanged, name: p.name, id: p.id }), React.createElement("input", { type: 'text', id: 'q', name: 'q', value: p.value || '', onChange: p.onChange, maxLength: p.maxLength, placeholder: p.placeholder }), p.clear && React.createElement("button", { type: 'button', hidden: !p.value, className: 'btn-remove-text', onClick: p.clear }), p.toggle && React.createElement("button", { type: 'button', className: 'btn-filter', onClick: p.toggle }), p.search && React.createElement("button", { type: 'submit', className: 'btn-search', onClick: p.search }))));
14
+ }
15
+ exports.Search = Search;
package/lib/components.js CHANGED
@@ -398,16 +398,20 @@ var BaseSearchComponent = (function (_super) {
398
398
  this.initFields = true;
399
399
  return fs;
400
400
  };
401
- BaseSearchComponent.prototype.clearQ = function () {
402
- var m = this.state.model;
403
- if (m) {
404
- m.q = '';
405
- this.setState({ model: m });
401
+ BaseSearchComponent.prototype.clearQ = function (e) {
402
+ if (e) {
403
+ e.preventDefault();
406
404
  }
407
- else {
408
- this.setState({
409
- q: ''
410
- });
405
+ var n = this.getModelName();
406
+ if (n && n.length > 0) {
407
+ var m = this.state[n];
408
+ if (m) {
409
+ m.q = '';
410
+ var setObj = {};
411
+ setObj[n] = m;
412
+ this.setState(setObj);
413
+ return;
414
+ }
411
415
  }
412
416
  };
413
417
  BaseSearchComponent.prototype.search = function (event) {
package/lib/core.js CHANGED
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var formutil_1 = require("./formutil");
4
4
  exports.pageSizes = [12, 24, 60, 100, 120, 180, 300, 600];
5
+ exports.size = exports.pageSizes;
5
6
  function createEditStatus(status) {
6
7
  if (status) {
7
8
  return status;
package/lib/index.js CHANGED
@@ -19,7 +19,7 @@ __export(require("./useEdit"));
19
19
  __export(require("./components"));
20
20
  __export(require("./search"));
21
21
  __export(require("./reflect"));
22
- var core_1 = require("./core");
22
+ __export(require("./com"));
23
23
  function checked(s, v) {
24
24
  if (s) {
25
25
  if (Array.isArray(s)) {
@@ -51,10 +51,3 @@ exports.Loading = function (props) {
51
51
  return (React.createElement('div', { className: 'loader-wrapper' }, React.createElement('div', { className: 'loader-sign', style: loadingStyle }, React.createElement('div', { className: 'loader' }))));
52
52
  }
53
53
  };
54
- function PageSizeSelect(p) {
55
- var g = p.sizes;
56
- var s = (!g || g.length === 0 ? core_1.pageSizes : g);
57
- var opts = s.map(function (pgSize) { return React.createElement('option', { key: pgSize, value: pgSize }, pgSize); });
58
- return React.createElement('select', { id: p.id, name: p.name, defaultValue: p.size, onChange: p.onChange }, opts);
59
- }
60
- exports.PageSizeSelect = PageSizeSelect;
package/lib/reflect.js CHANGED
@@ -116,7 +116,9 @@ function diff(obj1, obj2) {
116
116
  return fields;
117
117
  }
118
118
  exports.diff = diff;
119
- function makeDiff(obj1, obj2, keys, version) {
119
+ function makeDiff(o1, o2, keys, version) {
120
+ var obj1 = o1;
121
+ var obj2 = o2;
120
122
  var obj3 = {};
121
123
  var s = diff(obj1, obj2);
122
124
  if (s.length === 0) {
package/lib/useEdit.js CHANGED
@@ -30,7 +30,7 @@ exports.useEdit = function (refForm, initialState, service, p2, p) {
30
30
  }
31
31
  var n = baseProps.getModelName(refForm.current);
32
32
  var obj = {};
33
- obj[n] = baseProps.createNewModel();
33
+ obj[n] = baseProps.createModel();
34
34
  baseProps.setState(obj);
35
35
  var keys;
36
36
  if (p && !p.keys && service && service.metadata) {
@@ -63,7 +63,7 @@ exports.useEditProps = function (props, refForm, initialState, service, p2, p) {
63
63
  }
64
64
  var n = baseProps.getModelName(refForm.current);
65
65
  var obj = {};
66
- obj[n] = baseProps.createNewModel();
66
+ obj[n] = baseProps.createModel();
67
67
  baseProps.setState(obj);
68
68
  var keys;
69
69
  if (p && !p.keys && service && service.metadata) {
@@ -415,7 +415,10 @@ exports.useCoreEdit = function (refForm, initialState, service, p1, p, props) {
415
415
  getModelName: getModelName,
416
416
  resetState: resetState,
417
417
  handleNotFound: handleNotFound,
418
- getModel: getModel, createNewModel: createModel, newOnClick: create, save: save,
418
+ getModel: getModel,
419
+ createModel: createModel,
420
+ create: create,
421
+ save: save,
419
422
  onSave: onSave,
420
423
  confirm: confirm,
421
424
  validate: validate, showMessage: p1.showMessage, succeed: succeed,
package/lib/useSearch.js CHANGED
@@ -98,6 +98,7 @@ function mergeParam(p) {
98
98
  };
99
99
  }
100
100
  }
101
+ exports.mergeParam = mergeParam;
101
102
  exports.useSearch = function (refForm, initialState, service, p2, p) {
102
103
  var baseProps = exports.useCoreSearch(refForm, initialState, service, p2, p);
103
104
  react_1.useEffect(function () {
@@ -123,7 +124,7 @@ exports.useSearchOneProps = function (p) {
123
124
  exports.useSearchOne = function (p) {
124
125
  return exports.useCoreSearch(p.refForm, p.initialState, p.service, p, p);
125
126
  };
126
- exports.useCoreSearch = function (refForm, initialState, service, p1, p2, props) {
127
+ exports.useCoreSearch = function (refForm, initialState, service, p1, p2) {
127
128
  var p = mergeParam(p2);
128
129
  var _a = react_1.useState(), running = _a[0], setRunning = _a[1];
129
130
  var _getModelName = function () {
@@ -149,7 +150,7 @@ exports.useCoreSearch = function (refForm, initialState, service, p1, p2, props)
149
150
  return fs;
150
151
  };
151
152
  var getFields = p && p.getFields ? p.getFields : _getFields;
152
- var getFilter = function (se) {
153
+ var _getFilter = function (se) {
153
154
  if (!se) {
154
155
  se = component;
155
156
  }
@@ -167,6 +168,7 @@ exports.useCoreSearch = function (refForm, initialState, service, p1, p2, props)
167
168
  var obj3 = search_1.getModel(state, n, se, fs, se.excluding, keys, se.list, refForm.current, core_1.getDecodeFromForm(p1), lc, cc);
168
169
  return obj3;
169
170
  };
171
+ var getFilter = p && p.getFilter ? p.getFilter : _getFilter;
170
172
  var _setFilter = function (s) {
171
173
  var objSet = {};
172
174
  var n = getModelName();
@@ -225,12 +227,15 @@ exports.useCoreSearch = function (refForm, initialState, service, p1, p2, props)
225
227
  });
226
228
  doSearch(component);
227
229
  };
228
- var clearQ = function (event) {
230
+ var clearQ = function (e) {
231
+ if (e) {
232
+ e.preventDefault();
233
+ }
229
234
  var n = getModelName();
230
235
  if (n && n.length > 0) {
231
236
  var m = state[n];
232
237
  if (m) {
233
- m.keyword = '';
238
+ m.q = '';
234
239
  var setObj = {};
235
240
  setObj[n] = m;
236
241
  setState(setObj);
@@ -370,7 +375,9 @@ exports.useCoreSearch = function (refForm, initialState, service, p1, p2, props)
370
375
  toggleFilter: toggleFilter,
371
376
  doSearch: doSearch,
372
377
  pageChanged: pageChanged,
373
- pageSizeChanged: pageSizeChanged, clearKeyworkOnClick: clearQ, showResults: showResults,
378
+ pageSizeChanged: pageSizeChanged,
379
+ clearQ: clearQ,
380
+ showResults: showResults,
374
381
  getFields: getFields,
375
382
  getModelName: getModelName, format: p ? p.format : undefined
376
383
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-hook-core",
3
- "version": "0.1.6",
3
+ "version": "0.1.9",
4
4
  "description": "react",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./src/index.ts",
package/src/com.ts ADDED
@@ -0,0 +1,53 @@
1
+ import * as React from 'react';
2
+ import { Locale, pageSizes } from './core';
3
+
4
+ export interface PageSizeProps {
5
+ id?: string;
6
+ name?: string;
7
+ size?: number;
8
+ sizes?: number[];
9
+ onChange?: React.ChangeEventHandler<HTMLSelectElement>;
10
+ }
11
+ export function PageSizeSelect(p: PageSizeProps) {
12
+ const g = p.sizes;
13
+ const s = (!g || g.length === 0 ? pageSizes : g);
14
+ const opts = s.map(pgSize => React.createElement('option', { key: pgSize, value: pgSize }, pgSize));
15
+ return React.createElement('select', { id: p.id, name: p.name, defaultValue: p.size, onChange: p.onChange }, opts);
16
+ }
17
+ export interface Props {
18
+ id?: string;
19
+ name?: string;
20
+ size?: number;
21
+ sizes?: number[];
22
+ className?: string;
23
+ maxLength?: number;
24
+ value?: string;
25
+ placeholder?: string;
26
+ pageSizeChanged?: (event: any) => void;
27
+ search?: React.MouseEventHandler<HTMLElement>;
28
+ toggle?: React.MouseEventHandler<HTMLElement>;
29
+ clear?: React.MouseEventHandler<HTMLButtonElement>;
30
+ onChange?: (e: any, callback?: (() => void) | undefined, lc?: Locale | undefined) => void;
31
+ }
32
+ export function Search(p: Props) {
33
+ return (React.createElement(React.Fragment, null,
34
+ React.createElement("label", { className: p.className },
35
+ p.pageSizeChanged && React.createElement(PageSizeSelect, { size: p.size, sizes: p.sizes, onChange: p.pageSizeChanged, name: p.name, id: p.id }),
36
+ React.createElement("input", { type: 'text', id: 'q', name: 'q', value: p.value || '', onChange: p.onChange, maxLength: p.maxLength, placeholder: p.placeholder }),
37
+ p.clear && React.createElement("button", { type: 'button', hidden: !p.value, className: 'btn-remove-text', onClick: p.clear }),
38
+ p.toggle && React.createElement("button", { type: 'button', className: 'btn-filter', onClick: p.toggle }),
39
+ p.search && React.createElement("button", { type: 'submit', className: 'btn-search', onClick: p.search }))));
40
+ /*
41
+ return (
42
+ <>
43
+ <label className={p.className}>
44
+ {p.pageSizeChanged && <PageSizeSelect size={p.size} sizes={p.sizes} onChange={p.pageSizeChanged} name={p.name} id={p.id} />}
45
+ <input type='text' id='q' name='q' value={p.value || ''} onChange={p.onChange} maxLength={p.maxLength} placeholder={p.placeholder} />
46
+ {p.clear && <button type='button' hidden={!p.value} className='btn-remove-text' onClick={p.clear}/>}
47
+ {p.toggle && <button type='button' className='btn-filter' onClick={p.toggle} />}
48
+ {p.search && <button type='submit' className='btn-search' onClick={p.search} />}
49
+ </label>
50
+ </>
51
+ );
52
+ */
53
+ }
package/src/components.ts CHANGED
@@ -443,18 +443,23 @@ export class BaseSearchComponent<T, F extends Filter, P, I extends SearchState<T
443
443
  this.setState(prevState => ({ isPageSizeOpenDropDown: !(prevState as any).isPageSizeOpenDropDown } as any));
444
444
  }
445
445
 
446
- clearQ(): void {
447
- const m = this.state.model;
448
- if (m) {
449
- m.q = '';
450
- this.setState({model: m});
451
- } else {
452
- this.setState({
453
- q: ''
454
- });
446
+ clearQ(e?: React.MouseEvent<HTMLButtonElement, MouseEvent>): void {
447
+ if (e) {
448
+ e.preventDefault();
449
+ }
450
+ const n = this.getModelName();
451
+ if (n && n.length > 0) {
452
+ const m = (this.state as any)[n];
453
+ if (m) {
454
+ m.q = '';
455
+ const setObj: any = {};
456
+ setObj[n] = m;
457
+ this.setState(setObj);
458
+ return;
459
+ }
455
460
  }
456
461
  }
457
- search(event: any): void {
462
+ search(event: React.MouseEvent<HTMLButtonElement, MouseEvent>): void {
458
463
  if (event) {
459
464
  event.preventDefault();
460
465
  if (!this.getSearchForm()) {
@@ -806,7 +811,7 @@ export abstract class BaseEditComponent<T, P, S> extends BaseComponent<P, S> {
806
811
  }
807
812
  }
808
813
 
809
- create = (event: any) => {
814
+ create = (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {
810
815
  if (event) {
811
816
  event.preventDefault();
812
817
  }
@@ -823,9 +828,9 @@ export abstract class BaseEditComponent<T, P, S> extends BaseComponent<P, S> {
823
828
  }, 100);
824
829
  }
825
830
  }
826
- save = (event: any) => {
831
+ save = (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {
827
832
  event.preventDefault();
828
- (event as any).persist();
833
+ event.persist();
829
834
  if (!this.form && event && event.target) {
830
835
  this.form = (event.target as HTMLInputElement).form;
831
836
  }
@@ -856,7 +861,7 @@ export abstract class BaseEditComponent<T, P, S> extends BaseComponent<P, S> {
856
861
  });
857
862
  } else {
858
863
  const diffObj = makeDiff(initPropertyNullInModel(this.orginalModel, this.metadata), obj, this.keys, this.version);
859
- const keys = Object.keys(diffObj);
864
+ const keys = Object.keys(diffObj as any);
860
865
  if (keys.length === 0) {
861
866
  this.showMessage(r.value('msg_no_change'));
862
867
  } else {
@@ -881,7 +886,7 @@ export abstract class BaseEditComponent<T, P, S> extends BaseComponent<P, S> {
881
886
  }
882
887
  }
883
888
 
884
- doSave(obj: T, dif?: T, isBack?: boolean) {
889
+ doSave(obj: T, dif?: Partial<T>, isBack?: boolean) {
885
890
  }
886
891
 
887
892
  succeed(msg: string, isBack?: boolean, result?: ResultInfo<T>) {
@@ -1053,12 +1058,12 @@ export class EditComponent<T, ID, P, S> extends BaseEditComponent<T, P, S> {
1053
1058
  }
1054
1059
  }
1055
1060
  }
1056
- doSave(obj: T, body?: T, isBack?: boolean) {
1061
+ doSave(obj: T, body?: Partial<T>, isBack?: boolean) {
1057
1062
  this.running = true;
1058
1063
  showLoading(this.loading);
1059
1064
  const isBackO = (isBack == null || isBack === undefined ? this.backOnSuccess : isBack);
1060
1065
  const com = this;
1061
- let m = obj;
1066
+ let m: T|Partial<T> = obj;
1062
1067
  let fn = this.newMode ? this.service.insert : this.service.update;
1063
1068
  if (!this.newMode) {
1064
1069
  if (this.patchable === true && this.service.patch && body && Object.keys(body).length > 0) {
@@ -1066,7 +1071,7 @@ export class EditComponent<T, ID, P, S> extends BaseEditComponent<T, P, S> {
1066
1071
  fn = this.service.patch;
1067
1072
  }
1068
1073
  }
1069
- fn(m).then(result => {
1074
+ fn(m as any).then(result => {
1070
1075
  com.postSave(result, isBackO);
1071
1076
  com.running = false;
1072
1077
  hideLoading(com.loading);
package/src/core.ts CHANGED
@@ -2,6 +2,7 @@ import { Params } from 'react-router';
2
2
  import { focusFirstElement } from './formutil';
3
3
 
4
4
  export const pageSizes = [12, 24, 60, 100, 120, 180, 300, 600];
5
+ export const size = pageSizes;
5
6
  export interface ModelMap {
6
7
  [key: string]: any;
7
8
  }
package/src/edit.ts CHANGED
@@ -17,7 +17,7 @@ export interface EditParameter {
17
17
  status?: EditStatusConfig;
18
18
  }
19
19
  export interface GenericService<T, ID, R> extends ViewService<T, ID> {
20
- patch?(obj: T, ctx?: any): Promise<R>;
20
+ patch?(obj: Partial<T>, ctx?: any): Promise<R>;
21
21
  insert(obj: T, ctx?: any): Promise<R>;
22
22
  update(obj: T, ctx?: any): Promise<R>;
23
23
  delete?(id: ID, ctx?: any): Promise<number>;
package/src/index.ts CHANGED
@@ -14,8 +14,7 @@ export * from './useEdit';
14
14
  export * from './components';
15
15
  export * from './search';
16
16
  export * from './reflect';
17
-
18
- import {pageSizes} from './core';
17
+ export * from './com';
19
18
 
20
19
  export function checked(s: string[]|string|undefined, v: string): boolean|undefined {
21
20
  if (s) {
@@ -55,17 +54,4 @@ export const Loading = (props: LoadingProps) => {
55
54
  );*/
56
55
  }
57
56
  };
58
- export interface Props {
59
- id?: string;
60
- name?: string;
61
- size?: number;
62
- sizes?: number[];
63
- onChange?: React.ChangeEventHandler<HTMLSelectElement>;
64
- }
65
- export function PageSizeSelect(p: Props) {
66
- const g = p.sizes;
67
- const s = (!g || g.length === 0 ? pageSizes : g);
68
- const opts = s.map(pgSize => React.createElement('option', { key: pgSize, value: pgSize }, pgSize));
69
- return React.createElement('select', { id: p.id, name: p.name, defaultValue: p.size, onChange: p.onChange }, opts);
70
- }
71
57
  export type OnClick = React.MouseEvent<HTMLElement, MouseEvent>;
package/src/reflect.ts CHANGED
@@ -105,7 +105,9 @@ export function diff(obj1: any, obj2: any): string[] {
105
105
  return fields;
106
106
  }
107
107
 
108
- export function makeDiff(obj1: any, obj2: any, keys?: string[], version?: string): any {
108
+ export function makeDiff<T>(o1: T, o2: T, keys?: string[], version?: string): Partial<T> {
109
+ const obj1: any = o1;
110
+ const obj2: any = o2;
109
111
  const obj3: any = {};
110
112
  const s = diff(obj1, obj2);
111
113
  if (s.length === 0) {
package/src/useEdit.ts CHANGED
@@ -80,7 +80,7 @@ export const useEdit = <T, ID, S>(
80
80
  }
81
81
  const n = baseProps.getModelName(refForm.current);
82
82
  const obj: any = {};
83
- obj[n] = baseProps.createNewModel();
83
+ obj[n] = baseProps.createModel();
84
84
  baseProps.setState(obj);
85
85
  let keys: string[]|undefined;
86
86
  if (p && !p.keys && service && service.metadata) {
@@ -120,7 +120,7 @@ export const useEditProps = <T, ID, S, P>(
120
120
  }
121
121
  const n = baseProps.getModelName(refForm.current);
122
122
  const obj: any = {};
123
- obj[n] = baseProps.createNewModel();
123
+ obj[n] = baseProps.createModel();
124
124
  baseProps.setState(obj);
125
125
  let keys: string[]|undefined;
126
126
  if (p && !p.keys && service && service.metadata) {
@@ -288,7 +288,7 @@ export const useCoreEdit = <T, ID, S, P>(
288
288
  validate(obj, () => {
289
289
  const msg = message(p1.resource.value, 'msg_confirm_save', 'confirm', 'yes', 'no');
290
290
  p1.confirm(msg.message, msg.title, () => {
291
- doSave(obj, diffObj, version, isBack);
291
+ doSave(obj, diffObj as any, version, isBack);
292
292
  }, msg.no, msg.yes);
293
293
  });
294
294
  }
@@ -403,7 +403,7 @@ export const useCoreEdit = <T, ID, S, P>(
403
403
  };
404
404
  const handleDuplicateKey = (p && p.handleDuplicateKey ? p.handleDuplicateKey : _handleDuplicateKey);
405
405
 
406
- const _doSave = (obj: T, body?: T, version?: string, isBack?: boolean) => {
406
+ const _doSave = (obj: T, body?: Partial<T>, version?: string, isBack?: boolean) => {
407
407
  setRunning(true);
408
408
  showLoading(p1.loading);
409
409
  const isBackO = (isBack == null || isBack === undefined ? true : isBack);
@@ -483,8 +483,8 @@ export const useCoreEdit = <T, ID, S, P>(
483
483
  resetState,
484
484
  handleNotFound,
485
485
  getModel,
486
- createNewModel: createModel,
487
- newOnClick: create,
486
+ createModel,
487
+ create,
488
488
  save,
489
489
  onSave,
490
490
  // eslint-disable-next-line no-restricted-globals
package/src/useSearch.ts CHANGED
@@ -84,7 +84,7 @@ export interface SearchComponentParam<T, M extends Filter> {
84
84
  getModelName?: () => string;
85
85
  getCurrencyCode?: () => string;
86
86
  setFilter?: (s: M) => void;
87
- getFilter?: () => M;
87
+ getFilter?: (se?: Searchable<T>) => M;
88
88
  getFields?: () => string[]|undefined;
89
89
  validateSearch?: (se: M, callback: () => void) => void;
90
90
  // prepareCustomData?: (data: any) => void;
@@ -142,7 +142,7 @@ export interface SearchComponentState<T, S> extends Pagination, Sortable {
142
142
  deletable?: boolean;
143
143
  }
144
144
 
145
- function mergeParam<T, S extends Filter>(p?: SearchComponentParam<T, S>): SearchComponentParam<T, S> {
145
+ export function mergeParam<T, S extends Filter>(p?: SearchComponentParam<T, S>): SearchComponentParam<T, S> {
146
146
  if (p) {
147
147
  if (!p.sequenceNo) {
148
148
  p.sequenceNo = 'sequenceNo';
@@ -218,13 +218,12 @@ export const useSearchOneProps = <T, S extends Filter, ST extends SearchComponen
218
218
  export const useSearchOne = <T, S extends Filter, ST extends SearchComponentState<T, S>>(p: HookBaseSearchParameter<T, S, ST>) => {
219
219
  return useCoreSearch(p.refForm, p.initialState, p.service, p, p);
220
220
  };
221
- export const useCoreSearch = <T, S extends Filter, ST, P>(
221
+ export const useCoreSearch = <T, S extends Filter, ST>(
222
222
  refForm: any,
223
223
  initialState: ST,
224
224
  service: ((s: S, limit?: number, offset?: number|string, fields?: string[]) => Promise<SearchResult<T>>) | SearchService<T, S>,
225
225
  p1: SearchParameter,
226
- p2?: SearchComponentParam<T, S>,
227
- props?: P
226
+ p2?: SearchComponentParam<T, S>
228
227
  ) => {
229
228
  const p = mergeParam(p2);
230
229
  const [running, setRunning] = useState<boolean>();
@@ -260,7 +259,7 @@ export const useCoreSearch = <T, S extends Filter, ST, P>(
260
259
  };
261
260
  const getFields = p && p.getFields ? p.getFields : _getFields;
262
261
 
263
- const getFilter = (se?: Searchable<T>): S => {
262
+ const _getFilter = (se?: Searchable<T>): S => {
264
263
  if (!se) {
265
264
  se = component;
266
265
  }
@@ -278,6 +277,7 @@ export const useCoreSearch = <T, S extends Filter, ST, P>(
278
277
  const obj3 = getModel<T, S>(state, n, se, fs, se.excluding, keys, se.list, refForm.current, getDecodeFromForm(p1), lc, cc);
279
278
  return obj3;
280
279
  };
280
+ const getFilter = p && p.getFilter ? p.getFilter : _getFilter;
281
281
  const _setFilter = (s: S): void => {
282
282
  const objSet: any = {};
283
283
  const n = getModelName();
@@ -341,12 +341,15 @@ export const useCoreSearch = <T, S extends Filter, ST, P>(
341
341
  doSearch(component);
342
342
  };
343
343
 
344
- const clearQ = (event?: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {
344
+ const clearQ = (e?: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {
345
+ if (e) {
346
+ e.preventDefault();
347
+ }
345
348
  const n = getModelName();
346
349
  if (n && n.length > 0) {
347
350
  const m = (state as any)[n];
348
351
  if (m) {
349
- m.keyword = '';
352
+ m.q = '';
350
353
  const setObj: any = {};
351
354
  setObj[n] = m;
352
355
  setState(setObj);
@@ -495,7 +498,7 @@ export const useCoreSearch = <T, S extends Filter, ST, P>(
495
498
  doSearch,
496
499
  pageChanged,
497
500
  pageSizeChanged,
498
- clearKeyworkOnClick: clearQ,
501
+ clearQ,
499
502
  showResults,
500
503
  getFields,
501
504
  getModelName,
package/lib/router.js DELETED
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var react_1 = require("react");
4
- var react_router_dom_1 = require("react-router-dom");
5
- exports.useRouter = function () {
6
- var _a = [react_router_dom_1.useLocation(), react_router_dom_1.useHistory(), react_router_dom_1.useParams(), react_router_dom_1.useRouteMatch()], location = _a[0], history = _a[1], params = _a[2], match = _a[3];
7
- var navigate = function (targetUrl) {
8
- return function (e) {
9
- if (e) {
10
- e.preventDefault();
11
- }
12
- history.push(targetUrl);
13
- };
14
- };
15
- var back = function (e) {
16
- if (e) {
17
- e.preventDefault();
18
- }
19
- history.goBack();
20
- };
21
- return react_1.useMemo(function () {
22
- return ({
23
- push: history.push,
24
- replace: history.replace,
25
- pathname: location.pathname,
26
- goBack: history.goBack,
27
- match: match,
28
- location: location,
29
- history: history,
30
- params: params,
31
- navigate: navigate,
32
- back: back
33
- });
34
- }, [match, location, history, params]);
35
- };
package/src/router.ts DELETED
@@ -1,39 +0,0 @@
1
- import {useMemo} from 'react';
2
- import {useHistory, useLocation, useParams, useRouteMatch} from 'react-router-dom';
3
-
4
- export const useRouter = () => {
5
- const [location, history, params, match] = [useLocation(), useHistory(), useParams(), useRouteMatch()];
6
- /*
7
- const searchQueries = useMemo(() => {
8
- return queryString.parse(location.search, { arrayFormat: 'comma', parseNumbers: true });
9
- }, [location.search]);
10
- */
11
- const navigate = (targetUrl: string) => (e: React.MouseEvent) => {
12
- if (e) {
13
- e.preventDefault();
14
- }
15
- history.push(targetUrl);
16
- };
17
-
18
-
19
- const back = (e: React.MouseEvent) => {
20
- if (e) {
21
- e.preventDefault();
22
- }
23
- history.goBack();
24
- };
25
-
26
- return useMemo(() => ({
27
- push: history.push,
28
- replace: history.replace,
29
- pathname: location.pathname,
30
- goBack: history.goBack,
31
- match,
32
- location,
33
- history,
34
- params,
35
- // searchQueries,
36
- navigate,
37
- back
38
- }), [match, location, history, params]);
39
- };