cozy-search
Version:
UI components about search bar and IA assistant
194 lines (151 loc) • 7.95 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _twakeIcons = require("@linagora/twake-icons");
var _react = _interopRequireWildcard(require("react"));
var _cozyClient = require("cozy-client");
var _Buttons = _interopRequireDefault(require("cozy-ui/transpiled/react/Buttons"));
var _Dialog = _interopRequireWildcard(require("cozy-ui/transpiled/react/Dialog"));
var _IconButton = _interopRequireDefault(require("cozy-ui/transpiled/react/IconButton"));
var _Alert = require("cozy-ui/transpiled/react/providers/Alert");
var _twakeI18n = require("twake-i18n");
var _locales = require("../../locales");
var _AssistantProvider = require("../AssistantProvider");
var _queries = require("../queries");
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
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; }
var styles = {
"BasicInfoStep": "styles__BasicInfoStep___2r0eM",
"avatar-container": "styles__avatar-container___kJ_64",
"avatar-image": "styles__avatar-image___2Mkxj",
"file-input": "styles__file-input___2fB5n",
"ModelSelectionStep": "styles__ModelSelectionStep___1auXB",
"grid-container": "styles__grid-container___3wOus",
"grid-container--mobile": "styles__grid-container--mobile___uCAg1",
"model-card": "styles__model-card___fbAqF",
"model-card--selected": "styles__model-card--selected___3hKq3",
"model-card--openrag--light": "styles__model-card--openrag--light___1vabR",
"model-card--openrag--dark": "styles__model-card--openrag--dark___1x0sK",
"icon-container": "styles__icon-container___1vaTp",
"icon-container--google": "styles__icon-container--google___3gtC7",
"icon-container--custom": "styles__icon-container--custom___1_EFK",
"icon-container--openai": "styles__icon-container--openai___3DsoO",
"check-icon": "styles__check-icon___3uPUk",
"CreateAssistantDialog": "styles__CreateAssistantDialog___1dSe_",
"close-button": "styles__close-button___3jc_w"
};
var DeleteAssistantDialog = function DeleteAssistantDialog(_ref) {
var open = _ref.open,
onClose = _ref.onClose;
(0, _twakeI18n.useExtendI18n)(_locales.locales);
var _useI18n = (0, _twakeI18n.useI18n)(),
t = _useI18n.t;
var client = (0, _cozyClient.useClient)();
var _useAssistant = (0, _AssistantProvider.useAssistant)(),
assistantIdInAction = _useAssistant.assistantIdInAction,
setAssistantIdInAction = _useAssistant.setAssistantIdInAction;
var _useAlert = (0, _Alert.useAlert)(),
showAlert = _useAlert.showAlert;
var _useState = (0, _react.useState)(false),
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
isDeleting = _useState2[0],
setIsDeleting = _useState2[1];
var assistantQuery = (0, _queries.buildAssistantByIdQuery)(assistantIdInAction);
var _ref2 = (0, _cozyClient.useQuery)(assistantQuery.definition, assistantQuery.options) || {},
assistant = _ref2.data,
fetchStatus = _ref2.fetchStatus;
var isLoading = fetchStatus === 'loading' || fetchStatus === 'pending';
var displayName = (assistant === null || assistant === void 0 ? void 0 : assistant.name) || assistantIdInAction || '...';
var handleDeleteAssistant = /*#__PURE__*/function () {
var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
var _yield$client$query, assistantDoc, included, provider;
return _regenerator.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
if (assistantIdInAction) {
_context.next = 2;
break;
}
return _context.abrupt("return");
case 2:
_context.prev = 2;
setIsDeleting(true);
_context.next = 6;
return client.query(assistantQuery.definition());
case 6:
_yield$client$query = _context.sent;
assistantDoc = _yield$client$query.data;
included = _yield$client$query.included;
_context.next = 11;
return client.destroy(assistantDoc);
case 11:
provider = included === null || included === void 0 ? void 0 : included[0];
if (!provider) {
_context.next = 15;
break;
}
_context.next = 15;
return client.destroy(provider);
case 15:
setAssistantIdInAction(null);
onClose();
_context.next = 22;
break;
case 19:
_context.prev = 19;
_context.t0 = _context["catch"](2);
showAlert({
message: t('assistant.default_error'),
severity: 'error'
});
case 22:
_context.prev = 22;
setIsDeleting(false);
return _context.finish(22);
case 25:
case "end":
return _context.stop();
}
}
}, _callee, null, [[2, 19, 22, 25]]);
}));
return function handleDeleteAssistant() {
return _ref3.apply(this, arguments);
};
}();
return /*#__PURE__*/_react.default.createElement(_Dialog.default, {
open: open,
onClose: onClose,
maxWidth: "sm",
className: styles.CreateAssistantDialog
}, /*#__PURE__*/_react.default.createElement(_Dialog.DialogTitle, {
disableTypography: true
}, t('assistant_delete.title')), /*#__PURE__*/_react.default.createElement(_IconButton.default, {
"aria-label": t('assistant.dialog.close'),
onClick: onClose,
className: styles['close-button']
}, /*#__PURE__*/_react.default.createElement(_twakeIcons.Icon, {
icon: _twakeIcons.Cross
})), /*#__PURE__*/_react.default.createElement(_Dialog.DialogContent, null, t('assistant_delete.content', {
name: displayName
})), /*#__PURE__*/_react.default.createElement(_Dialog.DialogActions, null, /*#__PURE__*/_react.default.createElement(_Buttons.default, {
variant: "text",
onClick: onClose,
label: t('assistant_delete.buttons.cancel')
}), /*#__PURE__*/_react.default.createElement(_Buttons.default, {
variant: "contained",
color: "error",
onClick: handleDeleteAssistant,
disabled: isLoading || isDeleting || !assistantIdInAction,
label: t('assistant_delete.buttons.confirm')
})));
};
var _default = DeleteAssistantDialog;
exports.default = _default;