@atlaskit/profilecard 19.17.2 → 19.17.4
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.
- package/CHANGELOG.md +12 -0
- package/dist/cjs/client/RovoAgentCardClient.js +82 -0
- package/dist/cjs/client/getAgentInfo.js +80 -0
- package/dist/cjs/client/getTeamFromAGG.js +1 -1
- package/dist/cjs/components/Agent/AgentProfileCard.js +13 -0
- package/dist/cjs/components/Agent/AgentProfileCardTrigger.js +25 -0
- package/dist/cjs/components/Agent/lazyAgentProfileCard.js +17 -0
- package/dist/cjs/components/common/PopupTrigger.js +54 -0
- package/dist/cjs/components/common/ProfileCardTrigger.js +94 -0
- package/dist/cjs/components/common/types.js +5 -0
- package/dist/cjs/util/analytics.js +6 -2
- package/dist/es2019/client/RovoAgentCardClient.js +53 -0
- package/dist/es2019/client/getAgentInfo.js +29 -0
- package/dist/es2019/client/getTeamFromAGG.js +1 -1
- package/dist/es2019/components/Agent/AgentProfileCard.js +7 -0
- package/dist/es2019/components/Agent/AgentProfileCardTrigger.js +16 -0
- package/dist/es2019/components/Agent/lazyAgentProfileCard.js +3 -0
- package/dist/es2019/components/common/PopupTrigger.js +41 -0
- package/dist/es2019/components/common/ProfileCardTrigger.js +78 -0
- package/dist/es2019/components/common/types.js +1 -0
- package/dist/es2019/util/analytics.js +4 -2
- package/dist/esm/client/RovoAgentCardClient.js +76 -0
- package/dist/esm/client/getAgentInfo.js +72 -0
- package/dist/esm/client/getTeamFromAGG.js +1 -1
- package/dist/esm/components/Agent/AgentProfileCard.js +6 -0
- package/dist/esm/components/Agent/AgentProfileCardTrigger.js +18 -0
- package/dist/esm/components/Agent/lazyAgentProfileCard.js +5 -0
- package/dist/esm/components/common/PopupTrigger.js +44 -0
- package/dist/esm/components/common/ProfileCardTrigger.js +84 -0
- package/dist/esm/components/common/types.js +1 -0
- package/dist/esm/util/analytics.js +5 -1
- package/dist/types/client/RovoAgentCardClient.d.ts +9 -0
- package/dist/types/client/getAgentInfo.d.ts +3 -0
- package/dist/types/components/Agent/AgentProfileCard.d.ts +6 -0
- package/dist/types/components/Agent/AgentProfileCardTrigger.d.ts +3 -0
- package/dist/types/components/Agent/lazyAgentProfileCard.d.ts +4 -0
- package/dist/types/components/common/PopupTrigger.d.ts +8 -0
- package/dist/types/components/common/ProfileCardTrigger.d.ts +4 -0
- package/dist/types/components/common/types.d.ts +10 -0
- package/dist/types/types.d.ts +4 -0
- package/dist/types/util/analytics.d.ts +3 -0
- package/dist/types-ts4.5/client/RovoAgentCardClient.d.ts +9 -0
- package/dist/types-ts4.5/client/getAgentInfo.d.ts +3 -0
- package/dist/types-ts4.5/components/Agent/AgentProfileCard.d.ts +6 -0
- package/dist/types-ts4.5/components/Agent/AgentProfileCardTrigger.d.ts +3 -0
- package/dist/types-ts4.5/components/Agent/lazyAgentProfileCard.d.ts +4 -0
- package/dist/types-ts4.5/components/common/PopupTrigger.d.ts +8 -0
- package/dist/types-ts4.5/components/common/ProfileCardTrigger.d.ts +4 -0
- package/dist/types-ts4.5/components/common/types.d.ts +10 -0
- package/dist/types-ts4.5/types.d.ts +4 -0
- package/dist/types-ts4.5/util/analytics.d.ts +3 -0
- package/package.json +17 -17
package/CHANGELOG.md
CHANGED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
12
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
13
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
14
|
+
var _analytics = require("../util/analytics");
|
|
15
|
+
var _performance = require("../util/performance");
|
|
16
|
+
var _CachingClient2 = _interopRequireDefault(require("./CachingClient"));
|
|
17
|
+
var _errorUtils = require("./errorUtils");
|
|
18
|
+
var _getAgentInfo = require("./getAgentInfo");
|
|
19
|
+
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; }
|
|
20
|
+
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; }
|
|
21
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
22
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
23
|
+
var RovoAgentCardClient = exports.default = /*#__PURE__*/function (_CachingClient) {
|
|
24
|
+
(0, _inherits2.default)(RovoAgentCardClient, _CachingClient);
|
|
25
|
+
var _super = _createSuper(RovoAgentCardClient);
|
|
26
|
+
function RovoAgentCardClient(options) {
|
|
27
|
+
var _this;
|
|
28
|
+
(0, _classCallCheck2.default)(this, RovoAgentCardClient);
|
|
29
|
+
_this = _super.call(this, options);
|
|
30
|
+
_this.options = options;
|
|
31
|
+
return _this;
|
|
32
|
+
}
|
|
33
|
+
(0, _createClass2.default)(RovoAgentCardClient, [{
|
|
34
|
+
key: "makeRequest",
|
|
35
|
+
value: function makeRequest(agentId) {
|
|
36
|
+
if (!this.options.productIdentifier) {
|
|
37
|
+
throw new Error('Trying to fetch agents data with no specified config.productIdentifier');
|
|
38
|
+
}
|
|
39
|
+
return (0, _getAgentInfo.getAgentDetailsByAgentId)(agentId, this.options.productIdentifier);
|
|
40
|
+
}
|
|
41
|
+
}, {
|
|
42
|
+
key: "getProfile",
|
|
43
|
+
value: function getProfile(agentId, analytics) {
|
|
44
|
+
var _this2 = this;
|
|
45
|
+
if (!agentId) {
|
|
46
|
+
return Promise.reject(new Error('agentId is missing'));
|
|
47
|
+
}
|
|
48
|
+
var cache = this.getCachedProfile(agentId);
|
|
49
|
+
if (cache) {
|
|
50
|
+
return Promise.resolve(cache);
|
|
51
|
+
}
|
|
52
|
+
return new Promise(function (resolve, reject) {
|
|
53
|
+
var startTime = (0, _performance.getPageTime)();
|
|
54
|
+
if (analytics) {
|
|
55
|
+
analytics((0, _analytics.agentRequestAnalytics)('triggered'));
|
|
56
|
+
}
|
|
57
|
+
_this2.makeRequest(agentId).then(function (data) {
|
|
58
|
+
if (_this2.cache) {
|
|
59
|
+
_this2.setCachedProfile(agentId, data);
|
|
60
|
+
}
|
|
61
|
+
if (analytics) {
|
|
62
|
+
analytics((0, _analytics.agentRequestAnalytics)('succeeded', {
|
|
63
|
+
duration: (0, _performance.getPageTime)() - startTime,
|
|
64
|
+
gateway: true
|
|
65
|
+
}));
|
|
66
|
+
}
|
|
67
|
+
resolve(data);
|
|
68
|
+
}).catch(function (error) {
|
|
69
|
+
if (analytics) {
|
|
70
|
+
analytics((0, _analytics.agentRequestAnalytics)('failed', _objectSpread(_objectSpread({
|
|
71
|
+
duration: (0, _performance.getPageTime)() - startTime
|
|
72
|
+
}, (0, _errorUtils.getErrorAttributes)(error)), {}, {
|
|
73
|
+
gateway: true
|
|
74
|
+
})));
|
|
75
|
+
}
|
|
76
|
+
reject(error);
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
}]);
|
|
81
|
+
return RovoAgentCardClient;
|
|
82
|
+
}(_CachingClient2.default);
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.getAgentDetailsByAgentId = getAgentDetailsByAgentId;
|
|
8
|
+
exports.getAgentDetailsByUserId = getAgentDetailsByUserId;
|
|
9
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
10
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
|
+
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; }
|
|
13
|
+
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; }
|
|
14
|
+
var createHeaders = function createHeaders(product) {
|
|
15
|
+
var config = {
|
|
16
|
+
headers: {
|
|
17
|
+
'x-product': product,
|
|
18
|
+
'x-experience-id': 'profile-card'
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
return new Headers(_objectSpread({}, config.headers || {}));
|
|
22
|
+
};
|
|
23
|
+
function getAgentDetailsByAgentId(_x, _x2) {
|
|
24
|
+
return _getAgentDetailsByAgentId.apply(this, arguments);
|
|
25
|
+
}
|
|
26
|
+
function _getAgentDetailsByAgentId() {
|
|
27
|
+
_getAgentDetailsByAgentId = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(agentId, product) {
|
|
28
|
+
var headers;
|
|
29
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
30
|
+
while (1) switch (_context.prev = _context.next) {
|
|
31
|
+
case 0:
|
|
32
|
+
headers = createHeaders(product);
|
|
33
|
+
_context.next = 3;
|
|
34
|
+
return fetch(new Request("assist/agents/v1/".concat(agentId), {
|
|
35
|
+
method: 'GET',
|
|
36
|
+
credentials: 'include',
|
|
37
|
+
mode: 'cors',
|
|
38
|
+
headers: headers
|
|
39
|
+
})).then(function (response) {
|
|
40
|
+
return response.json();
|
|
41
|
+
});
|
|
42
|
+
case 3:
|
|
43
|
+
return _context.abrupt("return", _context.sent);
|
|
44
|
+
case 4:
|
|
45
|
+
case "end":
|
|
46
|
+
return _context.stop();
|
|
47
|
+
}
|
|
48
|
+
}, _callee);
|
|
49
|
+
}));
|
|
50
|
+
return _getAgentDetailsByAgentId.apply(this, arguments);
|
|
51
|
+
}
|
|
52
|
+
function getAgentDetailsByUserId(_x3, _x4) {
|
|
53
|
+
return _getAgentDetailsByUserId.apply(this, arguments);
|
|
54
|
+
}
|
|
55
|
+
function _getAgentDetailsByUserId() {
|
|
56
|
+
_getAgentDetailsByUserId = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(userId, product) {
|
|
57
|
+
var headers;
|
|
58
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
59
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
60
|
+
case 0:
|
|
61
|
+
headers = createHeaders(product);
|
|
62
|
+
_context2.next = 3;
|
|
63
|
+
return fetch(new Request("assist/agents/v1/accountid/".concat(userId), {
|
|
64
|
+
method: 'GET',
|
|
65
|
+
credentials: 'include',
|
|
66
|
+
mode: 'cors',
|
|
67
|
+
headers: headers
|
|
68
|
+
})).then(function (response) {
|
|
69
|
+
return response.json();
|
|
70
|
+
});
|
|
71
|
+
case 3:
|
|
72
|
+
return _context2.abrupt("return", _context2.sent);
|
|
73
|
+
case 4:
|
|
74
|
+
case "end":
|
|
75
|
+
return _context2.stop();
|
|
76
|
+
}
|
|
77
|
+
}, _callee2);
|
|
78
|
+
}));
|
|
79
|
+
return _getAgentDetailsByUserId.apply(this, arguments);
|
|
80
|
+
}
|
|
@@ -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.17.
|
|
60
|
+
headers.append('atl-client-version', "19.17.4");
|
|
61
61
|
return headers;
|
|
62
62
|
};
|
|
63
63
|
function getTeamFromAGG(_x, _x2, _x3) {
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var AgentProfileCard = function AgentProfileCard(_ref) {
|
|
10
|
+
var agent = _ref.agent;
|
|
11
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "ROVO AGENT PROFILE CARD");
|
|
12
|
+
};
|
|
13
|
+
var _default = exports.default = AgentProfileCard;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.AgentProfileCardTrigger = void 0;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
var _ProfileCardTrigger = _interopRequireDefault(require("../common/ProfileCardTrigger"));
|
|
12
|
+
var _lazyAgentProfileCard = require("./lazyAgentProfileCard");
|
|
13
|
+
var _excluded = ["trigger"];
|
|
14
|
+
var AgentProfileCardTrigger = exports.AgentProfileCardTrigger = function AgentProfileCardTrigger(_ref) {
|
|
15
|
+
var _ref$trigger = _ref.trigger,
|
|
16
|
+
trigger = _ref$trigger === void 0 ? 'hover' : _ref$trigger,
|
|
17
|
+
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
18
|
+
var renderProfileCard = function renderProfileCard() {
|
|
19
|
+
return /*#__PURE__*/_react.default.createElement(_lazyAgentProfileCard.AgentProfileCardLazy, null);
|
|
20
|
+
};
|
|
21
|
+
return /*#__PURE__*/_react.default.createElement(_ProfileCardTrigger.default, (0, _extends2.default)({}, props, {
|
|
22
|
+
renderProfileCard: renderProfileCard,
|
|
23
|
+
trigger: trigger
|
|
24
|
+
}));
|
|
25
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.AgentProfileCardLazy = void 0;
|
|
8
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
9
|
+
var _react = require("react");
|
|
10
|
+
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); }
|
|
11
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != (0, _typeof2.default)(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; }
|
|
12
|
+
var AgentProfileCardLazy = exports.AgentProfileCardLazy = /*#__PURE__*/(0, _react.lazy)(function () {
|
|
13
|
+
return Promise.resolve().then(function () {
|
|
14
|
+
return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_lazy-agent-profilecard" */
|
|
15
|
+
'./AgentProfileCard'));
|
|
16
|
+
});
|
|
17
|
+
});
|
|
@@ -0,0 +1,54 @@
|
|
|
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.PopupTrigger = void 0;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _excluded = ["children", "trigger", "forwardRef", "showProfilecard", "hideProfilecard", "ariaLabelledBy"];
|
|
13
|
+
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); }
|
|
14
|
+
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; }
|
|
15
|
+
var PopupTrigger = exports.PopupTrigger = function PopupTrigger(_ref) {
|
|
16
|
+
var children = _ref.children,
|
|
17
|
+
trigger = _ref.trigger,
|
|
18
|
+
forwardRef = _ref.forwardRef,
|
|
19
|
+
showProfilecard = _ref.showProfilecard,
|
|
20
|
+
hideProfilecard = _ref.hideProfilecard,
|
|
21
|
+
ariaLabelledBy = _ref.ariaLabelledBy,
|
|
22
|
+
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
23
|
+
var onMouseEnter = (0, _react.useCallback)(function () {
|
|
24
|
+
showProfilecard();
|
|
25
|
+
}, [showProfilecard]);
|
|
26
|
+
var onKeyPress = (0, _react.useCallback)(function (event) {
|
|
27
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
|
28
|
+
event.preventDefault();
|
|
29
|
+
showProfilecard();
|
|
30
|
+
}
|
|
31
|
+
}, [showProfilecard]);
|
|
32
|
+
var onClick = (0, _react.useCallback)(function (event) {
|
|
33
|
+
// If the user clicks on the trigger then we don't want that click event to
|
|
34
|
+
// propagate out to parent containers. For example when clicking a mention
|
|
35
|
+
// lozenge in an inline-edit.
|
|
36
|
+
event.stopPropagation();
|
|
37
|
+
showProfilecard();
|
|
38
|
+
}, [showProfilecard]);
|
|
39
|
+
var containerListeners = (0, _react.useMemo)(function () {
|
|
40
|
+
return trigger === 'hover' ? {
|
|
41
|
+
onMouseEnter: onMouseEnter,
|
|
42
|
+
onMouseLeave: hideProfilecard,
|
|
43
|
+
onBlur: hideProfilecard,
|
|
44
|
+
onKeyPress: onKeyPress
|
|
45
|
+
} : {
|
|
46
|
+
onClick: onClick,
|
|
47
|
+
onKeyPress: onKeyPress
|
|
48
|
+
};
|
|
49
|
+
}, [hideProfilecard, onClick, onKeyPress, onMouseEnter, trigger]);
|
|
50
|
+
return /*#__PURE__*/_react.default.createElement("span", (0, _extends2.default)({}, props, containerListeners, {
|
|
51
|
+
ref: forwardRef,
|
|
52
|
+
"aria-labelledby": ariaLabelledBy
|
|
53
|
+
}), children);
|
|
54
|
+
};
|
|
@@ -0,0 +1,94 @@
|
|
|
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.default = void 0;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
12
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
+
var _popup = _interopRequireDefault(require("@atlaskit/popup"));
|
|
14
|
+
var _constants = require("@atlaskit/theme/constants");
|
|
15
|
+
var _PopupTrigger = require("./PopupTrigger");
|
|
16
|
+
var _excluded = ["trigger", "ariaLabelledBy", "children", "renderProfileCard", "fetchProfile", "disabledAriaAttributes"],
|
|
17
|
+
_excluded2 = ["aria-expanded", "aria-haspopup"];
|
|
18
|
+
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); }
|
|
19
|
+
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; }
|
|
20
|
+
var DELAY_MS_SHOW = 800;
|
|
21
|
+
var DELAY_MS_HIDE = 200;
|
|
22
|
+
function ProfileCardTrigger(_ref) {
|
|
23
|
+
var _popupProps$autoFocus;
|
|
24
|
+
var _trigger = _ref.trigger,
|
|
25
|
+
ariaLabelledBy = _ref.ariaLabelledBy,
|
|
26
|
+
children = _ref.children,
|
|
27
|
+
renderProfileCard = _ref.renderProfileCard,
|
|
28
|
+
fetchProfile = _ref.fetchProfile,
|
|
29
|
+
disabledAriaAttributes = _ref.disabledAriaAttributes,
|
|
30
|
+
popupProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
31
|
+
var showDelay = _trigger === 'click' ? 0 : DELAY_MS_SHOW;
|
|
32
|
+
var hideDelay = _trigger === 'click' ? 0 : DELAY_MS_HIDE;
|
|
33
|
+
var showTimer = (0, _react.useRef)(0);
|
|
34
|
+
var hideTimer = (0, _react.useRef)(0);
|
|
35
|
+
var _useState = (0, _react.useState)(false),
|
|
36
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
37
|
+
visible = _useState2[0],
|
|
38
|
+
setVisible = _useState2[1];
|
|
39
|
+
(0, _react.useEffect)(function () {
|
|
40
|
+
return function () {
|
|
41
|
+
clearTimeout(showTimer.current);
|
|
42
|
+
clearTimeout(hideTimer.current);
|
|
43
|
+
};
|
|
44
|
+
}, []);
|
|
45
|
+
var hideProfilecard = (0, _react.useCallback)(function () {
|
|
46
|
+
clearTimeout(showTimer.current);
|
|
47
|
+
clearTimeout(hideTimer.current);
|
|
48
|
+
hideTimer.current = window.setTimeout(function () {
|
|
49
|
+
setVisible(false);
|
|
50
|
+
}, hideDelay);
|
|
51
|
+
}, [hideDelay]);
|
|
52
|
+
var showProfilecard = (0, _react.useCallback)(function () {
|
|
53
|
+
clearTimeout(hideTimer.current);
|
|
54
|
+
clearTimeout(showTimer.current);
|
|
55
|
+
showTimer.current = window.setTimeout(function () {
|
|
56
|
+
if (!visible) {
|
|
57
|
+
void (fetchProfile === null || fetchProfile === void 0 ? void 0 : fetchProfile());
|
|
58
|
+
setVisible(true);
|
|
59
|
+
}
|
|
60
|
+
}, showDelay);
|
|
61
|
+
}, [showDelay, visible, fetchProfile]);
|
|
62
|
+
var onMouseEnter = (0, _react.useCallback)(function () {
|
|
63
|
+
showProfilecard();
|
|
64
|
+
}, [showProfilecard]);
|
|
65
|
+
return /*#__PURE__*/_react.default.createElement(_popup.default, (0, _extends2.default)({}, popupProps, {
|
|
66
|
+
isOpen: !!visible,
|
|
67
|
+
onClose: hideProfilecard,
|
|
68
|
+
shouldUseCaptureOnOutsideClick: true,
|
|
69
|
+
autoFocus: (_popupProps$autoFocus = popupProps.autoFocus) !== null && _popupProps$autoFocus !== void 0 ? _popupProps$autoFocus : _trigger === 'click',
|
|
70
|
+
zIndex: _constants.layers.modal(),
|
|
71
|
+
shouldFitContainer: false,
|
|
72
|
+
trigger: function trigger(triggerProps) {
|
|
73
|
+
var _ = triggerProps['aria-expanded'],
|
|
74
|
+
__ = triggerProps['aria-haspopup'],
|
|
75
|
+
restInnerProps = (0, _objectWithoutProperties2.default)(triggerProps, _excluded2);
|
|
76
|
+
return /*#__PURE__*/_react.default.createElement(_PopupTrigger.PopupTrigger, (0, _extends2.default)({}, disabledAriaAttributes ? restInnerProps : triggerProps, {
|
|
77
|
+
forwardRef: triggerProps.ref,
|
|
78
|
+
hideProfilecard: hideProfilecard,
|
|
79
|
+
showProfilecard: showProfilecard,
|
|
80
|
+
children: children,
|
|
81
|
+
ariaLabelledBy: ariaLabelledBy,
|
|
82
|
+
trigger: _trigger
|
|
83
|
+
}));
|
|
84
|
+
},
|
|
85
|
+
content: function content() {
|
|
86
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
87
|
+
onMouseEnter: onMouseEnter,
|
|
88
|
+
onMouseLeave: hideProfilecard,
|
|
89
|
+
onFocus: showProfilecard
|
|
90
|
+
}, renderProfileCard());
|
|
91
|
+
}
|
|
92
|
+
}));
|
|
93
|
+
}
|
|
94
|
+
var _default = exports.default = ProfileCardTrigger;
|
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.userRequestAnalytics = exports.teamRequestAnalytics = exports.teamAvatarClicked = exports.reportingLinesClicked = exports.profileCardRendered = exports.moreMembersClicked = exports.moreActionsClicked = exports.fireEvent = exports.errorRetryClicked = exports.cardTriggered = exports.actionClicked = void 0;
|
|
7
|
+
exports.userRequestAnalytics = exports.teamRequestAnalytics = exports.teamAvatarClicked = exports.reportingLinesClicked = exports.profileCardRendered = exports.moreMembersClicked = exports.moreActionsClicked = exports.fireEvent = exports.errorRetryClicked = exports.cardTriggered = exports.agentRequestAnalytics = exports.actionClicked = void 0;
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
9
|
var _performance = require("./performance");
|
|
10
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; }
|
|
@@ -35,6 +35,7 @@ var fireEvent = exports.fireEvent = function fireEvent(createAnalyticsEvent, bod
|
|
|
35
35
|
|
|
36
36
|
var TEAM_SUBJECT = 'teamProfileCard';
|
|
37
37
|
var USER_SUBJECT = 'profilecard';
|
|
38
|
+
var RovoAgent = 'rovoAgenrProfilecard';
|
|
38
39
|
var createEvent = function createEvent(eventType, action, actionSubject, actionSubjectId) {
|
|
39
40
|
var attributes = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
|
|
40
41
|
return {
|
|
@@ -44,7 +45,7 @@ var createEvent = function createEvent(eventType, action, actionSubject, actionS
|
|
|
44
45
|
actionSubjectId: actionSubjectId,
|
|
45
46
|
attributes: _objectSpread(_objectSpread({
|
|
46
47
|
packageName: "@atlaskit/profilecard",
|
|
47
|
-
packageVersion: "19.17.
|
|
48
|
+
packageVersion: "19.17.4"
|
|
48
49
|
}, attributes), {}, {
|
|
49
50
|
firedAt: Math.round((0, _performance.getPageTime)())
|
|
50
51
|
})
|
|
@@ -81,4 +82,7 @@ var moreMembersClicked = exports.moreMembersClicked = function moreMembersClicke
|
|
|
81
82
|
};
|
|
82
83
|
var errorRetryClicked = exports.errorRetryClicked = function errorRetryClicked(attributes) {
|
|
83
84
|
return createEvent('ui', 'clicked', TEAM_SUBJECT, 'errorRetry', attributes);
|
|
85
|
+
};
|
|
86
|
+
var agentRequestAnalytics = exports.agentRequestAnalytics = function agentRequestAnalytics(action, attributes) {
|
|
87
|
+
return createEvent('operational', action, RovoAgent, 'request', attributes);
|
|
84
88
|
};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { agentRequestAnalytics } from '../util/analytics';
|
|
2
|
+
import { getPageTime } from '../util/performance';
|
|
3
|
+
import CachingClient from './CachingClient';
|
|
4
|
+
import { getErrorAttributes } from './errorUtils';
|
|
5
|
+
import { getAgentDetailsByAgentId } from './getAgentInfo';
|
|
6
|
+
export default class RovoAgentCardClient extends CachingClient {
|
|
7
|
+
constructor(options) {
|
|
8
|
+
super(options);
|
|
9
|
+
this.options = options;
|
|
10
|
+
}
|
|
11
|
+
makeRequest(agentId) {
|
|
12
|
+
if (!this.options.productIdentifier) {
|
|
13
|
+
throw new Error('Trying to fetch agents data with no specified config.productIdentifier');
|
|
14
|
+
}
|
|
15
|
+
return getAgentDetailsByAgentId(agentId, this.options.productIdentifier);
|
|
16
|
+
}
|
|
17
|
+
getProfile(agentId, analytics) {
|
|
18
|
+
if (!agentId) {
|
|
19
|
+
return Promise.reject(new Error('agentId is missing'));
|
|
20
|
+
}
|
|
21
|
+
const cache = this.getCachedProfile(agentId);
|
|
22
|
+
if (cache) {
|
|
23
|
+
return Promise.resolve(cache);
|
|
24
|
+
}
|
|
25
|
+
return new Promise((resolve, reject) => {
|
|
26
|
+
const startTime = getPageTime();
|
|
27
|
+
if (analytics) {
|
|
28
|
+
analytics(agentRequestAnalytics('triggered'));
|
|
29
|
+
}
|
|
30
|
+
this.makeRequest(agentId).then(data => {
|
|
31
|
+
if (this.cache) {
|
|
32
|
+
this.setCachedProfile(agentId, data);
|
|
33
|
+
}
|
|
34
|
+
if (analytics) {
|
|
35
|
+
analytics(agentRequestAnalytics('succeeded', {
|
|
36
|
+
duration: getPageTime() - startTime,
|
|
37
|
+
gateway: true
|
|
38
|
+
}));
|
|
39
|
+
}
|
|
40
|
+
resolve(data);
|
|
41
|
+
}).catch(error => {
|
|
42
|
+
if (analytics) {
|
|
43
|
+
analytics(agentRequestAnalytics('failed', {
|
|
44
|
+
duration: getPageTime() - startTime,
|
|
45
|
+
...getErrorAttributes(error),
|
|
46
|
+
gateway: true
|
|
47
|
+
}));
|
|
48
|
+
}
|
|
49
|
+
reject(error);
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
const createHeaders = product => {
|
|
2
|
+
const config = {
|
|
3
|
+
headers: {
|
|
4
|
+
'x-product': product,
|
|
5
|
+
'x-experience-id': 'profile-card'
|
|
6
|
+
}
|
|
7
|
+
};
|
|
8
|
+
return new Headers({
|
|
9
|
+
...(config.headers || {})
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
export async function getAgentDetailsByAgentId(agentId, product) {
|
|
13
|
+
const headers = createHeaders(product);
|
|
14
|
+
return await fetch(new Request(`assist/agents/v1/${agentId}`, {
|
|
15
|
+
method: 'GET',
|
|
16
|
+
credentials: 'include',
|
|
17
|
+
mode: 'cors',
|
|
18
|
+
headers
|
|
19
|
+
})).then(response => response.json());
|
|
20
|
+
}
|
|
21
|
+
export async function getAgentDetailsByUserId(userId, product) {
|
|
22
|
+
const headers = createHeaders(product);
|
|
23
|
+
return await fetch(new Request(`assist/agents/v1/accountid/${userId}`, {
|
|
24
|
+
method: 'GET',
|
|
25
|
+
credentials: 'include',
|
|
26
|
+
mode: 'cors',
|
|
27
|
+
headers
|
|
28
|
+
})).then(response => response.json());
|
|
29
|
+
}
|
|
@@ -67,7 +67,7 @@ export const addHeaders = headers => {
|
|
|
67
67
|
headers.append('X-ExperimentalApi', 'teams-beta');
|
|
68
68
|
headers.append('X-ExperimentalApi', 'team-members-beta');
|
|
69
69
|
headers.append('atl-client-name', "@atlaskit/profilecard");
|
|
70
|
-
headers.append('atl-client-version', "19.17.
|
|
70
|
+
headers.append('atl-client-version', "19.17.4");
|
|
71
71
|
return headers;
|
|
72
72
|
};
|
|
73
73
|
export async function getTeamFromAGG(url, teamId, siteId) {
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import ProfileCardTrigger from '../common/ProfileCardTrigger';
|
|
4
|
+
import { AgentProfileCardLazy } from './lazyAgentProfileCard';
|
|
5
|
+
export const AgentProfileCardTrigger = ({
|
|
6
|
+
trigger = 'hover',
|
|
7
|
+
...props
|
|
8
|
+
}) => {
|
|
9
|
+
const renderProfileCard = () => {
|
|
10
|
+
return /*#__PURE__*/React.createElement(AgentProfileCardLazy, null);
|
|
11
|
+
};
|
|
12
|
+
return /*#__PURE__*/React.createElement(ProfileCardTrigger, _extends({}, props, {
|
|
13
|
+
renderProfileCard: renderProfileCard,
|
|
14
|
+
trigger: trigger
|
|
15
|
+
}));
|
|
16
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import React, { useCallback, useMemo } from 'react';
|
|
3
|
+
export const PopupTrigger = ({
|
|
4
|
+
children,
|
|
5
|
+
trigger,
|
|
6
|
+
forwardRef,
|
|
7
|
+
showProfilecard,
|
|
8
|
+
hideProfilecard,
|
|
9
|
+
ariaLabelledBy,
|
|
10
|
+
...props
|
|
11
|
+
}) => {
|
|
12
|
+
const onMouseEnter = useCallback(() => {
|
|
13
|
+
showProfilecard();
|
|
14
|
+
}, [showProfilecard]);
|
|
15
|
+
const onKeyPress = useCallback(event => {
|
|
16
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
|
17
|
+
event.preventDefault();
|
|
18
|
+
showProfilecard();
|
|
19
|
+
}
|
|
20
|
+
}, [showProfilecard]);
|
|
21
|
+
const onClick = useCallback(event => {
|
|
22
|
+
// If the user clicks on the trigger then we don't want that click event to
|
|
23
|
+
// propagate out to parent containers. For example when clicking a mention
|
|
24
|
+
// lozenge in an inline-edit.
|
|
25
|
+
event.stopPropagation();
|
|
26
|
+
showProfilecard();
|
|
27
|
+
}, [showProfilecard]);
|
|
28
|
+
const containerListeners = useMemo(() => trigger === 'hover' ? {
|
|
29
|
+
onMouseEnter: onMouseEnter,
|
|
30
|
+
onMouseLeave: hideProfilecard,
|
|
31
|
+
onBlur: hideProfilecard,
|
|
32
|
+
onKeyPress: onKeyPress
|
|
33
|
+
} : {
|
|
34
|
+
onClick: onClick,
|
|
35
|
+
onKeyPress: onKeyPress
|
|
36
|
+
}, [hideProfilecard, onClick, onKeyPress, onMouseEnter, trigger]);
|
|
37
|
+
return /*#__PURE__*/React.createElement("span", _extends({}, props, containerListeners, {
|
|
38
|
+
ref: forwardRef,
|
|
39
|
+
"aria-labelledby": ariaLabelledBy
|
|
40
|
+
}), children);
|
|
41
|
+
};
|