@newtonschool/react_proctoring_library 0.0.90 → 0.0.92

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.
@@ -20,6 +20,7 @@ var _fullscreen = _interopRequireDefault(require("../fullscreen"));
20
20
  var _ElectronContext = require("../../contexts/ElectronContext");
21
21
  var _useGenericWakeUpLock = _interopRequireDefault(require("../../hooks/useGenericWakeUpLock"));
22
22
  var _breachParameters = _interopRequireDefault(require("../breach-parameters"));
23
+ var _permission = require("../../utils/permission");
23
24
  var _jsxRuntime = require("react/jsx-runtime");
24
25
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
25
26
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
@@ -75,6 +76,12 @@ const ProctorApp = _ref => {
75
76
  });
76
77
  await Promise.all(allPromises);
77
78
  }, [permissions, askPermissionAction]);
79
+ (0, _react.useEffect)(() => {
80
+ const allPermissionGranted = (0, _permission.hasAllPermissions)((0, _breachUtils.getRequiredPermissionsFromProctorParams)(proctorParams), permissions);
81
+ if (allPermissionGranted && allPermissionGrantedOnce) {
82
+ allPermissionGrantedOnce.current = true;
83
+ }
84
+ }, [allPermissionGrantedOnce, permissions, proctorParams]);
78
85
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
79
86
  className: "".concat(proctorParams.copyPasteProctoring ? 'disable-copy-paste fullwidth fullheight' : 'fullwidth fullheight'),
80
87
  children: [shouldShowProctoredComponent && children, !shouldShowProctoredComponent && customPermissionView && /*#__PURE__*/(0, _jsxRuntime.jsx)(CustomPermissionView, _objectSpread({
@@ -62,11 +62,6 @@ const ProctoredContextApp = _ref => {
62
62
  const forceUpdate = () => {
63
63
  setUpdateId(oldId => oldId + 1);
64
64
  };
65
- (0, _react.useEffect)(() => {
66
- if (videoPermission && screensharePermission && isFullscreen) {
67
- allPermissionGrantedOnce.current = true;
68
- }
69
- }, [videoPermission, isFullscreen, screensharePermission]);
70
65
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(Context.Provider, {
71
66
  value: _objectSpread(_objectSpread({}, customContext), {}, {
72
67
  permissions,
@@ -6,26 +6,10 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = useKioskMode;
7
7
  require("core-js/modules/web.dom-collections.iterator.js");
8
8
  var _react = require("react");
9
- var _breachUtils = require("../../utils/breachUtils");
10
- var _useGenericFullScreenData = _interopRequireDefault(require("../useGenericFullScreenData"));
11
9
  var _ElectronContext = require("../../contexts/ElectronContext");
12
- var _useIsPageFocussed = _interopRequireDefault(require("./useIsPageFocussed"));
13
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
- function useKioskMode(_ref) {
15
- let {
16
- proctoredContext,
17
- proctorParams
18
- } = _ref;
19
- const {
20
- permissions
21
- } = (0, _react.useContext)(proctoredContext);
10
+ function useKioskMode() {
22
11
  const [connectedToInternet, setConnectedToInternet] = (0, _react.useState)(true);
23
12
  const isElectronApp = (0, _react.useContext)(_ElectronContext.ElectronContext);
24
- const {
25
- isFullscreen
26
- } = (0, _useGenericFullScreenData.default)(isElectronApp);
27
- const shouldShowProctoredComponent = (0, _breachUtils.showProctoredComponent)(proctorParams, permissions);
28
- const isDocumentFocused = (0, _useIsPageFocussed.default)(isElectronApp);
29
13
  (0, _react.useEffect)(() => {
30
14
  const updateOnlineStatus = () => {
31
15
  setConnectedToInternet(window.navigator.onLine);
@@ -39,11 +23,11 @@ function useKioskMode(_ref) {
39
23
  };
40
24
  }, []);
41
25
  (0, _react.useEffect)(() => {
42
- if (shouldShowProctoredComponent && isFullscreen && isElectronApp && connectedToInternet && isDocumentFocused) {
26
+ if (isElectronApp && connectedToInternet) {
43
27
  window.electron.actions.enableKioskMode();
44
28
  } else {
45
29
  var _window$electron, _window$electron$acti;
46
30
  (_window$electron = window.electron) === null || _window$electron === void 0 ? void 0 : (_window$electron$acti = _window$electron.actions) === null || _window$electron$acti === void 0 ? void 0 : _window$electron$acti.disableKioskMode();
47
31
  }
48
- }, [isFullscreen, shouldShowProctoredComponent, isElectronApp, connectedToInternet, isDocumentFocused]);
32
+ }, [isElectronApp, connectedToInternet]);
49
33
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@newtonschool/react_proctoring_library",
3
- "version": "0.0.90",
3
+ "version": "0.0.92",
4
4
  "description": "Used to proctor online tests",
5
5
  "author": "ayushkagrawal,shreyachandra,weastel",
6
6
  "main": "dist/index.js",