@zengenti/contensis-react-base 3.0.0-beta.64 → 3.0.0-beta.65
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/cjs/forms.js +269 -4107
- package/cjs/forms.js.map +1 -1
- package/esm/forms.js +273 -4109
- package/esm/forms.js.map +1 -1
- package/models/forms/index.d.ts +2 -2
- package/package-lock.json +5 -1038
- package/package.json +2 -1
package/esm/forms.js
CHANGED
|
@@ -1,40 +1,35 @@
|
|
|
1
1
|
import { produce } from 'immer';
|
|
2
2
|
import { takeEvery, takeLatest, put, call, select, all } from '@redux-saga/core/effects';
|
|
3
3
|
import { createSelector } from 'reselect';
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import '
|
|
7
|
-
import 'redux-thunk';
|
|
8
|
-
import 'redux-saga';
|
|
9
|
-
import 'redux-injectors';
|
|
10
|
-
import merge from 'deepmerge';
|
|
11
|
-
import React, { createContext, useEffect, useState } from 'react';
|
|
4
|
+
import { getIn } from '@zengenti/contensis-react-base/redux';
|
|
5
|
+
import { selectors } from '@zengenti/contensis-react-base/routing';
|
|
6
|
+
import React, { useState, createContext, useEffect } from 'react';
|
|
12
7
|
import PropTypes from 'prop-types';
|
|
13
8
|
import { connect } from 'react-redux';
|
|
14
|
-
import styled, { css, ThemeProvider as ThemeProvider$
|
|
15
|
-
|
|
16
|
-
const ACTION_PREFIX
|
|
17
|
-
const SET_FORM_DATA
|
|
18
|
-
const SET_FORM_ID
|
|
19
|
-
const SET_CURRENT_PAGE
|
|
20
|
-
const PAGE_BACK
|
|
21
|
-
const PAGE_FORWARD
|
|
22
|
-
const SET_FIELD_VALUE
|
|
23
|
-
const SET_DEFAULT_FIELD_VALUE
|
|
24
|
-
const SUBMIT_FORM_FOR_VALIDATION
|
|
25
|
-
const SUBMIT_FORM
|
|
26
|
-
const SUBMIT_FORM_SUCCESS
|
|
27
|
-
const SUBMIT_FORM_ERROR
|
|
28
|
-
const SET_SUBMITTING_FORM
|
|
29
|
-
const SET_ERROR
|
|
30
|
-
const VALIDATE_FIELD
|
|
31
|
-
const SET_FIELD_ERROR
|
|
32
|
-
const SET_DATE_RANGE_VALUES
|
|
33
|
-
const SET_FORM_ENTRIES
|
|
34
|
-
const SET_SUCCESS_MESSAGE
|
|
35
|
-
const SET_CHECKBOX_VALUE
|
|
36
|
-
|
|
37
|
-
const MakeFieldType
|
|
9
|
+
import styled, { css, ThemeProvider as ThemeProvider$1 } from 'styled-components';
|
|
10
|
+
|
|
11
|
+
const ACTION_PREFIX = '@FORM2/';
|
|
12
|
+
const SET_FORM_DATA = `${ACTION_PREFIX}SET_FORM_DATA`;
|
|
13
|
+
const SET_FORM_ID = `${ACTION_PREFIX}SET_FORM_ID`;
|
|
14
|
+
const SET_CURRENT_PAGE = `${ACTION_PREFIX}SET_CURRENT_PAGE`;
|
|
15
|
+
const PAGE_BACK = `${ACTION_PREFIX}PAGE_BACK`;
|
|
16
|
+
const PAGE_FORWARD = `${ACTION_PREFIX}PAGE_FORWARD`;
|
|
17
|
+
const SET_FIELD_VALUE = `${ACTION_PREFIX}SET_FIELD_VALUE`;
|
|
18
|
+
const SET_DEFAULT_FIELD_VALUE = `${ACTION_PREFIX}SET_DEFAULT_FIELD_VALUE`;
|
|
19
|
+
const SUBMIT_FORM_FOR_VALIDATION = `${ACTION_PREFIX}SUBMIT_FORM_FOR_VALIDATION`;
|
|
20
|
+
const SUBMIT_FORM = `${ACTION_PREFIX}SUBMIT_FORM`;
|
|
21
|
+
const SUBMIT_FORM_SUCCESS = `${ACTION_PREFIX}SUBMIT_FORM_SUCCESS`;
|
|
22
|
+
const SUBMIT_FORM_ERROR = `${ACTION_PREFIX}SUBMIT_FORM_ERROR`;
|
|
23
|
+
const SET_SUBMITTING_FORM = `${ACTION_PREFIX}SET_SUBMITTING_FORM`;
|
|
24
|
+
const SET_ERROR = `${ACTION_PREFIX}SET_ERROR`;
|
|
25
|
+
const VALIDATE_FIELD = `${ACTION_PREFIX}VALIDATE_FIELD`;
|
|
26
|
+
const SET_FIELD_ERROR = `${ACTION_PREFIX}SET_FIELD_ERROR`;
|
|
27
|
+
const SET_DATE_RANGE_VALUES = `${ACTION_PREFIX}SET_DATE_RANGE_VALUES`;
|
|
28
|
+
const SET_FORM_ENTRIES = `${ACTION_PREFIX}SET_FORM_ENTRIES`;
|
|
29
|
+
const SET_SUCCESS_MESSAGE = `${ACTION_PREFIX}SET_SUCCESS_MESSAGE`;
|
|
30
|
+
const SET_CHECKBOX_VALUE = `${ACTION_PREFIX}SET_CHECKBOX_VALUE`;
|
|
31
|
+
|
|
32
|
+
const MakeFieldType = field => {
|
|
38
33
|
if (!field) return null;
|
|
39
34
|
|
|
40
35
|
if (field.dataType === 'string' && field.editor && field.editor.id === 'multiline') {
|
|
@@ -53,4043 +48,230 @@ const MakeFieldType$1 = field => {
|
|
|
53
48
|
return 'date';
|
|
54
49
|
} else if (field.dataFormat === 'daterange') {
|
|
55
50
|
return 'dateRange';
|
|
56
|
-
} else if (field.dataFormat === 'entry') {
|
|
57
|
-
return 'entryPicker';
|
|
58
|
-
} else {
|
|
59
|
-
return 'textfield';
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
const initialSettings$1 = {
|
|
64
|
-
recaptcha: {
|
|
65
|
-
siteKey: null
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
const initialStatus$1 = {
|
|
69
|
-
isLoading: false,
|
|
70
|
-
isSubmitting: false,
|
|
71
|
-
hasSuccess: false,
|
|
72
|
-
successMessage: null,
|
|
73
|
-
hasError: false
|
|
74
|
-
};
|
|
75
|
-
const initialPagingInfo$1 = {
|
|
76
|
-
pageIndex: 0,
|
|
77
|
-
pageCount: 0,
|
|
78
|
-
currentPageId: null
|
|
79
|
-
};
|
|
80
|
-
const initialFormData$1 = {
|
|
81
|
-
formId: null,
|
|
82
|
-
data: {},
|
|
83
|
-
fields: [],
|
|
84
|
-
entries: [],
|
|
85
|
-
fieldErrors: [],
|
|
86
|
-
groups: [],
|
|
87
|
-
defaultLanguage: null,
|
|
88
|
-
pagingInfo: initialPagingInfo$1,
|
|
89
|
-
status: initialStatus$1
|
|
90
|
-
};
|
|
91
|
-
let initialState$5 = {
|
|
92
|
-
settings: initialSettings$1
|
|
93
|
-
};
|
|
94
|
-
var reducer$1 = produce((state, action) => {
|
|
95
|
-
switch (action.type) {
|
|
96
|
-
case SET_FORM_ID$1:
|
|
97
|
-
{
|
|
98
|
-
const {
|
|
99
|
-
formId
|
|
100
|
-
} = action || {};
|
|
101
|
-
state[formId] = initialFormData$1;
|
|
102
|
-
return;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
case SET_FORM_DATA$1:
|
|
106
|
-
{
|
|
107
|
-
const {
|
|
108
|
-
fields,
|
|
109
|
-
formId,
|
|
110
|
-
groups,
|
|
111
|
-
defaultLanguage
|
|
112
|
-
} = action || {};
|
|
113
|
-
fields.map(field => {
|
|
114
|
-
field.type = MakeFieldType$1(field);
|
|
115
|
-
});
|
|
116
|
-
state[formId].fields = fields;
|
|
117
|
-
state[formId].formId = formId;
|
|
118
|
-
state[formId].groups = groups;
|
|
119
|
-
state[formId].defaultLanguage = defaultLanguage;
|
|
120
|
-
state[formId].status.isSubmitting = false;
|
|
121
|
-
state[formId].status.hasSuccess = false;
|
|
122
|
-
state[formId].status.hasError = false;
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
case SET_CURRENT_PAGE$1:
|
|
127
|
-
{
|
|
128
|
-
const {
|
|
129
|
-
formId,
|
|
130
|
-
pageId,
|
|
131
|
-
pageIndex,
|
|
132
|
-
pageCount
|
|
133
|
-
} = action || {};
|
|
134
|
-
state[formId].pagingInfo.currentPageId = pageId;
|
|
135
|
-
state[formId].pagingInfo.pageIndex = pageIndex;
|
|
136
|
-
state[formId].pagingInfo.pageCount = pageCount;
|
|
137
|
-
return;
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
case SET_FIELD_VALUE$1:
|
|
141
|
-
{
|
|
142
|
-
const {
|
|
143
|
-
formId,
|
|
144
|
-
id,
|
|
145
|
-
value
|
|
146
|
-
} = action || {};
|
|
147
|
-
state[formId].data[id] = value;
|
|
148
|
-
return;
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
case SET_DEFAULT_FIELD_VALUE$1:
|
|
152
|
-
{
|
|
153
|
-
const {
|
|
154
|
-
formId,
|
|
155
|
-
value
|
|
156
|
-
} = action || {};
|
|
157
|
-
state[formId].data = value;
|
|
158
|
-
return;
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
case SET_CHECKBOX_VALUE$1:
|
|
162
|
-
{
|
|
163
|
-
const {
|
|
164
|
-
formId,
|
|
165
|
-
id,
|
|
166
|
-
value,
|
|
167
|
-
isChecked
|
|
168
|
-
} = action || {};
|
|
169
|
-
let values = state[formId].data[id] || [];
|
|
170
|
-
if (isChecked) state[formId].data[id] = { ...values,
|
|
171
|
-
value
|
|
172
|
-
};else state[formId].data[id] = values.filter(v => v !== value);
|
|
173
|
-
return;
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
case SET_DATE_RANGE_VALUES$1:
|
|
177
|
-
{
|
|
178
|
-
const {
|
|
179
|
-
formId,
|
|
180
|
-
id,
|
|
181
|
-
value,
|
|
182
|
-
dateType
|
|
183
|
-
} = action || {};
|
|
184
|
-
state[formId].data[id][dateType] = value;
|
|
185
|
-
return;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
case SET_FIELD_ERROR$1:
|
|
189
|
-
{
|
|
190
|
-
const {
|
|
191
|
-
formId,
|
|
192
|
-
value
|
|
193
|
-
} = action || {};
|
|
194
|
-
state[formId].fieldErrors = value;
|
|
195
|
-
return;
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
case SET_SUBMITTING_FORM$1:
|
|
199
|
-
{
|
|
200
|
-
const {
|
|
201
|
-
formId,
|
|
202
|
-
isSubmitting
|
|
203
|
-
} = action || {};
|
|
204
|
-
state[formId].status.isSubmitting = isSubmitting;
|
|
205
|
-
return;
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
case SUBMIT_FORM_SUCCESS$1:
|
|
209
|
-
{
|
|
210
|
-
const {
|
|
211
|
-
formId
|
|
212
|
-
} = action || {};
|
|
213
|
-
state[formId].status.hasError = false;
|
|
214
|
-
state[formId].status.isSubmitting = false;
|
|
215
|
-
state[formId].status.hasSuccess = true;
|
|
216
|
-
return;
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
case SET_SUCCESS_MESSAGE$1:
|
|
220
|
-
{
|
|
221
|
-
const {
|
|
222
|
-
formId,
|
|
223
|
-
message
|
|
224
|
-
} = action || {};
|
|
225
|
-
state[formId].status.successMessage = message;
|
|
226
|
-
return;
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
case SUBMIT_FORM_ERROR$1:
|
|
230
|
-
{
|
|
231
|
-
const {
|
|
232
|
-
formId
|
|
233
|
-
} = action || {};
|
|
234
|
-
state[formId].status.hasError = true;
|
|
235
|
-
state[formId].status.isSubmitting = false;
|
|
236
|
-
return;
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
case SET_FORM_ENTRIES$1:
|
|
240
|
-
{
|
|
241
|
-
const {
|
|
242
|
-
formId,
|
|
243
|
-
entries
|
|
244
|
-
} = action || {};
|
|
245
|
-
const entryObject = {};
|
|
246
|
-
entries.map(entry => {
|
|
247
|
-
if (!entry) return null;
|
|
248
|
-
entryObject[entry.id] = entry.entries;
|
|
249
|
-
return entryObject;
|
|
250
|
-
});
|
|
251
|
-
state[formId].entries = entryObject;
|
|
252
|
-
return;
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
case SET_ERROR$1:
|
|
256
|
-
{
|
|
257
|
-
const {
|
|
258
|
-
formId
|
|
259
|
-
} = action || {};
|
|
260
|
-
state[formId].status.hasError = true;
|
|
261
|
-
state[formId].status.isSubmitting = false;
|
|
262
|
-
return;
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
default:
|
|
266
|
-
return state;
|
|
267
|
-
}
|
|
268
|
-
}, initialState$5);
|
|
269
|
-
|
|
270
|
-
const action$3 = (type, payload = {}) => ({
|
|
271
|
-
type,
|
|
272
|
-
...payload
|
|
273
|
-
});
|
|
274
|
-
const getImmutableOrJS$1 = (state, stateKey, fallbackValue, returnType = globalThis.STATE_TYPE) => {
|
|
275
|
-
var _globalThis$immutable, _globalThis$immutable2;
|
|
276
|
-
|
|
277
|
-
// Find a fromJS function from global that is dynamically loaded in createStore
|
|
278
|
-
// or replace with a stub function for non-immutable gets
|
|
279
|
-
const fromJS = returnType === 'immutable' ? ((_globalThis$immutable = globalThis.immutable) === null || _globalThis$immutable === void 0 ? void 0 : _globalThis$immutable.fromJSOrdered) || ((_globalThis$immutable2 = globalThis.immutable) === null || _globalThis$immutable2 === void 0 ? void 0 : _globalThis$immutable2.fromJS) : v => v;
|
|
280
|
-
|
|
281
|
-
if (state && 'get' in state && typeof state.get === 'function' && 'getIn' in state && typeof state.getIn === 'function' && 'toJS' in state && typeof state.toJS === 'function') {
|
|
282
|
-
if (Array.isArray(stateKey)) return fromJS(state.getIn(stateKey, fallbackValue));
|
|
283
|
-
return fromJS(state.get(stateKey, fallbackValue));
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
if (Array.isArray(stateKey) && state && typeof state === 'object') {
|
|
287
|
-
const result = jpath(stateKey.join('.'), state);
|
|
288
|
-
if (typeof result === 'undefined') return fallbackValue;
|
|
289
|
-
return result;
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
const result = state && typeof state === 'object' ? state[stateKey] : undefined;
|
|
293
|
-
if (typeof result === 'undefined') return fallbackValue;
|
|
294
|
-
return result;
|
|
295
|
-
};
|
|
296
|
-
|
|
297
|
-
function queryParams$1(search) {
|
|
298
|
-
return queryString__default.parse(typeof window != 'undefined' ? window.location.search : search);
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
const selectRouteEntry$3 = (state, returnType) => getImmutableOrJS$1(state, ['routing', 'entry'], {}, returnType);
|
|
302
|
-
const selectMappedEntry$1 = (state, returnType) => getImmutableOrJS$1(state, ['routing', 'mappedEntry'], null, returnType);
|
|
303
|
-
const selectSurrogateKeys$1 = state => {
|
|
304
|
-
const keys = getImmutableOrJS$1(state, ['routing', 'surrogateKeys'], [], 'js');
|
|
305
|
-
return keys.join(' ');
|
|
306
|
-
};
|
|
307
|
-
const selectCurrentHostname$1 = state => getImmutableOrJS$1(state, ['routing', 'currentHostname']);
|
|
308
|
-
const selectCurrentTreeID$1 = state => getImmutableOrJS$1(state, ['routing', 'currentHostname']);
|
|
309
|
-
const selectRouteEntryEntryId$3 = state => getImmutableOrJS$1(state, ['routing', 'entry', 'sys', 'id'], null);
|
|
310
|
-
const selectRouteEntryContentTypeId$3 = state => {
|
|
311
|
-
const entry = selectRouteEntry$3(state);
|
|
312
|
-
return getImmutableOrJS$1(entry, ['sys', 'contentTypeId'], null);
|
|
313
|
-
};
|
|
314
|
-
const selectRouteEntryLanguage$1 = state => {
|
|
315
|
-
const entry = selectRouteEntry$3(state);
|
|
316
|
-
return getImmutableOrJS$1(entry, ['sys', 'language'], null);
|
|
317
|
-
};
|
|
318
|
-
const selectRouteEntrySlug$3 = state => {
|
|
319
|
-
const entry = selectRouteEntry$3(state);
|
|
320
|
-
return getImmutableOrJS$1(entry, ['sys', 'slug'], null);
|
|
321
|
-
};
|
|
322
|
-
const selectRouteEntryID$3 = state => getImmutableOrJS$1(state, ['routing', 'entryID']);
|
|
323
|
-
const selectCurrentPath$3 = state => getImmutableOrJS$1(state, ['routing', 'currentPath']);
|
|
324
|
-
const selectCurrentLocation$1 = state => getImmutableOrJS$1(state, ['routing', 'location']);
|
|
325
|
-
const selectCurrentSearch$3 = state => getImmutableOrJS$1(state, ['routing', 'location', 'search']);
|
|
326
|
-
const selectCurrentHash$1 = state => getImmutableOrJS$1(state, ['routing', 'location', 'hash']);
|
|
327
|
-
const selectQueryStringAsObject$3 = state => queryParams$1(selectCurrentSearch$3(state));
|
|
328
|
-
const selectCurrentProject$3 = state => getImmutableOrJS$1(state, ['routing', 'currentProject']);
|
|
329
|
-
const selectIsNotFound$3 = state => getImmutableOrJS$1(state, ['routing', 'notFound']);
|
|
330
|
-
const selectCurrentAncestors$3 = state => getImmutableOrJS$1(state, ['routing', 'currentNodeAncestors'], []);
|
|
331
|
-
const selectCurrentSiblings$1 = state => getImmutableOrJS$1(state, ['routing', 'currentNodeSiblings'], []);
|
|
332
|
-
const selectCurrentNode$1 = (state, returnType) => getImmutableOrJS$1(state, ['routing', 'currentNode'], null, returnType);
|
|
333
|
-
const selectCurrentChildren$1 = state => getImmutableOrJS$1(state, ['routing', 'currentNode', 'children'], []);
|
|
334
|
-
const selectBreadcrumb$1 = state => {
|
|
335
|
-
return selectCurrentAncestors$3(state).push(selectCurrentNode$1(state));
|
|
336
|
-
};
|
|
337
|
-
const selectRouteErrorMessage$1 = state => {
|
|
338
|
-
const error = getImmutableOrJS$1(state, ['routing', 'error']);
|
|
339
|
-
return getImmutableOrJS$1(error, ['data', 'message'], getImmutableOrJS$1(error, 'statusText'));
|
|
340
|
-
};
|
|
341
|
-
const selectRouteIsError$1 = state => getImmutableOrJS$1(state, ['routing', 'isError']);
|
|
342
|
-
const selectRouteLoading$3 = state => getImmutableOrJS$1(state, ['routing', 'isLoading']);
|
|
343
|
-
const selectRouteStatusCode$1 = state => getImmutableOrJS$1(state, ['routing', 'statusCode']);
|
|
344
|
-
const selectStaticRoute$1 = state => getImmutableOrJS$1(state, ['routing', 'staticRoute']);
|
|
345
|
-
|
|
346
|
-
var routing$6 = /*#__PURE__*/Object.freeze({
|
|
347
|
-
__proto__: null,
|
|
348
|
-
selectRouteEntry: selectRouteEntry$3,
|
|
349
|
-
selectMappedEntry: selectMappedEntry$1,
|
|
350
|
-
selectSurrogateKeys: selectSurrogateKeys$1,
|
|
351
|
-
selectCurrentHostname: selectCurrentHostname$1,
|
|
352
|
-
selectCurrentTreeID: selectCurrentTreeID$1,
|
|
353
|
-
selectRouteEntryEntryId: selectRouteEntryEntryId$3,
|
|
354
|
-
selectRouteEntryContentTypeId: selectRouteEntryContentTypeId$3,
|
|
355
|
-
selectRouteEntryLanguage: selectRouteEntryLanguage$1,
|
|
356
|
-
selectRouteEntrySlug: selectRouteEntrySlug$3,
|
|
357
|
-
selectRouteEntryID: selectRouteEntryID$3,
|
|
358
|
-
selectCurrentPath: selectCurrentPath$3,
|
|
359
|
-
selectCurrentLocation: selectCurrentLocation$1,
|
|
360
|
-
selectCurrentSearch: selectCurrentSearch$3,
|
|
361
|
-
selectCurrentHash: selectCurrentHash$1,
|
|
362
|
-
selectQueryStringAsObject: selectQueryStringAsObject$3,
|
|
363
|
-
selectCurrentProject: selectCurrentProject$3,
|
|
364
|
-
selectIsNotFound: selectIsNotFound$3,
|
|
365
|
-
selectCurrentAncestors: selectCurrentAncestors$3,
|
|
366
|
-
selectCurrentSiblings: selectCurrentSiblings$1,
|
|
367
|
-
selectCurrentNode: selectCurrentNode$1,
|
|
368
|
-
selectCurrentChildren: selectCurrentChildren$1,
|
|
369
|
-
selectBreadcrumb: selectBreadcrumb$1,
|
|
370
|
-
selectRouteErrorMessage: selectRouteErrorMessage$1,
|
|
371
|
-
selectRouteIsError: selectRouteIsError$1,
|
|
372
|
-
selectRouteLoading: selectRouteLoading$3,
|
|
373
|
-
selectRouteStatusCode: selectRouteStatusCode$1,
|
|
374
|
-
selectStaticRoute: selectStaticRoute$1
|
|
375
|
-
});
|
|
376
|
-
|
|
377
|
-
const ROUTING_PREFIX$1 = '@ROUTING/';
|
|
378
|
-
const GET_ENTRY$1 = `${ROUTING_PREFIX$1}_GET_ENTRY`;
|
|
379
|
-
const SET_ENTRY$1 = `${ROUTING_PREFIX$1}_SET_ENTRY`;
|
|
380
|
-
const SET_NODE$1 = `${ROUTING_PREFIX$1}_SET_NODE`;
|
|
381
|
-
const SET_ANCESTORS$1 = `${ROUTING_PREFIX$1}_SET_ANCESTORS`;
|
|
382
|
-
const SET_SIBLINGS$1 = `${ROUTING_PREFIX$1}_SET_SIBLINGS`;
|
|
383
|
-
const SET_ENTRY_ID$1 = `${ROUTING_PREFIX$1}_SET_ENTRY_ID`;
|
|
384
|
-
const SET_SURROGATE_KEYS$1 = `${ROUTING_PREFIX$1}_SET_SURROGATE_KEYS`;
|
|
385
|
-
const SET_NAVIGATION_NOT_FOUND$1 = `${ROUTING_PREFIX$1}_SET_NOT_FOUND`;
|
|
386
|
-
const SET_NAVIGATION_PATH$1 = `${ROUTING_PREFIX$1}_SET_NAVIGATION_PATH`;
|
|
387
|
-
const SET_TARGET_PROJECT$1 = `${ROUTING_PREFIX$1}_SET_TARGET_PROJECT`;
|
|
388
|
-
const SET_ROUTE$1 = `${ROUTING_PREFIX$1}_SET_ROUTE`;
|
|
389
|
-
const UPDATE_LOADING_STATE$1 = `${ROUTING_PREFIX$1}_UPDATE_LOADING_STATE`;
|
|
390
|
-
|
|
391
|
-
var routing$1$1 = /*#__PURE__*/Object.freeze({
|
|
392
|
-
__proto__: null,
|
|
393
|
-
GET_ENTRY: GET_ENTRY$1,
|
|
394
|
-
SET_ENTRY: SET_ENTRY$1,
|
|
395
|
-
SET_NODE: SET_NODE$1,
|
|
396
|
-
SET_ANCESTORS: SET_ANCESTORS$1,
|
|
397
|
-
SET_SIBLINGS: SET_SIBLINGS$1,
|
|
398
|
-
SET_ENTRY_ID: SET_ENTRY_ID$1,
|
|
399
|
-
SET_SURROGATE_KEYS: SET_SURROGATE_KEYS$1,
|
|
400
|
-
SET_NAVIGATION_NOT_FOUND: SET_NAVIGATION_NOT_FOUND$1,
|
|
401
|
-
SET_NAVIGATION_PATH: SET_NAVIGATION_PATH$1,
|
|
402
|
-
SET_TARGET_PROJECT: SET_TARGET_PROJECT$1,
|
|
403
|
-
SET_ROUTE: SET_ROUTE$1,
|
|
404
|
-
UPDATE_LOADING_STATE: UPDATE_LOADING_STATE$1
|
|
405
|
-
});
|
|
406
|
-
|
|
407
|
-
const setNotFound$1 = notFound => action$3(SET_NAVIGATION_NOT_FOUND$1, {
|
|
408
|
-
notFound
|
|
409
|
-
});
|
|
410
|
-
const setNavigationPath$1 = (path, location, staticRoute, withEvents, statePath, routes) => action$3(SET_NAVIGATION_PATH$1, {
|
|
411
|
-
path,
|
|
412
|
-
location,
|
|
413
|
-
staticRoute,
|
|
414
|
-
withEvents,
|
|
415
|
-
statePath,
|
|
416
|
-
routes
|
|
417
|
-
});
|
|
418
|
-
const setCurrentProject$1 = (project, allowedGroups, hostname) => action$3(SET_TARGET_PROJECT$1, {
|
|
419
|
-
project,
|
|
420
|
-
allowedGroups,
|
|
421
|
-
hostname
|
|
422
|
-
});
|
|
423
|
-
const setRoute$1 = (path, state) => action$3(SET_ROUTE$1, {
|
|
424
|
-
path,
|
|
425
|
-
state
|
|
426
|
-
});
|
|
427
|
-
const setRouteEntry$1 = entry => action$3(SET_ENTRY$1, {
|
|
428
|
-
entry
|
|
429
|
-
});
|
|
430
|
-
const setSurrogateKeys$1 = (keys, url) => action$3(SET_SURROGATE_KEYS$1, {
|
|
431
|
-
keys,
|
|
432
|
-
url
|
|
433
|
-
});
|
|
434
|
-
|
|
435
|
-
var routing$5 = /*#__PURE__*/Object.freeze({
|
|
436
|
-
__proto__: null,
|
|
437
|
-
setNotFound: setNotFound$1,
|
|
438
|
-
setNavigationPath: setNavigationPath$1,
|
|
439
|
-
setCurrentProject: setCurrentProject$1,
|
|
440
|
-
setRoute: setRoute$1,
|
|
441
|
-
setRouteEntry: setRouteEntry$1,
|
|
442
|
-
setSurrogateKeys: setSurrogateKeys$1
|
|
443
|
-
});
|
|
444
|
-
|
|
445
|
-
const ACTION_PREFIX$4 = '@USER/';
|
|
446
|
-
const SET_AUTHENTICATION_STATE$1 = `${ACTION_PREFIX$4}SET_AUTHENTICATION_STATE`;
|
|
447
|
-
const LOGIN_USER$1 = `${ACTION_PREFIX$4}LOGIN_USER`;
|
|
448
|
-
const LOGOUT_USER$1 = `${ACTION_PREFIX$4}LOGOUT_USER`;
|
|
449
|
-
const REGISTER_USER$1 = `${ACTION_PREFIX$4}REGISTER_USER`;
|
|
450
|
-
const REGISTER_USER_SUCCESS$1 = `${ACTION_PREFIX$4}REGISTER_USER_SUCCESS`;
|
|
451
|
-
const REGISTER_USER_FAILED$1 = `${ACTION_PREFIX$4}REGISTER_USER_FAILED`;
|
|
452
|
-
const REQUEST_USER_PASSWORD_RESET_SENDING$1 = `${ACTION_PREFIX$4}REQUEST_USER_PASSWORD_RESET_SENDING`;
|
|
453
|
-
const REQUEST_USER_PASSWORD_RESET_SUCCESS$1 = `${ACTION_PREFIX$4}REQUEST_USER_PASSWORD_RESET_SUCCESS`;
|
|
454
|
-
const REQUEST_USER_PASSWORD_RESET_ERROR$1 = `${ACTION_PREFIX$4}REQUEST_USER_PASSWORD_RESET_ERROR`;
|
|
455
|
-
const RESET_USER_PASSWORD_SENDING$1 = `${ACTION_PREFIX$4}RESET_USER_PASSWORD_SENDING`;
|
|
456
|
-
const RESET_USER_PASSWORD_SUCCESS$1 = `${ACTION_PREFIX$4}RESET_USER_PASSWORD_SUCCESS`;
|
|
457
|
-
const RESET_USER_PASSWORD_ERROR$1 = `${ACTION_PREFIX$4}RESET_USER_PASSWORD_ERROR`;
|
|
458
|
-
const CHANGE_USER_PASSWORD_SENDING$1 = `${ACTION_PREFIX$4}CHANGE_USER_PASSWORD_SENDING`;
|
|
459
|
-
const CHANGE_USER_PASSWORD_SUCCESS$1 = `${ACTION_PREFIX$4}CHANGE_USER_PASSWORD_SUCCESS`;
|
|
460
|
-
const CHANGE_USER_PASSWORD_ERROR$1 = `${ACTION_PREFIX$4}CHANGE_USER_PASSWORD_ERROR`;
|
|
461
|
-
|
|
462
|
-
const defaultAuthenticationState$1 = {
|
|
463
|
-
clientCredentials: null,
|
|
464
|
-
errorMessage: null,
|
|
465
|
-
isAuthenticated: false,
|
|
466
|
-
isAuthenticationError: false,
|
|
467
|
-
isError: false,
|
|
468
|
-
isLoading: false
|
|
469
|
-
};
|
|
470
|
-
const defaultPasswordResetRequestValues$1 = {
|
|
471
|
-
isSending: false,
|
|
472
|
-
sent: false,
|
|
473
|
-
error: null
|
|
474
|
-
};
|
|
475
|
-
const defaultResetPasswordValues$1 = {
|
|
476
|
-
isSending: false,
|
|
477
|
-
sent: false,
|
|
478
|
-
error: null
|
|
479
|
-
};
|
|
480
|
-
const defaultChangePasswordValues$1 = {
|
|
481
|
-
isSending: false,
|
|
482
|
-
sent: false,
|
|
483
|
-
error: null
|
|
484
|
-
};
|
|
485
|
-
const defaultRegistrationValues$1 = {
|
|
486
|
-
isLoading: false,
|
|
487
|
-
success: false,
|
|
488
|
-
error: null
|
|
489
|
-
};
|
|
490
|
-
const initialUserState$1 = {
|
|
491
|
-
authenticationState: defaultAuthenticationState$1,
|
|
492
|
-
passwordResetRequest: defaultPasswordResetRequestValues$1,
|
|
493
|
-
resetPassword: defaultResetPasswordValues$1,
|
|
494
|
-
changePassword: defaultChangePasswordValues$1,
|
|
495
|
-
groups: []
|
|
496
|
-
};
|
|
497
|
-
produce((state, action) => {
|
|
498
|
-
switch (action.type) {
|
|
499
|
-
case LOGOUT_USER$1:
|
|
500
|
-
{
|
|
501
|
-
return initialUserState$1;
|
|
502
|
-
}
|
|
503
|
-
|
|
504
|
-
case LOGIN_USER$1:
|
|
505
|
-
case SET_AUTHENTICATION_STATE$1:
|
|
506
|
-
{
|
|
507
|
-
var _state, _state$authentication;
|
|
508
|
-
|
|
509
|
-
if (!action.authenticationState) {
|
|
510
|
-
action.authenticationState = defaultAuthenticationState$1;
|
|
511
|
-
}
|
|
512
|
-
|
|
513
|
-
const {
|
|
514
|
-
authenticationState: {
|
|
515
|
-
clientCredentials = null,
|
|
516
|
-
errorMessage = null,
|
|
517
|
-
isAuthenticated,
|
|
518
|
-
isAuthenticationError = false,
|
|
519
|
-
isError = false,
|
|
520
|
-
isLoading = action.type === LOGIN_USER$1
|
|
521
|
-
},
|
|
522
|
-
user
|
|
523
|
-
} = action;
|
|
524
|
-
|
|
525
|
-
if (user) {
|
|
526
|
-
user.name = `${user.firstName}${user.lastName ? ` ${user.lastName}` : ''}` || null;
|
|
527
|
-
user.isZengentiStaff = user.email.includes('@zengenti.com');
|
|
528
|
-
}
|
|
529
|
-
|
|
530
|
-
state = { ...initialUserState$1,
|
|
531
|
-
...(user || state),
|
|
532
|
-
authenticationState: {
|
|
533
|
-
clientCredentials,
|
|
534
|
-
errorMessage,
|
|
535
|
-
isAuthenticated: isAuthenticated || ((_state = state) === null || _state === void 0 ? void 0 : (_state$authentication = _state.authenticationState) === null || _state$authentication === void 0 ? void 0 : _state$authentication.isAuthenticated),
|
|
536
|
-
isAuthenticationError,
|
|
537
|
-
isError,
|
|
538
|
-
isLoading
|
|
539
|
-
}
|
|
540
|
-
};
|
|
541
|
-
return state;
|
|
542
|
-
}
|
|
543
|
-
// REGISTER_USER is the trigger to set the user.registration initial state
|
|
544
|
-
// and will set user.registration.isLoading to true
|
|
545
|
-
// REGISTER_USER_FAILED will unset user.registration.isLoading and will set
|
|
546
|
-
// the value in user.registration.error
|
|
547
|
-
// REGISTER_USER_SUCCESS will unset user.registration.isLoading and will
|
|
548
|
-
// set user.registration to the created user from the api response
|
|
549
|
-
|
|
550
|
-
case REGISTER_USER$1:
|
|
551
|
-
case REGISTER_USER_FAILED$1:
|
|
552
|
-
case REGISTER_USER_SUCCESS$1:
|
|
553
|
-
{
|
|
554
|
-
const {
|
|
555
|
-
error,
|
|
556
|
-
user
|
|
557
|
-
} = action; // Set registration object from the supplied action.user
|
|
558
|
-
// so we can call these values back later
|
|
559
|
-
|
|
560
|
-
state.registration = user || state.registration || defaultRegistrationValues$1; // Set registration flags so the UI can track the status
|
|
561
|
-
|
|
562
|
-
state.registration.success = action.type === REGISTER_USER_SUCCESS$1;
|
|
563
|
-
state.registration.error = error || false;
|
|
564
|
-
state.registration.isLoading = action.type === REGISTER_USER$1;
|
|
565
|
-
return;
|
|
566
|
-
}
|
|
567
|
-
|
|
568
|
-
case REQUEST_USER_PASSWORD_RESET_SENDING$1:
|
|
569
|
-
state.passwordResetRequest = defaultPasswordResetRequestValues$1;
|
|
570
|
-
state.passwordResetRequest.isSending = true;
|
|
571
|
-
return;
|
|
572
|
-
|
|
573
|
-
case REQUEST_USER_PASSWORD_RESET_SUCCESS$1:
|
|
574
|
-
if (state.passwordResetRequest) {
|
|
575
|
-
state.passwordResetRequest.isSending = false;
|
|
576
|
-
state.passwordResetRequest.sent = true;
|
|
577
|
-
}
|
|
578
|
-
|
|
579
|
-
return;
|
|
580
|
-
|
|
581
|
-
case REQUEST_USER_PASSWORD_RESET_ERROR$1:
|
|
582
|
-
if (state.passwordResetRequest) {
|
|
583
|
-
state.passwordResetRequest.isSending = false;
|
|
584
|
-
state.passwordResetRequest.error = action.error;
|
|
585
|
-
}
|
|
586
|
-
|
|
587
|
-
return;
|
|
588
|
-
|
|
589
|
-
case RESET_USER_PASSWORD_SENDING$1:
|
|
590
|
-
if (state.resetPassword) {
|
|
591
|
-
state.resetPassword.isSending = true;
|
|
592
|
-
}
|
|
593
|
-
|
|
594
|
-
return;
|
|
595
|
-
|
|
596
|
-
case RESET_USER_PASSWORD_SUCCESS$1:
|
|
597
|
-
if (state.resetPassword) {
|
|
598
|
-
state.resetPassword.isSending = false;
|
|
599
|
-
state.resetPassword.sent = true;
|
|
600
|
-
}
|
|
601
|
-
|
|
602
|
-
return;
|
|
603
|
-
|
|
604
|
-
case RESET_USER_PASSWORD_ERROR$1:
|
|
605
|
-
if (state.resetPassword) {
|
|
606
|
-
state.resetPassword.isSending = false;
|
|
607
|
-
state.resetPassword.error = action.error;
|
|
608
|
-
}
|
|
609
|
-
|
|
610
|
-
return;
|
|
611
|
-
|
|
612
|
-
case CHANGE_USER_PASSWORD_SENDING$1:
|
|
613
|
-
if (state.changePassword) {
|
|
614
|
-
state.changePassword.isSending = true;
|
|
615
|
-
}
|
|
616
|
-
|
|
617
|
-
return;
|
|
618
|
-
|
|
619
|
-
case CHANGE_USER_PASSWORD_SUCCESS$1:
|
|
620
|
-
if (state.changePassword) {
|
|
621
|
-
state.changePassword.isSending = false;
|
|
622
|
-
state.changePassword.sent = true;
|
|
623
|
-
}
|
|
624
|
-
|
|
625
|
-
return;
|
|
626
|
-
|
|
627
|
-
case CHANGE_USER_PASSWORD_ERROR$1:
|
|
628
|
-
if (state.changePassword) {
|
|
629
|
-
state.changePassword.isSending = false;
|
|
630
|
-
state.changePassword.error = action.error;
|
|
631
|
-
}
|
|
632
|
-
|
|
633
|
-
return;
|
|
634
|
-
|
|
635
|
-
default:
|
|
636
|
-
return;
|
|
637
|
-
}
|
|
638
|
-
}, initialUserState$1);
|
|
639
|
-
|
|
640
|
-
const ACTION_PREFIX$3 = '@NAVIGATION/';
|
|
641
|
-
const GET_NODE_TREE$1 = `${ACTION_PREFIX$3}_GET_NODE_TREE`;
|
|
642
|
-
const SET_NODE_TREE$1 = `${ACTION_PREFIX$3}_SET_NODE_TREE`;
|
|
643
|
-
const GET_NODE_TREE_ERROR$1 = `${ACTION_PREFIX$3}_GET_NODE_TREE_ERROR`;
|
|
644
|
-
|
|
645
|
-
var navigation$1$3 = /*#__PURE__*/Object.freeze({
|
|
646
|
-
__proto__: null,
|
|
647
|
-
GET_NODE_TREE: GET_NODE_TREE$1,
|
|
648
|
-
SET_NODE_TREE: SET_NODE_TREE$1,
|
|
649
|
-
GET_NODE_TREE_ERROR: GET_NODE_TREE_ERROR$1
|
|
650
|
-
});
|
|
651
|
-
|
|
652
|
-
const initialState$2$1 = {
|
|
653
|
-
root: null,
|
|
654
|
-
isError: false,
|
|
655
|
-
isReady: false
|
|
656
|
-
};
|
|
657
|
-
produce((state, action) => {
|
|
658
|
-
switch (action.type) {
|
|
659
|
-
case SET_NODE_TREE$1:
|
|
660
|
-
{
|
|
661
|
-
state.root = action.nodes;
|
|
662
|
-
state.isReady = true;
|
|
663
|
-
return;
|
|
664
|
-
}
|
|
665
|
-
|
|
666
|
-
case GET_NODE_TREE_ERROR$1:
|
|
667
|
-
{
|
|
668
|
-
state.isError = true;
|
|
669
|
-
return;
|
|
670
|
-
}
|
|
671
|
-
|
|
672
|
-
default:
|
|
673
|
-
return;
|
|
674
|
-
}
|
|
675
|
-
}, initialState$2$1);
|
|
676
|
-
|
|
677
|
-
const combineMerge$1 = (target, source, options) => {
|
|
678
|
-
const destination = target.slice();
|
|
679
|
-
source.forEach((item, index) => {
|
|
680
|
-
if (typeof destination[index] === 'undefined') {
|
|
681
|
-
destination[index] = options.cloneUnlessOtherwiseSpecified(item, options);
|
|
682
|
-
} else if (options.isMergeableObject(item)) {
|
|
683
|
-
destination[index] = merge(target[index], item, options);
|
|
684
|
-
} else if (target.indexOf(item) === -1) {
|
|
685
|
-
destination.push(item);
|
|
686
|
-
}
|
|
687
|
-
});
|
|
688
|
-
return destination;
|
|
689
|
-
};
|
|
690
|
-
|
|
691
|
-
const initialState$1$1 = {
|
|
692
|
-
currentHostname: null,
|
|
693
|
-
currentPath: '/',
|
|
694
|
-
currentNode: {},
|
|
695
|
-
currentNodeAncestors: [],
|
|
696
|
-
currentProject: 'unknown',
|
|
697
|
-
entryID: null,
|
|
698
|
-
entry: null,
|
|
699
|
-
error: undefined,
|
|
700
|
-
isError: false,
|
|
701
|
-
isLoading: false,
|
|
702
|
-
location: {},
|
|
703
|
-
mappedEntry: null,
|
|
704
|
-
notFound: false,
|
|
705
|
-
staticRoute: null,
|
|
706
|
-
statusCode: 200
|
|
707
|
-
};
|
|
708
|
-
produce((state, action) => {
|
|
709
|
-
switch (action.type) {
|
|
710
|
-
case SET_ANCESTORS$1:
|
|
711
|
-
{
|
|
712
|
-
state.currentNodeAncestors = action.ancestors;
|
|
713
|
-
return;
|
|
714
|
-
}
|
|
715
|
-
|
|
716
|
-
case SET_ENTRY$1:
|
|
717
|
-
{
|
|
718
|
-
const {
|
|
719
|
-
entry,
|
|
720
|
-
error,
|
|
721
|
-
mappedEntry,
|
|
722
|
-
node = {},
|
|
723
|
-
isError = false,
|
|
724
|
-
isLoading = false,
|
|
725
|
-
notFound = false,
|
|
726
|
-
statusCode
|
|
727
|
-
} = action;
|
|
728
|
-
let defaultStatus = 200;
|
|
729
|
-
if (notFound === true && isError === false) defaultStatus = 404;else if (isError === true) defaultStatus = statusCode || 500;
|
|
730
|
-
|
|
731
|
-
if (!entry) {
|
|
732
|
-
state.entryID = null;
|
|
733
|
-
state.entry = null;
|
|
734
|
-
state.error = error;
|
|
735
|
-
state.mappedEntry = null;
|
|
736
|
-
state.isError = isError;
|
|
737
|
-
state.isLoading = isLoading;
|
|
738
|
-
state.notFound = notFound;
|
|
739
|
-
state.statusCode = statusCode || defaultStatus;
|
|
740
|
-
} else {
|
|
741
|
-
state.entryID = action.id;
|
|
742
|
-
state.entry = entry;
|
|
743
|
-
state.error = error;
|
|
744
|
-
state.isError = isError;
|
|
745
|
-
state.isLoading = isLoading;
|
|
746
|
-
state.notFound = notFound;
|
|
747
|
-
state.statusCode = statusCode || defaultStatus;
|
|
748
|
-
|
|
749
|
-
if (mappedEntry && Object.keys(mappedEntry).length > 0) {
|
|
750
|
-
state.mappedEntry = mappedEntry;
|
|
751
|
-
state.entry = {
|
|
752
|
-
sys: entry.sys
|
|
753
|
-
};
|
|
754
|
-
}
|
|
755
|
-
}
|
|
756
|
-
|
|
757
|
-
if (!node) {
|
|
758
|
-
state.currentNode = null;
|
|
759
|
-
} else {
|
|
760
|
-
// On Set Node, we reset all dependants.
|
|
761
|
-
state.currentNode = node; // eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
762
|
-
|
|
763
|
-
const {
|
|
764
|
-
entry,
|
|
765
|
-
...nodeWithoutEntry
|
|
766
|
-
} = node; // We have the entry stored elsewhere, so lets not keep it twice.
|
|
767
|
-
|
|
768
|
-
state.currentNode = nodeWithoutEntry;
|
|
769
|
-
}
|
|
770
|
-
|
|
771
|
-
return;
|
|
772
|
-
}
|
|
773
|
-
|
|
774
|
-
case UPDATE_LOADING_STATE$1:
|
|
775
|
-
{
|
|
776
|
-
state.isLoading = action.isLoading;
|
|
777
|
-
return;
|
|
778
|
-
}
|
|
779
|
-
|
|
780
|
-
case SET_NAVIGATION_PATH$1:
|
|
781
|
-
{
|
|
782
|
-
let staticRoute = {};
|
|
783
|
-
|
|
784
|
-
if (action.staticRoute) {
|
|
785
|
-
staticRoute = { ...action.staticRoute
|
|
786
|
-
};
|
|
787
|
-
}
|
|
788
|
-
|
|
789
|
-
if (action.path) {
|
|
790
|
-
var _state$entry, _state$entry$sys;
|
|
791
|
-
|
|
792
|
-
// Don't run a path update on initial load as we allready should have it in redux
|
|
793
|
-
const entryUri = state === null || state === void 0 ? void 0 : (_state$entry = state.entry) === null || _state$entry === void 0 ? void 0 : (_state$entry$sys = _state$entry.sys) === null || _state$entry$sys === void 0 ? void 0 : _state$entry$sys.uri;
|
|
794
|
-
|
|
795
|
-
if (entryUri !== action.path) {
|
|
796
|
-
state.currentPath = action.path;
|
|
797
|
-
state.location = action.location;
|
|
798
|
-
state.staticRoute = { ...staticRoute,
|
|
799
|
-
route: { ...staticRoute.route,
|
|
800
|
-
component: null
|
|
801
|
-
}
|
|
802
|
-
};
|
|
803
|
-
state.isLoading = typeof window !== 'undefined';
|
|
804
|
-
} else {
|
|
805
|
-
state.location = action.location;
|
|
806
|
-
state.staticRoute = { ...staticRoute,
|
|
807
|
-
route: { ...staticRoute.route,
|
|
808
|
-
component: null
|
|
809
|
-
}
|
|
810
|
-
};
|
|
811
|
-
}
|
|
812
|
-
}
|
|
813
|
-
|
|
814
|
-
return;
|
|
815
|
-
}
|
|
816
|
-
|
|
817
|
-
case SET_ROUTE$1:
|
|
818
|
-
{
|
|
819
|
-
state.nextPath = action.path;
|
|
820
|
-
return;
|
|
821
|
-
}
|
|
822
|
-
|
|
823
|
-
case SET_SIBLINGS$1:
|
|
824
|
-
{
|
|
825
|
-
// Can be null in some cases like the homepage.
|
|
826
|
-
let currentNodeSiblingParent = null;
|
|
827
|
-
|
|
828
|
-
if (action.siblings && action.siblings.length > 0) {
|
|
829
|
-
currentNodeSiblingParent = action.siblings[0].parentId;
|
|
830
|
-
}
|
|
831
|
-
|
|
832
|
-
state.currentNodeSiblings = action.siblings;
|
|
833
|
-
state.currentNodeSiblingsParent = currentNodeSiblingParent;
|
|
834
|
-
return;
|
|
835
|
-
}
|
|
836
|
-
|
|
837
|
-
case SET_SURROGATE_KEYS$1:
|
|
838
|
-
{
|
|
839
|
-
// console.info(`SET_SURROGATE_KEYS: '${action.url}' keys: ${action.keys}`);
|
|
840
|
-
state.surrogateKeys = merge(state.surrogateKeys, (action.keys || '').split(' '), {
|
|
841
|
-
arrayMerge: combineMerge$1
|
|
842
|
-
});
|
|
843
|
-
return;
|
|
844
|
-
}
|
|
845
|
-
|
|
846
|
-
case SET_TARGET_PROJECT$1:
|
|
847
|
-
{
|
|
848
|
-
state.currentProject = action.project;
|
|
849
|
-
state.allowedGroups = action.allowedGroups;
|
|
850
|
-
state.currentHostname = action.hostname;
|
|
851
|
-
return;
|
|
852
|
-
}
|
|
853
|
-
|
|
854
|
-
default:
|
|
855
|
-
return state;
|
|
856
|
-
}
|
|
857
|
-
}, initialState$1$1);
|
|
858
|
-
|
|
859
|
-
const VERSION_PREFIX$1 = '@VERSION/';
|
|
860
|
-
const SET_VERSION$1 = `${VERSION_PREFIX$1}SET_VERSION`;
|
|
861
|
-
const SET_VERSION_STATUS$1 = `${VERSION_PREFIX$1}SET_VERSION_STATUS`;
|
|
862
|
-
|
|
863
|
-
var version$1$1 = /*#__PURE__*/Object.freeze({
|
|
864
|
-
__proto__: null,
|
|
865
|
-
SET_VERSION: SET_VERSION$1,
|
|
866
|
-
SET_VERSION_STATUS: SET_VERSION_STATUS$1
|
|
867
|
-
});
|
|
868
|
-
|
|
869
|
-
const initialState$4 = {
|
|
870
|
-
commitRef: null,
|
|
871
|
-
buildNo: null,
|
|
872
|
-
contensisVersionStatus: 'published'
|
|
873
|
-
};
|
|
874
|
-
produce((state, action) => {
|
|
875
|
-
switch (action.type) {
|
|
876
|
-
case SET_VERSION_STATUS$1:
|
|
877
|
-
{
|
|
878
|
-
state.contensisVersionStatus = action.status;
|
|
879
|
-
return;
|
|
880
|
-
}
|
|
881
|
-
|
|
882
|
-
case SET_VERSION$1:
|
|
883
|
-
{
|
|
884
|
-
state.commitRef = action.commitRef;
|
|
885
|
-
state.buildNo = action.buildNo;
|
|
886
|
-
return;
|
|
887
|
-
}
|
|
888
|
-
|
|
889
|
-
default:
|
|
890
|
-
return;
|
|
891
|
-
}
|
|
892
|
-
}, initialState$4);
|
|
893
|
-
|
|
894
|
-
const hasNavigationTree$1 = state => getImmutableOrJS$1(state, ['navigation', 'isReady']);
|
|
895
|
-
const selectNavigationRoot$1 = state => getImmutableOrJS$1(state, ['navigation', 'root']);
|
|
896
|
-
const selectNavigationChildren$1 = state => getImmutableOrJS$1(state, ['navigation', 'root', 'children']);
|
|
897
|
-
const selectNavigationDepends$1 = () => [];
|
|
898
|
-
|
|
899
|
-
var navigation$2 = /*#__PURE__*/Object.freeze({
|
|
900
|
-
__proto__: null,
|
|
901
|
-
hasNavigationTree: hasNavigationTree$1,
|
|
902
|
-
selectNavigationRoot: selectNavigationRoot$1,
|
|
903
|
-
selectNavigationChildren: selectNavigationChildren$1,
|
|
904
|
-
selectNavigationDepends: selectNavigationDepends$1
|
|
905
|
-
});
|
|
906
|
-
|
|
907
|
-
const setVersion$1 = (commitRef, buildNo) => action$3(SET_VERSION$1, {
|
|
908
|
-
commitRef,
|
|
909
|
-
buildNo
|
|
910
|
-
});
|
|
911
|
-
const setVersionStatus$1 = status => action$3(SET_VERSION_STATUS$1, {
|
|
912
|
-
status
|
|
913
|
-
});
|
|
914
|
-
|
|
915
|
-
var version$4 = /*#__PURE__*/Object.freeze({
|
|
916
|
-
__proto__: null,
|
|
917
|
-
setVersion: setVersion$1,
|
|
918
|
-
setVersionStatus: setVersionStatus$1
|
|
919
|
-
});
|
|
920
|
-
|
|
921
|
-
const ACTION_PREFIX$2 = '@FORM2/';
|
|
922
|
-
const SET_FORM_DATA = `${ACTION_PREFIX$2}SET_FORM_DATA`;
|
|
923
|
-
const SET_FORM_ID = `${ACTION_PREFIX$2}SET_FORM_ID`;
|
|
924
|
-
const SET_CURRENT_PAGE = `${ACTION_PREFIX$2}SET_CURRENT_PAGE`;
|
|
925
|
-
const PAGE_BACK = `${ACTION_PREFIX$2}PAGE_BACK`;
|
|
926
|
-
const PAGE_FORWARD = `${ACTION_PREFIX$2}PAGE_FORWARD`;
|
|
927
|
-
const SET_FIELD_VALUE = `${ACTION_PREFIX$2}SET_FIELD_VALUE`;
|
|
928
|
-
const SET_DEFAULT_FIELD_VALUE = `${ACTION_PREFIX$2}SET_DEFAULT_FIELD_VALUE`;
|
|
929
|
-
const SUBMIT_FORM_FOR_VALIDATION = `${ACTION_PREFIX$2}SUBMIT_FORM_FOR_VALIDATION`;
|
|
930
|
-
const SUBMIT_FORM = `${ACTION_PREFIX$2}SUBMIT_FORM`;
|
|
931
|
-
const SUBMIT_FORM_SUCCESS = `${ACTION_PREFIX$2}SUBMIT_FORM_SUCCESS`;
|
|
932
|
-
const SUBMIT_FORM_ERROR = `${ACTION_PREFIX$2}SUBMIT_FORM_ERROR`;
|
|
933
|
-
const SET_SUBMITTING_FORM = `${ACTION_PREFIX$2}SET_SUBMITTING_FORM`;
|
|
934
|
-
const SET_ERROR = `${ACTION_PREFIX$2}SET_ERROR`;
|
|
935
|
-
const VALIDATE_FIELD = `${ACTION_PREFIX$2}VALIDATE_FIELD`;
|
|
936
|
-
const VALIDATE_PAGE = `${ACTION_PREFIX$2}VALIDATE_PAGE`;
|
|
937
|
-
const SET_FIELD_ERROR = `${ACTION_PREFIX$2}SET_FIELD_ERROR`;
|
|
938
|
-
const SET_DATE_RANGE_VALUES = `${ACTION_PREFIX$2}SET_DATE_RANGE_VALUES`;
|
|
939
|
-
const SET_FORM_ENTRIES = `${ACTION_PREFIX$2}SET_FORM_ENTRIES`;
|
|
940
|
-
const SET_SUCCESS_MESSAGE = `${ACTION_PREFIX$2}SET_SUCCESS_MESSAGE`;
|
|
941
|
-
const SET_CHECKBOX_VALUE = `${ACTION_PREFIX$2}SET_CHECKBOX_VALUE`;
|
|
942
|
-
|
|
943
|
-
var types$1 = /*#__PURE__*/Object.freeze({
|
|
944
|
-
__proto__: null,
|
|
945
|
-
SET_FORM_DATA: SET_FORM_DATA,
|
|
946
|
-
SET_FORM_ID: SET_FORM_ID,
|
|
947
|
-
SET_CURRENT_PAGE: SET_CURRENT_PAGE,
|
|
948
|
-
PAGE_BACK: PAGE_BACK,
|
|
949
|
-
PAGE_FORWARD: PAGE_FORWARD,
|
|
950
|
-
SET_FIELD_VALUE: SET_FIELD_VALUE,
|
|
951
|
-
SET_DEFAULT_FIELD_VALUE: SET_DEFAULT_FIELD_VALUE,
|
|
952
|
-
SUBMIT_FORM_FOR_VALIDATION: SUBMIT_FORM_FOR_VALIDATION,
|
|
953
|
-
SUBMIT_FORM: SUBMIT_FORM,
|
|
954
|
-
SUBMIT_FORM_SUCCESS: SUBMIT_FORM_SUCCESS,
|
|
955
|
-
SUBMIT_FORM_ERROR: SUBMIT_FORM_ERROR,
|
|
956
|
-
SET_SUBMITTING_FORM: SET_SUBMITTING_FORM,
|
|
957
|
-
SET_ERROR: SET_ERROR,
|
|
958
|
-
VALIDATE_FIELD: VALIDATE_FIELD,
|
|
959
|
-
VALIDATE_PAGE: VALIDATE_PAGE,
|
|
960
|
-
SET_FIELD_ERROR: SET_FIELD_ERROR,
|
|
961
|
-
SET_DATE_RANGE_VALUES: SET_DATE_RANGE_VALUES,
|
|
962
|
-
SET_FORM_ENTRIES: SET_FORM_ENTRIES,
|
|
963
|
-
SET_SUCCESS_MESSAGE: SET_SUCCESS_MESSAGE,
|
|
964
|
-
SET_CHECKBOX_VALUE: SET_CHECKBOX_VALUE
|
|
965
|
-
});
|
|
966
|
-
|
|
967
|
-
const MakeFieldType = field => {
|
|
968
|
-
if (!field) return null;
|
|
969
|
-
|
|
970
|
-
if (field.dataType === 'string' && field.editor && field.editor.id === 'multiline') {
|
|
971
|
-
return 'textarea';
|
|
972
|
-
} else if (field.dataType === 'string' && field.editor && field.editor.id === 'list-dropdown') {
|
|
973
|
-
return 'dropdown';
|
|
974
|
-
} else if (field.editor && field.editor.properties && field.editor.properties.readOnly || field.groupId && field.groupId === 'private') {
|
|
975
|
-
return 'hidden';
|
|
976
|
-
} else if (field.dataType === 'stringArray' || field.dataType === 'boolean') {
|
|
977
|
-
return 'checkbox';
|
|
978
|
-
} else if (field.dataType === 'string' && field.validations && field.validations.allowedValues) {
|
|
979
|
-
return 'radio';
|
|
980
|
-
} else if (field.dataType === 'integer') {
|
|
981
|
-
return 'number';
|
|
982
|
-
} else if (field.dataType === 'dateTime') {
|
|
983
|
-
return 'date';
|
|
984
|
-
} else if (field.dataFormat === 'daterange') {
|
|
985
|
-
return 'dateRange';
|
|
986
|
-
} else if (field.dataFormat === 'entry') {
|
|
987
|
-
return 'entryPicker';
|
|
988
|
-
} else {
|
|
989
|
-
return 'textfield';
|
|
990
|
-
}
|
|
991
|
-
};
|
|
992
|
-
|
|
993
|
-
const initialSettings = {
|
|
994
|
-
recaptcha: {
|
|
995
|
-
siteKey: null
|
|
996
|
-
}
|
|
997
|
-
};
|
|
998
|
-
const initialStatus = {
|
|
999
|
-
isLoading: false,
|
|
1000
|
-
isSubmitting: false,
|
|
1001
|
-
hasSuccess: false,
|
|
1002
|
-
successMessage: null,
|
|
1003
|
-
hasError: false
|
|
1004
|
-
};
|
|
1005
|
-
const initialPagingInfo = {
|
|
1006
|
-
pageIndex: 0,
|
|
1007
|
-
pageCount: 0,
|
|
1008
|
-
currentPageId: null
|
|
1009
|
-
};
|
|
1010
|
-
const initialFormData = {
|
|
1011
|
-
formId: null,
|
|
1012
|
-
data: {},
|
|
1013
|
-
fields: [],
|
|
1014
|
-
entries: [],
|
|
1015
|
-
fieldErrors: [],
|
|
1016
|
-
groups: [],
|
|
1017
|
-
defaultLanguage: null,
|
|
1018
|
-
pagingInfo: initialPagingInfo,
|
|
1019
|
-
status: initialStatus
|
|
1020
|
-
};
|
|
1021
|
-
let initialState$3 = {
|
|
1022
|
-
settings: initialSettings
|
|
1023
|
-
};
|
|
1024
|
-
var reducer = produce((state, action) => {
|
|
1025
|
-
switch (action.type) {
|
|
1026
|
-
case SET_FORM_ID:
|
|
1027
|
-
{
|
|
1028
|
-
const {
|
|
1029
|
-
formId
|
|
1030
|
-
} = action || {};
|
|
1031
|
-
state[formId] = initialFormData;
|
|
1032
|
-
return;
|
|
1033
|
-
}
|
|
1034
|
-
|
|
1035
|
-
case SET_FORM_DATA:
|
|
1036
|
-
{
|
|
1037
|
-
const {
|
|
1038
|
-
fields,
|
|
1039
|
-
formId,
|
|
1040
|
-
groups,
|
|
1041
|
-
defaultLanguage
|
|
1042
|
-
} = action || {};
|
|
1043
|
-
fields.map(field => {
|
|
1044
|
-
field.type = MakeFieldType(field);
|
|
1045
|
-
});
|
|
1046
|
-
state[formId].fields = fields;
|
|
1047
|
-
state[formId].formId = formId;
|
|
1048
|
-
state[formId].groups = groups;
|
|
1049
|
-
state[formId].defaultLanguage = defaultLanguage;
|
|
1050
|
-
state[formId].status.isSubmitting = false;
|
|
1051
|
-
state[formId].status.hasSuccess = false;
|
|
1052
|
-
state[formId].status.hasError = false;
|
|
1053
|
-
return;
|
|
1054
|
-
}
|
|
1055
|
-
|
|
1056
|
-
case SET_CURRENT_PAGE:
|
|
1057
|
-
{
|
|
1058
|
-
const {
|
|
1059
|
-
formId,
|
|
1060
|
-
pageId,
|
|
1061
|
-
pageIndex,
|
|
1062
|
-
pageCount
|
|
1063
|
-
} = action || {};
|
|
1064
|
-
state[formId].pagingInfo.currentPageId = pageId;
|
|
1065
|
-
state[formId].pagingInfo.pageIndex = pageIndex;
|
|
1066
|
-
state[formId].pagingInfo.pageCount = pageCount;
|
|
1067
|
-
return;
|
|
1068
|
-
}
|
|
1069
|
-
|
|
1070
|
-
case SET_FIELD_VALUE:
|
|
1071
|
-
{
|
|
1072
|
-
const {
|
|
1073
|
-
formId,
|
|
1074
|
-
id,
|
|
1075
|
-
value
|
|
1076
|
-
} = action || {};
|
|
1077
|
-
state[formId].data[id] = value;
|
|
1078
|
-
return;
|
|
1079
|
-
}
|
|
1080
|
-
|
|
1081
|
-
case SET_DEFAULT_FIELD_VALUE:
|
|
1082
|
-
{
|
|
1083
|
-
const {
|
|
1084
|
-
formId,
|
|
1085
|
-
value
|
|
1086
|
-
} = action || {};
|
|
1087
|
-
state[formId].data = value;
|
|
1088
|
-
return;
|
|
1089
|
-
}
|
|
1090
|
-
|
|
1091
|
-
case SET_CHECKBOX_VALUE:
|
|
1092
|
-
{
|
|
1093
|
-
const {
|
|
1094
|
-
formId,
|
|
1095
|
-
id,
|
|
1096
|
-
value,
|
|
1097
|
-
isChecked
|
|
1098
|
-
} = action || {};
|
|
1099
|
-
let values = state[formId].data[id] || [];
|
|
1100
|
-
if (isChecked) state[formId].data[id] = { ...values,
|
|
1101
|
-
value
|
|
1102
|
-
};else state[formId].data[id] = values.filter(v => v !== value);
|
|
1103
|
-
return;
|
|
1104
|
-
}
|
|
1105
|
-
|
|
1106
|
-
case SET_DATE_RANGE_VALUES:
|
|
1107
|
-
{
|
|
1108
|
-
const {
|
|
1109
|
-
formId,
|
|
1110
|
-
id,
|
|
1111
|
-
value,
|
|
1112
|
-
dateType
|
|
1113
|
-
} = action || {};
|
|
1114
|
-
state[formId].data[id][dateType] = value;
|
|
1115
|
-
return;
|
|
1116
|
-
}
|
|
1117
|
-
|
|
1118
|
-
case SET_FIELD_ERROR:
|
|
1119
|
-
{
|
|
1120
|
-
const {
|
|
1121
|
-
formId,
|
|
1122
|
-
value
|
|
1123
|
-
} = action || {};
|
|
1124
|
-
state[formId].fieldErrors = value;
|
|
1125
|
-
return;
|
|
1126
|
-
}
|
|
1127
|
-
|
|
1128
|
-
case SET_SUBMITTING_FORM:
|
|
1129
|
-
{
|
|
1130
|
-
const {
|
|
1131
|
-
formId,
|
|
1132
|
-
isSubmitting
|
|
1133
|
-
} = action || {};
|
|
1134
|
-
state[formId].status.isSubmitting = isSubmitting;
|
|
1135
|
-
return;
|
|
1136
|
-
}
|
|
1137
|
-
|
|
1138
|
-
case SUBMIT_FORM_SUCCESS:
|
|
1139
|
-
{
|
|
1140
|
-
const {
|
|
1141
|
-
formId
|
|
1142
|
-
} = action || {};
|
|
1143
|
-
state[formId].status.hasError = false;
|
|
1144
|
-
state[formId].status.isSubmitting = false;
|
|
1145
|
-
state[formId].status.hasSuccess = true;
|
|
1146
|
-
return;
|
|
1147
|
-
}
|
|
1148
|
-
|
|
1149
|
-
case SET_SUCCESS_MESSAGE:
|
|
1150
|
-
{
|
|
1151
|
-
const {
|
|
1152
|
-
formId,
|
|
1153
|
-
message
|
|
1154
|
-
} = action || {};
|
|
1155
|
-
state[formId].status.successMessage = message;
|
|
1156
|
-
return;
|
|
1157
|
-
}
|
|
1158
|
-
|
|
1159
|
-
case SUBMIT_FORM_ERROR:
|
|
1160
|
-
{
|
|
1161
|
-
const {
|
|
1162
|
-
formId
|
|
1163
|
-
} = action || {};
|
|
1164
|
-
state[formId].status.hasError = true;
|
|
1165
|
-
state[formId].status.isSubmitting = false;
|
|
1166
|
-
return;
|
|
1167
|
-
}
|
|
1168
|
-
|
|
1169
|
-
case SET_FORM_ENTRIES:
|
|
1170
|
-
{
|
|
1171
|
-
const {
|
|
1172
|
-
formId,
|
|
1173
|
-
entries
|
|
1174
|
-
} = action || {};
|
|
1175
|
-
const entryObject = {};
|
|
1176
|
-
entries.map(entry => {
|
|
1177
|
-
if (!entry) return null;
|
|
1178
|
-
entryObject[entry.id] = entry.entries;
|
|
1179
|
-
return entryObject;
|
|
1180
|
-
});
|
|
1181
|
-
state[formId].entries = entryObject;
|
|
1182
|
-
return;
|
|
1183
|
-
}
|
|
1184
|
-
|
|
1185
|
-
case SET_ERROR:
|
|
1186
|
-
{
|
|
1187
|
-
const {
|
|
1188
|
-
formId
|
|
1189
|
-
} = action || {};
|
|
1190
|
-
state[formId].status.hasError = true;
|
|
1191
|
-
state[formId].status.isSubmitting = false;
|
|
1192
|
-
return;
|
|
1193
|
-
}
|
|
1194
|
-
|
|
1195
|
-
default:
|
|
1196
|
-
return state;
|
|
1197
|
-
}
|
|
1198
|
-
}, initialState$3);
|
|
1199
|
-
|
|
1200
|
-
const action$1 = (type, payload = {}) => ({
|
|
1201
|
-
type,
|
|
1202
|
-
...payload
|
|
1203
|
-
});
|
|
1204
|
-
const getImmutableOrJS = (state, stateKey, fallbackValue, returnType = globalThis.STATE_TYPE) => {
|
|
1205
|
-
var _globalThis$immutable, _globalThis$immutable2;
|
|
1206
|
-
|
|
1207
|
-
// Find a fromJS function from global that is dynamically loaded in createStore
|
|
1208
|
-
// or replace with a stub function for non-immutable gets
|
|
1209
|
-
const fromJS = returnType === 'immutable' ? ((_globalThis$immutable = globalThis.immutable) === null || _globalThis$immutable === void 0 ? void 0 : _globalThis$immutable.fromJSOrdered) || ((_globalThis$immutable2 = globalThis.immutable) === null || _globalThis$immutable2 === void 0 ? void 0 : _globalThis$immutable2.fromJS) : v => v;
|
|
1210
|
-
|
|
1211
|
-
if (state && 'get' in state && typeof state.get === 'function' && 'getIn' in state && typeof state.getIn === 'function' && 'toJS' in state && typeof state.toJS === 'function') {
|
|
1212
|
-
if (Array.isArray(stateKey)) return fromJS(state.getIn(stateKey, fallbackValue));
|
|
1213
|
-
return fromJS(state.get(stateKey, fallbackValue));
|
|
1214
|
-
}
|
|
1215
|
-
|
|
1216
|
-
if (Array.isArray(stateKey) && state && typeof state === 'object') {
|
|
1217
|
-
const result = jpath(stateKey.join('.'), state);
|
|
1218
|
-
if (typeof result === 'undefined') return fallbackValue;
|
|
1219
|
-
return result;
|
|
1220
|
-
}
|
|
1221
|
-
|
|
1222
|
-
const result = state && typeof state === 'object' ? state[stateKey] : undefined;
|
|
1223
|
-
if (typeof result === 'undefined') return fallbackValue;
|
|
1224
|
-
return result;
|
|
1225
|
-
};
|
|
1226
|
-
|
|
1227
|
-
function queryParams(search) {
|
|
1228
|
-
return queryString__default.parse(typeof window != 'undefined' ? window.location.search : search);
|
|
1229
|
-
}
|
|
1230
|
-
|
|
1231
|
-
const selectRouteEntry$1 = (state, returnType) => getImmutableOrJS(state, ['routing', 'entry'], {}, returnType);
|
|
1232
|
-
const selectMappedEntry = (state, returnType) => getImmutableOrJS(state, ['routing', 'mappedEntry'], null, returnType);
|
|
1233
|
-
const selectSurrogateKeys = state => {
|
|
1234
|
-
const keys = getImmutableOrJS(state, ['routing', 'surrogateKeys'], [], 'js');
|
|
1235
|
-
return keys.join(' ');
|
|
1236
|
-
};
|
|
1237
|
-
const selectCurrentHostname = state => getImmutableOrJS(state, ['routing', 'currentHostname']);
|
|
1238
|
-
const selectCurrentTreeID = state => getImmutableOrJS(state, ['routing', 'currentHostname']);
|
|
1239
|
-
const selectRouteEntryEntryId$1 = state => getImmutableOrJS(state, ['routing', 'entry', 'sys', 'id'], null);
|
|
1240
|
-
const selectRouteEntryContentTypeId$1 = state => {
|
|
1241
|
-
const entry = selectRouteEntry$1(state);
|
|
1242
|
-
return getImmutableOrJS(entry, ['sys', 'contentTypeId'], null);
|
|
1243
|
-
};
|
|
1244
|
-
const selectRouteEntryLanguage = state => {
|
|
1245
|
-
const entry = selectRouteEntry$1(state);
|
|
1246
|
-
return getImmutableOrJS(entry, ['sys', 'language'], null);
|
|
1247
|
-
};
|
|
1248
|
-
const selectRouteEntrySlug$1 = state => {
|
|
1249
|
-
const entry = selectRouteEntry$1(state);
|
|
1250
|
-
return getImmutableOrJS(entry, ['sys', 'slug'], null);
|
|
1251
|
-
};
|
|
1252
|
-
const selectRouteEntryID$1 = state => getImmutableOrJS(state, ['routing', 'entryID']);
|
|
1253
|
-
const selectCurrentPath$1 = state => getImmutableOrJS(state, ['routing', 'currentPath']);
|
|
1254
|
-
const selectCurrentLocation = state => getImmutableOrJS(state, ['routing', 'location']);
|
|
1255
|
-
const selectCurrentSearch$1 = state => getImmutableOrJS(state, ['routing', 'location', 'search']);
|
|
1256
|
-
const selectCurrentHash = state => getImmutableOrJS(state, ['routing', 'location', 'hash']);
|
|
1257
|
-
const selectQueryStringAsObject$1 = state => queryParams(selectCurrentSearch$1(state));
|
|
1258
|
-
const selectCurrentProject$1 = state => getImmutableOrJS(state, ['routing', 'currentProject']);
|
|
1259
|
-
const selectIsNotFound$1 = state => getImmutableOrJS(state, ['routing', 'notFound']);
|
|
1260
|
-
const selectCurrentAncestors$1 = state => getImmutableOrJS(state, ['routing', 'currentNodeAncestors'], []);
|
|
1261
|
-
const selectCurrentSiblings = state => getImmutableOrJS(state, ['routing', 'currentNodeSiblings'], []);
|
|
1262
|
-
const selectCurrentNode = (state, returnType) => getImmutableOrJS(state, ['routing', 'currentNode'], null, returnType);
|
|
1263
|
-
const selectCurrentChildren = state => getImmutableOrJS(state, ['routing', 'currentNode', 'children'], []);
|
|
1264
|
-
const selectBreadcrumb = state => {
|
|
1265
|
-
return selectCurrentAncestors$1(state).push(selectCurrentNode(state));
|
|
1266
|
-
};
|
|
1267
|
-
const selectRouteErrorMessage = state => {
|
|
1268
|
-
const error = getImmutableOrJS(state, ['routing', 'error']);
|
|
1269
|
-
return getImmutableOrJS(error, ['data', 'message'], getImmutableOrJS(error, 'statusText'));
|
|
1270
|
-
};
|
|
1271
|
-
const selectRouteIsError = state => getImmutableOrJS(state, ['routing', 'isError']);
|
|
1272
|
-
const selectRouteLoading$1 = state => getImmutableOrJS(state, ['routing', 'isLoading']);
|
|
1273
|
-
const selectRouteStatusCode = state => getImmutableOrJS(state, ['routing', 'statusCode']);
|
|
1274
|
-
const selectStaticRoute = state => getImmutableOrJS(state, ['routing', 'staticRoute']);
|
|
1275
|
-
|
|
1276
|
-
var routing$3 = /*#__PURE__*/Object.freeze({
|
|
1277
|
-
__proto__: null,
|
|
1278
|
-
selectRouteEntry: selectRouteEntry$1,
|
|
1279
|
-
selectMappedEntry: selectMappedEntry,
|
|
1280
|
-
selectSurrogateKeys: selectSurrogateKeys,
|
|
1281
|
-
selectCurrentHostname: selectCurrentHostname,
|
|
1282
|
-
selectCurrentTreeID: selectCurrentTreeID,
|
|
1283
|
-
selectRouteEntryEntryId: selectRouteEntryEntryId$1,
|
|
1284
|
-
selectRouteEntryContentTypeId: selectRouteEntryContentTypeId$1,
|
|
1285
|
-
selectRouteEntryLanguage: selectRouteEntryLanguage,
|
|
1286
|
-
selectRouteEntrySlug: selectRouteEntrySlug$1,
|
|
1287
|
-
selectRouteEntryID: selectRouteEntryID$1,
|
|
1288
|
-
selectCurrentPath: selectCurrentPath$1,
|
|
1289
|
-
selectCurrentLocation: selectCurrentLocation,
|
|
1290
|
-
selectCurrentSearch: selectCurrentSearch$1,
|
|
1291
|
-
selectCurrentHash: selectCurrentHash,
|
|
1292
|
-
selectQueryStringAsObject: selectQueryStringAsObject$1,
|
|
1293
|
-
selectCurrentProject: selectCurrentProject$1,
|
|
1294
|
-
selectIsNotFound: selectIsNotFound$1,
|
|
1295
|
-
selectCurrentAncestors: selectCurrentAncestors$1,
|
|
1296
|
-
selectCurrentSiblings: selectCurrentSiblings,
|
|
1297
|
-
selectCurrentNode: selectCurrentNode,
|
|
1298
|
-
selectCurrentChildren: selectCurrentChildren,
|
|
1299
|
-
selectBreadcrumb: selectBreadcrumb,
|
|
1300
|
-
selectRouteErrorMessage: selectRouteErrorMessage,
|
|
1301
|
-
selectRouteIsError: selectRouteIsError,
|
|
1302
|
-
selectRouteLoading: selectRouteLoading$1,
|
|
1303
|
-
selectRouteStatusCode: selectRouteStatusCode,
|
|
1304
|
-
selectStaticRoute: selectStaticRoute
|
|
1305
|
-
});
|
|
1306
|
-
|
|
1307
|
-
const ROUTING_PREFIX = '@ROUTING/';
|
|
1308
|
-
const GET_ENTRY = `${ROUTING_PREFIX}_GET_ENTRY`;
|
|
1309
|
-
const SET_ENTRY = `${ROUTING_PREFIX}_SET_ENTRY`;
|
|
1310
|
-
const SET_NODE = `${ROUTING_PREFIX}_SET_NODE`;
|
|
1311
|
-
const SET_ANCESTORS = `${ROUTING_PREFIX}_SET_ANCESTORS`;
|
|
1312
|
-
const SET_SIBLINGS = `${ROUTING_PREFIX}_SET_SIBLINGS`;
|
|
1313
|
-
const SET_ENTRY_ID = `${ROUTING_PREFIX}_SET_ENTRY_ID`;
|
|
1314
|
-
const SET_SURROGATE_KEYS = `${ROUTING_PREFIX}_SET_SURROGATE_KEYS`;
|
|
1315
|
-
const SET_NAVIGATION_NOT_FOUND = `${ROUTING_PREFIX}_SET_NOT_FOUND`;
|
|
1316
|
-
const SET_NAVIGATION_PATH = `${ROUTING_PREFIX}_SET_NAVIGATION_PATH`;
|
|
1317
|
-
const SET_TARGET_PROJECT = `${ROUTING_PREFIX}_SET_TARGET_PROJECT`;
|
|
1318
|
-
const SET_ROUTE = `${ROUTING_PREFIX}_SET_ROUTE`;
|
|
1319
|
-
const UPDATE_LOADING_STATE = `${ROUTING_PREFIX}_UPDATE_LOADING_STATE`;
|
|
1320
|
-
|
|
1321
|
-
var routing$1 = /*#__PURE__*/Object.freeze({
|
|
1322
|
-
__proto__: null,
|
|
1323
|
-
GET_ENTRY: GET_ENTRY,
|
|
1324
|
-
SET_ENTRY: SET_ENTRY,
|
|
1325
|
-
SET_NODE: SET_NODE,
|
|
1326
|
-
SET_ANCESTORS: SET_ANCESTORS,
|
|
1327
|
-
SET_SIBLINGS: SET_SIBLINGS,
|
|
1328
|
-
SET_ENTRY_ID: SET_ENTRY_ID,
|
|
1329
|
-
SET_SURROGATE_KEYS: SET_SURROGATE_KEYS,
|
|
1330
|
-
SET_NAVIGATION_NOT_FOUND: SET_NAVIGATION_NOT_FOUND,
|
|
1331
|
-
SET_NAVIGATION_PATH: SET_NAVIGATION_PATH,
|
|
1332
|
-
SET_TARGET_PROJECT: SET_TARGET_PROJECT,
|
|
1333
|
-
SET_ROUTE: SET_ROUTE,
|
|
1334
|
-
UPDATE_LOADING_STATE: UPDATE_LOADING_STATE
|
|
1335
|
-
});
|
|
1336
|
-
|
|
1337
|
-
const setNotFound = notFound => action$1(SET_NAVIGATION_NOT_FOUND, {
|
|
1338
|
-
notFound
|
|
1339
|
-
});
|
|
1340
|
-
const setNavigationPath = (path, location, staticRoute, withEvents, statePath, routes) => action$1(SET_NAVIGATION_PATH, {
|
|
1341
|
-
path,
|
|
1342
|
-
location,
|
|
1343
|
-
staticRoute,
|
|
1344
|
-
withEvents,
|
|
1345
|
-
statePath,
|
|
1346
|
-
routes
|
|
1347
|
-
});
|
|
1348
|
-
const setCurrentProject = (project, allowedGroups, hostname) => action$1(SET_TARGET_PROJECT, {
|
|
1349
|
-
project,
|
|
1350
|
-
allowedGroups,
|
|
1351
|
-
hostname
|
|
1352
|
-
});
|
|
1353
|
-
const setRoute = (path, state) => action$1(SET_ROUTE, {
|
|
1354
|
-
path,
|
|
1355
|
-
state
|
|
1356
|
-
});
|
|
1357
|
-
const setRouteEntry = entry => action$1(SET_ENTRY, {
|
|
1358
|
-
entry
|
|
1359
|
-
});
|
|
1360
|
-
const setSurrogateKeys = (keys, url) => action$1(SET_SURROGATE_KEYS, {
|
|
1361
|
-
keys,
|
|
1362
|
-
url
|
|
1363
|
-
});
|
|
1364
|
-
|
|
1365
|
-
var routing$2 = /*#__PURE__*/Object.freeze({
|
|
1366
|
-
__proto__: null,
|
|
1367
|
-
setNotFound: setNotFound,
|
|
1368
|
-
setNavigationPath: setNavigationPath,
|
|
1369
|
-
setCurrentProject: setCurrentProject,
|
|
1370
|
-
setRoute: setRoute,
|
|
1371
|
-
setRouteEntry: setRouteEntry,
|
|
1372
|
-
setSurrogateKeys: setSurrogateKeys
|
|
1373
|
-
});
|
|
1374
|
-
|
|
1375
|
-
const ACTION_PREFIX$1 = '@USER/';
|
|
1376
|
-
const SET_AUTHENTICATION_STATE = `${ACTION_PREFIX$1}SET_AUTHENTICATION_STATE`;
|
|
1377
|
-
const LOGIN_USER = `${ACTION_PREFIX$1}LOGIN_USER`;
|
|
1378
|
-
const LOGOUT_USER = `${ACTION_PREFIX$1}LOGOUT_USER`;
|
|
1379
|
-
const REGISTER_USER = `${ACTION_PREFIX$1}REGISTER_USER`;
|
|
1380
|
-
const REGISTER_USER_SUCCESS = `${ACTION_PREFIX$1}REGISTER_USER_SUCCESS`;
|
|
1381
|
-
const REGISTER_USER_FAILED = `${ACTION_PREFIX$1}REGISTER_USER_FAILED`;
|
|
1382
|
-
const REQUEST_USER_PASSWORD_RESET_SENDING = `${ACTION_PREFIX$1}REQUEST_USER_PASSWORD_RESET_SENDING`;
|
|
1383
|
-
const REQUEST_USER_PASSWORD_RESET_SUCCESS = `${ACTION_PREFIX$1}REQUEST_USER_PASSWORD_RESET_SUCCESS`;
|
|
1384
|
-
const REQUEST_USER_PASSWORD_RESET_ERROR = `${ACTION_PREFIX$1}REQUEST_USER_PASSWORD_RESET_ERROR`;
|
|
1385
|
-
const RESET_USER_PASSWORD_SENDING = `${ACTION_PREFIX$1}RESET_USER_PASSWORD_SENDING`;
|
|
1386
|
-
const RESET_USER_PASSWORD_SUCCESS = `${ACTION_PREFIX$1}RESET_USER_PASSWORD_SUCCESS`;
|
|
1387
|
-
const RESET_USER_PASSWORD_ERROR = `${ACTION_PREFIX$1}RESET_USER_PASSWORD_ERROR`;
|
|
1388
|
-
const CHANGE_USER_PASSWORD_SENDING = `${ACTION_PREFIX$1}CHANGE_USER_PASSWORD_SENDING`;
|
|
1389
|
-
const CHANGE_USER_PASSWORD_SUCCESS = `${ACTION_PREFIX$1}CHANGE_USER_PASSWORD_SUCCESS`;
|
|
1390
|
-
const CHANGE_USER_PASSWORD_ERROR = `${ACTION_PREFIX$1}CHANGE_USER_PASSWORD_ERROR`;
|
|
1391
|
-
|
|
1392
|
-
const defaultAuthenticationState = {
|
|
1393
|
-
clientCredentials: null,
|
|
1394
|
-
errorMessage: null,
|
|
1395
|
-
isAuthenticated: false,
|
|
1396
|
-
isAuthenticationError: false,
|
|
1397
|
-
isError: false,
|
|
1398
|
-
isLoading: false
|
|
1399
|
-
};
|
|
1400
|
-
const defaultPasswordResetRequestValues = {
|
|
1401
|
-
isSending: false,
|
|
1402
|
-
sent: false,
|
|
1403
|
-
error: null
|
|
1404
|
-
};
|
|
1405
|
-
const defaultResetPasswordValues = {
|
|
1406
|
-
isSending: false,
|
|
1407
|
-
sent: false,
|
|
1408
|
-
error: null
|
|
1409
|
-
};
|
|
1410
|
-
const defaultChangePasswordValues = {
|
|
1411
|
-
isSending: false,
|
|
1412
|
-
sent: false,
|
|
1413
|
-
error: null
|
|
1414
|
-
};
|
|
1415
|
-
const defaultRegistrationValues = {
|
|
1416
|
-
isLoading: false,
|
|
1417
|
-
success: false,
|
|
1418
|
-
error: null
|
|
1419
|
-
};
|
|
1420
|
-
const initialUserState = {
|
|
1421
|
-
authenticationState: defaultAuthenticationState,
|
|
1422
|
-
passwordResetRequest: defaultPasswordResetRequestValues,
|
|
1423
|
-
resetPassword: defaultResetPasswordValues,
|
|
1424
|
-
changePassword: defaultChangePasswordValues,
|
|
1425
|
-
groups: []
|
|
1426
|
-
};
|
|
1427
|
-
produce((state, action) => {
|
|
1428
|
-
switch (action.type) {
|
|
1429
|
-
case LOGOUT_USER:
|
|
1430
|
-
{
|
|
1431
|
-
return initialUserState;
|
|
1432
|
-
}
|
|
1433
|
-
|
|
1434
|
-
case LOGIN_USER:
|
|
1435
|
-
case SET_AUTHENTICATION_STATE:
|
|
1436
|
-
{
|
|
1437
|
-
var _state, _state$authentication;
|
|
1438
|
-
|
|
1439
|
-
if (!action.authenticationState) {
|
|
1440
|
-
action.authenticationState = defaultAuthenticationState;
|
|
1441
|
-
}
|
|
1442
|
-
|
|
1443
|
-
const {
|
|
1444
|
-
authenticationState: {
|
|
1445
|
-
clientCredentials = null,
|
|
1446
|
-
errorMessage = null,
|
|
1447
|
-
isAuthenticated,
|
|
1448
|
-
isAuthenticationError = false,
|
|
1449
|
-
isError = false,
|
|
1450
|
-
isLoading = action.type === LOGIN_USER
|
|
1451
|
-
},
|
|
1452
|
-
user
|
|
1453
|
-
} = action;
|
|
1454
|
-
|
|
1455
|
-
if (user) {
|
|
1456
|
-
user.name = `${user.firstName}${user.lastName ? ` ${user.lastName}` : ''}` || null;
|
|
1457
|
-
user.isZengentiStaff = user.email.includes('@zengenti.com');
|
|
1458
|
-
}
|
|
1459
|
-
|
|
1460
|
-
state = { ...initialUserState,
|
|
1461
|
-
...(user || state),
|
|
1462
|
-
authenticationState: {
|
|
1463
|
-
clientCredentials,
|
|
1464
|
-
errorMessage,
|
|
1465
|
-
isAuthenticated: isAuthenticated || ((_state = state) === null || _state === void 0 ? void 0 : (_state$authentication = _state.authenticationState) === null || _state$authentication === void 0 ? void 0 : _state$authentication.isAuthenticated),
|
|
1466
|
-
isAuthenticationError,
|
|
1467
|
-
isError,
|
|
1468
|
-
isLoading
|
|
1469
|
-
}
|
|
1470
|
-
};
|
|
1471
|
-
return state;
|
|
1472
|
-
}
|
|
1473
|
-
// REGISTER_USER is the trigger to set the user.registration initial state
|
|
1474
|
-
// and will set user.registration.isLoading to true
|
|
1475
|
-
// REGISTER_USER_FAILED will unset user.registration.isLoading and will set
|
|
1476
|
-
// the value in user.registration.error
|
|
1477
|
-
// REGISTER_USER_SUCCESS will unset user.registration.isLoading and will
|
|
1478
|
-
// set user.registration to the created user from the api response
|
|
1479
|
-
|
|
1480
|
-
case REGISTER_USER:
|
|
1481
|
-
case REGISTER_USER_FAILED:
|
|
1482
|
-
case REGISTER_USER_SUCCESS:
|
|
1483
|
-
{
|
|
1484
|
-
const {
|
|
1485
|
-
error,
|
|
1486
|
-
user
|
|
1487
|
-
} = action; // Set registration object from the supplied action.user
|
|
1488
|
-
// so we can call these values back later
|
|
1489
|
-
|
|
1490
|
-
state.registration = user || state.registration || defaultRegistrationValues; // Set registration flags so the UI can track the status
|
|
1491
|
-
|
|
1492
|
-
state.registration.success = action.type === REGISTER_USER_SUCCESS;
|
|
1493
|
-
state.registration.error = error || false;
|
|
1494
|
-
state.registration.isLoading = action.type === REGISTER_USER;
|
|
1495
|
-
return;
|
|
1496
|
-
}
|
|
1497
|
-
|
|
1498
|
-
case REQUEST_USER_PASSWORD_RESET_SENDING:
|
|
1499
|
-
state.passwordResetRequest = defaultPasswordResetRequestValues;
|
|
1500
|
-
state.passwordResetRequest.isSending = true;
|
|
1501
|
-
return;
|
|
1502
|
-
|
|
1503
|
-
case REQUEST_USER_PASSWORD_RESET_SUCCESS:
|
|
1504
|
-
if (state.passwordResetRequest) {
|
|
1505
|
-
state.passwordResetRequest.isSending = false;
|
|
1506
|
-
state.passwordResetRequest.sent = true;
|
|
1507
|
-
}
|
|
1508
|
-
|
|
1509
|
-
return;
|
|
1510
|
-
|
|
1511
|
-
case REQUEST_USER_PASSWORD_RESET_ERROR:
|
|
1512
|
-
if (state.passwordResetRequest) {
|
|
1513
|
-
state.passwordResetRequest.isSending = false;
|
|
1514
|
-
state.passwordResetRequest.error = action.error;
|
|
1515
|
-
}
|
|
1516
|
-
|
|
1517
|
-
return;
|
|
1518
|
-
|
|
1519
|
-
case RESET_USER_PASSWORD_SENDING:
|
|
1520
|
-
if (state.resetPassword) {
|
|
1521
|
-
state.resetPassword.isSending = true;
|
|
1522
|
-
}
|
|
1523
|
-
|
|
1524
|
-
return;
|
|
1525
|
-
|
|
1526
|
-
case RESET_USER_PASSWORD_SUCCESS:
|
|
1527
|
-
if (state.resetPassword) {
|
|
1528
|
-
state.resetPassword.isSending = false;
|
|
1529
|
-
state.resetPassword.sent = true;
|
|
1530
|
-
}
|
|
1531
|
-
|
|
1532
|
-
return;
|
|
1533
|
-
|
|
1534
|
-
case RESET_USER_PASSWORD_ERROR:
|
|
1535
|
-
if (state.resetPassword) {
|
|
1536
|
-
state.resetPassword.isSending = false;
|
|
1537
|
-
state.resetPassword.error = action.error;
|
|
1538
|
-
}
|
|
1539
|
-
|
|
1540
|
-
return;
|
|
1541
|
-
|
|
1542
|
-
case CHANGE_USER_PASSWORD_SENDING:
|
|
1543
|
-
if (state.changePassword) {
|
|
1544
|
-
state.changePassword.isSending = true;
|
|
1545
|
-
}
|
|
1546
|
-
|
|
1547
|
-
return;
|
|
1548
|
-
|
|
1549
|
-
case CHANGE_USER_PASSWORD_SUCCESS:
|
|
1550
|
-
if (state.changePassword) {
|
|
1551
|
-
state.changePassword.isSending = false;
|
|
1552
|
-
state.changePassword.sent = true;
|
|
1553
|
-
}
|
|
1554
|
-
|
|
1555
|
-
return;
|
|
1556
|
-
|
|
1557
|
-
case CHANGE_USER_PASSWORD_ERROR:
|
|
1558
|
-
if (state.changePassword) {
|
|
1559
|
-
state.changePassword.isSending = false;
|
|
1560
|
-
state.changePassword.error = action.error;
|
|
1561
|
-
}
|
|
1562
|
-
|
|
1563
|
-
return;
|
|
1564
|
-
|
|
1565
|
-
default:
|
|
1566
|
-
return;
|
|
1567
|
-
}
|
|
1568
|
-
}, initialUserState);
|
|
1569
|
-
|
|
1570
|
-
const ACTION_PREFIX = '@NAVIGATION/';
|
|
1571
|
-
const GET_NODE_TREE = `${ACTION_PREFIX}_GET_NODE_TREE`;
|
|
1572
|
-
const SET_NODE_TREE = `${ACTION_PREFIX}_SET_NODE_TREE`;
|
|
1573
|
-
const GET_NODE_TREE_ERROR = `${ACTION_PREFIX}_GET_NODE_TREE_ERROR`;
|
|
1574
|
-
|
|
1575
|
-
var navigation$1$1 = /*#__PURE__*/Object.freeze({
|
|
1576
|
-
__proto__: null,
|
|
1577
|
-
GET_NODE_TREE: GET_NODE_TREE,
|
|
1578
|
-
SET_NODE_TREE: SET_NODE_TREE,
|
|
1579
|
-
GET_NODE_TREE_ERROR: GET_NODE_TREE_ERROR
|
|
1580
|
-
});
|
|
1581
|
-
|
|
1582
|
-
const initialState$2 = {
|
|
1583
|
-
root: null,
|
|
1584
|
-
isError: false,
|
|
1585
|
-
isReady: false
|
|
1586
|
-
};
|
|
1587
|
-
produce((state, action) => {
|
|
1588
|
-
switch (action.type) {
|
|
1589
|
-
case SET_NODE_TREE:
|
|
1590
|
-
{
|
|
1591
|
-
state.root = action.nodes;
|
|
1592
|
-
state.isReady = true;
|
|
1593
|
-
return;
|
|
1594
|
-
}
|
|
1595
|
-
|
|
1596
|
-
case GET_NODE_TREE_ERROR:
|
|
1597
|
-
{
|
|
1598
|
-
state.isError = true;
|
|
1599
|
-
return;
|
|
1600
|
-
}
|
|
1601
|
-
|
|
1602
|
-
default:
|
|
1603
|
-
return;
|
|
1604
|
-
}
|
|
1605
|
-
}, initialState$2);
|
|
1606
|
-
|
|
1607
|
-
const combineMerge = (target, source, options) => {
|
|
1608
|
-
const destination = target.slice();
|
|
1609
|
-
source.forEach((item, index) => {
|
|
1610
|
-
if (typeof destination[index] === 'undefined') {
|
|
1611
|
-
destination[index] = options.cloneUnlessOtherwiseSpecified(item, options);
|
|
1612
|
-
} else if (options.isMergeableObject(item)) {
|
|
1613
|
-
destination[index] = merge(target[index], item, options);
|
|
1614
|
-
} else if (target.indexOf(item) === -1) {
|
|
1615
|
-
destination.push(item);
|
|
1616
|
-
}
|
|
1617
|
-
});
|
|
1618
|
-
return destination;
|
|
1619
|
-
};
|
|
1620
|
-
|
|
1621
|
-
const initialState$1 = {
|
|
1622
|
-
currentHostname: null,
|
|
1623
|
-
currentPath: '/',
|
|
1624
|
-
currentNode: {},
|
|
1625
|
-
currentNodeAncestors: [],
|
|
1626
|
-
currentProject: 'unknown',
|
|
1627
|
-
entryID: null,
|
|
1628
|
-
entry: null,
|
|
1629
|
-
error: undefined,
|
|
1630
|
-
isError: false,
|
|
1631
|
-
isLoading: false,
|
|
1632
|
-
location: {},
|
|
1633
|
-
mappedEntry: null,
|
|
1634
|
-
notFound: false,
|
|
1635
|
-
staticRoute: null,
|
|
1636
|
-
statusCode: 200
|
|
1637
|
-
};
|
|
1638
|
-
produce((state, action) => {
|
|
1639
|
-
switch (action.type) {
|
|
1640
|
-
case SET_ANCESTORS:
|
|
1641
|
-
{
|
|
1642
|
-
state.currentNodeAncestors = action.ancestors;
|
|
1643
|
-
return;
|
|
1644
|
-
}
|
|
1645
|
-
|
|
1646
|
-
case SET_ENTRY:
|
|
1647
|
-
{
|
|
1648
|
-
const {
|
|
1649
|
-
entry,
|
|
1650
|
-
error,
|
|
1651
|
-
mappedEntry,
|
|
1652
|
-
node = {},
|
|
1653
|
-
isError = false,
|
|
1654
|
-
isLoading = false,
|
|
1655
|
-
notFound = false,
|
|
1656
|
-
statusCode
|
|
1657
|
-
} = action;
|
|
1658
|
-
let defaultStatus = 200;
|
|
1659
|
-
if (notFound === true && isError === false) defaultStatus = 404;else if (isError === true) defaultStatus = statusCode || 500;
|
|
1660
|
-
|
|
1661
|
-
if (!entry) {
|
|
1662
|
-
state.entryID = null;
|
|
1663
|
-
state.entry = null;
|
|
1664
|
-
state.error = error;
|
|
1665
|
-
state.mappedEntry = null;
|
|
1666
|
-
state.isError = isError;
|
|
1667
|
-
state.isLoading = isLoading;
|
|
1668
|
-
state.notFound = notFound;
|
|
1669
|
-
state.statusCode = statusCode || defaultStatus;
|
|
1670
|
-
} else {
|
|
1671
|
-
state.entryID = action.id;
|
|
1672
|
-
state.entry = entry;
|
|
1673
|
-
state.error = error;
|
|
1674
|
-
state.isError = isError;
|
|
1675
|
-
state.isLoading = isLoading;
|
|
1676
|
-
state.notFound = notFound;
|
|
1677
|
-
state.statusCode = statusCode || defaultStatus;
|
|
1678
|
-
|
|
1679
|
-
if (mappedEntry && Object.keys(mappedEntry).length > 0) {
|
|
1680
|
-
state.mappedEntry = mappedEntry;
|
|
1681
|
-
state.entry = {
|
|
1682
|
-
sys: entry.sys
|
|
1683
|
-
};
|
|
1684
|
-
}
|
|
1685
|
-
}
|
|
1686
|
-
|
|
1687
|
-
if (!node) {
|
|
1688
|
-
state.currentNode = null;
|
|
1689
|
-
} else {
|
|
1690
|
-
// On Set Node, we reset all dependants.
|
|
1691
|
-
state.currentNode = node; // eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
1692
|
-
|
|
1693
|
-
const {
|
|
1694
|
-
entry,
|
|
1695
|
-
...nodeWithoutEntry
|
|
1696
|
-
} = node; // We have the entry stored elsewhere, so lets not keep it twice.
|
|
1697
|
-
|
|
1698
|
-
state.currentNode = nodeWithoutEntry;
|
|
1699
|
-
}
|
|
1700
|
-
|
|
1701
|
-
return;
|
|
1702
|
-
}
|
|
1703
|
-
|
|
1704
|
-
case UPDATE_LOADING_STATE:
|
|
1705
|
-
{
|
|
1706
|
-
state.isLoading = action.isLoading;
|
|
1707
|
-
return;
|
|
1708
|
-
}
|
|
1709
|
-
|
|
1710
|
-
case SET_NAVIGATION_PATH:
|
|
1711
|
-
{
|
|
1712
|
-
let staticRoute = {};
|
|
1713
|
-
|
|
1714
|
-
if (action.staticRoute) {
|
|
1715
|
-
staticRoute = { ...action.staticRoute
|
|
1716
|
-
};
|
|
1717
|
-
}
|
|
1718
|
-
|
|
1719
|
-
if (action.path) {
|
|
1720
|
-
var _state$entry, _state$entry$sys;
|
|
1721
|
-
|
|
1722
|
-
// Don't run a path update on initial load as we allready should have it in redux
|
|
1723
|
-
const entryUri = state === null || state === void 0 ? void 0 : (_state$entry = state.entry) === null || _state$entry === void 0 ? void 0 : (_state$entry$sys = _state$entry.sys) === null || _state$entry$sys === void 0 ? void 0 : _state$entry$sys.uri;
|
|
1724
|
-
|
|
1725
|
-
if (entryUri !== action.path) {
|
|
1726
|
-
state.currentPath = action.path;
|
|
1727
|
-
state.location = action.location;
|
|
1728
|
-
state.staticRoute = { ...staticRoute,
|
|
1729
|
-
route: { ...staticRoute.route,
|
|
1730
|
-
component: null
|
|
1731
|
-
}
|
|
1732
|
-
};
|
|
1733
|
-
state.isLoading = typeof window !== 'undefined';
|
|
1734
|
-
} else {
|
|
1735
|
-
state.location = action.location;
|
|
1736
|
-
state.staticRoute = { ...staticRoute,
|
|
1737
|
-
route: { ...staticRoute.route,
|
|
1738
|
-
component: null
|
|
1739
|
-
}
|
|
1740
|
-
};
|
|
1741
|
-
}
|
|
1742
|
-
}
|
|
1743
|
-
|
|
1744
|
-
return;
|
|
1745
|
-
}
|
|
1746
|
-
|
|
1747
|
-
case SET_ROUTE:
|
|
1748
|
-
{
|
|
1749
|
-
state.nextPath = action.path;
|
|
1750
|
-
return;
|
|
1751
|
-
}
|
|
1752
|
-
|
|
1753
|
-
case SET_SIBLINGS:
|
|
1754
|
-
{
|
|
1755
|
-
// Can be null in some cases like the homepage.
|
|
1756
|
-
let currentNodeSiblingParent = null;
|
|
1757
|
-
|
|
1758
|
-
if (action.siblings && action.siblings.length > 0) {
|
|
1759
|
-
currentNodeSiblingParent = action.siblings[0].parentId;
|
|
1760
|
-
}
|
|
1761
|
-
|
|
1762
|
-
state.currentNodeSiblings = action.siblings;
|
|
1763
|
-
state.currentNodeSiblingsParent = currentNodeSiblingParent;
|
|
1764
|
-
return;
|
|
1765
|
-
}
|
|
1766
|
-
|
|
1767
|
-
case SET_SURROGATE_KEYS:
|
|
1768
|
-
{
|
|
1769
|
-
// console.info(`SET_SURROGATE_KEYS: '${action.url}' keys: ${action.keys}`);
|
|
1770
|
-
state.surrogateKeys = merge(state.surrogateKeys, (action.keys || '').split(' '), {
|
|
1771
|
-
arrayMerge: combineMerge
|
|
1772
|
-
});
|
|
1773
|
-
return;
|
|
1774
|
-
}
|
|
1775
|
-
|
|
1776
|
-
case SET_TARGET_PROJECT:
|
|
1777
|
-
{
|
|
1778
|
-
state.currentProject = action.project;
|
|
1779
|
-
state.allowedGroups = action.allowedGroups;
|
|
1780
|
-
state.currentHostname = action.hostname;
|
|
1781
|
-
return;
|
|
1782
|
-
}
|
|
1783
|
-
|
|
1784
|
-
default:
|
|
1785
|
-
return state;
|
|
1786
|
-
}
|
|
1787
|
-
}, initialState$1);
|
|
1788
|
-
|
|
1789
|
-
const VERSION_PREFIX = '@VERSION/';
|
|
1790
|
-
const SET_VERSION = `${VERSION_PREFIX}SET_VERSION`;
|
|
1791
|
-
const SET_VERSION_STATUS = `${VERSION_PREFIX}SET_VERSION_STATUS`;
|
|
1792
|
-
|
|
1793
|
-
var version$1 = /*#__PURE__*/Object.freeze({
|
|
1794
|
-
__proto__: null,
|
|
1795
|
-
SET_VERSION: SET_VERSION,
|
|
1796
|
-
SET_VERSION_STATUS: SET_VERSION_STATUS
|
|
1797
|
-
});
|
|
1798
|
-
|
|
1799
|
-
const initialState = {
|
|
1800
|
-
commitRef: null,
|
|
1801
|
-
buildNo: null,
|
|
1802
|
-
contensisVersionStatus: 'published'
|
|
1803
|
-
};
|
|
1804
|
-
produce((state, action) => {
|
|
1805
|
-
switch (action.type) {
|
|
1806
|
-
case SET_VERSION_STATUS:
|
|
1807
|
-
{
|
|
1808
|
-
state.contensisVersionStatus = action.status;
|
|
1809
|
-
return;
|
|
1810
|
-
}
|
|
1811
|
-
|
|
1812
|
-
case SET_VERSION:
|
|
1813
|
-
{
|
|
1814
|
-
state.commitRef = action.commitRef;
|
|
1815
|
-
state.buildNo = action.buildNo;
|
|
1816
|
-
return;
|
|
1817
|
-
}
|
|
1818
|
-
|
|
1819
|
-
default:
|
|
1820
|
-
return;
|
|
1821
|
-
}
|
|
1822
|
-
}, initialState);
|
|
1823
|
-
|
|
1824
|
-
const hasNavigationTree = state => getImmutableOrJS(state, ['navigation', 'isReady']);
|
|
1825
|
-
const selectNavigationRoot = state => getImmutableOrJS(state, ['navigation', 'root']);
|
|
1826
|
-
const selectNavigationChildren = state => getImmutableOrJS(state, ['navigation', 'root', 'children']);
|
|
1827
|
-
const selectNavigationDepends = () => [];
|
|
1828
|
-
|
|
1829
|
-
var navigation = /*#__PURE__*/Object.freeze({
|
|
1830
|
-
__proto__: null,
|
|
1831
|
-
hasNavigationTree: hasNavigationTree,
|
|
1832
|
-
selectNavigationRoot: selectNavigationRoot,
|
|
1833
|
-
selectNavigationChildren: selectNavigationChildren,
|
|
1834
|
-
selectNavigationDepends: selectNavigationDepends
|
|
1835
|
-
});
|
|
1836
|
-
|
|
1837
|
-
const setVersion = (commitRef, buildNo) => action$1(SET_VERSION, {
|
|
1838
|
-
commitRef,
|
|
1839
|
-
buildNo
|
|
1840
|
-
});
|
|
1841
|
-
const setVersionStatus = status => action$1(SET_VERSION_STATUS, {
|
|
1842
|
-
status
|
|
1843
|
-
});
|
|
1844
|
-
|
|
1845
|
-
var version$2 = /*#__PURE__*/Object.freeze({
|
|
1846
|
-
__proto__: null,
|
|
1847
|
-
setVersion: setVersion,
|
|
1848
|
-
setVersionStatus: setVersionStatus
|
|
1849
|
-
});
|
|
1850
|
-
|
|
1851
|
-
const selectCommitRef$1 = state => getImmutableOrJS(state, ['version', 'commitRef']);
|
|
1852
|
-
const selectBuildNumber$1 = state => getImmutableOrJS(state, ['version', 'buildNo']);
|
|
1853
|
-
const selectVersionStatus$1 = state => getImmutableOrJS(state, ['version', 'contensisVersionStatus']);
|
|
1854
|
-
|
|
1855
|
-
var version$3 = /*#__PURE__*/Object.freeze({
|
|
1856
|
-
__proto__: null,
|
|
1857
|
-
selectCommitRef: selectCommitRef$1,
|
|
1858
|
-
selectBuildNumber: selectBuildNumber$1,
|
|
1859
|
-
selectVersionStatus: selectVersionStatus$1
|
|
1860
|
-
});
|
|
1861
|
-
|
|
1862
|
-
var types$2 = {
|
|
1863
|
-
navigation: navigation$1$1,
|
|
1864
|
-
routing: routing$1,
|
|
1865
|
-
version: version$1
|
|
1866
|
-
};
|
|
1867
|
-
|
|
1868
|
-
const loadNavigationTree$1 = () => action$1(GET_NODE_TREE);
|
|
1869
|
-
|
|
1870
|
-
var navigation$1$2 = /*#__PURE__*/Object.freeze({
|
|
1871
|
-
__proto__: null,
|
|
1872
|
-
loadNavigationTree: loadNavigationTree$1
|
|
1873
|
-
});
|
|
1874
|
-
|
|
1875
|
-
var actions$1 = {
|
|
1876
|
-
navigation: navigation$1$2,
|
|
1877
|
-
routing: routing$2,
|
|
1878
|
-
version: version$2
|
|
1879
|
-
};
|
|
1880
|
-
|
|
1881
|
-
var selectors$1 = {
|
|
1882
|
-
navigation: navigation,
|
|
1883
|
-
routing: routing$3,
|
|
1884
|
-
version: version$3
|
|
1885
|
-
};
|
|
1886
|
-
const routing$4 = {
|
|
1887
|
-
types: types$2.routing,
|
|
1888
|
-
actions: actions$1.routing,
|
|
1889
|
-
selectors: selectors$1.routing
|
|
1890
|
-
};
|
|
1891
|
-
|
|
1892
|
-
const selectForms$1 = state => getImmutableOrJS(state, ['forms']);
|
|
1893
|
-
const selectFormFieldData = (state, formId, field) => getImmutableOrJS(state, ['forms', formId, 'fields', field]);
|
|
1894
|
-
const selectFieldErrors$1 = (state, formId) => getImmutableOrJS(state, ['forms', formId, 'fieldErrors']);
|
|
1895
|
-
const selectPostData$1 = (state, formId) => getImmutableOrJS(state, ['forms', formId, 'data']);
|
|
1896
|
-
const selectFormGroups$1 = (state, formId) => getImmutableOrJS(state, [('groups')]);
|
|
1897
|
-
const selectPagingInfo$1 = (state, formId) => getImmutableOrJS(state, ['forms', formId, 'pagingInfo']);
|
|
1898
|
-
const selectFormStatus$1 = (state, formId) => getImmutableOrJS(state, ['forms', formId, 'status']);
|
|
1899
|
-
const selectFormMessage = (state, formId) => getImmutableOrJS(state, ['forms', formId, 'status', 'successMessage']);
|
|
1900
|
-
const selectEntries$1 = (state, formId) => getImmutableOrJS(state, ['forms', formId, 'entries']);
|
|
1901
|
-
const makeSelectHasSuccess = (state, formId) => getImmutableOrJS(state, ['forms', formId, 'status', 'hasSuccess']);
|
|
1902
|
-
const selectPagedFields$1 = formId => createSelector([selectForms$1], form => {
|
|
1903
|
-
const pagingInfo = getImmutableOrJS(form, [formId, 'pagingInfo']);
|
|
1904
|
-
const fields = getImmutableOrJS(form, [formId, 'fields']);
|
|
1905
|
-
|
|
1906
|
-
if (fields && fields.length > 0 && pagingInfo && pagingInfo.pageCount > 1) {
|
|
1907
|
-
return fields.filter(f => f.groupId == pagingInfo.currentPageId);
|
|
1908
|
-
}
|
|
1909
|
-
|
|
1910
|
-
return fields;
|
|
1911
|
-
});
|
|
1912
|
-
const makeSelectIsLoading$1 = formId => createSelector(selectForms$1, forms => getImmutableOrJS(forms, [formId, 'status', 'isLoading']));
|
|
1913
|
-
const makeSelectFormFields$1 = formId => createSelector(selectForms$1, forms => getImmutableOrJS(forms, [formId, 'fields']));
|
|
1914
|
-
const makeSelectDefaultLang$1 = formId => createSelector(selectForms$1, forms => getImmutableOrJS(forms, [formId, 'defaultLanguage']));
|
|
1915
|
-
|
|
1916
|
-
var selectors$2 = /*#__PURE__*/Object.freeze({
|
|
1917
|
-
__proto__: null,
|
|
1918
|
-
selectForms: selectForms$1,
|
|
1919
|
-
selectFormFieldData: selectFormFieldData,
|
|
1920
|
-
selectFieldErrors: selectFieldErrors$1,
|
|
1921
|
-
selectPostData: selectPostData$1,
|
|
1922
|
-
selectFormGroups: selectFormGroups$1,
|
|
1923
|
-
selectPagingInfo: selectPagingInfo$1,
|
|
1924
|
-
selectFormStatus: selectFormStatus$1,
|
|
1925
|
-
selectFormMessage: selectFormMessage,
|
|
1926
|
-
selectEntries: selectEntries$1,
|
|
1927
|
-
makeSelectHasSuccess: makeSelectHasSuccess,
|
|
1928
|
-
selectPagedFields: selectPagedFields$1,
|
|
1929
|
-
makeSelectIsLoading: makeSelectIsLoading$1,
|
|
1930
|
-
makeSelectFormFields: makeSelectFormFields$1,
|
|
1931
|
-
makeSelectDefaultLang: makeSelectDefaultLang$1
|
|
1932
|
-
});
|
|
1933
|
-
|
|
1934
|
-
const URI$1 = '/forms';
|
|
1935
|
-
const getFormSchema$1 = async formId => {
|
|
1936
|
-
var options = {
|
|
1937
|
-
method: 'GET',
|
|
1938
|
-
headers: {
|
|
1939
|
-
'Content-Type': 'application/json'
|
|
1940
|
-
}
|
|
1941
|
-
};
|
|
1942
|
-
const getUrl = `${URI$1}/${formId}`;
|
|
1943
|
-
const schema = await request$1(getUrl, options);
|
|
1944
|
-
return schema;
|
|
1945
|
-
};
|
|
1946
|
-
const getEntries$1 = async (formObj, id) => {
|
|
1947
|
-
var options = {
|
|
1948
|
-
method: 'POST',
|
|
1949
|
-
headers: {
|
|
1950
|
-
Accept: '*/*',
|
|
1951
|
-
'Content-Type': 'application/json'
|
|
1952
|
-
},
|
|
1953
|
-
body: JSON.stringify(formObj)
|
|
1954
|
-
};
|
|
1955
|
-
const entriesUrl = `${URI$1}/entries`;
|
|
1956
|
-
const entries = await request$1(entriesUrl, options);
|
|
1957
|
-
return {
|
|
1958
|
-
entries,
|
|
1959
|
-
id
|
|
1960
|
-
};
|
|
1961
|
-
};
|
|
1962
|
-
const postForm$1 = async formObj => {
|
|
1963
|
-
var options = {
|
|
1964
|
-
method: 'POST',
|
|
1965
|
-
headers: {
|
|
1966
|
-
Accept: '*/*',
|
|
1967
|
-
'Content-Type': 'application/json'
|
|
1968
|
-
},
|
|
1969
|
-
body: JSON.stringify(formObj)
|
|
1970
|
-
};
|
|
1971
|
-
const submitted = await request$1(URI$1, options);
|
|
1972
|
-
return submitted;
|
|
1973
|
-
};
|
|
1974
|
-
|
|
1975
|
-
const request$1 = async (url, options) => {
|
|
1976
|
-
return fetch(url, options).then(response => response.json()).then(result => {
|
|
1977
|
-
return result;
|
|
1978
|
-
}) // eslint-disable-next-line no-console
|
|
1979
|
-
.catch(error => console.log('error', error));
|
|
1980
|
-
};
|
|
1981
|
-
|
|
1982
|
-
const validateInput$1 = (field, value) => {
|
|
1983
|
-
const isRequired = field.validations && field.validations.required;
|
|
1984
|
-
const minLength = field.validations && field.validations.minLength;
|
|
1985
|
-
const maxLength = field.validations && field.validations.maxLength;
|
|
1986
|
-
const regex = field.validations && field.validations.regex;
|
|
1987
|
-
const integer = field.dataType === 'integer';
|
|
1988
|
-
const decimal = field.dataType === 'decimal';
|
|
1989
|
-
|
|
1990
|
-
if (isRequired && !value) {
|
|
1991
|
-
const errorMessage = isRequired.message ? isRequired.message['en-GB'] : `${field.id} is required`;
|
|
1992
|
-
return {
|
|
1993
|
-
fieldId: field.id,
|
|
1994
|
-
groupId: field.groupId,
|
|
1995
|
-
message: errorMessage
|
|
1996
|
-
};
|
|
1997
|
-
}
|
|
1998
|
-
|
|
1999
|
-
if (minLength && minLength.value > value.length) {
|
|
2000
|
-
const errorMessage = minLength.message ? minLength.message['en-GB'] : `Minimum characters ${minLength.value}`;
|
|
2001
|
-
return {
|
|
2002
|
-
fieldId: field.id,
|
|
2003
|
-
groupId: field.groupId,
|
|
2004
|
-
message: errorMessage
|
|
2005
|
-
};
|
|
2006
|
-
}
|
|
2007
|
-
|
|
2008
|
-
if (maxLength && maxLength.value < value.length) {
|
|
2009
|
-
const errorMessage = maxLength.message && maxLength.message['en-GB'] ? maxLength.message['en-GB'] : `Maximum characters ${maxLength.value}`;
|
|
2010
|
-
return {
|
|
2011
|
-
fieldId: field.id,
|
|
2012
|
-
groupId: field.groupId,
|
|
2013
|
-
message: errorMessage
|
|
2014
|
-
};
|
|
2015
|
-
}
|
|
2016
|
-
|
|
2017
|
-
if (regex && value.length > 0) {
|
|
2018
|
-
//Had to make the string raw, as a string ususually is wrapped as '' and Regex couldnt use the regex patter as the string variant
|
|
2019
|
-
const regexPattern = RegExp(regex.pattern.raw);
|
|
2020
|
-
|
|
2021
|
-
if (!regexPattern.test(value)) {
|
|
2022
|
-
const errorMessage = regex.message ? regex.message['en-GB'] : `${field.id} is invalid`;
|
|
2023
|
-
return {
|
|
2024
|
-
fieldId: field.id,
|
|
2025
|
-
groupId: field.groupId,
|
|
2026
|
-
message: errorMessage
|
|
2027
|
-
};
|
|
2028
|
-
}
|
|
2029
|
-
}
|
|
2030
|
-
|
|
2031
|
-
if (integer) {
|
|
2032
|
-
const isInteger = value % 1 === 0;
|
|
2033
|
-
|
|
2034
|
-
if (!isInteger) {
|
|
2035
|
-
const errorMessage = `${value} is not an ${field.dataType}`;
|
|
2036
|
-
return {
|
|
2037
|
-
fieldId: field.id,
|
|
2038
|
-
groupId: field.groupId,
|
|
2039
|
-
message: errorMessage
|
|
2040
|
-
};
|
|
2041
|
-
}
|
|
2042
|
-
}
|
|
2043
|
-
|
|
2044
|
-
if (decimal) {
|
|
2045
|
-
const isDecimal = value % 1 !== 0;
|
|
2046
|
-
|
|
2047
|
-
if (!isDecimal) {
|
|
2048
|
-
const errorMessage = `${value} is not an ${field.dataType}`;
|
|
2049
|
-
return {
|
|
2050
|
-
fieldId: field.id,
|
|
2051
|
-
groupId: field.groupId,
|
|
2052
|
-
message: errorMessage
|
|
2053
|
-
};
|
|
2054
|
-
}
|
|
2055
|
-
}
|
|
2056
|
-
};
|
|
2057
|
-
|
|
2058
|
-
const {
|
|
2059
|
-
selectCurrentAncestors: selectCurrentAncestors$2,
|
|
2060
|
-
selectCurrentPath: selectCurrentPath$2,
|
|
2061
|
-
selectCurrentProject: selectCurrentProject$2,
|
|
2062
|
-
selectCurrentSearch: selectCurrentSearch$2,
|
|
2063
|
-
selectIsNotFound: selectIsNotFound$2,
|
|
2064
|
-
selectQueryStringAsObject: selectQueryStringAsObject$2,
|
|
2065
|
-
selectRouteEntry: selectRouteEntry$2,
|
|
2066
|
-
selectRouteEntryContentTypeId: selectRouteEntryContentTypeId$2,
|
|
2067
|
-
selectRouteEntryDepends: selectRouteEntryDepends$1,
|
|
2068
|
-
selectRouteEntryEntryId: selectRouteEntryEntryId$2,
|
|
2069
|
-
selectRouteEntryID: selectRouteEntryID$2,
|
|
2070
|
-
selectRouteEntrySlug: selectRouteEntrySlug$2,
|
|
2071
|
-
selectRouteLoading: selectRouteLoading$2
|
|
2072
|
-
} = routing$4.selectors;
|
|
2073
|
-
|
|
2074
|
-
const formV2Sagas$1 = [takeEvery(SUBMIT_FORM_SUCCESS, formSuccess$1), takeEvery(SUBMIT_FORM_FOR_VALIDATION, validateForm$1), takeEvery(SUBMIT_FORM, submitForm$1$1), takeEvery(SET_FORM_ID, fetchForm$1), takeLatest(VALIDATE_FIELD, validateField$1$1), takeEvery(PAGE_FORWARD, togglePage$1), takeEvery(PAGE_BACK, togglePage$1), takeEvery(SET_FORM_DATA, getEntryPickerData$1), takeLatest(SET_FORM_DATA, setDefaultValueFields$1)];
|
|
2075
|
-
|
|
2076
|
-
function* validateForm$1(action) {
|
|
2077
|
-
const {
|
|
2078
|
-
formId
|
|
2079
|
-
} = action;
|
|
2080
|
-
yield validateAllfields$1(formId);
|
|
2081
|
-
yield put({
|
|
2082
|
-
type: SUBMIT_FORM,
|
|
2083
|
-
formId
|
|
2084
|
-
});
|
|
2085
|
-
}
|
|
2086
|
-
|
|
2087
|
-
function* validateField$1$1(action) {
|
|
2088
|
-
const {
|
|
2089
|
-
formId,
|
|
2090
|
-
id,
|
|
2091
|
-
value
|
|
2092
|
-
} = action;
|
|
2093
|
-
yield call(validateSingleField$1, formId, id, value);
|
|
2094
|
-
}
|
|
2095
|
-
|
|
2096
|
-
function* validateGroupfields$1(formId, groupId) {
|
|
2097
|
-
const state = yield select();
|
|
2098
|
-
const postData = selectPostData$1(state, formId);
|
|
2099
|
-
const selectFormFields = makeSelectFormFields$1(formId);
|
|
2100
|
-
const fields = selectFormFields(state);
|
|
2101
|
-
const groupFields = fields.filter(f => f.groupid == groupId);
|
|
2102
|
-
let newErrors = [];
|
|
2103
|
-
groupFields.forEach(field => {
|
|
2104
|
-
let val = '';
|
|
2105
|
-
|
|
2106
|
-
if (postData[field.id]) {
|
|
2107
|
-
val = postData[field.id];
|
|
2108
|
-
}
|
|
2109
|
-
|
|
2110
|
-
const err = validateInput$1(field, val);
|
|
2111
|
-
if (err) newErrors.push(err);
|
|
2112
|
-
});
|
|
2113
|
-
yield put({
|
|
2114
|
-
type: SET_FIELD_ERROR,
|
|
2115
|
-
formId: formId,
|
|
2116
|
-
value: newErrors
|
|
2117
|
-
});
|
|
2118
|
-
}
|
|
2119
|
-
|
|
2120
|
-
function* validateAllfields$1(formId) {
|
|
2121
|
-
const state = yield select();
|
|
2122
|
-
const postData = selectPostData$1(state, formId);
|
|
2123
|
-
const selectFormFields = makeSelectFormFields$1(formId);
|
|
2124
|
-
const fields = selectFormFields(state);
|
|
2125
|
-
let newErrors = [];
|
|
2126
|
-
fields.forEach(field => {
|
|
2127
|
-
let val = '';
|
|
2128
|
-
|
|
2129
|
-
if (postData[field.id]) {
|
|
2130
|
-
val = postData[field.id];
|
|
2131
|
-
}
|
|
2132
|
-
|
|
2133
|
-
const err = validateInput$1(field, val);
|
|
2134
|
-
if (err) newErrors.push(err);
|
|
2135
|
-
});
|
|
2136
|
-
yield put({
|
|
2137
|
-
type: SET_FIELD_ERROR,
|
|
2138
|
-
formId: formId,
|
|
2139
|
-
value: newErrors
|
|
2140
|
-
});
|
|
2141
|
-
}
|
|
2142
|
-
|
|
2143
|
-
function* validateSingleField$1(formId, fieldId, value) {
|
|
2144
|
-
const state = yield select();
|
|
2145
|
-
const selectFormFields = makeSelectFormFields$1(formId);
|
|
2146
|
-
const fields = selectFormFields(state);
|
|
2147
|
-
const fieldData = fields.find(f => f.id == fieldId);
|
|
2148
|
-
const errors = selectFieldErrors$1(state, formId);
|
|
2149
|
-
const newErrors = []; //loop through current errors to remove any of the item we currently edit
|
|
2150
|
-
|
|
2151
|
-
errors.forEach(error => {
|
|
2152
|
-
if (error.fieldId !== fieldId) {
|
|
2153
|
-
//push any existing errors to new array
|
|
2154
|
-
newErrors.push(error);
|
|
2155
|
-
}
|
|
2156
|
-
});
|
|
2157
|
-
const err = validateInput$1(fieldData, value);
|
|
2158
|
-
if (err) newErrors.push(err);
|
|
2159
|
-
yield put({
|
|
2160
|
-
type: SET_FIELD_ERROR,
|
|
2161
|
-
formId: formId,
|
|
2162
|
-
value: newErrors
|
|
2163
|
-
});
|
|
2164
|
-
}
|
|
2165
|
-
|
|
2166
|
-
function* togglePage$1(action) {
|
|
2167
|
-
const {
|
|
2168
|
-
formId,
|
|
2169
|
-
pageIndex
|
|
2170
|
-
} = action;
|
|
2171
|
-
const state = yield select();
|
|
2172
|
-
const formGroups = selectFormGroups$1(state);
|
|
2173
|
-
|
|
2174
|
-
if (action.type === PAGE_FORWARD) {
|
|
2175
|
-
yield validateGroupfields$1(formId, formGroups[pageIndex].id);
|
|
2176
|
-
}
|
|
2177
|
-
|
|
2178
|
-
yield put({
|
|
2179
|
-
type: SET_CURRENT_PAGE,
|
|
2180
|
-
formId: formId,
|
|
2181
|
-
pageId: formGroups[pageIndex].id,
|
|
2182
|
-
pageCount: formGroups.length,
|
|
2183
|
-
pageIndex: pageIndex
|
|
2184
|
-
});
|
|
2185
|
-
}
|
|
2186
|
-
|
|
2187
|
-
function* fetchForm$1(action) {
|
|
2188
|
-
const formId = action.formId;
|
|
2189
|
-
const schema = yield getFormSchema$1(formId);
|
|
2190
|
-
const groups = schema && schema.groups && schema.groups.length > 0 && schema.groups.filter(group => group.id !== 'private');
|
|
2191
|
-
|
|
2192
|
-
if (formId && schema) {
|
|
2193
|
-
if (schema.groups && schema.groups.length > 0) {
|
|
2194
|
-
yield put({
|
|
2195
|
-
type: SET_CURRENT_PAGE,
|
|
2196
|
-
formId: formId,
|
|
2197
|
-
pageId: groups[0].id,
|
|
2198
|
-
pageIndex: 0,
|
|
2199
|
-
pageCount: groups.length
|
|
2200
|
-
});
|
|
2201
|
-
}
|
|
2202
|
-
|
|
2203
|
-
yield put({
|
|
2204
|
-
type: SET_FORM_DATA,
|
|
2205
|
-
formId: formId,
|
|
2206
|
-
fields: schema.fields,
|
|
2207
|
-
groups: groups,
|
|
2208
|
-
defaultLanguage: schema.defaultLanguage
|
|
2209
|
-
});
|
|
2210
|
-
}
|
|
2211
|
-
}
|
|
2212
|
-
|
|
2213
|
-
function* formSuccess$1(action) {
|
|
2214
|
-
const state = yield select();
|
|
2215
|
-
const selectFormFields = makeSelectFormFields$1(action.formId);
|
|
2216
|
-
const fields = selectFormFields(state);
|
|
2217
|
-
const redirect = fields.find(f => f.id === 'formSettingsRedirect');
|
|
2218
|
-
const message = fields.find(f => f.id === 'formSettingsMessage');
|
|
2219
|
-
|
|
2220
|
-
if (redirect && redirect.default) {
|
|
2221
|
-
window.location.href = redirect.default['en-GB'];
|
|
2222
|
-
}
|
|
2223
|
-
|
|
2224
|
-
if (message && message.default) {
|
|
2225
|
-
yield put({
|
|
2226
|
-
type: SET_SUCCESS_MESSAGE,
|
|
2227
|
-
message: message.default['en-GB'],
|
|
2228
|
-
formId: action.formId
|
|
2229
|
-
});
|
|
2230
|
-
}
|
|
2231
|
-
}
|
|
2232
|
-
|
|
2233
|
-
function* submitForm$1$1(action) {
|
|
2234
|
-
const state = yield select();
|
|
2235
|
-
const errors = selectFieldErrors$1(state, action.formId);
|
|
2236
|
-
const canSubmit = errors && errors.length == 0;
|
|
2237
|
-
|
|
2238
|
-
if (canSubmit) {
|
|
2239
|
-
yield put({
|
|
2240
|
-
type: SET_SUBMITTING_FORM,
|
|
2241
|
-
isSubmitting: true,
|
|
2242
|
-
formId: action.formId
|
|
2243
|
-
});
|
|
2244
|
-
const forms = yield select(selectForms$1);
|
|
2245
|
-
const rawData = forms[action.formId];
|
|
2246
|
-
const formObj = {
|
|
2247
|
-
contentType: action.formId,
|
|
2248
|
-
formPost: rawData.data
|
|
2249
|
-
};
|
|
2250
|
-
const formResObj = yield postForm$1(formObj);
|
|
2251
|
-
|
|
2252
|
-
if (formResObj && formResObj.sys && formResObj.sys.id) {
|
|
2253
|
-
yield put({
|
|
2254
|
-
type: SUBMIT_FORM_SUCCESS,
|
|
2255
|
-
formId: action.formId
|
|
2256
|
-
});
|
|
2257
|
-
} else {
|
|
2258
|
-
yield put({
|
|
2259
|
-
type: SUBMIT_FORM_ERROR,
|
|
2260
|
-
formId: action.formId
|
|
2261
|
-
});
|
|
2262
|
-
}
|
|
2263
|
-
}
|
|
2264
|
-
}
|
|
2265
|
-
|
|
2266
|
-
function* setDefaultValueFields$1(action) {
|
|
2267
|
-
const {
|
|
2268
|
-
formId,
|
|
2269
|
-
fields,
|
|
2270
|
-
defaultLanguage
|
|
2271
|
-
} = action;
|
|
2272
|
-
const entryId = yield select(selectRouteEntryEntryId$2);
|
|
2273
|
-
let fieldObj = {};
|
|
2274
|
-
fields.forEach(field => {
|
|
2275
|
-
if (field.dataType == 'string' && field.default) {
|
|
2276
|
-
const val = field.default[defaultLanguage];
|
|
2277
|
-
|
|
2278
|
-
if (val) {
|
|
2279
|
-
fieldObj[field.id] = val;
|
|
2280
|
-
}
|
|
2281
|
-
}
|
|
2282
|
-
|
|
2283
|
-
if (field.id == 'sourceEntry') {
|
|
2284
|
-
const val = entryId;
|
|
2285
|
-
|
|
2286
|
-
if (val) {
|
|
2287
|
-
fieldObj[field.id] = val;
|
|
2288
|
-
}
|
|
2289
|
-
}
|
|
2290
|
-
});
|
|
2291
|
-
yield put({
|
|
2292
|
-
type: SET_DEFAULT_FIELD_VALUE,
|
|
2293
|
-
formId: formId,
|
|
2294
|
-
value: fieldObj
|
|
2295
|
-
});
|
|
2296
|
-
}
|
|
2297
|
-
|
|
2298
|
-
function* getEntryPickerData$1(action) {
|
|
2299
|
-
const {
|
|
2300
|
-
formId,
|
|
2301
|
-
fields
|
|
2302
|
-
} = action;
|
|
2303
|
-
const entriesToGet = fields.filter(f => f.dataFormat == 'entry');
|
|
2304
|
-
let entriesList = [];
|
|
2305
|
-
|
|
2306
|
-
if (entriesToGet) {
|
|
2307
|
-
entriesList = yield all(entriesToGet.map(entry => {
|
|
2308
|
-
const entriesObj = {
|
|
2309
|
-
contentType: entry.validations.allowedContentTypes.contentTypes,
|
|
2310
|
-
versionStatus: 'published',
|
|
2311
|
-
language: 'en-GB',
|
|
2312
|
-
pageSize: '10'
|
|
2313
|
-
};
|
|
2314
|
-
return call(getEntries$1, entriesObj, entry.id);
|
|
2315
|
-
}));
|
|
2316
|
-
yield put({
|
|
2317
|
-
type: SET_FORM_ENTRIES,
|
|
2318
|
-
formId: formId,
|
|
2319
|
-
entries: entriesList
|
|
2320
|
-
});
|
|
2321
|
-
}
|
|
2322
|
-
}
|
|
2323
|
-
|
|
2324
|
-
function action$2(type, payload = {}) {
|
|
2325
|
-
return {
|
|
2326
|
-
type,
|
|
2327
|
-
...payload
|
|
2328
|
-
};
|
|
2329
|
-
}
|
|
2330
|
-
|
|
2331
|
-
const submitForm$2 = formId => action$2(SUBMIT_FORM_FOR_VALIDATION, {
|
|
2332
|
-
formId
|
|
2333
|
-
});
|
|
2334
|
-
const setFormId$1 = formId => action$2(SET_FORM_ID, {
|
|
2335
|
-
formId
|
|
2336
|
-
});
|
|
2337
|
-
const setValue$1 = (formId, id, value) => action$2(SET_FIELD_VALUE, {
|
|
2338
|
-
formId,
|
|
2339
|
-
id,
|
|
2340
|
-
value
|
|
2341
|
-
});
|
|
2342
|
-
const setCheckboxValue$1 = (formId, id, value, isChecked) => action$2(SET_CHECKBOX_VALUE, {
|
|
2343
|
-
formId,
|
|
2344
|
-
id,
|
|
2345
|
-
value,
|
|
2346
|
-
isChecked
|
|
2347
|
-
});
|
|
2348
|
-
const setDateRangeValues$1 = (formId, id, dateType, value) => action$2(SET_DATE_RANGE_VALUES, {
|
|
2349
|
-
formId,
|
|
2350
|
-
id,
|
|
2351
|
-
dateType,
|
|
2352
|
-
value
|
|
2353
|
-
});
|
|
2354
|
-
const validateField$2 = (formId, id, value) => action$2(VALIDATE_FIELD, {
|
|
2355
|
-
formId,
|
|
2356
|
-
id,
|
|
2357
|
-
value
|
|
2358
|
-
});
|
|
2359
|
-
const togglePageForward$1 = (formId, pageIndex) => action$2(PAGE_FORWARD, {
|
|
2360
|
-
formId,
|
|
2361
|
-
pageIndex
|
|
2362
|
-
});
|
|
2363
|
-
const togglePageBack$1 = (formId, pageIndex) => action$2(PAGE_BACK, {
|
|
2364
|
-
formId,
|
|
2365
|
-
pageIndex
|
|
2366
|
-
});
|
|
2367
|
-
|
|
2368
|
-
var actions$2 = /*#__PURE__*/Object.freeze({
|
|
2369
|
-
__proto__: null,
|
|
2370
|
-
submitForm: submitForm$2,
|
|
2371
|
-
setFormId: setFormId$1,
|
|
2372
|
-
setValue: setValue$1,
|
|
2373
|
-
setCheckboxValue: setCheckboxValue$1,
|
|
2374
|
-
setDateRangeValues: setDateRangeValues$1,
|
|
2375
|
-
validateField: validateField$2,
|
|
2376
|
-
togglePageForward: togglePageForward$1,
|
|
2377
|
-
togglePageBack: togglePageBack$1
|
|
2378
|
-
});
|
|
2379
|
-
|
|
2380
|
-
//Brand
|
|
2381
|
-
const open_teal$1 = '#37BFA7'; //Brand dark
|
|
2382
|
-
|
|
2383
|
-
const teal_dark$1 = '#00a889'; //Primary
|
|
2384
|
-
|
|
2385
|
-
const accent_blue$1 = '#1853AC';
|
|
2386
|
-
const panel_blue$1 = '#00304D'; //Neutrals
|
|
2387
|
-
|
|
2388
|
-
const base_white$1 = '#FFF';
|
|
2389
|
-
const empress_gray$1 = '#757575';
|
|
2390
|
-
const colors$1 = {
|
|
2391
|
-
brand: open_teal$1,
|
|
2392
|
-
brandDark: teal_dark$1,
|
|
2393
|
-
primary: accent_blue$1,
|
|
2394
|
-
secondary: panel_blue$1,
|
|
2395
|
-
label: '#333',
|
|
2396
|
-
label_optional: '#666',
|
|
2397
|
-
border: '#ccc',
|
|
2398
|
-
message_link: '#333',
|
|
2399
|
-
success: '#118011',
|
|
2400
|
-
warning: '#FFB000',
|
|
2401
|
-
error: '#C63D54',
|
|
2402
|
-
required: '#C63D54',
|
|
2403
|
-
neutrals: {
|
|
2404
|
-
base_white: base_white$1,
|
|
2405
|
-
empress_gray: empress_gray$1
|
|
2406
|
-
}
|
|
2407
|
-
};
|
|
2408
|
-
|
|
2409
|
-
const FormStyled$1 = styled.form.withConfig({
|
|
2410
|
-
displayName: "Formstyled__FormStyled",
|
|
2411
|
-
componentId: "sc-1jn1lk9-0"
|
|
2412
|
-
})(["", ";"], ({
|
|
2413
|
-
useDefaultTheme
|
|
2414
|
-
}) => {
|
|
2415
|
-
return css(["", ""], useDefaultTheme && css(["> div:not(:first-child){margin-top:16px;}padding:0 16px;.success-message{font-size:18px;margin:0;}.visuallyHidden{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;}label{display:inline-block;.isRequired{color:", ";}}input,textarea,select{display:block;font-family:inherit;background-color:", ";border-radius:3px;border:1px solid ", ";height:40px;padding:8px;margin-top:4px;max-width:320px;width:100%;}textarea{height:200px;resize:none;}"], colors$1.error, colors$1.neutrals.base_white, colors$1.border));
|
|
2416
|
-
});
|
|
2417
|
-
|
|
2418
|
-
const Label$1 = ({
|
|
2419
|
-
className,
|
|
2420
|
-
label,
|
|
2421
|
-
id,
|
|
2422
|
-
isRequired,
|
|
2423
|
-
isHidden
|
|
2424
|
-
}) => {
|
|
2425
|
-
return /*#__PURE__*/React.createElement("label", {
|
|
2426
|
-
className: `${className} ${isHidden ? 'visuallyHidden' : ''}`,
|
|
2427
|
-
htmlFor: id
|
|
2428
|
-
}, label, isRequired && /*#__PURE__*/React.createElement("span", {
|
|
2429
|
-
className: "isRequired"
|
|
2430
|
-
}, "*"), isRequired && /*#__PURE__*/React.createElement("span", {
|
|
2431
|
-
className: "visuallyHidden"
|
|
2432
|
-
}, " (required)"));
|
|
2433
|
-
};
|
|
2434
|
-
|
|
2435
|
-
Label$1.propTypes = {
|
|
2436
|
-
className: PropTypes.string,
|
|
2437
|
-
label: PropTypes.string,
|
|
2438
|
-
id: PropTypes.string,
|
|
2439
|
-
isRequired: PropTypes.bool,
|
|
2440
|
-
isHidden: PropTypes.bool
|
|
2441
|
-
};
|
|
2442
|
-
|
|
2443
|
-
const CreateMessage$1 = (type, minLength, maxLength, currentLength, defaultLanguage) => {
|
|
2444
|
-
if (!type) return null;
|
|
2445
|
-
|
|
2446
|
-
switch (type) {
|
|
2447
|
-
case 'min':
|
|
2448
|
-
{
|
|
2449
|
-
if (!minLength) return;
|
|
2450
|
-
const minLengthVal = minLength && minLength.value;
|
|
2451
|
-
const errorMessage = minLength && minLength.message && minLength.message[defaultLanguage];
|
|
2452
|
-
const minText = `Minimum of ${minLengthVal.toString()} characters`;
|
|
2453
|
-
|
|
2454
|
-
if (errorMessage) {
|
|
2455
|
-
return errorMessage;
|
|
2456
|
-
} else {
|
|
2457
|
-
return minText;
|
|
2458
|
-
}
|
|
2459
|
-
}
|
|
2460
|
-
|
|
2461
|
-
case 'max':
|
|
2462
|
-
{
|
|
2463
|
-
if (!maxLength) return;
|
|
2464
|
-
const maxLengthVal = maxLength && maxLength.value;
|
|
2465
|
-
const errorMessage = maxLength && maxLength.message && maxLength.message[defaultLanguage];
|
|
2466
|
-
const maxText = `Maximum of ${maxLengthVal.toString()} characters`;
|
|
2467
|
-
|
|
2468
|
-
if (errorMessage) {
|
|
2469
|
-
return errorMessage;
|
|
2470
|
-
} else {
|
|
2471
|
-
return maxText;
|
|
2472
|
-
}
|
|
2473
|
-
}
|
|
2474
|
-
|
|
2475
|
-
case 'between':
|
|
2476
|
-
{
|
|
2477
|
-
if (!maxLength || !minLength) return;
|
|
2478
|
-
const minLengthVal = minLength && minLength.value;
|
|
2479
|
-
const maxLengthVal = maxLength && maxLength.value;
|
|
2480
|
-
const errorMessage = minLength && minLength.message && minLength.message[defaultLanguage];
|
|
2481
|
-
const rangeText = `Between ${minLengthVal.toString()}-${maxLengthVal.toString()} characters)`;
|
|
2482
|
-
|
|
2483
|
-
if (errorMessage) {
|
|
2484
|
-
return errorMessage;
|
|
2485
|
-
} else if (currentLength < minLengthVal) {
|
|
2486
|
-
return `${(minLengthVal - currentLength).toString()} character${minLengthVal > 1 ? 's' : ''} required ${rangeText}`;
|
|
2487
|
-
} else if (currentLength > maxLengthVal) {
|
|
2488
|
-
return `${(currentLength - maxLengthVal).toString()} character${currentLength - maxLengthVal > 1 ? 's' : ''} over ${rangeText}`;
|
|
2489
|
-
} else if (currentLength) {
|
|
2490
|
-
return `${(maxLengthVal - currentLength).toString()} characters remaining ${rangeText}`;
|
|
2491
|
-
} else {
|
|
2492
|
-
return rangeText;
|
|
2493
|
-
}
|
|
2494
|
-
}
|
|
2495
|
-
|
|
2496
|
-
default:
|
|
2497
|
-
return null;
|
|
2498
|
-
}
|
|
2499
|
-
};
|
|
2500
|
-
|
|
2501
|
-
const CharacterLimitStyled$1 = styled.div.withConfig({
|
|
2502
|
-
displayName: "CharacterLimit__CharacterLimitStyled",
|
|
2503
|
-
componentId: "sc-16zngav-0"
|
|
2504
|
-
})(["", ";"], ({
|
|
2505
|
-
theme,
|
|
2506
|
-
useDefaultTheme
|
|
2507
|
-
}) => {
|
|
2508
|
-
return css(["display:block;", ""], useDefaultTheme && css(["font-size:14px;color:", ";font-weight:400;line-height:24px;text-align:right;max-width:320px;width:100%;"], theme.colors.neutrals.empress_gray));
|
|
2509
|
-
});
|
|
2510
|
-
|
|
2511
|
-
const CharacterLimit$1 = ({
|
|
2512
|
-
className,
|
|
2513
|
-
value,
|
|
2514
|
-
validations,
|
|
2515
|
-
defaultLanguage,
|
|
2516
|
-
useDefaultTheme
|
|
2517
|
-
}) => {
|
|
2518
|
-
if (!validations) return null;
|
|
2519
|
-
let valueAsString = typeof value === 'number' ? value.toString() : value;
|
|
2520
|
-
const currentLength = valueAsString && valueAsString.length ? valueAsString.length : 0;
|
|
2521
|
-
const {
|
|
2522
|
-
minLength,
|
|
2523
|
-
maxLength
|
|
2524
|
-
} = validations;
|
|
2525
|
-
const hasMaxLength = maxLength && !minLength;
|
|
2526
|
-
const hasMinLength = minLength && !maxLength;
|
|
2527
|
-
const hasInBetween = minLength && maxLength;
|
|
2528
|
-
const type = hasMinLength ? 'min' : hasMaxLength ? 'max' : hasInBetween ? 'between' : null;
|
|
2529
|
-
if (!type) return null;
|
|
2530
|
-
return /*#__PURE__*/React.createElement(CharacterLimitStyled$1, {
|
|
2531
|
-
className: className,
|
|
2532
|
-
useDefaultTheme: useDefaultTheme
|
|
2533
|
-
}, CreateMessage$1(type, minLength, maxLength, currentLength, defaultLanguage));
|
|
2534
|
-
};
|
|
2535
|
-
|
|
2536
|
-
CharacterLimit$1.propTypes = {
|
|
2537
|
-
validations: PropTypes.object,
|
|
2538
|
-
value: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),
|
|
2539
|
-
className: PropTypes.string,
|
|
2540
|
-
defaultLanguage: PropTypes.string,
|
|
2541
|
-
useDefaultTheme: PropTypes.bool
|
|
2542
|
-
};
|
|
2543
|
-
|
|
2544
|
-
const ErrorMessageStyled$1 = styled.div.withConfig({
|
|
2545
|
-
displayName: "ErrorMessage__ErrorMessageStyled",
|
|
2546
|
-
componentId: "sc-1vewdiu-0"
|
|
2547
|
-
})(["", ";"], ({
|
|
2548
|
-
theme,
|
|
2549
|
-
useDefaultTheme
|
|
2550
|
-
}) => {
|
|
2551
|
-
return css(["", ""], useDefaultTheme && css(["display:block;margin-top:8px;color:", ";"], theme.colors.error));
|
|
2552
|
-
});
|
|
2553
|
-
|
|
2554
|
-
const ErrorMessage$1 = ({
|
|
2555
|
-
className,
|
|
2556
|
-
message,
|
|
2557
|
-
useDefaultTheme
|
|
2558
|
-
}) => {
|
|
2559
|
-
return /*#__PURE__*/React.createElement(ErrorMessageStyled$1, {
|
|
2560
|
-
className: className,
|
|
2561
|
-
useDefaultTheme: useDefaultTheme
|
|
2562
|
-
}, message);
|
|
2563
|
-
};
|
|
2564
|
-
|
|
2565
|
-
ErrorMessage$1.propTypes = {
|
|
2566
|
-
className: PropTypes.string,
|
|
2567
|
-
message: PropTypes.string.isRequired,
|
|
2568
|
-
useDefaultTheme: PropTypes.bool
|
|
2569
|
-
};
|
|
2570
|
-
|
|
2571
|
-
const TextfieldStyled$1 = styled.div.withConfig({
|
|
2572
|
-
displayName: "Textfield__TextfieldStyled",
|
|
2573
|
-
componentId: "sc-1a1c03n-0"
|
|
2574
|
-
})(["", ";"], ({
|
|
2575
|
-
isHidden
|
|
2576
|
-
}) => {
|
|
2577
|
-
return css(["display:", ";"], isHidden ? 'none' : 'block');
|
|
2578
|
-
});
|
|
2579
|
-
|
|
2580
|
-
const Textfield$1 = ({
|
|
2581
|
-
className,
|
|
2582
|
-
formId,
|
|
2583
|
-
id,
|
|
2584
|
-
label,
|
|
2585
|
-
type,
|
|
2586
|
-
setValue,
|
|
2587
|
-
validateField,
|
|
2588
|
-
validations,
|
|
2589
|
-
defaultValue,
|
|
2590
|
-
defaultLanguage,
|
|
2591
|
-
placeholder,
|
|
2592
|
-
isHidden,
|
|
2593
|
-
errors,
|
|
2594
|
-
useDefaultTheme
|
|
2595
|
-
}) => {
|
|
2596
|
-
const [showCharLimit, setShowCharLimit] = useState(false);
|
|
2597
|
-
const isRequired = validations && validations.required ? true : false;
|
|
2598
|
-
const placeholderText = placeholder && placeholder.properties && placeholder.properties.placeholderText && placeholder.properties.placeholderText[defaultLanguage];
|
|
2599
|
-
const defaultValueText = defaultValue && defaultValue[defaultLanguage] ? defaultValue[defaultLanguage] : defaultValue;
|
|
2600
|
-
|
|
2601
|
-
const _handleChange = (formId, id, value) => {
|
|
2602
|
-
setValue(formId, id, value);
|
|
2603
|
-
};
|
|
2604
|
-
|
|
2605
|
-
const _handleBlur = (formId, id, value) => {
|
|
2606
|
-
validateField(formId, id, value);
|
|
2607
|
-
setShowCharLimit(false);
|
|
2608
|
-
};
|
|
2609
|
-
|
|
2610
|
-
const _handleFocus = () => {
|
|
2611
|
-
setShowCharLimit(true);
|
|
2612
|
-
};
|
|
2613
|
-
|
|
2614
|
-
return /*#__PURE__*/React.createElement(TextfieldStyled$1, {
|
|
2615
|
-
className: "textfield-container",
|
|
2616
|
-
isHidden: isHidden
|
|
2617
|
-
}, /*#__PURE__*/React.createElement(Label$1, {
|
|
2618
|
-
id: id,
|
|
2619
|
-
label: label,
|
|
2620
|
-
isRequired: isRequired,
|
|
2621
|
-
className: "label-textfield"
|
|
2622
|
-
}), showCharLimit && /*#__PURE__*/React.createElement(CharacterLimit$1, {
|
|
2623
|
-
value: defaultValue,
|
|
2624
|
-
validations: validations,
|
|
2625
|
-
defaultLanguage: defaultLanguage,
|
|
2626
|
-
useDefaultTheme: useDefaultTheme
|
|
2627
|
-
}), /*#__PURE__*/React.createElement("input", {
|
|
2628
|
-
className: `${className ? className : ''} input-textfield`,
|
|
2629
|
-
type: type,
|
|
2630
|
-
defaultValue: defaultValueText,
|
|
2631
|
-
placeholder: placeholderText,
|
|
2632
|
-
id: id,
|
|
2633
|
-
name: id,
|
|
2634
|
-
onChange: e => _handleChange(formId, id, e.target.value),
|
|
2635
|
-
onBlur: e => _handleBlur(formId, id, e.target.value),
|
|
2636
|
-
onFocus: () => _handleFocus()
|
|
2637
|
-
}), errors && errors.length > 0 && errors.some(x => x.fieldId == id) && /*#__PURE__*/React.createElement(ErrorMessage$1, {
|
|
2638
|
-
message: errors.find(x => x.fieldId == id).message,
|
|
2639
|
-
useDefaultTheme: useDefaultTheme
|
|
2640
|
-
}));
|
|
2641
|
-
};
|
|
2642
|
-
|
|
2643
|
-
Textfield$1.propTypes = {
|
|
2644
|
-
className: PropTypes.string,
|
|
2645
|
-
formId: PropTypes.string,
|
|
2646
|
-
id: PropTypes.string,
|
|
2647
|
-
label: PropTypes.string,
|
|
2648
|
-
type: PropTypes.string,
|
|
2649
|
-
setValue: PropTypes.func,
|
|
2650
|
-
validateField: PropTypes.func,
|
|
2651
|
-
validations: PropTypes.object,
|
|
2652
|
-
defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),
|
|
2653
|
-
defaultLanguage: PropTypes.string,
|
|
2654
|
-
placeholder: PropTypes.object,
|
|
2655
|
-
isHidden: PropTypes.bool,
|
|
2656
|
-
errors: PropTypes.array,
|
|
2657
|
-
useDefaultTheme: PropTypes.bool
|
|
2658
|
-
};
|
|
2659
|
-
|
|
2660
|
-
const Textarea$1 = ({
|
|
2661
|
-
className,
|
|
2662
|
-
formId,
|
|
2663
|
-
id,
|
|
2664
|
-
label,
|
|
2665
|
-
type,
|
|
2666
|
-
setValue,
|
|
2667
|
-
validations,
|
|
2668
|
-
defaultValue,
|
|
2669
|
-
defaultLanguage,
|
|
2670
|
-
placeholder,
|
|
2671
|
-
validateField,
|
|
2672
|
-
useDefaultTheme,
|
|
2673
|
-
errors
|
|
2674
|
-
}) => {
|
|
2675
|
-
const [showCharLimit, setShowCharLimit] = useState(false);
|
|
2676
|
-
const isRequired = validations && validations.required ? true : false;
|
|
2677
|
-
const placeholderText = placeholder && placeholder.properties && placeholder.properties.placeholderText && placeholder.properties.placeholderText[defaultLanguage];
|
|
2678
|
-
const defaultValueText = defaultValue ? defaultValue[defaultLanguage] : null;
|
|
2679
|
-
|
|
2680
|
-
const _handleChange = (formId, id, value) => {
|
|
2681
|
-
setValue(formId, id, value);
|
|
2682
|
-
};
|
|
2683
|
-
|
|
2684
|
-
const _handleBlur = (formId, id, value) => {
|
|
2685
|
-
validateField(formId, id, value);
|
|
2686
|
-
setShowCharLimit(false);
|
|
2687
|
-
};
|
|
2688
|
-
|
|
2689
|
-
const _handleFocus = () => {
|
|
2690
|
-
setShowCharLimit(true);
|
|
2691
|
-
};
|
|
2692
|
-
|
|
2693
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
2694
|
-
className: "textarea-container"
|
|
2695
|
-
}, /*#__PURE__*/React.createElement(Label$1, {
|
|
2696
|
-
id: id,
|
|
2697
|
-
label: label,
|
|
2698
|
-
isRequired: isRequired,
|
|
2699
|
-
className: "label-textarea"
|
|
2700
|
-
}), showCharLimit && /*#__PURE__*/React.createElement(CharacterLimit$1, {
|
|
2701
|
-
value: defaultValue,
|
|
2702
|
-
validations: validations,
|
|
2703
|
-
defaultLanguage: defaultLanguage,
|
|
2704
|
-
useDefaultTheme: useDefaultTheme
|
|
2705
|
-
}), /*#__PURE__*/React.createElement("textarea", {
|
|
2706
|
-
className: `${className ? className : ''} input-textarea`,
|
|
2707
|
-
type: type,
|
|
2708
|
-
id: id,
|
|
2709
|
-
defaultValue: defaultValueText,
|
|
2710
|
-
placeholder: placeholderText,
|
|
2711
|
-
onChange: e => _handleChange(formId, id, e.target.value),
|
|
2712
|
-
onBlur: e => _handleBlur(formId, id, e.target.value),
|
|
2713
|
-
onFocus: () => _handleFocus()
|
|
2714
|
-
}), errors && errors.length > 0 && errors.some(x => x.fieldId == id) && /*#__PURE__*/React.createElement(ErrorMessage$1, {
|
|
2715
|
-
message: errors.find(x => x.fieldId == id).message,
|
|
2716
|
-
useDefaultTheme: useDefaultTheme
|
|
2717
|
-
}));
|
|
2718
|
-
};
|
|
2719
|
-
|
|
2720
|
-
Textarea$1.propTypes = {
|
|
2721
|
-
className: PropTypes.string,
|
|
2722
|
-
formId: PropTypes.string,
|
|
2723
|
-
id: PropTypes.string,
|
|
2724
|
-
label: PropTypes.string,
|
|
2725
|
-
type: PropTypes.string,
|
|
2726
|
-
setValue: PropTypes.func,
|
|
2727
|
-
validations: PropTypes.object,
|
|
2728
|
-
defaultValue: PropTypes.object,
|
|
2729
|
-
defaultLanguage: PropTypes.string,
|
|
2730
|
-
placeholder: PropTypes.object,
|
|
2731
|
-
validateField: PropTypes.func,
|
|
2732
|
-
useDefaultTheme: PropTypes.bool,
|
|
2733
|
-
errors: PropTypes.array
|
|
2734
|
-
};
|
|
2735
|
-
|
|
2736
|
-
const HiddenField$1 = ({
|
|
2737
|
-
className,
|
|
2738
|
-
id,
|
|
2739
|
-
label,
|
|
2740
|
-
type,
|
|
2741
|
-
defaultValue,
|
|
2742
|
-
defaultLanguage,
|
|
2743
|
-
placeholder
|
|
2744
|
-
}) => {
|
|
2745
|
-
return /*#__PURE__*/React.createElement(Textfield$1, {
|
|
2746
|
-
type: type,
|
|
2747
|
-
label: label,
|
|
2748
|
-
id: id,
|
|
2749
|
-
defaultValue: defaultValue,
|
|
2750
|
-
defaultLanguage: defaultLanguage,
|
|
2751
|
-
placeholder: placeholder,
|
|
2752
|
-
className: className,
|
|
2753
|
-
isHidden: true
|
|
2754
|
-
});
|
|
2755
|
-
};
|
|
2756
|
-
|
|
2757
|
-
HiddenField$1.propTypes = {
|
|
2758
|
-
className: PropTypes.string,
|
|
2759
|
-
id: PropTypes.string,
|
|
2760
|
-
label: PropTypes.string,
|
|
2761
|
-
type: PropTypes.string,
|
|
2762
|
-
defaultValue: PropTypes.object,
|
|
2763
|
-
defaultLanguage: PropTypes.string,
|
|
2764
|
-
placeholder: PropTypes.object
|
|
2765
|
-
};
|
|
2766
|
-
|
|
2767
|
-
const Dropdown$1 = ({
|
|
2768
|
-
className,
|
|
2769
|
-
formId,
|
|
2770
|
-
id,
|
|
2771
|
-
validations,
|
|
2772
|
-
defaultValue,
|
|
2773
|
-
defaultLanguage,
|
|
2774
|
-
label,
|
|
2775
|
-
setValue
|
|
2776
|
-
}) => {
|
|
2777
|
-
if (!validations) return null;
|
|
2778
|
-
const isRequired = validations && validations.required ? true : false;
|
|
2779
|
-
const ddValues = validations && validations.allowedValues && validations.allowedValues.values;
|
|
2780
|
-
|
|
2781
|
-
const _handleChange = (formId, id, value) => {
|
|
2782
|
-
setValue(formId, id, value);
|
|
2783
|
-
};
|
|
2784
|
-
|
|
2785
|
-
if (!ddValues || ddValues.length < 1) return null;
|
|
2786
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
2787
|
-
className: "dropdown-container"
|
|
2788
|
-
}, /*#__PURE__*/React.createElement(Label$1, {
|
|
2789
|
-
id: id,
|
|
2790
|
-
label: label,
|
|
2791
|
-
isRequired: isRequired,
|
|
2792
|
-
className: "label-dropdown"
|
|
2793
|
-
}), /*#__PURE__*/React.createElement("select", {
|
|
2794
|
-
name: id,
|
|
2795
|
-
id: id,
|
|
2796
|
-
className: `${className ? className : ''} select-dropdown`,
|
|
2797
|
-
defaultValue: defaultValue,
|
|
2798
|
-
onBlur: e => _handleChange(formId, id, e.target.value)
|
|
2799
|
-
}, ddValues.map((val, idx) => {
|
|
2800
|
-
return /*#__PURE__*/React.createElement("option", {
|
|
2801
|
-
key: `${val[defaultLanguage]}-${idx}`,
|
|
2802
|
-
value: val[defaultLanguage],
|
|
2803
|
-
className: "option-dropdown"
|
|
2804
|
-
}, val[defaultLanguage]);
|
|
2805
|
-
})));
|
|
2806
|
-
};
|
|
2807
|
-
|
|
2808
|
-
Dropdown$1.propTypes = {
|
|
2809
|
-
className: PropTypes.string,
|
|
2810
|
-
formId: PropTypes.string,
|
|
2811
|
-
setValue: PropTypes.func,
|
|
2812
|
-
id: PropTypes.string,
|
|
2813
|
-
validations: PropTypes.object,
|
|
2814
|
-
defaultValue: PropTypes.string,
|
|
2815
|
-
label: PropTypes.string,
|
|
2816
|
-
defaultLanguage: PropTypes.string
|
|
2817
|
-
};
|
|
2818
|
-
|
|
2819
|
-
const CheckboxStyled$1 = styled.div.withConfig({
|
|
2820
|
-
displayName: "Checkbox__CheckboxStyled",
|
|
2821
|
-
componentId: "s8ewuf-0"
|
|
2822
|
-
})(["", ";"], ({
|
|
2823
|
-
useDefaultTheme
|
|
2824
|
-
}) => {
|
|
2825
|
-
return css(["", ""], useDefaultTheme && css([".checkbox-wrapper{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;input{height:auto;width:auto;margin:0 4px 0 0;}label{display:inline-block;}}"]));
|
|
2826
|
-
});
|
|
2827
|
-
|
|
2828
|
-
const Checkbox$1 = ({
|
|
2829
|
-
className,
|
|
2830
|
-
formId,
|
|
2831
|
-
setCheckboxValue,
|
|
2832
|
-
id,
|
|
2833
|
-
type,
|
|
2834
|
-
label,
|
|
2835
|
-
validations,
|
|
2836
|
-
defaultValue,
|
|
2837
|
-
name,
|
|
2838
|
-
defaultLanguage,
|
|
2839
|
-
useDefaultTheme
|
|
2840
|
-
}) => {
|
|
2841
|
-
// NF change rules of hooks
|
|
2842
|
-
let isDefaultChecked = defaultValue && defaultValue[defaultLanguage];
|
|
2843
|
-
const [isChecked, setIsChecked] = useState(isDefaultChecked || '');
|
|
2844
|
-
|
|
2845
|
-
switch (type) {
|
|
2846
|
-
case 'multiple':
|
|
2847
|
-
{
|
|
2848
|
-
if (!validations) return null;
|
|
2849
|
-
const isRequired = validations && validations.required ? true : false;
|
|
2850
|
-
const cbValues = validations && validations.allowedValues && validations.allowedValues.values;
|
|
2851
|
-
|
|
2852
|
-
const _handleChange = (value, isChecked) => {
|
|
2853
|
-
setCheckboxValue(formId, id, value, isChecked);
|
|
2854
|
-
};
|
|
2855
|
-
|
|
2856
|
-
if (!cbValues || cbValues.length < 1) return null;
|
|
2857
|
-
return /*#__PURE__*/React.createElement(CheckboxStyled$1, {
|
|
2858
|
-
className: `checkbox-container`,
|
|
2859
|
-
useDefaultTheme: useDefaultTheme
|
|
2860
|
-
}, /*#__PURE__*/React.createElement(Label$1, {
|
|
2861
|
-
id: id,
|
|
2862
|
-
label: label,
|
|
2863
|
-
isRequired: isRequired,
|
|
2864
|
-
className: "label-checkbox-container"
|
|
2865
|
-
}), cbValues.map((val, idx) => {
|
|
2866
|
-
return /*#__PURE__*/React.createElement("span", {
|
|
2867
|
-
key: idx,
|
|
2868
|
-
className: "checkbox-wrapper"
|
|
2869
|
-
}, /*#__PURE__*/React.createElement("input", {
|
|
2870
|
-
type: "checkbox",
|
|
2871
|
-
id: `checkbox-${idx}`,
|
|
2872
|
-
name: `checkbox-${idx}`,
|
|
2873
|
-
value: val[defaultLanguage],
|
|
2874
|
-
className: `${className ? className : ''} input-checkbox`,
|
|
2875
|
-
onChange: e => _handleChange(e.target.value, e.target.checked)
|
|
2876
|
-
}), /*#__PURE__*/React.createElement(Label$1, {
|
|
2877
|
-
id: `checkbox-${idx}`,
|
|
2878
|
-
label: val[defaultLanguage],
|
|
2879
|
-
className: "label-checkbox"
|
|
2880
|
-
}));
|
|
2881
|
-
}));
|
|
2882
|
-
}
|
|
2883
|
-
|
|
2884
|
-
case 'single':
|
|
2885
|
-
{
|
|
2886
|
-
const _handleChange = isChecked => {
|
|
2887
|
-
setIsChecked(isChecked);
|
|
2888
|
-
setCheckboxValue(formId, id, isChecked);
|
|
2889
|
-
};
|
|
2890
|
-
|
|
2891
|
-
return /*#__PURE__*/React.createElement(CheckboxStyled$1, {
|
|
2892
|
-
className: `checkbox-container`,
|
|
2893
|
-
useDefaultTheme: useDefaultTheme
|
|
2894
|
-
}, /*#__PURE__*/React.createElement("span", {
|
|
2895
|
-
className: "checkbox-wrapper"
|
|
2896
|
-
}, /*#__PURE__*/React.createElement("input", {
|
|
2897
|
-
type: "checkbox",
|
|
2898
|
-
id: id,
|
|
2899
|
-
name: `checkbox-${id}`,
|
|
2900
|
-
value: name[defaultLanguage],
|
|
2901
|
-
checked: isChecked,
|
|
2902
|
-
className: `${className ? className : ''} input-checkbox`,
|
|
2903
|
-
onChange: e => _handleChange(e.target.checked)
|
|
2904
|
-
}), /*#__PURE__*/React.createElement(Label$1, {
|
|
2905
|
-
id: id,
|
|
2906
|
-
label: label,
|
|
2907
|
-
className: "label-checkbox"
|
|
2908
|
-
})));
|
|
2909
|
-
}
|
|
2910
|
-
}
|
|
2911
|
-
};
|
|
2912
|
-
|
|
2913
|
-
Checkbox$1.propTypes = {
|
|
2914
|
-
className: PropTypes.string,
|
|
2915
|
-
formId: PropTypes.string,
|
|
2916
|
-
id: PropTypes.string,
|
|
2917
|
-
type: PropTypes.string,
|
|
2918
|
-
label: PropTypes.string,
|
|
2919
|
-
setCheckboxValue: PropTypes.func,
|
|
2920
|
-
validations: PropTypes.object,
|
|
2921
|
-
defaultLanguage: PropTypes.string,
|
|
2922
|
-
name: PropTypes.object,
|
|
2923
|
-
default: PropTypes.object
|
|
2924
|
-
};
|
|
2925
|
-
|
|
2926
|
-
const RadioButtonStyled$1 = styled.div.withConfig({
|
|
2927
|
-
displayName: "RadioButton__RadioButtonStyled",
|
|
2928
|
-
componentId: "sc-7y8c21-0"
|
|
2929
|
-
})(["", ";"], ({
|
|
2930
|
-
useDefaultTheme
|
|
2931
|
-
}) => {
|
|
2932
|
-
return css(["", ""], useDefaultTheme && css([".radio-wrapper{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;input{height:auto;width:auto;margin:0 4px 0 0;}label{display:inline-block;}}"]));
|
|
2933
|
-
});
|
|
2934
|
-
|
|
2935
|
-
const RadioButton$1 = ({
|
|
2936
|
-
className,
|
|
2937
|
-
formId,
|
|
2938
|
-
setValue,
|
|
2939
|
-
id,
|
|
2940
|
-
type,
|
|
2941
|
-
label,
|
|
2942
|
-
validations,
|
|
2943
|
-
defaultLanguage,
|
|
2944
|
-
useDefaultTheme
|
|
2945
|
-
}) => {
|
|
2946
|
-
if (!validations) return null;
|
|
2947
|
-
const isRequired = validations && validations.required ? true : false;
|
|
2948
|
-
const cbValues = validations && validations.allowedValues && validations.allowedValues.values;
|
|
2949
|
-
|
|
2950
|
-
const _handleChange = (formId, id, value) => {
|
|
2951
|
-
setValue(formId, id, value);
|
|
2952
|
-
};
|
|
2953
|
-
|
|
2954
|
-
if (!cbValues || cbValues.length < 1) return null;
|
|
2955
|
-
return /*#__PURE__*/React.createElement(RadioButtonStyled$1, {
|
|
2956
|
-
className: "radio-container",
|
|
2957
|
-
useDefaultTheme: useDefaultTheme
|
|
2958
|
-
}, /*#__PURE__*/React.createElement(Label$1, {
|
|
2959
|
-
id: id,
|
|
2960
|
-
label: label,
|
|
2961
|
-
isRequired: isRequired,
|
|
2962
|
-
className: "label-radio-container"
|
|
2963
|
-
}), cbValues.map((val, idx) => {
|
|
2964
|
-
return /*#__PURE__*/React.createElement("span", {
|
|
2965
|
-
key: idx,
|
|
2966
|
-
className: "radio-wrapper"
|
|
2967
|
-
}, /*#__PURE__*/React.createElement("input", {
|
|
2968
|
-
type: type,
|
|
2969
|
-
id: val[defaultLanguage],
|
|
2970
|
-
name: id,
|
|
2971
|
-
value: val[defaultLanguage],
|
|
2972
|
-
className: `${className ? className : ''} input-radio`,
|
|
2973
|
-
onChange: e => _handleChange(formId, id, e.target.value)
|
|
2974
|
-
}), /*#__PURE__*/React.createElement(Label$1, {
|
|
2975
|
-
id: val[defaultLanguage],
|
|
2976
|
-
label: val[defaultLanguage],
|
|
2977
|
-
className: "label-radio"
|
|
2978
|
-
}));
|
|
2979
|
-
}));
|
|
2980
|
-
};
|
|
2981
|
-
|
|
2982
|
-
RadioButton$1.propTypes = {
|
|
2983
|
-
className: PropTypes.string,
|
|
2984
|
-
formId: PropTypes.string,
|
|
2985
|
-
setValue: PropTypes.func,
|
|
2986
|
-
id: PropTypes.string,
|
|
2987
|
-
type: PropTypes.string,
|
|
2988
|
-
label: PropTypes.string,
|
|
2989
|
-
validations: PropTypes.object,
|
|
2990
|
-
defaultLanguage: PropTypes.string,
|
|
2991
|
-
useDefaultTheme: PropTypes.bool
|
|
2992
|
-
};
|
|
2993
|
-
|
|
2994
|
-
//example date string: 2019-01-02T13:05:00 (expects ISO 8601 Datetime format yyyy-mm-ddThh:mm:ss [this is the format returned from Contensis delivery api])
|
|
2995
|
-
//yyyy > year long, eg. 2019
|
|
2996
|
-
//yy > year short, eg. 19
|
|
2997
|
-
//MMMM > month long, eg. January
|
|
2998
|
-
//MMM > month short, eg. Jan
|
|
2999
|
-
//MM > month with leading 0, eg. 01
|
|
3000
|
-
//M > month, eg. 1
|
|
3001
|
-
//dddd > day long, eg. Monday
|
|
3002
|
-
//ddd > day short, eg. Mon
|
|
3003
|
-
//dd > date with leading 0, eg. 02
|
|
3004
|
-
//d > date, eg. 2
|
|
3005
|
-
//HH > 24 hour clock hour parameter with leading 0, eg. ...T03:05:00 = 03
|
|
3006
|
-
//H > 24 hour clock hour parameter, eg. ...T03:05:00 = 3
|
|
3007
|
-
//hh > 12 hour clock hour parameter with leading 0, eg. ...T16:05:00 = 04
|
|
3008
|
-
//h > 12 hour clock hour parameter, eg. ...T16:05:00 = 4
|
|
3009
|
-
//mm > minutes with leading 0, eg. ...T16:05:00 = 05
|
|
3010
|
-
//m > minutes, eg ...T16:05:00 = 5
|
|
3011
|
-
//t > abbreviated AM / PM, e.g. A or P
|
|
3012
|
-
//tt > AM / PM, e.g. AM or PM
|
|
3013
|
-
const formatDate$1 = (date, format = 'dd MMMM yyyy') => {
|
|
3014
|
-
if (!date) return null;
|
|
3015
|
-
const dateObj = new Date(date);
|
|
3016
|
-
const dateString = date.toString().split('T');
|
|
3017
|
-
const dateArr = dateString[0].split('-');
|
|
3018
|
-
const year = dateArr[0];
|
|
3019
|
-
const month = dateArr[1];
|
|
3020
|
-
const day = dateArr[2];
|
|
3021
|
-
const dayNameInt = dateObj.getDay();
|
|
3022
|
-
const timeArr = dateString[1].split(':');
|
|
3023
|
-
const hour = timeArr[0];
|
|
3024
|
-
const minute = timeArr[1]; //convert to abstract strings to avoid character replacement along the chain, eg. Monday would match 'M' month single parameter
|
|
3025
|
-
|
|
3026
|
-
const YEAR = ['&&', '&'];
|
|
3027
|
-
const MONTH = ['££££', '£££', '££', '£'];
|
|
3028
|
-
const DAY = ['%%%%', '%%%', '%%', '%'];
|
|
3029
|
-
const HOUR24 = ['!!', '!'];
|
|
3030
|
-
const HOUR12 = ['^^', '^'];
|
|
3031
|
-
const MINUTE = ['**', '*'];
|
|
3032
|
-
const TF = ['??', '?'];
|
|
3033
|
-
let formattedDate = format.replace('yyyy', YEAR[0]).replace('yy', YEAR[1]).replace('y', '') //'y' && 'yyy' not valid
|
|
3034
|
-
.replace('MMMM', MONTH[0]).replace('MMM', MONTH[1]).replace('MM', MONTH[2]).replace('M', MONTH[3]).replace('dddd', DAY[0]).replace('ddd', DAY[1]).replace('dd', DAY[2]).replace('d', DAY[3]).replace('HH', HOUR24[0]).replace('H', HOUR24[1]).replace('hh', HOUR12[0]).replace('h', HOUR12[1]).replace('mm', MINUTE[0]).replace('m', MINUTE[1]).replace('tt', TF[0]).replace('t', TF[1]).replace(YEAR[0], year).replace(YEAR[1], year.slice(-2)).replace(MONTH[0], monthsLong$1[parseInt(month, 10)]).replace(MONTH[1], monthsShort$1[parseInt(month, 10)]).replace(MONTH[2], month).replace(MONTH[3], parseInt(month, 10)).replace(DAY[0], daysLong$1[dayNameInt]).replace(DAY[1], daysShort$1[dayNameInt]).replace(DAY[2], day).replace(DAY[3], parseInt(day, 10)).replace(HOUR24[0], hour).replace(HOUR24[1], parseInt(hour, 10)).replace(HOUR12[0], parseHour$1(hour)).replace(HOUR12[1], parseInt(parseHour$1(hour), 10)).replace(MINUTE[0], minute).replace(MINUTE[1], parseInt(minute, 10)).replace(TF[0], parseTF$1(hour)).replace(TF[1], parseTF$1(hour).slice(0, -1));
|
|
3035
|
-
return formattedDate;
|
|
3036
|
-
};
|
|
3037
|
-
|
|
3038
|
-
const monthsShort$1 = ['', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
|
|
3039
|
-
const monthsLong$1 = ['', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
|
|
3040
|
-
const daysShort$1 = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
|
|
3041
|
-
const daysLong$1 = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
|
|
3042
|
-
|
|
3043
|
-
const parseHour$1 = hour => {
|
|
3044
|
-
return hour > 12 ? hour - 12 : hour;
|
|
3045
|
-
};
|
|
3046
|
-
|
|
3047
|
-
const parseTF$1 = hour => {
|
|
3048
|
-
return hour > 11 ? 'PM' : 'AM';
|
|
3049
|
-
};
|
|
3050
|
-
|
|
3051
|
-
const SingleDate$1 = ({
|
|
3052
|
-
className,
|
|
3053
|
-
type,
|
|
3054
|
-
id,
|
|
3055
|
-
label,
|
|
3056
|
-
validations,
|
|
3057
|
-
setValue,
|
|
3058
|
-
formId
|
|
3059
|
-
}) => {
|
|
3060
|
-
const isRequired = validations && validations.required ? true : false;
|
|
3061
|
-
const onlyPassedDates = validations && validations.pastDateTime;
|
|
3062
|
-
const d = new Date();
|
|
3063
|
-
const todaysDate = d.toISOString();
|
|
3064
|
-
|
|
3065
|
-
const _handleChange = (formId, id, value) => {
|
|
3066
|
-
const d = new Date(value);
|
|
3067
|
-
const isoDate = d.toISOString();
|
|
3068
|
-
setValue(formId, id, isoDate);
|
|
3069
|
-
};
|
|
3070
|
-
|
|
3071
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
3072
|
-
className: "date-container"
|
|
3073
|
-
}, /*#__PURE__*/React.createElement(Label$1, {
|
|
3074
|
-
id: id,
|
|
3075
|
-
label: label,
|
|
3076
|
-
isRequired: isRequired,
|
|
3077
|
-
className: "label-date"
|
|
3078
|
-
}), /*#__PURE__*/React.createElement("input", {
|
|
3079
|
-
type: type,
|
|
3080
|
-
id: id,
|
|
3081
|
-
name: id,
|
|
3082
|
-
className: `${className ? className : ''} input-date`,
|
|
3083
|
-
max: onlyPassedDates ? formatDate$1(todaysDate, 'yyyy-MM-dd') : '',
|
|
3084
|
-
onChange: e => _handleChange(formId, id, e.target.value)
|
|
3085
|
-
}));
|
|
3086
|
-
};
|
|
3087
|
-
|
|
3088
|
-
SingleDate$1.propTypes = {
|
|
3089
|
-
className: PropTypes.string,
|
|
3090
|
-
formId: PropTypes.string,
|
|
3091
|
-
setValue: PropTypes.func,
|
|
3092
|
-
type: PropTypes.string,
|
|
3093
|
-
id: PropTypes.string,
|
|
3094
|
-
label: PropTypes.string,
|
|
3095
|
-
validations: PropTypes.object
|
|
3096
|
-
};
|
|
3097
|
-
|
|
3098
|
-
const DateRangeStyled$1 = styled.div.withConfig({
|
|
3099
|
-
displayName: "DateRange__DateRangeStyled",
|
|
3100
|
-
componentId: "hnzg32-0"
|
|
3101
|
-
})(["", ";"], ({
|
|
3102
|
-
useDefaultTheme
|
|
3103
|
-
}) => {
|
|
3104
|
-
return css(["", ""], useDefaultTheme && css([".daterange-wrapper{display:flex;flex-direction:column;input{&:first-child{margin:0 0 8px 0;}}}"]));
|
|
3105
|
-
});
|
|
3106
|
-
|
|
3107
|
-
const DateRange$1 = ({
|
|
3108
|
-
className,
|
|
3109
|
-
id,
|
|
3110
|
-
label,
|
|
3111
|
-
validations,
|
|
3112
|
-
setDateRangeValues,
|
|
3113
|
-
formId,
|
|
3114
|
-
useDefaultTheme
|
|
3115
|
-
}) => {
|
|
3116
|
-
const isRequired = validations && validations.required ? true : false;
|
|
3117
|
-
const onlyPassedDates = validations && validations.pastDateTime;
|
|
3118
|
-
const d = new Date();
|
|
3119
|
-
const todaysDate = d.toISOString();
|
|
3120
|
-
const [toDate, setToDate] = useState('');
|
|
3121
|
-
const [fromDate, setFromDate] = useState('');
|
|
3122
|
-
|
|
3123
|
-
const _handleDateChange = (dateType, formId, id, value) => {
|
|
3124
|
-
_updateDateProps(dateType, value);
|
|
3125
|
-
|
|
3126
|
-
const d = new Date(value);
|
|
3127
|
-
const isoDate = d.toISOString();
|
|
3128
|
-
setDateRangeValues(formId, id, dateType, isoDate);
|
|
3129
|
-
};
|
|
3130
|
-
|
|
3131
|
-
const _updateDateProps = (type, date) => {
|
|
3132
|
-
switch (type) {
|
|
3133
|
-
case 'from':
|
|
3134
|
-
{
|
|
3135
|
-
const d = new Date(date);
|
|
3136
|
-
const newDate = d.toISOString();
|
|
3137
|
-
setFromDate(newDate);
|
|
3138
|
-
break;
|
|
3139
|
-
}
|
|
3140
|
-
|
|
3141
|
-
case 'to':
|
|
3142
|
-
{
|
|
3143
|
-
const d = new Date(date);
|
|
3144
|
-
const newDate = d.toISOString();
|
|
3145
|
-
setToDate(newDate);
|
|
3146
|
-
break;
|
|
3147
|
-
}
|
|
3148
|
-
|
|
3149
|
-
default:
|
|
3150
|
-
return;
|
|
3151
|
-
}
|
|
3152
|
-
};
|
|
3153
|
-
|
|
3154
|
-
return /*#__PURE__*/React.createElement(DateRangeStyled$1, {
|
|
3155
|
-
className: `daterange-container`,
|
|
3156
|
-
useDefaultTheme: useDefaultTheme
|
|
3157
|
-
}, /*#__PURE__*/React.createElement(Label$1, {
|
|
3158
|
-
id: id,
|
|
3159
|
-
label: label,
|
|
3160
|
-
isRequired: isRequired
|
|
3161
|
-
}), /*#__PURE__*/React.createElement("div", {
|
|
3162
|
-
className: "daterange-wrapper"
|
|
3163
|
-
}, /*#__PURE__*/React.createElement(Label$1, {
|
|
3164
|
-
id: "date-from",
|
|
3165
|
-
label: "Date from",
|
|
3166
|
-
isHidden: true,
|
|
3167
|
-
className: "label-daterange"
|
|
3168
|
-
}), /*#__PURE__*/React.createElement("input", {
|
|
3169
|
-
type: "date",
|
|
3170
|
-
id: "date-from",
|
|
3171
|
-
name: id,
|
|
3172
|
-
max: onlyPassedDates && !toDate ? formatDate$1(todaysDate, 'yyyy-MM-dd') : onlyPassedDates && toDate ? formatDate$1(toDate, 'yyyy-MM-dd') : toDate ? formatDate$1(toDate, 'yyyy-MM-dd') : '',
|
|
3173
|
-
className: `${className ? className : ''} input-daterange`,
|
|
3174
|
-
onChange: e => _handleDateChange('from', formId, id, e.target.value)
|
|
3175
|
-
}), /*#__PURE__*/React.createElement(Label$1, {
|
|
3176
|
-
id: "date-to",
|
|
3177
|
-
label: "Date to",
|
|
3178
|
-
isHidden: true,
|
|
3179
|
-
className: "label-daterange"
|
|
3180
|
-
}), /*#__PURE__*/React.createElement("input", {
|
|
3181
|
-
type: "date",
|
|
3182
|
-
id: "date-to",
|
|
3183
|
-
name: id,
|
|
3184
|
-
max: onlyPassedDates ? formatDate$1(todaysDate, 'yyyy-MM-dd') : '',
|
|
3185
|
-
min: formatDate$1(fromDate, 'yyyy-MM-dd'),
|
|
3186
|
-
className: `${className ? className : ''} input-daterange`,
|
|
3187
|
-
onChange: e => _handleDateChange('to', formId, id, e.target.value)
|
|
3188
|
-
})));
|
|
3189
|
-
};
|
|
3190
|
-
|
|
3191
|
-
DateRange$1.propTypes = {
|
|
3192
|
-
className: PropTypes.string,
|
|
3193
|
-
formId: PropTypes.string,
|
|
3194
|
-
setDateRangeValues: PropTypes.func,
|
|
3195
|
-
type: PropTypes.string,
|
|
3196
|
-
id: PropTypes.string,
|
|
3197
|
-
label: PropTypes.string,
|
|
3198
|
-
validations: PropTypes.object,
|
|
3199
|
-
useDefaultTheme: PropTypes.bool
|
|
3200
|
-
};
|
|
3201
|
-
|
|
3202
|
-
const EntryPickerStyled$1 = styled.div.withConfig({
|
|
3203
|
-
displayName: "EntryPicker__EntryPickerStyled",
|
|
3204
|
-
componentId: "svnu18-0"
|
|
3205
|
-
})(["", ";"], ({
|
|
3206
|
-
useDefaultTheme
|
|
3207
|
-
}) => {
|
|
3208
|
-
return css(["", ""], useDefaultTheme && css([".radio-wrapper,.checkbox-wrapper{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;input{height:auto;width:auto;margin:0 4px 0 0;}label{display:inline-block;}}"]));
|
|
3209
|
-
});
|
|
3210
|
-
|
|
3211
|
-
const EntryPicker$1 = ({
|
|
3212
|
-
className,
|
|
3213
|
-
results,
|
|
3214
|
-
id,
|
|
3215
|
-
label,
|
|
3216
|
-
validations,
|
|
3217
|
-
type,
|
|
3218
|
-
useDefaultTheme,
|
|
3219
|
-
setValue,
|
|
3220
|
-
formId
|
|
3221
|
-
}) => {
|
|
3222
|
-
if (!results || results.length > 3) return null;
|
|
3223
|
-
const isRequired = validations && validations.required ? true : false;
|
|
3224
|
-
let valArr = [];
|
|
3225
|
-
|
|
3226
|
-
const _handleChange = (formId, id, value, isChecked) => {
|
|
3227
|
-
if (type === 'checkbox') {
|
|
3228
|
-
if (isChecked) {
|
|
3229
|
-
valArr.push(value);
|
|
3230
|
-
} else if (!isChecked) {
|
|
3231
|
-
valArr = valArr.filter(valItem => valItem !== value);
|
|
3232
|
-
}
|
|
3233
|
-
|
|
3234
|
-
setValue(formId, id, valArr);
|
|
3235
|
-
} else {
|
|
3236
|
-
setValue(formId, id, value);
|
|
3237
|
-
}
|
|
3238
|
-
};
|
|
3239
|
-
|
|
3240
|
-
return /*#__PURE__*/React.createElement(EntryPickerStyled$1, {
|
|
3241
|
-
className: `${type}-container`,
|
|
3242
|
-
useDefaultTheme: useDefaultTheme
|
|
3243
|
-
}, /*#__PURE__*/React.createElement(Label$1, {
|
|
3244
|
-
id: id,
|
|
3245
|
-
label: label,
|
|
3246
|
-
isRequired: isRequired,
|
|
3247
|
-
className: `label-${type}-container`
|
|
3248
|
-
}), results.map((res, idx) => {
|
|
3249
|
-
return /*#__PURE__*/React.createElement("span", {
|
|
3250
|
-
key: idx,
|
|
3251
|
-
className: `${type}-wrapper`
|
|
3252
|
-
}, /*#__PURE__*/React.createElement("input", {
|
|
3253
|
-
type: type,
|
|
3254
|
-
id: res.entryTitle,
|
|
3255
|
-
value: res.entryTitle,
|
|
3256
|
-
name: id,
|
|
3257
|
-
className: `${className ? className : ''} input-${type}`,
|
|
3258
|
-
onChange: e => _handleChange(formId, id, e.target.value, e.target.checked)
|
|
3259
|
-
}), /*#__PURE__*/React.createElement(Label$1, {
|
|
3260
|
-
id: res.entryTitle,
|
|
3261
|
-
label: res.entryTitle,
|
|
3262
|
-
className: `label-${type}`
|
|
3263
|
-
}));
|
|
3264
|
-
}));
|
|
3265
|
-
};
|
|
3266
|
-
|
|
3267
|
-
EntryPicker$1.propTypes = {
|
|
3268
|
-
className: PropTypes.string,
|
|
3269
|
-
results: PropTypes.array,
|
|
3270
|
-
id: PropTypes.string,
|
|
3271
|
-
label: PropTypes.string,
|
|
3272
|
-
validations: PropTypes.object,
|
|
3273
|
-
type: PropTypes.string,
|
|
3274
|
-
useDefaultTheme: PropTypes.bool,
|
|
3275
|
-
setValue: PropTypes.func,
|
|
3276
|
-
formId: PropTypes.string
|
|
3277
|
-
};
|
|
3278
|
-
|
|
3279
|
-
const FormComposer$1 = ({
|
|
3280
|
-
fields,
|
|
3281
|
-
formData,
|
|
3282
|
-
formId,
|
|
3283
|
-
setValue,
|
|
3284
|
-
setDateRangeValues,
|
|
3285
|
-
validateField,
|
|
3286
|
-
defaultLanguage,
|
|
3287
|
-
errors,
|
|
3288
|
-
useDefaultTheme,
|
|
3289
|
-
entries,
|
|
3290
|
-
setCheckboxValue
|
|
3291
|
-
}) => {
|
|
3292
|
-
if (!fields || fields.length < 1) return null; //const arrayOfFields = Object.entries(fields).map(f => f[1]);
|
|
3293
|
-
|
|
3294
|
-
return fields.map((field, idx) => {
|
|
3295
|
-
if (!field) return null;
|
|
3296
|
-
|
|
3297
|
-
switch (field.type) {
|
|
3298
|
-
case 'number':
|
|
3299
|
-
case 'textfield':
|
|
3300
|
-
{
|
|
3301
|
-
return /*#__PURE__*/React.createElement(Textfield$1, {
|
|
3302
|
-
key: `${field.id}-${idx}`,
|
|
3303
|
-
type: field.type,
|
|
3304
|
-
id: field.id,
|
|
3305
|
-
label: field.name && field.name[defaultLanguage],
|
|
3306
|
-
formId: formId,
|
|
3307
|
-
setValue: setValue,
|
|
3308
|
-
validations: field.validations,
|
|
3309
|
-
validateField: validateField,
|
|
3310
|
-
defaultLanguage: defaultLanguage,
|
|
3311
|
-
defaultValue: formData && formData[field.id] || field.default,
|
|
3312
|
-
placeholder: field.editor,
|
|
3313
|
-
errors: errors,
|
|
3314
|
-
useDefaultTheme: useDefaultTheme
|
|
3315
|
-
});
|
|
3316
|
-
}
|
|
3317
|
-
|
|
3318
|
-
case 'textarea':
|
|
3319
|
-
{
|
|
3320
|
-
return /*#__PURE__*/React.createElement(Textarea$1, {
|
|
3321
|
-
key: `${field.id}-${idx}`,
|
|
3322
|
-
type: field.type,
|
|
3323
|
-
id: field.id,
|
|
3324
|
-
label: field.name && field.name[defaultLanguage],
|
|
3325
|
-
formId: formId,
|
|
3326
|
-
setValue: setValue,
|
|
3327
|
-
validations: field.validations,
|
|
3328
|
-
defaultLanguage: defaultLanguage,
|
|
3329
|
-
defaultValue: field.default,
|
|
3330
|
-
placeholder: field.editor,
|
|
3331
|
-
validateField: validateField,
|
|
3332
|
-
useDefaultTheme: useDefaultTheme,
|
|
3333
|
-
errors: errors
|
|
3334
|
-
});
|
|
3335
|
-
}
|
|
3336
|
-
|
|
3337
|
-
case 'dropdown':
|
|
3338
|
-
{
|
|
3339
|
-
return /*#__PURE__*/React.createElement(Dropdown$1, {
|
|
3340
|
-
key: `${field.id}-${idx}`,
|
|
3341
|
-
id: field.id,
|
|
3342
|
-
label: field.name && field.name[defaultLanguage],
|
|
3343
|
-
validations: field.validations,
|
|
3344
|
-
defaultLanguage: defaultLanguage,
|
|
3345
|
-
defaultValue: field.default,
|
|
3346
|
-
formId: formId,
|
|
3347
|
-
setValue: setValue,
|
|
3348
|
-
useDefaultTheme: useDefaultTheme
|
|
3349
|
-
});
|
|
3350
|
-
}
|
|
3351
|
-
|
|
3352
|
-
case 'checkbox':
|
|
3353
|
-
{
|
|
3354
|
-
return /*#__PURE__*/React.createElement(Checkbox$1, {
|
|
3355
|
-
key: `${field.id}-${idx}`,
|
|
3356
|
-
id: field.id,
|
|
3357
|
-
name: field.name,
|
|
3358
|
-
label: field.name && field.name[defaultLanguage],
|
|
3359
|
-
validations: field.validations,
|
|
3360
|
-
defaultLanguage: defaultLanguage,
|
|
3361
|
-
setValue: setValue,
|
|
3362
|
-
formId: formId,
|
|
3363
|
-
defaultValue: formData && formData[field.id] || field.default,
|
|
3364
|
-
type: field.dataType === 'boolean' ? 'single' : 'multiple',
|
|
3365
|
-
useDefaultTheme: useDefaultTheme,
|
|
3366
|
-
setCheckboxValue: setCheckboxValue
|
|
3367
|
-
});
|
|
3368
|
-
}
|
|
3369
|
-
|
|
3370
|
-
case 'radio':
|
|
3371
|
-
{
|
|
3372
|
-
return /*#__PURE__*/React.createElement(RadioButton$1, {
|
|
3373
|
-
key: `${field.id}-${idx}`,
|
|
3374
|
-
id: field.id,
|
|
3375
|
-
type: field.type,
|
|
3376
|
-
formId: formId,
|
|
3377
|
-
setValue: setValue,
|
|
3378
|
-
label: field.name && field.name[defaultLanguage],
|
|
3379
|
-
validations: field.validations,
|
|
3380
|
-
defaultLanguage: defaultLanguage,
|
|
3381
|
-
useDefaultTheme: useDefaultTheme
|
|
3382
|
-
});
|
|
3383
|
-
}
|
|
3384
|
-
|
|
3385
|
-
case 'entryPicker':
|
|
3386
|
-
{
|
|
3387
|
-
const type = field.dataType === 'objectArray' ? 'checkbox' : 'radio';
|
|
3388
|
-
const results = entries && entries[field.id] && entries[field.id].items;
|
|
3389
|
-
return /*#__PURE__*/React.createElement(EntryPicker$1, {
|
|
3390
|
-
key: `${field.id}-${idx}`,
|
|
3391
|
-
type: type,
|
|
3392
|
-
results: results,
|
|
3393
|
-
id: field.id,
|
|
3394
|
-
label: field.name && field.name[defaultLanguage],
|
|
3395
|
-
useDefaultTheme: useDefaultTheme,
|
|
3396
|
-
setValue: setValue,
|
|
3397
|
-
validateField: validateField,
|
|
3398
|
-
formId: formId
|
|
3399
|
-
});
|
|
3400
|
-
}
|
|
3401
|
-
|
|
3402
|
-
case 'date':
|
|
3403
|
-
{
|
|
3404
|
-
return /*#__PURE__*/React.createElement(SingleDate$1, {
|
|
3405
|
-
key: `${field.id}-${idx}`,
|
|
3406
|
-
type: field.type,
|
|
3407
|
-
id: field.id,
|
|
3408
|
-
label: field.name && field.name[defaultLanguage],
|
|
3409
|
-
validations: field.validations,
|
|
3410
|
-
formId: formId,
|
|
3411
|
-
setValue: setValue,
|
|
3412
|
-
useDefaultTheme: useDefaultTheme
|
|
3413
|
-
});
|
|
3414
|
-
}
|
|
3415
|
-
|
|
3416
|
-
case 'dateRange':
|
|
3417
|
-
{
|
|
3418
|
-
return /*#__PURE__*/React.createElement(DateRange$1, {
|
|
3419
|
-
key: `${field.id}-${idx}`,
|
|
3420
|
-
id: field.id,
|
|
3421
|
-
label: field.name && field.name[defaultLanguage],
|
|
3422
|
-
validations: field.validations,
|
|
3423
|
-
formId: formId,
|
|
3424
|
-
setDateRangeValues: setDateRangeValues,
|
|
3425
|
-
useDefaultTheme: useDefaultTheme
|
|
3426
|
-
});
|
|
3427
|
-
}
|
|
3428
|
-
|
|
3429
|
-
case 'hidden':
|
|
3430
|
-
{
|
|
3431
|
-
return /*#__PURE__*/React.createElement(HiddenField$1, {
|
|
3432
|
-
key: `${field.id}-${idx}`,
|
|
3433
|
-
type: field.type,
|
|
3434
|
-
id: field.id,
|
|
3435
|
-
label: field.name && field.name[defaultLanguage],
|
|
3436
|
-
defaultLanguage: defaultLanguage,
|
|
3437
|
-
defaultValue: field.default,
|
|
3438
|
-
placeholder: field.editor
|
|
3439
|
-
});
|
|
3440
|
-
}
|
|
3441
|
-
}
|
|
3442
|
-
});
|
|
3443
|
-
};
|
|
3444
|
-
|
|
3445
|
-
FormComposer$1.propTypes = {
|
|
3446
|
-
fields: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),
|
|
3447
|
-
formData: PropTypes.object,
|
|
3448
|
-
entries: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),
|
|
3449
|
-
formId: PropTypes.string,
|
|
3450
|
-
setValue: PropTypes.func,
|
|
3451
|
-
validateField: PropTypes.func,
|
|
3452
|
-
setDateRangeValues: PropTypes.func,
|
|
3453
|
-
defaultLanguage: PropTypes.string,
|
|
3454
|
-
errors: PropTypes.array,
|
|
3455
|
-
useDefaultTheme: PropTypes.bool,
|
|
3456
|
-
setCheckboxValue: PropTypes.func
|
|
3457
|
-
};
|
|
3458
|
-
|
|
3459
|
-
const ButtonStyled$1 = styled.button.withConfig({
|
|
3460
|
-
displayName: "Button__ButtonStyled",
|
|
3461
|
-
componentId: "hr2oup-0"
|
|
3462
|
-
})(["", ";"], ({
|
|
3463
|
-
theme,
|
|
3464
|
-
useDefaultTheme
|
|
3465
|
-
}) => {
|
|
3466
|
-
return css(["", ""], useDefaultTheme && css(["display:inline-block;cursor:pointer;margin:16px 0 0 0;padding:8px 16px;border-radius:3px;border:1px solid ", ";font-family:inherit;transition:opacity 200ms ease;&:hover{opacity:0.7;}"], theme.colors.border));
|
|
3467
|
-
});
|
|
3468
|
-
|
|
3469
|
-
const Button$1 = ({
|
|
3470
|
-
className,
|
|
3471
|
-
type,
|
|
3472
|
-
text,
|
|
3473
|
-
action,
|
|
3474
|
-
useDefaultTheme
|
|
3475
|
-
}) => {
|
|
3476
|
-
return /*#__PURE__*/React.createElement(ButtonStyled$1, {
|
|
3477
|
-
className: `${className ? className : ''} btnSubmit`,
|
|
3478
|
-
type: type,
|
|
3479
|
-
onClick: () => action(),
|
|
3480
|
-
useDefaultTheme: useDefaultTheme
|
|
3481
|
-
}, text);
|
|
3482
|
-
};
|
|
3483
|
-
Button$1.propTypes = {
|
|
3484
|
-
className: PropTypes.string,
|
|
3485
|
-
type: PropTypes.string,
|
|
3486
|
-
text: PropTypes.string,
|
|
3487
|
-
action: PropTypes.func,
|
|
3488
|
-
useDefaultTheme: PropTypes.bool
|
|
3489
|
-
};
|
|
3490
|
-
|
|
3491
|
-
const ThemeContext$1 = createContext();
|
|
3492
|
-
|
|
3493
|
-
const ThemeProvider$1 = ({
|
|
3494
|
-
children,
|
|
3495
|
-
theme
|
|
3496
|
-
}) => {
|
|
3497
|
-
return /*#__PURE__*/React.createElement(ThemeContext$1.Provider, null, /*#__PURE__*/React.createElement(ThemeProvider$2, {
|
|
3498
|
-
theme: theme
|
|
3499
|
-
}, children));
|
|
3500
|
-
};
|
|
3501
|
-
|
|
3502
|
-
ThemeProvider$1.propTypes = {
|
|
3503
|
-
children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),
|
|
3504
|
-
theme: PropTypes.object
|
|
3505
|
-
};
|
|
3506
|
-
|
|
3507
|
-
const mediaQueriesNoUnit$1 = {
|
|
3508
|
-
s: 470,
|
|
3509
|
-
ms: 640,
|
|
3510
|
-
m: 768,
|
|
3511
|
-
ml: 880,
|
|
3512
|
-
l: 1024,
|
|
3513
|
-
xl: 1200,
|
|
3514
|
-
xxl: 1366,
|
|
3515
|
-
wide: 1600
|
|
3516
|
-
};
|
|
3517
|
-
const mediaQueries$1 = {
|
|
3518
|
-
small: mediaQueriesNoUnit$1.s + 'px',
|
|
3519
|
-
msmall: mediaQueriesNoUnit$1.ms + 'px',
|
|
3520
|
-
medium: mediaQueriesNoUnit$1.m + 'px',
|
|
3521
|
-
mlarge: mediaQueriesNoUnit$1.ml + 'px',
|
|
3522
|
-
large: mediaQueriesNoUnit$1.l + 'px',
|
|
3523
|
-
xlarge: mediaQueriesNoUnit$1.xl + 'px',
|
|
3524
|
-
xxlarge: mediaQueriesNoUnit$1.xxl + 'px',
|
|
3525
|
-
wide: mediaQueriesNoUnit$1.wide + 'px'
|
|
3526
|
-
};
|
|
3527
|
-
const layout$1 = {
|
|
3528
|
-
mediaQueries: mediaQueries$1
|
|
3529
|
-
};
|
|
3530
|
-
|
|
3531
|
-
const fontFamily$1 = {
|
|
3532
|
-
Poppins: `'Poppins', Arial, sans-serif`
|
|
3533
|
-
}; //use html tag name as object key
|
|
3534
|
-
//use default object key for base styles
|
|
3535
|
-
//use media query key that corresponds with keys set on mediaQueries object from ./layout to map to relevant screen sizes
|
|
3536
|
-
//uses a mobile first approach to rules
|
|
3537
|
-
|
|
3538
|
-
const typography$1 = {
|
|
3539
|
-
default: {
|
|
3540
|
-
color: colors$1.label,
|
|
3541
|
-
font_family: fontFamily$1.Poppins,
|
|
3542
|
-
font_style: 'normal',
|
|
3543
|
-
font_weight: 400,
|
|
3544
|
-
font_size: '18px',
|
|
3545
|
-
line_height: 1.75
|
|
3546
|
-
}
|
|
3547
|
-
};
|
|
3548
|
-
const defaultStyles$1 = typography$1.default;
|
|
3549
|
-
const typographyStyles$1 = {
|
|
3550
|
-
defaultStyles: defaultStyles$1
|
|
3551
|
-
}; // function generateTypeStyles(obj) {
|
|
3552
|
-
// return Object.keys(obj)
|
|
3553
|
-
// .map(mq => {
|
|
3554
|
-
// const props = generateProps(obj[mq]);
|
|
3555
|
-
// if (mq === 'default') {
|
|
3556
|
-
// return `${props.join(' ')}`;
|
|
3557
|
-
// } else {
|
|
3558
|
-
// return `@media only screen and (min-width:${
|
|
3559
|
-
// mediaQueries[mq]
|
|
3560
|
-
// }){${props.join('')}}`;
|
|
3561
|
-
// }
|
|
3562
|
-
// })
|
|
3563
|
-
// .join('');
|
|
3564
|
-
// }
|
|
3565
|
-
// function generateProps(objMQ) {
|
|
3566
|
-
// let props = [];
|
|
3567
|
-
// Object.keys(objMQ).map(prop => {
|
|
3568
|
-
// props.push(`${prop.split('_').join('-')}: ${objMQ[prop]};`);
|
|
3569
|
-
// });
|
|
3570
|
-
// return props;
|
|
3571
|
-
// }
|
|
3572
|
-
|
|
3573
|
-
const defaultTheme$1 = {
|
|
3574
|
-
layout: layout$1,
|
|
3575
|
-
typographyStyles: typographyStyles$1,
|
|
3576
|
-
typography: typography$1,
|
|
3577
|
-
colors: colors$1
|
|
3578
|
-
};
|
|
3579
|
-
|
|
3580
|
-
const divStyles$1 = {
|
|
3581
|
-
display: 'flex',
|
|
3582
|
-
height: '100vh',
|
|
3583
|
-
alignItems: 'center',
|
|
3584
|
-
justifyContent: 'center',
|
|
3585
|
-
flexDirection: 'Column'
|
|
3586
|
-
};
|
|
3587
|
-
const svgStyles$1 = {
|
|
3588
|
-
width: '80px',
|
|
3589
|
-
height: '80px'
|
|
3590
|
-
};
|
|
3591
|
-
const headingStyles$1 = {
|
|
3592
|
-
margin: '0',
|
|
3593
|
-
fontSize: '16px'
|
|
3594
|
-
};
|
|
3595
|
-
const Loading$1 = () => {
|
|
3596
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
3597
|
-
style: divStyles$1
|
|
3598
|
-
}, /*#__PURE__*/React.createElement("h3", {
|
|
3599
|
-
style: headingStyles$1
|
|
3600
|
-
}, "Loading..."), /*#__PURE__*/React.createElement("svg", {
|
|
3601
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
3602
|
-
className: "lds-spinner",
|
|
3603
|
-
preserveAspectRatio: "xMidYMid",
|
|
3604
|
-
viewBox: "0 0 100 100",
|
|
3605
|
-
style: svgStyles$1
|
|
3606
|
-
}, /*#__PURE__*/React.createElement("rect", {
|
|
3607
|
-
width: "6",
|
|
3608
|
-
height: "12",
|
|
3609
|
-
x: "47",
|
|
3610
|
-
y: "24",
|
|
3611
|
-
fill: "#DE1C8F",
|
|
3612
|
-
rx: "9",
|
|
3613
|
-
ry: "5"
|
|
3614
|
-
}, /*#__PURE__*/React.createElement("animate", {
|
|
3615
|
-
attributeName: "opacity",
|
|
3616
|
-
begin: "-0.9166666666666666s",
|
|
3617
|
-
dur: "1s",
|
|
3618
|
-
keyTimes: "0;1",
|
|
3619
|
-
repeatCount: "indefinite",
|
|
3620
|
-
values: "1;0"
|
|
3621
|
-
})), /*#__PURE__*/React.createElement("rect", {
|
|
3622
|
-
width: "6",
|
|
3623
|
-
height: "12",
|
|
3624
|
-
x: "47",
|
|
3625
|
-
y: "24",
|
|
3626
|
-
fill: "#DE1C8F",
|
|
3627
|
-
rx: "9",
|
|
3628
|
-
ry: "5",
|
|
3629
|
-
transform: "rotate(30 50 50)"
|
|
3630
|
-
}, /*#__PURE__*/React.createElement("animate", {
|
|
3631
|
-
attributeName: "opacity",
|
|
3632
|
-
begin: "-0.8333333333333334s",
|
|
3633
|
-
dur: "1s",
|
|
3634
|
-
keyTimes: "0;1",
|
|
3635
|
-
repeatCount: "indefinite",
|
|
3636
|
-
values: "1;0"
|
|
3637
|
-
})), /*#__PURE__*/React.createElement("rect", {
|
|
3638
|
-
width: "6",
|
|
3639
|
-
height: "12",
|
|
3640
|
-
x: "47",
|
|
3641
|
-
y: "24",
|
|
3642
|
-
fill: "#DE1C8F",
|
|
3643
|
-
rx: "9",
|
|
3644
|
-
ry: "5",
|
|
3645
|
-
transform: "rotate(60 50 50)"
|
|
3646
|
-
}, /*#__PURE__*/React.createElement("animate", {
|
|
3647
|
-
attributeName: "opacity",
|
|
3648
|
-
begin: "-0.75s",
|
|
3649
|
-
dur: "1s",
|
|
3650
|
-
keyTimes: "0;1",
|
|
3651
|
-
repeatCount: "indefinite",
|
|
3652
|
-
values: "1;0"
|
|
3653
|
-
})), /*#__PURE__*/React.createElement("rect", {
|
|
3654
|
-
width: "6",
|
|
3655
|
-
height: "12",
|
|
3656
|
-
x: "47",
|
|
3657
|
-
y: "24",
|
|
3658
|
-
fill: "#DE1C8F",
|
|
3659
|
-
rx: "9",
|
|
3660
|
-
ry: "5",
|
|
3661
|
-
transform: "rotate(90 50 50)"
|
|
3662
|
-
}, /*#__PURE__*/React.createElement("animate", {
|
|
3663
|
-
attributeName: "opacity",
|
|
3664
|
-
begin: "-0.6666666666666666s",
|
|
3665
|
-
dur: "1s",
|
|
3666
|
-
keyTimes: "0;1",
|
|
3667
|
-
repeatCount: "indefinite",
|
|
3668
|
-
values: "1;0"
|
|
3669
|
-
})), /*#__PURE__*/React.createElement("rect", {
|
|
3670
|
-
width: "6",
|
|
3671
|
-
height: "12",
|
|
3672
|
-
x: "47",
|
|
3673
|
-
y: "24",
|
|
3674
|
-
fill: "#DE1C8F",
|
|
3675
|
-
rx: "9",
|
|
3676
|
-
ry: "5",
|
|
3677
|
-
transform: "rotate(120 50 50)"
|
|
3678
|
-
}, /*#__PURE__*/React.createElement("animate", {
|
|
3679
|
-
attributeName: "opacity",
|
|
3680
|
-
begin: "-0.5833333333333334s",
|
|
3681
|
-
dur: "1s",
|
|
3682
|
-
keyTimes: "0;1",
|
|
3683
|
-
repeatCount: "indefinite",
|
|
3684
|
-
values: "1;0"
|
|
3685
|
-
})), /*#__PURE__*/React.createElement("rect", {
|
|
3686
|
-
width: "6",
|
|
3687
|
-
height: "12",
|
|
3688
|
-
x: "47",
|
|
3689
|
-
y: "24",
|
|
3690
|
-
fill: "#DE1C8F",
|
|
3691
|
-
rx: "9",
|
|
3692
|
-
ry: "5",
|
|
3693
|
-
transform: "rotate(150 50 50)"
|
|
3694
|
-
}, /*#__PURE__*/React.createElement("animate", {
|
|
3695
|
-
attributeName: "opacity",
|
|
3696
|
-
begin: "-0.5s",
|
|
3697
|
-
dur: "1s",
|
|
3698
|
-
keyTimes: "0;1",
|
|
3699
|
-
repeatCount: "indefinite",
|
|
3700
|
-
values: "1;0"
|
|
3701
|
-
})), /*#__PURE__*/React.createElement("rect", {
|
|
3702
|
-
width: "6",
|
|
3703
|
-
height: "12",
|
|
3704
|
-
x: "47",
|
|
3705
|
-
y: "24",
|
|
3706
|
-
fill: "#DE1C8F",
|
|
3707
|
-
rx: "9",
|
|
3708
|
-
ry: "5",
|
|
3709
|
-
transform: "rotate(180 50 50)"
|
|
3710
|
-
}, /*#__PURE__*/React.createElement("animate", {
|
|
3711
|
-
attributeName: "opacity",
|
|
3712
|
-
begin: "-0.4166666666666667s",
|
|
3713
|
-
dur: "1s",
|
|
3714
|
-
keyTimes: "0;1",
|
|
3715
|
-
repeatCount: "indefinite",
|
|
3716
|
-
values: "1;0"
|
|
3717
|
-
})), /*#__PURE__*/React.createElement("rect", {
|
|
3718
|
-
width: "6",
|
|
3719
|
-
height: "12",
|
|
3720
|
-
x: "47",
|
|
3721
|
-
y: "24",
|
|
3722
|
-
fill: "#DE1C8F",
|
|
3723
|
-
rx: "9",
|
|
3724
|
-
ry: "5",
|
|
3725
|
-
transform: "rotate(210 50 50)"
|
|
3726
|
-
}, /*#__PURE__*/React.createElement("animate", {
|
|
3727
|
-
attributeName: "opacity",
|
|
3728
|
-
begin: "-0.3333333333333333s",
|
|
3729
|
-
dur: "1s",
|
|
3730
|
-
keyTimes: "0;1",
|
|
3731
|
-
repeatCount: "indefinite",
|
|
3732
|
-
values: "1;0"
|
|
3733
|
-
})), /*#__PURE__*/React.createElement("rect", {
|
|
3734
|
-
width: "6",
|
|
3735
|
-
height: "12",
|
|
3736
|
-
x: "47",
|
|
3737
|
-
y: "24",
|
|
3738
|
-
fill: "#DE1C8F",
|
|
3739
|
-
rx: "9",
|
|
3740
|
-
ry: "5",
|
|
3741
|
-
transform: "rotate(240 50 50)"
|
|
3742
|
-
}, /*#__PURE__*/React.createElement("animate", {
|
|
3743
|
-
attributeName: "opacity",
|
|
3744
|
-
begin: "-0.25s",
|
|
3745
|
-
dur: "1s",
|
|
3746
|
-
keyTimes: "0;1",
|
|
3747
|
-
repeatCount: "indefinite",
|
|
3748
|
-
values: "1;0"
|
|
3749
|
-
})), /*#__PURE__*/React.createElement("rect", {
|
|
3750
|
-
width: "6",
|
|
3751
|
-
height: "12",
|
|
3752
|
-
x: "47",
|
|
3753
|
-
y: "24",
|
|
3754
|
-
fill: "#DE1C8F",
|
|
3755
|
-
rx: "9",
|
|
3756
|
-
ry: "5",
|
|
3757
|
-
transform: "rotate(270 50 50)"
|
|
3758
|
-
}, /*#__PURE__*/React.createElement("animate", {
|
|
3759
|
-
attributeName: "opacity",
|
|
3760
|
-
begin: "-0.16666666666666666s",
|
|
3761
|
-
dur: "1s",
|
|
3762
|
-
keyTimes: "0;1",
|
|
3763
|
-
repeatCount: "indefinite",
|
|
3764
|
-
values: "1;0"
|
|
3765
|
-
})), /*#__PURE__*/React.createElement("rect", {
|
|
3766
|
-
width: "6",
|
|
3767
|
-
height: "12",
|
|
3768
|
-
x: "47",
|
|
3769
|
-
y: "24",
|
|
3770
|
-
fill: "#DE1C8F",
|
|
3771
|
-
rx: "9",
|
|
3772
|
-
ry: "5",
|
|
3773
|
-
transform: "rotate(300 50 50)"
|
|
3774
|
-
}, /*#__PURE__*/React.createElement("animate", {
|
|
3775
|
-
attributeName: "opacity",
|
|
3776
|
-
begin: "-0.08333333333333333s",
|
|
3777
|
-
dur: "1s",
|
|
3778
|
-
keyTimes: "0;1",
|
|
3779
|
-
repeatCount: "indefinite",
|
|
3780
|
-
values: "1;0"
|
|
3781
|
-
})), /*#__PURE__*/React.createElement("rect", {
|
|
3782
|
-
width: "6",
|
|
3783
|
-
height: "12",
|
|
3784
|
-
x: "47",
|
|
3785
|
-
y: "24",
|
|
3786
|
-
fill: "#DE1C8F",
|
|
3787
|
-
rx: "9",
|
|
3788
|
-
ry: "5",
|
|
3789
|
-
transform: "rotate(330 50 50)"
|
|
3790
|
-
}, /*#__PURE__*/React.createElement("animate", {
|
|
3791
|
-
attributeName: "opacity",
|
|
3792
|
-
begin: "0s",
|
|
3793
|
-
dur: "1s",
|
|
3794
|
-
keyTimes: "0;1",
|
|
3795
|
-
repeatCount: "indefinite",
|
|
3796
|
-
values: "1;0"
|
|
3797
|
-
}))));
|
|
3798
|
-
};
|
|
3799
|
-
Loading$1.propTypes = {};
|
|
3800
|
-
|
|
3801
|
-
const Form$1$1 = ({
|
|
3802
|
-
className,
|
|
3803
|
-
formId,
|
|
3804
|
-
fields,
|
|
3805
|
-
formData,
|
|
3806
|
-
setFormId,
|
|
3807
|
-
setValue,
|
|
3808
|
-
validateField,
|
|
3809
|
-
defaultLanguage,
|
|
3810
|
-
errors,
|
|
3811
|
-
pagingInfo,
|
|
3812
|
-
togglePageForward,
|
|
3813
|
-
togglePageBack,
|
|
3814
|
-
submitForm,
|
|
3815
|
-
status,
|
|
3816
|
-
setDateRangeValues,
|
|
3817
|
-
useDefaultTheme,
|
|
3818
|
-
entries,
|
|
3819
|
-
customSubmit,
|
|
3820
|
-
setCheckboxValue
|
|
3821
|
-
}) => {
|
|
3822
|
-
useEffect(() => {
|
|
3823
|
-
setFormId(formId);
|
|
3824
|
-
}, [formId, setFormId]); // NF change rule of hooks
|
|
3825
|
-
|
|
3826
|
-
if (!formId) return null;
|
|
3827
|
-
let formRender;
|
|
3828
|
-
|
|
3829
|
-
if (pagingInfo && pagingInfo.pageCount > 1) {
|
|
3830
|
-
const isLastPage = pagingInfo.pageCount == pagingInfo.pageIndex + 1;
|
|
3831
|
-
formRender = /*#__PURE__*/React.createElement(FormStyled$1, {
|
|
3832
|
-
className: className,
|
|
3833
|
-
id: formId,
|
|
3834
|
-
useDefaultTheme: useDefaultTheme
|
|
3835
|
-
}, status && status.isLoading || status && status.isSubmitting && /*#__PURE__*/React.createElement(Loading$1, {
|
|
3836
|
-
className: "loading"
|
|
3837
|
-
}), !status || status && !status.isLoading && !status.isSubmitting && !status.hasSuccess && /*#__PURE__*/React.createElement(React.Fragment, null, pagingInfo.pageIndex > 0 && /*#__PURE__*/React.createElement(Button$1, {
|
|
3838
|
-
type: "button",
|
|
3839
|
-
text: "Go Back",
|
|
3840
|
-
action: () => togglePageBack(formId, pagingInfo.pageIndex - 1),
|
|
3841
|
-
useDefaultTheme: useDefaultTheme
|
|
3842
|
-
}), /*#__PURE__*/React.createElement(FormComposer$1, {
|
|
3843
|
-
fields: fields,
|
|
3844
|
-
formData: formData,
|
|
3845
|
-
formId: formId,
|
|
3846
|
-
setValue: setValue,
|
|
3847
|
-
validateField: validateField,
|
|
3848
|
-
defaultLanguage: defaultLanguage,
|
|
3849
|
-
errors: errors,
|
|
3850
|
-
pagingInfo: pagingInfo,
|
|
3851
|
-
useDefaultTheme: useDefaultTheme,
|
|
3852
|
-
entries: entries,
|
|
3853
|
-
setDateRangeValues: setDateRangeValues,
|
|
3854
|
-
setCheckboxValue: setCheckboxValue
|
|
3855
|
-
}), !isLastPage && /*#__PURE__*/React.createElement(Button$1, {
|
|
3856
|
-
type: "button",
|
|
3857
|
-
text: "Next",
|
|
3858
|
-
action: () => togglePageForward(formId, pagingInfo.pageIndex + 1),
|
|
3859
|
-
useDefaultTheme: useDefaultTheme
|
|
3860
|
-
}), isLastPage && /*#__PURE__*/React.createElement(Button$1, {
|
|
3861
|
-
text: "Submit",
|
|
3862
|
-
type: "button",
|
|
3863
|
-
action: () => {
|
|
3864
|
-
submitForm(formId);
|
|
3865
|
-
if (customSubmit) customSubmit();
|
|
3866
|
-
},
|
|
3867
|
-
useDefaultTheme: useDefaultTheme
|
|
3868
|
-
})), status && status.hasSuccess && status.successMessage && /*#__PURE__*/React.createElement("p", {
|
|
3869
|
-
className: "success-message"
|
|
3870
|
-
}, status.successMessage));
|
|
3871
|
-
} else {
|
|
3872
|
-
formRender = /*#__PURE__*/React.createElement(FormStyled$1, {
|
|
3873
|
-
className: className,
|
|
3874
|
-
id: formId,
|
|
3875
|
-
useDefaultTheme: useDefaultTheme
|
|
3876
|
-
}, status && status.isLoading || status && status.isSubmitting && /*#__PURE__*/React.createElement(Loading$1, {
|
|
3877
|
-
className: "loading"
|
|
3878
|
-
}), !status || status && !status.isLoading && !status.isSubmitting && !status.hasSuccess && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FormComposer$1, {
|
|
3879
|
-
fields: fields,
|
|
3880
|
-
formId: formId,
|
|
3881
|
-
setValue: setValue,
|
|
3882
|
-
setDateRangeValues: setDateRangeValues,
|
|
3883
|
-
validateField: validateField,
|
|
3884
|
-
defaultLanguage: defaultLanguage,
|
|
3885
|
-
errors: errors,
|
|
3886
|
-
useDefaultTheme: useDefaultTheme,
|
|
3887
|
-
entries: entries,
|
|
3888
|
-
setCheckboxValue: setCheckboxValue
|
|
3889
|
-
}), /*#__PURE__*/React.createElement(Button$1, {
|
|
3890
|
-
text: "Submit",
|
|
3891
|
-
type: "button",
|
|
3892
|
-
action: () => {
|
|
3893
|
-
submitForm(formId);
|
|
3894
|
-
if (customSubmit) customSubmit();
|
|
3895
|
-
},
|
|
3896
|
-
useDefaultTheme: useDefaultTheme
|
|
3897
|
-
})), status && status.hasSuccess && status.successMessage && /*#__PURE__*/React.createElement("p", {
|
|
3898
|
-
className: "success-message"
|
|
3899
|
-
}, status.successMessage));
|
|
3900
|
-
}
|
|
3901
|
-
|
|
3902
|
-
return /*#__PURE__*/React.createElement(ThemeProvider$1, {
|
|
3903
|
-
theme: defaultTheme$1
|
|
3904
|
-
}, formRender);
|
|
3905
|
-
};
|
|
3906
|
-
|
|
3907
|
-
Form$1$1.propTypes = {
|
|
3908
|
-
className: PropTypes.string,
|
|
3909
|
-
formId: PropTypes.string,
|
|
3910
|
-
fields: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),
|
|
3911
|
-
formData: PropTypes.object,
|
|
3912
|
-
entries: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),
|
|
3913
|
-
useDefaultTheme: PropTypes.bool,
|
|
3914
|
-
setFormId: PropTypes.func,
|
|
3915
|
-
setValue: PropTypes.func,
|
|
3916
|
-
setDateRangeValues: PropTypes.func,
|
|
3917
|
-
validateField: PropTypes.func,
|
|
3918
|
-
defaultLanguage: PropTypes.string,
|
|
3919
|
-
errors: PropTypes.array,
|
|
3920
|
-
pagingInfo: PropTypes.object,
|
|
3921
|
-
togglePageForward: PropTypes.func,
|
|
3922
|
-
togglePageBack: PropTypes.func,
|
|
3923
|
-
submitForm: PropTypes.func,
|
|
3924
|
-
customSubmit: PropTypes.func,
|
|
3925
|
-
status: PropTypes.object,
|
|
3926
|
-
setCheckboxValue: PropTypes.func
|
|
3927
|
-
};
|
|
3928
|
-
|
|
3929
|
-
const FormContainer$1 = ({
|
|
3930
|
-
className,
|
|
3931
|
-
formId,
|
|
3932
|
-
fields,
|
|
3933
|
-
formData,
|
|
3934
|
-
setFormId,
|
|
3935
|
-
setValue,
|
|
3936
|
-
setDateRangeValues,
|
|
3937
|
-
validateField,
|
|
3938
|
-
defaultLanguage,
|
|
3939
|
-
errors,
|
|
3940
|
-
pagingInfo,
|
|
3941
|
-
togglePageForward,
|
|
3942
|
-
togglePageBack,
|
|
3943
|
-
submitForm,
|
|
3944
|
-
status,
|
|
3945
|
-
useDefaultTheme = true,
|
|
3946
|
-
entries,
|
|
3947
|
-
setCheckboxValue,
|
|
3948
|
-
customSubmit
|
|
3949
|
-
}) => {
|
|
3950
|
-
return /*#__PURE__*/React.createElement(Form$1$1, {
|
|
3951
|
-
className: className,
|
|
3952
|
-
formId: formId,
|
|
3953
|
-
fields: fields,
|
|
3954
|
-
setFormId: setFormId,
|
|
3955
|
-
setValue: setValue,
|
|
3956
|
-
setDateRangeValues: setDateRangeValues,
|
|
3957
|
-
validateField: validateField,
|
|
3958
|
-
defaultLanguage: defaultLanguage,
|
|
3959
|
-
errors: errors,
|
|
3960
|
-
pagingInfo: pagingInfo,
|
|
3961
|
-
togglePageForward: togglePageForward,
|
|
3962
|
-
togglePageBack: togglePageBack,
|
|
3963
|
-
submitForm: submitForm,
|
|
3964
|
-
status: status,
|
|
3965
|
-
useDefaultTheme: useDefaultTheme,
|
|
3966
|
-
entries: entries,
|
|
3967
|
-
formData: formData,
|
|
3968
|
-
setCheckboxValue: setCheckboxValue,
|
|
3969
|
-
customSubmit: customSubmit
|
|
3970
|
-
});
|
|
51
|
+
} else if (field.dataFormat === 'entry') {
|
|
52
|
+
return 'entryPicker';
|
|
53
|
+
} else {
|
|
54
|
+
return 'textfield';
|
|
55
|
+
}
|
|
3971
56
|
};
|
|
3972
57
|
|
|
3973
|
-
|
|
3974
|
-
|
|
3975
|
-
|
|
3976
|
-
|
|
3977
|
-
formData: PropTypes.object,
|
|
3978
|
-
entries: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),
|
|
3979
|
-
setFormId: PropTypes.func,
|
|
3980
|
-
setDateRangeValues: PropTypes.func,
|
|
3981
|
-
setValue: PropTypes.func,
|
|
3982
|
-
useDefaultTheme: PropTypes.bool,
|
|
3983
|
-
validateField: PropTypes.func,
|
|
3984
|
-
defaultLanguage: PropTypes.string,
|
|
3985
|
-
errors: PropTypes.array,
|
|
3986
|
-
pagingInfo: PropTypes.object,
|
|
3987
|
-
togglePageForward: PropTypes.func,
|
|
3988
|
-
togglePageBack: PropTypes.func,
|
|
3989
|
-
submitForm: PropTypes.func,
|
|
3990
|
-
status: PropTypes.object,
|
|
3991
|
-
setCheckboxValue: PropTypes.func,
|
|
3992
|
-
customSubmit: PropTypes.func
|
|
58
|
+
const initialSettings = {
|
|
59
|
+
recaptcha: {
|
|
60
|
+
siteKey: null
|
|
61
|
+
}
|
|
3993
62
|
};
|
|
3994
|
-
|
|
3995
|
-
|
|
3996
|
-
|
|
3997
|
-
|
|
3998
|
-
|
|
3999
|
-
|
|
4000
|
-
const selectIsLoading = makeSelectIsLoading$1(formId);
|
|
4001
|
-
const selectDefaultLang = makeSelectDefaultLang$1(formId);
|
|
4002
|
-
return state => ({
|
|
4003
|
-
fields: selectFormFields(state),
|
|
4004
|
-
loading: selectIsLoading(state),
|
|
4005
|
-
defaultLanguage: selectDefaultLang(state),
|
|
4006
|
-
errors: selectFieldErrors$1(state, formId),
|
|
4007
|
-
pagingInfo: selectPagingInfo$1(state, formId),
|
|
4008
|
-
status: selectFormStatus$1(state, formId),
|
|
4009
|
-
entries: selectEntries$1(state, formId),
|
|
4010
|
-
formData: selectPostData$1(state, formId)
|
|
4011
|
-
});
|
|
63
|
+
const initialStatus = {
|
|
64
|
+
isLoading: false,
|
|
65
|
+
isSubmitting: false,
|
|
66
|
+
hasSuccess: false,
|
|
67
|
+
successMessage: null,
|
|
68
|
+
hasError: false
|
|
4012
69
|
};
|
|
4013
|
-
|
|
4014
|
-
|
|
4015
|
-
|
|
4016
|
-
|
|
4017
|
-
|
|
4018
|
-
|
|
4019
|
-
|
|
4020
|
-
|
|
4021
|
-
|
|
4022
|
-
|
|
4023
|
-
|
|
4024
|
-
|
|
70
|
+
const initialPagingInfo = {
|
|
71
|
+
pageIndex: 0,
|
|
72
|
+
pageCount: 0,
|
|
73
|
+
currentPageId: null
|
|
74
|
+
};
|
|
75
|
+
const initialFormData = {
|
|
76
|
+
formId: null,
|
|
77
|
+
data: {},
|
|
78
|
+
fields: [],
|
|
79
|
+
entries: [],
|
|
80
|
+
fieldErrors: [],
|
|
81
|
+
groups: [],
|
|
82
|
+
defaultLanguage: null,
|
|
83
|
+
pagingInfo: initialPagingInfo,
|
|
84
|
+
status: initialStatus
|
|
85
|
+
};
|
|
86
|
+
let initialState = {
|
|
87
|
+
settings: initialSettings
|
|
4025
88
|
};
|
|
89
|
+
var reducer = produce((state, action) => {
|
|
90
|
+
switch (action.type) {
|
|
91
|
+
case SET_FORM_ID:
|
|
92
|
+
{
|
|
93
|
+
const {
|
|
94
|
+
formId
|
|
95
|
+
} = action || {};
|
|
96
|
+
state[formId] = initialFormData;
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
4026
99
|
|
|
4027
|
-
|
|
100
|
+
case SET_FORM_DATA:
|
|
101
|
+
{
|
|
102
|
+
const {
|
|
103
|
+
fields,
|
|
104
|
+
formId,
|
|
105
|
+
groups,
|
|
106
|
+
defaultLanguage
|
|
107
|
+
} = action || {};
|
|
108
|
+
fields.map(field => {
|
|
109
|
+
field.type = MakeFieldType(field);
|
|
110
|
+
});
|
|
111
|
+
state[formId].fields = fields;
|
|
112
|
+
state[formId].formId = formId;
|
|
113
|
+
state[formId].groups = groups;
|
|
114
|
+
state[formId].defaultLanguage = defaultLanguage;
|
|
115
|
+
state[formId].status.isSubmitting = false;
|
|
116
|
+
state[formId].status.hasSuccess = false;
|
|
117
|
+
state[formId].status.hasError = false;
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
4028
120
|
|
|
4029
|
-
|
|
4030
|
-
|
|
4031
|
-
|
|
4032
|
-
|
|
4033
|
-
|
|
4034
|
-
|
|
4035
|
-
|
|
4036
|
-
|
|
4037
|
-
|
|
121
|
+
case SET_CURRENT_PAGE:
|
|
122
|
+
{
|
|
123
|
+
const {
|
|
124
|
+
formId,
|
|
125
|
+
pageId,
|
|
126
|
+
pageIndex,
|
|
127
|
+
pageCount
|
|
128
|
+
} = action || {};
|
|
129
|
+
state[formId].pagingInfo.currentPageId = pageId;
|
|
130
|
+
state[formId].pagingInfo.pageIndex = pageIndex;
|
|
131
|
+
state[formId].pagingInfo.pageCount = pageCount;
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
4038
134
|
|
|
4039
|
-
|
|
4040
|
-
|
|
4041
|
-
const
|
|
135
|
+
case SET_FIELD_VALUE:
|
|
136
|
+
{
|
|
137
|
+
const {
|
|
138
|
+
formId,
|
|
139
|
+
id,
|
|
140
|
+
value
|
|
141
|
+
} = action || {};
|
|
142
|
+
state[formId].data[id] = value;
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
4042
145
|
|
|
4043
|
-
|
|
4044
|
-
|
|
4045
|
-
|
|
4046
|
-
|
|
4047
|
-
|
|
4048
|
-
}
|
|
146
|
+
case SET_DEFAULT_FIELD_VALUE:
|
|
147
|
+
{
|
|
148
|
+
const {
|
|
149
|
+
formId,
|
|
150
|
+
value
|
|
151
|
+
} = action || {};
|
|
152
|
+
state[formId].data = value;
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
4049
155
|
|
|
4050
|
-
|
|
4051
|
-
|
|
4052
|
-
|
|
4053
|
-
|
|
4054
|
-
|
|
4055
|
-
|
|
156
|
+
case SET_CHECKBOX_VALUE:
|
|
157
|
+
{
|
|
158
|
+
const {
|
|
159
|
+
formId,
|
|
160
|
+
id,
|
|
161
|
+
value,
|
|
162
|
+
isChecked
|
|
163
|
+
} = action || {};
|
|
164
|
+
let values = state[formId].data[id] || [];
|
|
165
|
+
if (isChecked) state[formId].data[id] = { ...values,
|
|
166
|
+
value
|
|
167
|
+
};else state[formId].data[id] = values.filter(v => v !== value);
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
4056
170
|
|
|
4057
|
-
|
|
171
|
+
case SET_DATE_RANGE_VALUES:
|
|
172
|
+
{
|
|
173
|
+
const {
|
|
174
|
+
formId,
|
|
175
|
+
id,
|
|
176
|
+
value,
|
|
177
|
+
dateType
|
|
178
|
+
} = action || {};
|
|
179
|
+
state[formId].data[id][dateType] = value;
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
4058
182
|
|
|
4059
|
-
|
|
4060
|
-
|
|
4061
|
-
|
|
4062
|
-
|
|
183
|
+
case SET_FIELD_ERROR:
|
|
184
|
+
{
|
|
185
|
+
const {
|
|
186
|
+
formId,
|
|
187
|
+
value
|
|
188
|
+
} = action || {};
|
|
189
|
+
state[formId].fieldErrors = value;
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
4063
192
|
|
|
4064
|
-
|
|
4065
|
-
|
|
4066
|
-
|
|
4067
|
-
|
|
4068
|
-
|
|
4069
|
-
};
|
|
193
|
+
case SET_SUBMITTING_FORM:
|
|
194
|
+
{
|
|
195
|
+
const {
|
|
196
|
+
formId,
|
|
197
|
+
isSubmitting
|
|
198
|
+
} = action || {};
|
|
199
|
+
state[formId].status.isSubmitting = isSubmitting;
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
4070
202
|
|
|
4071
|
-
|
|
4072
|
-
|
|
4073
|
-
|
|
4074
|
-
|
|
4075
|
-
|
|
4076
|
-
|
|
4077
|
-
|
|
4078
|
-
|
|
4079
|
-
|
|
4080
|
-
|
|
4081
|
-
|
|
203
|
+
case SUBMIT_FORM_SUCCESS:
|
|
204
|
+
{
|
|
205
|
+
const {
|
|
206
|
+
formId
|
|
207
|
+
} = action || {};
|
|
208
|
+
state[formId].status.hasError = false;
|
|
209
|
+
state[formId].status.isSubmitting = false;
|
|
210
|
+
state[formId].status.hasSuccess = true;
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
case SET_SUCCESS_MESSAGE:
|
|
215
|
+
{
|
|
216
|
+
const {
|
|
217
|
+
formId,
|
|
218
|
+
message
|
|
219
|
+
} = action || {};
|
|
220
|
+
state[formId].status.successMessage = message;
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
case SUBMIT_FORM_ERROR:
|
|
225
|
+
{
|
|
226
|
+
const {
|
|
227
|
+
formId
|
|
228
|
+
} = action || {};
|
|
229
|
+
state[formId].status.hasError = true;
|
|
230
|
+
state[formId].status.isSubmitting = false;
|
|
231
|
+
return;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
case SET_FORM_ENTRIES:
|
|
235
|
+
{
|
|
236
|
+
const {
|
|
237
|
+
formId,
|
|
238
|
+
entries
|
|
239
|
+
} = action || {};
|
|
240
|
+
const entryObject = {};
|
|
241
|
+
entries.map(entry => {
|
|
242
|
+
if (!entry) return null;
|
|
243
|
+
entryObject[entry.id] = entry.entries;
|
|
244
|
+
return entryObject;
|
|
245
|
+
});
|
|
246
|
+
state[formId].entries = entryObject;
|
|
247
|
+
return;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
case SET_ERROR:
|
|
251
|
+
{
|
|
252
|
+
const {
|
|
253
|
+
formId
|
|
254
|
+
} = action || {};
|
|
255
|
+
state[formId].status.hasError = true;
|
|
256
|
+
state[formId].status.isSubmitting = false;
|
|
257
|
+
return;
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
default:
|
|
261
|
+
return state;
|
|
262
|
+
}
|
|
263
|
+
}, initialState);
|
|
4082
264
|
|
|
4083
|
-
const selectForms = state =>
|
|
4084
|
-
const selectFieldErrors = (state, formId) =>
|
|
4085
|
-
const selectPostData = (state, formId) =>
|
|
4086
|
-
const selectFormGroups = (state, formId) =>
|
|
4087
|
-
const selectPagingInfo = (state, formId) =>
|
|
4088
|
-
const selectFormStatus = (state, formId) =>
|
|
4089
|
-
const selectEntries = (state, formId) =>
|
|
265
|
+
const selectForms = state => getIn(state, ['forms']);
|
|
266
|
+
const selectFieldErrors = (state, formId) => getIn(state, ['forms', formId, 'fieldErrors']);
|
|
267
|
+
const selectPostData = (state, formId) => getIn(state, ['forms', formId, 'data']);
|
|
268
|
+
const selectFormGroups = (state, formId) => getIn(state, [('groups')]);
|
|
269
|
+
const selectPagingInfo = (state, formId) => getIn(state, ['forms', formId, 'pagingInfo']);
|
|
270
|
+
const selectFormStatus = (state, formId) => getIn(state, ['forms', formId, 'status']);
|
|
271
|
+
const selectEntries = (state, formId) => getIn(state, ['forms', formId, 'entries']);
|
|
4090
272
|
const selectPagedFields = formId => createSelector([selectForms], form => {
|
|
4091
|
-
const pagingInfo =
|
|
4092
|
-
const fields =
|
|
273
|
+
const pagingInfo = getIn(form, [formId, 'pagingInfo']);
|
|
274
|
+
const fields = getIn(form, [formId, 'fields']);
|
|
4093
275
|
|
|
4094
276
|
if (fields && fields.length > 0 && pagingInfo && pagingInfo.pageCount > 1) {
|
|
4095
277
|
return fields.filter(f => f.groupId == pagingInfo.currentPageId);
|
|
@@ -4097,9 +279,9 @@ const selectPagedFields = formId => createSelector([selectForms], form => {
|
|
|
4097
279
|
|
|
4098
280
|
return fields;
|
|
4099
281
|
});
|
|
4100
|
-
const makeSelectIsLoading = formId => createSelector(selectForms, forms =>
|
|
4101
|
-
const makeSelectFormFields = formId => createSelector(selectForms, forms =>
|
|
4102
|
-
const makeSelectDefaultLang = formId => createSelector(selectForms, forms =>
|
|
282
|
+
const makeSelectIsLoading = formId => createSelector(selectForms, forms => getIn(forms, [formId, 'status', 'isLoading']));
|
|
283
|
+
const makeSelectFormFields = formId => createSelector(selectForms, forms => getIn(forms, [formId, 'fields']));
|
|
284
|
+
const makeSelectDefaultLang = formId => createSelector(selectForms, forms => getIn(forms, [formId, 'defaultLanguage']));
|
|
4103
285
|
|
|
4104
286
|
const URI = '/forms';
|
|
4105
287
|
const getFormSchema = async formId => {
|
|
@@ -4225,23 +407,7 @@ const validateInput = (field, value) => {
|
|
|
4225
407
|
}
|
|
4226
408
|
};
|
|
4227
409
|
|
|
4228
|
-
const
|
|
4229
|
-
selectCurrentAncestors,
|
|
4230
|
-
selectCurrentPath,
|
|
4231
|
-
selectCurrentProject,
|
|
4232
|
-
selectCurrentSearch,
|
|
4233
|
-
selectIsNotFound,
|
|
4234
|
-
selectQueryStringAsObject,
|
|
4235
|
-
selectRouteEntry,
|
|
4236
|
-
selectRouteEntryContentTypeId,
|
|
4237
|
-
selectRouteEntryDepends,
|
|
4238
|
-
selectRouteEntryEntryId,
|
|
4239
|
-
selectRouteEntryID,
|
|
4240
|
-
selectRouteEntrySlug,
|
|
4241
|
-
selectRouteLoading
|
|
4242
|
-
} = routing.selectors;
|
|
4243
|
-
|
|
4244
|
-
const formV2Sagas = [takeEvery(SUBMIT_FORM_SUCCESS$1, formSuccess), takeEvery(SUBMIT_FORM_FOR_VALIDATION$1, validateForm), takeEvery(SUBMIT_FORM$1, submitForm$1), takeEvery(SET_FORM_ID$1, fetchForm), takeLatest(VALIDATE_FIELD$1, validateField$1), takeEvery(PAGE_FORWARD$1, togglePage), takeEvery(PAGE_BACK$1, togglePage), takeEvery(SET_FORM_DATA$1, getEntryPickerData), takeLatest(SET_FORM_DATA$1, setDefaultValueFields)];
|
|
410
|
+
const formV2Sagas = [takeEvery(SUBMIT_FORM_SUCCESS, formSuccess), takeEvery(SUBMIT_FORM_FOR_VALIDATION, validateForm), takeEvery(SUBMIT_FORM, submitForm$1), takeEvery(SET_FORM_ID, fetchForm), takeLatest(VALIDATE_FIELD, validateField$1), takeEvery(PAGE_FORWARD, togglePage), takeEvery(PAGE_BACK, togglePage), takeEvery(SET_FORM_DATA, getEntryPickerData), takeLatest(SET_FORM_DATA, setDefaultValueFields)];
|
|
4245
411
|
|
|
4246
412
|
function* validateForm(action) {
|
|
4247
413
|
const {
|
|
@@ -4249,7 +415,7 @@ function* validateForm(action) {
|
|
|
4249
415
|
} = action;
|
|
4250
416
|
yield validateAllfields(formId);
|
|
4251
417
|
yield put({
|
|
4252
|
-
type: SUBMIT_FORM
|
|
418
|
+
type: SUBMIT_FORM,
|
|
4253
419
|
formId
|
|
4254
420
|
});
|
|
4255
421
|
}
|
|
@@ -4281,7 +447,7 @@ function* validateGroupfields(formId, groupId) {
|
|
|
4281
447
|
if (err) newErrors.push(err);
|
|
4282
448
|
});
|
|
4283
449
|
yield put({
|
|
4284
|
-
type: SET_FIELD_ERROR
|
|
450
|
+
type: SET_FIELD_ERROR,
|
|
4285
451
|
formId: formId,
|
|
4286
452
|
value: newErrors
|
|
4287
453
|
});
|
|
@@ -4304,7 +470,7 @@ function* validateAllfields(formId) {
|
|
|
4304
470
|
if (err) newErrors.push(err);
|
|
4305
471
|
});
|
|
4306
472
|
yield put({
|
|
4307
|
-
type: SET_FIELD_ERROR
|
|
473
|
+
type: SET_FIELD_ERROR,
|
|
4308
474
|
formId: formId,
|
|
4309
475
|
value: newErrors
|
|
4310
476
|
});
|
|
@@ -4327,7 +493,7 @@ function* validateSingleField(formId, fieldId, value) {
|
|
|
4327
493
|
const err = validateInput(fieldData, value);
|
|
4328
494
|
if (err) newErrors.push(err);
|
|
4329
495
|
yield put({
|
|
4330
|
-
type: SET_FIELD_ERROR
|
|
496
|
+
type: SET_FIELD_ERROR,
|
|
4331
497
|
formId: formId,
|
|
4332
498
|
value: newErrors
|
|
4333
499
|
});
|
|
@@ -4341,12 +507,12 @@ function* togglePage(action) {
|
|
|
4341
507
|
const state = yield select();
|
|
4342
508
|
const formGroups = selectFormGroups(state);
|
|
4343
509
|
|
|
4344
|
-
if (action.type === PAGE_FORWARD
|
|
510
|
+
if (action.type === PAGE_FORWARD) {
|
|
4345
511
|
yield validateGroupfields(formId, formGroups[pageIndex].id);
|
|
4346
512
|
}
|
|
4347
513
|
|
|
4348
514
|
yield put({
|
|
4349
|
-
type: SET_CURRENT_PAGE
|
|
515
|
+
type: SET_CURRENT_PAGE,
|
|
4350
516
|
formId: formId,
|
|
4351
517
|
pageId: formGroups[pageIndex].id,
|
|
4352
518
|
pageCount: formGroups.length,
|
|
@@ -4362,7 +528,7 @@ function* fetchForm(action) {
|
|
|
4362
528
|
if (formId && schema) {
|
|
4363
529
|
if (schema.groups && schema.groups.length > 0) {
|
|
4364
530
|
yield put({
|
|
4365
|
-
type: SET_CURRENT_PAGE
|
|
531
|
+
type: SET_CURRENT_PAGE,
|
|
4366
532
|
formId: formId,
|
|
4367
533
|
pageId: groups[0].id,
|
|
4368
534
|
pageIndex: 0,
|
|
@@ -4371,7 +537,7 @@ function* fetchForm(action) {
|
|
|
4371
537
|
}
|
|
4372
538
|
|
|
4373
539
|
yield put({
|
|
4374
|
-
type: SET_FORM_DATA
|
|
540
|
+
type: SET_FORM_DATA,
|
|
4375
541
|
formId: formId,
|
|
4376
542
|
fields: schema.fields,
|
|
4377
543
|
groups: groups,
|
|
@@ -4393,7 +559,7 @@ function* formSuccess(action) {
|
|
|
4393
559
|
|
|
4394
560
|
if (message && message.default) {
|
|
4395
561
|
yield put({
|
|
4396
|
-
type: SET_SUCCESS_MESSAGE
|
|
562
|
+
type: SET_SUCCESS_MESSAGE,
|
|
4397
563
|
message: message.default['en-GB'],
|
|
4398
564
|
formId: action.formId
|
|
4399
565
|
});
|
|
@@ -4407,7 +573,7 @@ function* submitForm$1(action) {
|
|
|
4407
573
|
|
|
4408
574
|
if (canSubmit) {
|
|
4409
575
|
yield put({
|
|
4410
|
-
type: SET_SUBMITTING_FORM
|
|
576
|
+
type: SET_SUBMITTING_FORM,
|
|
4411
577
|
isSubmitting: true,
|
|
4412
578
|
formId: action.formId
|
|
4413
579
|
});
|
|
@@ -4421,12 +587,12 @@ function* submitForm$1(action) {
|
|
|
4421
587
|
|
|
4422
588
|
if (formResObj && formResObj.sys && formResObj.sys.id) {
|
|
4423
589
|
yield put({
|
|
4424
|
-
type: SUBMIT_FORM_SUCCESS
|
|
590
|
+
type: SUBMIT_FORM_SUCCESS,
|
|
4425
591
|
formId: action.formId
|
|
4426
592
|
});
|
|
4427
593
|
} else {
|
|
4428
594
|
yield put({
|
|
4429
|
-
type: SUBMIT_FORM_ERROR
|
|
595
|
+
type: SUBMIT_FORM_ERROR,
|
|
4430
596
|
formId: action.formId
|
|
4431
597
|
});
|
|
4432
598
|
}
|
|
@@ -4439,7 +605,7 @@ function* setDefaultValueFields(action) {
|
|
|
4439
605
|
fields,
|
|
4440
606
|
defaultLanguage
|
|
4441
607
|
} = action;
|
|
4442
|
-
const entryId = yield select(selectRouteEntryEntryId);
|
|
608
|
+
const entryId = yield select(selectors.selectRouteEntryEntryId);
|
|
4443
609
|
let fieldObj = {};
|
|
4444
610
|
fields.forEach(field => {
|
|
4445
611
|
if (field.dataType == 'string' && field.default) {
|
|
@@ -4459,7 +625,7 @@ function* setDefaultValueFields(action) {
|
|
|
4459
625
|
}
|
|
4460
626
|
});
|
|
4461
627
|
yield put({
|
|
4462
|
-
type: SET_DEFAULT_FIELD_VALUE
|
|
628
|
+
type: SET_DEFAULT_FIELD_VALUE,
|
|
4463
629
|
formId: formId,
|
|
4464
630
|
value: fieldObj
|
|
4465
631
|
});
|
|
@@ -4484,7 +650,7 @@ function* getEntryPickerData(action) {
|
|
|
4484
650
|
return call(getEntries, entriesObj, entry.id);
|
|
4485
651
|
}));
|
|
4486
652
|
yield put({
|
|
4487
|
-
type: SET_FORM_ENTRIES
|
|
653
|
+
type: SET_FORM_ENTRIES,
|
|
4488
654
|
formId: formId,
|
|
4489
655
|
entries: entriesList
|
|
4490
656
|
});
|
|
@@ -4932,7 +1098,7 @@ Dropdown.propTypes = {
|
|
|
4932
1098
|
|
|
4933
1099
|
const CheckboxStyled = styled.div.withConfig({
|
|
4934
1100
|
displayName: "Checkbox__CheckboxStyled",
|
|
4935
|
-
componentId: "s8ewuf-0"
|
|
1101
|
+
componentId: "sc-s8ewuf-0"
|
|
4936
1102
|
})(["", ";"], ({
|
|
4937
1103
|
useDefaultTheme
|
|
4938
1104
|
}) => {
|
|
@@ -5211,7 +1377,7 @@ SingleDate.propTypes = {
|
|
|
5211
1377
|
|
|
5212
1378
|
const DateRangeStyled = styled.div.withConfig({
|
|
5213
1379
|
displayName: "DateRange__DateRangeStyled",
|
|
5214
|
-
componentId: "hnzg32-0"
|
|
1380
|
+
componentId: "sc-hnzg32-0"
|
|
5215
1381
|
})(["", ";"], ({
|
|
5216
1382
|
useDefaultTheme
|
|
5217
1383
|
}) => {
|
|
@@ -5315,7 +1481,7 @@ DateRange.propTypes = {
|
|
|
5315
1481
|
|
|
5316
1482
|
const EntryPickerStyled = styled.div.withConfig({
|
|
5317
1483
|
displayName: "EntryPicker__EntryPickerStyled",
|
|
5318
|
-
componentId: "svnu18-0"
|
|
1484
|
+
componentId: "sc-svnu18-0"
|
|
5319
1485
|
})(["", ";"], ({
|
|
5320
1486
|
useDefaultTheme
|
|
5321
1487
|
}) => {
|
|
@@ -5572,7 +1738,7 @@ FormComposer.propTypes = {
|
|
|
5572
1738
|
|
|
5573
1739
|
const ButtonStyled = styled.button.withConfig({
|
|
5574
1740
|
displayName: "Button__ButtonStyled",
|
|
5575
|
-
componentId: "hr2oup-0"
|
|
1741
|
+
componentId: "sc-hr2oup-0"
|
|
5576
1742
|
})(["", ";"], ({
|
|
5577
1743
|
theme,
|
|
5578
1744
|
useDefaultTheme
|
|
@@ -5602,13 +1768,13 @@ Button.propTypes = {
|
|
|
5602
1768
|
useDefaultTheme: PropTypes.bool
|
|
5603
1769
|
};
|
|
5604
1770
|
|
|
5605
|
-
const ThemeContext = createContext();
|
|
1771
|
+
const ThemeContext = /*#__PURE__*/createContext();
|
|
5606
1772
|
|
|
5607
1773
|
const ThemeProvider = ({
|
|
5608
1774
|
children,
|
|
5609
1775
|
theme
|
|
5610
1776
|
}) => {
|
|
5611
|
-
return /*#__PURE__*/React.createElement(ThemeContext.Provider, null, /*#__PURE__*/React.createElement(ThemeProvider$
|
|
1777
|
+
return /*#__PURE__*/React.createElement(ThemeContext.Provider, null, /*#__PURE__*/React.createElement(ThemeProvider$1, {
|
|
5612
1778
|
theme: theme
|
|
5613
1779
|
}, children));
|
|
5614
1780
|
};
|
|
@@ -6040,46 +2206,44 @@ Form$1.propTypes = {
|
|
|
6040
2206
|
setCheckboxValue: PropTypes.func
|
|
6041
2207
|
};
|
|
6042
2208
|
|
|
6043
|
-
|
|
6044
|
-
|
|
6045
|
-
|
|
6046
|
-
|
|
6047
|
-
};
|
|
6048
|
-
}
|
|
2209
|
+
const action = (type, payload = {}) => ({
|
|
2210
|
+
type,
|
|
2211
|
+
...payload
|
|
2212
|
+
});
|
|
6049
2213
|
|
|
6050
|
-
const submitForm = formId => action(SUBMIT_FORM_FOR_VALIDATION
|
|
2214
|
+
const submitForm = formId => action(SUBMIT_FORM_FOR_VALIDATION, {
|
|
6051
2215
|
formId
|
|
6052
2216
|
});
|
|
6053
|
-
const setFormId = formId => action(SET_FORM_ID
|
|
2217
|
+
const setFormId = formId => action(SET_FORM_ID, {
|
|
6054
2218
|
formId
|
|
6055
2219
|
});
|
|
6056
|
-
const setValue = (formId, id, value) => action(SET_FIELD_VALUE
|
|
2220
|
+
const setValue = (formId, id, value) => action(SET_FIELD_VALUE, {
|
|
6057
2221
|
formId,
|
|
6058
2222
|
id,
|
|
6059
2223
|
value
|
|
6060
2224
|
});
|
|
6061
|
-
const setCheckboxValue = (formId, id, value, isChecked) => action(SET_CHECKBOX_VALUE
|
|
2225
|
+
const setCheckboxValue = (formId, id, value, isChecked) => action(SET_CHECKBOX_VALUE, {
|
|
6062
2226
|
formId,
|
|
6063
2227
|
id,
|
|
6064
2228
|
value,
|
|
6065
2229
|
isChecked
|
|
6066
2230
|
});
|
|
6067
|
-
const setDateRangeValues = (formId, id, dateType, value) => action(SET_DATE_RANGE_VALUES
|
|
2231
|
+
const setDateRangeValues = (formId, id, dateType, value) => action(SET_DATE_RANGE_VALUES, {
|
|
6068
2232
|
formId,
|
|
6069
2233
|
id,
|
|
6070
2234
|
dateType,
|
|
6071
2235
|
value
|
|
6072
2236
|
});
|
|
6073
|
-
const validateField = (formId, id, value) => action(VALIDATE_FIELD
|
|
2237
|
+
const validateField = (formId, id, value) => action(VALIDATE_FIELD, {
|
|
6074
2238
|
formId,
|
|
6075
2239
|
id,
|
|
6076
2240
|
value
|
|
6077
2241
|
});
|
|
6078
|
-
const togglePageForward = (formId, pageIndex) => action(PAGE_FORWARD
|
|
2242
|
+
const togglePageForward = (formId, pageIndex) => action(PAGE_FORWARD, {
|
|
6079
2243
|
formId,
|
|
6080
2244
|
pageIndex
|
|
6081
2245
|
});
|
|
6082
|
-
const togglePageBack = (formId, pageIndex) => action(PAGE_BACK
|
|
2246
|
+
const togglePageBack = (formId, pageIndex) => action(PAGE_BACK, {
|
|
6083
2247
|
formId,
|
|
6084
2248
|
pageIndex
|
|
6085
2249
|
});
|
|
@@ -6184,5 +2348,5 @@ const mapDispatchToProps = dispatch => {
|
|
|
6184
2348
|
|
|
6185
2349
|
var Form = connect(mapStateToProps, mapDispatchToProps)(FormContainer);
|
|
6186
2350
|
|
|
6187
|
-
export { Form as default, reducer
|
|
2351
|
+
export { Form as default, reducer, formV2Sagas as sagas };
|
|
6188
2352
|
//# sourceMappingURL=forms.js.map
|