@atlaskit/smart-card 19.1.29 → 19.1.30
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 +7 -0
- package/dist/cjs/constants.js +3 -1
- package/dist/cjs/extractors/flexible/index.js +4 -2
- package/dist/cjs/extractors/flexible/utils.js +24 -2
- package/dist/cjs/extractors/hover/extractMetadata.js +3 -2
- package/dist/cjs/version.json +1 -1
- package/dist/cjs/view/FlexibleCard/components/blocks/block/index.js +1 -1
- package/dist/cjs/view/FlexibleCard/components/blocks/utils.js +1 -1
- package/dist/cjs/view/FlexibleCard/components/elements/avatar-group/index.js +2 -0
- package/dist/cjs/view/FlexibleCard/components/elements/badge/index.js +2 -0
- package/dist/cjs/view/FlexibleCard/components/elements/date-time/index.js +2 -0
- package/dist/cjs/view/FlexibleCard/components/elements/icon/index.js +2 -0
- package/dist/cjs/view/FlexibleCard/components/elements/index.js +17 -3
- package/dist/cjs/view/FlexibleCard/components/elements/link/index.js +2 -0
- package/dist/cjs/view/FlexibleCard/components/elements/lozenge/index.js +2 -0
- package/dist/cjs/view/FlexibleCard/components/elements/media/index.js +3 -1
- package/dist/cjs/view/FlexibleCard/components/elements/text/index.js +2 -0
- package/dist/cjs/view/FlexibleCard/components/elements/utils.js +20 -12
- package/dist/cjs/view/HoverCard/components/hover-card-content.js +12 -5
- package/dist/cjs/view/HoverCard/styled.js +8 -5
- package/dist/cjs/view/HoverCard/utils.js +27 -3
- package/dist/es2019/constants.js +3 -1
- package/dist/es2019/extractors/flexible/index.js +5 -3
- package/dist/es2019/extractors/flexible/utils.js +9 -1
- package/dist/es2019/extractors/hover/extractMetadata.js +3 -2
- package/dist/es2019/version.json +1 -1
- package/dist/es2019/view/FlexibleCard/components/blocks/block/index.js +11 -1
- package/dist/es2019/view/FlexibleCard/components/blocks/utils.js +5 -3
- package/dist/es2019/view/FlexibleCard/components/elements/avatar-group/index.js +2 -0
- package/dist/es2019/view/FlexibleCard/components/elements/badge/index.js +2 -0
- package/dist/es2019/view/FlexibleCard/components/elements/date-time/index.js +2 -0
- package/dist/es2019/view/FlexibleCard/components/elements/icon/index.js +2 -0
- package/dist/es2019/view/FlexibleCard/components/elements/index.js +12 -0
- package/dist/es2019/view/FlexibleCard/components/elements/link/index.js +2 -0
- package/dist/es2019/view/FlexibleCard/components/elements/lozenge/index.js +2 -0
- package/dist/es2019/view/FlexibleCard/components/elements/media/index.js +2 -0
- package/dist/es2019/view/FlexibleCard/components/elements/text/index.js +2 -0
- package/dist/es2019/view/FlexibleCard/components/elements/utils.js +26 -16
- package/dist/es2019/view/HoverCard/components/hover-card-content.js +11 -5
- package/dist/es2019/view/HoverCard/styled.js +31 -5
- package/dist/es2019/view/HoverCard/utils.js +27 -4
- package/dist/esm/constants.js +3 -1
- package/dist/esm/extractors/flexible/index.js +5 -3
- package/dist/esm/extractors/flexible/utils.js +13 -0
- package/dist/esm/extractors/hover/extractMetadata.js +3 -2
- package/dist/esm/version.json +1 -1
- package/dist/esm/view/FlexibleCard/components/blocks/block/index.js +2 -2
- package/dist/esm/view/FlexibleCard/components/blocks/utils.js +1 -1
- package/dist/esm/view/FlexibleCard/components/elements/avatar-group/index.js +2 -0
- package/dist/esm/view/FlexibleCard/components/elements/badge/index.js +2 -0
- package/dist/esm/view/FlexibleCard/components/elements/date-time/index.js +2 -0
- package/dist/esm/view/FlexibleCard/components/elements/icon/index.js +2 -0
- package/dist/esm/view/FlexibleCard/components/elements/index.js +12 -0
- package/dist/esm/view/FlexibleCard/components/elements/link/index.js +2 -0
- package/dist/esm/view/FlexibleCard/components/elements/lozenge/index.js +2 -0
- package/dist/esm/view/FlexibleCard/components/elements/media/index.js +3 -1
- package/dist/esm/view/FlexibleCard/components/elements/text/index.js +2 -0
- package/dist/esm/view/FlexibleCard/components/elements/utils.js +20 -12
- package/dist/esm/view/HoverCard/components/hover-card-content.js +11 -5
- package/dist/esm/view/HoverCard/styled.js +8 -5
- package/dist/esm/view/HoverCard/utils.js +27 -3
- package/dist/types/constants.d.ts +3 -1
- package/dist/types/extractors/common/__mocks__/jsonld.d.ts +1 -0
- package/dist/types/extractors/flexible/utils.d.ts +2 -0
- package/dist/types/state/flexible-ui-context/types.d.ts +22 -10
- package/dist/types/view/FlexibleCard/components/blocks/types.d.ts +15 -1
- package/dist/types/view/FlexibleCard/components/elements/index.d.ts +10 -0
- package/dist/types/view/FlexibleCard/components/elements/types.d.ts +7 -1
- package/dist/types/view/HoverCard/types.d.ts +1 -0
- package/dist/types/view/HoverCard/utils.d.ts +1 -1
- package/package.json +1 -1
- package/report.api.md +4 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# @atlaskit/smart-card
|
|
2
2
|
|
|
3
|
+
## 19.1.30
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`3a2bc5af606`](https://bitbucket.org/atlassian/atlassian-frontend/commits/3a2bc5af606) - Flexible UI: Add pull request source and target branch element (text)
|
|
8
|
+
Hover Preview: Update Bitbucket metadata for pull request link
|
|
9
|
+
|
|
3
10
|
## 19.1.29
|
|
4
11
|
|
|
5
12
|
### Patch Changes
|
package/dist/cjs/constants.js
CHANGED
|
@@ -102,7 +102,7 @@ var SmartLinkWidth;
|
|
|
102
102
|
* When adding an element...
|
|
103
103
|
* 1) Create base element if it doesn't already exist.
|
|
104
104
|
* Base element are inside src/view/FlexibleCard/components/elements.
|
|
105
|
-
* E.g. Badge,DateTime, Icon, Lozenge, etc.
|
|
105
|
+
* E.g. Badge, DateTime, Icon, Lozenge, etc.
|
|
106
106
|
* 2) Update FlexibleUiContext with the new prop for data representing
|
|
107
107
|
* the element, preferably with the same name as the element itself.
|
|
108
108
|
* (src/state/flexible-ui-context/types.ts)
|
|
@@ -143,8 +143,10 @@ exports.ElementName = ElementName;
|
|
|
143
143
|
ElementName["Provider"] = "Provider";
|
|
144
144
|
ElementName["ReactCount"] = "ReactCount";
|
|
145
145
|
ElementName["Snippet"] = "Snippet";
|
|
146
|
+
ElementName["SourceBranch"] = "SourceBranch";
|
|
146
147
|
ElementName["State"] = "State";
|
|
147
148
|
ElementName["SubscriberCount"] = "SubscriberCount";
|
|
149
|
+
ElementName["TargetBranch"] = "TargetBranch";
|
|
148
150
|
ElementName["Title"] = "Title";
|
|
149
151
|
ElementName["ViewCount"] = "ViewCount";
|
|
150
152
|
ElementName["VoteCount"] = "VoteCount";
|
|
@@ -47,19 +47,21 @@ var extractFlexibleUiContext = function extractFlexibleUiContext(response, rende
|
|
|
47
47
|
voteCount: (0, _utils.extractVoteCount)(data),
|
|
48
48
|
createdBy: (0, _utils.extractCreatedBy)(data),
|
|
49
49
|
createdOn: (0, _extractDateCreated.extractDateCreated)(data),
|
|
50
|
+
latestCommit: (0, _latestCommit.extractLatestCommit)(data),
|
|
50
51
|
linkIcon: (0, _icon.extractLinkIcon)(response, renderers),
|
|
51
52
|
modifiedBy: (0, _utils.extractModifiedBy)(data),
|
|
52
53
|
modifiedOn: (0, _extractDateUpdated.extractDateUpdated)(data),
|
|
53
54
|
preview: (0, _extractPreview.default)(data),
|
|
54
55
|
priority: (0, _extractPriority.default)(data),
|
|
56
|
+
provider: (0, _extractProviderIcon.default)(data),
|
|
55
57
|
programmingLanguage: (0, _utils.extractProgrammingLanguage)(data),
|
|
56
58
|
snippet: (0, _primitives.extractSummary)(data) || undefined,
|
|
57
59
|
// Explicitly set here to remove an empty string
|
|
60
|
+
sourceBranch: (0, _utils.extractSourceBranch)(data),
|
|
58
61
|
state: (0, _lozenge.extractLozenge)(data),
|
|
59
62
|
subscriberCount: (0, _utils.extractSubscriberCount)(data),
|
|
63
|
+
targetBranch: (0, _utils.extractTargetBranch)(data),
|
|
60
64
|
title: (0, _primitives.extractTitle)(data) || url,
|
|
61
|
-
provider: (0, _extractProviderIcon.default)(data),
|
|
62
|
-
latestCommit: (0, _latestCommit.extractLatestCommit)(data),
|
|
63
65
|
url: url
|
|
64
66
|
};
|
|
65
67
|
};
|
|
@@ -1,12 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
6
|
-
exports.extractVoteCount = exports.extractViewCount = exports.extractSubscriberCount = exports.extractReactCount = exports.extractProgrammingLanguage = exports.extractModifiedBy = exports.extractCreatedBy = exports.extractCommentCount = void 0;
|
|
8
|
+
exports.extractVoteCount = exports.extractViewCount = exports.extractTargetBranch = exports.extractSubscriberCount = exports.extractSourceBranch = exports.extractReactCount = exports.extractProgrammingLanguage = exports.extractModifiedBy = exports.extractCreatedBy = exports.extractCommentCount = void 0;
|
|
9
|
+
|
|
10
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
7
11
|
|
|
8
12
|
var _person = require("../common/person");
|
|
9
13
|
|
|
14
|
+
var extractLinkName = function extractLinkName(link) {
|
|
15
|
+
if (link && (0, _typeof2.default)(link) === 'object' && link['@type'] === 'Link') {
|
|
16
|
+
return link.name;
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
|
|
10
20
|
var extractValue = function extractValue(data, key) {
|
|
11
21
|
return data === null || data === void 0 ? void 0 : data[key];
|
|
12
22
|
};
|
|
@@ -61,8 +71,20 @@ var extractProgrammingLanguage = function extractProgrammingLanguage(data) {
|
|
|
61
71
|
|
|
62
72
|
exports.extractProgrammingLanguage = extractProgrammingLanguage;
|
|
63
73
|
|
|
74
|
+
var extractSourceBranch = function extractSourceBranch(data) {
|
|
75
|
+
return extractLinkName(data['atlassian:mergeSource']);
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
exports.extractSourceBranch = extractSourceBranch;
|
|
79
|
+
|
|
64
80
|
var extractSubscriberCount = function extractSubscriberCount(data) {
|
|
65
81
|
return extractValue(data, 'atlassian:subscriberCount');
|
|
66
82
|
};
|
|
67
83
|
|
|
68
|
-
exports.extractSubscriberCount = extractSubscriberCount;
|
|
84
|
+
exports.extractSubscriberCount = extractSubscriberCount;
|
|
85
|
+
|
|
86
|
+
var extractTargetBranch = function extractTargetBranch(data) {
|
|
87
|
+
return extractLinkName(data['atlassian:mergeDestination']);
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
exports.extractTargetBranch = extractTargetBranch;
|
|
@@ -19,12 +19,13 @@ var elementNamesToItems = function elementNamesToItems(elementNames) {
|
|
|
19
19
|
};
|
|
20
20
|
|
|
21
21
|
var extractMetadata = function extractMetadata(jsonLd) {
|
|
22
|
-
var _jsonLd$metadata, _metadata$primary, _metadata$secondary;
|
|
22
|
+
var _jsonLd$metadata, _metadata$primary, _metadata$secondary, _metadata$subtitle;
|
|
23
23
|
|
|
24
24
|
var metadata = (_jsonLd$metadata = jsonLd.metadata) !== null && _jsonLd$metadata !== void 0 ? _jsonLd$metadata : [];
|
|
25
25
|
return {
|
|
26
26
|
primary: elementNamesToItems((_metadata$primary = metadata.primary) !== null && _metadata$primary !== void 0 ? _metadata$primary : []),
|
|
27
|
-
secondary: elementNamesToItems((_metadata$secondary = metadata.secondary) !== null && _metadata$secondary !== void 0 ? _metadata$secondary : [])
|
|
27
|
+
secondary: elementNamesToItems((_metadata$secondary = metadata.secondary) !== null && _metadata$secondary !== void 0 ? _metadata$secondary : []),
|
|
28
|
+
subtitle: elementNamesToItems((_metadata$subtitle = metadata.subtitle) !== null && _metadata$subtitle !== void 0 ? _metadata$subtitle : [])
|
|
28
29
|
};
|
|
29
30
|
};
|
|
30
31
|
|
package/dist/cjs/version.json
CHANGED
|
@@ -20,7 +20,7 @@ var _utils = require("../utils");
|
|
|
20
20
|
var _templateObject;
|
|
21
21
|
|
|
22
22
|
var getBlockStyles = function getBlockStyles(direction, size) {
|
|
23
|
-
return (0, _core.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n ", "\n justify-content: flex-start;\n [data-separator] + [data-separator]:before {\n content: '\u2022';\n margin-right: ", "rem;\n }\n"])), (0, _utils.getBaseStyles)(direction, size), (0, _utils.getGapSize)(size));
|
|
23
|
+
return (0, _core.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n ", "\n justify-content: flex-start;\n [data-separator] + [data-separator]:before {\n content: '\u2022';\n margin-right: ", "rem;\n }\n // Pull request elements: source branch \u2192 target branch\n [data-smart-element='", "']\n + [data-smart-element='", "']:before {\n content: '\u2192';\n }\n // Pull request elements: target branch \u2190 source branch\n [data-smart-element='", "']\n + [data-smart-element='", "']:before {\n content: '\u2190';\n }\n"])), (0, _utils.getBaseStyles)(direction, size), (0, _utils.getGapSize)(size), _constants.ElementName.SourceBranch, _constants.ElementName.TargetBranch, _constants.ElementName.TargetBranch, _constants.ElementName.SourceBranch);
|
|
24
24
|
};
|
|
25
25
|
/**
|
|
26
26
|
* A block represents a collection of elements and actions that are arranged
|
|
@@ -48,7 +48,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
48
48
|
|
|
49
49
|
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; }
|
|
50
50
|
|
|
51
|
-
var ElementDisplaySchema = (_ElementDisplaySchema = {}, (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.AuthorGroup, ['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.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.Snippet, ['block']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.
|
|
51
|
+
var ElementDisplaySchema = (_ElementDisplaySchema = {}, (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.AuthorGroup, ['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.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);
|
|
52
52
|
exports.ElementDisplaySchema = ElementDisplaySchema;
|
|
53
53
|
|
|
54
54
|
var getDirectionStyles = function getDirectionStyles(direction) {
|
|
@@ -50,6 +50,7 @@ var AvatarGroup = function AvatarGroup(_ref) {
|
|
|
50
50
|
items = _ref$items === void 0 ? [] : _ref$items,
|
|
51
51
|
_ref$maxCount = _ref.maxCount,
|
|
52
52
|
maxCount = _ref$maxCount === void 0 ? MAX_COUNT : _ref$maxCount,
|
|
53
|
+
name = _ref.name,
|
|
53
54
|
overrideCss = _ref.overrideCss,
|
|
54
55
|
_ref$size = _ref.size,
|
|
55
56
|
size = _ref$size === void 0 ? _constants.SmartLinkSize.Medium : _ref$size,
|
|
@@ -63,6 +64,7 @@ var AvatarGroup = function AvatarGroup(_ref) {
|
|
|
63
64
|
return (0, _core.jsx)("span", {
|
|
64
65
|
css: [getStyles(size), overrideCss],
|
|
65
66
|
"data-fit-to-content": true,
|
|
67
|
+
"data-smart-element": name,
|
|
66
68
|
"data-smart-element-avatar-group": true,
|
|
67
69
|
"data-testid": testId
|
|
68
70
|
}, (0, _core.jsx)(_avatarGroup.default, {
|
|
@@ -82,6 +82,7 @@ var renderImageIcon = function renderImageIcon(url, testId) {
|
|
|
82
82
|
var Badge = function Badge(_ref) {
|
|
83
83
|
var icon = _ref.icon,
|
|
84
84
|
label = _ref.label,
|
|
85
|
+
name = _ref.name,
|
|
85
86
|
overrideCss = _ref.overrideCss,
|
|
86
87
|
_ref$testId = _ref.testId,
|
|
87
88
|
testId = _ref$testId === void 0 ? 'smart-element-badge' : _ref$testId,
|
|
@@ -96,6 +97,7 @@ var Badge = function Badge(_ref) {
|
|
|
96
97
|
return (0, _core.jsx)("span", {
|
|
97
98
|
css: [badgeStyles, overrideCss],
|
|
98
99
|
"data-fit-to-content": true,
|
|
100
|
+
"data-smart-element": name,
|
|
99
101
|
"data-smart-element-badge": true,
|
|
100
102
|
"data-testid": testId
|
|
101
103
|
}, (0, _core.jsx)("span", {
|
|
@@ -48,6 +48,7 @@ var typeToDescriptorMap = {
|
|
|
48
48
|
|
|
49
49
|
var DateTime = function DateTime(_ref) {
|
|
50
50
|
var date = _ref.date,
|
|
51
|
+
name = _ref.name,
|
|
51
52
|
overrideCss = _ref.overrideCss,
|
|
52
53
|
type = _ref.type,
|
|
53
54
|
_ref$testId = _ref.testId,
|
|
@@ -87,6 +88,7 @@ var DateTime = function DateTime(_ref) {
|
|
|
87
88
|
return (0, _core.jsx)("span", {
|
|
88
89
|
css: [styles, overrideCss],
|
|
89
90
|
"data-separator": true,
|
|
91
|
+
"data-smart-element": name,
|
|
90
92
|
"data-smart-element-date-time": true,
|
|
91
93
|
"data-testid": testId
|
|
92
94
|
}, text ? "".concat(text, " ").concat(context) : (0, _core.jsx)(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, typeToDescriptorMap[type][typeVariant], {
|
|
@@ -88,6 +88,7 @@ var Icon = function Icon(_ref) {
|
|
|
88
88
|
var icon = _ref.icon,
|
|
89
89
|
_ref$label = _ref.label,
|
|
90
90
|
label = _ref$label === void 0 ? 'Link' : _ref$label,
|
|
91
|
+
name = _ref.name,
|
|
91
92
|
_ref$position = _ref.position,
|
|
92
93
|
position = _ref$position === void 0 ? _constants.SmartLinkPosition.Top : _ref$position,
|
|
93
94
|
overrideCss = _ref.overrideCss,
|
|
@@ -107,6 +108,7 @@ var Icon = function Icon(_ref) {
|
|
|
107
108
|
return (0, _core.jsx)("div", {
|
|
108
109
|
css: [styles, renderStyles, overrideCss],
|
|
109
110
|
"data-fit-to-content": true,
|
|
111
|
+
"data-smart-element": name,
|
|
110
112
|
"data-smart-element-icon": true,
|
|
111
113
|
"data-testid": testId
|
|
112
114
|
}, element);
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.VoteCount = exports.ViewCount = exports.Title = exports.SubscriberCount = exports.State = exports.Snippet = exports.ReactCount = exports.Provider = exports.ProgrammingLanguage = exports.Priority = exports.Preview = exports.ModifiedOn = exports.ModifiedBy = exports.LinkIcon = exports.LatestCommit = exports.CreatedOn = exports.CreatedBy = exports.CommentCount = exports.CollaboratorGroup = exports.AuthorGroup = 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.ModifiedOn = exports.ModifiedBy = exports.LinkIcon = exports.LatestCommit = exports.CreatedOn = exports.CreatedBy = exports.CommentCount = exports.CollaboratorGroup = exports.AuthorGroup = void 0;
|
|
7
7
|
|
|
8
8
|
var _utils = require("./utils");
|
|
9
9
|
|
|
@@ -115,12 +115,19 @@ var ReactCount = (0, _utils.createElement)(_constants.ElementName.ReactCount);
|
|
|
115
115
|
|
|
116
116
|
exports.ReactCount = ReactCount;
|
|
117
117
|
var Snippet = (0, _utils.createElement)(_constants.ElementName.Snippet);
|
|
118
|
+
/**
|
|
119
|
+
* Creates a SourceBranch Text element using the data from sourceBranch in the Flexible UI Context.
|
|
120
|
+
* @see Text
|
|
121
|
+
*/
|
|
122
|
+
|
|
123
|
+
exports.Snippet = Snippet;
|
|
124
|
+
var SourceBranch = (0, _utils.createElement)(_constants.ElementName.SourceBranch);
|
|
118
125
|
/**
|
|
119
126
|
* Creates a State Lozenge element using the data from State in the Flexible UI Context.
|
|
120
127
|
* @see Lozenge
|
|
121
128
|
*/
|
|
122
129
|
|
|
123
|
-
exports.
|
|
130
|
+
exports.SourceBranch = SourceBranch;
|
|
124
131
|
var State = (0, _utils.createElement)(_constants.ElementName.State);
|
|
125
132
|
/**
|
|
126
133
|
* Creates a SubscriberCount Badge element using the data from SubscriberCount in the Flexible UI Context.
|
|
@@ -129,13 +136,20 @@ var State = (0, _utils.createElement)(_constants.ElementName.State);
|
|
|
129
136
|
|
|
130
137
|
exports.State = State;
|
|
131
138
|
var SubscriberCount = (0, _utils.createElement)(_constants.ElementName.SubscriberCount);
|
|
139
|
+
/**
|
|
140
|
+
* Creates a TargetBranch Text element using the data from targetBranch in the Flexible UI Context.
|
|
141
|
+
* @see Text
|
|
142
|
+
*/
|
|
143
|
+
|
|
144
|
+
exports.SubscriberCount = SubscriberCount;
|
|
145
|
+
var TargetBranch = (0, _utils.createElement)(_constants.ElementName.TargetBranch);
|
|
132
146
|
/**
|
|
133
147
|
* Creates a Title Link element using the data from Title in the Flexible UI Context.
|
|
134
148
|
* This represents the main link text within the Smart Link.
|
|
135
149
|
* @see Link
|
|
136
150
|
*/
|
|
137
151
|
|
|
138
|
-
exports.
|
|
152
|
+
exports.TargetBranch = TargetBranch;
|
|
139
153
|
var Title = (0, _utils.createElement)(_constants.ElementName.Title);
|
|
140
154
|
/**
|
|
141
155
|
* Creates a ViewCount Badge element using the data from ViewCount in the Flexible UI Context.
|
|
@@ -82,6 +82,7 @@ var Link = function Link(_ref) {
|
|
|
82
82
|
var hideTooltip = _ref.hideTooltip,
|
|
83
83
|
_ref$maxLines = _ref.maxLines,
|
|
84
84
|
maxLines = _ref$maxLines === void 0 ? DEFAULT_MAX_LINES : _ref$maxLines,
|
|
85
|
+
name = _ref.name,
|
|
85
86
|
overrideCss = _ref.overrideCss,
|
|
86
87
|
_ref$size = _ref.size,
|
|
87
88
|
size = _ref$size === void 0 ? _constants.SmartLinkSize.Medium : _ref$size,
|
|
@@ -98,6 +99,7 @@ var Link = function Link(_ref) {
|
|
|
98
99
|
}, [text]);
|
|
99
100
|
var anchor = (0, _core.jsx)("a", {
|
|
100
101
|
css: [getAnchorStyles(size, theme, getMaxLines(maxLines), hasSpace), overrideCss],
|
|
102
|
+
"data-smart-element": name,
|
|
101
103
|
"data-smart-element-link": true,
|
|
102
104
|
"data-testid": testId,
|
|
103
105
|
onClick: onClick,
|
|
@@ -28,6 +28,7 @@ var styles = (0, _core.css)(_templateObject || (_templateObject = (0, _taggedTem
|
|
|
28
28
|
var Lozenge = function Lozenge(_ref) {
|
|
29
29
|
var _ref$appearance = _ref.appearance,
|
|
30
30
|
appearance = _ref$appearance === void 0 ? 'default' : _ref$appearance,
|
|
31
|
+
name = _ref.name,
|
|
31
32
|
overrideCss = _ref.overrideCss,
|
|
32
33
|
text = _ref.text,
|
|
33
34
|
_ref$testId = _ref.testId,
|
|
@@ -40,6 +41,7 @@ var Lozenge = function Lozenge(_ref) {
|
|
|
40
41
|
return (0, _core.jsx)("span", {
|
|
41
42
|
css: [styles, overrideCss],
|
|
42
43
|
"data-fit-to-content": true,
|
|
44
|
+
"data-smart-element": name,
|
|
43
45
|
"data-smart-element-lozenge": true,
|
|
44
46
|
"data-testid": testId
|
|
45
47
|
}, (0, _core.jsx)(_lozenge.default, {
|
|
@@ -36,7 +36,8 @@ var styles = (0, _core.css)(_templateObject || (_templateObject = (0, _taggedTem
|
|
|
36
36
|
*/
|
|
37
37
|
|
|
38
38
|
var Media = function Media(_ref) {
|
|
39
|
-
var
|
|
39
|
+
var name = _ref.name,
|
|
40
|
+
overrideCss = _ref.overrideCss,
|
|
40
41
|
_ref$testId = _ref.testId,
|
|
41
42
|
testId = _ref$testId === void 0 ? 'smart-element-media' : _ref$testId,
|
|
42
43
|
type = _ref.type,
|
|
@@ -48,6 +49,7 @@ var Media = function Media(_ref) {
|
|
|
48
49
|
|
|
49
50
|
return (0, _core.jsx)("div", {
|
|
50
51
|
css: [styles, overrideCss],
|
|
52
|
+
"data-smart-element": name,
|
|
51
53
|
"data-smart-element-media": true,
|
|
52
54
|
"data-testid": testId
|
|
53
55
|
}, (0, _core.jsx)(_imageIcon.default, {
|
|
@@ -35,6 +35,7 @@ var Text = function Text(_ref) {
|
|
|
35
35
|
_ref$maxLines = _ref.maxLines,
|
|
36
36
|
maxLines = _ref$maxLines === void 0 ? 1 : _ref$maxLines,
|
|
37
37
|
message = _ref.message,
|
|
38
|
+
name = _ref.name,
|
|
38
39
|
overrideCss = _ref.overrideCss,
|
|
39
40
|
_ref$testId = _ref.testId,
|
|
40
41
|
testId = _ref$testId === void 0 ? 'smart-element-text' : _ref$testId;
|
|
@@ -46,6 +47,7 @@ var Text = function Text(_ref) {
|
|
|
46
47
|
return (0, _core.jsx)("span", {
|
|
47
48
|
css: [getStyles(maxLines), overrideCss],
|
|
48
49
|
"data-separator": true,
|
|
50
|
+
"data-smart-element": name,
|
|
49
51
|
"data-smart-element-text": true,
|
|
50
52
|
"data-testid": testId
|
|
51
53
|
}, (0, _utils.getFormattedMessage)(message) || content);
|
|
@@ -76,10 +76,19 @@ var elementMappings = (_elementMappings = {}, (0, _defineProperty2.default)(_ele
|
|
|
76
76
|
}
|
|
77
77
|
}), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.CreatedBy, {
|
|
78
78
|
component: _text.default
|
|
79
|
+
}), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.CreatedOn, {
|
|
80
|
+
component: _dateTime.default
|
|
81
|
+
}), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.LatestCommit, {
|
|
82
|
+
component: _badge.default,
|
|
83
|
+
props: {
|
|
84
|
+
icon: _constants.IconType.Commit
|
|
85
|
+
}
|
|
79
86
|
}), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.LinkIcon, {
|
|
80
87
|
component: _icon.default
|
|
81
88
|
}), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.ModifiedBy, {
|
|
82
89
|
component: _text.default
|
|
90
|
+
}), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.ModifiedOn, {
|
|
91
|
+
component: _dateTime.default
|
|
83
92
|
}), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.Preview, {
|
|
84
93
|
component: _media.default
|
|
85
94
|
}), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.Priority, {
|
|
@@ -89,12 +98,16 @@ var elementMappings = (_elementMappings = {}, (0, _defineProperty2.default)(_ele
|
|
|
89
98
|
props: {
|
|
90
99
|
icon: _constants.IconType.ProgrammingLanguage
|
|
91
100
|
}
|
|
101
|
+
}), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.Provider, {
|
|
102
|
+
component: _badge.default
|
|
92
103
|
}), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.Snippet, {
|
|
93
104
|
component: _text.default,
|
|
94
105
|
props: {
|
|
95
106
|
maxLines: SNIPPET_DEFAULT_MAX_LINES,
|
|
96
107
|
overrideCss: (0, _core.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n "])), _token.tokens.snippet)
|
|
97
108
|
}
|
|
109
|
+
}), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.SourceBranch, {
|
|
110
|
+
component: _text.default
|
|
98
111
|
}), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.State, {
|
|
99
112
|
component: _lozenge.default
|
|
100
113
|
}), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.SubscriberCount, {
|
|
@@ -102,19 +115,10 @@ var elementMappings = (_elementMappings = {}, (0, _defineProperty2.default)(_ele
|
|
|
102
115
|
props: {
|
|
103
116
|
icon: _constants.IconType.Subscriber
|
|
104
117
|
}
|
|
118
|
+
}), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.TargetBranch, {
|
|
119
|
+
component: _text.default
|
|
105
120
|
}), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.Title, {
|
|
106
121
|
component: _link.default
|
|
107
|
-
}), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.CreatedOn, {
|
|
108
|
-
component: _dateTime.default
|
|
109
|
-
}), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.ModifiedOn, {
|
|
110
|
-
component: _dateTime.default
|
|
111
|
-
}), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.Provider, {
|
|
112
|
-
component: _badge.default
|
|
113
|
-
}), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.LatestCommit, {
|
|
114
|
-
component: _badge.default,
|
|
115
|
-
props: {
|
|
116
|
-
icon: _constants.IconType.Commit
|
|
117
|
-
}
|
|
118
122
|
}), _elementMappings);
|
|
119
123
|
|
|
120
124
|
var getContextKey = function getContextKey(name) {
|
|
@@ -157,6 +161,8 @@ var getData = function getData(elementName, contextKey, context) {
|
|
|
157
161
|
return toDateTimeProps('modified', context.modifiedOn);
|
|
158
162
|
|
|
159
163
|
case _constants.ElementName.Snippet:
|
|
164
|
+
case _constants.ElementName.SourceBranch:
|
|
165
|
+
case _constants.ElementName.TargetBranch:
|
|
160
166
|
return toTextProps(data);
|
|
161
167
|
|
|
162
168
|
case _constants.ElementName.Title:
|
|
@@ -224,7 +230,9 @@ var createElement = function createElement(name) {
|
|
|
224
230
|
return function (overrides) {
|
|
225
231
|
var context = (0, _react.useContext)(_flexibleUiContext.FlexibleUiContext);
|
|
226
232
|
var data = getData(name, contextKey, context);
|
|
227
|
-
return data ? /*#__PURE__*/_react.default.createElement(BaseElement, (0, _extends2.default)({}, props, data, overrides
|
|
233
|
+
return data ? /*#__PURE__*/_react.default.createElement(BaseElement, (0, _extends2.default)({}, props, data, overrides, {
|
|
234
|
+
name: name
|
|
235
|
+
})) : null;
|
|
228
236
|
};
|
|
229
237
|
};
|
|
230
238
|
|
|
@@ -31,6 +31,8 @@ var _helpers = require("../../../state/helpers");
|
|
|
31
31
|
|
|
32
32
|
var _styled = require("../styled");
|
|
33
33
|
|
|
34
|
+
var _extractType = require("../../../extractors/common/primitives/extractType");
|
|
35
|
+
|
|
34
36
|
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); }
|
|
35
37
|
|
|
36
38
|
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; }
|
|
@@ -99,13 +101,16 @@ var HoverCardContent = function HoverCardContent(_ref) {
|
|
|
99
101
|
}, [url, analytics]);
|
|
100
102
|
var footerActions = (0, _react.useMemo)(function () {
|
|
101
103
|
return toFooterActions(cardActions);
|
|
102
|
-
}, [cardActions]);
|
|
104
|
+
}, [cardActions]);
|
|
105
|
+
var data = (_cardState$details = cardState.details) === null || _cardState$details === void 0 ? void 0 : _cardState$details.data;
|
|
106
|
+
var types = data ? (0, _extractType.extractType)(data) : undefined; //TODO: EDM-3224 deleted simulated and use real JsonLd
|
|
103
107
|
|
|
104
|
-
var _extractMetadata = (0, _extractMetadata2.extractMetadata)((0, _utils.getSimulatedMetadata)(extensionKey)),
|
|
108
|
+
var _extractMetadata = (0, _extractMetadata2.extractMetadata)((0, _utils.getSimulatedMetadata)(extensionKey, types)),
|
|
105
109
|
primary = _extractMetadata.primary,
|
|
106
|
-
secondary = _extractMetadata.secondary
|
|
110
|
+
secondary = _extractMetadata.secondary,
|
|
111
|
+
subtitle = _extractMetadata.subtitle;
|
|
107
112
|
|
|
108
|
-
var
|
|
113
|
+
var titleMaxLines = subtitle && subtitle.length > 0 ? 1 : 2;
|
|
109
114
|
var body = data && (0, _extractPreview.default)(data) ? /*#__PURE__*/_react.default.createElement(_blocks.PreviewBlock, null) : /*#__PURE__*/_react.default.createElement(_blocks.SnippetBlock, null);
|
|
110
115
|
return /*#__PURE__*/_react.default.createElement(_FlexibleCard.default, {
|
|
111
116
|
cardState: cardState,
|
|
@@ -116,9 +121,11 @@ var HoverCardContent = function HoverCardContent(_ref) {
|
|
|
116
121
|
url: url
|
|
117
122
|
}, /*#__PURE__*/_react.default.createElement(_blocks.TitleBlock, {
|
|
118
123
|
actions: titleActions,
|
|
124
|
+
maxLines: titleMaxLines,
|
|
119
125
|
overrideCss: _styled.titleBlockCss,
|
|
120
126
|
size: _constants.SmartLinkSize.Large,
|
|
121
|
-
position: _constants.SmartLinkPosition.Center
|
|
127
|
+
position: _constants.SmartLinkPosition.Center,
|
|
128
|
+
subtitle: subtitle
|
|
122
129
|
}), /*#__PURE__*/_react.default.createElement(_blocks.MetadataBlock, {
|
|
123
130
|
primary: primary,
|
|
124
131
|
secondary: secondary,
|
|
@@ -13,13 +13,16 @@ var _core = require("@emotion/core");
|
|
|
13
13
|
|
|
14
14
|
var _index = require("../../index");
|
|
15
15
|
|
|
16
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
16
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var blockGap = '0.5rem';
|
|
19
|
+
var elementGap = '0.5rem';
|
|
20
|
+
var separatorCss = (0, _core.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n [data-separator] + [data-separator]:before {\n margin-right: ", ";\n }\n"])), elementGap);
|
|
21
|
+
var HoverCardContainer = (0, _core.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n background: none;\n border-width: 0;\n box-sizing: border-box;\n width: 24rem;\n padding: 1rem;\n\n .", " {\n display: none;\n }\n"])), _index.loadingPlaceholderClassName);
|
|
19
22
|
exports.HoverCardContainer = HoverCardContainer;
|
|
20
|
-
var titleBlockCss = (0, _core.css)(
|
|
23
|
+
var titleBlockCss = (0, _core.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n gap: ", ";\n\n ", "\n\n // title and subtitle element group\n [data-smart-element-group] {\n // gap between title and subtitle\n gap: 0.06rem;\n\n /* subtitle element group */\n > [data-smart-element-group] {\n > span {\n margin-right: ", ";\n }\n }\n }\n"])), blockGap, separatorCss, elementGap);
|
|
21
24
|
exports.titleBlockCss = titleBlockCss;
|
|
22
|
-
var metadataBlockCss = (0, _core.css)(
|
|
25
|
+
var metadataBlockCss = (0, _core.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n gap: 0px;\n\n /* primary element group */\n [data-smart-element-group]:nth-of-type(1) {\n flex-grow: 7;\n\n // a separator between text-based element\n ", "\n\n /* horizontal spacing between elements in group */\n > span {\n margin-right: ", ";\n }\n }\n /* secondary element group */\n [data-smart-element-group]:nth-of-type(2) {\n flex-grow: 3;\n /* horizontal spacing between elements in group */\n > span {\n margin-left: ", ";\n }\n }\n"])), separatorCss, elementGap, elementGap);
|
|
23
26
|
exports.metadataBlockCss = metadataBlockCss;
|
|
24
|
-
var footerBlockCss = (0, _core.css)(
|
|
27
|
+
var footerBlockCss = (0, _core.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n padding-top: 0.25rem;\n"])));
|
|
25
28
|
exports.footerBlockCss = footerBlockCss;
|
|
@@ -12,13 +12,35 @@ exports.HOVER_CARD_ANALYTICS_DISPLAY = HOVER_CARD_ANALYTICS_DISPLAY;
|
|
|
12
12
|
|
|
13
13
|
var getSimulatedMetadata = function getSimulatedMetadata() {
|
|
14
14
|
var extensionKey = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
15
|
+
var types = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
15
16
|
|
|
16
17
|
switch (extensionKey) {
|
|
18
|
+
case 'bitbucket-object-provider':
|
|
19
|
+
case 'native-bitbucket-object-provider':
|
|
20
|
+
if (types.includes('atlassian:SourceCodePullRequest')) {
|
|
21
|
+
return {
|
|
22
|
+
metadata: {
|
|
23
|
+
primary: [_constants.ElementName.AuthorGroup, _constants.ElementName.ModifiedOn, _constants.ElementName.SubscriberCount, _constants.ElementName.State],
|
|
24
|
+
secondary: [],
|
|
25
|
+
subtitle: [_constants.ElementName.SourceBranch, _constants.ElementName.TargetBranch]
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return {
|
|
31
|
+
metadata: {
|
|
32
|
+
primary: [_constants.ElementName.ModifiedOn, _constants.ElementName.CreatedBy],
|
|
33
|
+
secondary: [],
|
|
34
|
+
subtitle: []
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
|
|
17
38
|
case 'confluence-object-provider':
|
|
18
39
|
return {
|
|
19
40
|
metadata: {
|
|
20
41
|
primary: [_constants.ElementName.AuthorGroup, _constants.ElementName.CreatedBy],
|
|
21
|
-
secondary: [_constants.ElementName.CommentCount, _constants.ElementName.ReactCount]
|
|
42
|
+
secondary: [_constants.ElementName.CommentCount, _constants.ElementName.ReactCount],
|
|
43
|
+
subtitle: []
|
|
22
44
|
}
|
|
23
45
|
};
|
|
24
46
|
|
|
@@ -26,7 +48,8 @@ var getSimulatedMetadata = function getSimulatedMetadata() {
|
|
|
26
48
|
return {
|
|
27
49
|
metadata: {
|
|
28
50
|
primary: [_constants.ElementName.AuthorGroup, _constants.ElementName.State, _constants.ElementName.Priority],
|
|
29
|
-
secondary: []
|
|
51
|
+
secondary: [],
|
|
52
|
+
subtitle: []
|
|
30
53
|
}
|
|
31
54
|
};
|
|
32
55
|
|
|
@@ -34,7 +57,8 @@ var getSimulatedMetadata = function getSimulatedMetadata() {
|
|
|
34
57
|
return {
|
|
35
58
|
metadata: {
|
|
36
59
|
primary: [_constants.ElementName.ModifiedOn, _constants.ElementName.CreatedBy],
|
|
37
|
-
secondary: []
|
|
60
|
+
secondary: [],
|
|
61
|
+
subtitle: []
|
|
38
62
|
}
|
|
39
63
|
};
|
|
40
64
|
}
|
package/dist/es2019/constants.js
CHANGED
|
@@ -83,7 +83,7 @@ export let SmartLinkWidth;
|
|
|
83
83
|
* When adding an element...
|
|
84
84
|
* 1) Create base element if it doesn't already exist.
|
|
85
85
|
* Base element are inside src/view/FlexibleCard/components/elements.
|
|
86
|
-
* E.g. Badge,DateTime, Icon, Lozenge, etc.
|
|
86
|
+
* E.g. Badge, DateTime, Icon, Lozenge, etc.
|
|
87
87
|
* 2) Update FlexibleUiContext with the new prop for data representing
|
|
88
88
|
* the element, preferably with the same name as the element itself.
|
|
89
89
|
* (src/state/flexible-ui-context/types.ts)
|
|
@@ -120,8 +120,10 @@ export let ElementName;
|
|
|
120
120
|
ElementName["Provider"] = "Provider";
|
|
121
121
|
ElementName["ReactCount"] = "ReactCount";
|
|
122
122
|
ElementName["Snippet"] = "Snippet";
|
|
123
|
+
ElementName["SourceBranch"] = "SourceBranch";
|
|
123
124
|
ElementName["State"] = "State";
|
|
124
125
|
ElementName["SubscriberCount"] = "SubscriberCount";
|
|
126
|
+
ElementName["TargetBranch"] = "TargetBranch";
|
|
125
127
|
ElementName["Title"] = "Title";
|
|
126
128
|
ElementName["ViewCount"] = "ViewCount";
|
|
127
129
|
ElementName["VoteCount"] = "VoteCount";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { extractLink, extractSummary, extractTitle } from '../common/primitives';
|
|
2
2
|
import { extractLozenge } from '../common/lozenge';
|
|
3
3
|
import { extractLinkIcon } from './icon';
|
|
4
|
-
import { extractCommentCount, extractCreatedBy, extractModifiedBy, extractProgrammingLanguage, extractSubscriberCount, extractViewCount, extractReactCount, extractVoteCount } from './utils';
|
|
4
|
+
import { extractCommentCount, extractCreatedBy, extractModifiedBy, extractProgrammingLanguage, extractSubscriberCount, extractViewCount, extractReactCount, extractVoteCount, extractSourceBranch, extractTargetBranch } from './utils';
|
|
5
5
|
import { extractPersonCreatedBy } from '../common/person';
|
|
6
6
|
import { extractPersonsUpdatedBy } from './collaboratorGroup';
|
|
7
7
|
import { extractDateUpdated } from '../common/date/extractDateUpdated';
|
|
@@ -27,19 +27,21 @@ const extractFlexibleUiContext = (response, renderers) => {
|
|
|
27
27
|
voteCount: extractVoteCount(data),
|
|
28
28
|
createdBy: extractCreatedBy(data),
|
|
29
29
|
createdOn: extractDateCreated(data),
|
|
30
|
+
latestCommit: extractLatestCommit(data),
|
|
30
31
|
linkIcon: extractLinkIcon(response, renderers),
|
|
31
32
|
modifiedBy: extractModifiedBy(data),
|
|
32
33
|
modifiedOn: extractDateUpdated(data),
|
|
33
34
|
preview: extractPreview(data),
|
|
34
35
|
priority: extractPriority(data),
|
|
36
|
+
provider: extractProviderIcon(data),
|
|
35
37
|
programmingLanguage: extractProgrammingLanguage(data),
|
|
36
38
|
snippet: extractSummary(data) || undefined,
|
|
37
39
|
// Explicitly set here to remove an empty string
|
|
40
|
+
sourceBranch: extractSourceBranch(data),
|
|
38
41
|
state: extractLozenge(data),
|
|
39
42
|
subscriberCount: extractSubscriberCount(data),
|
|
43
|
+
targetBranch: extractTargetBranch(data),
|
|
40
44
|
title: extractTitle(data) || url,
|
|
41
|
-
provider: extractProviderIcon(data),
|
|
42
|
-
latestCommit: extractLatestCommit(data),
|
|
43
45
|
url
|
|
44
46
|
};
|
|
45
47
|
};
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { extractPersonCreatedBy, extractPersonUpdatedBy } from '../common/person';
|
|
2
2
|
|
|
3
|
+
const extractLinkName = link => {
|
|
4
|
+
if (link && typeof link === 'object' && link['@type'] === 'Link') {
|
|
5
|
+
return link.name;
|
|
6
|
+
}
|
|
7
|
+
};
|
|
8
|
+
|
|
3
9
|
const extractValue = (data, key) => {
|
|
4
10
|
return data === null || data === void 0 ? void 0 : data[key];
|
|
5
11
|
};
|
|
@@ -23,4 +29,6 @@ export const extractModifiedBy = data => {
|
|
|
23
29
|
}
|
|
24
30
|
};
|
|
25
31
|
export const extractProgrammingLanguage = data => extractValue(data, 'schema:programmingLanguage');
|
|
26
|
-
export const
|
|
32
|
+
export const extractSourceBranch = data => extractLinkName(data['atlassian:mergeSource']);
|
|
33
|
+
export const extractSubscriberCount = data => extractValue(data, 'atlassian:subscriberCount');
|
|
34
|
+
export const extractTargetBranch = data => extractLinkName(data['atlassian:mergeDestination']);
|