@atlaskit/link-datasource 4.3.0 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/cjs/ui/assets-modal/search-container/object-schema-select/index.js +27 -2
  3. package/dist/cjs/ui/common/error-state/loading-error.compiled.css +3 -1
  4. package/dist/cjs/ui/common/error-state/loading-error.js +40 -7
  5. package/dist/cjs/ui/common/error-state/messages.js +17 -2
  6. package/dist/cjs/ui/common/modal/display-view-dropdown/display-view-drop-down.compiled.css +3 -1
  7. package/dist/cjs/ui/common/modal/display-view-dropdown/display-view-drop-down.js +35 -8
  8. package/dist/cjs/ui/common/modal/display-view-dropdown/messages.js +10 -0
  9. package/dist/cjs/ui/common/modal/popup-select/control.js +5 -2
  10. package/dist/cjs/ui/common/modal/site-selector/index.compiled.css +2 -4
  11. package/dist/cjs/ui/common/modal/site-selector/index.js +51 -15
  12. package/dist/cjs/ui/common/modal/site-selector/messages.js +5 -0
  13. package/dist/cjs/ui/datasource-table-view/datasourceTableView.js +7 -3
  14. package/dist/cjs/ui/issue-like-table/column-picker/index.js +1 -1
  15. package/dist/es2019/ui/assets-modal/search-container/object-schema-select/index.js +25 -2
  16. package/dist/es2019/ui/common/error-state/loading-error.compiled.css +3 -1
  17. package/dist/es2019/ui/common/error-state/loading-error.js +35 -8
  18. package/dist/es2019/ui/common/error-state/messages.js +17 -2
  19. package/dist/es2019/ui/common/modal/display-view-dropdown/display-view-drop-down.compiled.css +3 -1
  20. package/dist/es2019/ui/common/modal/display-view-dropdown/display-view-drop-down.js +35 -8
  21. package/dist/es2019/ui/common/modal/display-view-dropdown/messages.js +10 -0
  22. package/dist/es2019/ui/common/modal/popup-select/control.js +5 -2
  23. package/dist/es2019/ui/common/modal/site-selector/index.compiled.css +2 -4
  24. package/dist/es2019/ui/common/modal/site-selector/index.js +40 -7
  25. package/dist/es2019/ui/common/modal/site-selector/messages.js +5 -0
  26. package/dist/es2019/ui/datasource-table-view/datasourceTableView.js +7 -3
  27. package/dist/es2019/ui/issue-like-table/column-picker/index.js +2 -2
  28. package/dist/esm/ui/assets-modal/search-container/object-schema-select/index.js +28 -3
  29. package/dist/esm/ui/common/error-state/loading-error.compiled.css +3 -1
  30. package/dist/esm/ui/common/error-state/loading-error.js +41 -8
  31. package/dist/esm/ui/common/error-state/messages.js +17 -2
  32. package/dist/esm/ui/common/modal/display-view-dropdown/display-view-drop-down.compiled.css +3 -1
  33. package/dist/esm/ui/common/modal/display-view-dropdown/display-view-drop-down.js +35 -8
  34. package/dist/esm/ui/common/modal/display-view-dropdown/messages.js +10 -0
  35. package/dist/esm/ui/common/modal/popup-select/control.js +5 -2
  36. package/dist/esm/ui/common/modal/site-selector/index.compiled.css +2 -4
  37. package/dist/esm/ui/common/modal/site-selector/index.js +51 -15
  38. package/dist/esm/ui/common/modal/site-selector/messages.js +5 -0
  39. package/dist/esm/ui/datasource-table-view/datasourceTableView.js +7 -3
  40. package/dist/esm/ui/issue-like-table/column-picker/index.js +2 -2
  41. package/dist/types/ui/common/error-state/loading-error.d.ts +2 -1
  42. package/dist/types/ui/common/error-state/messages.d.ts +16 -1
  43. package/dist/types/ui/common/modal/display-view-dropdown/messages.d.ts +10 -0
  44. package/dist/types/ui/common/modal/site-selector/messages.d.ts +5 -0
  45. package/dist/types-ts4.5/ui/common/error-state/loading-error.d.ts +2 -1
  46. package/dist/types-ts4.5/ui/common/error-state/messages.d.ts +16 -1
  47. package/dist/types-ts4.5/ui/common/modal/display-view-dropdown/messages.d.ts +10 -0
  48. package/dist/types-ts4.5/ui/common/modal/site-selector/messages.d.ts +5 -0
  49. package/package.json +9 -8
@@ -1,10 +1,12 @@
1
1
  /* loading-error.tsx generated by @compiled/babel-plugin v0.36.1 */
2
+ import _extends from "@babel/runtime/helpers/extends";
2
3
  import "./loading-error.compiled.css";
3
4
  import * as React from 'react';
4
5
  import { ax, ix } from "@compiled/react/runtime";
5
- import { useEffect } from 'react';
6
+ import { Fragment, useEffect } from 'react';
6
7
  import { FormattedMessage } from 'react-intl-next';
7
8
  import Button from '@atlaskit/button/standard-button';
9
+ import AKLink from '@atlaskit/link';
8
10
  import { fg } from '@atlaskit/platform-feature-flags';
9
11
  import { Box, Inline, Text } from '@atlaskit/primitives/compiled';
10
12
  import { fontFallback } from '@atlaskit/theme/typography';
@@ -13,12 +15,16 @@ import { SpotErrorSearch } from '../../../common/ui/spot/error-state/search';
13
15
  import { LoadingErrorSVGOld } from './loading-error-svg-old';
14
16
  import { loadingErrorMessages } from './messages';
