@zengenti/contensis-react-base 3.1.1-beta.9 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -0
- package/cjs/{App-4c9e6d1b.js → App-8a2f85d5.js} +90 -74
- package/cjs/App-8a2f85d5.js.map +1 -0
- package/cjs/{ChangePassword.container-15acbce2.js → ChangePassword.container-efcb1fcd.js} +27 -28
- package/cjs/ChangePassword.container-efcb1fcd.js.map +1 -0
- package/{esm/ToJs-48b1f586.js → cjs/CookieHelper.class-34994aa1.js} +11 -97
- package/cjs/CookieHelper.class-34994aa1.js.map +1 -0
- package/cjs/{RouteLoader-190ac009.js → RouteLoader-4fb33db9.js} +10 -6
- package/cjs/RouteLoader-4fb33db9.js.map +1 -0
- package/cjs/{ContensisDeliveryApi-d63b3d39.js → SSRContext-433c53e4.js} +103 -42
- package/cjs/SSRContext-433c53e4.js.map +1 -0
- package/cjs/ToJs-7f965106.js +128 -0
- package/cjs/ToJs-7f965106.js.map +1 -0
- package/cjs/client.js +20 -20
- package/cjs/client.js.map +1 -1
- package/cjs/contensis-react-base.js +44 -34
- package/cjs/contensis-react-base.js.map +1 -1
- package/cjs/forms.js +54 -14
- package/cjs/forms.js.map +1 -1
- package/cjs/redux.js +16 -16
- package/cjs/redux.js.map +1 -1
- package/cjs/routing.js +13 -4
- package/cjs/routing.js.map +1 -1
- package/cjs/{sagas-e04b94c1.js → sagas-4e8b68f0.js} +8 -4
- package/cjs/sagas-4e8b68f0.js.map +1 -0
- package/cjs/search.js +1 -1
- package/cjs/{selectors-8e56cc34.js → selectors-e3f1fd85.js} +240 -3
- package/cjs/selectors-e3f1fd85.js.map +1 -0
- package/cjs/{version-bb4a3418.js → store-665c229b.js} +7 -23
- package/cjs/store-665c229b.js.map +1 -0
- package/cjs/user.js +9 -10
- package/cjs/user.js.map +1 -1
- package/cjs/util.js +14 -10
- package/cjs/util.js.map +1 -1
- package/cjs/{version-c2a37225.js → version-3b05d6c8.js} +17 -17
- package/cjs/{version-c2a37225.js.map → version-3b05d6c8.js.map} +1 -1
- package/cjs/version-7b43af3e.js +20 -0
- package/cjs/version-7b43af3e.js.map +1 -0
- package/esm/{App-b8c75933.js → App-91d81f0c.js} +59 -43
- package/esm/App-91d81f0c.js.map +1 -0
- package/esm/{ChangePassword.container-6a1c60f3.js → ChangePassword.container-96dab474.js} +4 -5
- package/esm/ChangePassword.container-96dab474.js.map +1 -0
- package/{cjs/ToJs-374a7fbd.js → esm/CookieHelper.class-6d649751.js} +5 -129
- package/esm/CookieHelper.class-6d649751.js.map +1 -0
- package/esm/{RouteLoader-487b5a9b.js → RouteLoader-94ca1c51.js} +10 -6
- package/esm/RouteLoader-94ca1c51.js.map +1 -0
- package/esm/{ContensisDeliveryApi-7b71bb3e.js → SSRContext-88841734.js} +95 -41
- package/esm/SSRContext-88841734.js.map +1 -0
- package/esm/ToJs-67b34be1.js +98 -0
- package/esm/ToJs-67b34be1.js.map +1 -0
- package/esm/client.js +18 -18
- package/esm/client.js.map +1 -1
- package/esm/contensis-react-base.js +31 -21
- package/esm/contensis-react-base.js.map +1 -1
- package/esm/forms.js +54 -14
- package/esm/forms.js.map +1 -1
- package/esm/redux.js +7 -7
- package/esm/routing.js +13 -4
- package/esm/routing.js.map +1 -1
- package/esm/{sagas-933a8fc8.js → sagas-66c305a8.js} +8 -4
- package/esm/sagas-66c305a8.js.map +1 -0
- package/esm/search.js +2 -2
- package/esm/selectors-d2bdfe22.js +396 -0
- package/esm/selectors-d2bdfe22.js.map +1 -0
- package/esm/{version-f6660b69.js → store-f524c50d.js} +4 -16
- package/esm/store-f524c50d.js.map +1 -0
- package/esm/user.js +7 -8
- package/esm/user.js.map +1 -1
- package/esm/util.js +6 -5
- package/esm/util.js.map +1 -1
- package/esm/version-7f50b694.js +15 -0
- package/esm/version-7f50b694.js.map +1 -0
- package/esm/{version-5a0b9406.js → version-dcc28b32.js} +3 -3
- package/esm/{version-5a0b9406.js.map → version-dcc28b32.js.map} +1 -1
- package/models/app/App.d.ts +1 -1
- package/models/app/pages/VersionInfo/components/VersionInfo.d.ts +1 -1
- package/models/client/client.d.ts +1 -1
- package/models/index.d.ts +1 -2
- package/models/models/AppRouteProps.d.ts +11 -0
- package/models/{redux/appstate.d.ts → models/AppState.d.ts} +1 -1
- package/models/models/ContentTypeMapping.d.ts +29 -0
- package/models/models/EntryMapper.d.ts +3 -0
- package/models/models/GetRouteActionArgs.d.ts +15 -0
- package/models/models/ReduxInjector.d.ts +5 -0
- package/models/models/RequireLogin.d.ts +6 -0
- package/models/models/RouteComponent.d.ts +2 -0
- package/models/models/RouteComponentProps.d.ts +9 -0
- package/models/models/RouteLoaderProps.d.ts +6 -0
- package/models/models/RouteNode.d.ts +5 -0
- package/models/models/SSRContext.d.ts +11 -0
- package/models/models/StaticRoute.d.ts +28 -0
- package/models/models/WithEvents.d.ts +29 -0
- package/models/models/config/AppConfig.d.ts +12 -0
- package/models/{config.d.ts → models/config/ServerConfig.d.ts} +2 -12
- package/models/models/config/StateType.d.ts +1 -0
- package/models/models/config/index.d.ts +3 -0
- package/models/models/index.d.ts +15 -0
- package/models/redux/sagas/navigation.d.ts +1 -3
- package/models/redux/store/injectors.d.ts +4 -4
- package/models/redux/store/store.d.ts +1 -2
- package/models/routing/components/RouteLoader.d.ts +1 -1
- package/models/routing/redux/actions.d.ts +2 -3
- package/models/routing/redux/selectors.d.ts +2 -2
- package/models/routing/util/find-contenttype-mapping.d.ts +1 -1
- package/models/routing/util/queries.d.ts +2 -2
- package/models/search/models/Queries.d.ts +2 -1
- package/models/search/models/Search.d.ts +3 -0
- package/models/search/search/ContensisDeliveryApi.d.ts +2 -2
- package/models/server/features/caching/cacheDuration.schema.d.ts +1 -0
- package/models/server/features/linkdepth-api/search.d.ts +1 -1
- package/models/server/internalServer.d.ts +1 -1
- package/models/server/util/bundles.d.ts +1 -1
- package/models/server/util/headers.d.ts +1 -1
- package/models/server/webApp.d.ts +1 -1
- package/models/user/redux/selectors.d.ts +1 -2
- package/models/user/util/matchGroups.d.ts +1 -1
- package/models/util/CachedDeliveryApi.d.ts +11 -10
- package/models/util/ContensisDeliveryApi.d.ts +9 -6
- package/models/util/SSRContext.d.ts +30 -0
- package/models/util/index.d.ts +1 -0
- package/models/util/json-mapper.d.ts +1 -2
- package/package.json +3 -3
- package/cjs/App-4c9e6d1b.js.map +0 -1
- package/cjs/ChangePassword.container-15acbce2.js.map +0 -1
- package/cjs/ContensisDeliveryApi-d63b3d39.js.map +0 -1
- package/cjs/CookieConstants-000427db.js +0 -10
- package/cjs/CookieConstants-000427db.js.map +0 -1
- package/cjs/RouteLoader-190ac009.js.map +0 -1
- package/cjs/ToJs-374a7fbd.js.map +0 -1
- package/cjs/reducers-ea1b2dc0.js +0 -236
- package/cjs/reducers-ea1b2dc0.js.map +0 -1
- package/cjs/sagas-e04b94c1.js.map +0 -1
- package/cjs/selectors-8e56cc34.js.map +0 -1
- package/cjs/version-bb4a3418.js.map +0 -1
- package/esm/App-b8c75933.js.map +0 -1
- package/esm/ChangePassword.container-6a1c60f3.js.map +0 -1
- package/esm/ContensisDeliveryApi-7b71bb3e.js.map +0 -1
- package/esm/CookieConstants-3d3b6531.js +0 -6
- package/esm/CookieConstants-3d3b6531.js.map +0 -1
- package/esm/RouteLoader-487b5a9b.js.map +0 -1
- package/esm/ToJs-48b1f586.js.map +0 -1
- package/esm/reducers-919da5e0.js +0 -213
- package/esm/reducers-919da5e0.js.map +0 -1
- package/esm/sagas-933a8fc8.js.map +0 -1
- package/esm/selectors-1f0cc787.js +0 -182
- package/esm/selectors-1f0cc787.js.map +0 -1
- package/esm/version-f6660b69.js.map +0 -1
- package/models/routing/routes.d.ts +0 -127
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var selectors$1 = require('./selectors-e3f1fd85.js');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
|
|
6
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
7
|
+
|
|
8
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
9
|
+
|
|
10
|
+
const selectUserIsLoading = state => selectors$1.getImmutableOrJS(state, ['user', 'authenticationState', 'isLoading']);
|
|
11
|
+
const selectUserIsAuthenticated = state => selectors$1.getImmutableOrJS(state, ['user', 'authenticationState', 'isAuthenticated']);
|
|
12
|
+
const selectUserIsAuthenticationError = state => selectors$1.getImmutableOrJS(state, ['user', 'authenticationState', 'isAuthenticationError']);
|
|
13
|
+
const selectUserIsError = state => selectors$1.getImmutableOrJS(state, ['user', 'authenticationState', 'isError']);
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* DEPRECATED 12/2021 - use selectUserErrorMessage instead
|
|
17
|
+
* @param state AppState
|
|
18
|
+
* @returns string
|
|
19
|
+
*/
|
|
20
|
+
const selectUserAuthenticationErrorMessage = state => selectors$1.getImmutableOrJS(state, ['user', 'authenticationState', 'errorMessage']);
|
|
21
|
+
const selectUserErrorMessage = state => selectors$1.getImmutableOrJS(state, ['user', 'authenticationState', 'errorMessage']);
|
|
22
|
+
const selectClientCredentials = (state, returnType) => selectors$1.getImmutableOrJS(state, ['user', 'authenticationState', 'clientCredentials'], {}, returnType);
|
|
23
|
+
const selectUser = (state, returnType) => selectors$1.getImmutableOrJS(state, 'user', {}, returnType);
|
|
24
|
+
const selectUserIsZengentiStaff = state => selectors$1.getImmutableOrJS(state, ['user', 'isZengentiStaff']);
|
|
25
|
+
const selectUserGuid = state => selectors$1.getImmutableOrJS(state, ['user', 'id']);
|
|
26
|
+
const selectUsername = state => selectors$1.getImmutableOrJS(state, ['user', 'username']);
|
|
27
|
+
const selectUserEmail = state => selectors$1.getImmutableOrJS(state, ['user', 'email']);
|
|
28
|
+
const selectUserGroups = (state, returnType) => selectors$1.getImmutableOrJS(state, ['user', 'groups'], [], returnType);
|
|
29
|
+
const selectUserSecurityToken = state => selectors$1.getImmutableOrJS(state, ['user', 'authenticationState', 'clientCredentials', 'contensisClassicToken']);
|
|
30
|
+
const selectUserRegistration = (state, returnType) => selectors$1.getImmutableOrJS(state, ['user', 'registration'], {}, returnType);
|
|
31
|
+
const selectUserRegistrationError = state => selectors$1.getImmutableOrJS(state, ['user', 'registration', 'error'], false);
|
|
32
|
+
const selectUserRegistrationIsLoading = state => selectors$1.getImmutableOrJS(state, ['user', 'registration', 'isLoading'], false);
|
|
33
|
+
const selectUserRegistrationIsSuccess = state => selectors$1.getImmutableOrJS(state, ['user', 'registration', 'success'], false);
|
|
34
|
+
const selectPasswordResetRequestSending = state => selectors$1.getImmutableOrJS(state, ['user', 'passwordResetRequest', 'isSending']);
|
|
35
|
+
const selectPasswordResetRequestSent = state => selectors$1.getImmutableOrJS(state, ['user', 'passwordResetRequest', 'sent']);
|
|
36
|
+
const selectPasswordResetRequestError = state => selectors$1.getImmutableOrJS(state, ['user', 'passwordResetRequest', 'error']);
|
|
37
|
+
const selectResetPasswordSending = state => selectors$1.getImmutableOrJS(state, ['user', 'resetPassword', 'isSending']);
|
|
38
|
+
const selectResetPasswordSent = state => selectors$1.getImmutableOrJS(state, ['user', 'resetPassword', 'sent']);
|
|
39
|
+
const selectResetPasswordError = state => selectors$1.getImmutableOrJS(state, ['user', 'resetPassword', 'error']);
|
|
40
|
+
const selectChangePasswordSending = state => selectors$1.getImmutableOrJS(state, ['user', 'changePassword', 'isSending']);
|
|
41
|
+
const selectChangePasswordSent = state => selectors$1.getImmutableOrJS(state, ['user', 'changePassword', 'sent']);
|
|
42
|
+
const selectChangePasswordError = state => selectors$1.getImmutableOrJS(state, ['user', 'changePassword', 'error']);
|
|
43
|
+
|
|
44
|
+
var selectors = /*#__PURE__*/Object.freeze({
|
|
45
|
+
__proto__: null,
|
|
46
|
+
selectUserIsLoading: selectUserIsLoading,
|
|
47
|
+
selectUserIsAuthenticated: selectUserIsAuthenticated,
|
|
48
|
+
selectUserIsAuthenticationError: selectUserIsAuthenticationError,
|
|
49
|
+
selectUserIsError: selectUserIsError,
|
|
50
|
+
selectUserAuthenticationErrorMessage: selectUserAuthenticationErrorMessage,
|
|
51
|
+
selectUserErrorMessage: selectUserErrorMessage,
|
|
52
|
+
selectClientCredentials: selectClientCredentials,
|
|
53
|
+
selectUser: selectUser,
|
|
54
|
+
selectUserIsZengentiStaff: selectUserIsZengentiStaff,
|
|
55
|
+
selectUserGuid: selectUserGuid,
|
|
56
|
+
selectUsername: selectUsername,
|
|
57
|
+
selectUserEmail: selectUserEmail,
|
|
58
|
+
selectUserGroups: selectUserGroups,
|
|
59
|
+
selectUserSecurityToken: selectUserSecurityToken,
|
|
60
|
+
selectUserRegistration: selectUserRegistration,
|
|
61
|
+
selectUserRegistrationError: selectUserRegistrationError,
|
|
62
|
+
selectUserRegistrationIsLoading: selectUserRegistrationIsLoading,
|
|
63
|
+
selectUserRegistrationIsSuccess: selectUserRegistrationIsSuccess,
|
|
64
|
+
selectPasswordResetRequestSending: selectPasswordResetRequestSending,
|
|
65
|
+
selectPasswordResetRequestSent: selectPasswordResetRequestSent,
|
|
66
|
+
selectPasswordResetRequestError: selectPasswordResetRequestError,
|
|
67
|
+
selectResetPasswordSending: selectResetPasswordSending,
|
|
68
|
+
selectResetPasswordSent: selectResetPasswordSent,
|
|
69
|
+
selectResetPasswordError: selectResetPasswordError,
|
|
70
|
+
selectChangePasswordSending: selectChangePasswordSending,
|
|
71
|
+
selectChangePasswordSent: selectChangePasswordSent,
|
|
72
|
+
selectChangePasswordError: selectChangePasswordError
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
const matchUserGroup = (userGroups = [], requiredGroups = []) => {
|
|
76
|
+
if (!Array.isArray(requiredGroups) || Array.isArray(requiredGroups) && requiredGroups.length === 0) return true;
|
|
77
|
+
const groupMatch = requiredGroups.some(requiredGroup => {
|
|
78
|
+
return userGroups.some(userGroup => {
|
|
79
|
+
if (requiredGroup.id === userGroup.id) {
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
82
|
+
if (requiredGroup.name === userGroup.name) {
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
return groupMatch;
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
/* eslint-disable react/display-name */
|
|
91
|
+
const toJS = WrappedComponent => wrappedComponentProps => {
|
|
92
|
+
const KEY = 0;
|
|
93
|
+
const VALUE = 1;
|
|
94
|
+
const propsJS = Object.entries(wrappedComponentProps).reduce((newProps, wrappedComponentProp) => {
|
|
95
|
+
const propKey = wrappedComponentProp[KEY];
|
|
96
|
+
const propValue = wrappedComponentProp[VALUE];
|
|
97
|
+
newProps[propKey] = propValue && typeof propValue === 'object' && 'toJS' in propValue ? propValue.toJS() : propValue;
|
|
98
|
+
return newProps;
|
|
99
|
+
}, {});
|
|
100
|
+
return /*#__PURE__*/React__default["default"].createElement(WrappedComponent, propsJS);
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
exports.matchUserGroup = matchUserGroup;
|
|
104
|
+
exports.selectChangePasswordError = selectChangePasswordError;
|
|
105
|
+
exports.selectChangePasswordSending = selectChangePasswordSending;
|
|
106
|
+
exports.selectChangePasswordSent = selectChangePasswordSent;
|
|
107
|
+
exports.selectClientCredentials = selectClientCredentials;
|
|
108
|
+
exports.selectPasswordResetRequestError = selectPasswordResetRequestError;
|
|
109
|
+
exports.selectPasswordResetRequestSending = selectPasswordResetRequestSending;
|
|
110
|
+
exports.selectPasswordResetRequestSent = selectPasswordResetRequestSent;
|
|
111
|
+
exports.selectResetPasswordError = selectResetPasswordError;
|
|
112
|
+
exports.selectResetPasswordSending = selectResetPasswordSending;
|
|
113
|
+
exports.selectResetPasswordSent = selectResetPasswordSent;
|
|
114
|
+
exports.selectUser = selectUser;
|
|
115
|
+
exports.selectUserErrorMessage = selectUserErrorMessage;
|
|
116
|
+
exports.selectUserGroups = selectUserGroups;
|
|
117
|
+
exports.selectUserGuid = selectUserGuid;
|
|
118
|
+
exports.selectUserIsAuthenticated = selectUserIsAuthenticated;
|
|
119
|
+
exports.selectUserIsAuthenticationError = selectUserIsAuthenticationError;
|
|
120
|
+
exports.selectUserIsError = selectUserIsError;
|
|
121
|
+
exports.selectUserIsLoading = selectUserIsLoading;
|
|
122
|
+
exports.selectUserRegistration = selectUserRegistration;
|
|
123
|
+
exports.selectUserRegistrationError = selectUserRegistrationError;
|
|
124
|
+
exports.selectUserRegistrationIsLoading = selectUserRegistrationIsLoading;
|
|
125
|
+
exports.selectUserRegistrationIsSuccess = selectUserRegistrationIsSuccess;
|
|
126
|
+
exports.selectors = selectors;
|
|
127
|
+
exports.toJS = toJS;
|
|
128
|
+
//# sourceMappingURL=ToJs-7f965106.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToJs-7f965106.js","sources":["../src/user/redux/selectors.ts","../src/user/util/matchGroups.ts","../src/util/ToJs.tsx"],"sourcesContent":["import { AppState, StateType } from '~/models';\nimport { getImmutableOrJS as getIn } from '~/redux/util';\n\nexport const selectUserIsLoading = (state: AppState) =>\n getIn(state, ['user', 'authenticationState', 'isLoading']);\n\nexport const selectUserIsAuthenticated = (state: AppState) =>\n getIn(state, ['user', 'authenticationState', 'isAuthenticated']);\n\nexport const selectUserIsAuthenticationError = (state: AppState) =>\n getIn(state, ['user', 'authenticationState', 'isAuthenticationError']);\n\nexport const selectUserIsError = (state: AppState) =>\n getIn(state, ['user', 'authenticationState', 'isError']);\n\n/**\n * DEPRECATED 12/2021 - use selectUserErrorMessage instead\n * @param state AppState\n * @returns string\n */\nexport const selectUserAuthenticationErrorMessage = (state: AppState) =>\n getIn(state, ['user', 'authenticationState', 'errorMessage']);\n\nexport const selectUserErrorMessage = (state: AppState) =>\n getIn(state, ['user', 'authenticationState', 'errorMessage']);\n\nexport const selectClientCredentials = (\n state: AppState,\n returnType?: StateType\n) =>\n getIn(\n state,\n ['user', 'authenticationState', 'clientCredentials'],\n {},\n returnType\n );\n\nexport const selectUser = (state: AppState, returnType?: StateType) =>\n getIn(state, 'user', {}, returnType);\n\nexport const selectUserIsZengentiStaff = (state: AppState) =>\n getIn(state, ['user', 'isZengentiStaff']);\n\nexport const selectUserGuid = (state: AppState) => getIn(state, ['user', 'id']);\n\nexport const selectUsername = (state: AppState) =>\n getIn(state, ['user', 'username']);\n\nexport const selectUserEmail = (state: AppState) =>\n getIn(state, ['user', 'email']);\n\nexport const selectUserGroups = (state: AppState, returnType?: StateType) =>\n getIn(state, ['user', 'groups'], [], returnType);\n\nexport const selectUserSecurityToken = (state: AppState) =>\n getIn(state, [\n 'user',\n 'authenticationState',\n 'clientCredentials',\n 'contensisClassicToken',\n ]);\n\nexport const selectUserRegistration = (\n state: AppState,\n returnType?: StateType\n) => getIn(state, ['user', 'registration'], {}, returnType);\n\nexport const selectUserRegistrationError = (state: AppState) =>\n getIn(state, ['user', 'registration', 'error'], false);\n\nexport const selectUserRegistrationIsLoading = (state: AppState) =>\n getIn(state, ['user', 'registration', 'isLoading'], false);\n\nexport const selectUserRegistrationIsSuccess = (state: AppState) =>\n getIn(state, ['user', 'registration', 'success'], false);\n\nexport const selectPasswordResetRequestSending = (state: AppState) =>\n getIn(state, ['user', 'passwordResetRequest', 'isSending']);\n\nexport const selectPasswordResetRequestSent = (state: AppState) =>\n getIn(state, ['user', 'passwordResetRequest', 'sent']);\n\nexport const selectPasswordResetRequestError = (state: AppState) =>\n getIn(state, ['user', 'passwordResetRequest', 'error']);\n\nexport const selectResetPasswordSending = (state: AppState) =>\n getIn(state, ['user', 'resetPassword', 'isSending']);\n\nexport const selectResetPasswordSent = (state: AppState) =>\n getIn(state, ['user', 'resetPassword', 'sent']);\n\nexport const selectResetPasswordError = (state: AppState) =>\n getIn(state, ['user', 'resetPassword', 'error']);\n\nexport const selectChangePasswordSending = (state: AppState) =>\n getIn(state, ['user', 'changePassword', 'isSending']);\n\nexport const selectChangePasswordSent = (state: AppState) =>\n getIn(state, ['user', 'changePassword', 'sent']);\n\nexport const selectChangePasswordError = (state: AppState) =>\n getIn(state, ['user', 'changePassword', 'error']);\n","import { Group } from 'contensis-management-api/lib/models';\nimport { RequireLogin } from '~/models';\n\nexport const matchUserGroup = (\n userGroups: Group[] = [],\n requiredGroups: RequireLogin = []\n) => {\n if (\n !Array.isArray(requiredGroups) ||\n (Array.isArray(requiredGroups) && requiredGroups.length === 0)\n )\n return true;\n\n const groupMatch = requiredGroups.some(requiredGroup => {\n return userGroups.some(userGroup => {\n if (requiredGroup.id === userGroup.id) {\n return true;\n }\n if (requiredGroup.name === userGroup.name) {\n return true;\n }\n });\n });\n return groupMatch;\n};\n","/* eslint-disable react/display-name */\n/* eslint-disable @typescript-eslint/naming-convention */\nimport React from 'react';\n\nexport const toJS =\n <Props extends { [key: string]: any }>(\n WrappedComponent: React.ComponentType<Props>\n ) =>\n (wrappedComponentProps: Props) => {\n const KEY = 0;\n const VALUE = 1;\n\n const propsJS = Object.entries(wrappedComponentProps).reduce<Props>(\n (newProps: any, wrappedComponentProp) => {\n const propKey = wrappedComponentProp[KEY];\n const propValue = wrappedComponentProp[VALUE];\n newProps[propKey] =\n propValue && typeof propValue === 'object' && 'toJS' in propValue\n ? propValue.toJS()\n : propValue;\n return newProps as Props;\n },\n {} as Props\n );\n\n return <WrappedComponent {...propsJS} />;\n };\n"],"names":["selectUserIsLoading","state","getIn","selectUserIsAuthenticated","selectUserIsAuthenticationError","selectUserIsError","selectUserAuthenticationErrorMessage","selectUserErrorMessage","selectClientCredentials","returnType","selectUser","selectUserIsZengentiStaff","selectUserGuid","selectUsername","selectUserEmail","selectUserGroups","selectUserSecurityToken","selectUserRegistration","selectUserRegistrationError","selectUserRegistrationIsLoading","selectUserRegistrationIsSuccess","selectPasswordResetRequestSending","selectPasswordResetRequestSent","selectPasswordResetRequestError","selectResetPasswordSending","selectResetPasswordSent","selectResetPasswordError","selectChangePasswordSending","selectChangePasswordSent","selectChangePasswordError","matchUserGroup","userGroups","requiredGroups","Array","isArray","length","groupMatch","some","requiredGroup","userGroup","id","name","toJS","WrappedComponent","wrappedComponentProps","KEY","VALUE","propsJS","Object","entries","reduce","newProps","wrappedComponentProp","propKey","propValue","React","createElement"],"mappings":"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"}
|
package/cjs/client.js
CHANGED
|
@@ -11,29 +11,29 @@ var reactRouterDom = require('react-router-dom');
|
|
|
11
11
|
var component = require('@loadable/component');
|
|
12
12
|
var queryString = require('query-string');
|
|
13
13
|
var reactCookie = require('react-cookie');
|
|
14
|
-
var version = require('./version-
|
|
15
|
-
var version$1 = require('./version-
|
|
16
|
-
var App = require('./App-
|
|
17
|
-
var
|
|
18
|
-
var
|
|
19
|
-
require('
|
|
20
|
-
require('redux-thunk');
|
|
21
|
-
require('redux-saga');
|
|
22
|
-
require('redux-injectors');
|
|
23
|
-
require('immer');
|
|
24
|
-
require('./reducers-ea1b2dc0.js');
|
|
14
|
+
var version = require('./version-7b43af3e.js');
|
|
15
|
+
var version$1 = require('./version-3b05d6c8.js');
|
|
16
|
+
var App = require('./App-8a2f85d5.js');
|
|
17
|
+
var store = require('./store-665c229b.js');
|
|
18
|
+
var selectors = require('./selectors-e3f1fd85.js');
|
|
19
|
+
var SSRContext = require('./SSRContext-433c53e4.js');
|
|
25
20
|
require('@redux-saga/core/effects');
|
|
26
21
|
require('history');
|
|
27
22
|
require('loglevel');
|
|
28
23
|
require('await-to-js');
|
|
29
|
-
require('./ChangePassword.container-
|
|
30
|
-
require('./ToJs-
|
|
24
|
+
require('./ChangePassword.container-efcb1fcd.js');
|
|
25
|
+
require('./ToJs-7f965106.js');
|
|
31
26
|
require('jsonpath-mapper');
|
|
32
|
-
require('./
|
|
27
|
+
require('./CookieHelper.class-34994aa1.js');
|
|
33
28
|
require('contensis-delivery-api');
|
|
34
|
-
require('./RouteLoader-
|
|
29
|
+
require('./RouteLoader-4fb33db9.js');
|
|
35
30
|
require('react-router-config');
|
|
36
31
|
require('reselect');
|
|
32
|
+
require('redux');
|
|
33
|
+
require('redux-thunk');
|
|
34
|
+
require('redux-saga');
|
|
35
|
+
require('redux-injectors');
|
|
36
|
+
require('immer');
|
|
37
37
|
|
|
38
38
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
39
39
|
|
|
@@ -57,10 +57,10 @@ class ClientApp {
|
|
|
57
57
|
store: store
|
|
58
58
|
}, /*#__PURE__*/React__default["default"].createElement(reactRouterDom.Router, {
|
|
59
59
|
history: App.browserHistory
|
|
60
|
-
}, /*#__PURE__*/React__default["default"].createElement(ReactApp, {
|
|
60
|
+
}, /*#__PURE__*/React__default["default"].createElement(SSRContext.SSRContextProvider, null, /*#__PURE__*/React__default["default"].createElement(ReactApp, {
|
|
61
61
|
routes: routes,
|
|
62
62
|
withEvents: withEvents
|
|
63
|
-
})))));
|
|
63
|
+
}))))));
|
|
64
64
|
return ClientJsx;
|
|
65
65
|
};
|
|
66
66
|
const isProduction = !(process.env.NODE_ENV !== 'production');
|
|
@@ -85,9 +85,9 @@ class ClientApp {
|
|
|
85
85
|
}
|
|
86
86
|
};
|
|
87
87
|
const qs = queryString.parse(window.location.search);
|
|
88
|
-
const versionStatus =
|
|
88
|
+
const versionStatus = SSRContext.deliveryApi.getClientSideVersionStatus();
|
|
89
89
|
if (window.isDynamic || window.REDUX_DATA || process.env.NODE_ENV !== 'production') {
|
|
90
|
-
|
|
90
|
+
store.createStore(withReducers, window.REDUX_DATA, App.browserHistory, stateType).then(store => {
|
|
91
91
|
const state = store.getState();
|
|
92
92
|
const ssrVersionStatus = version.selectVersionStatus(state);
|
|
93
93
|
if (!ssrVersionStatus) store.dispatch(version$1.setVersionStatus(versionStatus));
|
|
@@ -104,7 +104,7 @@ class ClientApp {
|
|
|
104
104
|
} else {
|
|
105
105
|
fetch(`${window.location.pathname}?redux=true`).then(response => response.json()).then(data => {
|
|
106
106
|
const ssRedux = JSON.parse(data);
|
|
107
|
-
|
|
107
|
+
store.createStore(withReducers, ssRedux, App.browserHistory, stateType).then(store => {
|
|
108
108
|
store.dispatch(version$1.setVersionStatus(versionStatus));
|
|
109
109
|
store.runSaga(App.rootSaga(withSagas));
|
|
110
110
|
store.dispatch(selectors.setCurrentProject(App.pickProject(window.location.hostname, qs), [], window.location.hostname));
|
package/cjs/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sources":["../src/client/client.tsx"],"sourcesContent":["import 'isomorphic-fetch';\nimport React from 'react';\nimport { render, hydrate } from 'react-dom';\nimport { AppContainer } from 'react-hot-loader';\nimport { Provider as ReduxProvider } from 'react-redux';\nimport { Router } from 'react-router-dom';\nimport { loadableReady } from '@loadable/component';\nimport { parse } from 'query-string';\nimport { CookiesProvider } from 'react-cookie';\n\nimport { selectVersionStatus } from '~/redux/selectors/version';\nimport { setVersionStatus } from '~/redux/actions/version';\nimport rootSaga from '~/redux/sagas';\nimport { browserHistory as history } from '~/redux/store/history';\nimport createStore from '~/redux/store/store';\n\nimport { setCurrentProject } from '~/routing/redux/actions';\n\nimport { deliveryApi } from '~/util/ContensisDeliveryApi';\nimport pickProject from '~/util/pickProject';\n\nimport { AppConfig } from '~/
|
|
1
|
+
{"version":3,"file":"client.js","sources":["../src/client/client.tsx"],"sourcesContent":["import 'isomorphic-fetch';\nimport React from 'react';\nimport { render, hydrate } from 'react-dom';\nimport { AppContainer } from 'react-hot-loader';\nimport { Provider as ReduxProvider } from 'react-redux';\nimport { Router } from 'react-router-dom';\nimport { loadableReady } from '@loadable/component';\nimport { parse } from 'query-string';\nimport { CookiesProvider } from 'react-cookie';\n\nimport { selectVersionStatus } from '~/redux/selectors/version';\nimport { setVersionStatus } from '~/redux/actions/version';\nimport rootSaga from '~/redux/sagas';\nimport { browserHistory as history } from '~/redux/store/history';\nimport createStore from '~/redux/store/store';\n\nimport { setCurrentProject } from '~/routing/redux/actions';\n\nimport { deliveryApi } from '~/util/ContensisDeliveryApi';\nimport pickProject from '~/util/pickProject';\nimport { SSRContextProvider } from '~/util/SSRContext';\n\nimport { AppConfig, AppState } from '~/models';\n\ndeclare let window: typeof globalThis & {\n isDynamic: boolean;\n REDUX_DATA: AppState;\n};\n\ntype ReactAppProps = { routes: any; withEvents: any };\n\n// Fix TS2769 error No overload matches this call\nconst Container = AppContainer as any; // as typeof AppContainer;\n\nclass ClientApp {\n constructor(ReactApp: React.ComponentType<ReactAppProps>, config: AppConfig) {\n const documentRoot = document.getElementById('root');\n\n const {\n stateType = 'immutable',\n routes,\n withReducers,\n withSagas,\n withEvents,\n } = config;\n\n const GetClientJSX = store => {\n const ClientJsx = (\n <Container>\n <CookiesProvider>\n <ReduxProvider store={store}>\n <Router history={history}>\n <SSRContextProvider>\n <ReactApp routes={routes} withEvents={withEvents} />\n </SSRContextProvider>\n </Router>\n </ReduxProvider>\n </CookiesProvider>\n </Container>\n );\n return ClientJsx;\n };\n\n const isProduction = !(process.env.NODE_ENV !== 'production');\n\n /**\n * Webpack HMR Setup.\n */\n const HMRRenderer = Component => {\n if (isProduction)\n loadableReady(\n () => {\n hydrate(Component, documentRoot);\n },\n { namespace: 'modern' }\n );\n else render(Component, documentRoot);\n };\n\n const hmr = store => {\n // webpack Hot Module Replacement API\n if (module.hot) {\n module.hot.accept(ReactApp as unknown as string, () => {\n // if you are using harmony modules ({modules:false})\n HMRRenderer(GetClientJSX(store));\n });\n }\n };\n\n const qs = parse(window.location.search);\n const versionStatus = deliveryApi.getClientSideVersionStatus();\n\n if (\n window.isDynamic ||\n window.REDUX_DATA ||\n process.env.NODE_ENV !== 'production'\n ) {\n createStore(withReducers, window.REDUX_DATA, history, stateType).then(\n store => {\n const state = store.getState();\n const ssrVersionStatus = selectVersionStatus(state);\n if (!ssrVersionStatus)\n store.dispatch(setVersionStatus(versionStatus));\n\n /* eslint-disable no-console */\n console.log('Hydrating from inline Redux');\n /* eslint-enable no-console */\n store.runSaga(rootSaga(withSagas));\n store.dispatch(\n setCurrentProject(\n pickProject(window.location.hostname, qs),\n [],\n window.location.hostname\n )\n );\n\n delete (window as any).REDUX_DATA;\n HMRRenderer(GetClientJSX(store));\n\n hmr(store);\n }\n );\n } else {\n fetch(`${window.location.pathname}?redux=true`)\n .then(response => response.json())\n .then(data => {\n const ssRedux = JSON.parse(data);\n createStore(withReducers, ssRedux, history, stateType).then(store => {\n store.dispatch(setVersionStatus(versionStatus));\n\n store.runSaga(rootSaga(withSagas));\n store.dispatch(\n setCurrentProject(\n pickProject(window.location.hostname, qs),\n [],\n window.location.hostname\n )\n );\n\n HMRRenderer(GetClientJSX(store));\n\n hmr(store);\n });\n });\n }\n }\n}\n\nexport default ClientApp;\n"],"names":["Container","AppContainer","ClientApp","constructor","ReactApp","config","documentRoot","document","getElementById","stateType","routes","withReducers","withSagas","withEvents","GetClientJSX","store","ClientJsx","React","createElement","CookiesProvider","ReduxProvider","Router","history","SSRContextProvider","isProduction","process","env","NODE_ENV","HMRRenderer","Component","loadableReady","hydrate","namespace","render","hmr","module","hot","accept","qs","parse","window","location","search","versionStatus","deliveryApi","getClientSideVersionStatus","isDynamic","REDUX_DATA","createStore","then","state","getState","ssrVersionStatus","selectVersionStatus","dispatch","setVersionStatus","console","log","runSaga","rootSaga","setCurrentProject","pickProject","hostname","fetch","pathname","response","json","data","ssRedux","JSON"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var SSRContext = require('./SSRContext-433c53e4.js');
|
|
6
6
|
var contensisDeliveryApi = require('contensis-delivery-api');
|
|
7
7
|
var React = require('react');
|
|
8
8
|
var reactRedux = require('react-redux');
|
|
@@ -10,7 +10,7 @@ var mapJson = require('jsonpath-mapper');
|
|
|
10
10
|
require('reselect');
|
|
11
11
|
require('deepmerge');
|
|
12
12
|
require('query-string');
|
|
13
|
-
var sagas = require('./sagas-
|
|
13
|
+
var sagas = require('./sagas-4e8b68f0.js');
|
|
14
14
|
require('immer');
|
|
15
15
|
require('deep-equal');
|
|
16
16
|
var contensisCoreApi = require('contensis-core-api');
|
|
@@ -34,26 +34,26 @@ var lodash = require('lodash');
|
|
|
34
34
|
var _commonjsHelpers = require('./_commonjsHelpers-b3309d7b.js');
|
|
35
35
|
var lodashClean = require('lodash-clean');
|
|
36
36
|
var reactCookie = require('react-cookie');
|
|
37
|
-
var
|
|
37
|
+
var CookieHelper_class = require('./CookieHelper.class-34994aa1.js');
|
|
38
38
|
var cookiesMiddleware = require('universal-cookie-express');
|
|
39
|
-
var
|
|
40
|
-
var App = require('./App-
|
|
41
|
-
var version
|
|
42
|
-
var selectors = require('./selectors-
|
|
39
|
+
var store = require('./store-665c229b.js');
|
|
40
|
+
var App = require('./App-8a2f85d5.js');
|
|
41
|
+
var version = require('./version-3b05d6c8.js');
|
|
42
|
+
var selectors = require('./selectors-e3f1fd85.js');
|
|
43
43
|
var chalk = require('chalk');
|
|
44
|
-
require('./CookieConstants-000427db.js');
|
|
45
44
|
require('loglevel');
|
|
46
45
|
require('@redux-saga/core/effects');
|
|
47
46
|
require('redux');
|
|
48
47
|
require('redux-thunk');
|
|
49
48
|
require('redux-saga');
|
|
50
49
|
require('redux-injectors');
|
|
51
|
-
require('./reducers-ea1b2dc0.js');
|
|
52
50
|
require('history');
|
|
53
51
|
require('await-to-js');
|
|
54
|
-
require('./
|
|
52
|
+
require('./version-7b43af3e.js');
|
|
53
|
+
require('./ChangePassword.container-efcb1fcd.js');
|
|
54
|
+
require('./ToJs-7f965106.js');
|
|
55
55
|
require('react-hot-loader');
|
|
56
|
-
require('./RouteLoader-
|
|
56
|
+
require('./RouteLoader-4fb33db9.js');
|
|
57
57
|
|
|
58
58
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
59
59
|
|
|
@@ -241,7 +241,7 @@ const resolveParentEntries = async (parentContentTypeIds, replaceContentTypeIds,
|
|
|
241
241
|
});
|
|
242
242
|
query.fields = params.fields ? [...JSON.parse(params.fields), parentFieldId] : [];
|
|
243
243
|
if (debug) console.log(`\nResolve parent entries query: \n${JSON.stringify(query.toJSON()).substring(0, 1000)}`);
|
|
244
|
-
const parentResults = await
|
|
244
|
+
const parentResults = await SSRContext.cachedSearch.searchUsingPost(query, Number(params.linkDepth || 0), params.projectId);
|
|
245
245
|
return mergeResults(results, Util.GetItems(parentResults), replaceContentTypeIds, parentFieldId);
|
|
246
246
|
};
|
|
247
247
|
|
|
@@ -298,7 +298,7 @@ class QueryLevelResults {
|
|
|
298
298
|
}
|
|
299
299
|
if (runFirstQuery) {
|
|
300
300
|
if (this.debug) console.log(`\nLevel ${this.level} - First query: \n${JSON.stringify(query.toJSON()).substring(0, 1000)}`);
|
|
301
|
-
this.firstResults = await
|
|
301
|
+
this.firstResults = await SSRContext.cachedSearch.searchUsingPost(query, 0, params.projectId);
|
|
302
302
|
|
|
303
303
|
// mapResultsToValidatedLinks
|
|
304
304
|
for (const linkFieldId of this.linkFieldIds) {
|
|
@@ -336,7 +336,7 @@ class QueryLevelResults {
|
|
|
336
336
|
|
|
337
337
|
if (runFinalQuery) {
|
|
338
338
|
if (this.debug) console.log(`\nLevel ${this.level} - Final query: \n${JSON.stringify(query.toJSON()).substring(0, 1000)}`);
|
|
339
|
-
this.finalResults = await
|
|
339
|
+
this.finalResults = await SSRContext.cachedSearch.searchUsingPost(query, Number(params.linkDepth) || 0, params.projectId);
|
|
340
340
|
if (this.parent) this.parent.runFinalQuery = true;
|
|
341
341
|
|
|
342
342
|
// mapResultsToValidatedLinks
|
|
@@ -484,7 +484,7 @@ class LinkDepthSearchService {
|
|
|
484
484
|
};
|
|
485
485
|
})) || []);
|
|
486
486
|
if (this.debug) console.log(`\nFinal query: ${derivedIds.reduce((accumulator, object) => accumulator + object.entryIds.length, 0)} derived ids \n${JSON.stringify(query.toJSON()).substring(0, 1000)}`);
|
|
487
|
-
const finalQueryResult = await
|
|
487
|
+
const finalQueryResult = await SSRContext.cachedSearch.searchUsingPost(query, Number(params.linkDepth) || 0, params.projectId);
|
|
488
488
|
|
|
489
489
|
// Resolve any parent entries
|
|
490
490
|
|
|
@@ -695,9 +695,12 @@ const CacheDuration = {
|
|
|
695
695
|
};
|
|
696
696
|
|
|
697
697
|
const getCacheDuration = (status = 200) => {
|
|
698
|
-
if (status
|
|
698
|
+
if (status >= 400) return CacheDuration[404];
|
|
699
699
|
return CacheDuration[200];
|
|
700
700
|
};
|
|
701
|
+
const alias = ALIAS; /* global ALIAS */
|
|
702
|
+
|
|
703
|
+
const anyUpdateHeader = `${alias}_any-update`;
|
|
701
704
|
|
|
702
705
|
const replaceStaticPath = (str, staticFolderPath = 'static') => str.replace(/static\//g, `${staticFolderPath}/`);
|
|
703
706
|
|
|
@@ -3738,17 +3741,21 @@ const getBundleTags = (loadableExtractor, scripts, staticRoutePath = 'static') =
|
|
|
3738
3741
|
return startupTag;
|
|
3739
3742
|
};
|
|
3740
3743
|
|
|
3741
|
-
const alias = ALIAS; /* global ALIAS */
|
|
3742
|
-
|
|
3743
3744
|
const addStandardHeaders = (state, response, packagejson, groups) => {
|
|
3744
3745
|
if (state) {
|
|
3745
3746
|
try {
|
|
3746
3747
|
const routingSurrogateKeys = selectors.selectSurrogateKeys(state);
|
|
3747
|
-
|
|
3748
|
-
|
|
3749
|
-
|
|
3750
|
-
//
|
|
3751
|
-
|
|
3748
|
+
const apiCalls = selectors.selectSsrApiCalls(state);
|
|
3749
|
+
const anyApiError = !!apiCalls.find(([status]) => status >= 400);
|
|
3750
|
+
|
|
3751
|
+
// Check length of surrogate keys and prevent potential header overflow errors in prod
|
|
3752
|
+
// Check for any error set in the page response
|
|
3753
|
+
// And check if we have seen any error in any of the Delivery API calls
|
|
3754
|
+
// - add `any-update` header that will indiscriminately
|
|
3755
|
+
// invalidate the SSR page cache when any content is updated
|
|
3756
|
+
const addAnyUpdateHeader = routingSurrogateKeys.length >= 2000 || response.statusCode >= 400 || anyApiError;
|
|
3757
|
+
console.info(`[addStandardHeaders] ${addAnyUpdateHeader ? anyUpdateHeader : routingSurrogateKeys.length} surrogate keys for ${response.req.url}`);
|
|
3758
|
+
const surrogateKeys = addAnyUpdateHeader ? anyUpdateHeader : routingSurrogateKeys.join(' ');
|
|
3752
3759
|
const surrogateKeyHeader = `${packagejson.name}-app ${surrogateKeys}`;
|
|
3753
3760
|
response.setHeader('surrogate-key', surrogateKeyHeader);
|
|
3754
3761
|
addVarnishAuthenticationHeaders(state, response, groups);
|
|
@@ -3868,42 +3875,45 @@ const webApp = (app, ReactApp, config) => {
|
|
|
3868
3875
|
response.status(200);
|
|
3869
3876
|
|
|
3870
3877
|
// Create a store (with a memory history) from our current url
|
|
3871
|
-
const store = await
|
|
3878
|
+
const store$1 = await store.createStore(withReducers, {}, App.history({
|
|
3872
3879
|
initialEntries: [url]
|
|
3873
3880
|
}), stateType);
|
|
3874
3881
|
|
|
3875
3882
|
// dispatch any global and non-saga related actions before calling our JSX
|
|
3876
|
-
const versionStatus =
|
|
3883
|
+
const versionStatus = SSRContext.deliveryApi.getServerSideVersionStatus(request);
|
|
3877
3884
|
|
|
3878
3885
|
// In server-side blocks world, the hostname requested by the client resides in the x-orig-host header
|
|
3879
3886
|
// Because of this, we prioritize x-orig-host when setting our hostname
|
|
3880
3887
|
const hostname = request.headers['x-orig-host'] || request.hostname;
|
|
3881
3888
|
console.info(`Request for ${request.path} hostname: ${hostname} versionStatus: ${versionStatus}`);
|
|
3882
|
-
store.dispatch(version
|
|
3883
|
-
store.dispatch(version
|
|
3889
|
+
store$1.dispatch(version.setVersionStatus(versionStatus));
|
|
3890
|
+
store$1.dispatch(version.setVersion(versionInfo.commitRef, versionInfo.buildNo));
|
|
3884
3891
|
const project = App.pickProject(hostname, request.query);
|
|
3885
3892
|
const groups = allowedGroups && allowedGroups[project];
|
|
3886
|
-
store.dispatch(selectors.setCurrentProject(project, groups, hostname));
|
|
3893
|
+
store$1.dispatch(selectors.setCurrentProject(project, groups, hostname));
|
|
3887
3894
|
const loadableExtractor = loadableChunkExtractors();
|
|
3888
3895
|
const ssrCookies = enableSsrCookies ?
|
|
3889
3896
|
// these cookies are managed by the cookiesMiddleware and contain listeners
|
|
3890
3897
|
// when cookies are read or written in ssr can be added to the `set-cookie` response header
|
|
3891
3898
|
request.universalCookies :
|
|
3892
3899
|
// this is a stub cookie collection so cookie methods can be used in code
|
|
3893
|
-
new
|
|
3900
|
+
new CookieHelper_class.Cookies();
|
|
3894
3901
|
const jsx = /*#__PURE__*/React__default["default"].createElement(server$1.ChunkExtractorManager, {
|
|
3895
3902
|
extractor: loadableExtractor.commonLoadableExtractor
|
|
3896
3903
|
}, /*#__PURE__*/React__default["default"].createElement(reactCookie.CookiesProvider, {
|
|
3897
3904
|
cookies: ssrCookies
|
|
3898
3905
|
}, /*#__PURE__*/React__default["default"].createElement(reactRedux.Provider, {
|
|
3899
|
-
store: store
|
|
3906
|
+
store: store$1
|
|
3900
3907
|
}, /*#__PURE__*/React__default["default"].createElement(reactRouterDom.StaticRouter, {
|
|
3901
3908
|
context: context,
|
|
3902
3909
|
location: url
|
|
3910
|
+
}, /*#__PURE__*/React__default["default"].createElement(SSRContext.SSRContextProvider, {
|
|
3911
|
+
request: request,
|
|
3912
|
+
response: response
|
|
3903
3913
|
}, /*#__PURE__*/React__default["default"].createElement(ReactApp, {
|
|
3904
3914
|
routes: routes,
|
|
3905
3915
|
withEvents: withEvents
|
|
3906
|
-
})))));
|
|
3916
|
+
}))))));
|
|
3907
3917
|
const {
|
|
3908
3918
|
templateHTML = '',
|
|
3909
3919
|
templateHTMLFragment = '',
|
|
@@ -3928,7 +3938,7 @@ const webApp = (app, ReactApp, config) => {
|
|
|
3928
3938
|
|
|
3929
3939
|
// Render the JSX server side and send response as per access method options
|
|
3930
3940
|
if (!accessMethod.DYNAMIC) {
|
|
3931
|
-
store.runSaga(App.rootSaga(withSagas)).toPromise().then(() => {
|
|
3941
|
+
store$1.runSaga(App.rootSaga(withSagas)).toPromise().then(() => {
|
|
3932
3942
|
var _selectCurrentSearch;
|
|
3933
3943
|
const sheet = new styled.ServerStyleSheet();
|
|
3934
3944
|
const html = server$2.renderToString(sheet.collectStyles(jsx));
|
|
@@ -3940,7 +3950,7 @@ const webApp = (app, ReactApp, config) => {
|
|
|
3940
3950
|
if (context.url) {
|
|
3941
3951
|
return response.redirect(context.statusCode || 302, context.url);
|
|
3942
3952
|
}
|
|
3943
|
-
const reduxState = store.getState();
|
|
3953
|
+
const reduxState = store$1.getState();
|
|
3944
3954
|
const styleTags = sheet.getStyleTags();
|
|
3945
3955
|
|
|
3946
3956
|
// After running rootSaga there should be an additional react-loadable
|
|
@@ -4039,7 +4049,7 @@ const webApp = (app, ReactApp, config) => {
|
|
|
4039
4049
|
responseHandler(request, response, `Error occurred: <br />${err.stack} <br />${JSON.stringify(err)}`);
|
|
4040
4050
|
});
|
|
4041
4051
|
server$2.renderToString(jsx);
|
|
4042
|
-
store.close();
|
|
4052
|
+
store$1.close();
|
|
4043
4053
|
}
|
|
4044
4054
|
});
|
|
4045
4055
|
};
|