cozy-search
Version:
UI components about search bar and IA assistant
81 lines (62 loc) • 2.36 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _twakeIcons = require("@linagora/twake-icons");
var _react = _interopRequireDefault(require("react"));
var _cozyClient = require("cozy-client");
var _file = require("cozy-client/dist/models/file");
var _ListItem = _interopRequireDefault(require("cozy-ui/transpiled/react/ListItem"));
var _ListItemIcon = _interopRequireDefault(require("cozy-ui/transpiled/react/ListItemIcon"));
var _ListItemText = _interopRequireDefault(require("cozy-ui/transpiled/react/ListItemText"));
var _getIconForSearchResult = require("../../Search/getIconForSearchResult");
var styles = {
"sourcesItem": "styles__sourcesItem___204Zw"
};
var getSlug = function getSlug(file) {
if ((0, _file.isNote)(file)) {
return 'notes';
}
if ((0, _file.isDocs)(file)) {
return 'docs';
}
return 'drive';
};
var getHash = function getHash(file, slug) {
if (slug === 'notes') {
return "/n/".concat(file._id);
}
if (slug === 'docs') {
return "/bridge/docs/".concat(file.metadata.externalId);
}
return "/folder/".concat(file.dir_id, "/file/").concat(file._id);
};
var FileSourcesItem = function FileSourcesItem(_ref) {
var file = _ref.file;
var client = (0, _cozyClient.useClient)();
var slug = getSlug(file);
var hash = getHash(file, slug);
var docUrl = (0, _cozyClient.generateWebLink)({
slug: slug,
cozyUrl: client === null || client === void 0 ? void 0 : client.getStackClient().uri,
subDomainType: client === null || client === void 0 ? void 0 : client.getInstanceOptions().subdomain,
hash: hash
});
return /*#__PURE__*/_react.default.createElement(_ListItem.default, {
className: styles['sourcesItem'],
component: "a",
href: docUrl,
target: "_blank",
button: true
}, /*#__PURE__*/_react.default.createElement(_ListItemIcon.default, null, /*#__PURE__*/_react.default.createElement(_twakeIcons.Icon, {
icon: (0, _getIconForSearchResult.getDriveMimeTypeIcon)(file),
size: 32
})), /*#__PURE__*/_react.default.createElement(_ListItemText.default, {
primary: file.name,
secondary: file.path.replace(file.name, '')
}));
};
var _default = FileSourcesItem;
exports.default = _default;