@jetbrains/ring-ui-built 6.0.30 → 6.0.32

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 (226) hide show
  1. package/components/_helpers/_rollupPluginBabelHelpers.js +7 -629
  2. package/components/_helpers/anchor.js +7 -6
  3. package/components/_helpers/button__classes.js +16 -14
  4. package/components/_helpers/caption.js +14 -20
  5. package/components/_helpers/card.js +95 -105
  6. package/components/_helpers/dialog__body-scroll-preventer.js +11 -19
  7. package/components/_helpers/icon__svg.js +22 -25
  8. package/components/_helpers/input.js +146 -177
  9. package/components/_helpers/query-assist__suggestions.js +74 -90
  10. package/components/_helpers/select__filter.js +48 -69
  11. package/components/_helpers/services-link.js +29 -37
  12. package/components/_helpers/sidebar.js +99 -107
  13. package/components/_helpers/tab-link.js +7 -7
  14. package/components/_helpers/theme.js +31 -40
  15. package/components/_helpers/title.js +57 -72
  16. package/components/alert/alert.js +150 -202
  17. package/components/alert/container.js +32 -41
  18. package/components/alert-service/alert-service.js +105 -170
  19. package/components/analytics/analytics.js +12 -22
  20. package/components/analytics/analytics__custom-plugin.js +54 -75
  21. package/components/auth/auth.js +4 -36
  22. package/components/auth/auth__core.js +746 -1471
  23. package/components/auth/background-flow.js +87 -127
  24. package/components/auth/down-notification.js +30 -73
  25. package/components/auth/iframe-flow.js +75 -133
  26. package/components/auth/request-builder.js +46 -82
  27. package/components/auth/response-parser.js +86 -116
  28. package/components/auth/storage.js +171 -334
  29. package/components/auth/token-validator.js +137 -242
  30. package/components/auth/window-flow.js +92 -134
  31. package/components/auth-dialog/auth-dialog.js +114 -172
  32. package/components/auth-dialog-service/auth-dialog-service.js +8 -31
  33. package/components/avatar/avatar-example-datauri.js +23 -1
  34. package/components/avatar/avatar.js +119 -152
  35. package/components/avatar/fallback-avatar.js +22 -38
  36. package/components/badge/badge.js +35 -45
  37. package/components/button/button.js +86 -107
  38. package/components/button-group/button-group.js +19 -33
  39. package/components/button-set/button-set.js +20 -32
  40. package/components/button-toolbar/button-toolbar.js +19 -31
  41. package/components/caret/caret.js +186 -220
  42. package/components/checkbox/checkbox.js +76 -101
  43. package/components/clipboard/clipboard-fallback.js +10 -10
  44. package/components/clipboard/clipboard.js +35 -132
  45. package/components/code/code.js +92 -166
  46. package/components/collapse/collapse-content.js +42 -64
  47. package/components/collapse/collapse-context.js +2 -2
  48. package/components/collapse/collapse-control.js +12 -14
  49. package/components/collapse/collapse.js +11 -17
  50. package/components/collapse/consts.js +4 -4
  51. package/components/collapse/utils.js +1 -3
  52. package/components/confirm/confirm.js +66 -104
  53. package/components/confirm-service/confirm-service.js +37 -59
  54. package/components/content-layout/content-layout.js +43 -64
  55. package/components/content-layout/sidebar.js +0 -1
  56. package/components/contenteditable/contenteditable.js +50 -59
  57. package/components/control-label/control-label.js +9 -9
  58. package/components/data-list/data-list.js +129 -182
  59. package/components/data-list/data-list.mock.js +2 -6
  60. package/components/data-list/item.js +143 -170
  61. package/components/data-list/selection.js +76 -136
  62. package/components/data-list/title.js +1 -12
  63. package/components/date-picker/consts.js +19 -26
  64. package/components/date-picker/date-input.js +113 -144
  65. package/components/date-picker/date-picker.js +227 -282
  66. package/components/date-picker/date-popup.js +350 -395
  67. package/components/date-picker/day.js +87 -116
  68. package/components/date-picker/month-names.js +43 -66
  69. package/components/date-picker/month-slider.js +51 -76
  70. package/components/date-picker/month.js +16 -25
  71. package/components/date-picker/months.js +43 -50
  72. package/components/date-picker/weekdays.js +12 -22
  73. package/components/date-picker/years.js +83 -110
  74. package/components/dialog/dialog.js +142 -190
  75. package/components/dialog/dialog__body-scroll-preventer.js +0 -4
  76. package/components/dropdown/anchor.js +0 -9
  77. package/components/dropdown/dropdown.js +182 -213
  78. package/components/dropdown-menu/dropdown-menu.js +71 -97
  79. package/components/editable-heading/editable-heading.js +75 -127
  80. package/components/error-bubble/error-bubble.js +31 -60
  81. package/components/error-message/error-message.js +39 -59
  82. package/components/footer/footer.js +27 -30
  83. package/components/global/compose.js +1 -10
  84. package/components/global/composeRefs.js +7 -12
  85. package/components/global/controls-height.js +2 -2
  86. package/components/global/create-stateful-context.js +15 -15
  87. package/components/global/data-tests.js +6 -14
  88. package/components/global/dom.js +47 -86
  89. package/components/global/focus-sensor-hoc.js +122 -132
  90. package/components/global/fuzzy-highlight.js +22 -36
  91. package/components/global/get-event-key.js +8 -8
  92. package/components/global/get-uid.js +4 -8
  93. package/components/global/inject-styles.js +10 -15
  94. package/components/global/listeners.js +27 -51
  95. package/components/global/memoize.js +6 -12
  96. package/components/global/normalize-indent.js +19 -50
  97. package/components/global/promise-with-timeout.js +6 -8
  98. package/components/global/prop-types.js +3 -5
  99. package/components/global/react-dom-renderer.js +28 -44
  100. package/components/global/react-render-adapter.js +1 -1
  101. package/components/global/rerender-hoc.js +12 -30
  102. package/components/global/schedule-raf.js +5 -6
  103. package/components/global/sniffer.js +1 -1
  104. package/components/global/theme.js +0 -22
  105. package/components/global/trivial-template-tag.js +3 -10
  106. package/components/global/typescript-utils.js +2 -6
  107. package/components/global/url.js +20 -26
  108. package/components/global/use-event-callback.js +6 -4
  109. package/components/grid/col.js +35 -52
  110. package/components/grid/grid.js +17 -31
  111. package/components/grid/row.js +35 -47
  112. package/components/group/group.js +17 -25
  113. package/components/header/header.js +33 -78
  114. package/components/header/logo.js +20 -36
  115. package/components/header/profile.js +166 -199
  116. package/components/header/services-link.js +0 -4
  117. package/components/header/services.js +73 -116
  118. package/components/header/smart-profile.js +111 -203
  119. package/components/header/smart-services.js +62 -113
  120. package/components/header/tray-icon.js +21 -37
  121. package/components/header/tray.js +21 -32
  122. package/components/heading/heading.js +24 -25
  123. package/components/http/http.d.ts +1 -3
  124. package/components/http/http.js +203 -353
  125. package/components/http/http.mock.js +49 -101
  126. package/components/hub-source/hub-source.js +83 -190
  127. package/components/hub-source/hub-source__user.js +11 -44
  128. package/components/hub-source/hub-source__users-groups.js +37 -65
  129. package/components/i18n/i18n-context.js +7 -10
  130. package/components/i18n/i18n.js +7 -10
  131. package/components/icon/icon.js +76 -93
  132. package/components/icon/icon__svg.js +0 -8
  133. package/components/icon/index.js +0 -8
  134. package/components/input/input.js +0 -13
  135. package/components/island/adaptive-island-hoc.js +30 -43
  136. package/components/island/content.js +115 -132
  137. package/components/island/header.js +57 -70
  138. package/components/island/island.js +28 -40
  139. package/components/island-legacy/content-legacy.js +17 -25
  140. package/components/island-legacy/header-legacy.js +19 -27
  141. package/components/island-legacy/island-legacy.js +17 -25
  142. package/components/link/clickableLink.js +44 -59
  143. package/components/link/link.js +57 -68
  144. package/components/list/consts.js +2 -2
  145. package/components/list/list.js +611 -698
  146. package/components/list/list__custom.js +44 -62
  147. package/components/list/list__hint.js +10 -19
  148. package/components/list/list__item.js +133 -174
  149. package/components/list/list__link.js +37 -50
  150. package/components/list/list__separator.js +14 -24
  151. package/components/list/list__title.js +22 -32
  152. package/components/list/list__users-groups-source.js +54 -126
  153. package/components/loader/loader.js +43 -74
  154. package/components/loader/loader__core.js +198 -263
  155. package/components/loader-inline/loader-inline.js +23 -35
  156. package/components/loader-screen/loader-screen.js +25 -46
  157. package/components/login-dialog/login-dialog.js +111 -158
  158. package/components/login-dialog/service.js +8 -34
  159. package/components/markdown/markdown.js +15 -23
  160. package/components/message/message.js +161 -203
  161. package/components/old-browsers-message/old-browsers-message.js +11 -18
  162. package/components/old-browsers-message/old-browsers-message__stop.js +0 -7
  163. package/components/old-browsers-message/white-list.js +8 -16
  164. package/components/pager/pager.js +212 -271
  165. package/components/panel/panel.js +17 -25
  166. package/components/permissions/permissions.js +127 -172
  167. package/components/permissions/permissions__cache.js +194 -224
  168. package/components/popup/popup.consts.js +1 -1
  169. package/components/popup/popup.js +284 -343
  170. package/components/popup/popup.target.js +9 -8
  171. package/components/popup/position.js +96 -106
  172. package/components/popup-menu/popup-menu.js +44 -80
  173. package/components/progress-bar/progress-bar.js +87 -104
  174. package/components/query-assist/query-assist.js +838 -916
  175. package/components/query-assist/query-assist__suggestions.js +1 -30
  176. package/components/radio/radio.js +19 -34
  177. package/components/radio/radio__item.js +52 -69
  178. package/components/select/select.js +852 -957
  179. package/components/select/select__filter.js +0 -30
  180. package/components/select/select__popup.js +373 -487
  181. package/components/shortcuts/core.js +166 -217
  182. package/components/shortcuts/shortcut-title.js +6 -11
  183. package/components/shortcuts/shortcuts-hoc.js +19 -45
  184. package/components/shortcuts/shortcuts.js +50 -75
  185. package/components/slider/slider.js +99 -122
  186. package/components/slider/slider.utils.js +14 -24
  187. package/components/storage/storage.js +4 -33
  188. package/components/storage/storage__fallback.js +149 -224
  189. package/components/storage/storage__local.js +90 -153
  190. package/components/style.css +1 -1
  191. package/components/tab-trap/tab-trap.js +122 -153
  192. package/components/table/cell.js +14 -26
  193. package/components/table/disable-hover-hoc.js +33 -51
  194. package/components/table/header-cell.js +64 -89
  195. package/components/table/header.js +104 -132
  196. package/components/table/multitable.js +107 -125
  197. package/components/table/row-with-focus-sensor.js +25 -69
  198. package/components/table/row.js +175 -216
  199. package/components/table/selection-adapter.js +1 -3
  200. package/components/table/selection-shortcuts-hoc.js +180 -181
  201. package/components/table/selection.js +156 -226
  202. package/components/table/smart-table.js +50 -88
  203. package/components/table/table.js +289 -358
  204. package/components/tabs/collapsible-more.js +46 -79
  205. package/components/tabs/collapsible-tab.js +31 -38
  206. package/components/tabs/collapsible-tabs.js +88 -153
  207. package/components/tabs/custom-item.js +4 -2
  208. package/components/tabs/dumb-tabs.js +74 -117
  209. package/components/tabs/smart-tabs.js +29 -69
  210. package/components/tabs/tab-link.js +1 -5
  211. package/components/tabs/tab.js +19 -31
  212. package/components/tabs/tabs.js +0 -31
  213. package/components/tag/tag.js +133 -173
  214. package/components/tags-input/tags-input.js +329 -427
  215. package/components/tags-list/tags-list.js +57 -78
  216. package/components/text/text.js +28 -39
  217. package/components/toggle/toggle.js +56 -70
  218. package/components/tooltip/tooltip.js +146 -190
  219. package/components/user-agreement/service.js +228 -371
  220. package/components/user-agreement/toolbox.eula.js +160 -1
  221. package/components/user-agreement/user-agreement.js +85 -120
  222. package/components/user-card/card.js +0 -29
  223. package/components/user-card/smart-user-card-tooltip.js +51 -111
  224. package/components/user-card/tooltip.js +47 -84
  225. package/components/user-card/user-card.js +0 -29
  226. package/package.json +1 -1
