studiokit-scaffolding-js 7.0.12-next.1.3 → 7.0.12-next.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/ActionList.js +164 -37
- package/lib/components/AlertDialog.js +128 -12
- package/lib/components/AlertWithIcon.js +88 -29
- package/lib/components/ConnectedModal.js +35 -12
- package/lib/components/Dropdowns/GroupsDropdown.js +63 -45
- package/lib/components/Dropdowns/ManagedNavDropdown.js +92 -67
- package/lib/components/Dropdowns/UserDropdown.js +105 -24
- package/lib/components/Dropdowns/index.js +4 -10
- package/lib/components/EntityOwnerList.js +47 -21
- package/lib/components/Error.js +101 -12
- package/lib/components/ErrorBoundary.js +127 -38
- package/lib/components/ErrorMessage.js +39 -12
- package/lib/components/Forms/DateField.js +56 -45
- package/lib/components/Forms/TimeField.js +76 -45
- package/lib/components/Forms/index.js +3 -5
- package/lib/components/Groups/CreateEditCopySaveButtons.js +109 -14
- package/lib/components/Groups/ExternalGroups/Attach.js +206 -151
- package/lib/components/Groups/ExternalGroups/Table.js +176 -48
- package/lib/components/Groups/GroupCreateOrEditCommonProps.js +2 -2
- package/lib/components/Groups/RosterSyncInfo.js +142 -23
- package/lib/components/HOC/AccessibleAppComponent.js +88 -72
- package/lib/components/HOC/ActivityRequiredComponent.js +68 -33
- package/lib/components/HOC/AsyncComponent.js +49 -41
- package/lib/components/HOC/AuthenticatedComponent.js +55 -44
- package/lib/components/HOC/CollectionComponent.js +154 -104
- package/lib/components/HOC/CollectionFirstItemComponent.js +45 -40
- package/lib/components/HOC/CollectionItemComponent.js +152 -100
- package/lib/components/HOC/ConnectedModalComponent.js +87 -69
- package/lib/components/HOC/DataDependentComponent.js +26 -27
- package/lib/components/HOC/EntityComponent.js +57 -53
- package/lib/components/HOC/FullscreenModalComponent.js +139 -108
- package/lib/components/HOC/GroupActivityRequiredComponent.js +27 -20
- package/lib/components/HOC/GuidComponent.js +20 -20
- package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +32 -29
- package/lib/components/HOC/ModelErrorRedirectComponent.js +37 -39
- package/lib/components/HOC/SearchPersistorComponent.js +237 -173
- package/lib/components/HOC/UnauthenticatedComponent.js +32 -30
- package/lib/components/HOC/UserComponent.js +6 -8
- package/lib/components/Icons/IconAlphaList.js +28 -8
- package/lib/components/Icons/IconExternalUser.js +28 -8
- package/lib/components/Icons/IconImpersonation.js +28 -8
- package/lib/components/Icons/IconStopImpersonating.js +28 -8
- package/lib/components/Icons/IconTable.js +29 -9
- package/lib/components/Icons/IconTableDeleteCol.js +28 -8
- package/lib/components/Icons/IconTableDeleteRow.js +28 -8
- package/lib/components/Icons/IconTableInsertCol.js +28 -8
- package/lib/components/Icons/IconTableInsertRow.js +28 -8
- package/lib/components/Impersonation/Button.js +71 -16
- package/lib/components/Impersonation/Link.js +72 -16
- package/lib/components/Impersonation/UserDetail.js +60 -11
- package/lib/components/Loading.js +23 -8
- package/lib/components/LockDownBrowser/Check.js +188 -51
- package/lib/components/LockDownBrowser/ExitButton.js +22 -13
- package/lib/components/LockDownBrowser/Launch.js +64 -64
- package/lib/components/Lti/Confirm.js +147 -14
- package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +165 -36
- package/lib/components/Lti/Launch.js +99 -25
- package/lib/components/Lti/LaunchGroup.js +81 -16
- package/lib/components/ManageTable.js +304 -90
- package/lib/components/ManageTableNoDataComponent.js +38 -7
- package/lib/components/NewVersionAlert.js +76 -49
- package/lib/components/NotFound.js +81 -11
- package/lib/components/Notifications.js +179 -129
- package/lib/components/PaginationNextButton.js +28 -9
- package/lib/components/PaginationPreviousButton.js +28 -9
- package/lib/components/Quill/CustomToolbar.js +427 -222
- package/lib/components/Quill/Formats/Image.js +67 -67
- package/lib/components/Quill/Formats/List.js +38 -47
- package/lib/components/Quill/Formats/Video.js +23 -26
- package/lib/components/Quill/ImageDropModule.js +136 -114
- package/lib/components/Quill/ImageWarning.js +41 -12
- package/lib/components/Quill/ImageWithAltTextModal.js +420 -89
- package/lib/components/Quill/Specs/CustomImageSpec.js +32 -31
- package/lib/components/Quill/Specs/CustomVideoSpec.js +22 -23
- package/lib/components/Quill/TableModule/Blots/BaseTableBlot.js +89 -97
- package/lib/components/Quill/TableModule/Blots/TableBlot.js +47 -50
- package/lib/components/Quill/TableModule/Blots/TableBodyBlot.js +48 -51
- package/lib/components/Quill/TableModule/Blots/TableCellBlot.js +219 -224
- package/lib/components/Quill/TableModule/Blots/TableContainer.js +75 -86
- package/lib/components/Quill/TableModule/Blots/TableRowBlot.js +70 -73
- package/lib/components/Quill/TableModule/constants.js +40 -42
- package/lib/components/Quill/TableModule/index.js +357 -305
- package/lib/components/Quill/TableModule/utils.js +39 -48
- package/lib/components/Quill/accessibilityFix.js +219 -223
- package/lib/components/Quill/index.js +30 -33
- package/lib/components/RefreshIndicator/Bordered.js +44 -10
- package/lib/components/RefreshIndicator/Inline.js +43 -12
- package/lib/components/RefreshIndicator/index.js +257 -62
- package/lib/components/SearchControls.js +211 -14
- package/lib/components/SentryRoute.js +5 -7
- package/lib/components/Tables/RoleFilter.js +66 -38
- package/lib/components/Tables/TextFilter.js +58 -18
- package/lib/components/UserRoles/Add.js +193 -99
- package/lib/components/UserRoles/Context.js +3 -6
- package/lib/components/UserRoles/RoleCell.js +176 -75
- package/lib/components/UserRoles/Select.js +151 -20
- package/lib/components/UserRoles/Table.js +215 -82
- package/lib/components/UserRoles/index.js +526 -386
- package/lib/config/eslint/index.js +26 -29
- package/lib/config/eslint/lib/order.js +21 -28
- package/lib/config/eslint/lib/prettier.js +15 -19
- package/lib/config/eslint/lib/typescript.js +87 -113
- package/lib/config/eslint/react.js +18 -15
- package/lib/constants/baseActivity.js +26 -28
- package/lib/constants/baseRole.js +10 -12
- package/lib/constants/configuration.js +43 -55
- package/lib/constants/externalProviderType.js +6 -8
- package/lib/constants/fetchErrorData.js +10 -12
- package/lib/constants/index.js +13 -15
- package/lib/constants/lockDownBrowser.js +23 -25
- package/lib/constants/mockData.js +370 -300
- package/lib/constants/modelStatus.js +11 -13
- package/lib/constants/notificationType.js +8 -10
- package/lib/constants/operatingSystem.js +8 -10
- package/lib/constants/shard.js +7 -9
- package/lib/constants/table.js +18 -22
- package/lib/constants/tier.js +8 -10
- package/lib/constants/userRole.js +11 -8
- package/lib/endpointMappings.js +191 -182
- package/lib/hooks/useCollection.js +79 -65
- package/lib/hooks/useCollectionConfiguration.js +220 -80
- package/lib/hooks/useCollectionItem.js +151 -57
- package/lib/hooks/useGuid.js +16 -9
- package/lib/hooks/usePrevious.js +14 -13
- package/lib/index.js +11 -26
- package/lib/redux/actionCreator.js +44 -35
- package/lib/redux/actions/AuthAction.js +45 -32
- package/lib/redux/actions/ModalAction.js +6 -8
- package/lib/redux/actions/ModelAction.js +95 -43
- package/lib/redux/actions/NotificationAction.js +6 -8
- package/lib/redux/actions/SearchAction.js +5 -7
- package/lib/redux/actions/index.js +6 -8
- package/lib/redux/configureReducers.js +48 -46
- package/lib/redux/configureStore.js +77 -91
- package/lib/redux/helpers.js +2 -5
- package/lib/redux/reducers/authReducer.js +44 -43
- package/lib/redux/reducers/index.js +7 -14
- package/lib/redux/reducers/modalsReducer.js +43 -31
- package/lib/redux/reducers/modelsReducer.js +131 -137
- package/lib/redux/reducers/notificationsReducer.js +20 -20
- package/lib/redux/reducers/searchReducer.js +13 -13
- package/lib/redux/sagas/appInsightsSaga.js +19 -21
- package/lib/redux/sagas/authSaga.js +248 -234
- package/lib/redux/sagas/caliperSaga.js +142 -131
- package/lib/redux/sagas/clockOffsetSaga.js +29 -32
- package/lib/redux/sagas/configurationSaga.js +8 -10
- package/lib/redux/sagas/downtimeApiErrorSaga.js +16 -19
- package/lib/redux/sagas/errorSaga.js +23 -24
- package/lib/redux/sagas/googleAnalyticsSaga.js +24 -27
- package/lib/redux/sagas/identityProviderSaga.js +19 -21
- package/lib/redux/sagas/initialDataLoadSaga.js +34 -31
- package/lib/redux/sagas/lockDownBrowserErrorSaga.js +25 -22
- package/lib/redux/sagas/modelFetchSaga.js +302 -286
- package/lib/redux/sagas/noStoreSaga.js +60 -61
- package/lib/redux/sagas/postLoginDataSaga.js +37 -32
- package/lib/redux/sagas/postLoginRedirectSaga.js +22 -27
- package/lib/redux/sagas/rootSaga.js +77 -60
- package/lib/redux/sagas/sentrySaga.js +25 -28
- package/lib/redux/sagas/userIdSaga.js +13 -15
- package/lib/services/codeProviderService.js +21 -21
- package/lib/services/dateService.js +6 -8
- package/lib/services/documentService.js +10 -11
- package/lib/services/fetchService.js +103 -95
- package/lib/services/persistenceService.js +27 -30
- package/lib/services/ticketProviderService.js +25 -25
- package/lib/services/tokenPersistenceService.js +8 -10
- package/lib/services/windowService.js +14 -16
- package/lib/startup.js +110 -101
- package/lib/types/AppConfiguration.js +2 -2
- package/lib/types/Artifact.js +7 -9
- package/lib/types/BaseReduxState.js +2 -2
- package/lib/types/Client.js +2 -2
- package/lib/types/Collection.js +2 -2
- package/lib/types/Configuration.js +2 -2
- package/lib/types/DeepLinkingResponseRequest.js +2 -2
- package/lib/types/DeletableModel.js +2 -2
- package/lib/types/Event.js +2 -2
- package/lib/types/ExternalGroup.js +2 -2
- package/lib/types/ExternalProvider.js +2 -2
- package/lib/types/ExternalTerm.js +2 -2
- package/lib/types/Group.js +2 -2
- package/lib/types/IdentityProvider.js +2 -2
- package/lib/types/LtiLaunch.js +2 -2
- package/lib/types/NameOnlyEntity.js +2 -2
- package/lib/types/Notification.js +2 -2
- package/lib/types/OptionalRecord.js +2 -2
- package/lib/types/OwnerSchedule.js +2 -2
- package/lib/types/PropertyOfType.js +2 -2
- package/lib/types/Quill.js +2 -2
- package/lib/types/RoleDescription.js +2 -2
- package/lib/types/Search.js +2 -2
- package/lib/types/SimpleLocation.js +2 -2
- package/lib/types/UniTime.js +2 -2
- package/lib/types/User.js +2 -2
- package/lib/types/UserRole.js +2 -2
- package/lib/types/auth/AuthState.js +2 -2
- package/lib/types/auth/CasV1LoginRequestBody.js +2 -2
- package/lib/types/auth/ClientCredentials.js +2 -2
- package/lib/types/auth/CodeProviderService.js +2 -2
- package/lib/types/auth/LocalLoginRequestBody.js +2 -2
- package/lib/types/auth/TicketProviderService.js +2 -2
- package/lib/types/auth/TokenPersistenceService.js +2 -2
- package/lib/types/auth/index.js +8 -10
- package/lib/types/externals.d.js +2 -0
- package/lib/types/index.js +29 -31
- package/lib/types/net/EndpointConfig.js +2 -2
- package/lib/types/net/EndpointMapping.js +2 -2
- package/lib/types/net/EndpointMappings.js +2 -2
- package/lib/types/net/ErrorHandler.js +2 -2
- package/lib/types/net/FetchConfig.js +2 -2
- package/lib/types/net/FetchErrorData.js +6 -8
- package/lib/types/net/FetchResult.js +2 -2
- package/lib/types/net/HTTPMethod.js +2 -2
- package/lib/types/net/HTTPStatusCode.js +12 -14
- package/lib/types/net/Metadata.js +2 -2
- package/lib/types/net/Model.js +2 -2
- package/lib/types/net/ModelCollection.js +2 -2
- package/lib/types/net/ModelsState.js +2 -2
- package/lib/types/net/OAuthToken.js +2 -2
- package/lib/types/net/OAuthTokenOrNull.js +2 -2
- package/lib/types/net/TokenAccessFunction.js +2 -2
- package/lib/types/net/index.js +17 -19
- package/lib/utils/baseActivity.js +83 -85
- package/lib/utils/baseRole.js +32 -36
- package/lib/utils/collection.js +403 -297
- package/lib/utils/cookies.js +19 -23
- package/lib/utils/date.js +188 -205
- package/lib/utils/dom.js +130 -131
- package/lib/utils/domainIdentifier.js +4 -8
- package/lib/utils/entityUserRole.js +2 -5
- package/lib/utils/error.js +14 -19
- package/lib/utils/events.js +32 -31
- package/lib/utils/externalGroup.js +20 -25
- package/lib/utils/externalProviders.js +4 -7
- package/lib/utils/externalTerms.js +6 -6
- package/lib/utils/fetch.js +168 -176
- package/lib/utils/group.js +14 -11
- package/lib/utils/groupDates.js +38 -46
- package/lib/utils/groupRoles.js +23 -32
- package/lib/utils/lockDownBrowser.js +12 -15
- package/lib/utils/logger.js +23 -28
- package/lib/utils/lti.js +4 -7
- package/lib/utils/model.js +28 -43
- package/lib/utils/number.js +9 -13
- package/lib/utils/promise.js +23 -26
- package/lib/utils/quill.js +55 -60
- package/lib/utils/route.js +52 -60
- package/lib/utils/search.js +72 -87
- package/lib/utils/shard.js +33 -42
- package/lib/utils/sort.js +47 -50
- package/lib/utils/string.js +10 -12
- package/lib/utils/table.js +29 -33
- package/lib/utils/timezone.js +7 -12
- package/lib/utils/url.js +130 -144
- package/lib/utils/user.js +54 -64
- package/lib/utils/userAgent.js +7 -14
- package/lib/utils/userRole.js +36 -39
- package/package.json +17 -3
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
newSearchString = `?${newSearchString}`;
|
|
20
|
-
}
|
|
21
|
-
history.pushState('', '', `${location.protocol}//${location.host}${location.pathname}${newSearchString}`);
|
|
1
|
+
import { parse, stringify } from 'query-string';
|
|
2
|
+
import { windowService } from './windowService';
|
|
3
|
+
export const codeProviderService = {
|
|
4
|
+
getCode: () => {
|
|
5
|
+
const location = windowService.getLocation();
|
|
6
|
+
return parse(location.search).code;
|
|
7
|
+
},
|
|
8
|
+
removeCode: () => {
|
|
9
|
+
const location = windowService.getLocation();
|
|
10
|
+
const history = windowService.getHistory();
|
|
11
|
+
const parsedSearch = parse(location.search);
|
|
12
|
+
const {
|
|
13
|
+
code,
|
|
14
|
+
...newSearch
|
|
15
|
+
} = parsedSearch;
|
|
16
|
+
let newSearchString = stringify(newSearch);
|
|
17
|
+
if (newSearchString) {
|
|
18
|
+
newSearchString = `?${newSearchString}`;
|
|
22
19
|
}
|
|
20
|
+
history.pushState('', '', `${location.protocol}//${location.host}${location.pathname}${newSearchString}`);
|
|
21
|
+
}
|
|
23
22
|
};
|
|
23
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXJzZSIsInN0cmluZ2lmeSIsIndpbmRvd1NlcnZpY2UiLCJjb2RlUHJvdmlkZXJTZXJ2aWNlIiwiZ2V0Q29kZSIsImxvY2F0aW9uIiwiZ2V0TG9jYXRpb24iLCJzZWFyY2giLCJjb2RlIiwicmVtb3ZlQ29kZSIsImhpc3RvcnkiLCJnZXRIaXN0b3J5IiwicGFyc2VkU2VhcmNoIiwibmV3U2VhcmNoIiwibmV3U2VhcmNoU3RyaW5nIiwicHVzaFN0YXRlIiwicHJvdG9jb2wiLCJob3N0IiwicGF0aG5hbWUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvY29kZVByb3ZpZGVyU2VydmljZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwYXJzZSwgc3RyaW5naWZ5IH0gZnJvbSAncXVlcnktc3RyaW5nJ1xuaW1wb3J0IHsgQ29kZVByb3ZpZGVyU2VydmljZSB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHsgd2luZG93U2VydmljZSB9IGZyb20gJy4vd2luZG93U2VydmljZSdcblxuZXhwb3J0IGNvbnN0IGNvZGVQcm92aWRlclNlcnZpY2U6IENvZGVQcm92aWRlclNlcnZpY2UgPSB7XG5cdGdldENvZGU6ICgpID0+IHtcblx0XHRjb25zdCBsb2NhdGlvbiA9IHdpbmRvd1NlcnZpY2UuZ2V0TG9jYXRpb24oKVxuXHRcdHJldHVybiBwYXJzZShsb2NhdGlvbi5zZWFyY2gpLmNvZGUgYXMgc3RyaW5nXG5cdH0sXG5cdHJlbW92ZUNvZGU6ICgpID0+IHtcblx0XHRjb25zdCBsb2NhdGlvbiA9IHdpbmRvd1NlcnZpY2UuZ2V0TG9jYXRpb24oKVxuXHRcdGNvbnN0IGhpc3RvcnkgPSB3aW5kb3dTZXJ2aWNlLmdldEhpc3RvcnkoKVxuXHRcdGNvbnN0IHBhcnNlZFNlYXJjaCA9IHBhcnNlKGxvY2F0aW9uLnNlYXJjaClcblx0XHRjb25zdCB7IGNvZGUsIC4uLm5ld1NlYXJjaCB9ID0gcGFyc2VkU2VhcmNoXG5cdFx0bGV0IG5ld1NlYXJjaFN0cmluZyA9IHN0cmluZ2lmeShuZXdTZWFyY2gpXG5cdFx0aWYgKG5ld1NlYXJjaFN0cmluZykge1xuXHRcdFx0bmV3U2VhcmNoU3RyaW5nID0gYD8ke25ld1NlYXJjaFN0cmluZ31gXG5cdFx0fVxuXHRcdGhpc3RvcnkucHVzaFN0YXRlKCcnLCAnJywgYCR7bG9jYXRpb24ucHJvdG9jb2x9Ly8ke2xvY2F0aW9uLmhvc3R9JHtsb2NhdGlvbi5wYXRobmFtZX0ke25ld1NlYXJjaFN0cmluZ31gKVxuXHR9XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLEtBQUssRUFBRUMsU0FBUyxRQUFRLGNBQWM7QUFFL0MsU0FBU0MsYUFBYSxRQUFRLGlCQUFpQjtBQUUvQyxPQUFPLE1BQU1DLG1CQUF3QyxHQUFHO0VBQ3ZEQyxPQUFPLEVBQUVBLENBQUEsS0FBTTtJQUNkLE1BQU1DLFFBQVEsR0FBR0gsYUFBYSxDQUFDSSxXQUFXLENBQUMsQ0FBQztJQUM1QyxPQUFPTixLQUFLLENBQUNLLFFBQVEsQ0FBQ0UsTUFBTSxDQUFDLENBQUNDLElBQUk7RUFDbkMsQ0FBQztFQUNEQyxVQUFVLEVBQUVBLENBQUEsS0FBTTtJQUNqQixNQUFNSixRQUFRLEdBQUdILGFBQWEsQ0FBQ0ksV0FBVyxDQUFDLENBQUM7SUFDNUMsTUFBTUksT0FBTyxHQUFHUixhQUFhLENBQUNTLFVBQVUsQ0FBQyxDQUFDO0lBQzFDLE1BQU1DLFlBQVksR0FBR1osS0FBSyxDQUFDSyxRQUFRLENBQUNFLE1BQU0sQ0FBQztJQUMzQyxNQUFNO01BQUVDLElBQUk7TUFBRSxHQUFHSztJQUFVLENBQUMsR0FBR0QsWUFBWTtJQUMzQyxJQUFJRSxlQUFlLEdBQUdiLFNBQVMsQ0FBQ1ksU0FBUyxDQUFDO0lBQzFDLElBQUlDLGVBQWUsRUFBRTtNQUNwQkEsZUFBZSxHQUFHLElBQUlBLGVBQWUsRUFBRTtJQUN4QztJQUNBSixPQUFPLENBQUNLLFNBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUdWLFFBQVEsQ0FBQ1csUUFBUSxLQUFLWCxRQUFRLENBQUNZLElBQUksR0FBR1osUUFBUSxDQUFDYSxRQUFRLEdBQUdKLGVBQWUsRUFBRSxDQUFDO0VBQzFHO0FBQ0QsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getLastActivityDate = getLastActivityDate;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const local_storage_fallback_1 = tslib_1.__importDefault(require("local-storage-fallback"));
|
|
1
|
+
import storage from 'local-storage-fallback';
|
|
6
2
|
const lastActivityDateKey = 'studioKit:caliperService:lastActivityDate';
|
|
3
|
+
|
|
7
4
|
/**
|
|
8
5
|
* Return the `lastActivityDate` set in local storage by "studiokit-caliper-js"
|
|
9
6
|
*/
|
|
10
|
-
function getLastActivityDate() {
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
export function getLastActivityDate() {
|
|
8
|
+
const lastActivityDateString = storage.getItem(lastActivityDateKey);
|
|
9
|
+
return lastActivityDateString ? JSON.parse(lastActivityDateString) : undefined;
|
|
13
10
|
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdG9yYWdlIiwibGFzdEFjdGl2aXR5RGF0ZUtleSIsImdldExhc3RBY3Rpdml0eURhdGUiLCJsYXN0QWN0aXZpdHlEYXRlU3RyaW5nIiwiZ2V0SXRlbSIsIkpTT04iLCJwYXJzZSIsInVuZGVmaW5lZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9kYXRlU2VydmljZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3RvcmFnZSBmcm9tICdsb2NhbC1zdG9yYWdlLWZhbGxiYWNrJ1xuXG5jb25zdCBsYXN0QWN0aXZpdHlEYXRlS2V5ID0gJ3N0dWRpb0tpdDpjYWxpcGVyU2VydmljZTpsYXN0QWN0aXZpdHlEYXRlJ1xuXG4vKipcbiAqIFJldHVybiB0aGUgYGxhc3RBY3Rpdml0eURhdGVgIHNldCBpbiBsb2NhbCBzdG9yYWdlIGJ5IFwic3R1ZGlva2l0LWNhbGlwZXItanNcIlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGFzdEFjdGl2aXR5RGF0ZSgpIHtcblx0Y29uc3QgbGFzdEFjdGl2aXR5RGF0ZVN0cmluZyA9IHN0b3JhZ2UuZ2V0SXRlbShsYXN0QWN0aXZpdHlEYXRlS2V5KVxuXHRyZXR1cm4gbGFzdEFjdGl2aXR5RGF0ZVN0cmluZyA/IChKU09OLnBhcnNlKGxhc3RBY3Rpdml0eURhdGVTdHJpbmcpIGFzIHN0cmluZykgOiB1bmRlZmluZWRcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsT0FBTyxNQUFNLHdCQUF3QjtBQUU1QyxNQUFNQyxtQkFBbUIsR0FBRywyQ0FBMkM7O0FBRXZFO0FBQ0E7QUFDQTtBQUNBLE9BQU8sU0FBU0MsbUJBQW1CQSxDQUFBLEVBQUc7RUFDckMsTUFBTUMsc0JBQXNCLEdBQUdILE9BQU8sQ0FBQ0ksT0FBTyxDQUFDSCxtQkFBbUIsQ0FBQztFQUNuRSxPQUFPRSxzQkFBc0IsR0FBSUUsSUFBSSxDQUFDQyxLQUFLLENBQUNILHNCQUFzQixDQUFDLEdBQWNJLFNBQVM7QUFDM0YiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.documentService = void 0;
|
|
4
1
|
let activeDocument = null;
|
|
2
|
+
|
|
5
3
|
/**
|
|
6
4
|
* A service which wraps custom `document` logic.
|
|
7
5
|
* Allows for testing overrides, while otherwise uses the normal functionality.
|
|
8
6
|
*/
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
7
|
+
export const documentService = {
|
|
8
|
+
setActiveDocument: value => {
|
|
9
|
+
activeDocument = value;
|
|
10
|
+
if (value && value instanceof HTMLElement) {
|
|
11
|
+
value.focus();
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
getActiveDocument: () => activeDocument || document.activeElement
|
|
17
15
|
};
|
|
16
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhY3RpdmVEb2N1bWVudCIsImRvY3VtZW50U2VydmljZSIsInNldEFjdGl2ZURvY3VtZW50IiwidmFsdWUiLCJIVE1MRWxlbWVudCIsImZvY3VzIiwiZ2V0QWN0aXZlRG9jdW1lbnQiLCJkb2N1bWVudCIsImFjdGl2ZUVsZW1lbnQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvZG9jdW1lbnRTZXJ2aWNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRG9jdW1lbnRTZXJ2aWNlIHtcblx0c2V0QWN0aXZlRG9jdW1lbnQ6ICh2YWx1ZTogRWxlbWVudCB8IG51bGwpID0+IHZvaWRcblx0Z2V0QWN0aXZlRG9jdW1lbnQ6ICgpID0+IEVsZW1lbnQgfCBudWxsXG59XG5cbmxldCBhY3RpdmVEb2N1bWVudDogRWxlbWVudCB8IG51bGwgPSBudWxsXG5cbi8qKlxuICogQSBzZXJ2aWNlIHdoaWNoIHdyYXBzIGN1c3RvbSBgZG9jdW1lbnRgIGxvZ2ljLlxuICogQWxsb3dzIGZvciB0ZXN0aW5nIG92ZXJyaWRlcywgd2hpbGUgb3RoZXJ3aXNlIHVzZXMgdGhlIG5vcm1hbCBmdW5jdGlvbmFsaXR5LlxuICovXG5leHBvcnQgY29uc3QgZG9jdW1lbnRTZXJ2aWNlOiBEb2N1bWVudFNlcnZpY2UgPSB7XG5cdHNldEFjdGl2ZURvY3VtZW50OiAodmFsdWU6IEVsZW1lbnQgfCBudWxsKSA9PiB7XG5cdFx0YWN0aXZlRG9jdW1lbnQgPSB2YWx1ZVxuXHRcdGlmICh2YWx1ZSAmJiB2YWx1ZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XG5cdFx0XHR2YWx1ZS5mb2N1cygpXG5cdFx0fVxuXHR9LFxuXHRnZXRBY3RpdmVEb2N1bWVudDogKCkgPT4gYWN0aXZlRG9jdW1lbnQgfHwgZG9jdW1lbnQuYWN0aXZlRWxlbWVudFxufVxuIl0sIm1hcHBpbmdzIjoiQUFLQSxJQUFJQSxjQUE4QixHQUFHLElBQUk7O0FBRXpDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxNQUFNQyxlQUFnQyxHQUFHO0VBQy9DQyxpQkFBaUIsRUFBR0MsS0FBcUIsSUFBSztJQUM3Q0gsY0FBYyxHQUFHRyxLQUFLO0lBQ3RCLElBQUlBLEtBQUssSUFBSUEsS0FBSyxZQUFZQyxXQUFXLEVBQUU7TUFDMUNELEtBQUssQ0FBQ0UsS0FBSyxDQUFDLENBQUM7SUFDZDtFQUNELENBQUM7RUFDREMsaUJBQWlCLEVBQUVBLENBQUEsS0FBTU4sY0FBYyxJQUFJTyxRQUFRLENBQUNDO0FBQ3JELENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -1,28 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
exports.constructPath = constructPath;
|
|
6
|
-
exports.sendFetch = sendFetch;
|
|
7
|
-
const lodash_1 = require("lodash");
|
|
8
|
-
const effects_1 = require("redux-saga/effects");
|
|
9
|
-
const types_1 = require("../types");
|
|
10
|
-
const error_1 = require("../utils/error");
|
|
1
|
+
import { merge, startsWith } from 'lodash';
|
|
2
|
+
import { call } from 'redux-saga/effects';
|
|
3
|
+
import { HTTP_STATUS_CODE } from '../types';
|
|
4
|
+
import { constructErrorFromCaughtError } from '../utils/error';
|
|
11
5
|
let apiRoot;
|
|
6
|
+
|
|
12
7
|
/**
|
|
13
8
|
* Set and store the `apiRoot`, the default root path for all relative URLs.
|
|
14
9
|
*
|
|
15
10
|
* @param uri The uri to save and prepend later
|
|
16
11
|
*/
|
|
17
|
-
function setApiRoot(uri) {
|
|
18
|
-
|
|
12
|
+
export function setApiRoot(uri) {
|
|
13
|
+
apiRoot = uri;
|
|
19
14
|
}
|
|
15
|
+
|
|
20
16
|
/**
|
|
21
17
|
* Get the `apiRoot`, the default root path for all relative URLs.
|
|
22
18
|
*/
|
|
23
|
-
function getApiRoot() {
|
|
24
|
-
|
|
19
|
+
export function getApiRoot() {
|
|
20
|
+
return apiRoot;
|
|
25
21
|
}
|
|
22
|
+
|
|
26
23
|
/**
|
|
27
24
|
* Combine the `path` and `queryParams` from a FetchConfig into a final path string.
|
|
28
25
|
*
|
|
@@ -31,25 +28,24 @@ function getApiRoot() {
|
|
|
31
28
|
* @param config The fetch configuration containing the path and query params
|
|
32
29
|
* @returns A path string containing query params and prepended with the `apiRoot`, if needed
|
|
33
30
|
*/
|
|
34
|
-
function constructPath(config) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
48
|
-
return path;
|
|
31
|
+
export function constructPath(config) {
|
|
32
|
+
if (!config.path) {
|
|
33
|
+
throw new Error("'config.path' is required");
|
|
34
|
+
}
|
|
35
|
+
let queryParams;
|
|
36
|
+
if (config.queryParams) {
|
|
37
|
+
queryParams = Object.keys(config.queryParams).map(key => `${encodeURIComponent(key)}=${!!config.queryParams && encodeURIComponent(config.queryParams[key])}`).join('&');
|
|
38
|
+
}
|
|
39
|
+
let path = startsWith(config.path, 'http') ? config.path : `${apiRoot}${config.path}`;
|
|
40
|
+
if (queryParams) {
|
|
41
|
+
path = `${path}?${queryParams}`;
|
|
42
|
+
}
|
|
43
|
+
return path;
|
|
49
44
|
}
|
|
50
45
|
function isContentTypeJson(contentType) {
|
|
51
|
-
|
|
46
|
+
return !!contentType && /application\/json|.*\+json/.test(contentType);
|
|
52
47
|
}
|
|
48
|
+
|
|
53
49
|
/**
|
|
54
50
|
* Send an HTTP request and return a response, handling errors.
|
|
55
51
|
* * Requests default to using GET method.
|
|
@@ -62,71 +58,83 @@ function isContentTypeJson(contentType) {
|
|
|
62
58
|
* @param config The configuration used to construct the fetch request
|
|
63
59
|
* @returns The response, parsed as JSON
|
|
64
60
|
*/
|
|
65
|
-
function* sendFetch(config) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
}
|
|
126
|
-
return result;
|
|
61
|
+
export function* sendFetch(config) {
|
|
62
|
+
const method = config.method || 'GET';
|
|
63
|
+
const credentials = config.credentials || undefined;
|
|
64
|
+
try {
|
|
65
|
+
// construct request
|
|
66
|
+
const path = constructPath(config);
|
|
67
|
+
const headers =
|
|
68
|
+
// setting FormData as the body will set "Content-Type", including "boundary"
|
|
69
|
+
// do not interfere
|
|
70
|
+
config.contentType === 'multipart/form-data' ? merge({}, config.headers) : merge({}, {
|
|
71
|
+
'Content-Type': config.contentType ? config.contentType : 'application/json; charset=utf-8'
|
|
72
|
+
}, config.headers);
|
|
73
|
+
const isBodyJson = !!headers['Content-Type'] && isContentTypeJson(headers['Content-Type']);
|
|
74
|
+
const body = method === 'GET' ? undefined : !isBodyJson ? config.body : JSON.stringify(config.body);
|
|
75
|
+
|
|
76
|
+
// call `fetch`
|
|
77
|
+
const response = yield call(fetch, path, {
|
|
78
|
+
method,
|
|
79
|
+
headers,
|
|
80
|
+
body,
|
|
81
|
+
credentials
|
|
82
|
+
});
|
|
83
|
+
if (!response) {
|
|
84
|
+
throw new Error('No response was received');
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// construct a subset of the response object to return
|
|
88
|
+
const result = (_ref => {
|
|
89
|
+
let {
|
|
90
|
+
headers,
|
|
91
|
+
ok,
|
|
92
|
+
redirected,
|
|
93
|
+
status,
|
|
94
|
+
statusText,
|
|
95
|
+
type,
|
|
96
|
+
url,
|
|
97
|
+
bodyUsed
|
|
98
|
+
} = _ref;
|
|
99
|
+
return {
|
|
100
|
+
headers,
|
|
101
|
+
ok,
|
|
102
|
+
redirected,
|
|
103
|
+
status,
|
|
104
|
+
statusText,
|
|
105
|
+
type,
|
|
106
|
+
url,
|
|
107
|
+
bodyUsed,
|
|
108
|
+
data: undefined
|
|
109
|
+
};
|
|
110
|
+
})(response);
|
|
111
|
+
|
|
112
|
+
// If the request was a NoContent (204), use the body (if any) that was PUT in the request as the "result.data",
|
|
113
|
+
// so it gets incorporated correctly into Redux.
|
|
114
|
+
// 200/201 should return a representation of the entity (https://tools.ietf.org/html/rfc7231#section-6.3.1)
|
|
115
|
+
|
|
116
|
+
const isResponseJson = response.headers.has('Content-Type') && isContentTypeJson(response.headers.get('Content-Type'));
|
|
117
|
+
if (response.status === HTTP_STATUS_CODE.NO_CONTENT) {
|
|
118
|
+
result.data = isBodyJson ? config.body : undefined;
|
|
119
|
+
} else {
|
|
120
|
+
result.data = isResponseJson ? yield call(() => response.json()) : yield call(() => response.text());
|
|
127
121
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
122
|
+
if (!response.ok) {
|
|
123
|
+
const errorData = {
|
|
124
|
+
status: result.data?.status || response.status,
|
|
125
|
+
title: result.data?.title || response.statusText,
|
|
126
|
+
detail: result.data?.detail || null,
|
|
127
|
+
type: result.data?.type,
|
|
128
|
+
instance: result.data?.instance,
|
|
129
|
+
traceId: result.data?.traceId,
|
|
130
|
+
errors: result.data?.errors
|
|
131
|
+
};
|
|
132
|
+
result.data = errorData;
|
|
131
133
|
}
|
|
134
|
+
return result;
|
|
135
|
+
} catch (error) {
|
|
136
|
+
const sendFetchError = constructErrorFromCaughtError(error, 'SendFetchError', config.path ? `${method} ${config.path} failed` : '');
|
|
137
|
+
throw sendFetchError;
|
|
138
|
+
}
|
|
132
139
|
}
|
|
140
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtZXJnZSIsInN0YXJ0c1dpdGgiLCJjYWxsIiwiSFRUUF9TVEFUVVNfQ09ERSIsImNvbnN0cnVjdEVycm9yRnJvbUNhdWdodEVycm9yIiwiYXBpUm9vdCIsInNldEFwaVJvb3QiLCJ1cmkiLCJnZXRBcGlSb290IiwiY29uc3RydWN0UGF0aCIsImNvbmZpZyIsInBhdGgiLCJFcnJvciIsInF1ZXJ5UGFyYW1zIiwiT2JqZWN0Iiwia2V5cyIsIm1hcCIsImtleSIsImVuY29kZVVSSUNvbXBvbmVudCIsImpvaW4iLCJpc0NvbnRlbnRUeXBlSnNvbiIsImNvbnRlbnRUeXBlIiwidGVzdCIsInNlbmRGZXRjaCIsIm1ldGhvZCIsImNyZWRlbnRpYWxzIiwidW5kZWZpbmVkIiwiaGVhZGVycyIsImlzQm9keUpzb24iLCJib2R5IiwiSlNPTiIsInN0cmluZ2lmeSIsInJlc3BvbnNlIiwiZmV0Y2giLCJyZXN1bHQiLCJfcmVmIiwib2siLCJyZWRpcmVjdGVkIiwic3RhdHVzIiwic3RhdHVzVGV4dCIsInR5cGUiLCJ1cmwiLCJib2R5VXNlZCIsImRhdGEiLCJpc1Jlc3BvbnNlSnNvbiIsImhhcyIsImdldCIsIk5PX0NPTlRFTlQiLCJqc29uIiwidGV4dCIsImVycm9yRGF0YSIsInRpdGxlIiwiZGV0YWlsIiwiaW5zdGFuY2UiLCJ0cmFjZUlkIiwiZXJyb3JzIiwiZXJyb3IiLCJzZW5kRmV0Y2hFcnJvciJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9mZXRjaFNlcnZpY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FnYUl0ZXJhdG9yIH0gZnJvbSAnQHJlZHV4LXNhZ2EvY29yZSdcbmltcG9ydCB7IG1lcmdlLCBzdGFydHNXaXRoIH0gZnJvbSAnbG9kYXNoJ1xuaW1wb3J0IHsgY2FsbCB9IGZyb20gJ3JlZHV4LXNhZ2EvZWZmZWN0cydcbmltcG9ydCB7IEZldGNoQ29uZmlnLCBGZXRjaEVycm9yRGF0YSwgRmV0Y2hSZXN1bHQsIEhUVFBfU1RBVFVTX0NPREUsIEhUVFBNZXRob2QgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB7IGNvbnN0cnVjdEVycm9yRnJvbUNhdWdodEVycm9yIH0gZnJvbSAnLi4vdXRpbHMvZXJyb3InXG5cbmxldCBhcGlSb290OiBzdHJpbmcgfCB1bmRlZmluZWRcblxuLyoqXG4gKiBTZXQgYW5kIHN0b3JlIHRoZSBgYXBpUm9vdGAsIHRoZSBkZWZhdWx0IHJvb3QgcGF0aCBmb3IgYWxsIHJlbGF0aXZlIFVSTHMuXG4gKlxuICogQHBhcmFtIHVyaSBUaGUgdXJpIHRvIHNhdmUgYW5kIHByZXBlbmQgbGF0ZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldEFwaVJvb3QodXJpOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcblx0YXBpUm9vdCA9IHVyaVxufVxuXG4vKipcbiAqIEdldCB0aGUgYGFwaVJvb3RgLCB0aGUgZGVmYXVsdCByb290IHBhdGggZm9yIGFsbCByZWxhdGl2ZSBVUkxzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXBpUm9vdCgpIHtcblx0cmV0dXJuIGFwaVJvb3Rcbn1cblxuLyoqXG4gKiBDb21iaW5lIHRoZSBgcGF0aGAgYW5kIGBxdWVyeVBhcmFtc2AgZnJvbSBhIEZldGNoQ29uZmlnIGludG8gYSBmaW5hbCBwYXRoIHN0cmluZy5cbiAqXG4gKiBQcmVwZW5kIHdpdGggYGFwaVJvb3RgIGlmIHRoZSBwYXRoIGRvZXMgbm90IHN0YXJ0IHdpdGggJ2h0dHAnLlxuICpcbiAqIEBwYXJhbSBjb25maWcgVGhlIGZldGNoIGNvbmZpZ3VyYXRpb24gY29udGFpbmluZyB0aGUgcGF0aCBhbmQgcXVlcnkgcGFyYW1zXG4gKiBAcmV0dXJucyBBIHBhdGggc3RyaW5nIGNvbnRhaW5pbmcgcXVlcnkgcGFyYW1zIGFuZCBwcmVwZW5kZWQgd2l0aCB0aGUgYGFwaVJvb3RgLCBpZiBuZWVkZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnN0cnVjdFBhdGgoY29uZmlnOiBGZXRjaENvbmZpZykge1xuXHRpZiAoIWNvbmZpZy5wYXRoKSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKFwiJ2NvbmZpZy5wYXRoJyBpcyByZXF1aXJlZFwiKVxuXHR9XG5cdGxldCBxdWVyeVBhcmFtc1xuXHRpZiAoY29uZmlnLnF1ZXJ5UGFyYW1zKSB7XG5cdFx0cXVlcnlQYXJhbXMgPSBPYmplY3Qua2V5cyhjb25maWcucXVlcnlQYXJhbXMpXG5cdFx0XHQubWFwKFxuXHRcdFx0XHRrZXkgPT5cblx0XHRcdFx0XHRgJHtlbmNvZGVVUklDb21wb25lbnQoa2V5KX09JHshIWNvbmZpZy5xdWVyeVBhcmFtcyAmJiBlbmNvZGVVUklDb21wb25lbnQoY29uZmlnLnF1ZXJ5UGFyYW1zW2tleV0pfWBcblx0XHRcdClcblx0XHRcdC5qb2luKCcmJylcblx0fVxuXG5cdGxldCBwYXRoID0gc3RhcnRzV2l0aChjb25maWcucGF0aCwgJ2h0dHAnKSA/IGNvbmZpZy5wYXRoIDogYCR7YXBpUm9vdH0ke2NvbmZpZy5wYXRofWBcblx0aWYgKHF1ZXJ5UGFyYW1zKSB7XG5cdFx0cGF0aCA9IGAke3BhdGh9PyR7cXVlcnlQYXJhbXN9YFxuXHR9XG5cdHJldHVybiBwYXRoXG59XG5cbmZ1bmN0aW9uIGlzQ29udGVudFR5cGVKc29uKGNvbnRlbnRUeXBlOiBzdHJpbmcgfCBudWxsKSB7XG5cdHJldHVybiAhIWNvbnRlbnRUeXBlICYmIC9hcHBsaWNhdGlvblxcL2pzb258LipcXCtqc29uLy50ZXN0KGNvbnRlbnRUeXBlKVxufVxuXG4vKipcbiAqIFNlbmQgYW4gSFRUUCByZXF1ZXN0IGFuZCByZXR1cm4gYSByZXNwb25zZSwgaGFuZGxpbmcgZXJyb3JzLlxuICogKiBSZXF1ZXN0cyBkZWZhdWx0IHRvIHVzaW5nIEdFVCBtZXRob2QuXG4gKiAqIENvbnRlbnQtVHlwZSBkZWZhdWx0cyB0byAnYXBwbGljYXRpb24vanNvbicuXG4gKiAqIEJvZHkgaXMgc2VudCBhcyBzdHJpbmdpZmllZCBKU09OIHVubGVzcyB0aGUgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcgQ29udGVudC1UeXBlIGlzIGRldGVjdGVkLCBpbiB3aGljaCBjYXNlXG4gKiBpdCdzIHNlbnQgYXMgcHJvdmlkZWQuXG4gKiAqIElmIGl0IGlzIGEgJ211bHRpcGFydC9mb3JtLWRhdGEnLCB3ZSBhcmUgYXNzdW1pbmcgdGhhdCB0aGUgZGF0YSBpcyBiZWluZyBzZW50IGFzIGEgRm9ybURhdGEsIGFuZCB3ZSBkbyBub3Qgc2V0IHRoZSBDb250ZW50LXR5cGVcbiAqIChodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zOTI4MDQzOC9mZXRjaC1taXNzaW5nLWJvdW5kYXJ5LWluLW11bHRpcGFydC1mb3JtLWRhdGEtcG9zdCkuXG4gKlxuICogQHBhcmFtIGNvbmZpZyBUaGUgY29uZmlndXJhdGlvbiB1c2VkIHRvIGNvbnN0cnVjdCB0aGUgZmV0Y2ggcmVxdWVzdFxuICogQHJldHVybnMgVGhlIHJlc3BvbnNlLCBwYXJzZWQgYXMgSlNPTlxuICovXG5leHBvcnQgZnVuY3Rpb24qIHNlbmRGZXRjaChjb25maWc6IEZldGNoQ29uZmlnKTogU2FnYUl0ZXJhdG9yIHtcblx0Y29uc3QgbWV0aG9kOiBIVFRQTWV0aG9kID0gY29uZmlnLm1ldGhvZCB8fCAnR0VUJ1xuXHRjb25zdCBjcmVkZW50aWFsczogUmVxdWVzdENyZWRlbnRpYWxzIHwgdW5kZWZpbmVkID0gY29uZmlnLmNyZWRlbnRpYWxzIHx8IHVuZGVmaW5lZFxuXG5cdHRyeSB7XG5cdFx0Ly8gY29uc3RydWN0IHJlcXVlc3Rcblx0XHRjb25zdCBwYXRoID0gY29uc3RydWN0UGF0aChjb25maWcpXG5cdFx0Y29uc3QgaGVhZGVycyA9XG5cdFx0XHQvLyBzZXR0aW5nIEZvcm1EYXRhIGFzIHRoZSBib2R5IHdpbGwgc2V0IFwiQ29udGVudC1UeXBlXCIsIGluY2x1ZGluZyBcImJvdW5kYXJ5XCJcblx0XHRcdC8vIGRvIG5vdCBpbnRlcmZlcmVcblx0XHRcdGNvbmZpZy5jb250ZW50VHlwZSA9PT0gJ211bHRpcGFydC9mb3JtLWRhdGEnXG5cdFx0XHRcdD8gbWVyZ2Uoe30sIGNvbmZpZy5oZWFkZXJzKVxuXHRcdFx0XHQ6IG1lcmdlKFxuXHRcdFx0XHRcdFx0e30sXG5cdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdCdDb250ZW50LVR5cGUnOiBjb25maWcuY29udGVudFR5cGUgPyBjb25maWcuY29udGVudFR5cGUgOiAnYXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOCdcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRjb25maWcuaGVhZGVyc1xuXHRcdFx0XHRcdClcblx0XHRjb25zdCBpc0JvZHlKc29uID0gISFoZWFkZXJzWydDb250ZW50LVR5cGUnXSAmJiBpc0NvbnRlbnRUeXBlSnNvbihoZWFkZXJzWydDb250ZW50LVR5cGUnXSlcblx0XHRjb25zdCBib2R5ID0gbWV0aG9kID09PSAnR0VUJyA/IHVuZGVmaW5lZCA6ICFpc0JvZHlKc29uID8gKGNvbmZpZy5ib2R5IGFzIHN0cmluZykgOiBKU09OLnN0cmluZ2lmeShjb25maWcuYm9keSlcblxuXHRcdC8vIGNhbGwgYGZldGNoYFxuXHRcdGNvbnN0IHJlc3BvbnNlOiBSZXNwb25zZSB8IHVuZGVmaW5lZCA9IHlpZWxkIGNhbGwoZmV0Y2gsIHBhdGgsIHtcblx0XHRcdG1ldGhvZCxcblx0XHRcdGhlYWRlcnMsXG5cdFx0XHRib2R5LFxuXHRcdFx0Y3JlZGVudGlhbHNcblx0XHR9KVxuXG5cdFx0aWYgKCFyZXNwb25zZSkge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKCdObyByZXNwb25zZSB3YXMgcmVjZWl2ZWQnKVxuXHRcdH1cblxuXHRcdC8vIGNvbnN0cnVjdCBhIHN1YnNldCBvZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IHRvIHJldHVyblxuXHRcdGNvbnN0IHJlc3VsdDogRmV0Y2hSZXN1bHQgPSAoKHsgaGVhZGVycywgb2ssIHJlZGlyZWN0ZWQsIHN0YXR1cywgc3RhdHVzVGV4dCwgdHlwZSwgdXJsLCBib2R5VXNlZCB9KSA9PiAoe1xuXHRcdFx0aGVhZGVycyxcblx0XHRcdG9rLFxuXHRcdFx0cmVkaXJlY3RlZCxcblx0XHRcdHN0YXR1cyxcblx0XHRcdHN0YXR1c1RleHQsXG5cdFx0XHR0eXBlLFxuXHRcdFx0dXJsLFxuXHRcdFx0Ym9keVVzZWQsXG5cdFx0XHRkYXRhOiB1bmRlZmluZWRcblx0XHR9KSkocmVzcG9uc2UpXG5cblx0XHQvLyBJZiB0aGUgcmVxdWVzdCB3YXMgYSBOb0NvbnRlbnQgKDIwNCksIHVzZSB0aGUgYm9keSAoaWYgYW55KSB0aGF0IHdhcyBQVVQgaW4gdGhlIHJlcXVlc3QgYXMgdGhlIFwicmVzdWx0LmRhdGFcIixcblx0XHQvLyBzbyBpdCBnZXRzIGluY29ycG9yYXRlZCBjb3JyZWN0bHkgaW50byBSZWR1eC5cblx0XHQvLyAyMDAvMjAxIHNob3VsZCByZXR1cm4gYSByZXByZXNlbnRhdGlvbiBvZiB0aGUgZW50aXR5IChodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzIzMSNzZWN0aW9uLTYuMy4xKVxuXG5cdFx0Y29uc3QgaXNSZXNwb25zZUpzb24gPVxuXHRcdFx0cmVzcG9uc2UuaGVhZGVycy5oYXMoJ0NvbnRlbnQtVHlwZScpICYmIGlzQ29udGVudFR5cGVKc29uKHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdDb250ZW50LVR5cGUnKSlcblxuXHRcdGlmIChyZXNwb25zZS5zdGF0dXMgPT09IEhUVFBfU1RBVFVTX0NPREUuTk9fQ09OVEVOVCkge1xuXHRcdFx0cmVzdWx0LmRhdGEgPSBpc0JvZHlKc29uID8gY29uZmlnLmJvZHkgOiB1bmRlZmluZWRcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmVzdWx0LmRhdGEgPSBpc1Jlc3BvbnNlSnNvbiA/IHlpZWxkIGNhbGwoKCkgPT4gcmVzcG9uc2UuanNvbigpKSA6IHlpZWxkIGNhbGwoKCkgPT4gcmVzcG9uc2UudGV4dCgpKVxuXHRcdH1cblxuXHRcdGlmICghcmVzcG9uc2Uub2spIHtcblx0XHRcdGNvbnN0IGVycm9yRGF0YTogRmV0Y2hFcnJvckRhdGEgPSB7XG5cdFx0XHRcdHN0YXR1czogcmVzdWx0LmRhdGE/LnN0YXR1cyB8fCByZXNwb25zZS5zdGF0dXMsXG5cdFx0XHRcdHRpdGxlOiByZXN1bHQuZGF0YT8udGl0bGUgfHwgcmVzcG9uc2Uuc3RhdHVzVGV4dCxcblx0XHRcdFx0ZGV0YWlsOiByZXN1bHQuZGF0YT8uZGV0YWlsIHx8IG51bGwsXG5cdFx0XHRcdHR5cGU6IHJlc3VsdC5kYXRhPy50eXBlLFxuXHRcdFx0XHRpbnN0YW5jZTogcmVzdWx0LmRhdGE/Lmluc3RhbmNlLFxuXHRcdFx0XHR0cmFjZUlkOiByZXN1bHQuZGF0YT8udHJhY2VJZCxcblx0XHRcdFx0ZXJyb3JzOiByZXN1bHQuZGF0YT8uZXJyb3JzXG5cdFx0XHR9XG5cdFx0XHRyZXN1bHQuZGF0YSA9IGVycm9yRGF0YVxuXHRcdH1cblxuXHRcdHJldHVybiByZXN1bHRcblx0fSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcblx0XHRjb25zdCBzZW5kRmV0Y2hFcnJvciA9IGNvbnN0cnVjdEVycm9yRnJvbUNhdWdodEVycm9yKFxuXHRcdFx0ZXJyb3IsXG5cdFx0XHQnU2VuZEZldGNoRXJyb3InLFxuXHRcdFx0Y29uZmlnLnBhdGggPyBgJHttZXRob2R9ICR7Y29uZmlnLnBhdGh9IGZhaWxlZGAgOiAnJ1xuXHRcdClcblx0XHR0aHJvdyBzZW5kRmV0Y2hFcnJvclxuXHR9XG59XG4iXSwibWFwcGluZ3MiOiJBQUNBLFNBQVNBLEtBQUssRUFBRUMsVUFBVSxRQUFRLFFBQVE7QUFDMUMsU0FBU0MsSUFBSSxRQUFRLG9CQUFvQjtBQUN6QyxTQUFtREMsZ0JBQWdCLFFBQW9CLFVBQVU7QUFDakcsU0FBU0MsNkJBQTZCLFFBQVEsZ0JBQWdCO0FBRTlELElBQUlDLE9BQTJCOztBQUUvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxTQUFTQyxVQUFVQSxDQUFDQyxHQUF1QixFQUFFO0VBQ25ERixPQUFPLEdBQUdFLEdBQUc7QUFDZDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLFNBQVNDLFVBQVVBLENB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
|
|
@@ -1,42 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.persistenceService = exports.isCasGatewayRequestedKey = exports.identityProviderKey = exports.returnUrlKey = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const local_storage_fallback_1 = tslib_1.__importDefault(require("local-storage-fallback"));
|
|
1
|
+
import storage from 'local-storage-fallback';
|
|
6
2
|
const tokenKey = '@authStore:oauthToken';
|
|
7
3
|
const caliperTokenKey = 'studioKit:caliperService:token';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const getItem =
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
4
|
+
export const returnUrlKey = 'studioKit:login:returnUrl';
|
|
5
|
+
export const identityProviderKey = 'studioKit:auth:identityProvider';
|
|
6
|
+
export const isCasGatewayRequestedKey = 'studioKit:auth:isCasGatewayRequested';
|
|
7
|
+
const getItem = key => {
|
|
8
|
+
const itemValue = storage.getItem(key);
|
|
9
|
+
if (!itemValue) {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
return JSON.parse(itemValue);
|
|
17
13
|
};
|
|
18
14
|
const setItem = (key, item) => {
|
|
19
|
-
|
|
15
|
+
storage.setItem(key, JSON.stringify(item));
|
|
20
16
|
};
|
|
21
|
-
const removeItem =
|
|
22
|
-
|
|
17
|
+
const removeItem = key => {
|
|
18
|
+
storage.removeItem(key);
|
|
23
19
|
};
|
|
24
20
|
const getPersistedToken = () => {
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
const token = getItem(tokenKey);
|
|
22
|
+
return token;
|
|
27
23
|
};
|
|
28
|
-
const persistToken =
|
|
29
|
-
|
|
24
|
+
const persistToken = token => {
|
|
25
|
+
setItem(tokenKey, token);
|
|
30
26
|
};
|
|
31
27
|
const getPersistedCaliperToken = () => {
|
|
32
|
-
|
|
33
|
-
|
|
28
|
+
const token = getItem(caliperTokenKey);
|
|
29
|
+
return token;
|
|
34
30
|
};
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
31
|
+
export const persistenceService = {
|
|
32
|
+
getItem,
|
|
33
|
+
setItem,
|
|
34
|
+
removeItem,
|
|
35
|
+
getPersistedToken,
|
|
36
|
+
persistToken,
|
|
37
|
+
getPersistedCaliperToken
|
|
42
38
|
};
|
|
39
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdG9yYWdlIiwidG9rZW5LZXkiLCJjYWxpcGVyVG9rZW5LZXkiLCJyZXR1cm5VcmxLZXkiLCJpZGVudGl0eVByb3ZpZGVyS2V5IiwiaXNDYXNHYXRld2F5UmVxdWVzdGVkS2V5IiwiZ2V0SXRlbSIsImtleSIsIml0ZW1WYWx1ZSIsIkpTT04iLCJwYXJzZSIsInNldEl0ZW0iLCJpdGVtIiwic3RyaW5naWZ5IiwicmVtb3ZlSXRlbSIsImdldFBlcnNpc3RlZFRva2VuIiwidG9rZW4iLCJwZXJzaXN0VG9rZW4iLCJnZXRQZXJzaXN0ZWRDYWxpcGVyVG9rZW4iLCJwZXJzaXN0ZW5jZVNlcnZpY2UiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvcGVyc2lzdGVuY2VTZXJ2aWNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdG9yYWdlIGZyb20gJ2xvY2FsLXN0b3JhZ2UtZmFsbGJhY2snXG5pbXBvcnQgeyBDYWxpcGVyVG9rZW4gfSBmcm9tICdzdHVkaW9raXQtY2FsaXBlci1qcy9saWIvdHlwZXMnXG5pbXBvcnQgeyBPQXV0aFRva2VuT3JOdWxsLCBUb2tlblBlcnNpc3RlbmNlU2VydmljZSB9IGZyb20gJy4uL3R5cGVzJ1xuXG5jb25zdCB0b2tlbktleSA9ICdAYXV0aFN0b3JlOm9hdXRoVG9rZW4nXG5jb25zdCBjYWxpcGVyVG9rZW5LZXkgPSAnc3R1ZGlvS2l0OmNhbGlwZXJTZXJ2aWNlOnRva2VuJ1xuZXhwb3J0IGNvbnN0IHJldHVyblVybEtleSA9ICdzdHVkaW9LaXQ6bG9naW46cmV0dXJuVXJsJ1xuZXhwb3J0IGNvbnN0IGlkZW50aXR5UHJvdmlkZXJLZXkgPSAnc3R1ZGlvS2l0OmF1dGg6aWRlbnRpdHlQcm92aWRlcidcbmV4cG9ydCBjb25zdCBpc0Nhc0dhdGV3YXlSZXF1ZXN0ZWRLZXkgPSAnc3R1ZGlvS2l0OmF1dGg6aXNDYXNHYXRld2F5UmVxdWVzdGVkJ1xuXG5jb25zdCBnZXRJdGVtID0gKGtleTogc3RyaW5nKSA9PiB7XG5cdGNvbnN0IGl0ZW1WYWx1ZSA9IHN0b3JhZ2UuZ2V0SXRlbShrZXkpXG5cdGlmICghaXRlbVZhbHVlKSB7XG5cdFx0cmV0dXJuIG51bGxcblx0fVxuXHRyZXR1cm4gSlNPTi5wYXJzZShpdGVtVmFsdWUpXG59XG5cbmNvbnN0IHNldEl0ZW0gPSAoa2V5OiBzdHJpbmcsIGl0ZW06IGFueSkgPT4ge1xuXHRzdG9yYWdlLnNldEl0ZW0oa2V5LCBKU09OLnN0cmluZ2lmeShpdGVtKSlcbn1cblxuY29uc3QgcmVtb3ZlSXRlbSA9IChrZXk6IHN0cmluZykgPT4ge1xuXHRzdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KVxufVxuXG5jb25zdCBnZXRQZXJzaXN0ZWRUb2tlbiA9ICgpID0+IHtcblx0Y29uc3QgdG9rZW46IE9BdXRoVG9rZW5Pck51bGwgPSBnZXRJdGVtKHRva2VuS2V5KVxuXHRyZXR1cm4gdG9rZW5cbn1cblxuY29uc3QgcGVyc2lzdFRva2VuID0gKHRva2VuOiBPQXV0aFRva2VuT3JOdWxsKSA9PiB7XG5cdHNldEl0ZW0odG9rZW5LZXksIHRva2VuKVxufVxuXG5jb25zdCBnZXRQZXJzaXN0ZWRDYWxpcGVyVG9rZW4gPSAoKSA9PiB7XG5cdGNvbnN0IHRva2VuOiBDYWxpcGVyVG9rZW4gfCBudWxsID0gZ2V0SXRlbShjYWxpcGVyVG9rZW5LZXkpXG5cdHJldHVybiB0b2tlblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBlcnNpc3RlbmNlU2VydmljZSBleHRlbmRzIFRva2VuUGVyc2lzdGVuY2VTZXJ2aWNlIHtcblx0Z2V0SXRlbTogKGtleTogc3RyaW5nKSA9PiBhbnlcblx0c2V0SXRlbTogKGtleTogc3RyaW5nLCBpdGVtOiBhbnkpID0+IHZvaWRcblx0cmVtb3ZlSXRlbTogKGtleTogc3RyaW5nKSA9PiB2b2lkXG5cdGdldFBlcnNpc3RlZENhbGlwZXJUb2tlbjogKCkgPT4gQ2FsaXBlclRva2VuIHwgbnVsbFxufVxuXG5leHBvcnQgY29uc3QgcGVyc2lzdGVuY2VTZXJ2aWNlOiBQZXJzaXN0ZW5jZVNlcnZpY2UgPSB7XG5cdGdldEl0ZW0sXG5cdHNldEl0ZW0sXG5cdHJlbW92ZUl0ZW0sXG5cdGdldFBlcnNpc3RlZFRva2VuLFxuXHRwZXJzaXN0VG9rZW4sXG5cdGdldFBlcnNpc3RlZENhbGlwZXJUb2tlblxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxPQUFPLE1BQU0sd0JBQXdCO0FBSTVDLE1BQU1DLFFBQVEsR0FBRyx1QkFBdUI7QUFDeEMsTUFBTUMsZUFBZSxHQUFHLGdDQUFnQztBQUN4RCxPQUFPLE1BQU1DLFlBQVksR0FBRywyQkFBMkI7QUFDdkQsT0FBTyxNQUFNQyxtQkFBbUIsR0FBRyxpQ0FBaUM7QUFDcEUsT0FBTyxNQUFNQyx3QkFBd0IsR0FBRyxzQ0FBc0M7QUFFOUUsTUFBTUMsT0FBTyxHQUFJQyxHQUFXLElBQUs7RUFDaEMsTUFBTUMsU0FBUyxHQUFHUixPQUFPLENBQUNNLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDO0VBQ3RDLElBQUksQ0FBQ0MsU0FBUyxFQUFFO0lBQ2YsT0FBTyxJQUFJO0VBQ1o7RUFDQSxPQUFPQyxJQUFJLENBQUNDLEtBQUssQ0FBQ0YsU0FBUyxDQUFDO0FBQzdCLENBQUM7QUFFRCxNQUFNRyxPQUFPLEdBQUdBLENBQUNKLEdBQVcsRUFBRUssSUFBUyxLQUFLO0VBQzNDWixPQUFPLENBQUNXLE9BQU8sQ0FBQ0osR0FBRyxFQUFFRSxJQUFJLENBQUNJLFNBQVMsQ0FBQ0QsSUFBSSxDQUFDLENBQUM7QUFDM0MsQ0FBQztBQUVELE1BQU1FLFVBQVUsR0FBSVAsR0FBVyxJQUFLO0VBQ25DUCxPQUFPLENBQUNjLFVBQVUsQ0FBQ1AsR0FBRyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxNQUFNUSxpQkFBaUIsR0FBR0EsQ0FBQSxLQUFNO0VBQy9CLE1BQU1DLEtBQXVCLEdBQUdWLE9BQU8sQ0FBQ0wsUUFBUSxDQUFDO0VBQ2pELE9BQU9lLEtBQUs7QUFDYixDQUFDO0FBRUQsTUFBTUMsWUFBWSxHQUFJRCxLQUF1QixJQUFLO0VBQ2pETCxPQUFPLENBQUNWLFFBQVEsRUFBRWUsS0FBSyxDQUFDO0FBQ3pCLENBQUM7QUFFRCxNQUFNRSx3QkFBd0IsR0FBR0EsQ0FBQSxLQUFNO0VBQ3RDLE1BQU1GLEtBQTBCLEdBQUdWLE9BQU8sQ0FBQ0osZUFBZSxDQUFDO0VBQzNELE9BQU9jLEtBQUs7QUFDYixDQUFDO0FBU0QsT0FBTyxNQUFNRyxrQkFBc0MsR0FBRztFQUNyRGIsT0FBTztFQUNQSyxPQUFPO0VBQ1BHLFVBQVU7RUFDVkMsaUJBQWlCO0VBQ2pCRSxZQUFZO0VBQ1pDO0FBQ0QsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
newSearchString = `?${newSearchString}`;
|
|
24
|
-
}
|
|
25
|
-
history.pushState('', '', `${location.protocol}//${location.host}${location.pathname}${newSearchString}`);
|
|
1
|
+
import { parse, stringify } from 'query-string';
|
|
2
|
+
import { windowService } from './windowService';
|
|
3
|
+
export const ticketProviderService = {
|
|
4
|
+
getTicket: () => {
|
|
5
|
+
const location = windowService.getLocation();
|
|
6
|
+
return parse(location.search).ticket;
|
|
7
|
+
},
|
|
8
|
+
getAppServiceName: () => {
|
|
9
|
+
const location = windowService.getLocation();
|
|
10
|
+
return `${location.protocol}//${location.host}/`;
|
|
11
|
+
},
|
|
12
|
+
removeTicket: () => {
|
|
13
|
+
const location = windowService.getLocation();
|
|
14
|
+
const history = windowService.getHistory();
|
|
15
|
+
const parsedSearch = parse(location.search);
|
|
16
|
+
const {
|
|
17
|
+
ticket,
|
|
18
|
+
...newSearch
|
|
19
|
+
} = parsedSearch;
|
|
20
|
+
let newSearchString = stringify(newSearch);
|
|
21
|
+
if (newSearchString) {
|
|
22
|
+
newSearchString = `?${newSearchString}`;
|
|
26
23
|
}
|
|
24
|
+
history.pushState('', '', `${location.protocol}//${location.host}${location.pathname}${newSearchString}`);
|
|
25
|
+
}
|
|
27
26
|
};
|
|
27
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXJzZSIsInN0cmluZ2lmeSIsIndpbmRvd1NlcnZpY2UiLCJ0aWNrZXRQcm92aWRlclNlcnZpY2UiLCJnZXRUaWNrZXQiLCJsb2NhdGlvbiIsImdldExvY2F0aW9uIiwic2VhcmNoIiwidGlja2V0IiwiZ2V0QXBwU2VydmljZU5hbWUiLCJwcm90b2NvbCIsImhvc3QiLCJyZW1vdmVUaWNrZXQiLCJoaXN0b3J5IiwiZ2V0SGlzdG9yeSIsInBhcnNlZFNlYXJjaCIsIm5ld1NlYXJjaCIsIm5ld1NlYXJjaFN0cmluZyIsInB1c2hTdGF0ZSIsInBhdGhuYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL3RpY2tldFByb3ZpZGVyU2VydmljZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwYXJzZSwgc3RyaW5naWZ5IH0gZnJvbSAncXVlcnktc3RyaW5nJ1xuaW1wb3J0IHsgVGlja2V0UHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgeyB3aW5kb3dTZXJ2aWNlIH0gZnJvbSAnLi93aW5kb3dTZXJ2aWNlJ1xuXG5leHBvcnQgY29uc3QgdGlja2V0UHJvdmlkZXJTZXJ2aWNlOiBUaWNrZXRQcm92aWRlclNlcnZpY2UgPSB7XG5cdGdldFRpY2tldDogKCkgPT4ge1xuXHRcdGNvbnN0IGxvY2F0aW9uID0gd2luZG93U2VydmljZS5nZXRMb2NhdGlvbigpXG5cdFx0cmV0dXJuIHBhcnNlKGxvY2F0aW9uLnNlYXJjaCkudGlja2V0IGFzIHN0cmluZ1xuXHR9LFxuXHRnZXRBcHBTZXJ2aWNlTmFtZTogKCkgPT4ge1xuXHRcdGNvbnN0IGxvY2F0aW9uID0gd2luZG93U2VydmljZS5nZXRMb2NhdGlvbigpXG5cdFx0cmV0dXJuIGAke2xvY2F0aW9uLnByb3RvY29sfS8vJHtsb2NhdGlvbi5ob3N0fS9gXG5cdH0sXG5cdHJlbW92ZVRpY2tldDogKCkgPT4ge1xuXHRcdGNvbnN0IGxvY2F0aW9uID0gd2luZG93U2VydmljZS5nZXRMb2NhdGlvbigpXG5cdFx0Y29uc3QgaGlzdG9yeSA9IHdpbmRvd1NlcnZpY2UuZ2V0SGlzdG9yeSgpXG5cdFx0Y29uc3QgcGFyc2VkU2VhcmNoID0gcGFyc2UobG9jYXRpb24uc2VhcmNoKVxuXHRcdGNvbnN0IHsgdGlja2V0LCAuLi5uZXdTZWFyY2ggfSA9IHBhcnNlZFNlYXJjaFxuXHRcdGxldCBuZXdTZWFyY2hTdHJpbmcgPSBzdHJpbmdpZnkobmV3U2VhcmNoKVxuXHRcdGlmIChuZXdTZWFyY2hTdHJpbmcpIHtcblx0XHRcdG5ld1NlYXJjaFN0cmluZyA9IGA/JHtuZXdTZWFyY2hTdHJpbmd9YFxuXHRcdH1cblx0XHRoaXN0b3J5LnB1c2hTdGF0ZSgnJywgJycsIGAke2xvY2F0aW9uLnByb3RvY29sfS8vJHtsb2NhdGlvbi5ob3N0fSR7bG9jYXRpb24ucGF0aG5hbWV9JHtuZXdTZWFyY2hTdHJpbmd9YClcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxLQUFLLEVBQUVDLFNBQVMsUUFBUSxjQUFjO0FBRS9DLFNBQVNDLGFBQWEsUUFBUSxpQkFBaUI7QUFFL0MsT0FBTyxNQUFNQyxxQkFBNEMsR0FBRztFQUMzREMsU0FBUyxFQUFFQSxDQUFBLEtBQU07SUFDaEIsTUFBTUMsUUFBUSxHQUFHSCxhQUFhLENBQUNJLFdBQVcsQ0FBQyxDQUFDO0lBQzVDLE9BQU9OLEtBQUssQ0FBQ0ssUUFBUSxDQUFDRSxNQUFNLENBQUMsQ0FBQ0MsTUFBTTtFQUNyQyxDQUFDO0VBQ0RDLGlCQUFpQixFQUFFQSxDQUFBLEtBQU07SUFDeEIsTUFBTUosUUFBUSxHQUFHSCxhQUFhLENBQUNJLFdBQVcsQ0FBQyxDQUFDO0lBQzVDLE9BQU8sR0FBR0QsUUFBUSxDQUFDSyxRQUFRLEtBQUtMLFFBQVEsQ0FBQ00sSUFBSSxHQUFHO0VBQ2pELENBQUM7RUFDREMsWUFBWSxFQUFFQSxDQUFBLEtBQU07SUFDbkIsTUFBTVAsUUFBUSxHQUFHSCxhQUFhLENBQUNJLFdBQVcsQ0FBQyxDQUFDO0lBQzVDLE1BQU1PLE9BQU8sR0FBR1gsYUFBYSxDQUFDWSxVQUFVLENBQUMsQ0FBQztJQUMxQyxNQUFNQyxZQUFZLEdBQUdmLEtBQUssQ0FBQ0ssUUFBUSxDQUFDRSxNQUFNLENBQUM7SUFDM0MsTUFBTTtNQUFFQyxNQUFNO01BQUUsR0FBR1E7SUFBVSxDQUFDLEdBQUdELFlBQVk7SUFDN0MsSUFBSUUsZUFBZSxHQUFHaEIsU0FBUyxDQUFDZSxTQUFTLENBQUM7SUFDMUMsSUFBSUMsZUFBZSxFQUFFO01BQ3BCQSxlQUFlLEdBQUcsSUFBSUEsZUFBZSxFQUFFO0lBQ3hDO0lBQ0FKLE9BQU8sQ0FBQ0ssU0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBR2IsUUFBUSxDQUFDSyxRQUFRLEtBQUtMLFFBQVEsQ0FBQ00sSUFBSSxHQUFHTixRQUFRLENBQUNjLFFBQVEsR0FBR0YsZUFBZSxFQUFFLENBQUM7RUFDMUc7QUFDRCxDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.tokenPersistenceService = void 0;
|
|
4
1
|
let storedToken = null;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
2
|
+
export const tokenPersistenceService = {
|
|
3
|
+
getPersistedToken: () => {
|
|
4
|
+
return storedToken;
|
|
5
|
+
},
|
|
6
|
+
persistToken: token => {
|
|
7
|
+
storedToken = token;
|
|
8
|
+
}
|
|
12
9
|
};
|
|
10
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdG9yZWRUb2tlbiIsInRva2VuUGVyc2lzdGVuY2VTZXJ2aWNlIiwiZ2V0UGVyc2lzdGVkVG9rZW4iLCJwZXJzaXN0VG9rZW4iLCJ0b2tlbiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy90b2tlblBlcnNpc3RlbmNlU2VydmljZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPQXV0aFRva2VuT3JOdWxsLCBUb2tlblBlcnNpc3RlbmNlU2VydmljZSB9IGZyb20gJy4uL3R5cGVzJ1xuXG5sZXQgc3RvcmVkVG9rZW46IE9BdXRoVG9rZW5Pck51bGwgPSBudWxsXG5cbmV4cG9ydCBjb25zdCB0b2tlblBlcnNpc3RlbmNlU2VydmljZTogVG9rZW5QZXJzaXN0ZW5jZVNlcnZpY2UgPSB7XG5cdGdldFBlcnNpc3RlZFRva2VuOiAoKSA9PiB7XG5cdFx0cmV0dXJuIHN0b3JlZFRva2VuXG5cdH0sXG5cblx0cGVyc2lzdFRva2VuOiB0b2tlbiA9PiB7XG5cdFx0c3RvcmVkVG9rZW4gPSB0b2tlblxuXHR9XG59XG4iXSwibWFwcGluZ3MiOiJBQUVBLElBQUlBLFdBQTZCLEdBQUcsSUFBSTtBQUV4QyxPQUFPLE1BQU1DLHVCQUFnRCxHQUFHO0VBQy9EQyxpQkFBaUIsRUFBRUEsQ0FBQSxLQUFNO0lBQ3hCLE9BQU9GLFdBQVc7RUFDbkIsQ0FBQztFQUVERyxZQUFZLEVBQUVDLEtBQUssSUFBSTtJQUN0QkosV0FBVyxHQUFHSSxLQUFLO0VBQ3BCO0FBQ0QsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1,20 +1,18 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.windowService = void 0;
|
|
4
1
|
let location;
|
|
5
2
|
let history;
|
|
6
3
|
let isOnline;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
4
|
+
export const windowService = {
|
|
5
|
+
setLocation: value => {
|
|
6
|
+
location = value;
|
|
7
|
+
},
|
|
8
|
+
getLocation: () => location || window.location,
|
|
9
|
+
setHistory: value => {
|
|
10
|
+
history = value;
|
|
11
|
+
},
|
|
12
|
+
getHistory: () => history || window.history,
|
|
13
|
+
setIsOnline: value => {
|
|
14
|
+
isOnline = value;
|
|
15
|
+
},
|
|
16
|
+
getIsOnline: () => typeof isOnline !== 'undefined' ? isOnline : window.navigator.onLine
|
|
20
17
|
};
|
|
18
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2NhdGlvbiIsImhpc3RvcnkiLCJpc09ubGluZSIsIndpbmRvd1NlcnZpY2UiLCJzZXRMb2NhdGlvbiIsInZhbHVlIiwiZ2V0TG9jYXRpb24iLCJ3aW5kb3ciLCJzZXRIaXN0b3J5IiwiZ2V0SGlzdG9yeSIsInNldElzT25saW5lIiwiZ2V0SXNPbmxpbmUiLCJuYXZpZ2F0b3IiLCJvbkxpbmUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvd2luZG93U2VydmljZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTaW1wbGVMb2NhdGlvbiB9IGZyb20gJy4uL3R5cGVzJ1xuXG5leHBvcnQgaW50ZXJmYWNlIFdpbmRvd1NlcnZpY2Uge1xuXHRzZXRMb2NhdGlvbjogKHZhbHVlPzogU2ltcGxlTG9jYXRpb24pID0+IHZvaWRcblx0Z2V0TG9jYXRpb246ICgpID0+IFNpbXBsZUxvY2F0aW9uIHwgTG9jYXRpb25cblx0c2V0SGlzdG9yeTogKHZhbHVlPzogSGlzdG9yeSkgPT4gdm9pZFxuXHRnZXRIaXN0b3J5OiAoKSA9PiBIaXN0b3J5XG5cdHNldElzT25saW5lOiAoaXNPbmxpbmU/OiBib29sZWFuKSA9PiB2b2lkXG5cdGdldElzT25saW5lOiAoKSA9PiBib29sZWFuXG59XG5cbmxldCBsb2NhdGlvbjogU2ltcGxlTG9jYXRpb24gfCB1bmRlZmluZWRcbmxldCBoaXN0b3J5OiBIaXN0b3J5IHwgdW5kZWZpbmVkXG5sZXQgaXNPbmxpbmU6IGJvb2xlYW4gfCB1bmRlZmluZWRcblxuZXhwb3J0IGNvbnN0IHdpbmRvd1NlcnZpY2U6IFdpbmRvd1NlcnZpY2UgPSB7XG5cdHNldExvY2F0aW9uOiAodmFsdWU/OiBTaW1wbGVMb2NhdGlvbikgPT4ge1xuXHRcdGxvY2F0aW9uID0gdmFsdWVcblx0fSxcblx0Z2V0TG9jYXRpb246ICgpID0+IGxvY2F0aW9uIHx8IHdpbmRvdy5sb2NhdGlvbixcblx0c2V0SGlzdG9yeTogKHZhbHVlPzogSGlzdG9yeSkgPT4ge1xuXHRcdGhpc3RvcnkgPSB2YWx1ZVxuXHR9LFxuXHRnZXRIaXN0b3J5OiAoKSA9PiBoaXN0b3J5IHx8IHdpbmRvdy5oaXN0b3J5LFxuXHRzZXRJc09ubGluZTogKHZhbHVlPzogYm9vbGVhbikgPT4ge1xuXHRcdGlzT25saW5lID0gdmFsdWVcblx0fSxcblx0Z2V0SXNPbmxpbmU6ICgpID0+ICh0eXBlb2YgaXNPbmxpbmUgIT09ICd1bmRlZmluZWQnID8gaXNPbmxpbmUgOiB3aW5kb3cubmF2aWdhdG9yLm9uTGluZSlcbn1cbiJdLCJtYXBwaW5ncyI6IkFBV0EsSUFBSUEsUUFBb0M7QUFDeEMsSUFBSUMsT0FBNEI7QUFDaEMsSUFBSUMsUUFBNkI7QUFFakMsT0FBTyxNQUFNQyxhQUE0QixHQUFHO0VBQzNDQyxXQUFXLEVBQUdDLEtBQXNCLElBQUs7SUFDeENMLFFBQVEsR0FBR0ssS0FBSztFQUNqQixDQUFDO0VBQ0RDLFdBQVcsRUFBRUEsQ0FBQSxLQUFNTixRQUFRLElBQUlPLE1BQU0sQ0FBQ1AsUUFBUTtFQUM5Q1EsVUFBVSxFQUFHSCxLQUFlLElBQUs7SUFDaENKLE9BQU8sR0FBR0ksS0FBSztFQUNoQixDQUFDO0VBQ0RJLFVBQVUsRUFBRUEsQ0FBQSxLQUFNUixPQUFPLElBQUlNLE1BQU0sQ0FBQ04sT0FBTztFQUMzQ1MsV0FBVyxFQUFHTCxLQUFlLElBQUs7SUFDakNILFFBQVEsR0FBR0csS0FBSztFQUNqQixDQUFDO0VBQ0RNLFdBQVcsRUFBRUEsQ0FBQSxLQUFPLE9BQU9ULFFBQVEsS0FBSyxXQUFXLEdBQUdBLFFBQVEsR0FBR0ssTUFBTSxDQUFDSyxTQUFTLENBQUNDO0FBQ25GLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|