cozy-search 2.2.26 → 2.2.27
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.
|
@@ -7,10 +7,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
|
|
10
|
-
var _twakeIcons = require("@linagora/twake-icons");
|
|
11
|
-
|
|
12
10
|
var _react = _interopRequireDefault(require("react"));
|
|
13
11
|
|
|
12
|
+
var _twakeIcons = require("@linagora/twake-icons");
|
|
13
|
+
|
|
14
14
|
var _cozyClient = require("cozy-client");
|
|
15
15
|
|
|
16
16
|
var _cozyLogger = _interopRequireDefault(require("cozy-logger"));
|
|
@@ -45,8 +45,9 @@ var EmailSourceItem = function EmailSourceItem(_ref) {
|
|
|
45
45
|
subDomainType: client.getInstanceOptions().subdomain,
|
|
46
46
|
hash: "/bridge/dashboard/".concat(emailId)
|
|
47
47
|
});
|
|
48
|
-
var emailDate = email
|
|
49
|
-
|
|
48
|
+
var emailDate = email.datetime && new Date(email.datetime).toISOString().slice(0, 10); // ListItemText renders an empty line for '', but nothing for undefined
|
|
49
|
+
|
|
50
|
+
var primary = [emailDate, email['email.subject']].filter(Boolean).join(' - ') || undefined;
|
|
50
51
|
return /*#__PURE__*/_react.default.createElement(_ListItem.default, {
|
|
51
52
|
className: styles['sourcesItem'],
|
|
52
53
|
component: "a",
|
|
@@ -58,7 +59,7 @@ var EmailSourceItem = function EmailSourceItem(_ref) {
|
|
|
58
59
|
icon: _twakeIcons.Mail,
|
|
59
60
|
size: 32
|
|
60
61
|
})), /*#__PURE__*/_react.default.createElement(_ListItemText.default, {
|
|
61
|
-
primary: primary
|
|
62
|
+
primary: primary,
|
|
62
63
|
secondary: email['email.preview'] || undefined
|
|
63
64
|
}));
|
|
64
65
|
};
|
|
@@ -11,10 +11,12 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
|
|
|
11
11
|
|
|
12
12
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _uniqBy = _interopRequireDefault(require("lodash/uniqBy"));
|
|
15
15
|
|
|
16
16
|
var _react = _interopRequireWildcard(require("react"));
|
|
17
17
|
|
|
18
|
+
var _twakeIcons = require("@linagora/twake-icons");
|
|
19
|
+
|
|
18
20
|
var _cozyClient = require("cozy-client");
|
|
19
21
|
|
|
20
22
|
var _Box = _interopRequireDefault(require("cozy-ui/transpiled/react/Box"));
|
|
@@ -39,7 +41,34 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
39
41
|
|
|
40
42
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
41
43
|
|
|
42
|
-
var WEB_SOURCE_TYPE = 'web';
|
|
44
|
+
var WEB_SOURCE_TYPE = 'web'; // Web sources have no doctype, other sources are identified by theirs
|
|
45
|
+
|
|
46
|
+
var getSourceType = function getSourceType(source) {
|
|
47
|
+
if (source.sourceType === WEB_SOURCE_TYPE) return WEB_SOURCE_TYPE;
|
|
48
|
+
if (source.doctype === _queries.EMAIL_DOCTYPE) return _queries.EMAIL_DOCTYPE;
|
|
49
|
+
return _queries.FILES_DOCTYPE;
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
var getSourceKey = function getSourceKey(source) {
|
|
53
|
+
var type = getSourceType(source);
|
|
54
|
+
var identity = type === WEB_SOURCE_TYPE ? source.url : source.id;
|
|
55
|
+
return identity ? "".concat(type, ":").concat(identity) : null;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* A same document can be returned several times by the RAG, typically when
|
|
59
|
+
* several chunks of the same file or email are relevant. We only want to
|
|
60
|
+
* display it once. Sources without any identity are all kept, as we can't
|
|
61
|
+
* tell them apart.
|
|
62
|
+
*/
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
var dedupeSources = function dedupeSources(sources) {
|
|
66
|
+
return (0, _uniqBy.default)(sources, function (source) {
|
|
67
|
+
var _getSourceKey;
|
|
68
|
+
|
|
69
|
+
return (_getSourceKey = getSourceKey(source)) !== null && _getSourceKey !== void 0 ? _getSourceKey : source;
|
|
70
|
+
});
|
|
71
|
+
};
|
|
43
72
|
|
|
44
73
|
var Sources = function Sources(_ref) {
|
|
45
74
|
var messageId = _ref.messageId,
|
|
@@ -139,17 +168,18 @@ var SourcesWithFilesQuery = function SourcesWithFilesQuery(_ref2) {
|
|
|
139
168
|
var fileIds = [];
|
|
140
169
|
var emails = [];
|
|
141
170
|
var urls = [];
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
171
|
+
dedupeSources(sources).forEach(function (source) {
|
|
172
|
+
var type = getSourceType(source);
|
|
173
|
+
|
|
174
|
+
if (type === WEB_SOURCE_TYPE) {
|
|
145
175
|
urls.push(source);
|
|
146
|
-
} else if (
|
|
176
|
+
} else if (type === _queries.EMAIL_DOCTYPE) {
|
|
147
177
|
emails.push(source);
|
|
148
178
|
} else {
|
|
149
179
|
fileIds.push(source.id);
|
|
150
180
|
}
|
|
151
181
|
});
|
|
152
|
-
var enabled = fileIds
|
|
182
|
+
var enabled = fileIds.length > 0;
|
|
153
183
|
var filesByIds = (0, _queries.buildFilesByIds)(fileIds, enabled);
|
|
154
184
|
|
|
155
185
|
var _useQuery = (0, _cozyClient.useQuery)(filesByIds.definition, filesByIds.options),
|
|
@@ -157,7 +187,7 @@ var SourcesWithFilesQuery = function SourcesWithFilesQuery(_ref2) {
|
|
|
157
187
|
queryResult = (0, _objectWithoutProperties2.default)(_useQuery, _excluded);
|
|
158
188
|
|
|
159
189
|
var isLoading = (0, _cozyClient.isQueryLoading)(queryResult);
|
|
160
|
-
files = fetchedFiles || [];
|
|
190
|
+
var files = fetchedFiles || [];
|
|
161
191
|
if (isLoading && enabled || files.length === 0 && emails.length === 0 && urls.length === 0) return null;
|
|
162
192
|
return /*#__PURE__*/_react.default.createElement(Sources, {
|
|
163
193
|
messageId: messageId,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cozy-search",
|
|
3
3
|
"description": "UI components about search bar and IA assistant",
|
|
4
|
-
"version": "2.2.
|
|
4
|
+
"version": "2.2.27",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cozy Cloud",
|
|
7
7
|
"url": "https://github.com/cozy"
|
|
@@ -96,5 +96,5 @@
|
|
|
96
96
|
"lint": "cd .. && yarn eslint --ext js,jsx,ts packages/cozy-search"
|
|
97
97
|
},
|
|
98
98
|
"types": "dist/index.d.ts",
|
|
99
|
-
"gitHead": "
|
|
99
|
+
"gitHead": "bab8ddc27c3d4f211fd9cbf013f2f11500fbc89c"
|
|
100
100
|
}
|