studiokit-scaffolding-js 4.5.12-next.3.9 → 4.6.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/lib/components/Error.js +3 -4
- package/lib/components/LockDownBrowserExitButton.js +2 -2
- package/lib/constants/lockDownBrowser.d.ts +4 -3
- package/lib/constants/lockDownBrowser.js +11 -10
- package/lib/redux/sagas/lockDownBrowserErrorSaga.d.ts +1 -1
- package/lib/redux/sagas/lockDownBrowserErrorSaga.js +41 -21
- package/lib/utils/lockDownBrowser.js +5 -5
- package/package.json +1 -1
package/lib/components/Error.js
CHANGED
|
@@ -19,12 +19,11 @@ var Error = function (props) {
|
|
|
19
19
|
react_1.default.createElement(react_bootstrap_1.Col, { md: 8 },
|
|
20
20
|
react_1.default.createElement("h1", null, "Uh oh!"),
|
|
21
21
|
message && react_1.default.createElement("blockquote", null, message),
|
|
22
|
+
react_1.default.createElement("p", null, " Sorry, but it looks like something went wrong while processing your request."),
|
|
22
23
|
react_1.default.createElement("p", null,
|
|
23
|
-
"Sorry, but it looks like something went wrong while processing your request.",
|
|
24
|
-
react_1.default.createElement("br", null),
|
|
25
|
-
lockDownBrowserInfo.isClientLockDownBrowser && react_1.default.createElement(LockDownBrowserExitButton_1.LockDownBrowserExitButton, null),
|
|
26
24
|
"If you have any questions or concerns please contact us at",
|
|
27
25
|
' ',
|
|
28
|
-
react_1.default.createElement("a", { href: "mailto:tlt@purdue.edu" }, "tlt@purdue.edu"))
|
|
26
|
+
react_1.default.createElement("a", { href: "mailto:tlt@purdue.edu" }, "tlt@purdue.edu")),
|
|
27
|
+
lockDownBrowserInfo.isClientLockDownBrowser && react_1.default.createElement(LockDownBrowserExitButton_1.LockDownBrowserExitButton, null))))));
|
|
29
28
|
};
|
|
30
29
|
exports.default = Error;
|
|
@@ -14,8 +14,8 @@ var LockDownBrowserExitButton = function () {
|
|
|
14
14
|
return (react_1.default.createElement(Button_1.default, { className: "btn-primary mb4", onClick: function () {
|
|
15
15
|
return history.push({
|
|
16
16
|
pathname: location.pathname,
|
|
17
|
-
search: "?" + constants_1.
|
|
17
|
+
search: "?" + constants_1.LOCKDOWN_BROWSER_KEY.EXIT_BROWSER + "=" + constants_1.LOCKDOWN_BROWSER_TRUE
|
|
18
18
|
});
|
|
19
|
-
} }, "Close Browser"));
|
|
19
|
+
} }, "Close LockDown Browser"));
|
|
20
20
|
};
|
|
21
21
|
exports.LockDownBrowserExitButton = LockDownBrowserExitButton;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
export declare
|
|
2
|
-
export declare enum LOCKDOWN_BROWSER_COOKIE {
|
|
1
|
+
export declare enum LOCKDOWN_BROWSER_KEY {
|
|
3
2
|
/** Cookie set by LDB to claim it is LDB. */
|
|
4
3
|
CLIENT_IS_LOCK_DOWN_BROWSER = "rldbci",
|
|
5
4
|
/** Cookie set by LDB containing the client build identifier. */
|
|
@@ -9,6 +8,8 @@ export declare enum LOCKDOWN_BROWSER_COOKIE {
|
|
|
9
8
|
/** Cookie set by LDB containing the build date, if the client is on mac. */
|
|
10
9
|
BUILD_DATE_MAC = "rldbbdm",
|
|
11
10
|
/** Cookie set by LDB containing the build date, if the client is on iPad. */
|
|
12
|
-
BUILD_DATE_IPAD = "rldbbdi"
|
|
11
|
+
BUILD_DATE_IPAD = "rldbbdi",
|
|
12
|
+
/** Query param to direct LDB to close itself */
|
|
13
|
+
EXIT_BROWSER = "rldbxb"
|
|
13
14
|
}
|
|
14
15
|
export declare const LOCKDOWN_BROWSER_TRUE = "1";
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LOCKDOWN_BROWSER_TRUE = exports.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
(function (LOCKDOWN_BROWSER_COOKIE) {
|
|
3
|
+
exports.LOCKDOWN_BROWSER_TRUE = exports.LOCKDOWN_BROWSER_KEY = void 0;
|
|
4
|
+
var LOCKDOWN_BROWSER_KEY;
|
|
5
|
+
(function (LOCKDOWN_BROWSER_KEY) {
|
|
7
6
|
/** Cookie set by LDB to claim it is LDB. */
|
|
8
|
-
|
|
7
|
+
LOCKDOWN_BROWSER_KEY["CLIENT_IS_LOCK_DOWN_BROWSER"] = "rldbci";
|
|
9
8
|
/** Cookie set by LDB containing the client build identifier. */
|
|
10
|
-
|
|
9
|
+
LOCKDOWN_BROWSER_KEY["BUILD_ID"] = "rldbid";
|
|
11
10
|
/** Cookie set by LDB containing the build date, if the client is on windows. */
|
|
12
|
-
|
|
11
|
+
LOCKDOWN_BROWSER_KEY["BUILD_DATE_WINDOWS"] = "rldbbdw";
|
|
13
12
|
/** Cookie set by LDB containing the build date, if the client is on mac. */
|
|
14
|
-
|
|
13
|
+
LOCKDOWN_BROWSER_KEY["BUILD_DATE_MAC"] = "rldbbdm";
|
|
15
14
|
/** Cookie set by LDB containing the build date, if the client is on iPad. */
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
LOCKDOWN_BROWSER_KEY["BUILD_DATE_IPAD"] = "rldbbdi";
|
|
16
|
+
/** Query param to direct LDB to close itself */
|
|
17
|
+
LOCKDOWN_BROWSER_KEY["EXIT_BROWSER"] = "rldbxb";
|
|
18
|
+
})(LOCKDOWN_BROWSER_KEY = exports.LOCKDOWN_BROWSER_KEY || (exports.LOCKDOWN_BROWSER_KEY = {}));
|
|
18
19
|
exports.LOCKDOWN_BROWSER_TRUE = '1';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/// <reference types="connected-react-router" />
|
|
2
|
-
export default function
|
|
2
|
+
export default function lockDownBrowserSaga(runIndefinitely?: boolean): Generator<import("redux-saga/effects").TakeEffect | import("redux-saga/effects").PutEffect<import("connected-react-router").CallHistoryMethodAction<[import("history").LocationDescriptorObject<unknown>]>>, void, unknown>;
|
|
@@ -28,34 +28,54 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
28
28
|
};
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
30
|
var connected_react_router_1 = require("connected-react-router");
|
|
31
|
+
var query_string_1 = require("query-string");
|
|
31
32
|
var effects_1 = require("redux-saga/effects");
|
|
32
33
|
var studiokit_net_js_1 = require("studiokit-net-js");
|
|
33
|
-
function
|
|
34
|
+
function lockDownBrowserSaga(runIndefinitely) {
|
|
35
|
+
var _loop_1;
|
|
36
|
+
if (runIndefinitely === void 0) { runIndefinitely = true; }
|
|
34
37
|
return __generator(this, function (_a) {
|
|
35
38
|
switch (_a.label) {
|
|
36
39
|
case 0:
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
40
|
+
_loop_1 = function () {
|
|
41
|
+
var message;
|
|
42
|
+
return __generator(this, function (_a) {
|
|
43
|
+
switch (_a.label) {
|
|
44
|
+
case 0:
|
|
45
|
+
message = '';
|
|
46
|
+
// wait for any LDB error
|
|
47
|
+
return [4 /*yield*/, effects_1.take(function (action) {
|
|
48
|
+
var _a;
|
|
49
|
+
message = (_a = action === null || action === void 0 ? void 0 : action.errorData) === null || _a === void 0 ? void 0 : _a.message;
|
|
50
|
+
return (action === null || action === void 0 ? void 0 : action.type) === studiokit_net_js_1.NET_ACTION.TRY_FETCH_FAILED && !!(message === null || message === void 0 ? void 0 : message.includes('LockDown Browser'));
|
|
51
|
+
})
|
|
52
|
+
// redirect to known LDB error route
|
|
53
|
+
];
|
|
54
|
+
case 1:
|
|
55
|
+
// wait for any LDB error
|
|
56
|
+
_a.sent();
|
|
57
|
+
// redirect to known LDB error route
|
|
58
|
+
return [4 /*yield*/, effects_1.put(connected_react_router_1.push({
|
|
59
|
+
pathname: '/error',
|
|
60
|
+
search: query_string_1.stringify({ message: message })
|
|
61
|
+
}))];
|
|
62
|
+
case 2:
|
|
63
|
+
// redirect to known LDB error route
|
|
64
|
+
_a.sent();
|
|
65
|
+
return [2 /*return*/];
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
_a.label = 1;
|
|
70
|
+
case 1: return [5 /*yield**/, _loop_1()];
|
|
53
71
|
case 2:
|
|
54
|
-
// redirect to known LDB error route
|
|
55
72
|
_a.sent();
|
|
56
|
-
|
|
57
|
-
case 3:
|
|
73
|
+
_a.label = 3;
|
|
74
|
+
case 3:
|
|
75
|
+
if (runIndefinitely) return [3 /*break*/, 1];
|
|
76
|
+
_a.label = 4;
|
|
77
|
+
case 4: return [2 /*return*/];
|
|
58
78
|
}
|
|
59
79
|
});
|
|
60
80
|
}
|
|
61
|
-
exports.default =
|
|
81
|
+
exports.default = lockDownBrowserSaga;
|
|
@@ -6,11 +6,11 @@ var cookies_1 = require("./cookies");
|
|
|
6
6
|
var getLockDownBrowserInfo = function () {
|
|
7
7
|
var cookies = cookies_1.getCookies();
|
|
8
8
|
return {
|
|
9
|
-
isClientLockDownBrowser: cookies[lockDownBrowser_1.
|
|
10
|
-
buildId: cookies[lockDownBrowser_1.
|
|
11
|
-
buildDateWindows: cookies[lockDownBrowser_1.
|
|
12
|
-
buildDateMac: cookies[lockDownBrowser_1.
|
|
13
|
-
buildDateIpad: cookies[lockDownBrowser_1.
|
|
9
|
+
isClientLockDownBrowser: cookies[lockDownBrowser_1.LOCKDOWN_BROWSER_KEY.CLIENT_IS_LOCK_DOWN_BROWSER] === lockDownBrowser_1.LOCKDOWN_BROWSER_TRUE,
|
|
10
|
+
buildId: cookies[lockDownBrowser_1.LOCKDOWN_BROWSER_KEY.BUILD_ID],
|
|
11
|
+
buildDateWindows: cookies[lockDownBrowser_1.LOCKDOWN_BROWSER_KEY.BUILD_DATE_WINDOWS],
|
|
12
|
+
buildDateMac: cookies[lockDownBrowser_1.LOCKDOWN_BROWSER_KEY.BUILD_DATE_MAC],
|
|
13
|
+
buildDateIpad: cookies[lockDownBrowser_1.LOCKDOWN_BROWSER_KEY.BUILD_DATE_IPAD]
|
|
14
14
|
};
|
|
15
15
|
};
|
|
16
16
|
exports.getLockDownBrowserInfo = getLockDownBrowserInfo;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "studiokit-scaffolding-js",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.6.0",
|
|
4
4
|
"description": "Common scaffolding for Studio apps at Purdue",
|
|
5
5
|
"repository": "https://gitlab.com/purdue-informatics/studiokit/studiokit-scaffolding-js",
|
|
6
6
|
"license": "MIT",
|