@atlaskit/profilecard 19.19.0 → 19.20.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.
Files changed (58) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/afm-cc/tsconfig.json +3 -0
  3. package/afm-jira/tsconfig.json +6 -0
  4. package/afm-post-office/tsconfig.json +3 -0
  5. package/dist/cjs/client/RovoAgentCardClient.js +2 -5
  6. package/dist/cjs/client/UserProfileCardClient.js +110 -16
  7. package/dist/cjs/client/getTeamFromAGG.js +1 -1
  8. package/dist/cjs/components/Agent/Actions.js +20 -4
  9. package/dist/cjs/components/Agent/AgentDeleteConfirmationModal.js +104 -0
  10. package/dist/cjs/components/Agent/AgentProfileCard.js +40 -8
  11. package/dist/cjs/components/Agent/AgentProfileCardTrigger.js +2 -1
  12. package/dist/cjs/components/Agent/hooks/useAgentActions.js +92 -0
  13. package/dist/cjs/components/Agent/hooks/useDeleteAgent.js +70 -0
  14. package/dist/cjs/components/Agent/{useSetFavouriteAgent.js → hooks/useSetFavouriteAgent.js} +1 -1
  15. package/dist/cjs/components/User/ProfileCardTrigger.js +4 -2
  16. package/dist/cjs/util/analytics.js +16 -16
  17. package/dist/es2019/client/RovoAgentCardClient.js +2 -5
  18. package/dist/es2019/client/UserProfileCardClient.js +94 -6
  19. package/dist/es2019/client/getTeamFromAGG.js +1 -1
  20. package/dist/es2019/components/Agent/Actions.js +16 -4
  21. package/dist/es2019/components/Agent/AgentDeleteConfirmationModal.js +82 -0
  22. package/dist/es2019/components/Agent/AgentProfileCard.js +24 -9
  23. package/dist/es2019/components/Agent/AgentProfileCardTrigger.js +2 -1
  24. package/dist/es2019/components/Agent/hooks/useAgentActions.js +83 -0
  25. package/dist/es2019/components/Agent/hooks/useDeleteAgent.js +33 -0
  26. package/dist/es2019/components/Agent/{useSetFavouriteAgent.js → hooks/useSetFavouriteAgent.js} +1 -1
  27. package/dist/es2019/components/User/ProfileCardTrigger.js +4 -2
  28. package/dist/es2019/util/analytics.js +16 -16
  29. package/dist/esm/client/RovoAgentCardClient.js +2 -5
  30. package/dist/esm/client/UserProfileCardClient.js +111 -17
  31. package/dist/esm/client/getTeamFromAGG.js +1 -1
  32. package/dist/esm/components/Agent/Actions.js +20 -4
  33. package/dist/esm/components/Agent/AgentDeleteConfirmationModal.js +94 -0
  34. package/dist/esm/components/Agent/AgentProfileCard.js +40 -8
  35. package/dist/esm/components/Agent/AgentProfileCardTrigger.js +2 -1
  36. package/dist/esm/components/Agent/hooks/useAgentActions.js +85 -0
  37. package/dist/esm/components/Agent/hooks/useDeleteAgent.js +63 -0
  38. package/dist/esm/components/Agent/{useSetFavouriteAgent.js → hooks/useSetFavouriteAgent.js} +1 -1
  39. package/dist/esm/components/User/ProfileCardTrigger.js +4 -2
  40. package/dist/esm/util/analytics.js +16 -16
  41. package/dist/types/client/UserProfileCardClient.d.ts +7 -1
  42. package/dist/types/components/Agent/AgentDeleteConfirmationModal.d.ts +10 -0
  43. package/dist/types/components/Agent/{useAgentActions.d.ts → hooks/useAgentActions.d.ts} +6 -0
  44. package/dist/types/components/Agent/hooks/useDeleteAgent.d.ts +8 -0
  45. package/dist/types/components/User/ProfileCardTrigger.d.ts +1 -1
  46. package/dist/types/types.d.ts +35 -2
  47. package/dist/types-ts4.5/client/UserProfileCardClient.d.ts +7 -1
  48. package/dist/types-ts4.5/components/Agent/AgentDeleteConfirmationModal.d.ts +10 -0
  49. package/dist/types-ts4.5/components/Agent/{useAgentActions.d.ts → hooks/useAgentActions.d.ts} +6 -0
  50. package/dist/types-ts4.5/components/Agent/hooks/useDeleteAgent.d.ts +8 -0
  51. package/dist/types-ts4.5/components/User/ProfileCardTrigger.d.ts +1 -1
  52. package/dist/types-ts4.5/types.d.ts +35 -2
  53. package/package.json +6 -1
  54. package/dist/cjs/components/Agent/useAgentActions.js +0 -39
  55. package/dist/es2019/components/Agent/useAgentActions.js +0 -34
  56. package/dist/esm/components/Agent/useAgentActions.js +0 -33
  57. /package/dist/types/components/Agent/{useSetFavouriteAgent.d.ts → hooks/useSetFavouriteAgent.d.ts} +0 -0
  58. /package/dist/types-ts4.5/components/Agent/{useSetFavouriteAgent.d.ts → hooks/useSetFavouriteAgent.d.ts} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # @atlaskit/profilecard
