cozy-bar 24.1.2 → 25.1.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.
@@ -54,7 +54,7 @@ var AppsMenuContent = function AppsMenuContent(_ref) {
54
54
  return app.slug !== homeSlug;
55
55
  });
56
56
  var sortedApps = (0, _cozyFlags.default)('apps.sort') ? (0, _applications.sortApplicationsList)(displayedApps, (0, _cozyFlags.default)('apps.sort')) : displayedApps;
57
- var entrypoints = (0, _helper.buildEntrypoints)(apps);
57
+ var entrypoints = (0, _helper.getEntrypoints)(apps);
58
58
  return /*#__PURE__*/_react.default.createElement("div", {
59
59
  className: styles['apps-menu-grid']
60
60
  }, sortedApps.map(function (app, index) {
@@ -4,17 +4,27 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.buildEntrypoints = void 0;
7
+ exports.getEntrypoints = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _cozyClient = require("cozy-client");
9
10
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10
11
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
11
- var buildEntrypoints = exports.buildEntrypoints = function buildEntrypoints(apps) {
12
- return apps.flatMap(function (app) {
13
- if (!app.entrypoints) return [];
14
- return app.entrypoints.map(function (entrypoint) {
15
- return _objectSpread(_objectSpread({}, entrypoint), {}, {
16
- slug: app.slug
17
- });
12
+ var _models$applications = _cozyClient.models.applications,
13
+ selectEntrypoints = _models$applications.selectEntrypoints,
14
+ filterEntrypoints = _models$applications.filterEntrypoints;
15
+
16
+ // We get only the entrypoints we want:
17
+ // - Drive onlyoffice
18
+ var getEntrypoints = exports.getEntrypoints = function getEntrypoints(apps) {
19
+ var driveApp = apps.find(function (app) {
20
+ return app.slug === 'drive';
21
+ }) || {};
22
+ var driveEntrypoints = driveApp.entrypoints || [];
23
+ var selectedEntrypoints = selectEntrypoints(driveEntrypoints, ['new-file-type-text', 'new-file-type-sheet', 'new-file-type-slide']);
24
+ var filteredEntrypoints = filterEntrypoints(selectedEntrypoints);
25
+ return filteredEntrypoints.map(function (entrypoint) {
26
+ return _objectSpread(_objectSpread({}, entrypoint), {}, {
27
+ slug: driveApp.slug
18
28
  });
19
29
  });
20
30
  };
@@ -14,18 +14,16 @@ var _dom = require("../dom");
14
14
  var _Bar = _interopRequireDefault(require("./Bar"));
15
15
  var _reactRedux = require("react-redux");
16
16
  var _cozyClient = require("cozy-client");
17
- var _cozyDeviceHelper = require("cozy-device-helper");
18
17
  var _CozyTheme = _interopRequireDefault(require("cozy-ui/transpiled/react/providers/CozyTheme"));
19
18
  var _stack = _interopRequireDefault(require("../lib/stack"));
20
19
  var _BarProvider = require("./BarProvider");
21
20
  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); }
22
21
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
23
22
  var createBarElement = function createBarElement() {
24
- var targetName = (0, _cozyDeviceHelper.isMobileApp)() ? 'mobile' : 'browser';
25
23
  var barNode = document.createElement('div');
26
24
  barNode.setAttribute('id', 'coz-bar');
27
25
  barNode.setAttribute('role', 'banner');
28
- barNode.classList.add("coz-target--".concat(targetName));
26
+ barNode.classList.add("coz-target--browser");
29
27
  return barNode;
30
28
  };
31
29
  var createWrapperAndAppendToBody = function createWrapperAndAppendToBody() {
package/dist/index.js CHANGED
@@ -71,4 +71,4 @@ var _BarProvider = _interopRequireDefault(require("./components/BarProvider"));
71
71
  var _reducers = require("./lib/reducers");
72
72
  /* global __VERSION__ */
73
73
 
74
- var version = exports.version = "\"24.1.2\"";
74
+ var version = exports.version = "\"25.1.0\"";
@@ -8,10 +8,8 @@ exports.default = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
10
  var _cozyInterapp = require("cozy-interapp");
11
- var _icon = _interopRequireDefault(require("./icon"));
12
11
  var _realtime = _interopRequireDefault(require("./realtime"));
13
12
  var _exceptions = require("./exceptions");
14
- var _cozyDeviceHelper = require("cozy-device-helper");
15
13
  /* eslint-env browser */
16
14
 
17
15
  var errorStatuses = {
@@ -271,41 +269,19 @@ var getStorageData = function getStorageData() {
271
269
  });
272
270
  };
273
271
 
274
- /**
275
- * Fetch an icon data from its path
276
- *
277
- * The purpose of this function is to be sent
278
- * to AppIcon components for mobile devices.
279
- *
280
- * @private
281
- * @function
282
- * @param {string} iconPath - path of the icon in the stack
283
- * @returns {Blob}
284
- */
285
- var iconFetcher = function iconFetcher(iconPath) {
286
- return getStackClient().fetch('GET', iconPath);
287
- };
288
-
289
272
  /**
290
273
  * Get a props object that can be sent to an AppIcon component
291
274
  *
292
- * Mobile devices and web browsers need different props
293
- *
294
275
  * @function
295
276
  * @returns {Object}
296
277
  */
297
278
  var getAppIconProps = function getAppIconProps() {
298
- var mobileAppIconProps = {
299
- fetchIcon: function fetchIcon(app) {
300
- return (0, _icon.default)(iconFetcher, app, true);
301
- }
302
- };
303
279
  var browserAppIconProps = {
304
280
  // we mustn't give the protocol here
305
281
  domain: getCozyURL().host,
306
282
  secure: getCozyURL().protocol === 'https:'
307
283
  };
308
- return (0, _cozyDeviceHelper.isMobileApp)() ? mobileAppIconProps : browserAppIconProps;
284
+ return browserAppIconProps;
309
285
  };
310
286
 
311
287
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cozy-bar",
3
- "version": "24.1.2",
3
+ "version": "25.1.0",
4
4
  "description": "cozy-bar.js library, a small lib provided by cozy-stack to inject the Cozy-bar component into each app",
5
5
  "main": "dist/index.js",
6
6
  "author": "Cozy Cloud <contact@cozycloud.cc> (https://cozy.io/)",
@@ -42,7 +42,7 @@
42
42
  "babel-plugin-module-resolver": "^4.0.0",
43
43
  "babel-plugin-transform-define": "^2.0.0",
44
44
  "babel-preset-cozy-app": "^2.8.1",
45
- "cozy-client": "^60.12.1",
45
+ "cozy-client": "^60.14.0",
46
46
  "cozy-dataproxy-lib": "^4.1.0",
47
47
  "cozy-device-helper": "2.6.0",
48
48
  "cozy-flags": "^4.6.1",
@@ -76,7 +76,7 @@
76
76
  },
77
77
  "peerDependencies": {
78
78
  "@cozy/minilog": ">=1.0.0",
79
- "cozy-client": ">=60.12.1",
79
+ "cozy-client": ">=60.14.0",
80
80
  "cozy-dataproxy-lib": ">=4.1.0",
81
81
  "cozy-device-helper": ">=2.6.0",
82
82
  "cozy-flags": ">=4.6.1",
package/dist/lib/icon.js DELETED
@@ -1,131 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = getIcon;
8
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
- var cache = {};
11
- var mimeTypes = {
12
- gif: 'image/gif',
13
- ico: 'image/vnd.microsoft.icon',
14
- jpeg: 'image/jpeg',
15
- jpg: 'image/jpeg',
16
- png: 'image/png',
17
- svg: 'image/svg+xml'
18
- };
19
-
20
- /**
21
- * Get an icon URL usable in the HTML page from it's stack path
22
- *
23
- * @function
24
- * @private
25
- * @param {function} iconFetcher - takes an icon path on the stack
26
- * and returns a fetch response with the icon
27
- * @param {object} app - app object with a `links.icon` attribute
28
- * @param {boolean} useCache
29
- * @returns {Promise} url string of an icon usable in the HTML page
30
- * may be empty if the `app` object didn't have an icon path
31
- */
32
- function getIcon(_x) {
33
- return _getIcon.apply(this, arguments);
34
- }
35
- function _getIcon() {
36
- _getIcon = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(iconFetcher) {
37
- var app,
38
- useCache,
39
- url,
40
- icon,
41
- resp,
42
- extension,
43
- iconURL,
44
- _args = arguments;
45
- return _regenerator.default.wrap(function _callee$(_context) {
46
- while (1) switch (_context.prev = _context.next) {
47
- case 0:
48
- app = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
49
- useCache = _args.length > 2 && _args[2] !== undefined ? _args[2] : true;
50
- if (!(useCache && cache.icons && cache.icons[url])) {
51
- _context.next = 4;
52
- break;
53
- }
54
- return _context.abrupt("return", cache.icons[url]);
55
- case 4:
56
- url = app.links && app.links.icon;
57
- if (url) {
58
- _context.next = 7;
59
- break;
60
- }
61
- return _context.abrupt("return", '');
62
- case 7:
63
- _context.prev = 7;
64
- _context.next = 10;
65
- return iconFetcher(url);
66
- case 10:
67
- resp = _context.sent;
68
- if (resp.ok) {
69
- _context.next = 13;
70
- break;
71
- }
72
- throw new Error("Error while fetching icon ".concat(resp.statusText, ": ").concat(url));
73
- case 13:
74
- _context.next = 15;
75
- return resp.blob();
76
- case 15:
77
- icon = _context.sent;
78
- _context.next = 21;
79
- break;
80
- case 18:
81
- _context.prev = 18;
82
- _context.t0 = _context["catch"](7);
83
- throw _context.t0;
84
- case 21:
85
- if (icon.type) {
86
- _context.next = 30;
87
- break;
88
- }
89
- if (app.icon) {
90
- _context.next = 24;
91
- break;
92
- }
93
- throw new Error("".concat(app.name, ": Cannot detect mime type for icon ").concat(url));
94
- case 24:
95
- extension = app.icon.split('.').pop();
96
- if (extension) {
97
- _context.next = 27;
98
- break;
99
- }
100
- throw new Error("".concat(app.name, ": Unable to detect icon mime type from extension (").concat(app.icon, ")"));
101
- case 27:
102
- if (mimeTypes[extension]) {
103
- _context.next = 29;
104
- break;
105
- }
106
- throw new Error("".concat(app.name, ": 'Unexpected icon extension (").concat(app.icon, ")"));
107
- case 29:
108
- icon = new Blob([icon], {
109
- type: mimeTypes[extension]
110
- });
111
- case 30:
112
- if (!icon.type.match(/^image\/.*$/)) {
113
- _context.next = 34;
114
- break;
115
- }
116
- iconURL = URL.createObjectURL(icon);
117
- if (useCache) {
118
- cache.icons = cache.icons || {};
119
- cache.icons[url] = iconURL;
120
- }
121
- return _context.abrupt("return", iconURL);
122
- case 34:
123
- throw new Error("".concat(app.name, ": icon ").concat(url, " is not an image."));
124
- case 35:
125
- case "end":
126
- return _context.stop();
127
- }
128
- }, _callee, null, [[7, 18]]);
129
- }));
130
- return _getIcon.apply(this, arguments);
131
- }