react-hook-core 0.3.0 → 0.3.1

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/core.js CHANGED
@@ -235,16 +235,3 @@ function getValidateForm(u, vf) {
235
235
  return (u && u.ui ? u.ui.validateForm : undefined);
236
236
  }
237
237
  exports.getValidateForm = getValidateForm;
238
- function handleToggle(target, on) {
239
- if (target) {
240
- if (on) {
241
- if (!target.classList.contains('on')) {
242
- target.classList.add('on');
243
- }
244
- }
245
- else {
246
- target.classList.remove('on');
247
- }
248
- }
249
- }
250
- exports.handleToggle = handleToggle;
package/lib/reflect.js CHANGED
@@ -152,6 +152,20 @@ function makeDiff(o1, o2, keys, version) {
152
152
  return obj3;
153
153
  }
154
154
  exports.makeDiff = makeDiff;
155
+ function hasDiff(o1, o2, keys, version) {
156
+ var diff = makeDiff(o1, o2, keys, version);
157
+ return !isEmptyObject(diff);
158
+ }
159
+ exports.hasDiff = hasDiff;
160
+ function goBack(navigate, confirm, resource, o1, o2, keys, version) {
161
+ if (!hasDiff(o1, o2, keys, version)) {
162
+ navigate(-1);
163
+ }
164
+ else {
165
+ confirm(resource.msg_confirm_back, function () { return navigate(-1); });
166
+ }
167
+ }
168
+ exports.goBack = goBack;
155
169
  function notIn(s1, s2) {
156
170
  var r = [];
157
171
  for (var _i = 0, s2_1 = s2; _i < s2_1.length; _i++) {
package/lib/search.js CHANGED
@@ -7,38 +7,58 @@ var __spreadArrays = (this && this.__spreadArrays) || function () {
7
7
  return r;
8
8
  };
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
+ var reflect_1 = require("./reflect");
10
11
  var resources = (function () {
11
12
  function resources() {
12
13
  }
13
14
  resources.limit = 24;
15
+ resources.pages = [12, 24, 60, 100, 120, 180, 300, 600];
16
+ resources.pageMaxSize = 7;
14
17
  return resources;
15
18
  }());
16
19
  exports.resources = resources;
20
+ function getOffset(limit, page, firstLimit) {
21
+ var p = page && page > 0 ? page : 1;
22
+ if (firstLimit && firstLimit > 0) {
23
+ var offset = limit * (p - 2) + firstLimit;
24
+ return offset < 0 ? 0 : offset;
25
+ }
26
+ else {
27
+ var offset = limit * (p - 1);
28
+ return offset < 0 ? 0 : offset;
29
+ }
30
+ }
31
+ exports.getOffset = getOffset;
17
32
  function mergeFilter(obj, b, pageSizes, arrs) {
18
33
  var a = b;
19
34
  if (!b) {
20
35
  a = {};
21
36
  }
22
- var slimit = obj['limit'];
37
+ var keys = Object.keys(obj);
38
+ for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
39
+ var key = keys_1[_i];
40
+ var p = a[key];
41
+ var v = obj[key];
42
+ if (v && v !== "") {
43
+ a[key] = isArray(key, p, arrs) ? v.split(",") : v;
44
+ }
45
+ }
46
+ var spage = obj["page"];
47
+ if (!isNaN(spage)) {
48
+ var page = parseInt(spage, 10);
49
+ a.page = page > 1 ? page : undefined;
50
+ }
51
+ var slimit = obj["limit"];
23
52
  if (!isNaN(slimit)) {
24
53
  var limit = parseInt(slimit, 10);
25
54
  if (pageSizes && pageSizes.length > 0) {
26
55
  if (pageSizes.indexOf(limit) >= 0) {
27
56
  a.limit = limit;
57
+ return a;
28
58
  }
29
59
  }
30
60
  else {
31
- a.limit = limit;
32
- }
33
- }
34
- delete obj['limit'];
35
- var keys = Object.keys(obj);
36
- for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
37
- var key = keys_1[_i];
38
- var p = a[key];
39
- var v = obj[key];
40
- if (v && v !== '') {
41
- a[key] = (isArray(key, p, arrs) ? v.split(',') : v);
61
+ a.limit = limit > 0 ? limit : 12;
42
62
  }
43
63
  }
44
64
  return a;
@@ -232,7 +252,10 @@ function showPaging(com, list, pageSize, total) {
232
252
  com.showPaging = (!total || com.pages <= 1 || (list && list.length >= total) ? false : true);
233
253
  }
234
254
  exports.showPaging = showPaging;
235
- function getFields(form) {
255
+ function getFields(form, arr) {
256
+ if (arr && arr.length > 0) {
257
+ return arr;
258
+ }
236
259
  if (!form) {
237
260
  return undefined;
238
261
  }
@@ -246,19 +269,19 @@ function getFields(form) {
246
269
  }
247
270
  }
248
271
  if (!nodes.querySelector) {
249
- return [];
272
+ return undefined;
250
273
  }
251
- var table = nodes.querySelector('table');
274
+ var table = nodes.querySelector("table");
252
275
  var fields = [];
253
276
  if (table) {
254
- var thead = table.querySelector('thead');
277
+ var thead = table.querySelector("thead");
255
278
  if (thead) {
256
- var ths = thead.querySelectorAll('th');
279
+ var ths = thead.querySelectorAll("th");
257
280
  if (ths) {
258
281
  var l = ths.length;
259
282
  for (var i = 0; i < l; i++) {
260
283
  var th = ths[i];
261
- var field = th.getAttribute('data-field');
284
+ var field = th.getAttribute("data-field");
262
285
  if (field) {
263
286
  fields.push(field);
264
287
  }
@@ -266,7 +289,7 @@ function getFields(form) {
266
289
  }
267
290
  }
268
291
  }
269
- return fields;
292
+ return fields.length > 0 ? fields : undefined;
270
293
  }
271
294
  exports.getFields = getFields;
272
295
  function formatResultsByComponent(results, c, lc) {
@@ -344,9 +367,34 @@ function getPageTotal(pageSize, total) {
344
367
  }
345
368
  }
346
369
  exports.getPageTotal = getPageTotal;
347
- function buildMessage(r, pageIndex, pageSize, results, total) {
370
+ function formatText() {
371
+ var args = [];
372
+ for (var _i = 0; _i < arguments.length; _i++) {
373
+ args[_i] = arguments[_i];
374
+ }
375
+ var formatted = args[0];
376
+ if (!formatted || formatted === "") {
377
+ return "";
378
+ }
379
+ if (args.length > 1 && Array.isArray(args[1])) {
380
+ var params = args[1];
381
+ for (var i = 0; i < params.length; i++) {
382
+ var regexp = new RegExp("\\{" + i + "\\}", "gi");
383
+ formatted = formatted.replace(regexp, params[i]);
384
+ }
385
+ }
386
+ else {
387
+ for (var i = 1; i < args.length; i++) {
388
+ var regexp = new RegExp("\\{" + (i - 1) + "\\}", "gi");
389
+ formatted = formatted.replace(regexp, args[i]);
390
+ }
391
+ }
392
+ return formatted;
393
+ }
394
+ exports.formatText = formatText;
395
+ function buildMessage(resource, results, pageSize, pageIndex, total) {
348
396
  if (!results || results.length === 0) {
349
- return r.value('msg_no_data_found');
397
+ return resource.msg_no_data_found;
350
398
  }
351
399
  else {
352
400
  if (!pageIndex) {
@@ -356,11 +404,11 @@ function buildMessage(r, pageIndex, pageSize, results, total) {
356
404
  var toIndex = fromIndex + results.length - 1;
357
405
  var pageTotal = getPageTotal(pageSize, total);
358
406
  if (pageTotal > 1) {
359
- var msg2 = r.format(r.value('msg_search_result_page_sequence'), fromIndex, toIndex, total, pageIndex, pageTotal);
407
+ var msg2 = formatText(resource.msg_search_result_page_sequence, fromIndex, toIndex, total, pageIndex, pageTotal);
360
408
  return msg2;
361
409
  }
362
410
  else {
363
- var msg3 = r.format(r.value('msg_search_result_sequence'), fromIndex, toIndex);
411
+ var msg3 = formatText(resource.msg_search_result_sequence, fromIndex, toIndex);
364
412
  return msg3;
365
413
  }
366
414
  }
@@ -480,6 +528,50 @@ function addParametersIntoUrl(ft, isFirstLoad, fields, limit) {
480
528
  }
481
529
  }
482
530
  exports.addParametersIntoUrl = addParametersIntoUrl;
531
+ function buildSort(filter) {
532
+ var sort = {};
533
+ var st = filter.sort;
534
+ if (st && st.length > 0) {
535
+ var ch = st.charAt(0);
536
+ if (ch === "+" || ch === "-") {
537
+ sort.field = st.substring(1);
538
+ sort.type = ch;
539
+ }
540
+ else {
541
+ sort.field = st;
542
+ sort.type = "";
543
+ }
544
+ }
545
+ return sort;
546
+ }
547
+ exports.buildSort = buildSort;
548
+ function buildSortFilter(obj, sortable) {
549
+ var filter = reflect_1.clone(obj);
550
+ if (sortable.sortField && sortable.sortField.length > 0) {
551
+ filter.sort = sortable.sortType === "-" ? "-" + sortable.sortField : sortable.sortField;
552
+ }
553
+ else {
554
+ delete filter.sort;
555
+ }
556
+ delete filter.fields;
557
+ return filter;
558
+ }
559
+ exports.buildSortFilter = buildSortFilter;
560
+ function handleToggle(target, on) {
561
+ var off = !on;
562
+ if (target) {
563
+ if (on) {
564
+ if (!target.classList.contains('on')) {
565
+ target.classList.add('on');
566
+ }
567
+ }
568
+ else {
569
+ target.classList.remove('on');
570
+ }
571
+ }
572
+ return off;
573
+ }
574
+ exports.handleToggle = handleToggle;
483
575
  function handleSortEvent(event, com) {
484
576
  if (event && event.target) {
485
577
  var target = event.target;
@@ -490,6 +582,10 @@ function handleSortEvent(event, com) {
490
582
  }
491
583
  }
492
584
  exports.handleSortEvent = handleSortEvent;
585
+ function getSortElement(target) {
586
+ return target.nodeName === "I" ? target.parentElement : target;
587
+ }
588
+ exports.getSortElement = getSortElement;
493
589
  function handleSort(target, previousTarget, sortField, sortType) {
494
590
  var type = target.getAttribute('sort-type');
495
591
  var field = toggleSortStyle(target);
package/lib/useSearch.js CHANGED
@@ -132,9 +132,8 @@ exports.useCoreSearch = function (refForm, initialState, service, p1, p2) {
132
132
  var getCurrencyCode = p && p.getCurrencyCode ? p.getCurrencyCode : _getCurrencyCode;
133
133
  var _c = merge_1.useMergeState(p), component = _c[0], setComponent = _c[1];
134
134
  var toggleFilter = function (event) {
135
- var x = !component.hideFilter;
136
- core_1.handleToggle(event.target, !x);
137
- setComponent({ hideFilter: x });
135
+ var hideFilter = search_1.handleToggle(event.target, component.hideFilter);
136
+ setComponent({ hideFilter: hideFilter });
138
137
  };
139
138
  var _getFields = function () {
140
139
  var fields = component.fields, initFields = component.initFields;
@@ -331,7 +330,7 @@ exports.useCoreSearch = function (refForm, initialState, service, p1, p2) {
331
330
  setList(results, setState);
332
331
  setComponent({ tmpPageIndex: s.page });
333
332
  if (s.limit) {
334
- var m1 = search_1.buildMessage(p1.resource, s.page, s.limit, sr.list, sr.total);
333
+ var m1 = search_1.buildMessage(p1.resource.resource(), sr.list, s.limit, s.page, sr.total);
335
334
  p1.showMessage(m1);
336
335
  }
337
336
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-hook-core",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "react",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./src/index.ts",
package/src/core.ts CHANGED
@@ -502,14 +502,3 @@ export function getDecodeFromForm(u?: UIParameter, d?: (form: HTMLFormElement, l
502
502
  return (u && u.ui ? u.ui.decodeFromForm : undefined);
503
503
  }
504
504
  */
505
- export function handleToggle(target?: HTMLInputElement, on?: boolean): void {
506
- if (target) {
507
- if (on) {
508
- if (!target.classList.contains('on')) {
509
- target.classList.add('on');
510
- }
511
- } else {
512
- target.classList.remove('on');
513
- }
514
- }
515
- }
package/src/reflect.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import { NavigateFunction } from "react-router-dom"
2
+
1
3
  export function clone(obj: any): any {
2
4
  if (!obj) {
3
5
  return obj;
@@ -135,6 +137,28 @@ export function makeDiff<T>(o1: T, o2: T, keys?: string[], version?: string): Pa
135
137
  }
136
138
  return obj3;
137
139
  }
140
+ export function hasDiff<T>(o1: T, o2: T, keys?: string[], version?: string): boolean {
141
+ const diff = makeDiff(o1, o2, keys, version)
142
+ return !isEmptyObject(diff)
143
+ }
144
+ interface StringMap {
145
+ [key: string]: string;
146
+ }
147
+ export function goBack<T>(
148
+ navigate: NavigateFunction,
149
+ confirm: (msg: string, yesCallback?: () => void) => void,
150
+ resource: StringMap,
151
+ o1: T,
152
+ o2: T,
153
+ keys?: string[],
154
+ version?: string,
155
+ ) {
156
+ if (!hasDiff(o1, o2, keys, version)) {
157
+ navigate(-1)
158
+ } else {
159
+ confirm(resource.msg_confirm_back, () => navigate(-1))
160
+ }
161
+ }
138
162
 
139
163
  export function notIn(s1: string[], s2: string[]): string[] {
140
164
  const r = [];
package/src/search.ts CHANGED
@@ -1,6 +1,11 @@
1
+ import { StringMap } from "./core";
2
+ import { clone } from "./reflect";
3
+
1
4
  // tslint:disable-next-line:class-name
2
5
  export class resources {
3
6
  static limit = 24;
7
+ static pages = [12, 24, 60, 100, 120, 180, 300, 600];
8
+ static pageMaxSize = 7;
4
9
  }
5
10
  interface Filter {
6
11
  page?: number;
@@ -49,32 +54,47 @@ export interface Pagination {
49
54
  interface Searchable extends Pagination, Sortable {
50
55
  }
51
56
 
52
- export function mergeFilter<S extends Filter>(obj: S, b?: S, pageSizes?: number[], arrs?: string[]|any) {
53
- let a: any = b;
57
+ export function getOffset(limit: number, page?: number, firstLimit?: number): number {
58
+ const p = page && page > 0 ? page : 1
59
+ if (firstLimit && firstLimit > 0) {
60
+ const offset = limit * (p - 2) + firstLimit
61
+ return offset < 0 ? 0 : offset
62
+ } else {
63
+ const offset = limit * (p - 1)
64
+ return offset < 0 ? 0 : offset
65
+ }
66
+ }
67
+ export function mergeFilter<S extends Filter>(obj: S, b?: S, pageSizes?: number[], arrs?: string[] | any) {
68
+ let a: any = b
54
69
  if (!b) {
55
- a = {};
70
+ a = {}
56
71
  }
57
- const slimit: any = obj['limit'];
72
+ const keys = Object.keys(obj)
73
+ for (const key of keys) {
74
+ const p = a[key]
75
+ const v = (obj as any)[key]
76
+ if (v && v !== "") {
77
+ a[key] = isArray(key, p, arrs) ? v.split(",") : v
78
+ }
79
+ }
80
+ const spage: any = obj["page"]
81
+ if (!isNaN(spage)) {
82
+ const page = parseInt(spage, 10)
83
+ a.page = page > 1 ? page : undefined
84
+ }
85
+ const slimit: any = obj["limit"]
58
86
  if (!isNaN(slimit)) {
59
- const limit = parseInt(slimit, 10);
87
+ const limit = parseInt(slimit, 10)
60
88
  if (pageSizes && pageSizes.length > 0) {
61
89
  if (pageSizes.indexOf(limit) >= 0) {
62
- a.limit = limit;
90
+ a.limit = limit
91
+ return a
63
92
  }
64
93
  } else {
65
- a.limit = limit;
94
+ a.limit = limit > 0 ? limit : 12
66
95
  }
67
96
  }
68
- delete obj['limit'];
69
- const keys = Object.keys(obj);
70
- for (const key of keys) {
71
- const p = a[key];
72
- const v = (obj as any)[key];
73
- if (v && v !== '') {
74
- a[key] = (isArray(key, p, arrs) ? v.split(',') : v);
75
- }
76
- }
77
- return a;
97
+ return a
78
98
  }
79
99
  export function isArray(key: string, p: any, arrs: string[]|any): boolean {
80
100
  if (p) {
@@ -268,40 +288,43 @@ export function showPaging<T>(com: Pagination, list: T[], pageSize?: number, tot
268
288
  com.showPaging = (!total || com.pages <= 1 || (list && list.length >= total) ? false : true);
269
289
  }
270
290
 
271
- export function getFields(form?: HTMLFormElement): string[]|undefined {
291
+ export function getFields(form?: HTMLFormElement, arr?: string[]): string[] | undefined {
292
+ if (arr && arr.length > 0) {
293
+ return arr
294
+ }
272
295
  if (!form) {
273
- return undefined;
296
+ return undefined
274
297
  }
275
- let nodes = form.nextSibling as HTMLElement;
298
+ let nodes = form.nextSibling as HTMLElement
276
299
  if (!nodes.querySelector) {
277
300
  if (!form.nextSibling) {
278
- return [];
301
+ return []
279
302
  } else {
280
- nodes = form.nextSibling.nextSibling as HTMLElement;
303
+ nodes = form.nextSibling.nextSibling as HTMLElement
281
304
  }
282
305
  }
283
306
  if (!nodes.querySelector) {
284
- return [];
307
+ return undefined
285
308
  }
286
- const table = nodes.querySelector('table');
287
- const fields: string[] = [];
309
+ const table = nodes.querySelector("table")
310
+ const fields: string[] = []
288
311
  if (table) {
289
- const thead = table.querySelector('thead');
312
+ const thead = table.querySelector("thead")
290
313
  if (thead) {
291
- const ths = thead.querySelectorAll('th');
314
+ const ths = thead.querySelectorAll("th")
292
315
  if (ths) {
293
- const l = ths.length;
316
+ const l = ths.length
294
317
  for (let i = 0; i < l; i++) {
295
- const th = ths[i];
296
- const field = th.getAttribute('data-field');
318
+ const th = ths[i]
319
+ const field = th.getAttribute("data-field")
297
320
  if (field) {
298
- fields.push(field);
321
+ fields.push(field)
299
322
  }
300
323
  }
301
324
  }
302
325
  }
303
326
  }
304
- return fields;
327
+ return fields.length > 0 ? fields : undefined
305
328
  }
306
329
  interface Component<T> {
307
330
  pageIndex?: number;
@@ -376,22 +399,41 @@ export function getPageTotal(pageSize?: number, total?: number): number {
376
399
  }
377
400
  }
378
401
 
379
- export function buildMessage<T>(r: ResourceService, pageIndex: number|undefined, pageSize: number, results: T[], total?: number): string {
402
+ export function formatText(...args: any[]): string {
403
+ let formatted = args[0]
404
+ if (!formatted || formatted === "") {
405
+ return ""
406
+ }
407
+ if (args.length > 1 && Array.isArray(args[1])) {
408
+ const params = args[1]
409
+ for (let i = 0; i < params.length; i++) {
410
+ const regexp = new RegExp("\\{" + i + "\\}", "gi")
411
+ formatted = formatted.replace(regexp, params[i])
412
+ }
413
+ } else {
414
+ for (let i = 1; i < args.length; i++) {
415
+ const regexp = new RegExp("\\{" + (i - 1) + "\\}", "gi")
416
+ formatted = formatted.replace(regexp, args[i])
417
+ }
418
+ }
419
+ return formatted
420
+ }
421
+ export function buildMessage<T>(resource: StringMap, results: T[], pageSize: number, pageIndex: number | undefined, total?: number): string {
380
422
  if (!results || results.length === 0) {
381
- return r.value('msg_no_data_found');
423
+ return resource.msg_no_data_found
382
424
  } else {
383
425
  if (!pageIndex) {
384
- pageIndex = 1;
426
+ pageIndex = 1
385
427
  }
386
- const fromIndex = (pageIndex - 1) * pageSize + 1;
387
- const toIndex = fromIndex + results.length - 1;
388
- const pageTotal = getPageTotal(pageSize, total);
428
+ const fromIndex = (pageIndex - 1) * pageSize + 1
429
+ const toIndex = fromIndex + results.length - 1
430
+ const pageTotal = getPageTotal(pageSize, total)
389
431
  if (pageTotal > 1) {
390
- const msg2 = r.format(r.value('msg_search_result_page_sequence'), fromIndex, toIndex, total, pageIndex, pageTotal);
391
- return msg2;
432
+ const msg2 = formatText(resource.msg_search_result_page_sequence, fromIndex, toIndex, total, pageIndex, pageTotal)
433
+ return msg2
392
434
  } else {
393
- const msg3 = r.format(r.value('msg_search_result_sequence'), fromIndex, toIndex);
394
- return msg3;
435
+ const msg3 = formatText(resource.msg_search_result_sequence, fromIndex, toIndex)
436
+ return msg3
395
437
  }
396
438
  }
397
439
  }
@@ -501,7 +543,44 @@ export interface Sort {
501
543
  field?: string;
502
544
  type?: string;
503
545
  }
504
-
546
+ export function buildSort<F extends Filter>(filter: F): Sort {
547
+ const sort: Sort = {}
548
+ const st = filter.sort
549
+ if (st && st.length > 0) {
550
+ const ch = st.charAt(0)
551
+ if (ch === "+" || ch === "-") {
552
+ sort.field = st.substring(1)
553
+ sort.type = ch
554
+ } else {
555
+ sort.field = st
556
+ sort.type = ""
557
+ }
558
+ }
559
+ return sort
560
+ }
561
+ export function buildSortFilter<S extends Filter>(obj: S, sortable: Sortable): S {
562
+ const filter: any = clone(obj)
563
+ if (sortable.sortField && sortable.sortField.length > 0) {
564
+ filter.sort = sortable.sortType === "-" ? "-" + sortable.sortField : sortable.sortField
565
+ } else {
566
+ delete filter.sort
567
+ }
568
+ delete filter.fields
569
+ return filter
570
+ }
571
+ export function handleToggle(target?: HTMLInputElement, on?: boolean): boolean {
572
+ const off = !on
573
+ if (target) {
574
+ if (on) {
575
+ if (!target.classList.contains('on')) {
576
+ target.classList.add('on');
577
+ }
578
+ } else {
579
+ target.classList.remove('on');
580
+ }
581
+ }
582
+ return off
583
+ }
505
584
  export function handleSortEvent(event: Event, com: Sortable): void {
506
585
  if (event && event.target) {
507
586
  const target = event.target as HTMLElement;
@@ -512,6 +591,9 @@ export function handleSortEvent(event: Event, com: Sortable): void {
512
591
  }
513
592
  }
514
593
 
594
+ export function getSortElement(target: HTMLElement): HTMLElement {
595
+ return target.nodeName === "I" ? (target.parentElement as HTMLElement) : target
596
+ }
515
597
  export function handleSort(target: HTMLElement, previousTarget?: HTMLElement, sortField?: string, sortType?: string): Sort {
516
598
  const type = target.getAttribute('sort-type');
517
599
  const field = toggleSortStyle(target);
package/src/useSearch.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import {useEffect, useState} from 'react';
2
- import {error, getName, getRemoveError, getValidateForm, handleToggle, hideLoading, initForm, Locale, PageChange, pageSizes, removeFormError, ResourceService, SearchParameter, SearchResult, SearchService, showLoading} from './core';
2
+ import {error, getName, getRemoveError, getValidateForm, hideLoading, initForm, Locale, PageChange, pageSizes, removeFormError, ResourceService, SearchParameter, SearchResult, SearchService, showLoading} from './core';
3
3
  import {DispatchWithCallback, useMergeState} from './merge';
4
4
  import {clone} from './reflect';
5
5
  import {buildFromUrl} from './route';
6
- import {addParametersIntoUrl, append, buildMessage, formatResults, getFieldsFromForm, getModel, handleAppend, handleSort, initFilter, mergeFilter as mergeFilter2, Pagination, removeSortStatus, showPaging, Sortable, validate} from './search';
6
+ import {addParametersIntoUrl, append, buildMessage, formatResults, getFieldsFromForm, getModel, handleAppend, handleSort, handleToggle, initFilter, mergeFilter as mergeFilter2, Pagination, removeSortStatus, showPaging, Sortable, validate} from './search';
7
7
  import {enLocale} from './state';
8
8
  import {useUpdate} from './update';
9
9
 
@@ -257,9 +257,8 @@ export const useCoreSearch = <T, S extends Filter, ST>(
257
257
  const [component, setComponent] = useMergeState<SearchComponentState<T, S>>(p);
258
258
 
259
259
  const toggleFilter = (event: React.MouseEvent<HTMLButtonElement, MouseEvent>): void => {
260
- const x = !component.hideFilter;
261
- handleToggle(event.target as HTMLInputElement, !x);
262
- setComponent({ hideFilter: x });
260
+ const hideFilter = handleToggle(event.target as HTMLInputElement, component.hideFilter);
261
+ setComponent({ hideFilter });
263
262
  };
264
263
 
265
264
  const _getFields = (): string[]|undefined => {
@@ -464,7 +463,7 @@ export const useCoreSearch = <T, S extends Filter, ST>(
464
463
  setList(results, setState as any);
465
464
  setComponent({ tmpPageIndex: s.page });
466
465
  if (s.limit) {
467
- const m1 = buildMessage(p1.resource, s.page, s.limit, sr.list, sr.total);
466
+ const m1 = buildMessage(p1.resource.resource(), sr.list, s.limit, s.page, sr.total);
468
467
  p1.showMessage(m1);
469
468
  }
470
469
  }