cozy-client 43.3.0 → 43.4.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/dist/CozyClient.js +1 -1
- package/dist/devtools/Flags/FlagEdit.js +109 -0
- package/dist/devtools/Flags/FlagItem.js +74 -0
- package/dist/devtools/Flags/Flags.js +65 -0
- package/dist/devtools/Flags/helpers.js +49 -0
- package/dist/devtools/index.js +1 -1
- package/dist/hooks/useFetchShortcut.js +47 -8
- package/dist/hooks/useFetchShortcut.spec.jsx +77 -26
- package/package.json +2 -2
- package/types/devtools/Flags/FlagEdit.d.ts +3 -0
- package/types/devtools/Flags/FlagItem.d.ts +6 -0
- package/types/devtools/Flags/Flags.d.ts +2 -0
- package/types/devtools/Flags/helpers.d.ts +3 -0
- package/dist/devtools/Flags.js +0 -25
package/dist/CozyClient.js
CHANGED
|
@@ -2703,7 +2703,7 @@ var CozyClient = /*#__PURE__*/function () {
|
|
|
2703
2703
|
CozyClient.hooks = CozyClient.hooks || {};
|
|
2704
2704
|
CozyClient.fetchPolicies = _policies.default; //COZY_CLIENT_VERSION_PACKAGE in replaced by babel. See babel config
|
|
2705
2705
|
|
|
2706
|
-
CozyClient.version = "43.
|
|
2706
|
+
CozyClient.version = "43.4.1";
|
|
2707
2707
|
|
|
2708
2708
|
_microee.default.mixin(CozyClient);
|
|
2709
2709
|
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
+
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.FlagEdit = void 0;
|
|
11
|
+
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
+
|
|
14
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
+
|
|
16
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
+
|
|
18
|
+
var _TextField = _interopRequireDefault(require("cozy-ui/transpiled/react/TextField"));
|
|
19
|
+
|
|
20
|
+
var _Buttons = _interopRequireDefault(require("cozy-ui/transpiled/react/Buttons"));
|
|
21
|
+
|
|
22
|
+
var _cozyFlags = _interopRequireDefault(require("cozy-flags"));
|
|
23
|
+
|
|
24
|
+
var _helpers = require("./helpers");
|
|
25
|
+
|
|
26
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
27
|
+
|
|
28
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
29
|
+
|
|
30
|
+
var FlagEdit = function FlagEdit(_ref) {
|
|
31
|
+
var editedFlag = _ref.flag;
|
|
32
|
+
|
|
33
|
+
var _useState = (0, _react.useState)({
|
|
34
|
+
key: '',
|
|
35
|
+
name: '',
|
|
36
|
+
value: '',
|
|
37
|
+
humanValue: ''
|
|
38
|
+
}),
|
|
39
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
40
|
+
formData = _useState2[0],
|
|
41
|
+
setFormData = _useState2[1];
|
|
42
|
+
|
|
43
|
+
(0, _react.useEffect)(function () {
|
|
44
|
+
if (editedFlag) setFormData(editedFlag);
|
|
45
|
+
}, [editedFlag]);
|
|
46
|
+
|
|
47
|
+
var handleSubmit = function handleSubmit(e) {
|
|
48
|
+
e.preventDefault();
|
|
49
|
+
if (!formData.name || !formData.value) return;
|
|
50
|
+
/** @type {any} */
|
|
51
|
+
|
|
52
|
+
var value = formData.value;
|
|
53
|
+
|
|
54
|
+
if ((0, _helpers.isJSONString)(value)) {
|
|
55
|
+
value = JSON.parse(value);
|
|
56
|
+
} else if (value === 'true' || value === 'false') {
|
|
57
|
+
value = Boolean(value);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
(0, _cozyFlags.default)(formData.name, value);
|
|
61
|
+
location.reload();
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
var handleFlagNameChange = function handleFlagNameChange(e) {
|
|
65
|
+
setFormData(_objectSpread(_objectSpread({}, formData), {}, {
|
|
66
|
+
key: "flag__".concat(e.target.value),
|
|
67
|
+
name: e.target.value
|
|
68
|
+
}));
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
var handleFlagValueChange = function handleFlagValueChange(e) {
|
|
72
|
+
var value = e.target.value;
|
|
73
|
+
|
|
74
|
+
if (Number.isInteger(value)) {
|
|
75
|
+
value = parseInt(value);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
setFormData(_objectSpread(_objectSpread({}, formData), {}, {
|
|
79
|
+
value: value,
|
|
80
|
+
humanValue: (0, _helpers.makeHumanValue)(value)
|
|
81
|
+
}));
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
return /*#__PURE__*/_react.default.createElement("form", {
|
|
85
|
+
onSubmit: handleSubmit,
|
|
86
|
+
className: "u-mt-1 u-flex-items-center u-flex"
|
|
87
|
+
}, /*#__PURE__*/_react.default.createElement(_TextField.default, {
|
|
88
|
+
label: "Name",
|
|
89
|
+
name: "name",
|
|
90
|
+
onChange: handleFlagNameChange,
|
|
91
|
+
value: formData.name,
|
|
92
|
+
size: "small",
|
|
93
|
+
variant: "outlined"
|
|
94
|
+
}), /*#__PURE__*/_react.default.createElement(_TextField.default, {
|
|
95
|
+
label: "Value",
|
|
96
|
+
name: "value",
|
|
97
|
+
onChange: handleFlagValueChange,
|
|
98
|
+
value: formData.humanValue,
|
|
99
|
+
size: "small",
|
|
100
|
+
variant: "outlined",
|
|
101
|
+
className: "u-ml-1"
|
|
102
|
+
}), /*#__PURE__*/_react.default.createElement(_Buttons.default, {
|
|
103
|
+
type: "submit",
|
|
104
|
+
label: "Edit",
|
|
105
|
+
className: "u-ml-1"
|
|
106
|
+
}));
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
exports.FlagEdit = FlagEdit;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _reactInspector = require("react-inspector");
|
|
13
|
+
|
|
14
|
+
var _IconButton = _interopRequireDefault(require("cozy-ui/transpiled/react/IconButton"));
|
|
15
|
+
|
|
16
|
+
var _Icon = _interopRequireDefault(require("cozy-ui/transpiled/react/Icon"));
|
|
17
|
+
|
|
18
|
+
var _Pen = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/Pen"));
|
|
19
|
+
|
|
20
|
+
var _Trash = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/Trash"));
|
|
21
|
+
|
|
22
|
+
var _ListItem = _interopRequireDefault(require("cozy-ui/transpiled/react/ListItem"));
|
|
23
|
+
|
|
24
|
+
var _ListItemText = _interopRequireDefault(require("cozy-ui/transpiled/react/ListItemText"));
|
|
25
|
+
|
|
26
|
+
var _ListItemSecondaryAction = _interopRequireDefault(require("cozy-ui/transpiled/react/ListItemSecondaryAction"));
|
|
27
|
+
|
|
28
|
+
var _Checkbox = _interopRequireDefault(require("cozy-ui/transpiled/react/Checkbox"));
|
|
29
|
+
|
|
30
|
+
var _ListItemIcon = _interopRequireDefault(require("cozy-ui/transpiled/react/ListItemIcon"));
|
|
31
|
+
|
|
32
|
+
var _cozyFlags = _interopRequireDefault(require("cozy-flags"));
|
|
33
|
+
|
|
34
|
+
var FlagItem = function FlagItem(_ref) {
|
|
35
|
+
var flag = _ref.flag,
|
|
36
|
+
onEdit = _ref.onEdit,
|
|
37
|
+
onTrash = _ref.onTrash;
|
|
38
|
+
|
|
39
|
+
var handleCheckboxChange = function handleCheckboxChange(e) {
|
|
40
|
+
(0, _cozyFlags.default)(flag.name, e.target.checked);
|
|
41
|
+
location.reload();
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
return /*#__PURE__*/_react.default.createElement(_ListItem.default, {
|
|
45
|
+
size: "small"
|
|
46
|
+
}, /*#__PURE__*/_react.default.createElement(_ListItemIcon.default, null, flag.type === 'boolean' ? /*#__PURE__*/_react.default.createElement(_Checkbox.default, {
|
|
47
|
+
size: "small",
|
|
48
|
+
checked: flag.value,
|
|
49
|
+
onChange: handleCheckboxChange
|
|
50
|
+
}) : null), /*#__PURE__*/_react.default.createElement(_ListItemText.default, {
|
|
51
|
+
primary: flag.humanName,
|
|
52
|
+
secondary: flag.type === 'object' ? /*#__PURE__*/_react.default.createElement(_reactInspector.ObjectInspector, {
|
|
53
|
+
data: flag.value
|
|
54
|
+
}) : flag.type !== 'boolean' ? flag.humanValue : null
|
|
55
|
+
}), /*#__PURE__*/_react.default.createElement(_ListItemSecondaryAction.default, null, /*#__PURE__*/_react.default.createElement(_IconButton.default, {
|
|
56
|
+
size: "small",
|
|
57
|
+
onClick: function onClick() {
|
|
58
|
+
return onEdit(flag);
|
|
59
|
+
}
|
|
60
|
+
}, /*#__PURE__*/_react.default.createElement(_Icon.default, {
|
|
61
|
+
icon: _Pen.default
|
|
62
|
+
})), /*#__PURE__*/_react.default.createElement(_IconButton.default, {
|
|
63
|
+
className: "u-ml-1",
|
|
64
|
+
size: "small",
|
|
65
|
+
onClick: function onClick() {
|
|
66
|
+
return onTrash(flag);
|
|
67
|
+
}
|
|
68
|
+
}, /*#__PURE__*/_react.default.createElement(_Icon.default, {
|
|
69
|
+
icon: _Trash.default
|
|
70
|
+
}))));
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
var _default = FlagItem;
|
|
74
|
+
exports.default = _default;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
+
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.default = void 0;
|
|
11
|
+
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
+
|
|
16
|
+
var _Typography = _interopRequireDefault(require("cozy-ui/transpiled/react/Typography"));
|
|
17
|
+
|
|
18
|
+
var _List = _interopRequireDefault(require("cozy-ui/transpiled/react/List"));
|
|
19
|
+
|
|
20
|
+
var _PanelContent = _interopRequireDefault(require("../PanelContent"));
|
|
21
|
+
|
|
22
|
+
var _FlagEdit = require("./FlagEdit");
|
|
23
|
+
|
|
24
|
+
var _helpers = require("./helpers");
|
|
25
|
+
|
|
26
|
+
var _FlagItem = _interopRequireDefault(require("./FlagItem"));
|
|
27
|
+
|
|
28
|
+
var Flags = function Flags() {
|
|
29
|
+
var _useState = (0, _react.useState)(null),
|
|
30
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
31
|
+
edited = _useState2[0],
|
|
32
|
+
setEdited = _useState2[1];
|
|
33
|
+
|
|
34
|
+
var flags = (0, _helpers.computeFlags)();
|
|
35
|
+
|
|
36
|
+
var handleEdit = function handleEdit(flag) {
|
|
37
|
+
setEdited(flag);
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
var handleTrash = function handleTrash(flag) {
|
|
41
|
+
if (localStorage.getItem(flag.key)) {
|
|
42
|
+
localStorage.removeItem(flag.key);
|
|
43
|
+
location.reload();
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
return /*#__PURE__*/_react.default.createElement(_PanelContent.default, null, /*#__PURE__*/_react.default.createElement(_Typography.default, {
|
|
48
|
+
variant: "subtitle1"
|
|
49
|
+
}, "Flags"), /*#__PURE__*/_react.default.createElement(_List.default, {
|
|
50
|
+
dense: true,
|
|
51
|
+
className: "u-maw-6"
|
|
52
|
+
}, flags.map(function (flag) {
|
|
53
|
+
return /*#__PURE__*/_react.default.createElement(_FlagItem.default, {
|
|
54
|
+
key: flag.key,
|
|
55
|
+
flag: flag,
|
|
56
|
+
onEdit: handleEdit,
|
|
57
|
+
onTrash: handleTrash
|
|
58
|
+
});
|
|
59
|
+
})), /*#__PURE__*/_react.default.createElement(_FlagEdit.FlagEdit, {
|
|
60
|
+
flag: edited
|
|
61
|
+
}));
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
var _default = Flags;
|
|
65
|
+
exports.default = _default;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.isJSONString = exports.computeFlags = exports.makeHumanValue = void 0;
|
|
9
|
+
|
|
10
|
+
var _cozyFlags = _interopRequireDefault(require("cozy-flags"));
|
|
11
|
+
|
|
12
|
+
var human = function human(name) {
|
|
13
|
+
return name.replace(/[a-z][A-Z]/g, function (str) {
|
|
14
|
+
return str[0] + ' ' + str[1].toLowerCase();
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
var makeHumanValue = function makeHumanValue(value) {
|
|
19
|
+
return typeof value === 'object' ? JSON.stringify(value) : value.toString();
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
exports.makeHumanValue = makeHumanValue;
|
|
23
|
+
|
|
24
|
+
var computeFlags = function computeFlags() {
|
|
25
|
+
return _cozyFlags.default.list().map(function (name) {
|
|
26
|
+
var value = (0, _cozyFlags.default)(name);
|
|
27
|
+
return {
|
|
28
|
+
key: "flag__".concat(name),
|
|
29
|
+
name: name,
|
|
30
|
+
type: typeof value,
|
|
31
|
+
humanName: human(name),
|
|
32
|
+
value: value,
|
|
33
|
+
humanValue: makeHumanValue(value)
|
|
34
|
+
};
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
exports.computeFlags = computeFlags;
|
|
39
|
+
|
|
40
|
+
var isJSONString = function isJSONString(str) {
|
|
41
|
+
try {
|
|
42
|
+
JSON.parse(str);
|
|
43
|
+
return true;
|
|
44
|
+
} catch (e) {
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
exports.isJSONString = isJSONString;
|
package/dist/devtools/index.js
CHANGED
|
@@ -73,7 +73,7 @@ var _CrossMedium = _interopRequireDefault(require("cozy-ui/transpiled/react/Icon
|
|
|
73
73
|
|
|
74
74
|
var _Queries = _interopRequireDefault(require("./Queries"));
|
|
75
75
|
|
|
76
|
-
var _Flags = _interopRequireDefault(require("./Flags"));
|
|
76
|
+
var _Flags = _interopRequireDefault(require("./Flags/Flags"));
|
|
77
77
|
|
|
78
78
|
var _LibraryVersions = _interopRequireDefault(require("./LibraryVersions"));
|
|
79
79
|
|
|
@@ -15,6 +15,12 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
15
15
|
|
|
16
16
|
var _react = require("react");
|
|
17
17
|
|
|
18
|
+
var _dsl = require("../queries/dsl");
|
|
19
|
+
|
|
20
|
+
var _CozyClient = _interopRequireDefault(require("../CozyClient"));
|
|
21
|
+
|
|
22
|
+
var DEFAULT_CACHE_TIMEOUT_QUERIES = 10 * 60 * 1000; // 10 minutes
|
|
23
|
+
|
|
18
24
|
var useFetchShortcut = function useFetchShortcut(client, id) {
|
|
19
25
|
var _useState = (0, _react.useState)(null),
|
|
20
26
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
@@ -34,7 +40,8 @@ var useFetchShortcut = function useFetchShortcut(client, id) {
|
|
|
34
40
|
(0, _react.useEffect)(function () {
|
|
35
41
|
var fetchData = /*#__PURE__*/function () {
|
|
36
42
|
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
37
|
-
var shortcutInfosResult, shortcutRemoteUrl, imgUrl;
|
|
43
|
+
var _shortcutInfosResult$, _shortcutInfosResult$2, _shortcutInfosResult$3, _shortcutInfosResult$4, shortcutInfosResult, targetApp, targetAppIconUrl, shortcutRemoteUrl, imgUrl;
|
|
44
|
+
|
|
38
45
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
39
46
|
while (1) {
|
|
40
47
|
switch (_context.prev = _context.next) {
|
|
@@ -42,29 +49,61 @@ var useFetchShortcut = function useFetchShortcut(client, id) {
|
|
|
42
49
|
setFetchStatus('loading');
|
|
43
50
|
_context.prev = 1;
|
|
44
51
|
_context.next = 4;
|
|
45
|
-
return client.
|
|
52
|
+
return client.fetchQueryAndGetFromState({
|
|
53
|
+
definition: (0, _dsl.Q)('io.cozy.files.shortcuts').getById(id),
|
|
54
|
+
options: {
|
|
55
|
+
as: "io.cozy.files.shortcuts/".concat(id),
|
|
56
|
+
fetchPolicy: _CozyClient.default.fetchPolicies.olderThan(DEFAULT_CACHE_TIMEOUT_QUERIES),
|
|
57
|
+
singleDocData: true
|
|
58
|
+
}
|
|
59
|
+
});
|
|
46
60
|
|
|
47
61
|
case 4:
|
|
48
62
|
shortcutInfosResult = _context.sent;
|
|
63
|
+
targetApp = shortcutInfosResult === null || shortcutInfosResult === void 0 ? void 0 : (_shortcutInfosResult$ = shortcutInfosResult.data) === null || _shortcutInfosResult$ === void 0 ? void 0 : (_shortcutInfosResult$2 = _shortcutInfosResult$.attributes) === null || _shortcutInfosResult$2 === void 0 ? void 0 : (_shortcutInfosResult$3 = _shortcutInfosResult$2.metadata) === null || _shortcutInfosResult$3 === void 0 ? void 0 : (_shortcutInfosResult$4 = _shortcutInfosResult$3.target) === null || _shortcutInfosResult$4 === void 0 ? void 0 : _shortcutInfosResult$4.app;
|
|
64
|
+
|
|
65
|
+
if (!targetApp) {
|
|
66
|
+
_context.next = 13;
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
_context.next = 9;
|
|
71
|
+
return client.getStackClient().getIconURL({
|
|
72
|
+
type: 'app',
|
|
73
|
+
slug: targetApp,
|
|
74
|
+
priority: 'stack'
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
case 9:
|
|
78
|
+
targetAppIconUrl = _context.sent;
|
|
79
|
+
setShortcutImg(targetAppIconUrl);
|
|
80
|
+
_context.next = 16;
|
|
81
|
+
break;
|
|
82
|
+
|
|
83
|
+
case 13:
|
|
49
84
|
shortcutRemoteUrl = new URL(shortcutInfosResult.data.attributes.url);
|
|
50
85
|
imgUrl = "".concat(client.getStackClient().uri, "/bitwarden/icons/").concat(shortcutRemoteUrl.host, "/icon.png");
|
|
51
86
|
setShortcutImg(imgUrl);
|
|
52
|
-
|
|
87
|
+
|
|
88
|
+
case 16:
|
|
89
|
+
setShortcutInfos({
|
|
90
|
+
data: shortcutInfosResult.data
|
|
91
|
+
});
|
|
53
92
|
setFetchStatus('loaded');
|
|
54
|
-
_context.next =
|
|
93
|
+
_context.next = 23;
|
|
55
94
|
break;
|
|
56
95
|
|
|
57
|
-
case
|
|
58
|
-
_context.prev =
|
|
96
|
+
case 20:
|
|
97
|
+
_context.prev = 20;
|
|
59
98
|
_context.t0 = _context["catch"](1);
|
|
60
99
|
setFetchStatus('failed');
|
|
61
100
|
|
|
62
|
-
case
|
|
101
|
+
case 23:
|
|
63
102
|
case "end":
|
|
64
103
|
return _context.stop();
|
|
65
104
|
}
|
|
66
105
|
}
|
|
67
|
-
}, _callee, null, [[1,
|
|
106
|
+
}, _callee, null, [[1, 20]]);
|
|
68
107
|
}));
|
|
69
108
|
|
|
70
109
|
return function fetchData() {
|
|
@@ -1,19 +1,71 @@
|
|
|
1
1
|
import { renderHook } from '@testing-library/react-hooks'
|
|
2
|
+
|
|
2
3
|
import useFetchShortcut from './useFetchShortcut'
|
|
3
4
|
import { createMockClient } from '../../dist/mock'
|
|
5
|
+
|
|
4
6
|
describe('useFetchShortcut', () => {
|
|
5
|
-
const mockClient = createMockClient({
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
7
|
+
const mockClient = createMockClient({
|
|
8
|
+
queries: {
|
|
9
|
+
'io.cozy.files.shortcuts/123': {
|
|
10
|
+
doctype: 'io.cozy.files.shortcuts',
|
|
11
|
+
definition: {
|
|
12
|
+
doctype: 'io.cozy.files.shortcuts',
|
|
13
|
+
id: 'io.cozy.files.shortcuts/123'
|
|
14
|
+
},
|
|
15
|
+
data: [
|
|
16
|
+
{
|
|
17
|
+
type: 'io.cozy.files.shortcuts',
|
|
18
|
+
id: 'b7470059d40c88e4bd30031d5e0109d3',
|
|
19
|
+
attributes: {
|
|
20
|
+
_id: '',
|
|
21
|
+
name: 'cozy.url',
|
|
22
|
+
dir_id: '8034db0016d0548ded99b9627e003270',
|
|
23
|
+
url: 'https://cozy.io',
|
|
24
|
+
metadata: { extractor_version: 2 }
|
|
25
|
+
},
|
|
26
|
+
meta: { rev: '1-60e1359e63fa7fa9fa000a2726d5d4c7' }
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
'io.cozy.files.shortcuts/linkToCozyApp': {
|
|
31
|
+
doctype: 'io.cozy.files.shortcuts',
|
|
32
|
+
definition: {
|
|
33
|
+
doctype: 'io.cozy.files.shortcuts',
|
|
34
|
+
id: 'io.cozy.files.shortcuts/linkToCozyApp'
|
|
35
|
+
},
|
|
36
|
+
data: [
|
|
37
|
+
{
|
|
38
|
+
type: 'io.cozy.files.shortcuts',
|
|
39
|
+
id: 'linkToCozyApp',
|
|
40
|
+
attributes: {
|
|
41
|
+
_id: '',
|
|
42
|
+
name: 'cozy.url',
|
|
43
|
+
dir_id: '8034db0016d0548ded99b9627e003270',
|
|
44
|
+
url: 'https://cozy.io',
|
|
45
|
+
metadata: {
|
|
46
|
+
extractor_version: 2,
|
|
47
|
+
target: {
|
|
48
|
+
app: 'notes'
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
meta: { rev: '1-60e1359e63fa7fa9fa000a2726d5d4c7' }
|
|
53
|
+
}
|
|
54
|
+
]
|
|
55
|
+
},
|
|
56
|
+
'io.cozy.files.shortcuts/no-found': {
|
|
57
|
+
doctype: 'io.cozy.files.shortcuts',
|
|
58
|
+
queryError: new Error('not found')
|
|
13
59
|
}
|
|
14
|
-
}
|
|
60
|
+
},
|
|
61
|
+
clientOptions: {
|
|
62
|
+
uri: 'https://test.mycozy.cloud'
|
|
63
|
+
}
|
|
64
|
+
})
|
|
65
|
+
|
|
66
|
+
it('should change loading status', async () => {
|
|
15
67
|
const { result, waitForNextUpdate } = renderHook(() =>
|
|
16
|
-
useFetchShortcut(mockClient,
|
|
68
|
+
useFetchShortcut(mockClient, '123')
|
|
17
69
|
)
|
|
18
70
|
expect(result.current.fetchStatus).toEqual('loading')
|
|
19
71
|
await waitForNextUpdate()
|
|
@@ -24,7 +76,7 @@ describe('useFetchShortcut', () => {
|
|
|
24
76
|
mockClient.stackClient.fetchJSON.mockRejectedValue('error')
|
|
25
77
|
|
|
26
78
|
const { result, waitForNextUpdate } = renderHook(() =>
|
|
27
|
-
useFetchShortcut(mockClient,
|
|
79
|
+
useFetchShortcut(mockClient, 'no-found')
|
|
28
80
|
)
|
|
29
81
|
expect(result.current.fetchStatus).toEqual('loading')
|
|
30
82
|
await waitForNextUpdate()
|
|
@@ -32,27 +84,15 @@ describe('useFetchShortcut', () => {
|
|
|
32
84
|
})
|
|
33
85
|
|
|
34
86
|
it('should return the data of a shortcut and change the display value', async () => {
|
|
35
|
-
mockClient.stackClient.fetchJSON.mockResolvedValue({
|
|
36
|
-
data: {
|
|
37
|
-
type: 'io.cozy.files.shortcuts',
|
|
38
|
-
id: 'b7470059d40c88e4bd30031d5e0109d3',
|
|
39
|
-
attributes: {
|
|
40
|
-
_id: '',
|
|
41
|
-
name: 'cozy.url',
|
|
42
|
-
dir_id: '8034db0016d0548ded99b9627e003270',
|
|
43
|
-
url: 'https://cozy.io',
|
|
44
|
-
metadata: { extractor_version: 2 }
|
|
45
|
-
},
|
|
46
|
-
meta: { rev: '1-60e1359e63fa7fa9fa000a2726d5d4c7' }
|
|
47
|
-
}
|
|
48
|
-
})
|
|
49
87
|
const { result, waitForNextUpdate } = renderHook(() =>
|
|
50
|
-
useFetchShortcut(mockClient,
|
|
88
|
+
useFetchShortcut(mockClient, '123')
|
|
51
89
|
)
|
|
52
90
|
|
|
53
91
|
await waitForNextUpdate()
|
|
54
92
|
expect(result.current.shortcutInfos).toEqual({
|
|
55
93
|
data: {
|
|
94
|
+
_id: 'b7470059d40c88e4bd30031d5e0109d3',
|
|
95
|
+
_type: 'io.cozy.files.shortcuts',
|
|
56
96
|
type: 'io.cozy.files.shortcuts',
|
|
57
97
|
id: 'b7470059d40c88e4bd30031d5e0109d3',
|
|
58
98
|
attributes: {
|
|
@@ -69,4 +109,15 @@ describe('useFetchShortcut', () => {
|
|
|
69
109
|
`${mockClient.getStackClient().uri}/bitwarden/icons/cozy.io/icon.png`
|
|
70
110
|
)
|
|
71
111
|
})
|
|
112
|
+
|
|
113
|
+
it('should return shortcutImg for the targeted application icon when available', async () => {
|
|
114
|
+
const { result, waitForNextUpdate } = renderHook(() =>
|
|
115
|
+
useFetchShortcut(mockClient, 'linkToCozyApp')
|
|
116
|
+
)
|
|
117
|
+
|
|
118
|
+
await waitForNextUpdate()
|
|
119
|
+
expect(result.current.shortcutImg).toEqual(
|
|
120
|
+
`${mockClient.getStackClient().uri}/registry/notes/icon`
|
|
121
|
+
)
|
|
122
|
+
})
|
|
72
123
|
})
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cozy-client",
|
|
3
|
-
"version": "43.
|
|
3
|
+
"version": "43.4.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "dist/index.node.js",
|
|
6
6
|
"browser": "dist/index.js",
|
|
@@ -75,5 +75,5 @@
|
|
|
75
75
|
"react-native-ios11-devicecheck": "https://github.com/cozy/react-native-devicecheck#app-attest-v0.1"
|
|
76
76
|
},
|
|
77
77
|
"sideEffects": false,
|
|
78
|
-
"gitHead": "
|
|
78
|
+
"gitHead": "aceb4eec10ed6dac61f5e6ee168be6559225ec89"
|
|
79
79
|
}
|
package/dist/devtools/Flags.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = void 0;
|
|
9
|
-
|
|
10
|
-
var _react = _interopRequireDefault(require("react"));
|
|
11
|
-
|
|
12
|
-
var _Typography = _interopRequireDefault(require("cozy-ui/transpiled/react/Typography"));
|
|
13
|
-
|
|
14
|
-
var _cozyFlags = _interopRequireDefault(require("cozy-flags"));
|
|
15
|
-
|
|
16
|
-
var _PanelContent = _interopRequireDefault(require("./PanelContent"));
|
|
17
|
-
|
|
18
|
-
var Flags = function Flags() {
|
|
19
|
-
return /*#__PURE__*/_react.default.createElement(_PanelContent.default, null, /*#__PURE__*/_react.default.createElement(_Typography.default, {
|
|
20
|
-
variant: "subtitle1"
|
|
21
|
-
}, "Flags"), /*#__PURE__*/_react.default.createElement(_cozyFlags.default.FlagSwitcher.List, null));
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
var _default = Flags;
|
|
25
|
-
exports.default = _default;
|