2
2
 
3
+ ## 19.20.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#132782](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/132782)
8
+ [`8f20b4bc9526a`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/8f20b4bc9526a) -
9
+ Added default open chat action and delete agent functionality
10
+ - [`3c1c3ee3b4f32`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/3c1c3ee3b4f32) -
11
+ PTC-9673 Migrate profile card from CloudUser to AGG user
12
+
3
13
  ## 19.19.0
4
14
 
5
15
  ### Minor Changes
@@ -54,6 +54,9 @@
54
54
  {
55
55
  "path": "../../../design-system/menu/afm-cc/tsconfig.json"
56
56
  },
57
+ {
58
+ "path": "../../../design-system/modal-dialog/afm-cc/tsconfig.json"
59
+ },
57
60
  {
58
61
  "path": "../../../platform/feature-flags/afm-cc/tsconfig.json"
59
62
  },
@@ -53,6 +53,9 @@
53
53
  {
54
54
  "path": "../../../design-system/menu/afm-jira/tsconfig.json"
55
55
  },
56
+ {
57
+ "path": "../../../design-system/modal-dialog/afm-jira/tsconfig.json"
58
+ },
56
59
  {
57
60
  "path": "../../../platform/feature-flags/afm-jira/tsconfig.json"
58
61
  },
@@ -62,6 +65,9 @@
62
65
  {
63
66
  "path": "../../../design-system/primitives/afm-jira/tsconfig.json"
64
67
  },
68
+ {
69
+ "path": "../../../ai-mate/rovo-agent-components/afm-jira/tsconfig.json"
70
+ },
65
71
  {
66
72
  "path": "../../../design-system/spinner/afm-jira/tsconfig.json"
67
73
  },
@@ -53,6 +53,9 @@
53
53
  {
54
54
  "path": "../../../design-system/menu/afm-post-office/tsconfig.json"
55
55
  },
56
+ {
57
+ "path": "../../../design-system/modal-dialog/afm-post-office/tsconfig.json"
58
+ },
56
59
  {
57
60
  "path": "../../../platform/feature-flags/afm-post-office/tsconfig.json"
58
61
  },