15
17
  const styles = {
16
- errorContainerStyles: "_zulppxbi _4cvr1h6o _6a6z1h6o _1wpz1h6o _10fp1h6o _1e0c11p5",
18
+ errorContainerStylesOld: "_zulppxbi _4cvr1h6o _6a6z1h6o _1wpz1h6o _10fp1h6o _1e0c11p5",
19
+ errorContainerStylesNew: "_zulppxbi _4cvr1h6o _6a6z1h6o _1wpz1h6o _10fp1h6o _1e0c11p5 _p12fko4j _y3gn1h6o",
17
20
  errorMessageContainerStyles: "_zulpu2gc _4cvr1h6o _6a6z1h6o _1e0c11p5",
18
21
  errorMessageStyles: "_11c8nbxd"
19
22
  };
23
+ const isConfluenceSearch = url => !!url.match(/https:\/\/.*\/wiki\/search/);
24
+ const isJiraIssuesList = url => !!url.match(/https:\/\/.*\/issues\/?\?jql=/);
20
25
  export const LoadingError = ({
21
- onRefresh
26
+ onRefresh,
27
+ url
22
28
  }) => {
23
29
  const {
24
30
  fireEvent
@@ -28,8 +34,22 @@ export const LoadingError = ({
28
34
  reason: 'network'
29
35
  });
30
36
  }, [fireEvent]);
31
- return /*#__PURE__*/React.createElement(Box, {
32
- xcss: styles.errorContainerStyles,
37
+ let connectionErrorMessage = loadingErrorMessages.checkConnection;
38
+ if (fg('platform-linking-visual-refresh-sllv')) {
39
+ if (url && isConfluenceSearch(url)) {
40
+ connectionErrorMessage = loadingErrorMessages.checkConnectionConfluence;
41
+ }
42
+ if (url && isJiraIssuesList(url)) {
43
+ connectionErrorMessage = loadingErrorMessages.checkConnectionJira;
44
+ }
45
+ }
46
+
47
+ // TODO: Move it to inline when cleaning platform-linking-visual-refresh-sllv
48
+ const FGWrapper = fg('platform-linking-visual-refresh-sllv') ? 'div' : Fragment;
49
+ return /*#__PURE__*/React.createElement(FGWrapper, fg('platform-linking-visual-refresh-sllv') && {
50
+ contentEditable: false
51
+ }, /*#__PURE__*/React.createElement(Box, {
52
+ xcss: fg('platform-linking-visual-refresh-sllv') ? styles.errorContainerStylesNew : styles.errorContainerStylesOld,
33
53
  testId: "datasource--loading-error"
34
54
  }, fg('bandicoots-update-sllv-icons') ? /*#__PURE__*/React.createElement(SpotErrorSearch, {
35
55
  size: 'xlarge',
@@ -39,10 +59,17 @@ export const LoadingError = ({
39
59
  }, /*#__PURE__*/React.createElement(Inline, {
40
60
  as: "span",
41
61
  xcss: styles.errorMessageStyles
42
- }, /*#__PURE__*/React.createElement(FormattedMessage, loadingErrorMessages.unableToLoadItems)), /*#__PURE__*/React.createElement(Text, {
62
+ }, fg('platform-linking-visual-refresh-sllv') ? /*#__PURE__*/React.createElement(FormattedMessage, loadingErrorMessages.unableToLoadResultsVisualRefreshSllv) : /*#__PURE__*/React.createElement(FormattedMessage, loadingErrorMessages.unableToLoadItemsOld)), /*#__PURE__*/React.createElement(Text, {
43
63
  as: "p"
44
- }, /*#__PURE__*/React.createElement(FormattedMessage, loadingErrorMessages.checkConnection)), onRefresh && /*#__PURE__*/React.createElement(Button, {
64
+ }, /*#__PURE__*/React.createElement(FormattedMessage, _extends({}, connectionErrorMessage, fg('platform-linking-visual-refresh-sllv') && {
65
+ values: {
66
+ a: chunks => /*#__PURE__*/React.createElement(AKLink, {
67
+ href: url || '',
68
+ target: "blank"
69
+ }, chunks)
70
+ }
71
+ }))), onRefresh && /*#__PURE__*/React.createElement(Button, {
45
72
  appearance: "primary",
46
73
  onClick: onRefresh
47
- }, /*#__PURE__*/React.createElement(FormattedMessage, loadingErrorMessages.refresh))));
74
+ }, /*#__PURE__*/React.createElement(FormattedMessage, loadingErrorMessages.refresh)))));
48
75
  };
