@jetbrains/ring-ui-built 6.0.32 → 6.0.34
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/components/_helpers/_rollupPluginBabelHelpers.js +567 -1
- package/components/_helpers/anchor.js +6 -7
- package/components/_helpers/button__classes.js +14 -16
- package/components/_helpers/caption.js +20 -14
- package/components/_helpers/card.js +105 -95
- package/components/_helpers/dialog__body-scroll-preventer.js +19 -11
- package/components/_helpers/icon__svg.js +25 -22
- package/components/_helpers/input.js +176 -146
- package/components/_helpers/query-assist__suggestions.js +90 -74
- package/components/_helpers/select__filter.js +69 -48
- package/components/_helpers/services-link.js +37 -29
- package/components/_helpers/sidebar.js +107 -99
- package/components/_helpers/tab-link.js +7 -7
- package/components/_helpers/theme.js +40 -31
- package/components/_helpers/title.js +72 -57
- package/components/alert/alert.js +202 -150
- package/components/alert/container.js +41 -32
- package/components/alert-service/alert-service.js +170 -105
- package/components/analytics/analytics.js +22 -12
- package/components/analytics/analytics__custom-plugin.js +75 -54
- package/components/auth/auth.js +36 -4
- package/components/auth/auth__core.js +1471 -746
- package/components/auth/background-flow.js +127 -87
- package/components/auth/down-notification.js +73 -30
- package/components/auth/iframe-flow.js +133 -75
- package/components/auth/request-builder.js +82 -46
- package/components/auth/response-parser.js +116 -86
- package/components/auth/storage.js +334 -171
- package/components/auth/token-validator.js +242 -137
- package/components/auth/window-flow.js +134 -92
- package/components/auth-dialog/auth-dialog.js +172 -114
- package/components/auth-dialog-service/auth-dialog-service.js +31 -8
- package/components/avatar/avatar-example-datauri.js +1 -23
- package/components/avatar/avatar.js +152 -119
- package/components/avatar/fallback-avatar.js +38 -22
- package/components/badge/badge.js +45 -35
- package/components/button/button.js +107 -86
- package/components/button-group/button-group.js +33 -19
- package/components/button-set/button-set.js +32 -20
- package/components/button-toolbar/button-toolbar.js +31 -19
- package/components/caret/caret.js +220 -186
- package/components/checkbox/checkbox.js +101 -76
- package/components/clipboard/clipboard-fallback.js +10 -10
- package/components/clipboard/clipboard.js +132 -35
- package/components/code/code.js +166 -92
- package/components/collapse/collapse-content.js +64 -42
- package/components/collapse/collapse-context.js +2 -2
- package/components/collapse/collapse-control.js +14 -12
- package/components/collapse/collapse.js +17 -11
- package/components/collapse/consts.js +4 -4
- package/components/collapse/utils.js +3 -1
- package/components/confirm/confirm.js +104 -66
- package/components/confirm-service/confirm-service.js +59 -37
- package/components/content-layout/content-layout.js +64 -43
- package/components/content-layout/sidebar.js +1 -0
- package/components/contenteditable/contenteditable.js +59 -50
- package/components/control-label/control-label.js +9 -9
- package/components/data-list/data-list.js +182 -129
- package/components/data-list/data-list.mock.js +6 -2
- package/components/data-list/item.js +170 -143
- package/components/data-list/selection.js +136 -76
- package/components/data-list/title.js +12 -1
- package/components/date-picker/consts.js +26 -19
- package/components/date-picker/date-input.js +144 -113
- package/components/date-picker/date-picker.js +282 -227
- package/components/date-picker/date-popup.js +395 -350
- package/components/date-picker/day.js +116 -87
- package/components/date-picker/month-names.js +66 -43
- package/components/date-picker/month-slider.js +76 -51
- package/components/date-picker/month.js +25 -16
- package/components/date-picker/months.js +50 -43
- package/components/date-picker/weekdays.js +22 -12
- package/components/date-picker/years.js +110 -83
- package/components/dialog/dialog.js +190 -142
- package/components/dialog/dialog__body-scroll-preventer.js +4 -0
- package/components/dropdown/anchor.js +9 -0
- package/components/dropdown/dropdown.js +213 -182
- package/components/dropdown-menu/dropdown-menu.js +97 -71
- package/components/editable-heading/editable-heading.js +127 -75
- package/components/error-bubble/error-bubble.js +60 -31
- package/components/error-message/error-message.js +59 -39
- package/components/footer/footer.js +30 -27
- package/components/global/compose.js +10 -1
- package/components/global/composeRefs.js +12 -7
- package/components/global/controls-height.js +2 -2
- package/components/global/create-stateful-context.js +15 -15
- package/components/global/data-tests.js +14 -6
- package/components/global/dom.js +86 -47
- package/components/global/focus-sensor-hoc.js +132 -122
- package/components/global/fuzzy-highlight.js +36 -22
- package/components/global/get-event-key.js +8 -8
- package/components/global/get-uid.js +8 -4
- package/components/global/inject-styles.js +15 -10
- package/components/global/listeners.js +51 -27
- package/components/global/memoize.js +12 -6
- package/components/global/normalize-indent.js +50 -19
- package/components/global/promise-with-timeout.js +8 -6
- package/components/global/prop-types.js +5 -3
- package/components/global/react-dom-renderer.js +44 -28
- package/components/global/react-render-adapter.js +1 -1
- package/components/global/rerender-hoc.js +30 -12
- package/components/global/schedule-raf.js +6 -5
- package/components/global/sniffer.js +1 -1
- package/components/global/theme.js +22 -0
- package/components/global/trivial-template-tag.js +10 -3
- package/components/global/typescript-utils.js +6 -2
- package/components/global/url.js +26 -20
- package/components/global/use-event-callback.js +4 -6
- package/components/grid/col.js +52 -35
- package/components/grid/grid.js +31 -17
- package/components/grid/row.js +47 -35
- package/components/group/group.js +25 -17
- package/components/header/header.js +78 -33
- package/components/header/logo.js +36 -20
- package/components/header/profile.js +199 -166
- package/components/header/services-link.js +4 -0
- package/components/header/services.js +116 -73
- package/components/header/smart-profile.js +203 -111
- package/components/header/smart-services.js +113 -62
- package/components/header/tray-icon.js +37 -21
- package/components/header/tray.js +32 -21
- package/components/heading/heading.js +25 -24
- package/components/http/http.d.ts +1 -2
- package/components/http/http.js +345 -203
- package/components/http/http.mock.d.ts +1 -5
- package/components/http/http.mock.js +101 -49
- package/components/hub-source/hub-source.js +190 -83
- package/components/hub-source/hub-source__user.js +44 -11
- package/components/hub-source/hub-source__users-groups.js +65 -37
- package/components/i18n/i18n-context.js +10 -7
- package/components/i18n/i18n.js +10 -7
- package/components/icon/icon.js +93 -76
- package/components/icon/icon__svg.js +8 -0
- package/components/icon/index.js +8 -0
- package/components/input/input.js +13 -0
- package/components/island/adaptive-island-hoc.js +43 -30
- package/components/island/content.js +132 -115
- package/components/island/header.js +70 -57
- package/components/island/island.js +40 -28
- package/components/island-legacy/content-legacy.js +25 -17
- package/components/island-legacy/header-legacy.js +27 -19
- package/components/island-legacy/island-legacy.js +25 -17
- package/components/link/clickableLink.js +59 -44
- package/components/link/link.js +68 -57
- package/components/list/consts.js +2 -2
- package/components/list/list.js +698 -611
- package/components/list/list__custom.js +62 -44
- package/components/list/list__hint.js +19 -10
- package/components/list/list__item.js +174 -133
- package/components/list/list__link.js +50 -37
- package/components/list/list__separator.js +24 -14
- package/components/list/list__title.js +32 -22
- package/components/list/list__users-groups-source.js +126 -54
- package/components/loader/loader.js +74 -43
- package/components/loader/loader__core.js +263 -198
- package/components/loader-inline/loader-inline.js +35 -23
- package/components/loader-screen/loader-screen.js +46 -25
- package/components/login-dialog/login-dialog.js +158 -111
- package/components/login-dialog/service.js +34 -8
- package/components/markdown/markdown.js +23 -15
- package/components/message/message.js +203 -161
- package/components/old-browsers-message/old-browsers-message.js +18 -11
- package/components/old-browsers-message/old-browsers-message__stop.js +7 -0
- package/components/old-browsers-message/white-list.js +17 -9
- package/components/pager/pager.js +271 -212
- package/components/panel/panel.js +25 -17
- package/components/permissions/permissions.js +172 -127
- package/components/permissions/permissions__cache.js +224 -194
- package/components/popup/popup.consts.js +1 -1
- package/components/popup/popup.js +343 -284
- package/components/popup/popup.target.js +8 -9
- package/components/popup/position.js +106 -96
- package/components/popup-menu/popup-menu.js +81 -44
- package/components/progress-bar/progress-bar.js +104 -87
- package/components/query-assist/query-assist.js +916 -838
- package/components/query-assist/query-assist__suggestions.js +30 -1
- package/components/radio/radio.js +34 -19
- package/components/radio/radio__item.js +69 -52
- package/components/select/select.js +957 -852
- package/components/select/select__filter.js +30 -0
- package/components/select/select__popup.js +487 -373
- package/components/shortcuts/core.js +217 -166
- package/components/shortcuts/shortcut-title.js +11 -6
- package/components/shortcuts/shortcuts-hoc.js +45 -19
- package/components/shortcuts/shortcuts.js +75 -50
- package/components/slider/slider.js +122 -99
- package/components/slider/slider.utils.js +24 -14
- package/components/storage/storage.js +33 -4
- package/components/storage/storage__fallback.js +224 -149
- package/components/storage/storage__local.js +153 -90
- package/components/tab-trap/tab-trap.js +153 -122
- package/components/table/cell.js +26 -14
- package/components/table/disable-hover-hoc.js +51 -33
- package/components/table/header-cell.js +89 -64
- package/components/table/header.js +132 -104
- package/components/table/multitable.js +125 -107
- package/components/table/row-with-focus-sensor.js +69 -25
- package/components/table/row.js +216 -175
- package/components/table/selection-adapter.js +3 -1
- package/components/table/selection-shortcuts-hoc.js +181 -180
- package/components/table/selection.js +226 -156
- package/components/table/smart-table.js +88 -50
- package/components/table/table.js +358 -289
- package/components/tabs/collapsible-more.js +79 -46
- package/components/tabs/collapsible-tab.js +38 -31
- package/components/tabs/collapsible-tabs.js +153 -88
- package/components/tabs/custom-item.js +2 -4
- package/components/tabs/dumb-tabs.js +117 -74
- package/components/tabs/smart-tabs.js +69 -29
- package/components/tabs/tab-link.js +5 -1
- package/components/tabs/tab.js +31 -19
- package/components/tabs/tabs.js +31 -0
- package/components/tag/tag.js +173 -133
- package/components/tags-input/tags-input.js +427 -329
- package/components/tags-list/tags-list.js +78 -57
- package/components/text/text.js +39 -28
- package/components/toggle/toggle.js +70 -56
- package/components/tooltip/tooltip.js +190 -146
- package/components/user-agreement/service.js +371 -228
- package/components/user-agreement/toolbox.eula.js +1 -160
- package/components/user-agreement/user-agreement.js +120 -85
- package/components/user-card/card.js +29 -0
- package/components/user-card/smart-user-card-tooltip.js +111 -51
- package/components/user-card/tooltip.js +84 -47
- package/components/user-card/user-card.js +29 -0
- package/package.json +1 -2
@@ -1,9 +1,15 @@
|
|
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.map.js';
|
3
|
+
import 'core-js/modules/es.object.assign.js';
|
1
4
|
import uuid from 'simply-uuid';
|
2
5
|
import { encodeURL } from '../global/url.js';
|
6
|
+
import 'core-js/modules/es.array.concat.js';
|
7
|
+
import 'core-js/modules/es.array.index-of.js';
|
8
|
+
import 'core-js/modules/es.regexp.exec.js';
|
9
|
+
import 'core-js/modules/es.string.match.js';
|
10
|
+
import 'core-js/modules/es.string.replace.js';
|
3
11
|
|
4
|
-
|
5
|
-
config;
|
6
|
-
storage;
|
12
|
+
var AuthRequestBuilder = /*#__PURE__*/function () {
|
7
13
|
/**
|
8
14
|
* @param {{
|
9
15
|
* authorization: string,
|
@@ -14,54 +20,84 @@ class AuthRequestBuilder {
|
|
14
20
|
* }} config
|
15
21
|
* @param {AuthStorage} storage
|
16
22
|
*/
|
17
|
-
|
23
|
+
function AuthRequestBuilder(config, storage) {
|
24
|
+
_classCallCheck(this, AuthRequestBuilder);
|
25
|
+
_defineProperty(this, "config", void 0);
|
26
|
+
_defineProperty(this, "storage", void 0);
|
18
27
|
this.config = config;
|
19
28
|
this.storage = storage;
|
20
29
|
}
|
21
30
|
/**
|
22
31
|
* @return {string} random string used for state
|
23
32
|
*/
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
}
|
33
|
+
return _createClass(AuthRequestBuilder, [{
|
34
|
+
key: "prepareAuthRequest",
|
35
|
+
value: (
|
36
|
+
/**
|
37
|
+
* Save state and build an auth server redirect URL.
|
38
|
+
*
|
39
|
+
* @param {object=} extraParams additional query parameters for auth request
|
40
|
+
* @param {object=} extraState additional state parameters to save
|
41
|
+
* @return {Promise.<string>} promise that is resolved to authURL
|
42
|
+
*/
|
43
|
+
function () {
|
44
|
+
var _prepareAuthRequest = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(extraParams, extraState) {
|
45
|
+
var stateId, scopes, request, authURL, state;
|
46
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
47
|
+
while (1) switch (_context.prev = _context.next) {
|
48
|
+
case 0:
|
49
|
+
stateId = AuthRequestBuilder._uuid();
|
50
|
+
scopes = this.config.scopes.map(function (scope) {
|
51
|
+
return encodeURIComponent(scope);
|
52
|
+
});
|
53
|
+
/* eslint-disable camelcase */
|
54
|
+
request = Object.assign({
|
55
|
+
response_type: 'token',
|
56
|
+
state: stateId,
|
57
|
+
redirect_uri: this.config.redirectUri,
|
58
|
+
request_credentials: this.config.requestCredentials,
|
59
|
+
client_id: this.config.clientId,
|
60
|
+
scope: scopes.join(' ')
|
61
|
+
}, extraParams || {});
|
62
|
+
/* eslint-enable camelcase */
|
63
|
+
authURL = encodeURL(this.config.authorization, request);
|
64
|
+
state = Object.assign({
|
65
|
+
restoreLocation: window.location.href,
|
66
|
+
scopes: this.config.scopes
|
67
|
+
}, extraState || {});
|
68
|
+
_context.next = 7;
|
69
|
+
return this._saveState(stateId, state);
|
70
|
+
case 7:
|
71
|
+
return _context.abrupt("return", {
|
72
|
+
url: authURL,
|
73
|
+
stateId
|
74
|
+
});
|
75
|
+
case 8:
|
76
|
+
case "end":
|
77
|
+
return _context.stop();
|
78
|
+
}
|
79
|
+
}, _callee, this);
|
80
|
+
}));
|
81
|
+
function prepareAuthRequest(_x, _x2) {
|
82
|
+
return _prepareAuthRequest.apply(this, arguments);
|
83
|
+
}
|
84
|
+
return prepareAuthRequest;
|
85
|
+
}()
|
86
|
+
/**
|
87
|
+
* @param {string} id
|
88
|
+
* @param {StoredState} storedState
|
89
|
+
* @return {Promise}
|
90
|
+
* @private
|
91
|
+
*/
|
92
|
+
)
|
93
|
+
}, {
|
94
|
+
key: "_saveState",
|
95
|
+
value: function _saveState(id, storedState) {
|
96
|
+
var _this$storage;
|
97
|
+
return (_this$storage = this.storage) === null || _this$storage === void 0 ? void 0 : _this$storage.saveState(id, storedState);
|
98
|
+
}
|
99
|
+
}]);
|
100
|
+
}();
|
101
|
+
_defineProperty(AuthRequestBuilder, "_uuid", uuid.generate);
|
66
102
|
|
67
103
|
export { AuthRequestBuilder as default };
|
@@ -1,19 +1,33 @@
|
|
1
|
+
import { _ as _defineProperty, a as _inherits, b as _createClass, d as _objectSpread2, f as _classCallCheck, g as _callSuper } from '../_helpers/_rollupPluginBabelHelpers.js';
|
2
|
+
import 'core-js/modules/es.array.index-of.js';
|
3
|
+
import 'core-js/modules/es.object.to-string.js';
|
4
|
+
import 'core-js/modules/es.regexp.exec.js';
|
5
|
+
import 'core-js/modules/es.regexp.to-string.js';
|
6
|
+
import 'core-js/modules/es.string.replace.js';
|
7
|
+
import 'core-js/modules/web.dom-collections.for-each.js';
|
1
8
|
import ExtendableError from 'es6-error';
|
2
9
|
import { parseQueryString } from '../global/url.js';
|
10
|
+
import 'core-js/modules/es.array.concat.js';
|
11
|
+
import 'core-js/modules/es.string.match.js';
|
3
12
|
|
4
|
-
|
5
|
-
code;
|
6
|
-
uri;
|
7
|
-
stateId;
|
13
|
+
var AuthError = /*#__PURE__*/function (_ExtendableError) {
|
8
14
|
// Supports weird IE 11 failing test issue
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
this
|
13
|
-
|
14
|
-
|
15
|
+
function AuthError() {
|
16
|
+
var _this;
|
17
|
+
var authResponse = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
18
|
+
_classCallCheck(this, AuthError);
|
19
|
+
_this = _callSuper(this, AuthError, [authResponse.errorDescription]);
|
20
|
+
_defineProperty(_this, "code", void 0);
|
21
|
+
_defineProperty(_this, "uri", void 0);
|
22
|
+
_defineProperty(_this, "stateId", void 0);
|
23
|
+
_this.code = authResponse.error;
|
24
|
+
_this.uri = authResponse.errorUri;
|
25
|
+
_this.stateId = authResponse.state;
|
26
|
+
return _this;
|
15
27
|
}
|
16
|
-
|
28
|
+
_inherits(AuthError, _ExtendableError);
|
29
|
+
return _createClass(AuthError);
|
30
|
+
}(ExtendableError);
|
17
31
|
/**
|
18
32
|
* @typedef {Object} AuthResponse
|
19
33
|
* @property {?string} accessToken
|
@@ -23,84 +37,100 @@ class AuthError extends ExtendableError {
|
|
23
37
|
* @property {?string} scope
|
24
38
|
* @property {?string} error
|
25
39
|
*/
|
26
|
-
|
27
|
-
|
28
|
-
|
40
|
+
var AuthResponseParser = /*#__PURE__*/function () {
|
41
|
+
function AuthResponseParser() {
|
42
|
+
_classCallCheck(this, AuthResponseParser);
|
43
|
+
_defineProperty(this, "_authResponse", void 0);
|
29
44
|
this._authResponse = this.readAuthResponseFromURL();
|
30
45
|
}
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
return this.validateAuthResponse(this._authResponse);
|
45
|
-
}
|
46
|
-
/**
|
47
|
-
* Validates given authResponse.
|
48
|
-
* If it contains a token - returns the token, if an error is found - throws the error,
|
49
|
-
* otherwise - null
|
50
|
-
* Always clears the hash part of the URL.
|
51
|
-
*
|
52
|
-
* @param authResponse {AuthResponse} parsed authResponse
|
53
|
-
* @throws {Error} if the auth server returned an error
|
54
|
-
* @return {?AuthResponse}
|
55
|
-
*/
|
56
|
-
validateAuthResponse(authResponse) {
|
57
|
-
// Check for errors
|
58
|
-
if (authResponse.error) {
|
59
|
-
throw new AuthResponseParser.AuthError(authResponse);
|
46
|
+
return _createClass(AuthResponseParser, [{
|
47
|
+
key: "getAuthResponseFromURL",
|
48
|
+
value:
|
49
|
+
/**
|
50
|
+
* Check if the hash contains an access token.
|
51
|
+
* If it does, return auth response. Otherwise return undefined.
|
52
|
+
* Always clears the hash part of the URL.
|
53
|
+
*
|
54
|
+
* @throws {Error} if the auth server returned an error
|
55
|
+
* @return {?AuthResponse}
|
56
|
+
*/
|
57
|
+
function getAuthResponseFromURL() {
|
58
|
+
return this.validateAuthResponse(this._authResponse);
|
60
59
|
}
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
const authResponse = {};
|
78
|
-
const rawAuthResponse = parseQueryString(this.getHash());
|
79
|
-
Object.keys(rawAuthResponse).forEach(key => {
|
80
|
-
if (key.indexOf('_') !== -1) {
|
81
|
-
authResponse[AuthResponseParser.convertKey(key)] = rawAuthResponse[key];
|
82
|
-
return;
|
60
|
+
/**
|
61
|
+
* Validates given authResponse.
|
62
|
+
* If it contains a token - returns the token, if an error is found - throws the error,
|
63
|
+
* otherwise - null
|
64
|
+
* Always clears the hash part of the URL.
|
65
|
+
*
|
66
|
+
* @param authResponse {AuthResponse} parsed authResponse
|
67
|
+
* @throws {Error} if the auth server returned an error
|
68
|
+
* @return {?AuthResponse}
|
69
|
+
*/
|
70
|
+
}, {
|
71
|
+
key: "validateAuthResponse",
|
72
|
+
value: function validateAuthResponse(authResponse) {
|
73
|
+
// Check for errors
|
74
|
+
if (authResponse.error) {
|
75
|
+
throw new AuthResponseParser.AuthError(authResponse);
|
83
76
|
}
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
77
|
+
// If there is no token in the hash
|
78
|
+
if (!authResponse.accessToken) {
|
79
|
+
return null;
|
80
|
+
}
|
81
|
+
return _objectSpread2(_objectSpread2({}, authResponse), {}, {
|
82
|
+
accessToken: authResponse.accessToken
|
83
|
+
});
|
84
|
+
}
|
85
|
+
/**
|
86
|
+
* Reads the current accessToken from the URL.
|
87
|
+
* Doesn't modify URL
|
88
|
+
*
|
89
|
+
* @return {AuthResponse}
|
90
|
+
*/
|
91
|
+
}, {
|
92
|
+
key: "readAuthResponseFromURL",
|
93
|
+
value: function readAuthResponseFromURL() {
|
94
|
+
var authResponse = {};
|
95
|
+
var rawAuthResponse = parseQueryString(this.getHash());
|
96
|
+
Object.keys(rawAuthResponse).forEach(function (key) {
|
97
|
+
if (key.indexOf('_') !== -1) {
|
98
|
+
authResponse[AuthResponseParser.convertKey(key)] = rawAuthResponse[key];
|
99
|
+
return;
|
100
|
+
}
|
101
|
+
authResponse[key] = rawAuthResponse[key];
|
102
|
+
});
|
103
|
+
return authResponse;
|
104
|
+
}
|
105
|
+
/**
|
106
|
+
* @return {string} part of the URL after # sign.
|
107
|
+
* @private
|
108
|
+
*/
|
109
|
+
}, {
|
110
|
+
key: "getHash",
|
111
|
+
value: function getHash() {
|
112
|
+
// Because of stupid Firefox bug — https://bugzilla.mozilla.org/show_bug.cgi?id=483304
|
113
|
+
var location = this.getLocation();
|
114
|
+
return location && location.replace(/^[^#]*#?/, '');
|
115
|
+
}
|
116
|
+
/**
|
117
|
+
* Current page location.
|
118
|
+
* @return {string}
|
119
|
+
*/
|
120
|
+
}, {
|
121
|
+
key: "getLocation",
|
122
|
+
value: function getLocation() {
|
123
|
+
return window.location.toString();
|
124
|
+
}
|
125
|
+
}], [{
|
126
|
+
key: "convertKey",
|
127
|
+
value: function convertKey(key) {
|
128
|
+
return key.replace(/_([a-z])/g, function (_, letter) {
|
129
|
+
return letter.toUpperCase();
|
130
|
+
});
|
131
|
+
}
|
132
|
+
}]);
|
133
|
+
}();
|
134
|
+
_defineProperty(AuthResponseParser, "AuthError", AuthError);
|
105
135
|
|
106
136
|
export { AuthError, AuthResponseParser as default };
|