@@ -33,13 +33,10 @@ var RovoAgentCardClient = exports.default = /*#__PURE__*/function (_CachingClien
33
33
  (0, _createClass2.default)(RovoAgentCardClient, [{
34
34
  key: "makeRequest",
35
35
  value: function makeRequest(id, cloudId) {
36
- if (!this.options.productIdentifier) {
37
- throw new Error('Trying to fetch agents data with no specified config.productIdentifier');
38
- }
39
36
  if (id.type === 'identity') {
40
- return (0, _getAgentInfo.getAgentDetailsByUserId)(id.value, this.options.productIdentifier, cloudId);
37
+ return (0, _getAgentInfo.getAgentDetailsByUserId)(id.value, this.options.productIdentifier || 'rovo', cloudId);
41
38
  }
42
- return (0, _getAgentInfo.getAgentDetailsByAgentId)(id.value, this.options.productIdentifier, cloudId);
39
+ return (0, _getAgentInfo.getAgentDetailsByAgentId)(id.value, this.options.productIdentifier || 'rovo', cloudId);
43
40
  }
44
41
  }, {
45
42
  key: "getProfile",
@@ -4,16 +4,18 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.modifyResponse = exports.default = exports.buildUserQuery = void 0;
7
+ exports.modifyResponse = exports.default = exports.buildUserQuery = exports.buildAggUserQuery = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
9
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
10
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
11
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
12
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
14
13
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
16
17
  var _analytics = require("../util/analytics");
18
+ var _date = require("../util/date");
17
19
  var _performance = require("../util/performance");
18
20
  var _CachingClient2 = _interopRequireDefault(require("./CachingClient"));
19
21
  var _errorUtils = require("./errorUtils");
@@ -67,6 +69,50 @@ var buildUserQuery = exports.buildUserQuery = function buildUserQuery(cloudId, u
67
69
  }
68
70
  };
69
71
  };
72
+ var buildAggUserQuery = exports.buildAggUserQuery = function buildAggUserQuery(userId) {
73
+ return {
74
+ query: "query TeamsUserQuery($userId: ID!) {\n\t\tuser(accountId: $userId) {\n\t\t\tid\n\t\t\tname\n\t\t\tpicture\n\t\t\taccountStatus\n\t\t\t__typename\n\t\t\t... on AtlassianAccountUser {\n\t\t\t\temail\n\t\t\t\tnickname\n\t\t\t\tzoneinfo\n\t\t\t\textendedProfile {\n\t\t\t\t\tjobTitle\n\t\t\t\t\torganization\n\t\t\t\t\tlocation\n\t\t\t\t\tclosedDate\n\t\t\t\t\tinactiveDate\n\t\t\t\t}\n\t\t\t}\n\t\t\t... on CustomerUser {\n\t\t\t\temail\n\t\t\t\tzoneinfo\n\t\t\t}\n\t\t}\n\t}",
75
+ variables: {
76
+ userId: userId
77
+ }
78
+ };
79
+ };
80
+ var getUserInSiteUserBase = function getUserInSiteUserBase(cloudId, userId) {
81
+ return fetch(new Request("/gateway/api/teams/site/".concat(cloudId, "/users/").concat(userId, "/exists"), {
82
+ method: 'GET',
83
+ credentials: 'include',
84
+ mode: 'cors',
85
+ headers: {
86
+ Accept: 'application/json',
87
+ 'X-header-client-id': 'ptc-fe'
88
+ }
89
+ })).then(function (response) {
90
+ return response.json();
91
+ });
92
+ };
93
+ var queryAGGUser = /*#__PURE__*/function () {
94
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(url, userId) {
95
+ var query, _yield$AGGQuery, user;
96
+ return _regenerator.default.wrap(function _callee$(_context) {
97
+ while (1) switch (_context.prev = _context.next) {
98
+ case 0:
99
+ query = buildAggUserQuery(userId);
100
+ _context.next = 3;
101
+ return (0, _graphqlUtils.AGGQuery)(url, query);
102
+ case 3:
103
+ _yield$AGGQuery = _context.sent;
104
+ user = _yield$AGGQuery.user;
105
+ return _context.abrupt("return", user);
106
+ case 6:
107
+ case "end":
108
+ return _context.stop();
109
+ }
110
+ }, _callee);
111
+ }));
112
+ return function queryAGGUser(_x, _x2) {
113
+ return _ref.apply(this, arguments);
114
+ };
115
+ }();
70
116
  var UserProfileCardClient = exports.default = /*#__PURE__*/function (_CachingClient) {
71
117
  (0, _inherits2.default)(UserProfileCardClient, _CachingClient);
72
118
  var _super = _createSuper(UserProfileCardClient);
@@ -80,30 +126,78 @@ var UserProfileCardClient = exports.default = /*#__PURE__*/function (_CachingCli
80
126
  (0, _createClass2.default)(UserProfileCardClient, [{
81
127
  key: "makeRequest",
82
128
  value: function () {
83
- var _makeRequest = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(cloudId, userId) {
84
- var query, response;
85
- return _regenerator.default.wrap(function _callee$(_context) {
86
- while (1) switch (_context.prev = _context.next) {
129
+ var _makeRequest = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(cloudId, userId) {
130
+ var _user$extendedProfile, _user$extendedProfile2, _user$extendedProfile3, _user$extendedProfile4, _user$extendedProfile5, userCheckPromise, userQueryPromise, checkUserPresentInSiteRes, user, timestring, localWeekdayIndex, query, response;
131
+ return _regenerator.default.wrap(function _callee2$(_context2) {
132
+ while (1) switch (_context2.prev = _context2.next) {
87
133
  case 0:
134
+ if (!(0, _platformFeatureFlags.fg)('migrate_cloud_user_to_agg_user_query')) {
135
+ _context2.next = 18;
136
+ break;
137
+ }
138
+ if (this.options.gatewayGraphqlUrl) {
139
+ _context2.next = 3;
140
+ break;
141
+ }
142
+ throw new Error('options.gatewayGraphqlUrl is a required parameter');
143
+ case 3:
144
+ userCheckPromise = getUserInSiteUserBase(cloudId, userId);
145
+ userQueryPromise = queryAGGUser(this.options.gatewayGraphqlUrl, userId);
146
+ _context2.next = 7;
147
+ return userCheckPromise;
148
+ case 7:
149
+ checkUserPresentInSiteRes = _context2.sent;
150
+ if (checkUserPresentInSiteRes.isPresent) {
151
+ _context2.next = 10;
152
+ break;
153
+ }
154
+ throw new Error('Unable to fetch user: User does not exist in this site');
155
+ case 10:
156
+ _context2.next = 12;
157
+ return userQueryPromise;
158
+ case 12:
159
+ user = _context2.sent;
160
+ localWeekdayIndex = new Date().getDay().toString();
161
+ if (user.zoneinfo) {
162
+ if ((0, _date.localTime)(user.zoneinfo, 'i') === localWeekdayIndex) {
163
+ timestring = (0, _date.localTime)(user.zoneinfo, 'h:mmbbb') || undefined;
164
+ } else {
165
+ timestring = (0, _date.localTime)(user.zoneinfo, 'eee h:mmbbb') || undefined;
166
+ }
167
+ }
168
+ return _context2.abrupt("return", _objectSpread(_objectSpread({}, user), {}, {
169
+ isBot: user.__typename === 'AppUser',
170
+ status: user.accountStatus,
171
+ statusModifiedDate: ((_user$extendedProfile = user.extendedProfile) === null || _user$extendedProfile === void 0 ? void 0 : _user$extendedProfile.closedDate) || ((_user$extendedProfile2 = user.extendedProfile) === null || _user$extendedProfile2 === void 0 ? void 0 : _user$extendedProfile2.inactiveDate),
172
+ avatarUrl: user.picture,
173
+ email: user.email,
174
+ fullName: user.name,
175
+ location: (_user$extendedProfile3 = user.extendedProfile) === null || _user$extendedProfile3 === void 0 ? void 0 : _user$extendedProfile3.location,
176
+ meta: (_user$extendedProfile4 = user.extendedProfile) === null || _user$extendedProfile4 === void 0 ? void 0 : _user$extendedProfile4.jobTitle,
177
+ nickname: user.nickname,
178
+ companyName: (_user$extendedProfile5 = user.extendedProfile) === null || _user$extendedProfile5 === void 0 ? void 0 : _user$extendedProfile5.organization,
179
+ timestring: timestring
180
+ }));
181
+ case 18:
88
182
  if (this.options.url) {
89
- _context.next = 2;
183
+ _context2.next = 20;
90
184
  break;
91
185
  }
92
186
  throw new Error('options.url is a required parameter');
93
- case 2:
187
+ case 20:
94
188
  query = buildUserQuery(cloudId, userId);
95
- _context.next = 5;
189
+ _context2.next = 23;
96
190
  return (0, _graphqlUtils.directoryGraphqlQuery)(this.options.url, query);
97
- case 5:
98
- response = _context.sent;
99
- return _context.abrupt("return", modifyResponse(response));
100
- case 7:
191
+ case 23:
192
+ response = _context2.sent;
193
+ return _context2.abrupt("return", modifyResponse(response));
194
+ case 25:
101
195
  case "end":
102
- return _context.stop();
196
+ return _context2.stop();
103
197
  }
104
- }, _callee, this);
198
+ }, _callee2, this);
105
199
  }));
106
- function makeRequest(_x, _x2) {
200
+ function makeRequest(_x3, _x4) {
107
201
  return _makeRequest.apply(this, arguments);
108
202
  }
109
203
  return makeRequest;
@@ -57,7 +57,7 @@ var addHeaders = exports.addHeaders = function addHeaders(headers) {
57
57
  headers.append('X-ExperimentalApi', 'teams-beta');
58
58
  headers.append('X-ExperimentalApi', 'team-members-beta');
59
59
  headers.append('atl-client-name', "@atlaskit/profilecard");
60
- headers.append('atl-client-version', "19.19.0");
60
+ headers.append('atl-client-version', "19.20.0");
61
61
  return headers;
62
62
  };
63
63
  function getTeamFromAGG(_x, _x2, _x3) {
@@ -8,13 +8,15 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.AgentActions = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
- var _react = _interopRequireDefault(require("react"));
11
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
+ var _react = _interopRequireWildcard(require("react"));
12
13
  var _reactIntlNext = require("react-intl-next");
13
14
  var _new = _interopRequireWildcard(require("@atlaskit/button/new"));
14
15
  var _dropdownMenu = _interopRequireWildcard(require("@atlaskit/dropdown-menu"));
15
16
  var _showMoreHorizontalMore = _interopRequireDefault(require("@atlaskit/icon/core/migration/show-more-horizontal--more"));
16
17
  var _primitives = require("@atlaskit/primitives");
17
18
  var _rovoAgentComponents = require("@atlaskit/rovo-agent-components");
19
+ var _AgentDeleteConfirmationModal = require("./AgentDeleteConfirmationModal");
18
20
  var _excluded = ["triggerRef"];
19
21
  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); }
20
22
  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 && Object.prototype.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; }
@@ -90,15 +92,21 @@ var AgentActions = exports.AgentActions = function AgentActions(_ref3) {
90
92
  onChatClick = _ref3.onChatClick;
91
93
  var _useIntl = (0, _reactIntlNext.useIntl)(),
92
94
  formatMessage = _useIntl.formatMessage;
95
+ var _useState = (0, _react.useState)(false),
96
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
97
+ isDeleteModalOpen = _useState2[0],
98
+ setIsDeleteModalOpen = _useState2[1];
93
99
  var agentActions = buildAgentActions({
94
100
  onDuplicateAgent: onDuplicateAgent,
95
101
  onCopyAgent: onCopyAgent
96
102
  });
97
103
  var agentSetting = buildAgentSettings({
98
104
  onEditAgent: onEditAgent,
99
- onDeleteAgent: onDeleteAgent
105
+ onDeleteAgent: function onDeleteAgent() {
106
+ setIsDeleteModalOpen(true);
107
+ }
100
108
  });
101
- return /*#__PURE__*/_react.default.createElement(_primitives.Inline, {
109
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_primitives.Inline, {
102
110
  space: "space.100",
103
111
  xcss: actopnsWrapperStyles
104
112
  }, /*#__PURE__*/_react.default.createElement(_primitives.Box, {
@@ -144,7 +152,15 @@ var AgentActions = exports.AgentActions = function AgentActions(_ref3) {
144
152
  key: idx,
145
153
  onClick: onClick
146
154
  }, text);
147
- }))));
155
+ })))), /*#__PURE__*/_react.default.createElement(_AgentDeleteConfirmationModal.AgentDeleteConfirmationModal, {
156
+ isOpen: isDeleteModalOpen,
157
+ onClose: function onClose() {
158
+ setIsDeleteModalOpen(false);
159
+ },
160
+ onSubmit: onDeleteAgent,
161
+ agentId: 'some Id',
162
+ agentName: "agentName"
163
+ }));
148
164
  };