@@ -38,6 +38,16 @@ export const loadingErrorMessages = defineMessages({
38
38
  description: 'Instructions to let the user know how to resolve the network error that occurred or to try again at a different time',
39
39
  defaultMessage: 'Check your connection and refresh, or try again later.'
40
40
  },
41
+ checkConnectionConfluence: {
42
+ id: 'linkDataSource.jira-issues.checkConnection.confluence',
43
+ description: 'Instructions to let the user know how to resolve the network error that occurred or to try again at a different time',
44
+ defaultMessage: 'Check your connection and refresh, or <a>open this search in Confluence</a> to review.'
45
+ },
46
+ checkConnectionJira: {
47
+ id: 'linkDataSource.jira-issues.checkConnection.jira',
48
+ description: 'Instructions to let the user know how to resolve the network error that occurred or to try again at a different time',
49
+ defaultMessage: 'Check your connection and refresh, or <a>open this search in Jira</a> to review. '
50
+ },
41
51
  //delete and remove duplicate from title above
42
52
  checkConnection: {
43
53
  id: 'linkDataSource.jira-issues.checkConnection',
@@ -71,8 +81,8 @@ export const loadingErrorMessages = defineMessages({
71
81
  description: 'Error state message letting the user know we were unable the load the requested list of items',
72
82
  defaultMessage: 'Unable to load items'
73
83
  },
74
- //delete and remove duplicate from title above
75
- unableToLoadItems: {
84
+ // TODO Delete when cleaning platform-linking-visual-refresh-sllv
85
+ unableToLoadItemsOld: {
76
86
  id: 'linkDataSource.jira-issues.unableToLoadItems',
77
87
  description: 'Error state message letting the user know we were unable the load the requested list of items',
78
88
  defaultMessage: 'Unable to load items'
@@ -88,6 +98,11 @@ export const loadingErrorMessages = defineMessages({
88
98
  description: 'Error state message letting the user know we were unable the load the requested list of results',
89
99
  defaultMessage: 'Unable to load results'
90
100
  },
101
+ unableToLoadResultsVisualRefreshSllv: {
102
+ id: 'linkDataSource.jira-issues.unableToLoadResults.visual-refresh-sllv',
103
+ description: 'Error state message letting the user know we were unable the load the requested list of results',
104
+ defaultMessage: 'We ran into an issue trying to fetch results'
105
+ },
91
106
  // delete once EDM-9407 is merged
92
107
  noAccessToJiraSitesTitle: {
93
108
  id: 'linkDataSource.jira-issues.no.jira.sites.access.title',
@@ -1,5 +1,7 @@
1
1
 
2
- ._2rkoglpi{border-radius:var(--ds-border-radius,4px)}._1bsbnklw{width:20pc}
2
+ ._2rkoglpi{border-radius:var(--ds-border-radius,4px)}._1bsb1pna{width:420px}
3
+ ._1bsbnklw{width:20pc}
3
4
  ._4t3i11ux{height:140px}
5
+ ._4t3i7iqz{height:87pt}
4
6
  ._ca0q1b66{padding-top:var(--ds-space-050,4px)}
5
7
  ._n3td1b66{padding-bottom:var(--ds-space-050,4px)}
@@ -2,14 +2,17 @@
2
2
  import "./display-view-drop-down.compiled.css";
3
3
  import { ax, ix } from "@compiled/react/runtime";
4
4
  import React from 'react';
5
+ import { cx } from '@compiled/react';
5
6
  import { FormattedMessage, useIntl } from 'react-intl-next';
6
7
  import DropdownMenu, { DropdownItem, DropdownItemGroup } from '@atlaskit/dropdown-menu';
8
+ import { fg } from '@atlaskit/platform-feature-flags';
7
9
  import { Box } from '@atlaskit/primitives/compiled';
8
10
  import { displayViewDropDownMessages } from './messages';
9
11
  const styles = {
10
- dropDownItemGroupStyles: "_2rkoglpi _1bsbnklw _4t3i11ux _ca0q1b66 _n3td1b66"
12
+ dropDownItemGroupStylesOld: "_2rkoglpi _1bsbnklw _4t3i11ux _ca0q1b66 _n3td1b66",
13
+ dropDownItemGroupStyles: "_2rkoglpi _1bsb1pna _4t3i7iqz"
11
14
  };
12
- const InlineIcon = /*#__PURE__*/React.createElement("svg", {
15
+ const InlineIconOld = /*#__PURE__*/React.createElement("svg", {
13
16
  xmlns: "http://www.w3.org/2000/svg",
14
17
  width: "24",
15
18
  height: "24",
@@ -21,7 +24,19 @@ const InlineIcon = /*#__PURE__*/React.createElement("svg", {
21
24
  d: "M4 9C2.89543 9 2 9.67155 2 10.5V13.5C2 14.3285 2.89543 15 4 15H20C21.1046 15 22 14.3285 22 13.5V10.5C22 9.67155 21.1046 9 20 9H4ZM4.22222 11.25C4.22222 10.5 4.22222 10.5 5 10.5H7C7.55556 10.5 7.55556 10.5 7.55556 11.25V13C7.55556 13.5 7.55556 13.5 7 13.5H5C4.22222 13.5 4.22222 13.5 4.22222 13V11.25ZM9 12C9 11.7929 9.2239 11.625 9.5 11.625H19.5C19.7761 11.625 20 11.7929 20 12C20 12.2071 19.7761 12.375 19.5 12.375H9.5C9.2239 12.375 9 12.2071 9 12Z",
22
25
  fill: 'currentColor'
23
26
  }));
24
- const ListIcon = /*#__PURE__*/React.createElement("svg", {
27
+ const InlineIcon = /*#__PURE__*/React.createElement("svg", {
28
+ xmlns: "http://www.w3.org/2000/svg",
29
+ width: "24",
30
+ height: "24",
31
+ fill: "none",
32
+ viewBox: "0 0 24 24"
33
+ }, /*#__PURE__*/React.createElement("path", {
34
+ fill: "currentColor",
35
+ fillRule: "evenodd",
36
+ d: "M6 10.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2.5v-3H6Zm4 0v3h8a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-8ZM4 11a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-2Z",
37
+ clipRule: "evenodd"
38
+ }));
39
+ const ListIconOld = /*#__PURE__*/React.createElement("svg", {
25
40
  xmlns: "http://www.w3.org/2000/svg",
26
41
  width: "24",
27
42
  height: "24",
@@ -33,6 +48,18 @@ const ListIcon = /*#__PURE__*/React.createElement("svg", {
33
48
  d: "M0 2C0 0.89543 0.895431 0 2 0H13C14.1046 0 15 0.895431 15 2V13C15 14.1046 14.1046 15 13 15H2C0.89543 15 0 14.1046 0 13V2ZM5 6C5 5.44772 5.44772 5 6 5L12 5C12.5523 5 13 5.44772 13 6C13 6.55229 12.5523 7 12 7L6 7C5.44772 7 5 6.55228 5 6ZM6 8C5.44772 8 5 8.44771 5 9C5 9.55228 5.44772 10 6 10L12 10C12.5523 10 13 9.55229 13 9C13 8.44772 12.5523 8 12 8L6 8ZM5 12C5 11.4477 5.44772 11 6 11L12 11C12.5523 11 13 11.4477 13 12C13 12.5523 12.5523 13 12 13L6 13C5.44772 13 5 12.5523 5 12ZM3 7C3.55228 7 4 6.55228 4 6C4 5.44772 3.55228 5 3 5C2.44772 5 2 5.44772 2 6C2 6.55228 2.44772 7 3 7ZM5 3C5 2.44772 5.44772 2 6 2L12 2C12.5523 2 13 2.44772 13 3C13 3.55229 12.5523 4 12 4L6 4C5.44772 4 5 3.55228 5 3ZM3 4C3.55228 4 4 3.55228 4 3C4 2.44772 3.55228 2 3 2C2.44772 2 2 2.44772 2 3C2 3.55228 2.44772 4 3 4ZM4 9C4 9.55229 3.55228 10 3 10C2.44772 10 2 9.55229 2 9C2 8.44771 2.44772 8 3 8C3.55228 8 4 8.44771 4 9ZM3 13C3.55228 13 4 12.5523 4 12C4 11.4477 3.55228 11 3 11C2.44772 11 2 11.4477 2 12C2 12.5523 2.44772 13 3 13Z",
34
49
  fill: 'currentColor'
35
50
  }));
51
+ const ListIcon = /*#__PURE__*/React.createElement("svg", {
52
+ xmlns: "http://www.w3.org/2000/svg",
53
+ width: "24",
54
+ height: "24",
55
+ fill: "none",
56
+ viewBox: "0 0 24 24"
57
+ }, /*#__PURE__*/React.createElement("path", {
58
+ fill: "currentColor",
59
+ fillRule: "evenodd",
60
+ d: "M5 7a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V7Zm2-.5a.5.5 0 0 0-.5.5v10a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5V7a.5.5 0 0 0-.5-.5H7Zm2.5 3H8V8h1.5v1.5Zm6.5 0h-5V8h5v1.5Zm-6.5 3.25H8v-1.5h1.5v1.5Zm6.5 0h-5v-1.5h5v1.5ZM9.5 16H8v-1.5h1.5V16Zm6.5 0h-5v-1.5h5V16Z",
61
+ clipRule: "evenodd"
62
+ }));
36
63
  export const DisplayViewDropDown = ({
37
64
  onViewModeChange,
38
65
  viewMode
@@ -46,18 +73,18 @@ export const DisplayViewDropDown = ({
46
73
  trigger: triggerText,
47
74
  testId: "datasource-modal--view-drop-down"
48
75
  }, /*#__PURE__*/React.createElement(Box, {
49
- xcss: styles.dropDownItemGroupStyles
76
+ xcss: cx(fg('platform-linking-visual-refresh-sllv') ? styles.dropDownItemGroupStyles : styles.dropDownItemGroupStylesOld)
50
77
  }, /*#__PURE__*/React.createElement(DropdownItemGroup, null, /*#__PURE__*/React.createElement(DropdownItem, {
51
78
  testId: "dropdown-item-table",
52
79
  onClick: () => onViewModeChange('table'),
53
80
  isSelected: isTable,
54
- description: formatMessage(displayViewDropDownMessages.viewModeListDescription),
55
- elemBefore: ListIcon
81
+ description: formatMessage(fg('platform-linking-visual-refresh-sllv') ? displayViewDropDownMessages.viewModeListDescription : displayViewDropDownMessages.viewModeListDescriptionOld),
82
+ elemBefore: fg('platform-linking-visual-refresh-sllv') ? ListIcon : ListIconOld
56
83
  }, /*#__PURE__*/React.createElement(FormattedMessage, displayViewDropDownMessages.viewModeListLabel)), /*#__PURE__*/React.createElement(DropdownItem, {
57
84
  testId: "dropdown-item-inline-link",
58
85
  onClick: () => onViewModeChange('inline'),
59
86
  isSelected: !isTable,
60
- description: formatMessage(displayViewDropDownMessages.viewModeInlineLinkDescription),
61
- elemBefore: InlineIcon
87
+ description: formatMessage(fg('platform-linking-visual-refresh-sllv') ? displayViewDropDownMessages.viewModeInlineLinkDescription : displayViewDropDownMessages.viewModeInlineLinkDescriptionOld),
88
+ elemBefore: fg('platform-linking-visual-refresh-sllv') ? InlineIcon : InlineIconOld
62
89
  }, /*#__PURE__*/React.createElement(FormattedMessage, displayViewDropDownMessages.viewModeInlineLinkLabel)))));
63
90
  };
@@ -8,6 +8,11 @@ export const displayViewDropDownMessages = defineMessages({
8
8
  viewModeListDescription: {
9
9
  id: 'linkDataSource.jira-issues.configmodal.viewModeListDescription',
10
10
  description: 'Description for list view mode',
11
+ defaultMessage: 'Display the number of search results as a list'
12
+ },
13
+ viewModeListDescriptionOld: {
14
+ id: 'linkDataSource.jira-issues.configmodal.viewModeListDescriptionOld',
15
+ description: 'Description for list view mode',
11
16
  defaultMessage: 'Display search results as a list'
12
17
  },
13
18
  viewModeInlineLinkLabel: {
@@ -18,6 +23,11 @@ export const displayViewDropDownMessages = defineMessages({
18
23
  viewModeInlineLinkDescription: {
19
24
  id: 'linkDataSource.jira-issues.configmodal.viewModeInlineLinkDescription',
20
25
  description: 'Description for inline link view mode',
26
+ defaultMessage: 'Display the number of search results or as an inline Smart Link'
27
+ },
28
+ viewModeInlineLinkDescriptionOld: {
29
+ id: 'linkDataSource.jira-issues.configmodal.viewModeInlineLinkDescriptionOld',
30
+ description: 'Description for inline link view mode',
21
31
  defaultMessage: 'Display the number of search results as an inline Smart Link'
22
32
  }
23
33
  });
@@ -5,12 +5,15 @@ import { N40 } from '@atlaskit/theme/colors';
5
5
  const popupCustomControlStyles = () => ({
6
6
  display: 'flex',
7
7
  padding: "var(--ds-space-050, 4px)",
8
- borderBottom: `solid 1px ${`var(--ds-border, ${N40})`}`
8
+ border: 'none',
9
+ borderBottom: `solid 1px ${`var(--ds-border, ${N40})`}`,
10
+ minHeight: 'auto'
9
11
  });
10
12
  export const CustomControl = ({
11
13
  children,
12
14
  ...innerProps
13
15
  }) => /*#__PURE__*/React.createElement(components.Control, _extends({}, innerProps, {
14
- getStyles: popupCustomControlStyles
16
+ getStyles: popupCustomControlStyles,
17
+ appearance: "none"
15
18
  }), children);
16
19
  export default CustomControl;
@@ -1,6 +1,4 @@
1
- ._11c82smr{font:var(--ds-font-body,normal 400 14px/20px ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
2
- ._zulpu2gc{gap:var(--ds-space-100,8px)}
3
- ._1e0c1txw{display:flex}
4
- ._1pbyibnn{z-index:11}
1
+
2
+ ._zulpu2gc{gap:var(--ds-space-100,8px)}._1e0c1txw{display:flex}
5
3
  ._1tke1ylp{min-height:40px}
6
4
  ._4cvr1h6o{align-items:center}
@@ -1,16 +1,20 @@
1
1
  /* index.tsx generated by @compiled/babel-plugin v0.36.1 */
2
+ import _extends from "@babel/runtime/helpers/extends";
2
3
  import "./index.compiled.css";
3
4
  import * as React from 'react';
4
5
  import { ax, ix } from "@compiled/react/runtime";
5
6
  import { useMemo } from 'react';
6
7
  import { useIntl } from 'react-intl-next';
8
+ import Button from '@atlaskit/button/new';
9
+ import Heading from '@atlaskit/heading';
10
+ import ChevronDownIcon from '@atlaskit/icon/utility/migration/chevron-down';
11
+ import { fg } from '@atlaskit/platform-feature-flags';
7
12
  import { Box } from '@atlaskit/primitives/compiled';
8
- import Select from '@atlaskit/select';
13
+ import Select, { PopupSelect } from '@atlaskit/select';
9
14
  import { siteSelectorMessages } from './messages';
10
15
  const styles = {
11
16
  dropdownContainerStyles: "_zulpu2gc _1e0c1txw _4cvr1h6o _1tke1ylp"
12
17
  };
13
- const selectStyles = null;
14
18
  export const SiteSelector = props => {
15
19
  const {
16
20
  availableSites,
@@ -38,15 +42,45 @@ export const SiteSelector = props => {
38
42
  };
39
43
  return /*#__PURE__*/React.createElement(Box, {
40
44
  xcss: styles.dropdownContainerStyles
41
- }, formatMessage(label), availableSites && availableSites.length > 1 && /*#__PURE__*/React.createElement("span", {
45
+ }, fg('platform-linking-visual-refresh-sllv') ? /*#__PURE__*/React.createElement(Heading, {
46
+ size: "medium",
47
+ as: "h1"
48
+ }, formatMessage(label)) : formatMessage(label), availableSites && availableSites.length > 1 && /*#__PURE__*/React.createElement("span", {
42
49
  "data-testid": `${testId}--trigger`
43
- }, /*#__PURE__*/React.createElement(Select, {
44
- classNamePrefix: testId,
50
+ }, fg('platform-linking-visual-refresh-sllv') ? /*#__PURE__*/React.createElement(PopupSelect, {
51
+ searchThreshold: 10,
52
+ maxMenuWidth: 300,
53
+ minMenuWidth: 300,
45
54
  isLoading: !availableSites,
55
+ testId: testId,
46
56
  onChange: onChange,
57
+ value: selectedSiteOption,
58
+ label: formatMessage(siteSelectorMessages.chooseSite),
47
59
  options: availableSitesOptions,
48
60
  placeholder: formatMessage(siteSelectorMessages.chooseSite),
61
+ target: ({
62
+ isOpen,
63
+ ...triggerProps
64
+ }) => /*#__PURE__*/React.createElement(Button, _extends({}, triggerProps, {
65
+ isSelected: isOpen,
66
+ iconAfter: ChevronDownIcon,
67
+ testId: `${testId}__control`
68
+ }), (selectedSiteOption === null || selectedSiteOption === void 0 ? void 0 : selectedSiteOption.label) || formatMessage(siteSelectorMessages.chooseSite))
69
+ }) : /*#__PURE__*/React.createElement(Select, {
70
+ classNamePrefix: testId,
71
+ isLoading: !availableSites,
72
+ onChange: onChange,
73
+ options: availableSitesOptions,
74
+ placeholder: formatMessage(siteSelectorMessages.chooseSiteOld)
75
+ // eslint-disable-next-line @atlaskit/design-system/no-unsafe-style-overrides
76
+ ,
49
77
  styles: {
78
+ container: css => ({
79
+ ...css,
80
+ font: "var(--ds-font-body, normal 400 14px/20px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)",
81
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
82
+ zIndex: 11
83
+ }),
50
84
  // prevents the popup menu with available sites from being too narrow
51
85
  // if the selected site is much shorter than the other options
52
86
  menu: ({
@@ -70,7 +104,6 @@ export const SiteSelector = props => {
70
104
  },
71
105
  testId: testId,
72
106
  value: selectedSiteOption,
73
- label: formatMessage(siteSelectorMessages.chooseSite),
74
- className: ax(["_11c82smr _1pbyibnn"])
107
+ label: formatMessage(siteSelectorMessages.chooseSiteOld)
75
108
  })));
76
109
  };
@@ -9,6 +9,11 @@ export const siteSelectorMessages = defineMessages({
9
9
  chooseSite: {
10
10
  id: 'linkDataSource.jira-issues.configmodal.chooseSite',
11
11
  description: 'Label for input letting user know they have to choose a site',
12
+ defaultMessage: 'Select a site'
13
+ },
14
+ chooseSiteOld: {
15
+ id: 'linkDataSource.jira-issues.configmodal.chooseSiteOld',
16
+ description: 'Label for input letting user know they have to choose a site',
12
17
  defaultMessage: 'Choose site'
13
18
  }
14
19
  });
@@ -1,10 +1,12 @@
1
1
  /* datasourceTableView.tsx generated by @compiled/babel-plugin v0.36.1 */
2
+ import _extends from "@babel/runtime/helpers/extends";
2
3
  import "./datasourceTableView.compiled.css";
3
4
  import * as React from 'react';
4
5
  import { ax, ix } from "@compiled/react/runtime";
5
6
  import { useCallback, useEffect, useRef } from 'react';
6
7
  import { withAnalyticsContext } from '@atlaskit/analytics-next';
7
8
  import { IntlMessagesProvider } from '@atlaskit/intl-messages-provider';
9
+ import { fg } from '@atlaskit/platform-feature-flags';
8
10
  import { useDatasourceAnalyticsEvents } from '../../analytics';
9
11
  import { componentMetadata } from '../../analytics/constants';
10
12
  import { startUfoExperience } from '../../analytics/ufoExperiences';
@@ -127,7 +129,7 @@ const DatasourceTableViewWithoutAnalytics = ({
127
129
  });
128
130
  }, [reset]);
129
131
  if (status === 'resolved' && !responseItems.length || status === 'forbidden') {
130
- return /*#__PURE__*/React.createElement(NoResults, {
132
+ return /*#__PURE__*/React.createElement(NoResults, !fg('platform-linking-visual-refresh-sllv') && {
131
133
  onRefresh: handleErrorRefresh
132
134
  });
133
135
  }
@@ -144,9 +146,11 @@ const DatasourceTableViewWithoutAnalytics = ({
144
146
  });
145
147
  }
146
148
  if (status === 'rejected') {
147
- return /*#__PURE__*/React.createElement(LoadingError, {
149
+ return /*#__PURE__*/React.createElement(LoadingError, _extends({
148
150
  onRefresh: handleErrorRefresh
149
- });
151
+ }, fg('platform-linking-visual-refresh-sllv') && {
152
+ url
153
+ }));
150
154
  }
151
155
  return /*#__PURE__*/React.createElement(IntlMessagesProvider, {
152
156
  defaultMessages: i18nEN,
@@ -9,7 +9,7 @@ import CustomizeIcon from '@atlaskit/icon/core/customize';
9
9
  import BoardIcon from '@atlaskit/icon/core/migration/board';
10
10
  import ChevronDownIcon from '@atlaskit/icon/utility/chevron-down';
11
11
  import ChevronDownIconOld from '@atlaskit/icon/utility/migration/chevron-down';
12
- import { fg } from "@atlaskit/platform-feature-flags";
12
+ import { fg } from '@atlaskit/platform-feature-flags';
13
13
  import { Box } from '@atlaskit/primitives/compiled';
14
14
  import { CheckboxOption, createFilter, PopupSelect } from '@atlaskit/select';
15
15
  import Tooltip from '@atlaskit/tooltip';
@@ -133,7 +133,7 @@ export const ColumnPicker = ({
133
133
  }, tooltipProps => /*#__PURE__*/React.createElement(Button, _extends({}, tooltipProps, triggerProps, {
134
134
  isSelected: isOpen,
135
135
  spacing: "compact",
136
- appearance: fg('platform-linking-visual-refresh-sllv') ? "default" : "subtle",
136
+ appearance: fg('platform-linking-visual-refresh-sllv') ? 'default' : 'subtle',
137
137
  testId: "column-picker-trigger-button",
138
138
  iconBefore: () => /*#__PURE__*/React.createElement(Box, {
139
139
  as: "span",
@@ -4,7 +4,8 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
4
  import _extends from "@babel/runtime/helpers/extends";
5
5
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
6
6
  var _excluded = ["as", "style"],
7
- _excluded2 = ["onChange", "onFocus"];
7
+ _excluded2 = ["onChange", "onFocus"],
8
+ _excluded3 = ["isOpen"];
8
9
  import "./index.compiled.css";
9
10
  import { forwardRef } from 'react';
10
11
  import * as React from 'react';
@@ -14,8 +15,11 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
14
15
  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) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
15
16
  import debounce from 'debounce-promise';
16
17
  import { useIntl } from 'react-intl-next';
18
+ import Button from '@atlaskit/button/new';
17
19
  import { Field } from '@atlaskit/form';
18
- import { AsyncSelect } from '@atlaskit/select';
20
+ import ChevronDownIcon from '@atlaskit/icon/utility/migration/chevron-down';
21
+ import { fg } from '@atlaskit/platform-feature-flags';
22
+ import { AsyncSelect, PopupSelect } from '@atlaskit/select';
19
23
  import { layers } from '@atlaskit/theme/constants';
20
24
  import { useObjectSchemas } from '../../../../hooks/useObjectSchemas';
21
25
  import { objectSchemaKey } from '../../../../types/assets/types';
@@ -110,7 +114,28 @@ export var AssetsObjectSchemaSelect = function AssetsObjectSchemaSelect(_ref2) {
110
114
  _onChange = _ref4$fieldProps.onChange,
111
115
  onFocus = _ref4$fieldProps.onFocus,
112
116
  restFieldProps = _objectWithoutProperties(_ref4$fieldProps, _excluded2);
113
- return /*#__PURE__*/React.createElement(AsyncSelect, _extends({
117
+ return fg('platform-linking-visual-refresh-sllv') ? /*#__PURE__*/React.createElement(PopupSelect, _extends({
118
+ autoFocus: true,
119
+ maxMenuWidth: 300,
120
+ minMenuWidth: 300,
121
+ isLoading: objectSchemasLoading,
122
+ options: mapObjectSchemasToOptions(initialObjectSchemas),
123
+ placeholder: formatMessage(objectSchemaSelectMessages.placeholder),
124
+ onChange: function onChange(newOption) {
125
+ return newOption && _onChange(newOption);
126
+ }
127
+ }, restFieldProps, {
128
+ label: formatMessage(objectSchemaSelectMessages.placeholder),
129
+ target: function target(_ref5) {
130
+ var _restFieldProps$value;
131
+ var isOpen = _ref5.isOpen,
132
+ triggerProps = _objectWithoutProperties(_ref5, _excluded3);
133
+ return /*#__PURE__*/React.createElement(Button, _extends({}, triggerProps, {
134
+ isSelected: isOpen,
135
+ iconAfter: ChevronDownIcon
136
+ }), ((_restFieldProps$value = restFieldProps.value) === null || _restFieldProps$value === void 0 ? void 0 : _restFieldProps$value.label) || formatMessage(objectSchemaSelectMessages.placeholder));
137
+ }
138
+ })) : /*#__PURE__*/React.createElement(AsyncSelect, _extends({
114
139
  autoFocus: true,
115
140
  classNamePrefix: classNamePrefix,
116
141
  isLoading: objectSchemasLoading,
@@ -5,4 +5,6 @@
5
5
  ._1e0c11p5{display:grid}
6
6
  ._1wpz1h6o{align-self:center}
7
7
  ._4cvr1h6o{align-items:center}
8
- ._6a6z1h6o{justify-items:center}
8
+ ._6a6z1h6o{justify-items:center}
9
+ ._p12fko4j{max-width:19pc}
10
+ ._y3gn1h6o{text-align:center}
@@ -1,10 +1,12 @@
1
1
  /* loading-error.tsx generated by @compiled/babel-plugin v0.36.1 */
2
+ import _extends from "@babel/runtime/helpers/extends";
2
3
  import "./loading-error.compiled.css";
3
4
  import * as React from 'react';
4
5
  import { ax, ix } from "@compiled/react/runtime";
5
- import { useEffect } from 'react';
6
+ import { Fragment, useEffect } from 'react';
6
7
  import { FormattedMessage } from 'react-intl-next';
7
8
  import Button from '@atlaskit/button/standard-button';
9
+ import AKLink from '@atlaskit/link';
8
10
  import { fg } from '@atlaskit/platform-feature-flags';
9
11
  import { Box, Inline, Text } from '@atlaskit/primitives/compiled';
10
12
  import { fontFallback } from '@atlaskit/theme/typography';
@@ -13,12 +15,20 @@ import { SpotErrorSearch } from '../../../common/ui/spot/error-state/search';
13
15
  import { LoadingErrorSVGOld } from './loading-error-svg-old';
14
16
  import { loadingErrorMessages } from './messages';
15
17
  var styles = {
16
- errorContainerStyles: "_zulppxbi _4cvr1h6o _6a6z1h6o _1wpz1h6o _10fp1h6o _1e0c11p5",
18
+ errorContainerStylesOld: "_zulppxbi _4cvr1h6o _6a6z1h6o _1wpz1h6o _10fp1h6o _1e0c11p5",
19
+ errorContainerStylesNew: "_zulppxbi _4cvr1h6o _6a6z1h6o _1wpz1h6o _10fp1h6o _1e0c11p5 _p12fko4j _y3gn1h6o",
17
20
  errorMessageContainerStyles: "_zulpu2gc _4cvr1h6o _6a6z1h6o _1e0c11p5",
18
21
  errorMessageStyles: "_11c8nbxd"
19
22
  };
23
+ var isConfluenceSearch = function isConfluenceSearch(url) {
24
+ return !!url.match(/https:\/\/.*\/wiki\/search/);
25
+ };
26
+ var isJiraIssuesList = function isJiraIssuesList(url) {
27
+ return !!url.match(/https:\/\/.*\/issues\/?\?jql=/);
28
+ };
20
29
  export var LoadingError = function LoadingError(_ref) {
21
- var onRefresh = _ref.onRefresh;
30
+ var onRefresh = _ref.onRefresh,
31
+ url = _ref.url;
22
32
  var _useDatasourceAnalyti = useDatasourceAnalyticsEvents(),
23
33
  fireEvent = _useDatasourceAnalyti.fireEvent;
24
34
  useEffect(function () {
@@ -26,8 +36,22 @@ export var LoadingError = function LoadingError(_ref) {
26
36
  reason: 'network'
27
37
  });
28
38
  }, [fireEvent]);
29
- return /*#__PURE__*/React.createElement(Box, {
30
- xcss: styles.errorContainerStyles,
39
+ var connectionErrorMessage = loadingErrorMessages.checkConnection;
40
+ if (fg('platform-linking-visual-refresh-sllv')) {
41
+ if (url && isConfluenceSearch(url)) {
42
+ connectionErrorMessage = loadingErrorMessages.checkConnectionConfluence;
43
+ }
44
+ if (url && isJiraIssuesList(url)) {
45
+ connectionErrorMessage = loadingErrorMessages.checkConnectionJira;
46
+ }
47
+ }
48
+
49
+ // TODO: Move it to inline when cleaning platform-linking-visual-refresh-sllv
50
+ var FGWrapper = fg('platform-linking-visual-refresh-sllv') ? 'div' : Fragment;
51
+ return /*#__PURE__*/React.createElement(FGWrapper, fg('platform-linking-visual-refresh-sllv') && {
52
+ contentEditable: false
53
+ }, /*#__PURE__*/React.createElement(Box, {
54
+ xcss: fg('platform-linking-visual-refresh-sllv') ? styles.errorContainerStylesNew : styles.errorContainerStylesOld,
31
55
  testId: "datasource--loading-error"
32
56
  }, fg('bandicoots-update-sllv-icons') ? /*#__PURE__*/React.createElement(SpotErrorSearch, {
33
57
  size: 'xlarge',
@@ -37,10 +61,19 @@ export var LoadingError = function LoadingError(_ref) {
37
61
  }, /*#__PURE__*/React.createElement(Inline, {
38
62
  as: "span",
39
63
  xcss: styles.errorMessageStyles
40
- }, /*#__PURE__*/React.createElement(FormattedMessage, loadingErrorMessages.unableToLoadItems)), /*#__PURE__*/React.createElement(Text, {
64
+ }, fg('platform-linking-visual-refresh-sllv') ? /*#__PURE__*/React.createElement(FormattedMessage, loadingErrorMessages.unableToLoadResultsVisualRefreshSllv) : /*#__PURE__*/React.createElement(FormattedMessage, loadingErrorMessages.unableToLoadItemsOld)), /*#__PURE__*/React.createElement(Text, {
41
65
  as: "p"
42
- }, /*#__PURE__*/React.createElement(FormattedMessage, loadingErrorMessages.checkConnection)), onRefresh && /*#__PURE__*/React.createElement(Button, {
66
+ }, /*#__PURE__*/React.createElement(FormattedMessage, _extends({}, connectionErrorMessage, fg('platform-linking-visual-refresh-sllv') && {
67
+ values: {
68
+ a: function a(chunks) {
69
+ return /*#__PURE__*/React.createElement(AKLink, {
70
+ href: url || '',
71
+ target: "blank"
72
+ }, chunks);
73
+ }
74
+ }
75
+ }))), onRefresh && /*#__PURE__*/React.createElement(Button, {
43
76
  appearance: "primary",
44
77
  onClick: onRefresh
45
- }, /*#__PURE__*/React.createElement(FormattedMessage, loadingErrorMessages.refresh))));
78
+ }, /*#__PURE__*/React.createElement(FormattedMessage, loadingErrorMessages.refresh)))));
46
79
  };
@@ -38,6 +38,16 @@ export var loadingErrorMessages = defineMessages({
38
38
  description: 'Instructions to let the user know how to resolve the network error that occurred or to try again at a different time',
39
39
  defaultMessage: 'Check your connection and refresh, or try again later.'
40
40
  },
41
+ checkConnectionConfluence: {
42
+ id: 'linkDataSource.jira-issues.checkConnection.confluence',
43
+ description: 'Instructions to let the user know how to resolve the network error that occurred or to try again at a different time',
44
+ defaultMessage: 'Check your connection and refresh, or <a>open this search in Confluence</a> to review.'
45
+ },
46
+ checkConnectionJira: {
47
+ id: 'linkDataSource.jira-issues.checkConnection.jira',
48
+ description: 'Instructions to let the user know how to resolve the network error that occurred or to try again at a different time',
49
+ defaultMessage: 'Check your connection and refresh, or <a>open this search in Jira</a> to review. '
50
+ },
41
51
  //delete and remove duplicate from title above
42
52
  checkConnection: {
43
53
  id: 'linkDataSource.jira-issues.checkConnection',
@@ -71,8 +81,8 @@ export var loadingErrorMessages = defineMessages({
71
81
  description: 'Error state message letting the user know we were unable the load the requested list of items',
72
82
  defaultMessage: 'Unable to load items'
73
83
  },
74
- //delete and remove duplicate from title above
75
- unableToLoadItems: {
84
+ // TODO Delete when cleaning platform-linking-visual-refresh-sllv
85
+ unableToLoadItemsOld: {
76
86
  id: 'linkDataSource.jira-issues.unableToLoadItems',
77
87
  description: 'Error state message letting the user know we were unable the load the requested list of items',
78
88
  defaultMessage: 'Unable to load items'
@@ -88,6 +98,11 @@ export var loadingErrorMessages = defineMessages({
88
98
  description: 'Error state message letting the user know we were unable the load the requested list of results',
89
99
  defaultMessage: 'Unable to load results'
90
100
  },
101
+ unableToLoadResultsVisualRefreshSllv: {
102
+ id: 'linkDataSource.jira-issues.unableToLoadResults.visual-refresh-sllv',
103
+ description: 'Error state message letting the user know we were unable the load the requested list of results',
104
+ defaultMessage: 'We ran into an issue trying to fetch results'
105
+ },
91
106
  // delete once EDM-9407 is merged
92
107
  noAccessToJiraSitesTitle: {
93
108
  id: 'linkDataSource.jira-issues.no.jira.sites.access.title',
@@ -1,5 +1,7 @@
1
1
 
2
- ._2rkoglpi{border-radius:var(--ds-border-radius,4px)}._1bsbnklw{width:20pc}
2
+ ._2rkoglpi{border-radius:var(--ds-border-radius,4px)}._1bsb1pna{width:420px}
3
+ ._1bsbnklw{width:20pc}
3
4
  ._4t3i11ux{height:140px}
5
+ ._4t3i7iqz{height:87pt}
4
6
  ._ca0q1b66{padding-top:var(--ds-space-050,4px)}
5
7
  ._n3td1b66{padding-bottom:var(--ds-space-050,4px)}