@atlaskit/smart-card 25.5.7 → 25.6.1
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 +16 -0
- package/dist/cjs/constants.js +1 -0
- package/dist/cjs/extractors/flexible/index.js +1 -0
- package/dist/cjs/extractors/flexible/utils.js +8 -1
- package/dist/cjs/messages.js +5 -0
- package/dist/cjs/ssr.js +9 -6
- package/dist/cjs/state/hooks/useSmartLink.js +6 -1
- package/dist/cjs/version.json +1 -1
- package/dist/cjs/view/BlockCard/views/flexible/FlexibleResolvedView.js +27 -21
- package/dist/cjs/view/FlexibleCard/components/blocks/utils.js +1 -1
- package/dist/cjs/view/FlexibleCard/components/elements/index.js +8 -2
- package/dist/cjs/view/FlexibleCard/components/elements/utils.js +4 -0
- package/dist/cjs/view/HoverCard/components/HoverCardContent.js +1 -3
- package/dist/cjs/view/HoverCard/components/views/resolved/index.js +1 -1
- package/dist/cjs/view/HoverCard/utils.js +8 -4
- package/dist/es2019/constants.js +1 -0
- package/dist/es2019/extractors/flexible/index.js +2 -1
- package/dist/es2019/extractors/flexible/utils.js +7 -1
- package/dist/es2019/messages.js +5 -0
- package/dist/es2019/ssr.js +11 -6
- package/dist/es2019/state/hooks/useSmartLink.js +6 -1
- package/dist/es2019/version.json +1 -1
- package/dist/es2019/view/BlockCard/views/flexible/FlexibleResolvedView.js +27 -22
- package/dist/es2019/view/FlexibleCard/components/blocks/utils.js +1 -0
- package/dist/es2019/view/FlexibleCard/components/elements/index.js +5 -0
- package/dist/es2019/view/FlexibleCard/components/elements/utils.js +5 -0
- package/dist/es2019/view/HoverCard/components/HoverCardContent.js +1 -3
- package/dist/es2019/view/HoverCard/components/views/resolved/index.js +1 -1
- package/dist/es2019/view/HoverCard/utils.js +8 -4
- package/dist/esm/constants.js +1 -0
- package/dist/esm/extractors/flexible/index.js +2 -1
- package/dist/esm/extractors/flexible/utils.js +7 -1
- package/dist/esm/messages.js +5 -0
- package/dist/esm/ssr.js +9 -6
- package/dist/esm/state/hooks/useSmartLink.js +6 -1
- package/dist/esm/version.json +1 -1
- package/dist/esm/view/BlockCard/views/flexible/FlexibleResolvedView.js +27 -22
- package/dist/esm/view/FlexibleCard/components/blocks/utils.js +1 -1
- package/dist/esm/view/FlexibleCard/components/elements/index.js +5 -0
- package/dist/esm/view/FlexibleCard/components/elements/utils.js +4 -0
- package/dist/esm/view/HoverCard/components/HoverCardContent.js +1 -3
- package/dist/esm/view/HoverCard/components/views/resolved/index.js +1 -1
- package/dist/esm/view/HoverCard/utils.js +8 -4
- package/dist/types/constants.d.ts +1 -0
- package/dist/types/extractors/flexible/utils.d.ts +1 -0
- package/dist/types/messages.d.ts +1 -1
- package/dist/types/state/flexible-ui-context/types.d.ts +6 -0
- package/dist/types/state/hooks/useSmartLink.d.ts +6 -1
- package/dist/types/view/CardWithUrl/types.d.ts +5 -1
- package/dist/types/view/FlexibleCard/components/blocks/types.d.ts +8 -1
- package/dist/types/view/FlexibleCard/components/elements/index.d.ts +5 -0
- package/dist/types/view/HoverCard/utils.d.ts +1 -1
- package/package.json +6 -6
- package/report.api.md +9 -1
- package/tmp/api-report-tmp.d.ts +8 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @atlaskit/smart-card
|
|
2
2
|
|
|
3
|
+
## 25.6.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`72a99128d3e`](https://bitbucket.org/atlassian/atlassian-frontend/commits/72a99128d3e) - Enables CardSSR component to send analytics events.
|
|
8
|
+
|
|
9
|
+
## 25.6.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- [`eceb32a564f`](https://bitbucket.org/atlassian/atlassian-frontend/commits/eceb32a564f) - [ux] This adds a new Flexible UI attribute, `OwnedBy`, which represents who owns a resource.
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- Updated dependencies
|
|
18
|
+
|
|
3
19
|
## 25.5.7
|
|
4
20
|
|
|
5
21
|
### Patch Changes
|
package/dist/cjs/constants.js
CHANGED
|
@@ -119,6 +119,7 @@ exports.ElementName = ElementName;
|
|
|
119
119
|
ElementName["LinkIcon"] = "LinkIcon";
|
|
120
120
|
ElementName["ModifiedBy"] = "ModifiedBy";
|
|
121
121
|
ElementName["ModifiedOn"] = "ModifiedOn";
|
|
122
|
+
ElementName["OwnedBy"] = "OwnedBy";
|
|
122
123
|
ElementName["Preview"] = "Preview";
|
|
123
124
|
ElementName["Priority"] = "Priority";
|
|
124
125
|
ElementName["ProgrammingLanguage"] = "ProgrammingLanguage";
|
|
@@ -41,6 +41,7 @@ var extractFlexibleUiContext = function extractFlexibleUiContext() {
|
|
|
41
41
|
voteCount: (0, _utils.extractVoteCount)(data),
|
|
42
42
|
checklistProgress: (0, _utils.extractChecklistProgress)(data),
|
|
43
43
|
createdBy: (0, _utils.extractCreatedBy)(data),
|
|
44
|
+
ownedBy: (0, _utils.extractOwnedBy)(data),
|
|
44
45
|
createdOn: (0, _extractors.extractDateCreated)(data),
|
|
45
46
|
dueOn: (0, _utils.extractDueOn)(data),
|
|
46
47
|
previewAction: (0, _extractPreviewAction.extractPreviewAction)(response),
|
|
@@ -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.extractVoteCount = exports.extractViewCount = exports.extractTargetBranch = exports.extractSubscriberCount = exports.extractSourceBranch = exports.extractReactCount = exports.extractProgrammingLanguage = exports.extractModifiedBy = exports.extractDueOn = exports.extractCreatedBy = exports.extractCommentCount = exports.extractChecklistProgress = exports.extractAttachmentCount = void 0;
|
|
7
|
+
exports.extractVoteCount = exports.extractViewCount = exports.extractTargetBranch = exports.extractSubscriberCount = exports.extractSourceBranch = exports.extractReactCount = exports.extractProgrammingLanguage = exports.extractOwnedBy = exports.extractModifiedBy = exports.extractDueOn = exports.extractCreatedBy = exports.extractCommentCount = exports.extractChecklistProgress = exports.extractAttachmentCount = void 0;
|
|
8
8
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
9
9
|
var _extractors = require("@atlaskit/linking-common/extractors");
|
|
10
10
|
var extractLinkName = function extractLinkName(link) {
|
|
@@ -35,6 +35,13 @@ var extractVoteCount = function extractVoteCount(data) {
|
|
|
35
35
|
return extractValue(data, 'atlassian:voteCount');
|
|
36
36
|
};
|
|
37
37
|
exports.extractVoteCount = extractVoteCount;
|
|
38
|
+
var extractOwnedBy = function extractOwnedBy(data) {
|
|
39
|
+
var persons = (0, _extractors.extractPersonOwnedBy)(data);
|
|
40
|
+
if (persons && persons.length) {
|
|
41
|
+
return persons[0].name;
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
exports.extractOwnedBy = extractOwnedBy;
|
|
38
45
|
var extractCreatedBy = function extractCreatedBy(data) {
|
|
39
46
|
var persons = (0, _extractors.extractPersonCreatedBy)(data);
|
|
40
47
|
if (persons && persons.length) {
|
package/dist/cjs/messages.js
CHANGED
|
@@ -211,6 +211,11 @@ var messages = (0, _reactIntlNext.defineMessages)({
|
|
|
211
211
|
defaultMessage: 'Open link in a new tab',
|
|
212
212
|
description: 'Click to open link in a new tab'
|
|
213
213
|
},
|
|
214
|
+
owned_by: {
|
|
215
|
+
id: 'fabric.linking.owned_by',
|
|
216
|
+
defaultMessage: 'Owned by {context}',
|
|
217
|
+
description: 'Indicates the person or entity that owns or maintains the resource.'
|
|
218
|
+
},
|
|
214
219
|
preview: {
|
|
215
220
|
id: 'fabric.linking.preview',
|
|
216
221
|
defaultMessage: 'Full screen view',
|
package/dist/cjs/ssr.js
CHANGED
|
@@ -11,8 +11,10 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
11
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _uuid = _interopRequireDefault(require("uuid"));
|
|
13
13
|
var _reactErrorBoundary = require("react-error-boundary");
|
|
14
|
+
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
14
15
|
var _component = require("./view/CardWithUrl/component");
|
|
15
16
|
var _LazyFallback = require("./view/CardWithUrl/component-lazy/LazyFallback");
|
|
17
|
+
var _analytics = require("./utils/analytics/analytics");
|
|
16
18
|
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); }
|
|
17
19
|
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; }
|
|
18
20
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
@@ -22,19 +24,20 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
22
24
|
// only contains whats necessary to render the card on SSR mode
|
|
23
25
|
var CardSSR = function CardSSR(props) {
|
|
24
26
|
var _useState = (0, _react.useState)(function () {
|
|
25
|
-
|
|
27
|
+
var _props$id;
|
|
28
|
+
return (_props$id = props.id) !== null && _props$id !== void 0 ? _props$id : (0, _uuid.default)();
|
|
26
29
|
}),
|
|
27
30
|
_useState2 = (0, _slicedToArray2.default)(_useState, 1),
|
|
28
31
|
id = _useState2[0];
|
|
29
|
-
var dispatchAnalytics = function dispatchAnalytics() {}; // we can't dispatch events on SSR, after hydration the we will provide the real callback
|
|
30
32
|
var cardProps = _objectSpread(_objectSpread({}, props), {}, {
|
|
31
|
-
id: id
|
|
32
|
-
dispatchAnalytics: dispatchAnalytics
|
|
33
|
+
id: id
|
|
33
34
|
});
|
|
34
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
35
|
+
return /*#__PURE__*/_react.default.createElement(_analyticsNext.AnalyticsContext, {
|
|
36
|
+
data: _analytics.context
|
|
37
|
+
}, /*#__PURE__*/_react.default.createElement(_reactErrorBoundary.ErrorBoundary, {
|
|
35
38
|
FallbackComponent: function FallbackComponent() {
|
|
36
39
|
return /*#__PURE__*/_react.default.createElement(_LazyFallback.LoadingCardLink, cardProps);
|
|
37
40
|
}
|
|
38
|
-
}, /*#__PURE__*/_react.default.createElement(_component.CardWithUrlContent, cardProps));
|
|
41
|
+
}, /*#__PURE__*/_react.default.createElement(_component.CardWithUrlContent, cardProps)));
|
|
39
42
|
};
|
|
40
43
|
exports.CardSSR = CardSSR;
|
|
@@ -13,7 +13,12 @@ var _config = require("../config");
|
|
|
13
13
|
var _analytics = require("../analytics");
|
|
14
14
|
var _renderers = require("../renderers");
|
|
15
15
|
var _linkProvider = require("@atlaskit/link-provider");
|
|
16
|
-
function useSmartLink(id, url,
|
|
16
|
+
function useSmartLink(id, url,
|
|
17
|
+
/**
|
|
18
|
+
* @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-2681 Internal documentation for deprecation (no external access)}
|
|
19
|
+
* Avoid prop drilling analytics handlers. Continue passing a handler for now if there's already one in place.
|
|
20
|
+
*/
|
|
21
|
+
dispatchAnalytics) {
|
|
17
22
|
var state = (0, _store.useSmartCardState)(url);
|
|
18
23
|
var _useSmartLinkContext = (0, _linkProvider.useSmartLinkContext)(),
|
|
19
24
|
store = _useSmartLinkContext.store;
|
package/dist/cjs/version.json
CHANGED
|
@@ -13,6 +13,7 @@ var _titleBlock = _interopRequireDefault(require("../../../FlexibleCard/componen
|
|
|
13
13
|
var _blocks = require("../../../FlexibleCard/components/blocks");
|
|
14
14
|
var _constants = require("../../../../constants");
|
|
15
15
|
var _uuid = _interopRequireDefault(require("uuid"));
|
|
16
|
+
var _utils = require("../../../../extractors/flexible/utils");
|
|
16
17
|
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); }
|
|
17
18
|
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; }
|
|
18
19
|
/**
|
|
@@ -21,6 +22,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
21
22
|
* @see FlexibleCardProps
|
|
22
23
|
*/
|
|
23
24
|
var FlexibleResolvedView = function FlexibleResolvedView(_ref) {
|
|
25
|
+
var _cardState$details, _cardState$details2;
|
|
24
26
|
var id = _ref.id,
|
|
25
27
|
cardState = _ref.cardState,
|
|
26
28
|
onClick = _ref.onClick,
|
|
@@ -44,6 +46,30 @@ var FlexibleResolvedView = function FlexibleResolvedView(_ref) {
|
|
|
44
46
|
}),
|
|
45
47
|
_useState4 = (0, _slicedToArray2.default)(_useState3, 1),
|
|
46
48
|
analyticsId = _useState4[0];
|
|
49
|
+
var baseMetadata = [{
|
|
50
|
+
name: _constants.ElementName.ModifiedOn
|
|
51
|
+
}, {
|
|
52
|
+
name: _constants.ElementName.AttachmentCount
|
|
53
|
+
}, {
|
|
54
|
+
name: _constants.ElementName.CommentCount
|
|
55
|
+
}, {
|
|
56
|
+
name: _constants.ElementName.ReactCount
|
|
57
|
+
}, {
|
|
58
|
+
name: _constants.ElementName.SubscriberCount
|
|
59
|
+
}, {
|
|
60
|
+
name: _constants.ElementName.ViewCount
|
|
61
|
+
}, {
|
|
62
|
+
name: _constants.ElementName.VoteCount
|
|
63
|
+
}, {
|
|
64
|
+
name: _constants.ElementName.ChecklistProgress
|
|
65
|
+
}, {
|
|
66
|
+
name: _constants.ElementName.DueOn
|
|
67
|
+
}];
|
|
68
|
+
var metadata = cardState !== null && cardState !== void 0 && (_cardState$details = cardState.details) !== null && _cardState$details !== void 0 && _cardState$details.data && (0, _utils.extractOwnedBy)(cardState === null || cardState === void 0 ? void 0 : (_cardState$details2 = cardState.details) === null || _cardState$details2 === void 0 ? void 0 : _cardState$details2.data) ? [{
|
|
69
|
+
name: _constants.ElementName.OwnedBy
|
|
70
|
+
}].concat(baseMetadata) : [{
|
|
71
|
+
name: _constants.ElementName.ModifiedBy
|
|
72
|
+
}].concat(baseMetadata);
|
|
47
73
|
return /*#__PURE__*/_react.default.createElement(_FlexibleCard.default, {
|
|
48
74
|
appearance: "block",
|
|
49
75
|
cardState: cardState,
|
|
@@ -65,27 +91,7 @@ var FlexibleResolvedView = function FlexibleResolvedView(_ref) {
|
|
|
65
91
|
}],
|
|
66
92
|
hideRetry: true
|
|
67
93
|
}), /*#__PURE__*/_react.default.createElement(_blocks.MetadataBlock, {
|
|
68
|
-
primary:
|
|
69
|
-
name: _constants.ElementName.ModifiedBy
|
|
70
|
-
}, {
|
|
71
|
-
name: _constants.ElementName.ModifiedOn
|
|
72
|
-
}, {
|
|
73
|
-
name: _constants.ElementName.AttachmentCount
|
|
74
|
-
}, {
|
|
75
|
-
name: _constants.ElementName.CommentCount
|
|
76
|
-
}, {
|
|
77
|
-
name: _constants.ElementName.ReactCount
|
|
78
|
-
}, {
|
|
79
|
-
name: _constants.ElementName.SubscriberCount
|
|
80
|
-
}, {
|
|
81
|
-
name: _constants.ElementName.ViewCount
|
|
82
|
-
}, {
|
|
83
|
-
name: _constants.ElementName.VoteCount
|
|
84
|
-
}, {
|
|
85
|
-
name: _constants.ElementName.ChecklistProgress
|
|
86
|
-
}, {
|
|
87
|
-
name: _constants.ElementName.DueOn
|
|
88
|
-
}],
|
|
94
|
+
primary: metadata,
|
|
89
95
|
maxLines: 1
|
|
90
96
|
}), /*#__PURE__*/_react.default.createElement(_blocks.SnippetBlock, null), !isPreviewBlockErrored ? /*#__PURE__*/_react.default.createElement(_blocks.PreviewBlock, {
|
|
91
97
|
placement: _constants.MediaPlacement.Right,
|
|
@@ -24,7 +24,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
24
24
|
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; }
|
|
25
25
|
// Determine whether the element can be display as inline/block.
|
|
26
26
|
|
|
27
|
-
var ElementDisplaySchema = (_ElementDisplaySchema = {}, (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.AttachmentCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.AuthorGroup, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ChecklistProgress, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.CollaboratorGroup, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.CommentCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ViewCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ReactCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.VoteCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.CreatedBy, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.CreatedOn, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.DueOn, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.LatestCommit, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.LinkIcon, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ModifiedBy, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ModifiedOn, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.Preview, ['block']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.Priority, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ProgrammingLanguage, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.Provider, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.Snippet, ['block']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.SourceBranch, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.State, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.SubscriberCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.TargetBranch, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.Title, ['inline']), _ElementDisplaySchema);
|
|
27
|
+
var ElementDisplaySchema = (_ElementDisplaySchema = {}, (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.AttachmentCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.AuthorGroup, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ChecklistProgress, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.CollaboratorGroup, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.CommentCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ViewCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ReactCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.VoteCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.CreatedBy, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.CreatedOn, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.DueOn, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.LatestCommit, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.LinkIcon, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ModifiedBy, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ModifiedOn, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.OwnedBy, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.Preview, ['block']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.Priority, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ProgrammingLanguage, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.Provider, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.Snippet, ['block']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.SourceBranch, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.State, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.SubscriberCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.TargetBranch, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.Title, ['inline']), _ElementDisplaySchema);
|
|
28
28
|
exports.ElementDisplaySchema = ElementDisplaySchema;
|
|
29
29
|
var getDirectionStyles = function getDirectionStyles(direction) {
|
|
30
30
|
switch (direction) {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.VoteCount = exports.ViewCount = exports.Title = exports.TargetBranch = exports.SubscriberCount = exports.State = exports.SourceBranch = exports.Snippet = exports.ReactCount = exports.Provider = exports.ProgrammingLanguage = exports.Priority = exports.Preview = exports.ModifiedOn = exports.ModifiedBy = exports.LinkIcon = exports.LatestCommit = exports.DueOn = exports.CreatedOn = exports.CreatedBy = exports.CommentCount = exports.CollaboratorGroup = exports.ChecklistProgress = exports.AuthorGroup = exports.AttachmentCount = void 0;
|
|
6
|
+
exports.VoteCount = exports.ViewCount = exports.Title = exports.TargetBranch = exports.SubscriberCount = exports.State = exports.SourceBranch = exports.Snippet = exports.ReactCount = exports.Provider = exports.ProgrammingLanguage = exports.Priority = exports.Preview = exports.OwnedBy = exports.ModifiedOn = exports.ModifiedBy = exports.LinkIcon = exports.LatestCommit = exports.DueOn = exports.CreatedOn = exports.CreatedBy = exports.CommentCount = exports.CollaboratorGroup = exports.ChecklistProgress = exports.AuthorGroup = exports.AttachmentCount = void 0;
|
|
7
7
|
var _utils = require("./utils");
|
|
8
8
|
var _constants = require("../../../../constants");
|
|
9
9
|
// Attention: Keep the export name and element name the same.
|
|
@@ -79,11 +79,17 @@ var ModifiedBy = (0, _utils.createElement)(_constants.ElementName.ModifiedBy);
|
|
|
79
79
|
*/
|
|
80
80
|
exports.ModifiedBy = ModifiedBy;
|
|
81
81
|
var ModifiedOn = (0, _utils.createElement)(_constants.ElementName.ModifiedOn);
|
|
82
|
+
/**
|
|
83
|
+
* Creates a OwnedBy text element using the data from OwnedBy in the Flexible UI Context.
|
|
84
|
+
* @see Text
|
|
85
|
+
*/
|
|
86
|
+
exports.ModifiedOn = ModifiedOn;
|
|
87
|
+
var OwnedBy = (0, _utils.createElement)(_constants.ElementName.OwnedBy);
|
|
82
88
|
/**
|
|
83
89
|
* Creates a Preview element using the data from Preview in the Flexible UI Context.
|
|
84
90
|
* @see Preview
|
|
85
91
|
*/
|
|
86
|
-
exports.
|
|
92
|
+
exports.OwnedBy = OwnedBy;
|
|
87
93
|
var Preview = (0, _utils.createElement)(_constants.ElementName.Preview);
|
|
88
94
|
/**
|
|
89
95
|
* Creates a Priority Badge element using the data from Priority in the Flexible UI Context.
|
|
@@ -64,6 +64,8 @@ var elementMappings = (_elementMappings = {}, (0, _defineProperty2.default)(_ele
|
|
|
64
64
|
}
|
|
65
65
|
}), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.CreatedBy, {
|
|
66
66
|
component: _text.default
|
|
67
|
+
}), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.OwnedBy, {
|
|
68
|
+
component: _text.default
|
|
67
69
|
}), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.CreatedOn, {
|
|
68
70
|
component: _dateTime.default
|
|
69
71
|
}), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.DueOn, {
|
|
@@ -136,6 +138,8 @@ var getData = function getData(elementName, contextKey, context) {
|
|
|
136
138
|
return toBadgeProps(data);
|
|
137
139
|
case _constants.ElementName.CreatedBy:
|
|
138
140
|
return toFormattedTextProps(_messages.messages.created_by, context.createdBy);
|
|
141
|
+
case _constants.ElementName.OwnedBy:
|
|
142
|
+
return toFormattedTextProps(_messages.messages.owned_by, context.ownedBy);
|
|
139
143
|
case _constants.ElementName.CreatedOn:
|
|
140
144
|
return toDateTimeProps('created', context.createdOn);
|
|
141
145
|
case _constants.ElementName.DueOn:
|
|
@@ -10,7 +10,6 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
|
10
10
|
var _react = require("@emotion/react");
|
|
11
11
|
var _shortcut = _interopRequireDefault(require("@atlaskit/icon/glyph/shortcut"));
|
|
12
12
|
var _copy = _interopRequireDefault(require("@atlaskit/icon/glyph/copy"));
|
|
13
|
-
var _extractors = require("@atlaskit/linking-common/extractors");
|
|
14
13
|
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
15
14
|
var _react2 = _interopRequireWildcard(require("react"));
|
|
16
15
|
var _constants = require("../../../constants");
|
|
@@ -126,8 +125,7 @@ var HoverCardContent = function HoverCardContent(_ref) {
|
|
|
126
125
|
return [getCopyAction(url), getOpenAction(url, analytics, onActionClick)];
|
|
127
126
|
}, [url, analytics, onActionClick]);
|
|
128
127
|
var data = (_cardState$details = cardState.details) === null || _cardState$details === void 0 ? void 0 : _cardState$details.data;
|
|
129
|
-
var
|
|
130
|
-
var _extractMetadata = (0, _extractMetadata2.extractMetadata)((0, _utils2.getSimulatedMetadata)(extensionKey, types)),
|
|
128
|
+
var _extractMetadata = (0, _extractMetadata2.extractMetadata)((0, _utils2.getSimulatedMetadata)(extensionKey, data)),
|
|
131
129
|
subtitle = _extractMetadata.subtitle;
|
|
132
130
|
var titleMaxLines = subtitle && subtitle.length > 0 ? 1 : 2;
|
|
133
131
|
var titleBlockProps = {
|
|
@@ -63,7 +63,7 @@ var HoverCardResolvedView = function HoverCardResolvedView(_ref) {
|
|
|
63
63
|
var _useMemo = (0, _react.useMemo)(function () {
|
|
64
64
|
var types = data ? (0, _extractors.extractType)(data) : undefined;
|
|
65
65
|
//TODO: EDM-3224 deleted simulated and use real JsonLd
|
|
66
|
-
var metadata = (0, _extractMetadata.extractMetadata)((0, _utils.getSimulatedMetadata)(extensionKey,
|
|
66
|
+
var metadata = (0, _extractMetadata.extractMetadata)((0, _utils.getSimulatedMetadata)(extensionKey, data));
|
|
67
67
|
var primary = showActionableElement ? (0, _utils.toActionableMetadata)(onActionClick, extensionKey, types, cardActions, metadata.primary) : metadata.primary;
|
|
68
68
|
return {
|
|
69
69
|
primary: primary,
|
|
@@ -7,15 +7,18 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.toActionableMetadata = exports.getSimulatedMetadata = void 0;
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
9
|
var _constants = require("../../constants");
|
|
10
|
+
var _extractors = require("@atlaskit/linking-common/extractors");
|
|
11
|
+
var _utils = require("../../extractors/flexible/utils");
|
|
10
12
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
11
13
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
12
14
|
var getSimulatedMetadata = function getSimulatedMetadata() {
|
|
13
15
|
var extensionKey = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
14
|
-
var
|
|
16
|
+
var data = arguments.length > 1 ? arguments[1] : undefined;
|
|
17
|
+
var types = data ? (0, _extractors.extractType)(data) : undefined;
|
|
15
18
|
switch (extensionKey) {
|
|
16
19
|
case 'bitbucket-object-provider':
|
|
17
20
|
case 'native-bitbucket-object-provider':
|
|
18
|
-
if (types.includes('atlassian:SourceCodePullRequest')) {
|
|
21
|
+
if (types !== null && types !== void 0 && types.includes('atlassian:SourceCodePullRequest')) {
|
|
19
22
|
return {
|
|
20
23
|
metadata: {
|
|
21
24
|
primary: [_constants.ElementName.AuthorGroup, _constants.ElementName.ModifiedOn, _constants.ElementName.SubscriberCount, _constants.ElementName.State],
|
|
@@ -32,9 +35,10 @@ var getSimulatedMetadata = function getSimulatedMetadata() {
|
|
|
32
35
|
}
|
|
33
36
|
};
|
|
34
37
|
case 'confluence-object-provider':
|
|
38
|
+
var primaryAttribution = data && (0, _utils.extractOwnedBy)(data) ? _constants.ElementName.OwnedBy : _constants.ElementName.CreatedBy;
|
|
35
39
|
return {
|
|
36
40
|
metadata: {
|
|
37
|
-
primary: [_constants.ElementName.AuthorGroup,
|
|
41
|
+
primary: [_constants.ElementName.AuthorGroup, primaryAttribution],
|
|
38
42
|
secondary: [_constants.ElementName.CommentCount, _constants.ElementName.ReactCount],
|
|
39
43
|
subtitle: []
|
|
40
44
|
}
|
|
@@ -56,7 +60,7 @@ var getSimulatedMetadata = function getSimulatedMetadata() {
|
|
|
56
60
|
}
|
|
57
61
|
};
|
|
58
62
|
case 'watermelon-object-provider':
|
|
59
|
-
if (types.includes('atlassian:Project')) {
|
|
63
|
+
if (types !== null && types !== void 0 && types.includes('atlassian:Project')) {
|
|
60
64
|
return {
|
|
61
65
|
metadata: {
|
|
62
66
|
primary: [_constants.ElementName.AuthorGroup, _constants.ElementName.ModifiedOn, _constants.ElementName.State, _constants.ElementName.DueOn],
|
package/dist/es2019/constants.js
CHANGED
|
@@ -112,6 +112,7 @@ export let ElementName;
|
|
|
112
112
|
ElementName["LinkIcon"] = "LinkIcon";
|
|
113
113
|
ElementName["ModifiedBy"] = "ModifiedBy";
|
|
114
114
|
ElementName["ModifiedOn"] = "ModifiedOn";
|
|
115
|
+
ElementName["OwnedBy"] = "OwnedBy";
|
|
115
116
|
ElementName["Preview"] = "Preview";
|
|
116
117
|
ElementName["Priority"] = "Priority";
|
|
117
118
|
ElementName["ProgrammingLanguage"] = "ProgrammingLanguage";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { extractSummary } from '../common/primitives';
|
|
2
2
|
import { extractLinkIcon } from './icon';
|
|
3
|
-
import { extractAttachmentCount, extractChecklistProgress, extractCommentCount, extractCreatedBy, extractModifiedBy, extractProgrammingLanguage, extractSubscriberCount, extractViewCount, extractReactCount, extractVoteCount, extractSourceBranch, extractTargetBranch, extractDueOn } from './utils';
|
|
3
|
+
import { extractAttachmentCount, extractChecklistProgress, extractCommentCount, extractCreatedBy, extractModifiedBy, extractProgrammingLanguage, extractSubscriberCount, extractViewCount, extractReactCount, extractVoteCount, extractSourceBranch, extractTargetBranch, extractDueOn, extractOwnedBy } from './utils';
|
|
4
4
|
import { extractPersonsUpdatedBy } from './collaboratorGroup';
|
|
5
5
|
import { extractPersonCreatedBy, extractTitle, extractDateUpdated, extractDateCreated, extractLink } from '@atlaskit/linking-common/extractors';
|
|
6
6
|
import extractPriority from './extract-priority';
|
|
@@ -34,6 +34,7 @@ const extractFlexibleUiContext = ({
|
|
|
34
34
|
voteCount: extractVoteCount(data),
|
|
35
35
|
checklistProgress: extractChecklistProgress(data),
|
|
36
36
|
createdBy: extractCreatedBy(data),
|
|
37
|
+
ownedBy: extractOwnedBy(data),
|
|
37
38
|
createdOn: extractDateCreated(data),
|
|
38
39
|
dueOn: extractDueOn(data),
|
|
39
40
|
previewAction: extractPreviewAction(response),
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { extractPersonCreatedBy, extractPersonUpdatedBy } from '@atlaskit/linking-common/extractors';
|
|
1
|
+
import { extractPersonOwnedBy, extractPersonCreatedBy, extractPersonUpdatedBy } from '@atlaskit/linking-common/extractors';
|
|
2
2
|
const extractLinkName = link => {
|
|
3
3
|
if (link && typeof link === 'object' && link['@type'] === 'Link') {
|
|
4
4
|
return link.name;
|
|
@@ -12,6 +12,12 @@ export const extractDueOn = data => extractValue(data, 'endTime');
|
|
|
12
12
|
export const extractViewCount = data => extractValue(data, 'atlassian:viewCount');
|
|
13
13
|
export const extractReactCount = data => extractValue(data, 'atlassian:reactCount');
|
|
14
14
|
export const extractVoteCount = data => extractValue(data, 'atlassian:voteCount');
|
|
15
|
+
export const extractOwnedBy = data => {
|
|
16
|
+
const persons = extractPersonOwnedBy(data);
|
|
17
|
+
if (persons && persons.length) {
|
|
18
|
+
return persons[0].name;
|
|
19
|
+
}
|
|
20
|
+
};
|
|
15
21
|
export const extractCreatedBy = data => {
|
|
16
22
|
const persons = extractPersonCreatedBy(data);
|
|
17
23
|
if (persons && persons.length) {
|
package/dist/es2019/messages.js
CHANGED
|
@@ -205,6 +205,11 @@ export const messages = defineMessages({
|
|
|
205
205
|
defaultMessage: 'Open link in a new tab',
|
|
206
206
|
description: 'Click to open link in a new tab'
|
|
207
207
|
},
|
|
208
|
+
owned_by: {
|
|
209
|
+
id: 'fabric.linking.owned_by',
|
|
210
|
+
defaultMessage: 'Owned by {context}',
|
|
211
|
+
description: 'Indicates the person or entity that owns or maintains the resource.'
|
|
212
|
+
},
|
|
208
213
|
preview: {
|
|
209
214
|
id: 'fabric.linking.preview',
|
|
210
215
|
defaultMessage: 'Full screen view',
|
package/dist/es2019/ssr.js
CHANGED
|
@@ -2,20 +2,25 @@ import React from 'react';
|
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import uuid from 'uuid';
|
|
4
4
|
import { ErrorBoundary } from 'react-error-boundary';
|
|
5
|
+
import { AnalyticsContext } from '@atlaskit/analytics-next';
|
|
5
6
|
import { CardWithUrlContent } from './view/CardWithUrl/component';
|
|
6
7
|
import { LoadingCardLink } from './view/CardWithUrl/component-lazy/LazyFallback';
|
|
8
|
+
import { context } from './utils/analytics/analytics';
|
|
7
9
|
// SSR friendly version of smart-card
|
|
8
10
|
// simplifies the logic around rendering and loading placeholders and
|
|
9
11
|
// only contains whats necessary to render the card on SSR mode
|
|
10
12
|
export const CardSSR = props => {
|
|
11
|
-
const [id] = useState(() =>
|
|
12
|
-
|
|
13
|
+
const [id] = useState(() => {
|
|
14
|
+
var _props$id;
|
|
15
|
+
return (_props$id = props.id) !== null && _props$id !== void 0 ? _props$id : uuid();
|
|
16
|
+
});
|
|
13
17
|
const cardProps = {
|
|
14
18
|
...props,
|
|
15
|
-
id
|
|
16
|
-
dispatchAnalytics
|
|
19
|
+
id
|
|
17
20
|
};
|
|
18
|
-
return /*#__PURE__*/React.createElement(
|
|
21
|
+
return /*#__PURE__*/React.createElement(AnalyticsContext, {
|
|
22
|
+
data: context
|
|
23
|
+
}, /*#__PURE__*/React.createElement(ErrorBoundary, {
|
|
19
24
|
FallbackComponent: () => /*#__PURE__*/React.createElement(LoadingCardLink, cardProps)
|
|
20
|
-
}, /*#__PURE__*/React.createElement(CardWithUrlContent, cardProps));
|
|
25
|
+
}, /*#__PURE__*/React.createElement(CardWithUrlContent, cardProps)));
|
|
21
26
|
};
|
|
@@ -5,7 +5,12 @@ import { useSmartLinkConfig } from '../config';
|
|
|
5
5
|
import { useSmartLinkAnalytics } from '../analytics';
|
|
6
6
|
import { useSmartLinkRenderers } from '../renderers';
|
|
7
7
|
import { useSmartLinkContext } from '@atlaskit/link-provider';
|
|
8
|
-
export function useSmartLink(id, url,
|
|
8
|
+
export function useSmartLink(id, url,
|
|
9
|
+
/**
|
|
10
|
+
* @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-2681 Internal documentation for deprecation (no external access)}
|
|
11
|
+
* Avoid prop drilling analytics handlers. Continue passing a handler for now if there's already one in place.
|
|
12
|
+
*/
|
|
13
|
+
dispatchAnalytics) {
|
|
9
14
|
const state = useSmartLinkState(url);
|
|
10
15
|
const {
|
|
11
16
|
store
|
package/dist/es2019/version.json
CHANGED
|
@@ -4,7 +4,7 @@ import TitleBlock from '../../../FlexibleCard/components/blocks/title-block';
|
|
|
4
4
|
import { FooterBlock, MetadataBlock, PreviewBlock, SnippetBlock } from '../../../FlexibleCard/components/blocks';
|
|
5
5
|
import { ActionName, CardDisplay, ElementName, MediaPlacement, SmartLinkPosition } from '../../../../constants';
|
|
6
6
|
import uuid from 'uuid';
|
|
7
|
-
|
|
7
|
+
import { extractOwnedBy } from '../../../../extractors/flexible/utils';
|
|
8
8
|
/**
|
|
9
9
|
* This view represents a Block card that has an 'Resolved' status.
|
|
10
10
|
* @see SmartLinkStatus
|
|
@@ -22,11 +22,36 @@ const FlexibleResolvedView = ({
|
|
|
22
22
|
url,
|
|
23
23
|
analytics
|
|
24
24
|
}) => {
|
|
25
|
+
var _cardState$details, _cardState$details2;
|
|
25
26
|
const [isPreviewBlockErrored, setIsPreviewBlockErrored] = useState(false);
|
|
26
27
|
useEffect(() => {
|
|
27
28
|
setIsPreviewBlockErrored(false);
|
|
28
29
|
}, [url, cardState]);
|
|
29
30
|
const [analyticsId] = useState(() => id ? id : uuid());
|
|
31
|
+
const baseMetadata = [{
|
|
32
|
+
name: ElementName.ModifiedOn
|
|
33
|
+
}, {
|
|
34
|
+
name: ElementName.AttachmentCount
|
|
35
|
+
}, {
|
|
36
|
+
name: ElementName.CommentCount
|
|
37
|
+
}, {
|
|
38
|
+
name: ElementName.ReactCount
|
|
39
|
+
}, {
|
|
40
|
+
name: ElementName.SubscriberCount
|
|
41
|
+
}, {
|
|
42
|
+
name: ElementName.ViewCount
|
|
43
|
+
}, {
|
|
44
|
+
name: ElementName.VoteCount
|
|
45
|
+
}, {
|
|
46
|
+
name: ElementName.ChecklistProgress
|
|
47
|
+
}, {
|
|
48
|
+
name: ElementName.DueOn
|
|
49
|
+
}];
|
|
50
|
+
const metadata = cardState !== null && cardState !== void 0 && (_cardState$details = cardState.details) !== null && _cardState$details !== void 0 && _cardState$details.data && extractOwnedBy(cardState === null || cardState === void 0 ? void 0 : (_cardState$details2 = cardState.details) === null || _cardState$details2 === void 0 ? void 0 : _cardState$details2.data) ? [{
|
|
51
|
+
name: ElementName.OwnedBy
|
|
52
|
+
}, ...baseMetadata] : [{
|
|
53
|
+
name: ElementName.ModifiedBy
|
|
54
|
+
}, ...baseMetadata];
|
|
30
55
|
return /*#__PURE__*/React.createElement(FlexibleCard, {
|
|
31
56
|
appearance: "block",
|
|
32
57
|
cardState: cardState,
|
|
@@ -48,27 +73,7 @@ const FlexibleResolvedView = ({
|
|
|
48
73
|
}],
|
|
49
74
|
hideRetry: true
|
|
50
75
|
}), /*#__PURE__*/React.createElement(MetadataBlock, {
|
|
51
|
-
primary:
|
|
52
|
-
name: ElementName.ModifiedBy
|
|
53
|
-
}, {
|
|
54
|
-
name: ElementName.ModifiedOn
|
|
55
|
-
}, {
|
|
56
|
-
name: ElementName.AttachmentCount
|
|
57
|
-
}, {
|
|
58
|
-
name: ElementName.CommentCount
|
|
59
|
-
}, {
|
|
60
|
-
name: ElementName.ReactCount
|
|
61
|
-
}, {
|
|
62
|
-
name: ElementName.SubscriberCount
|
|
63
|
-
}, {
|
|
64
|
-
name: ElementName.ViewCount
|
|
65
|
-
}, {
|
|
66
|
-
name: ElementName.VoteCount
|
|
67
|
-
}, {
|
|
68
|
-
name: ElementName.ChecklistProgress
|
|
69
|
-
}, {
|
|
70
|
-
name: ElementName.DueOn
|
|
71
|
-
}],
|
|
76
|
+
primary: metadata,
|
|
72
77
|
maxLines: 1
|
|
73
78
|
}), /*#__PURE__*/React.createElement(SnippetBlock, null), !isPreviewBlockErrored ? /*#__PURE__*/React.createElement(PreviewBlock, {
|
|
74
79
|
placement: MediaPlacement.Right,
|
|
@@ -25,6 +25,7 @@ export const ElementDisplaySchema = {
|
|
|
25
25
|
[ElementName.LinkIcon]: ['inline'],
|
|
26
26
|
[ElementName.ModifiedBy]: ['inline'],
|
|
27
27
|
[ElementName.ModifiedOn]: ['inline'],
|
|
28
|
+
[ElementName.OwnedBy]: ['inline'],
|
|
28
29
|
[ElementName.Preview]: ['block'],
|
|
29
30
|
[ElementName.Priority]: ['inline'],
|
|
30
31
|
[ElementName.ProgrammingLanguage]: ['inline'],
|
|
@@ -62,6 +62,11 @@ export const ModifiedBy = createElement(ElementName.ModifiedBy);
|
|
|
62
62
|
* @see DateTime
|
|
63
63
|
*/
|
|
64
64
|
export const ModifiedOn = createElement(ElementName.ModifiedOn);
|
|
65
|
+
/**
|
|
66
|
+
* Creates a OwnedBy text element using the data from OwnedBy in the Flexible UI Context.
|
|
67
|
+
* @see Text
|
|
68
|
+
*/
|
|
69
|
+
export const OwnedBy = createElement(ElementName.OwnedBy);
|
|
65
70
|
/**
|
|
66
71
|
* Creates a Preview element using the data from Preview in the Flexible UI Context.
|
|
67
72
|
* @see Preview
|
|
@@ -61,6 +61,9 @@ const elementMappings = {
|
|
|
61
61
|
[ElementName.CreatedBy]: {
|
|
62
62
|
component: Text
|
|
63
63
|
},
|
|
64
|
+
[ElementName.OwnedBy]: {
|
|
65
|
+
component: Text
|
|
66
|
+
},
|
|
64
67
|
[ElementName.CreatedOn]: {
|
|
65
68
|
component: DateTime
|
|
66
69
|
},
|
|
@@ -151,6 +154,8 @@ const getData = (elementName, contextKey, context) => {
|
|
|
151
154
|
return toBadgeProps(data);
|
|
152
155
|
case ElementName.CreatedBy:
|
|
153
156
|
return toFormattedTextProps(messages.created_by, context.createdBy);
|
|
157
|
+
case ElementName.OwnedBy:
|
|
158
|
+
return toFormattedTextProps(messages.owned_by, context.ownedBy);
|
|
154
159
|
case ElementName.CreatedOn:
|
|
155
160
|
return toDateTimeProps('created', context.createdOn);
|
|
156
161
|
case ElementName.DueOn:
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
import { jsx } from '@emotion/react';
|
|
3
3
|
import ShortcutIcon from '@atlaskit/icon/glyph/shortcut';
|
|
4
4
|
import CopyIcon from '@atlaskit/icon/glyph/copy';
|
|
5
|
-
import { extractType } from '@atlaskit/linking-common/extractors';
|
|
6
5
|
import { useAnalyticsEvents } from '@atlaskit/analytics-next';
|
|
7
6
|
import React, { useCallback, useEffect, useMemo } from 'react';
|
|
8
7
|
import { ActionName, CardDisplay, SmartLinkPosition, SmartLinkSize } from '../../../constants';
|
|
@@ -83,10 +82,9 @@ const HoverCardContent = ({
|
|
|
83
82
|
}, [createAnalyticsEvent, cardState.status, analytics.ui, id]);
|
|
84
83
|
const titleActions = useMemo(() => [getCopyAction(url), getOpenAction(url, analytics, onActionClick)], [url, analytics, onActionClick]);
|
|
85
84
|
const data = (_cardState$details = cardState.details) === null || _cardState$details === void 0 ? void 0 : _cardState$details.data;
|
|
86
|
-
const types = data ? extractType(data) : undefined;
|
|
87
85
|
const {
|
|
88
86
|
subtitle
|
|
89
|
-
} = extractMetadata(getSimulatedMetadata(extensionKey,
|
|
87
|
+
} = extractMetadata(getSimulatedMetadata(extensionKey, data));
|
|
90
88
|
const titleMaxLines = subtitle && subtitle.length > 0 ? 1 : 2;
|
|
91
89
|
const titleBlockProps = {
|
|
92
90
|
actions: titleActions,
|
|
@@ -48,7 +48,7 @@ const HoverCardResolvedView = ({
|
|
|
48
48
|
} = useMemo(() => {
|
|
49
49
|
const types = data ? extractType(data) : undefined;
|
|
50
50
|
//TODO: EDM-3224 deleted simulated and use real JsonLd
|
|
51
|
-
const metadata = extractMetadata(getSimulatedMetadata(extensionKey,
|
|
51
|
+
const metadata = extractMetadata(getSimulatedMetadata(extensionKey, data));
|
|
52
52
|
const primary = showActionableElement ? toActionableMetadata(onActionClick, extensionKey, types, cardActions, metadata.primary) : metadata.primary;
|
|
53
53
|
return {
|
|
54
54
|
primary,
|