@@ -1,111 +1,59 @@
1
- import { a as _inherits, b as _createClass, k as _toConsumableArray, d as _objectSpread2, l as _createForOfIteratorHelper, f as _classCallCheck, g as _callSuper, _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
2
- import 'core-js/modules/es.array.concat.js';
3
- import 'core-js/modules/es.array.filter.js';
4
- import 'core-js/modules/es.array.index-of.js';
5
- import 'core-js/modules/es.array.iterator.js';
6
- import 'core-js/modules/es.map.js';
7
- import 'core-js/modules/es.object.to-string.js';
8
- import 'core-js/modules/es.promise.js';
9
- import 'core-js/modules/es.regexp.constructor.js';
10
- import 'core-js/modules/es.regexp.exec.js';
11
- import 'core-js/modules/es.regexp.to-string.js';
12
- import 'core-js/modules/web.dom-collections.iterator.js';
13
1
  import HTTP from './http.js';
14
- import 'core-js/modules/es.object.entries.js';
15
- import 'core-js/modules/es.reflect.delete-property.js';
16
- import 'core-js/modules/es.weak-map.js';
17
- import 'core-js/modules/web.dom-collections.for-each.js';
18
2
  import 'es6-error';
19
3
  import '../global/url.js';
20
- import 'core-js/modules/es.string.match.js';
21
- import 'core-js/modules/es.string.replace.js';
22
4
 
23
- var authMock = {
24
- requestToken: function requestToken() {
25
- return 'mock token';
26
- },
27
- shouldRefreshToken: function shouldRefreshToken() {
28
- return false;
29
- },
30
- forceTokenUpdate: function forceTokenUpdate() {
31
- return Promise.resolve(null);
32
- }
5
+ const authMock = {
6
+ requestToken: () => 'mock token',
7
+ shouldRefreshToken: () => false,
8
+ forceTokenUpdate: () => Promise.resolve(null)
33
9
  };
34
- var HTTPMock = /*#__PURE__*/function (_HTTP) {
35
- function HTTPMock() {
36
- var _this;
37
- _classCallCheck(this, HTTPMock);
38
- _this = _callSuper(this, HTTPMock, [authMock]);
39
- _defineProperty(_this, "defaultResponse", void 0);
40
- _defineProperty(_this, "requests", void 0);
41
- _defineProperty(_this, "responsesByUrlMap", void 0);
42
- _this.defaultResponse = null;
43
- _this.requests = [];
44
- _this.responsesByUrlMap = new Map();
45
- return _this;
10
+ class HTTPMock extends HTTP {
11
+ defaultResponse;
12
+ requests;
13
+ responsesByUrlMap;
14
+ constructor() {
15
+ super(authMock);
16
+ this.defaultResponse = null;
17
+ this.requests = [];
18
+ this.responsesByUrlMap = new Map();
46
19
  }
47
- _inherits(HTTPMock, _HTTP);
48
- return _createClass(HTTPMock, [{
49
- key: "_fetch",
50
- value: function _fetch(url, params) {
51
- var _this2 = this;
52
- this.requests = [].concat(_toConsumableArray(this.requests), [{
53
- url,
54
- params: _objectSpread2(_objectSpread2({}, params), {}, {
55
- body: typeof params.body === 'string' ? JSON.parse(params.body) : params.body
56
- })
57
- }]);
58
- return {
59
- status: 200,
60
- headers: new Headers({
61
- 'content-type': 'application/json'
62
- }),
63
- json: function json() {
64
- return Promise.resolve(_this2._getResponseForUrl(url) || _this2.defaultResponse);
65
- }
66
- };
67
- }
68
- }, {
69
- key: "respondDefault",
70
- value: function respondDefault(response) {
71
- this.defaultResponse = response;
72
- }
73
- }, {
74
- key: "respondForUrl",
75
- value: function respondForUrl(url, response) {
76
- this.responsesByUrlMap.set(url, response);
77
- }
78
- }, {
79
- key: "_getResponseForUrl",
80
- value: function _getResponseForUrl(urlToMatch) {
81
- var urls = this.responsesByUrlMap.keys();
82
- var _iterator = _createForOfIteratorHelper(urls),
83
- _step;
84
- try {
85
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
86
- var url = _step.value;
87
- if (url === urlToMatch) {
88
- return this.responsesByUrlMap.get(url);
89
- }
90
- if (url instanceof RegExp && url.test(urlToMatch)) {
91
- return this.responsesByUrlMap.get(url);
92
- }
93
- }
94
- } catch (err) {
95
- _iterator.e(err);
96
- } finally {
97
- _iterator.f();
20
+ _fetch(url, params) {
21
+ this.requests = [...this.requests, {
22
+ url,
23
+ params: {
24
+ ...params,
25
+ body: typeof params.body === 'string' ? JSON.parse(params.body) : params.body
26
+ }
27
+ }];
28
+ return {
29
+ status: 200,
30
+ headers: new Headers({
31
+ 'content-type': 'application/json'
32
+ }),
33
+ json: () => Promise.resolve(this._getResponseForUrl(url) || this.defaultResponse)
34
+ };
35
+ }
36
+ respondDefault(response) {
37
+ this.defaultResponse = response;
38
+ }
39
+ respondForUrl(url, response) {
40
+ this.responsesByUrlMap.set(url, response);
41
+ }
42
+ _getResponseForUrl(urlToMatch) {
43
+ const urls = this.responsesByUrlMap.keys();
44
+ for (const url of urls) {
45
+ if (url === urlToMatch) {
46
+ return this.responsesByUrlMap.get(url);
47
+ }
48
+ if (url instanceof RegExp && url.test(urlToMatch)) {
49
+ return this.responsesByUrlMap.get(url);
98
50
  }
99
- return null;
100
- }
101
- }, {
102
- key: "getRequestsByUrlPart",
103
- value: function getRequestsByUrlPart(url) {
104
- return this.requests.filter(function (it) {
105
- return it.url.indexOf(url) !== -1;
106
- });
107
51
  }
108
- }]);
109
- }(HTTP);
52
+ return null;
53
+ }
54
+ getRequestsByUrlPart(url) {
55
+ return this.requests.filter(it => it.url.indexOf(url) !== -1);
56
+ }
57
+ }
110
58
 
111
59
  export { HTTPMock as default };
@@ -1,17 +1,7 @@
1
- import { _ as _defineProperty, b as _createClass, f as _classCallCheck, h as _asyncToGenerator, i as _regeneratorRuntime } from '../_helpers/_rollupPluginBabelHelpers.js';
2
- import 'core-js/modules/es.array.concat.js';
3
- import 'core-js/modules/es.array.filter.js';
4
- import 'core-js/modules/es.array.index-of.js';
5
- import 'core-js/modules/es.array.slice.js';
6
- import 'core-js/modules/es.object.assign.js';
7
- import 'core-js/modules/es.object.to-string.js';
8
-
9
- var defaultOptions = {
1
+ const defaultOptions = {
10
2
  searchMax: 20,
11
3
  searchSideThreshold: 100,
12
- queryFormatter: function queryFormatter(query) {
13
- return "".concat(query, " or ").concat(query, "*");
14
- }
4
+ queryFormatter: query => `${query} or ${query}*`
15
5
  };
16
6
  /**
17
7
  * HubSource is designed to speed up search requests for small installations.
@@ -19,198 +9,101 @@ var defaultOptions = {
19
9
  * of cached results to greatly increase search speed. Useful for completion and
20
10
  * select data source.
21
11
  */
22
- var HubSource = /*#__PURE__*/function () {
23
- function HubSource(auth, relativeUrl, options) {
24
- _classCallCheck(this, HubSource);
25
- _defineProperty(this, "http", void 0);
26
- _defineProperty(this, "relativeUrl", void 0);
27
- _defineProperty(this, "options", void 0);
28
- _defineProperty(this, "storedData", void 0);
29
- _defineProperty(this, "isClientSideSearch", void 0);
30
- _defineProperty(this, "filterFn", void 0);
12
+ class HubSource {
13
+ static TOP_ALL = -1;
14
+ http;
15
+ relativeUrl;
16
+ options;
17
+ storedData;
18
+ isClientSideSearch;
19
+ filterFn;
20
+ constructor(auth, relativeUrl, options) {
31
21
  this.http = auth.http;
32
22
  this.relativeUrl = relativeUrl;
33
23
  this.options = Object.assign({}, defaultOptions, options);
34
24
  this.storedData = null;
35
25
  this.isClientSideSearch = null;
36
- this.filterFn = function () {
37
- return true;
38
- };
26
+ this.filterFn = () => true;
39
27
  }
40
- return _createClass(HubSource, [{
41
- key: "makeRequest",
42
- value: function makeRequest(queryParams) {
43
- return this.http.get(this.relativeUrl, {
44
- query: queryParams
45
- });
46
- }
47
- }, {
48
- key: "makeCachedRequest",
49
- value: function () {
50
- var _makeCachedRequest = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(params) {
51
- var res;
52
- return _regeneratorRuntime().wrap(function _callee$(_context) {
53
- while (1) switch (_context.prev = _context.next) {
54
- case 0:
55
- if (!this.storedData) {
56
- _context.next = 2;
57
- break;
58
- }
59
- return _context.abrupt("return", this.storedData);
60
- case 2:
61
- _context.next = 4;
62
- return this.makeRequest(params);
63
- case 4:
64
- res = _context.sent;
65
- this.storedData = res;
66
- return _context.abrupt("return", res);
67
- case 7:
68
- case "end":
69
- return _context.stop();
70
- }
71
- }, _callee, this);
72
- }));
73
- function makeCachedRequest(_x) {
74
- return _makeCachedRequest.apply(this, arguments);
75
- }
76
- return makeCachedRequest;
77
- }()
78
- }, {
79
- key: "checkIsClientSideSearch",
80
- value: function checkIsClientSideSearch(res) {
81
- return res.total <= this.options.searchSideThreshold;
82
- }
83
- }, {
84
- key: "getDefaultFilterFn",
85
- value: function getDefaultFilterFn(query) {
86
- if (!query) {
87
- return function () {
88
- return true;
89
- };
90
- }
91
- return function (it) {
92
- return it.name.toLowerCase().indexOf(query.toLowerCase()) !== -1;
93
- };
28
+ makeRequest(queryParams) {
29
+ return this.http.get(this.relativeUrl, {
30
+ query: queryParams
31
+ });
32
+ }
33
+ async makeCachedRequest(params) {
34
+ if (this.storedData) {
35
+ return this.storedData;
94
36
  }
95
- }, {
96
- key: "formatQuery",
97
- value: function formatQuery(query) {
98
- return query ? this.options.queryFormatter(query) : '';
37
+ const res = await this.makeRequest(params);
38
+ this.storedData = res;
39
+ return res;
40
+ }
41
+ static mergeParams(params, toMerge) {
42
+ return Object.assign({}, params, toMerge);
43
+ }
44
+ checkIsClientSideSearch(res) {
45
+ return res.total <= this.options.searchSideThreshold;
46
+ }
47
+ getDefaultFilterFn(query) {
48
+ if (!query) {
49
+ return () => true;
99
50
  }
100
- }, {
101
- key: "processResults",
102
- value: function processResults(res) {
103
- var _this = this;
104
- var items = res[this.relativeUrl] || [];
105
- if (this.isClientSideSearch) {
106
- return items.filter(function (it) {
107
- return _this.filterFn(it);
108
- }).slice(0, this.options.searchMax);
109
- }
110
- return items;
51
+ return it => it.name.toLowerCase().indexOf(query.toLowerCase()) !== -1;
52
+ }
53
+ formatQuery(query) {
54
+ return query ? this.options.queryFormatter(query) : '';
55
+ }
56
+ static validateInputParams(params) {
57
+ if (params.top) {
58
+ throw new Error('HubSource: params.top should not be filled, configure "options.searchMax" instead');
111
59
  }
112
- }, {
113
- key: "sideDetectionRequest",
114
- value: function () {
115
- var _sideDetectionRequest = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(params, query) {
116
- var res;
117
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
118
- while (1) switch (_context2.prev = _context2.next) {
119
- case 0:
120
- _context2.next = 2;
121
- return this.makeCachedRequest(HubSource.mergeParams(params, {
122
- $top: this.options.searchSideThreshold
123
- }));
124
- case 2:
125
- res = _context2.sent;
126
- this.isClientSideSearch = this.checkIsClientSideSearch(res);
127
- if (this.isClientSideSearch) {
128
- _context2.next = 6;
129
- break;
130
- }
131
- return _context2.abrupt("return", this.doServerSideSearch(params, query));
132
- case 6:
133
- return _context2.abrupt("return", res);
134
- case 7:
135
- case "end":
136
- return _context2.stop();
137
- }
138
- }, _callee2, this);
139
- }));
140
- function sideDetectionRequest(_x2, _x3) {
141
- return _sideDetectionRequest.apply(this, arguments);
142
- }
143
- return sideDetectionRequest;
144
- }()
145
- }, {
146
- key: "doClientSideSearch",
147
- value: function doClientSideSearch(params) {
148
- return this.makeCachedRequest(HubSource.mergeParams(params, {
149
- $top: this.constructor.TOP_ALL
150
- }));
60
+ if (params.query) {
61
+ throw new Error('HubSource: params.query should not be filled, configure "options.queryFormatter" instead');
151
62
  }
152
- }, {
153
- key: "doServerSideSearch",
154
- value: function doServerSideSearch(params, query) {
155
- return this.makeRequest(HubSource.mergeParams(params, {
156
- query: this.formatQuery(query),
157
- $top: this.options.searchMax
158
- }));
63
+ }
64
+ processResults(res) {
65
+ const items = res[this.relativeUrl] || [];
66
+ if (this.isClientSideSearch) {
67
+ return items.filter(it => this.filterFn(it)).slice(0, this.options.searchMax);
159
68
  }
160
- }, {
161
- key: "getValueFromSuitableSource",
162
- value: function getValueFromSuitableSource(query, params) {
163
- if (this.isClientSideSearch === null) {
164
- return this.sideDetectionRequest(params, query);
165
- }
166
- if (this.isClientSideSearch) {
167
- return this.doClientSideSearch(params);
168
- }
69
+ return items;
70
+ }
71
+ async sideDetectionRequest(params, query) {
72
+ const res = await this.makeCachedRequest(HubSource.mergeParams(params, {
73
+ $top: this.options.searchSideThreshold
74
+ }));
75
+ this.isClientSideSearch = this.checkIsClientSideSearch(res);
76
+ if (!this.isClientSideSearch) {
169
77
  return this.doServerSideSearch(params, query);
170
78
  }
171
- }, {
172
- key: "get",
173
- value: function () {
174
- var _get = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(query, params, filterFn) {
175
- var res;
176
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
177
- while (1) switch (_context3.prev = _context3.next) {
178
- case 0:
179
- HubSource.validateInputParams(params);
180
- this.filterFn = filterFn || this.getDefaultFilterFn(query);
181
- _context3.next = 4;
182
- return this.getValueFromSuitableSource(query, params);
183
- case 4:
184
- res = _context3.sent;
185
- return _context3.abrupt("return", this.processResults(res));
186
- case 6:
187
- case "end":
188
- return _context3.stop();
189
- }
190
- }, _callee3, this);
191
- }));
192
- function get(_x4, _x5, _x6) {
193
- return _get.apply(this, arguments);
194
- }
195
- return get;
196
- }()
197
- }], [{
198
- key: "mergeParams",
199
- value: function mergeParams(params, toMerge) {
200
- return Object.assign({}, params, toMerge);
79
+ return res;
80
+ }
81
+ doClientSideSearch(params) {
82
+ return this.makeCachedRequest(HubSource.mergeParams(params, {
83
+ $top: this.constructor.TOP_ALL
84
+ }));
85
+ }
86
+ doServerSideSearch(params, query) {
87
+ return this.makeRequest(HubSource.mergeParams(params, {
88
+ query: this.formatQuery(query),
89
+ $top: this.options.searchMax
90
+ }));
91
+ }
92
+ getValueFromSuitableSource(query, params) {
93
+ if (this.isClientSideSearch === null) {
94
+ return this.sideDetectionRequest(params, query);
201
95
  }
202
- }, {
203
- key: "validateInputParams",
204
- value: function validateInputParams(params) {
205
- if (params.top) {
206
- throw new Error('HubSource: params.top should not be filled, configure "options.searchMax" instead');
207
- }
208
- if (params.query) {
209
- throw new Error('HubSource: params.query should not be filled, configure "options.queryFormatter" instead');
210
- }
96
+ if (this.isClientSideSearch) {
97
+ return this.doClientSideSearch(params);
211
98
  }
212
- }]);
213
- }();
214
- _defineProperty(HubSource, "TOP_ALL", -1);
99
+ return this.doServerSideSearch(params, query);
100
+ }
101
+ async get(query, params, filterFn) {
102
+ HubSource.validateInputParams(params);
103
+ this.filterFn = filterFn || this.getDefaultFilterFn(query);
104
+ const res = await this.getValueFromSuitableSource(query, params);
105
+ return this.processResults(res);
106
+ }
107
+ }
215
108
 
216
109
  export { HubSource as default };
@@ -1,60 +1,27 @@
1
- import { h as _asyncToGenerator, i as _regeneratorRuntime } from '../_helpers/_rollupPluginBabelHelpers.js';
2
- import 'core-js/modules/es.array.concat.js';
3
1
  import HTTP from '../http/http.js';
4
- import 'core-js/modules/es.array.index-of.js';
5
- import 'core-js/modules/es.array.iterator.js';
6
- import 'core-js/modules/es.object.entries.js';
7
- import 'core-js/modules/es.object.to-string.js';
8
- import 'core-js/modules/es.promise.js';
9
- import 'core-js/modules/es.reflect.delete-property.js';
10
- import 'core-js/modules/es.weak-map.js';
11
- import 'core-js/modules/web.dom-collections.for-each.js';
12
- import 'core-js/modules/web.dom-collections.iterator.js';
13
2
  import 'es6-error';
14
3
  import '../global/url.js';
15
- import 'core-js/modules/es.regexp.exec.js';
16
- import 'core-js/modules/es.string.match.js';
17
- import 'core-js/modules/es.string.replace.js';
18
4
 
19
- var DEFAULT_FIELDS = 'id,name,login,banned,banReason,profile(email/email,avatar/url)';
5
+ const DEFAULT_FIELDS = 'id,name,login,banned,banReason,profile(email/email,avatar/url)';
20
6
  function convertUserForCard(hubUser) {
21
- var _hubUser$profile, _hubUser$profile2;
22
- var serverUri = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
7
+ let serverUri = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
23
8
  return {
24
9
  name: hubUser.name,
25
10
  login: hubUser.login,
26
11
  banned: hubUser.banned,
27
12
  banReason: hubUser.banReason,
28
- email: (_hubUser$profile = hubUser.profile) === null || _hubUser$profile === void 0 || (_hubUser$profile = _hubUser$profile.email) === null || _hubUser$profile === void 0 ? void 0 : _hubUser$profile.email,
29
- avatarUrl: (_hubUser$profile2 = hubUser.profile) === null || _hubUser$profile2 === void 0 || (_hubUser$profile2 = _hubUser$profile2.avatar) === null || _hubUser$profile2 === void 0 ? void 0 : _hubUser$profile2.url,
30
- href: "".concat(serverUri, "users/").concat(hubUser.id)
13
+ email: hubUser.profile?.email?.email,
14
+ avatarUrl: hubUser.profile?.avatar?.url,
15
+ href: `${serverUri}users/${hubUser.id}`
31
16
  };
32
17
  }
33
18
  function createHubUserCardSource(auth, userId) {
34
- var fields = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_FIELDS;
35
- var http = new HTTP(auth);
36
- return /*#__PURE__*/function () {
37
- var _getHubUser = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
38
- var hubUser;
39
- return _regeneratorRuntime().wrap(function _callee$(_context) {
40
- while (1) switch (_context.prev = _context.next) {
41
- case 0:
42
- _context.next = 2;
43
- return http.get("".concat(auth.config.serverUri, "api/rest/users/").concat(userId, "?fields=").concat(fields));
44
- case 2:
45
- hubUser = _context.sent;
46
- return _context.abrupt("return", convertUserForCard(hubUser, auth.config.serverUri));
47
- case 4:
48
- case "end":
49
- return _context.stop();
50
- }
51
- }, _callee);
52
- }));
53
- function getHubUser() {
54
- return _getHubUser.apply(this, arguments);
55
- }
56
- return getHubUser;
57
- }();
19
+ let fields = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_FIELDS;
20
+ const http = new HTTP(auth);
21
+ return async function getHubUser() {
22
+ const hubUser = await http.get(`${auth.config.serverUri}api/rest/users/${userId}?fields=${fields}`);
23
+ return convertUserForCard(hubUser, auth.config.serverUri);
24
+ };
58
25
  }
59
26
 
60
27
  export { convertUserForCard, createHubUserCardSource };
@@ -1,85 +1,57 @@
1
- import { b as _createClass, f as _classCallCheck, _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
2
- import 'core-js/modules/es.array.concat.js';
3
- import 'core-js/modules/es.array.index-of.js';
4
- import 'core-js/modules/es.array.iterator.js';
5
- import 'core-js/modules/es.object.assign.js';
6
- import 'core-js/modules/es.object.to-string.js';
7
- import 'core-js/modules/es.promise.js';
8
- import 'core-js/modules/web.dom-collections.iterator.js';
9
1
  import HubSource from './hub-source.js';
10
- import 'core-js/modules/es.array.filter.js';
11
- import 'core-js/modules/es.array.slice.js';
12
2
 
13
- var defaultOptions = {
3
+ const defaultOptions = {
14
4
  searchMax: 20,
15
5
  searchSideThreshold: 200
16
6
  };
17
- var HubSourceUsersGroups = /*#__PURE__*/function () {
18
- function HubSourceUsersGroups(auth, options) {
19
- _classCallCheck(this, HubSourceUsersGroups);
20
- _defineProperty(this, "auth", void 0);
21
- _defineProperty(this, "options", void 0);
22
- _defineProperty(this, "usersSource", void 0);
23
- _defineProperty(this, "groupsSource", void 0);
7
+ class HubSourceUsersGroups {
8
+ auth;
9
+ options;
10
+ usersSource;
11
+ groupsSource;
12
+ constructor(auth, options) {
24
13
  this.auth = auth;
25
14
  this.options = Object.assign({}, defaultOptions, options);
26
15
  this.usersSource = new HubSource(auth, 'users', {
27
16
  searchMax: this.options.searchMax,
28
17
  searchSideThreshold: this.options.searchSideThreshold,
29
- queryFormatter: function queryFormatter(query) {
30
- return "nameStartsWith: ".concat(HubSourceUsersGroups.wrapMultiwordQuery(query), " or loginStartsWith: ").concat(HubSourceUsersGroups.wrapMultiwordQuery(query));
31
- }
18
+ queryFormatter: query => `nameStartsWith: ${HubSourceUsersGroups.wrapMultiwordQuery(query)} or loginStartsWith: ${HubSourceUsersGroups.wrapMultiwordQuery(query)}`
32
19
  });
33
20
  this.groupsSource = new HubSource(auth, 'usergroups', {
34
21
  searchMax: this.options.searchMax,
35
22
  searchSideThreshold: this.options.searchSideThreshold
36
23
  });
37
24
  }
38
- return _createClass(HubSourceUsersGroups, [{
39
- key: "createUsersFilterFn",
40
- value: function createUsersFilterFn(query) {
41
- if (!query) {
42
- return function () {
43
- return true;
44
- };
45
- }
46
- var normalizedQuery = query.toLowerCase();
47
- return function (it) {
48
- return it.name.toLowerCase().indexOf(normalizedQuery) !== -1 || it.login.toLowerCase().indexOf(normalizedQuery) !== -1;
49
- };
25
+ static wrapMultiwordQuery(query) {
26
+ if (query && query.indexOf(' ') !== -1) {
27
+ return `{${query}}`;
50
28
  }
51
- }, {
52
- key: "getUsers",
53
- value: function getUsers() {
54
- var query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
55
- return this.usersSource.get(query, {
56
- fields: 'id,name,login,total,profile/avatar/url',
57
- orderBy: 'name'
58
- }, this.createUsersFilterFn(query));
59
- }
60
- }, {
61
- key: "getGroups",
62
- value: function getGroups() {
63
- var query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
64
- return this.groupsSource.get(query, {
65
- fields: 'id,name,total,userCount,iconUrl',
66
- orderBy: 'name'
67
- });
68
- }
69
- }, {
70
- key: "getUserAndGroups",
71
- value: function getUserAndGroups(query) {
72
- return Promise.all([this.getUsers(query), this.getGroups(query)]);
73
- }
74
- }], [{
75
- key: "wrapMultiwordQuery",
76
- value: function wrapMultiwordQuery(query) {
77
- if (query && query.indexOf(' ') !== -1) {
78
- return "{".concat(query, "}");
79
- }
80
- return query;
29
+ return query;
30
+ }
31
+ createUsersFilterFn(query) {
32
+ if (!query) {
33
+ return () => true;
81
34
  }
82
- }]);
83
- }();
35
+ const normalizedQuery = query.toLowerCase();
36
+ return it => it.name.toLowerCase().indexOf(normalizedQuery) !== -1 || it.login.toLowerCase().indexOf(normalizedQuery) !== -1;
37
+ }
38
+ getUsers() {
39
+ let query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
40
+ return this.usersSource.get(query, {
41
+ fields: 'id,name,login,total,profile/avatar/url',
42
+ orderBy: 'name'
43
+ }, this.createUsersFilterFn(query));
44
+ }
45
+ getGroups() {
46
+ let query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
47
+ return this.groupsSource.get(query, {
48
+ fields: 'id,name,total,userCount,iconUrl',
49
+ orderBy: 'name'
50
+ });
51
+ }
52
+ getUserAndGroups(query) {
53
+ return Promise.all([this.getUsers(query), this.getGroups(query)]);
54
+ }
55
+ }
84
56
 
85
57
  export { HubSourceUsersGroups as default };