149
165
  var messages = (0, _reactIntlNext.defineMessages)({
150
166
  actionChatToAgent: {
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.AgentDeleteConfirmationModal = void 0;
9
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var _reactIntlNext = require("react-intl-next");
13
+ var _new = _interopRequireDefault(require("@atlaskit/button/new"));
14
+ var _modalDialog = _interopRequireWildcard(require("@atlaskit/modal-dialog"));
15
+ var _primitives = require("@atlaskit/primitives");
16
+ 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); }
17
+ 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 && Object.prototype.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; }
18
+ var AgentDeleteConfirmationModal = exports.AgentDeleteConfirmationModal = function AgentDeleteConfirmationModal(_ref) {
19
+ var onClose = _ref.onClose,
20
+ agentName = _ref.agentName,
21
+ isOpen = _ref.isOpen,
22
+ onSubmit = _ref.onSubmit,
23
+ agentId = _ref.agentId;
24
+ var _useIntl = (0, _reactIntlNext.useIntl)(),
25
+ formatMessage = _useIntl.formatMessage;
26
+ var handleDeleteAgent = (0, _react.useCallback)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
27
+ return _regenerator.default.wrap(function _callee$(_context) {
28
+ while (1) switch (_context.prev = _context.next) {
29
+ case 0:
30
+ if (!agentId) {
31
+ _context.next = 4;
32
+ break;
33
+ }
34
+ _context.next = 3;
35
+ return onSubmit();
36
+ case 3:
37
+ onClose();
38
+ case 4:
39
+ case "end":
40
+ return _context.stop();
41
+ }
42
+ }, _callee);
43
+ })), [agentId, onClose, onSubmit]);
44
+ return /*#__PURE__*/_react.default.createElement(_modalDialog.ModalTransition, null, isOpen && /*#__PURE__*/_react.default.createElement(_modalDialog.default, {
45
+ width: "small"
46
+ }, /*#__PURE__*/_react.default.createElement(_modalDialog.ModalHeader, null, /*#__PURE__*/_react.default.createElement(_modalDialog.ModalTitle, null, formatMessage(messages.title, {
47
+ agentName: agentName
48
+ }))), /*#__PURE__*/_react.default.createElement(_modalDialog.ModalBody, null, /*#__PURE__*/_react.default.createElement(_primitives.Text, {
49
+ as: "p"
50
+ }, formatMessage(messages.body)), /*#__PURE__*/_react.default.createElement(_modalDialog.ModalFooter, null, /*#__PURE__*/_react.default.createElement(_new.default, {
51
+ appearance: "subtle",
52
+ onClick: onClose
53
+ }, formatMessage(messages.cancelText)), /*#__PURE__*/_react.default.createElement(_new.default, {
54
+ appearance: "danger",
55
+ onClick: function onClick(_e, event) {
56
+ handleDeleteAgent();
57
+ }
58
+ }, formatMessage(messages.confirmText))))));
59
+ };
60
+ var messages = (0, _reactIntlNext.defineMessages)({
61
+ cancelText: {
62
+ id: 'ai-mate.agent-modal.agent-delete-confirm.cancel-text',
63
+ defaultMessage: 'Cancel'
64
+ },
65
+ confirmText: {
66
+ id: 'ai-mate.agent-modal.agent-delete-confirm.confirm-text',
67
+ defaultMessage: 'Delete'
68
+ },
69
+ title: {
70
+ id: 'ai-mate.agent-list.delete-agent-confirm-title',
71
+ defaultMessage: 'Delete "{agentName}"?',
72
+ description: 'Title text for the delete agent confirmation modal'
73
+ },
74
+ body: {
75
+ id: 'ai-mate.agent-list.delete-agent-confirm-body',
76
+ defaultMessage: "Are you sure you want to delete this agent? This action cannot be undone.",
77
+ description: 'Body text for the delete agent confirmation modal'
78
+ },
79
+ error: {
80
+ id: 'ai-mate.agent-list.delete-agent-error',
81
+ defaultMessage: 'Could not delete agent',
82
+ description: 'Error message displayed when an agent cannot be deleted'
83
+ },
84
+ errorAgentNotFound: {
85
+ id: 'ai-mate.agent-list.delete-agent-error.agent-not-found',
86
+ defaultMessage: 'That agent could not be found.',
87
+ description: 'Error message displayed when an agent cannot be found'
88
+ },
89
+ errorAgentInUse: {
90
+ id: 'ai-mate.agent-list.delete-agent-error.agent-in-use',
91
+ defaultMessage: 'Agent is currently in use. Try again later.',
92
+ description: 'Error message displayed when an agent is in use'
93
+ },
94
+ errorIncorrectOwner: {
95
+ id: 'ai-mate.agent-list.delete-agent-error.incorrect-owner',
96
+ defaultMessage: 'You cannot delete agents you have not created yourself. Please contact the agent owner.',
97
+ description: 'Error message displayed when the agent owner is incorrect'
98
+ },
99
+ agentDeletedSuccess: {
100
+ id: 'ai-mate.agent-list.delete-agent-success',
101
+ defaultMessage: 'Agent has been deleted!',
102
+ description: 'Success message displayed when an agent is deleted'
103
+ }
104
+ });
@@ -6,6 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = void 0;
9
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
9
11
  var _react = _interopRequireWildcard(require("react"));
