react-usespinner 1.0.14 → 1.0.16

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.
Files changed (2) hide show
  1. package/dist/usespinner.js +25 -9
  2. package/package.json +1 -1
@@ -1,4 +1,15 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
14
  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
15
  if (ar || !(i in from)) {
@@ -16,12 +27,16 @@ var useSpinner = function (globalOptions) {
16
27
  var _a = (0, react_1.useState)([]), actions = _a[0], setActions = _a[1];
17
28
  // set a timer that every second checks if any actions can be closed
18
29
  (0, react_1.useEffect)(function () {
19
- var timer = setTimeout(function () {
20
- if (actions) {
21
- setActions(function (prev) { return prev.filter(function (item) { return item.endtime > Date.now(); }); });
22
- }
23
- }, 1000);
24
- return function () { return clearTimeout(timer); };
30
+ if (actions.length > 0) {
31
+ var timer_1 = setTimeout(function () {
32
+ if (actions) {
33
+ setActions(function (prev) {
34
+ return prev.filter(function (item) { return item.endtime > Date.now(); });
35
+ });
36
+ }
37
+ }, 1000);
38
+ return function () { return clearTimeout(timer_1); };
39
+ }
25
40
  }, [actions]);
26
41
  // Allow the start of a new Action to be tracked
27
42
  var start = function (name, options) {
@@ -40,16 +55,17 @@ var useSpinner = function (globalOptions) {
40
55
  setActions([]);
41
56
  };
42
57
  var busy = function () {
58
+ console.log("Busy = ", actions && actions.length > 0);
43
59
  return actions && actions.length > 0;
44
60
  };
45
61
  // JSX component used to wrap spinner of choice
46
62
  var SpinnerContainer = function (_a) {
47
63
  var spinner = _a.spinner, children = _a.children;
48
64
  // If no active Actions then dont display anything
49
- if (actions && actions.length > 0) {
50
- return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: spinner });
65
+ if (busy()) {
66
+ return (0, jsx_runtime_1.jsx)("div", __assign({ className: "useSpinner" }, { children: spinner }));
51
67
  }
52
- return (0, jsx_runtime_1.jsx)("div", { children: children });
68
+ return (0, jsx_runtime_1.jsx)("div", __assign({ className: "useSpinner" }, { children: children }));
53
69
  };
54
70
  // return hook values
55
71
  return { start: start, end: end, clear: clear, busy: busy, SpinnerContainer: SpinnerContainer };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-usespinner",
3
- "version": "1.0.14",
3
+ "version": "1.0.16",
4
4
  "description": "Track actions in progress to know if a spinner should be display. Actions expire within 10 seconds if not expired in code",
5
5
  "private": false,
6
6
  "license": "MIT",