dry-ux 1.31.0 → 1.33.0
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/helpers/DajaxiceProxy.d.ts +3 -0
- package/dist/helpers/DajaxiceProxy.js +5 -3
- package/dist/index.d.ts +1 -0
- package/dist/index.js +3 -1
- package/dist/ui-utils/Loader.d.ts +2 -2
- package/dist/ui-utils/Loader.js +7 -132
- package/dist/ui-utils/Spinner.d.ts +2 -0
- package/dist/ui-utils/Spinner.js +12 -0
- package/dist/ui-utils/SpinnerStyles.d.ts +5 -0
- package/dist/ui-utils/SpinnerStyles.js +145 -0
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
declare type Args<T = void> = {
|
|
2
2
|
args: T;
|
|
3
|
+
loader?: boolean;
|
|
3
4
|
skip?: {
|
|
4
5
|
authCheck?: boolean;
|
|
5
6
|
errorHandler?: boolean;
|
|
@@ -12,6 +13,8 @@ export declare type DajaxiceFn<TArgs = void> = <TResult = any>(args: ArgType<TAr
|
|
|
12
13
|
* This function is used to create a type safe proxy for the Dajaxice functions.
|
|
13
14
|
* @param modules: The modules object from the Dajaxice generated file.
|
|
14
15
|
* @param authCheck The auth check object. If undefined, it will not check for authentication.
|
|
16
|
+
* @param onError: Default handler for error
|
|
17
|
+
* @param loader: If true, it will show a loader when a Dajaxice function is called.
|
|
15
18
|
* @returns A type safe proxy for calling Dajaxice functions.
|
|
16
19
|
*/
|
|
17
20
|
export declare const DajaxiceProxy: <TModule>({ modules, authCheck, onError, loader, }: {
|
|
@@ -7,16 +7,18 @@ const Loader_1 = require("../ui-utils/Loader");
|
|
|
7
7
|
* This function is used to create a type safe proxy for the Dajaxice functions.
|
|
8
8
|
* @param modules: The modules object from the Dajaxice generated file.
|
|
9
9
|
* @param authCheck The auth check object. If undefined, it will not check for authentication.
|
|
10
|
+
* @param onError: Default handler for error
|
|
11
|
+
* @param loader: If true, it will show a loader when a Dajaxice function is called.
|
|
10
12
|
* @returns A type safe proxy for calling Dajaxice functions.
|
|
11
13
|
*/
|
|
12
|
-
const DajaxiceProxy = ({ modules, authCheck, onError, loader:
|
|
14
|
+
const DajaxiceProxy = ({ modules, authCheck, onError, loader: showLoaderGlobal, }) => new Proxy(modules, {
|
|
13
15
|
get(target, module) {
|
|
14
16
|
return new Proxy({}, {
|
|
15
17
|
get(target, method) {
|
|
16
|
-
return function ({ args, skip } = {}) {
|
|
18
|
+
return function ({ args, skip, loader: showLoaderLocal, } = {}) {
|
|
17
19
|
return new Promise((resolve, reject) => {
|
|
18
20
|
const methodName = window["Dajaxice"][module][method];
|
|
19
|
-
const loader =
|
|
21
|
+
const loader = (showLoaderGlobal || showLoaderLocal) && !(skip === null || skip === void 0 ? void 0 : skip.loader) ? new Loader_1.Loader() : undefined;
|
|
20
22
|
const hideLoader = () => {
|
|
21
23
|
try {
|
|
22
24
|
loader === null || loader === void 0 ? void 0 : loader.hide();
|
package/dist/index.d.ts
CHANGED
|
@@ -10,3 +10,4 @@ export { DajaxiceFn, DajaxiceProxy } from "./helpers/DajaxiceProxy";
|
|
|
10
10
|
export { ErrorBoundary } from "./error/ErrorBoundary";
|
|
11
11
|
export { ErrorScreen } from "./error/ErrorScreen";
|
|
12
12
|
export { Loader } from "./ui-utils/Loader";
|
|
13
|
+
export { Spinner } from "./ui-utils/Spinner";
|
package/dist/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.Loader = exports.ErrorScreen = exports.ErrorBoundary = exports.DajaxiceProxy = exports.unflatten = exports.flatten = exports.classSet = exports.DryUXProvider = exports.Money = exports.DryUXRenderer = exports.DryUXContext = exports.useDryUxContext = void 0;
|
|
17
|
+
exports.Spinner = exports.Loader = exports.ErrorScreen = exports.ErrorBoundary = exports.DajaxiceProxy = exports.unflatten = exports.flatten = exports.classSet = exports.DryUXProvider = exports.Money = exports.DryUXRenderer = exports.DryUXContext = exports.useDryUxContext = void 0;
|
|
18
18
|
var UIUtilProvider_1 = require("./ui-utils/UIUtilProvider");
|
|
19
19
|
Object.defineProperty(exports, "useDryUxContext", { enumerable: true, get: function () { return UIUtilProvider_1.useUIUtilContext; } });
|
|
20
20
|
Object.defineProperty(exports, "DryUXContext", { enumerable: true, get: function () { return UIUtilProvider_1.UIUtilContext; } });
|
|
@@ -39,3 +39,5 @@ var ErrorScreen_1 = require("./error/ErrorScreen");
|
|
|
39
39
|
Object.defineProperty(exports, "ErrorScreen", { enumerable: true, get: function () { return ErrorScreen_1.ErrorScreen; } });
|
|
40
40
|
var Loader_1 = require("./ui-utils/Loader");
|
|
41
41
|
Object.defineProperty(exports, "Loader", { enumerable: true, get: function () { return Loader_1.Loader; } });
|
|
42
|
+
var Spinner_1 = require("./ui-utils/Spinner");
|
|
43
|
+
Object.defineProperty(exports, "Spinner", { enumerable: true, get: function () { return Spinner_1.Spinner; } });
|
package/dist/ui-utils/Loader.js
CHANGED
|
@@ -1,132 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Loader = void 0;
|
|
4
|
+
const SpinnerStyles_1 = require("./SpinnerStyles");
|
|
4
5
|
class Loader {
|
|
5
6
|
constructor() {
|
|
6
|
-
this.
|
|
7
|
-
|
|
8
|
-
position: fixed;
|
|
9
|
-
z-index: 999;
|
|
10
|
-
height: 2em;
|
|
11
|
-
width: 2em;
|
|
12
|
-
overflow: show;
|
|
13
|
-
margin: auto;
|
|
14
|
-
top: 0;
|
|
15
|
-
left: 0;
|
|
16
|
-
bottom: 0;
|
|
17
|
-
right: 0;
|
|
18
|
-
visibility: hidden;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/* Transparent Overlay */
|
|
22
|
-
#dry-ux-loader:before {
|
|
23
|
-
content: '';
|
|
24
|
-
display: block;
|
|
25
|
-
position: fixed;
|
|
26
|
-
top: 0;
|
|
27
|
-
left: 0;
|
|
28
|
-
width: 100%;
|
|
29
|
-
height: 100%;
|
|
30
|
-
background-color: rgba(0,0,0,0.3);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/* :not(:required) hides these rules from IE9 and below */
|
|
34
|
-
#dry-ux-loader:not(:required) {
|
|
35
|
-
/* hide "loading..." text */
|
|
36
|
-
font: 0/0 a;
|
|
37
|
-
color: transparent;
|
|
38
|
-
text-shadow: none;
|
|
39
|
-
background-color: transparent;
|
|
40
|
-
border: 0;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
#dry-ux-loader:not(:required):after {
|
|
44
|
-
content: '';
|
|
45
|
-
display: block;
|
|
46
|
-
font-size: 10px;
|
|
47
|
-
width: 1em;
|
|
48
|
-
height: 1em;
|
|
49
|
-
margin-top: -0.5em;
|
|
50
|
-
-webkit-animation: spinner 1500ms infinite linear;
|
|
51
|
-
-moz-animation: spinner 1500ms infinite linear;
|
|
52
|
-
-ms-animation: spinner 1500ms infinite linear;
|
|
53
|
-
-o-animation: spinner 1500ms infinite linear;
|
|
54
|
-
animation: spinner 1500ms infinite linear;
|
|
55
|
-
border-radius: 0.5em;
|
|
56
|
-
-webkit-box-shadow: rgba(0, 0, 0, 0.75) 1.5em 0 0 0, rgba(0, 0, 0, 0.75) 1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) 0 1.5em 0 0, rgba(0, 0, 0, 0.75) -1.1em 1.1em 0 0, rgba(0, 0, 0, 0.5) -1.5em 0 0 0, rgba(0, 0, 0, 0.5) -1.1em -1.1em 0 0, rgba(0, 0, 0, 0.75) 0 -1.5em 0 0, rgba(0, 0, 0, 0.75) 1.1em -1.1em 0 0;
|
|
57
|
-
box-shadow: rgba(0, 0, 0, 0.75) 1.5em 0 0 0, rgba(0, 0, 0, 0.75) 1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) 0 1.5em 0 0, rgba(0, 0, 0, 0.75) -1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) -1.5em 0 0 0, rgba(0, 0, 0, 0.75) -1.1em -1.1em 0 0, rgba(0, 0, 0, 0.75) 0 -1.5em 0 0, rgba(0, 0, 0, 0.75) 1.1em -1.1em 0 0;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
/* Animation */
|
|
61
|
-
|
|
62
|
-
@-webkit-keyframes spinner {
|
|
63
|
-
0% {
|
|
64
|
-
-webkit-transform: rotate(0deg);
|
|
65
|
-
-moz-transform: rotate(0deg);
|
|
66
|
-
-ms-transform: rotate(0deg);
|
|
67
|
-
-o-transform: rotate(0deg);
|
|
68
|
-
transform: rotate(0deg);
|
|
69
|
-
}
|
|
70
|
-
100% {
|
|
71
|
-
-webkit-transform: rotate(360deg);
|
|
72
|
-
-moz-transform: rotate(360deg);
|
|
73
|
-
-ms-transform: rotate(360deg);
|
|
74
|
-
-o-transform: rotate(360deg);
|
|
75
|
-
transform: rotate(360deg);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
@-moz-keyframes spinner {
|
|
79
|
-
0% {
|
|
80
|
-
-webkit-transform: rotate(0deg);
|
|
81
|
-
-moz-transform: rotate(0deg);
|
|
82
|
-
-ms-transform: rotate(0deg);
|
|
83
|
-
-o-transform: rotate(0deg);
|
|
84
|
-
transform: rotate(0deg);
|
|
85
|
-
}
|
|
86
|
-
100% {
|
|
87
|
-
-webkit-transform: rotate(360deg);
|
|
88
|
-
-moz-transform: rotate(360deg);
|
|
89
|
-
-ms-transform: rotate(360deg);
|
|
90
|
-
-o-transform: rotate(360deg);
|
|
91
|
-
transform: rotate(360deg);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
@-o-keyframes spinner {
|
|
95
|
-
0% {
|
|
96
|
-
-webkit-transform: rotate(0deg);
|
|
97
|
-
-moz-transform: rotate(0deg);
|
|
98
|
-
-ms-transform: rotate(0deg);
|
|
99
|
-
-o-transform: rotate(0deg);
|
|
100
|
-
transform: rotate(0deg);
|
|
101
|
-
}
|
|
102
|
-
100% {
|
|
103
|
-
-webkit-transform: rotate(360deg);
|
|
104
|
-
-moz-transform: rotate(360deg);
|
|
105
|
-
-ms-transform: rotate(360deg);
|
|
106
|
-
-o-transform: rotate(360deg);
|
|
107
|
-
transform: rotate(360deg);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
@keyframes spinner {
|
|
111
|
-
0% {
|
|
112
|
-
-webkit-transform: rotate(0deg);
|
|
113
|
-
-moz-transform: rotate(0deg);
|
|
114
|
-
-ms-transform: rotate(0deg);
|
|
115
|
-
-o-transform: rotate(0deg);
|
|
116
|
-
transform: rotate(0deg);
|
|
117
|
-
}
|
|
118
|
-
100% {
|
|
119
|
-
-webkit-transform: rotate(360deg);
|
|
120
|
-
-moz-transform: rotate(360deg);
|
|
121
|
-
-ms-transform: rotate(360deg);
|
|
122
|
-
-o-transform: rotate(360deg);
|
|
123
|
-
transform: rotate(360deg);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
`;
|
|
7
|
+
this.spinnerStyles = new SpinnerStyles_1.SpinnerStyles();
|
|
8
|
+
this.elementId = "dry-ux-loader";
|
|
127
9
|
}
|
|
128
10
|
get element() {
|
|
129
|
-
return document.getElementById(
|
|
11
|
+
return document.getElementById(this.elementId);
|
|
130
12
|
}
|
|
131
13
|
show() {
|
|
132
14
|
this.addElementsIfNotExists();
|
|
@@ -137,19 +19,12 @@ class Loader {
|
|
|
137
19
|
this.element.style.visibility = "hidden";
|
|
138
20
|
}
|
|
139
21
|
}
|
|
140
|
-
addStyles() {
|
|
141
|
-
let el = document.createElement("style");
|
|
142
|
-
el.innerText = this.css;
|
|
143
|
-
document.head.appendChild(el);
|
|
144
|
-
return el;
|
|
145
|
-
}
|
|
146
22
|
addElementsIfNotExists() {
|
|
147
|
-
|
|
148
|
-
this.addStyles();
|
|
149
|
-
}
|
|
23
|
+
this.spinnerStyles.add();
|
|
150
24
|
if (!this.element) {
|
|
151
25
|
let el = document.createElement("div");
|
|
152
|
-
el.id =
|
|
26
|
+
el.id = this.elementId;
|
|
27
|
+
el.className = "dry-ux-spinner fullscreen";
|
|
153
28
|
document.body.appendChild(el);
|
|
154
29
|
}
|
|
155
30
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Spinner = void 0;
|
|
4
|
+
const React = require("react");
|
|
5
|
+
const SpinnerStyles_1 = require("./SpinnerStyles");
|
|
6
|
+
exports.Spinner = React.memo(() => {
|
|
7
|
+
React.useEffect(() => {
|
|
8
|
+
const spinnerStyles = new SpinnerStyles_1.SpinnerStyles();
|
|
9
|
+
spinnerStyles.add();
|
|
10
|
+
}, []);
|
|
11
|
+
return React.createElement("div", { className: "dry-ux-spinner" });
|
|
12
|
+
});
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SpinnerStyles = void 0;
|
|
4
|
+
class SpinnerStyles {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.css = `
|
|
7
|
+
/* Absolute Center Spinner */
|
|
8
|
+
.dry-ux-spinner.fullscreen {
|
|
9
|
+
position: fixed;
|
|
10
|
+
z-index: 999;
|
|
11
|
+
height: 2em;
|
|
12
|
+
width: 2em;
|
|
13
|
+
overflow: show;
|
|
14
|
+
margin: auto;
|
|
15
|
+
top: 0;
|
|
16
|
+
left: 0;
|
|
17
|
+
bottom: 0;
|
|
18
|
+
right: 0;
|
|
19
|
+
visibility: hidden;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/* Transparent Overlay */
|
|
23
|
+
.dry-ux-spinner.fullscreen:before {
|
|
24
|
+
content: '';
|
|
25
|
+
display: block;
|
|
26
|
+
position: fixed;
|
|
27
|
+
top: 0;
|
|
28
|
+
left: 0;
|
|
29
|
+
width: 100%;
|
|
30
|
+
height: 100%;
|
|
31
|
+
background-color: rgba(0,0,0,0.3);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.dry-ux-spinner:not(.fullscreen) {
|
|
35
|
+
padding: 20px;
|
|
36
|
+
display: inline-block;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/* :not(:required) hides these rules from IE9 and below */
|
|
40
|
+
.dry-ux-spinner:not(:required) {
|
|
41
|
+
/* hide "loading..." text */
|
|
42
|
+
font: 0/0 a;
|
|
43
|
+
color: transparent;
|
|
44
|
+
text-shadow: none;
|
|
45
|
+
background-color: transparent;
|
|
46
|
+
border: 0;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.dry-ux-spinner:not(:required):after {
|
|
50
|
+
content: '';
|
|
51
|
+
display: block;
|
|
52
|
+
font-size: 10px;
|
|
53
|
+
width: 1em;
|
|
54
|
+
height: 1em;
|
|
55
|
+
margin-top: -0.5em;
|
|
56
|
+
-webkit-animation: spinner 1500ms infinite linear;
|
|
57
|
+
-moz-animation: spinner 1500ms infinite linear;
|
|
58
|
+
-ms-animation: spinner 1500ms infinite linear;
|
|
59
|
+
-o-animation: spinner 1500ms infinite linear;
|
|
60
|
+
animation: spinner 1500ms infinite linear;
|
|
61
|
+
border-radius: 0.5em;
|
|
62
|
+
-webkit-box-shadow: rgba(0, 0, 0, 0.75) 1.5em 0 0 0, rgba(0, 0, 0, 0.75) 1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) 0 1.5em 0 0, rgba(0, 0, 0, 0.75) -1.1em 1.1em 0 0, rgba(0, 0, 0, 0.5) -1.5em 0 0 0, rgba(0, 0, 0, 0.5) -1.1em -1.1em 0 0, rgba(0, 0, 0, 0.75) 0 -1.5em 0 0, rgba(0, 0, 0, 0.75) 1.1em -1.1em 0 0;
|
|
63
|
+
box-shadow: rgba(0, 0, 0, 0.75) 1.5em 0 0 0, rgba(0, 0, 0, 0.75) 1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) 0 1.5em 0 0, rgba(0, 0, 0, 0.75) -1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) -1.5em 0 0 0, rgba(0, 0, 0, 0.75) -1.1em -1.1em 0 0, rgba(0, 0, 0, 0.75) 0 -1.5em 0 0, rgba(0, 0, 0, 0.75) 1.1em -1.1em 0 0;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/* Animation */
|
|
67
|
+
|
|
68
|
+
@-webkit-keyframes spinner {
|
|
69
|
+
0% {
|
|
70
|
+
-webkit-transform: rotate(0deg);
|
|
71
|
+
-moz-transform: rotate(0deg);
|
|
72
|
+
-ms-transform: rotate(0deg);
|
|
73
|
+
-o-transform: rotate(0deg);
|
|
74
|
+
transform: rotate(0deg);
|
|
75
|
+
}
|
|
76
|
+
100% {
|
|
77
|
+
-webkit-transform: rotate(360deg);
|
|
78
|
+
-moz-transform: rotate(360deg);
|
|
79
|
+
-ms-transform: rotate(360deg);
|
|
80
|
+
-o-transform: rotate(360deg);
|
|
81
|
+
transform: rotate(360deg);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
@-moz-keyframes spinner {
|
|
85
|
+
0% {
|
|
86
|
+
-webkit-transform: rotate(0deg);
|
|
87
|
+
-moz-transform: rotate(0deg);
|
|
88
|
+
-ms-transform: rotate(0deg);
|
|
89
|
+
-o-transform: rotate(0deg);
|
|
90
|
+
transform: rotate(0deg);
|
|
91
|
+
}
|
|
92
|
+
100% {
|
|
93
|
+
-webkit-transform: rotate(360deg);
|
|
94
|
+
-moz-transform: rotate(360deg);
|
|
95
|
+
-ms-transform: rotate(360deg);
|
|
96
|
+
-o-transform: rotate(360deg);
|
|
97
|
+
transform: rotate(360deg);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
@-o-keyframes spinner {
|
|
101
|
+
0% {
|
|
102
|
+
-webkit-transform: rotate(0deg);
|
|
103
|
+
-moz-transform: rotate(0deg);
|
|
104
|
+
-ms-transform: rotate(0deg);
|
|
105
|
+
-o-transform: rotate(0deg);
|
|
106
|
+
transform: rotate(0deg);
|
|
107
|
+
}
|
|
108
|
+
100% {
|
|
109
|
+
-webkit-transform: rotate(360deg);
|
|
110
|
+
-moz-transform: rotate(360deg);
|
|
111
|
+
-ms-transform: rotate(360deg);
|
|
112
|
+
-o-transform: rotate(360deg);
|
|
113
|
+
transform: rotate(360deg);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
@keyframes spinner {
|
|
117
|
+
0% {
|
|
118
|
+
-webkit-transform: rotate(0deg);
|
|
119
|
+
-moz-transform: rotate(0deg);
|
|
120
|
+
-ms-transform: rotate(0deg);
|
|
121
|
+
-o-transform: rotate(0deg);
|
|
122
|
+
transform: rotate(0deg);
|
|
123
|
+
}
|
|
124
|
+
100% {
|
|
125
|
+
-webkit-transform: rotate(360deg);
|
|
126
|
+
-moz-transform: rotate(360deg);
|
|
127
|
+
-ms-transform: rotate(360deg);
|
|
128
|
+
-o-transform: rotate(360deg);
|
|
129
|
+
transform: rotate(360deg);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
`;
|
|
133
|
+
this.id = "dry-ux-loader-styles";
|
|
134
|
+
}
|
|
135
|
+
add() {
|
|
136
|
+
if (!document.getElementById(this.id)) {
|
|
137
|
+
let el = document.createElement("style");
|
|
138
|
+
el.innerText = this.css;
|
|
139
|
+
el.id = this.id;
|
|
140
|
+
document.head.appendChild(el);
|
|
141
|
+
return el;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
exports.SpinnerStyles = SpinnerStyles;
|