10
12
  var _analyticsNext = require("@atlaskit/analytics-next");
11
13
  var _primitives = require("@atlaskit/primitives");
@@ -16,8 +18,9 @@ var _Error = require("../Error");
16
18
  var _Actions = require("./Actions");
17
19
  var _AgentProfileCardWrapper = require("./AgentProfileCardWrapper");
18
20
  var _ConversationStarters = require("./ConversationStarters");
19
- var _useAgentActions = require("./useAgentActions");
20
- var _useSetFavouriteAgent2 = require("./useSetFavouriteAgent");
21
+ var _useAgentActions = require("./hooks/useAgentActions");
22
+ var _useDeleteAgent2 = require("./hooks/useDeleteAgent");
23
+ var _useSetFavouriteAgent2 = require("./hooks/useSetFavouriteAgent");
21
24
  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
25
  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 && Object.prototype.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
26
  var styles = (0, _primitives.xcss)({
@@ -50,7 +53,9 @@ var AgentProfileCard = function AgentProfileCard(_ref) {
50
53
  }),
51
54
  _onEditAgent = _useAgentUrlActions.onEditAgent,
52
55
  _onCopyAgent = _useAgentUrlActions.onCopyAgent,
53
- _onDuplicateAgent = _useAgentUrlActions.onDuplicateAgent;
56
+ _onDuplicateAgent = _useAgentUrlActions.onDuplicateAgent,
57
+ onOpenChatFullScreecn = _useAgentUrlActions.onOpenChat,
58
+ onConversationStarter = _useAgentUrlActions.onConversationStarter;
54
59
  var _useSetFavouriteAgent = (0, _useSetFavouriteAgent2.useSetFavouriteAgent)({
55
60
  agentId: agent === null || agent === void 0 ? void 0 : agent.id,
56
61
  cloudId: cloudId,
@@ -59,6 +64,11 @@ var AgentProfileCard = function AgentProfileCard(_ref) {
59
64
  }),
60
65
  isStarred = _useSetFavouriteAgent.isStarred,
61
66
  setFavourite = _useSetFavouriteAgent.setFavourite;
67
+ var _useDeleteAgent = (0, _useDeleteAgent2.useDeleteAgent)({
68
+ cloudId: cloudId,
69
+ product: product
70
+ }),
71
+ deleteAgent = _useDeleteAgent.deleteAgent;
62
72
  var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
63
73
  createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
64
74
  var fireAnalytics = (0, _react.useCallback)(function (payload) {
@@ -66,6 +76,27 @@ var AgentProfileCard = function AgentProfileCard(_ref) {
66
76
  (0, _analytics.fireEvent)(createAnalyticsEvent, payload);
67
77
  }
68
78
  }, [createAnalyticsEvent]);
79
+ var handleOnDelete = /*#__PURE__*/function () {
80
+ var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
81
+ return _regenerator.default.wrap(function _callee$(_context) {
82
+ while (1) switch (_context.prev = _context.next) {
83
+ case 0:
84
+ if (!agent) {
85
+ _context.next = 3;
86
+ break;
87
+ }
88
+ _context.next = 3;
89
+ return deleteAgent(agent.id);
90
+ case 3:
91
+ case "end":
92
+ return _context.stop();
93
+ }
94
+ }, _callee);
95
+ }));
96
+ return function handleOnDelete() {
97
+ return _ref2.apply(this, arguments);
98
+ };
99
+ }();
69
100
  (0, _react.useEffect)(function () {
70
101
  if (!isLoading && agent) {
71
102
  fireAnalytics((0, _analytics.profileCardRendered)('agent', 'content'));
@@ -117,7 +148,10 @@ var AgentProfileCard = function AgentProfileCard(_ref) {
117
148
  isAgentDefault: agent.is_default,
118
149
  userDefinedConversationStarters: agent.user_defined_conversation_starters,
119
150
  onConversationStarterClick: function onConversationStarterClick(conversationStarter) {
120
- throw new Error('Function not implemented.');
151
+ onConversationStarter({
152
+ agentId: agent.id,
153
+ prompt: 'conversationStarter'
154
+ });
121
155
  }
122
156
  })), /*#__PURE__*/_react.default.createElement(_Actions.AgentActions, {
123
157
  isAgentCreatedByCurrentUser: isCreatedByViewingUser,
@@ -130,11 +164,9 @@ var AgentProfileCard = function AgentProfileCard(_ref) {
130
164
  onDuplicateAgent: function onDuplicateAgent() {
131
165
  return _onDuplicateAgent(agent.id);
132
166
  },
133
- onDeleteAgent: function onDeleteAgent() {
134
- throw new Error('Function not implemented.');
135
- },
167
+ onDeleteAgent: handleOnDelete,
136
168
  onChatClick: function onChatClick() {
137
- return onOpenChat === null || onOpenChat === void 0 ? void 0 : onOpenChat(agent.id);
169
+ return onOpenChat ? onOpenChat(agent.id) : onOpenChatFullScreecn();
138
170
  }
139
171
  })));
140
172
  };
@@ -141,7 +141,8 @@ var AgentProfileCardTrigger = exports.AgentProfileCardTrigger = function AgentPr
141
141
  isCreatedByViewingUser: (profileData === null || profileData === void 0 || (_profileData$creatorI = profileData.creatorInfo) === null || _profileData$creatorI === void 0 ? void 0 : _profileData$creatorI.id) === viewingUserId,
142
142
  cloudId: props.cloudId,
143
143
  product: product,
144
- errorType: error
144
+ errorType: error,
145
+ onOpenChat: props.onOpenChat
145
146
  }));
146
147
  };
147
148
  return /*#__PURE__*/_react.default.createElement(_ProfileCardTrigger.default, (0, _extends2.default)({}, props, {
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useAgentUrlActions = exports.firstCharUpper = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _react = require("react");
11
+ var _atlassianContext = require("@atlaskit/atlassian-context");
12
+ var _url = require("../../../util/url");
13
+ 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; }
14
+ 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; }
15
+ var firstCharUpper = exports.firstCharUpper = function firstCharUpper(str) {
16
+ return str.charAt(0).toUpperCase() + str.slice(1);
17
+ };
18
+ var ROVO_PARAM_PREFIX = 'rovoChat';
19
+ var createRovoParams = function createRovoParams(params) {
20
+ var rovoParams = {};
21
+ Object.entries(params).forEach(function (_ref) {
22
+ var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
23
+ key = _ref2[0],
24
+ value = _ref2[1];
25
+ rovoParams["".concat(ROVO_PARAM_PREFIX, ".").concat(key)] = encodeURIComponent(value);
26
+ rovoParams["".concat(ROVO_PARAM_PREFIX).concat(firstCharUpper(key))] = encodeURIComponent(value);
27
+ });
28
+ return rovoParams;
29
+ };
30
+ var useAgentUrlActions = exports.useAgentUrlActions = function useAgentUrlActions(_ref3) {
31
+ var cloudId = _ref3.cloudId;
32
+ var onEditAgent = (0, _react.useCallback)(function (agentId) {
33
+ var url = "".concat((0, _atlassianContext.getATLContextUrl)('home'), "/agents/").concat(agentId, "/edit");
34
+ var urlWithParams = (0, _url.encodeParamsToUrl)(url, _objectSpread({
35
+ cloudId: cloudId
36
+ }, createRovoParams({
37
+ cloudId: cloudId
38
+ })));
39
+ window.open(urlWithParams, '_blank', 'noopener, noreferrer');
40
+ }, [cloudId]);
41
+ var onCopyAgent = (0, _react.useCallback)(function (agentId) {
42
+ var baseUrl = "".concat((0, _atlassianContext.getATLContextUrl)('home'), "/chat");
43
+ var urlWithParams = (0, _url.encodeParamsToUrl)(baseUrl, _objectSpread({
44
+ cloudId: cloudId
45
+ }, createRovoParams({
46
+ cloudId: cloudId,
47
+ agentId: agentId,
48
+ pathway: 'chat'
49
+ })));
50
+ navigator.clipboard.writeText(urlWithParams);
51
+ }, [cloudId]);
52
+ var onDuplicateAgent = (0, _react.useCallback)(function (agentId) {
53
+ var baseUrl = "".concat((0, _atlassianContext.getATLContextUrl)('home'), "/chat/agents/new");
54
+ var urlWithParams = (0, _url.encodeParamsToUrl)(baseUrl, _objectSpread({
55
+ cloudId: cloudId
56
+ }, createRovoParams({
57
+ cloudId: cloudId,
58
+ agentId: agentId,
59
+ pathway: 'agents-create'
60
+ })));
61
+ window.open(urlWithParams, '_blank', 'noopener, noreferrer');
62
+ }, [cloudId]);
63
+ var onConversationStarter = function onConversationStarter(_ref4) {
64
+ var agentId = _ref4.agentId,
65
+ prompt = _ref4.prompt;
66
+ var baseUrl = "".concat((0, _atlassianContext.getATLContextUrl)('home'), "/chat");
67
+ var urlWithParams = (0, _url.encodeParamsToUrl)(baseUrl, _objectSpread({
68
+ cloudId: cloudId
69
+ }, createRovoParams({
70
+ cloudId: cloudId,
71
+ agentId: agentId,
72
+ prompt: prompt
73
+ })));
74
+ window.open(urlWithParams, '_blank', 'noopener, noreferrer');
75
+ };
76
+ var onOpenChat = function onOpenChat() {
77
+ var baseUrl = "".concat((0, _atlassianContext.getATLContextUrl)('home'), "/chat");
78
+ var urlWithParams = (0, _url.encodeParamsToUrl)(baseUrl, _objectSpread({
79
+ cloudId: cloudId
80
+ }, createRovoParams({
81
+ cloudId: cloudId
82
+ })));
83
+ window.open(urlWithParams, '_blank', 'noopener, noreferrer');
84
+ };
85
+ return {
86
+ onEditAgent: onEditAgent,
87
+ onCopyAgent: onCopyAgent,
88
+ onDuplicateAgent: onDuplicateAgent,
89
+ onOpenChat: onOpenChat,
90
+ onConversationStarter: onConversationStarter
91
+ };
92
+ };