@micromag/data 0.3.307 → 0.3.318
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/es/index.js +125 -238
- package/lib/index.js +125 -238
- package/package.json +3 -3
package/lib/index.js
CHANGED
|
@@ -33,16 +33,13 @@ var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumab
|
|
|
33
33
|
var Base = /*#__PURE__*/function () {
|
|
34
34
|
function Base() {
|
|
35
35
|
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
36
|
-
|
|
37
36
|
_classCallCheck__default["default"](this, Base);
|
|
38
|
-
|
|
39
37
|
this.options = _objectSpread__default["default"](_objectSpread__default["default"]({
|
|
40
38
|
routes: {}
|
|
41
39
|
}, opts), {}, {
|
|
42
40
|
baseUrl: opts.baseUrl || 'https://micromag.ca/api'
|
|
43
41
|
});
|
|
44
42
|
}
|
|
45
|
-
|
|
46
43
|
_createClass__default["default"](Base, [{
|
|
47
44
|
key: "requestGet",
|
|
48
45
|
value: function requestGet(path) {
|
|
@@ -93,20 +90,15 @@ var Base = /*#__PURE__*/function () {
|
|
|
93
90
|
return "".concat(baseUrl.replace(/\/$/, ''), "/").concat(path.replace(/^\//, ''));
|
|
94
91
|
}
|
|
95
92
|
}]);
|
|
96
|
-
|
|
97
93
|
return Base;
|
|
98
94
|
}();
|
|
99
95
|
|
|
100
96
|
var ContributionsApi = /*#__PURE__*/function (_Base) {
|
|
101
97
|
_inherits__default["default"](ContributionsApi, _Base);
|
|
102
|
-
|
|
103
98
|
var _super = _createSuper__default["default"](ContributionsApi);
|
|
104
|
-
|
|
105
99
|
function ContributionsApi() {
|
|
106
100
|
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
107
|
-
|
|
108
101
|
_classCallCheck__default["default"](this, ContributionsApi);
|
|
109
|
-
|
|
110
102
|
return _super.call(this, _objectSpread__default["default"](_objectSpread__default["default"]({}, opts), {}, {
|
|
111
103
|
routes: _objectSpread__default["default"]({
|
|
112
104
|
index: '/contributions/:screen',
|
|
@@ -116,24 +108,19 @@ var ContributionsApi = /*#__PURE__*/function (_Base) {
|
|
|
116
108
|
}, opts.routes || null)
|
|
117
109
|
}));
|
|
118
110
|
}
|
|
119
|
-
|
|
120
111
|
_createClass__default["default"](ContributionsApi, [{
|
|
121
112
|
key: "get",
|
|
122
113
|
value: function get(id) {
|
|
123
114
|
var query = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
124
115
|
var page = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
|
125
116
|
var count = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 10;
|
|
126
|
-
|
|
127
117
|
var finalQuery = _objectSpread__default["default"]({}, query);
|
|
128
|
-
|
|
129
118
|
if (page !== null) {
|
|
130
119
|
finalQuery.page = page;
|
|
131
120
|
}
|
|
132
|
-
|
|
133
121
|
if (count !== null) {
|
|
134
122
|
finalQuery.count = count;
|
|
135
123
|
}
|
|
136
|
-
|
|
137
124
|
return this.requestGet(this.route('index', {
|
|
138
125
|
screen: id
|
|
139
126
|
}), finalQuery);
|
|
@@ -144,20 +131,15 @@ var ContributionsApi = /*#__PURE__*/function (_Base) {
|
|
|
144
131
|
return this.requestPost(this.route('store'), data);
|
|
145
132
|
}
|
|
146
133
|
}]);
|
|
147
|
-
|
|
148
134
|
return ContributionsApi;
|
|
149
135
|
}(Base);
|
|
150
136
|
|
|
151
137
|
var MediasApi = /*#__PURE__*/function (_Base) {
|
|
152
138
|
_inherits__default["default"](MediasApi, _Base);
|
|
153
|
-
|
|
154
139
|
var _super = _createSuper__default["default"](MediasApi);
|
|
155
|
-
|
|
156
140
|
function MediasApi() {
|
|
157
141
|
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
158
|
-
|
|
159
142
|
_classCallCheck__default["default"](this, MediasApi);
|
|
160
|
-
|
|
161
143
|
return _super.call(this, _objectSpread__default["default"](_objectSpread__default["default"]({}, opts), {}, {
|
|
162
144
|
routes: _objectSpread__default["default"]({
|
|
163
145
|
index: 'medias',
|
|
@@ -170,7 +152,6 @@ var MediasApi = /*#__PURE__*/function (_Base) {
|
|
|
170
152
|
}, opts.routes || null)
|
|
171
153
|
}));
|
|
172
154
|
}
|
|
173
|
-
|
|
174
155
|
_createClass__default["default"](MediasApi, [{
|
|
175
156
|
key: "find",
|
|
176
157
|
value: function find(id) {
|
|
@@ -184,17 +165,13 @@ var MediasApi = /*#__PURE__*/function (_Base) {
|
|
|
184
165
|
var query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
185
166
|
var page = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
|
186
167
|
var count = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10;
|
|
187
|
-
|
|
188
168
|
var finalQuery = _objectSpread__default["default"]({}, query);
|
|
189
|
-
|
|
190
169
|
if (page !== null) {
|
|
191
170
|
finalQuery.page = page;
|
|
192
171
|
}
|
|
193
|
-
|
|
194
172
|
if (count !== null) {
|
|
195
173
|
finalQuery.count = count;
|
|
196
174
|
}
|
|
197
|
-
|
|
198
175
|
return this.requestGet(this.route('index'), finalQuery);
|
|
199
176
|
}
|
|
200
177
|
}, {
|
|
@@ -202,13 +179,10 @@ var MediasApi = /*#__PURE__*/function (_Base) {
|
|
|
202
179
|
value: function getTags() {
|
|
203
180
|
var query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
204
181
|
var count = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10;
|
|
205
|
-
|
|
206
182
|
var finalQuery = _objectSpread__default["default"]({}, query);
|
|
207
|
-
|
|
208
183
|
if (count !== null) {
|
|
209
184
|
finalQuery.count = count;
|
|
210
185
|
}
|
|
211
|
-
|
|
212
186
|
return this.requestGet(this.route('tags'), finalQuery);
|
|
213
187
|
}
|
|
214
188
|
}, {
|
|
@@ -216,13 +190,10 @@ var MediasApi = /*#__PURE__*/function (_Base) {
|
|
|
216
190
|
value: function getAuthors() {
|
|
217
191
|
var query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
218
192
|
var count = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10;
|
|
219
|
-
|
|
220
193
|
var finalQuery = _objectSpread__default["default"]({}, query);
|
|
221
|
-
|
|
222
194
|
if (count !== null) {
|
|
223
195
|
finalQuery.count = count;
|
|
224
196
|
}
|
|
225
|
-
|
|
226
197
|
return this.requestGet(this.route('authors'), finalQuery);
|
|
227
198
|
}
|
|
228
199
|
}, {
|
|
@@ -245,20 +216,15 @@ var MediasApi = /*#__PURE__*/function (_Base) {
|
|
|
245
216
|
}));
|
|
246
217
|
}
|
|
247
218
|
}]);
|
|
248
|
-
|
|
249
219
|
return MediasApi;
|
|
250
220
|
}(Base);
|
|
251
221
|
|
|
252
222
|
var QuizApi = /*#__PURE__*/function (_Base) {
|
|
253
223
|
_inherits__default["default"](QuizApi, _Base);
|
|
254
|
-
|
|
255
224
|
var _super = _createSuper__default["default"](QuizApi);
|
|
256
|
-
|
|
257
225
|
function QuizApi() {
|
|
258
226
|
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
259
|
-
|
|
260
227
|
_classCallCheck__default["default"](this, QuizApi);
|
|
261
|
-
|
|
262
228
|
return _super.call(this, _objectSpread__default["default"](_objectSpread__default["default"]({}, opts), {}, {
|
|
263
229
|
routes: _objectSpread__default["default"]({
|
|
264
230
|
results: '/quiz/:screen',
|
|
@@ -268,7 +234,6 @@ var QuizApi = /*#__PURE__*/function (_Base) {
|
|
|
268
234
|
}, opts.routes || null)
|
|
269
235
|
}));
|
|
270
236
|
}
|
|
271
|
-
|
|
272
237
|
_createClass__default["default"](QuizApi, [{
|
|
273
238
|
key: "results",
|
|
274
239
|
value: function results(screenId) {
|
|
@@ -282,29 +247,22 @@ var QuizApi = /*#__PURE__*/function (_Base) {
|
|
|
282
247
|
return this.requestPost(this.route('store'), data);
|
|
283
248
|
}
|
|
284
249
|
}]);
|
|
285
|
-
|
|
286
250
|
return QuizApi;
|
|
287
251
|
}(Base);
|
|
288
252
|
|
|
289
253
|
var Api = /*#__PURE__*/function (_Base) {
|
|
290
254
|
_inherits__default["default"](Api, _Base);
|
|
291
|
-
|
|
292
255
|
var _super = _createSuper__default["default"](Api);
|
|
293
|
-
|
|
294
256
|
function Api() {
|
|
295
257
|
var _this;
|
|
296
|
-
|
|
297
258
|
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
298
|
-
|
|
299
259
|
_classCallCheck__default["default"](this, Api);
|
|
300
|
-
|
|
301
260
|
_this = _super.call(this, opts);
|
|
302
261
|
_this.medias = new MediasApi(opts);
|
|
303
262
|
_this.contributions = new ContributionsApi(opts);
|
|
304
263
|
_this.quiz = new QuizApi(opts);
|
|
305
264
|
return _this;
|
|
306
265
|
}
|
|
307
|
-
|
|
308
266
|
return _createClass__default["default"](Api);
|
|
309
267
|
}(Base);
|
|
310
268
|
|
|
@@ -324,13 +282,13 @@ var defaultProps$1 = {
|
|
|
324
282
|
};
|
|
325
283
|
var ApiProvider = function ApiProvider(_ref) {
|
|
326
284
|
var initialApi = _ref.api,
|
|
327
|
-
|
|
328
|
-
|
|
285
|
+
baseUrl = _ref.baseUrl,
|
|
286
|
+
children = _ref.children;
|
|
329
287
|
var previousApi = useApi();
|
|
330
288
|
var api = React.useMemo(function () {
|
|
331
289
|
return initialApi || previousApi || new Api({
|
|
332
|
-
baseUrl: baseUrl
|
|
333
|
-
|
|
290
|
+
baseUrl: baseUrl
|
|
291
|
+
// baseUrl: 'https://micromag.studio.test/api',
|
|
334
292
|
});
|
|
335
293
|
}, [previousApi, initialApi, baseUrl]);
|
|
336
294
|
return /*#__PURE__*/React__default["default"].createElement(ApiContext.Provider, {
|
|
@@ -342,32 +300,26 @@ ApiProvider.defaultProps = defaultProps$1;
|
|
|
342
300
|
|
|
343
301
|
var useContributionCreate = function useContributionCreate() {
|
|
344
302
|
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
303
|
+
screenId = _ref.screenId,
|
|
304
|
+
_ref$onSuccess = _ref.onSuccess,
|
|
305
|
+
onSuccess = _ref$onSuccess === void 0 ? null : _ref$onSuccess;
|
|
349
306
|
var api = useApi();
|
|
350
|
-
|
|
351
307
|
var _useState = React.useState(false),
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
308
|
+
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
309
|
+
creating = _useState2[0],
|
|
310
|
+
setCreating = _useState2[1];
|
|
356
311
|
var create = React.useCallback(function (data) {
|
|
357
312
|
if (api === null) {
|
|
358
313
|
return null;
|
|
359
314
|
}
|
|
360
|
-
|
|
361
315
|
setCreating(true);
|
|
362
316
|
return api.contributions.create(_objectSpread__default["default"]({
|
|
363
317
|
screen_id: screenId
|
|
364
318
|
}, data)).then(function (response) {
|
|
365
319
|
setCreating(false);
|
|
366
|
-
|
|
367
320
|
if (onSuccess !== null) {
|
|
368
321
|
onSuccess(response);
|
|
369
322
|
}
|
|
370
|
-
|
|
371
323
|
return response;
|
|
372
324
|
});
|
|
373
325
|
}, [api, setCreating, onSuccess, screenId]);
|
|
@@ -379,26 +331,22 @@ var useContributionCreate = function useContributionCreate() {
|
|
|
379
331
|
|
|
380
332
|
var useData = function useData(loadData) {
|
|
381
333
|
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
334
|
+
_ref$initialData = _ref.initialData,
|
|
335
|
+
initialData = _ref$initialData === void 0 ? null : _ref$initialData,
|
|
336
|
+
_ref$autoload = _ref.autoload,
|
|
337
|
+
autoload = _ref$autoload === void 0 ? true : _ref$autoload;
|
|
387
338
|
var _useState = React.useState(false),
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
339
|
+
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
340
|
+
loading = _useState2[0],
|
|
341
|
+
setLoading = _useState2[1];
|
|
392
342
|
var _useState3 = React.useState(false),
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
343
|
+
_useState4 = _slicedToArray__default["default"](_useState3, 2),
|
|
344
|
+
error = _useState4[0],
|
|
345
|
+
setError = _useState4[1];
|
|
397
346
|
var _useState5 = React.useState(initialData),
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
347
|
+
_useState6 = _slicedToArray__default["default"](_useState5, 2),
|
|
348
|
+
data = _useState6[0],
|
|
349
|
+
setData = _useState6[1];
|
|
402
350
|
var load = React.useCallback(function () {
|
|
403
351
|
var canceled = false;
|
|
404
352
|
setLoading(true);
|
|
@@ -407,27 +355,22 @@ var useData = function useData(loadData) {
|
|
|
407
355
|
setData(newData);
|
|
408
356
|
setLoading(false);
|
|
409
357
|
}
|
|
410
|
-
|
|
411
358
|
return newData;
|
|
412
359
|
})["catch"](function (newError) {
|
|
413
360
|
setError(newError);
|
|
414
361
|
setLoading(false);
|
|
415
362
|
});
|
|
416
|
-
|
|
417
363
|
promise.cancel = function () {
|
|
418
364
|
canceled = true;
|
|
419
365
|
setLoading(false);
|
|
420
366
|
};
|
|
421
|
-
|
|
422
367
|
return promise;
|
|
423
368
|
}, [loadData, setLoading, setData]);
|
|
424
369
|
React.useEffect(function () {
|
|
425
370
|
var loader = null;
|
|
426
|
-
|
|
427
371
|
if (autoload) {
|
|
428
372
|
loader = load();
|
|
429
373
|
}
|
|
430
|
-
|
|
431
374
|
return function () {
|
|
432
375
|
if (loader !== null) {
|
|
433
376
|
loader.cancel();
|
|
@@ -445,31 +388,26 @@ var useData = function useData(loadData) {
|
|
|
445
388
|
var _excluded$4 = ["data"];
|
|
446
389
|
var useContributions = function useContributions() {
|
|
447
390
|
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
391
|
+
screenId = _ref.screenId,
|
|
392
|
+
_ref$opts = _ref.opts,
|
|
393
|
+
opts = _ref$opts === void 0 ? {} : _ref$opts;
|
|
452
394
|
var api = useApi();
|
|
453
|
-
|
|
454
395
|
var _useState = React.useState(_toConsumableArray__default["default"](new Array(10)).map(function (el, i) {
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
396
|
+
return {
|
|
397
|
+
name: "Nom ".concat(i + 1),
|
|
398
|
+
message: "Message ".concat(i + 1)
|
|
399
|
+
};
|
|
400
|
+
})),
|
|
401
|
+
_useState2 = _slicedToArray__default["default"](_useState, 1),
|
|
402
|
+
defaultContributions = _useState2[0];
|
|
463
403
|
var loader = React.useCallback(function () {
|
|
464
404
|
return api !== null ? api.contributions.get(screenId) : null;
|
|
465
405
|
}, [api, screenId]);
|
|
466
|
-
|
|
467
406
|
var _ref2 = api !== null ? useData(loader, opts) : {
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
407
|
+
data: null
|
|
408
|
+
},
|
|
409
|
+
data = _ref2.data,
|
|
410
|
+
request = _objectWithoutProperties__default["default"](_ref2, _excluded$4);
|
|
473
411
|
return _objectSpread__default["default"]({
|
|
474
412
|
contributions: data || defaultContributions
|
|
475
413
|
}, request);
|
|
@@ -477,43 +415,43 @@ var useContributions = function useContributions() {
|
|
|
477
415
|
|
|
478
416
|
var useItems = function useItems(_ref) {
|
|
479
417
|
var _ref$getPage = _ref.getPage,
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
418
|
+
getPage = _ref$getPage === void 0 ? null : _ref$getPage,
|
|
419
|
+
_ref$getItems = _ref.getItems,
|
|
420
|
+
getItems = _ref$getItems === void 0 ? null : _ref$getItems,
|
|
421
|
+
_ref$page = _ref.page,
|
|
422
|
+
page = _ref$page === void 0 ? null : _ref$page,
|
|
423
|
+
_ref$count = _ref.count,
|
|
424
|
+
count = _ref$count === void 0 ? 10 : _ref$count,
|
|
425
|
+
_ref$items = _ref.items,
|
|
426
|
+
providedItems = _ref$items === void 0 ? null : _ref$items,
|
|
427
|
+
_ref$pages = _ref.pages,
|
|
428
|
+
initialPages = _ref$pages === void 0 ? null : _ref$pages,
|
|
429
|
+
_ref$getPageFromRespo = _ref.getPageFromResponse,
|
|
430
|
+
getPageFromResponse = _ref$getPageFromRespo === void 0 ? function (_ref2) {
|
|
431
|
+
var _ref2$meta = _ref2.meta,
|
|
494
432
|
currentPage = _ref2$meta.current_page,
|
|
495
433
|
lastPage = _ref2$meta.last_page,
|
|
496
434
|
total = _ref2$meta.total,
|
|
497
435
|
items = _ref2.data;
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
436
|
+
return {
|
|
437
|
+
page: parseInt(currentPage, 10),
|
|
438
|
+
lastPage: parseInt(lastPage, 10),
|
|
439
|
+
total: parseInt(total, 10),
|
|
440
|
+
items: items
|
|
441
|
+
};
|
|
442
|
+
} : _ref$getPageFromRespo,
|
|
443
|
+
_ref$getItemsFromResp = _ref.getItemsFromResponse,
|
|
444
|
+
getItemsFromResponse = _ref$getItemsFromResp === void 0 ? function (data) {
|
|
445
|
+
return data;
|
|
446
|
+
} : _ref$getItemsFromResp,
|
|
447
|
+
_ref$onItemsLoaded = _ref.onItemsLoaded,
|
|
448
|
+
onItemsLoaded = _ref$onItemsLoaded === void 0 ? null : _ref$onItemsLoaded,
|
|
449
|
+
_ref$onPageLoaded = _ref.onPageLoaded,
|
|
450
|
+
onPageLoaded = _ref$onPageLoaded === void 0 ? null : _ref$onPageLoaded,
|
|
451
|
+
_ref$onLoaded = _ref.onLoaded,
|
|
452
|
+
onLoaded = _ref$onLoaded === void 0 ? null : _ref$onLoaded,
|
|
453
|
+
_ref$onError = _ref.onError,
|
|
454
|
+
onError = _ref$onError === void 0 ? null : _ref$onError;
|
|
517
455
|
var isPaginated = getPage !== null || initialPages !== null;
|
|
518
456
|
var lastState = React.useRef(null);
|
|
519
457
|
var initialState = React.useMemo(function () {
|
|
@@ -532,31 +470,26 @@ var useItems = function useItems(_ref) {
|
|
|
532
470
|
items: null
|
|
533
471
|
};
|
|
534
472
|
}, [initialPages, providedItems]);
|
|
535
|
-
|
|
536
473
|
var _useState = React.useState(initialState),
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
474
|
+
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
475
|
+
state = _useState2[0],
|
|
476
|
+
setState = _useState2[1];
|
|
541
477
|
var lastPage = state.lastPage,
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
478
|
+
loaded = state.loaded,
|
|
479
|
+
loading = state.loading,
|
|
480
|
+
stateItems = state.items,
|
|
481
|
+
pages = state.pages,
|
|
482
|
+
total = state.total;
|
|
547
483
|
var items = providedItems || (isPaginated && pages !== null ? pages.reduce(function (pagesItems, _ref4) {
|
|
548
484
|
var pageItems = _ref4.items;
|
|
549
485
|
return pagesItems.concat(pageItems);
|
|
550
486
|
}, []) : stateItems) || null;
|
|
551
|
-
|
|
552
487
|
var updateState = function updateState(update) {
|
|
553
488
|
return setState(_objectSpread__default["default"](_objectSpread__default["default"]({}, state), update));
|
|
554
489
|
};
|
|
555
|
-
|
|
556
490
|
var updateFromResponse = function updateFromResponse(response) {
|
|
557
491
|
var error = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
558
492
|
var reset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
559
|
-
|
|
560
493
|
if (error !== null) {
|
|
561
494
|
updateState({
|
|
562
495
|
loaded: false,
|
|
@@ -564,7 +497,6 @@ var useItems = function useItems(_ref) {
|
|
|
564
497
|
});
|
|
565
498
|
throw error;
|
|
566
499
|
}
|
|
567
|
-
|
|
568
500
|
if (isPaginated) {
|
|
569
501
|
var newPage = getPageFromResponse(response);
|
|
570
502
|
var newPages = (reset ? [newPage] : [].concat(_toConsumableArray__default["default"]((pages || []).filter(function (it) {
|
|
@@ -573,7 +505,6 @@ var useItems = function useItems(_ref) {
|
|
|
573
505
|
if (a === b) {
|
|
574
506
|
return 0;
|
|
575
507
|
}
|
|
576
|
-
|
|
577
508
|
return a > b ? 1 : -1;
|
|
578
509
|
});
|
|
579
510
|
updateState({
|
|
@@ -585,9 +516,7 @@ var useItems = function useItems(_ref) {
|
|
|
585
516
|
});
|
|
586
517
|
return newPage;
|
|
587
518
|
}
|
|
588
|
-
|
|
589
519
|
var newItems = _toConsumableArray__default["default"](getItemsFromResponse(response));
|
|
590
|
-
|
|
591
520
|
updateState({
|
|
592
521
|
loaded: true,
|
|
593
522
|
loading: false,
|
|
@@ -596,7 +525,6 @@ var useItems = function useItems(_ref) {
|
|
|
596
525
|
});
|
|
597
526
|
return newItems;
|
|
598
527
|
};
|
|
599
|
-
|
|
600
528
|
var getNextPage = function getNextPage() {
|
|
601
529
|
var allPages = lastPage !== -1 ? Array.call.apply(Array, [null].concat(_toConsumableArray__default["default"](Array(lastPage)))).map(function (it, index) {
|
|
602
530
|
return index + 1;
|
|
@@ -609,7 +537,6 @@ var useItems = function useItems(_ref) {
|
|
|
609
537
|
var firstItem = remainingPages.length > 0 ? remainingPages.shift() : null;
|
|
610
538
|
return firstItem !== null ? firstItem : null;
|
|
611
539
|
};
|
|
612
|
-
|
|
613
540
|
var loadItems = function loadItems(requestPage) {
|
|
614
541
|
updateState({
|
|
615
542
|
loading: true
|
|
@@ -626,52 +553,41 @@ var useItems = function useItems(_ref) {
|
|
|
626
553
|
} else if (!isPaginated && onItemsLoaded !== null) {
|
|
627
554
|
onItemsLoaded(response);
|
|
628
555
|
}
|
|
629
|
-
|
|
630
556
|
if (onLoaded !== null) {
|
|
631
557
|
onLoaded(response);
|
|
632
558
|
}
|
|
633
|
-
|
|
634
559
|
return response;
|
|
635
560
|
})["catch"](function (error) {
|
|
636
561
|
if (!canceled && onError !== null) {
|
|
637
562
|
onError(error);
|
|
638
563
|
}
|
|
639
564
|
});
|
|
640
|
-
|
|
641
565
|
promise.cancel = function () {
|
|
642
566
|
canceled = true;
|
|
643
567
|
};
|
|
644
|
-
|
|
645
568
|
return promise;
|
|
646
569
|
};
|
|
647
|
-
|
|
648
570
|
var loadPage = function loadPage(pageToLoad) {
|
|
649
571
|
if (loading) {
|
|
650
572
|
return Promise.reject();
|
|
651
573
|
}
|
|
652
|
-
|
|
653
574
|
if (pages.find(function (it) {
|
|
654
575
|
return it.page === pageToLoad;
|
|
655
576
|
}) !== -1) {
|
|
656
577
|
return Promise.reject();
|
|
657
578
|
}
|
|
658
|
-
|
|
659
579
|
return loadItems(pageToLoad);
|
|
660
580
|
};
|
|
661
|
-
|
|
662
581
|
var loadNextPage = function loadNextPage() {
|
|
663
582
|
if (loading) {
|
|
664
583
|
return Promise.reject();
|
|
665
584
|
}
|
|
666
|
-
|
|
667
585
|
var nextPage = getNextPage();
|
|
668
586
|
return nextPage !== null ? loadItems(nextPage) : Promise.resolve();
|
|
669
587
|
};
|
|
670
|
-
|
|
671
588
|
React.useEffect(function () {
|
|
672
589
|
var hadState = lastState.current !== null;
|
|
673
590
|
lastState.current = initialState;
|
|
674
|
-
|
|
675
591
|
if (hadState) {
|
|
676
592
|
setState(initialState);
|
|
677
593
|
}
|
|
@@ -680,14 +596,11 @@ var useItems = function useItems(_ref) {
|
|
|
680
596
|
if (getPage === null && getItems === null || providedItems !== null) {
|
|
681
597
|
return function () {};
|
|
682
598
|
}
|
|
683
|
-
|
|
684
599
|
var loadPromise = null;
|
|
685
600
|
var pageToLoad = isPaginated && initialPages === null && page === null ? 1 : page;
|
|
686
|
-
|
|
687
601
|
if (!isPaginated || pageToLoad !== null) {
|
|
688
602
|
loadPromise = loadItems(pageToLoad);
|
|
689
603
|
}
|
|
690
|
-
|
|
691
604
|
return function () {
|
|
692
605
|
if (loadPromise !== null) {
|
|
693
606
|
loadPromise.cancel();
|
|
@@ -713,25 +626,24 @@ var useItems = function useItems(_ref) {
|
|
|
713
626
|
};
|
|
714
627
|
|
|
715
628
|
var _excluded$3 = ["data"];
|
|
716
|
-
|
|
717
629
|
var useMedia = function useMedia(id, opts) {
|
|
718
630
|
var api = useApi();
|
|
719
631
|
var loader = React.useCallback(function () {
|
|
720
632
|
return api.medias.find(id);
|
|
721
633
|
}, [api, id]);
|
|
722
|
-
|
|
723
634
|
var _useData = useData(loader, opts),
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
635
|
+
data = _useData.data,
|
|
636
|
+
request = _objectWithoutProperties__default["default"](_useData, _excluded$3);
|
|
727
637
|
return _objectSpread__default["default"]({
|
|
728
638
|
story: data
|
|
729
639
|
}, request);
|
|
730
640
|
};
|
|
731
641
|
|
|
732
642
|
// import { useCallback } from 'react';
|
|
733
|
-
// eslint-disable-next-line
|
|
734
643
|
|
|
644
|
+
// import useItems from './useItems';
|
|
645
|
+
|
|
646
|
+
// eslint-disable-next-line
|
|
735
647
|
var useMediaAuthors = function useMediaAuthors() {
|
|
736
648
|
useApi(); // eslint-disable-line
|
|
737
649
|
// console.log('api', api); // eslint-disable-line
|
|
@@ -740,19 +652,17 @@ var useMediaAuthors = function useMediaAuthors() {
|
|
|
740
652
|
// getItems,
|
|
741
653
|
// ...opts,
|
|
742
654
|
// });
|
|
743
|
-
|
|
744
655
|
return {
|
|
745
|
-
authors: []
|
|
746
|
-
|
|
656
|
+
authors: []
|
|
657
|
+
// ...request,
|
|
747
658
|
};
|
|
748
659
|
};
|
|
749
660
|
|
|
750
661
|
var useMediaCreate = function useMediaCreate() {
|
|
751
662
|
var _useState = React.useState(false),
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
663
|
+
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
664
|
+
creating = _useState2[0],
|
|
665
|
+
setCreating = _useState2[1];
|
|
756
666
|
var api = useApi();
|
|
757
667
|
var create = React.useCallback(function (data) {
|
|
758
668
|
setCreating(true);
|
|
@@ -768,7 +678,6 @@ var useMediaCreate = function useMediaCreate() {
|
|
|
768
678
|
};
|
|
769
679
|
|
|
770
680
|
var _excluded$2 = ["items", "pageItems"];
|
|
771
|
-
|
|
772
681
|
var useMedias = function useMedias() {
|
|
773
682
|
var query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
774
683
|
var page = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
@@ -779,17 +688,15 @@ var useMedias = function useMedias() {
|
|
|
779
688
|
var requestedPage = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
780
689
|
return api.medias.get(query, requestedPage, count);
|
|
781
690
|
}, [api, query, count]);
|
|
782
|
-
|
|
783
691
|
var _useItems = useItems(_objectSpread__default["default"]({
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
692
|
+
getPage: page !== null ? getItems : null,
|
|
693
|
+
getItems: page === null ? getItems : null,
|
|
694
|
+
page: page
|
|
695
|
+
}, opts)),
|
|
696
|
+
items = _useItems.items,
|
|
697
|
+
pageItems = _useItems.pageItems,
|
|
698
|
+
request = _objectWithoutProperties__default["default"](_useItems, _excluded$2);
|
|
699
|
+
// console.log('medias', items);
|
|
793
700
|
return _objectSpread__default["default"]({
|
|
794
701
|
medias: page !== null ? pageItems : items,
|
|
795
702
|
allMedias: items
|
|
@@ -806,18 +713,15 @@ var useMediasRecent = function useMediasRecent(opts) {
|
|
|
806
713
|
window.localStorage.setItem(key, encoded);
|
|
807
714
|
return true;
|
|
808
715
|
}
|
|
809
|
-
|
|
810
716
|
return false;
|
|
811
717
|
}, [key]);
|
|
812
718
|
var getSearches = React.useCallback(function () {
|
|
813
719
|
var count = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 5;
|
|
814
|
-
|
|
815
720
|
if (window !== undefined) {
|
|
816
721
|
var recent = window.localStorage.getItem(key) || null;
|
|
817
722
|
var current = recent !== null ? JSON.parse(recent || '[]') : [];
|
|
818
723
|
return current.slice(0, count);
|
|
819
724
|
}
|
|
820
|
-
|
|
821
725
|
return [];
|
|
822
726
|
}, [key]);
|
|
823
727
|
return {
|
|
@@ -827,7 +731,6 @@ var useMediasRecent = function useMediasRecent(opts) {
|
|
|
827
731
|
};
|
|
828
732
|
|
|
829
733
|
var _excluded$1 = ["items", "pageItems"];
|
|
830
|
-
|
|
831
734
|
var useMediaTags = function useMediaTags() {
|
|
832
735
|
var query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
833
736
|
var count = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5;
|
|
@@ -836,14 +739,12 @@ var useMediaTags = function useMediaTags() {
|
|
|
836
739
|
var getItems = React.useCallback(function () {
|
|
837
740
|
return api.medias.getTags(query, count);
|
|
838
741
|
}, [api, query, count]);
|
|
839
|
-
|
|
840
742
|
var _useItems = useItems(_objectSpread__default["default"]({
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
743
|
+
getItems: getItems
|
|
744
|
+
}, opts)),
|
|
745
|
+
items = _useItems.items;
|
|
746
|
+
_useItems.pageItems;
|
|
747
|
+
var request = _objectWithoutProperties__default["default"](_useItems, _excluded$1);
|
|
847
748
|
return _objectSpread__default["default"]({
|
|
848
749
|
tags: items
|
|
849
750
|
}, request);
|
|
@@ -851,10 +752,9 @@ var useMediaTags = function useMediaTags() {
|
|
|
851
752
|
|
|
852
753
|
var useMediaUpdate = function useMediaUpdate() {
|
|
853
754
|
var _useState = React.useState(false),
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
755
|
+
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
756
|
+
updating = _useState2[0],
|
|
757
|
+
setUpdating = _useState2[1];
|
|
858
758
|
var api = useApi();
|
|
859
759
|
var update = React.useCallback(function (id, data) {
|
|
860
760
|
setUpdating(true);
|
|
@@ -872,21 +772,18 @@ var useMediaUpdate = function useMediaUpdate() {
|
|
|
872
772
|
var _excluded = ["data"];
|
|
873
773
|
var useQuiz = function useQuiz() {
|
|
874
774
|
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
775
|
+
screenId = _ref.screenId,
|
|
776
|
+
_ref$opts = _ref.opts,
|
|
777
|
+
opts = _ref$opts === void 0 ? {} : _ref$opts;
|
|
879
778
|
var api = useApi();
|
|
880
779
|
var loader = React.useCallback(function () {
|
|
881
780
|
return api !== null ? api.quiz.results(screenId) : null;
|
|
882
781
|
}, [api, screenId]);
|
|
883
|
-
|
|
884
782
|
var _ref2 = api !== null ? useData(loader, opts) : {
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
783
|
+
data: null
|
|
784
|
+
},
|
|
785
|
+
data = _ref2.data,
|
|
786
|
+
request = _objectWithoutProperties__default["default"](_ref2, _excluded);
|
|
890
787
|
return _objectSpread__default["default"]({
|
|
891
788
|
quiz: data || []
|
|
892
789
|
}, request);
|
|
@@ -894,32 +791,26 @@ var useQuiz = function useQuiz() {
|
|
|
894
791
|
|
|
895
792
|
var useQuizCreate = function useQuizCreate() {
|
|
896
793
|
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
794
|
+
screenId = _ref.screenId,
|
|
795
|
+
_ref$visitorId = _ref.visitorId,
|
|
796
|
+
providedVisitorId = _ref$visitorId === void 0 ? null : _ref$visitorId,
|
|
797
|
+
_ref$storyId = _ref.storyId,
|
|
798
|
+
providedStoryId = _ref$storyId === void 0 ? null : _ref$storyId,
|
|
799
|
+
_ref$onSuccess = _ref.onSuccess,
|
|
800
|
+
onSuccess = _ref$onSuccess === void 0 ? null : _ref$onSuccess;
|
|
905
801
|
var api = useApi();
|
|
906
|
-
|
|
907
802
|
var _useState = React.useState(false),
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
803
|
+
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
804
|
+
creating = _useState2[0],
|
|
805
|
+
setCreating = _useState2[1];
|
|
912
806
|
var _ref2 = contexts.useVisitor() || {},
|
|
913
|
-
|
|
914
|
-
|
|
807
|
+
visitorId = _ref2.id;
|
|
915
808
|
var _ref3 = contexts.useStory() || {},
|
|
916
|
-
|
|
917
|
-
|
|
809
|
+
storyId = _ref3.id;
|
|
918
810
|
var create = React.useCallback(function (data) {
|
|
919
811
|
if (api === null) {
|
|
920
812
|
return null;
|
|
921
813
|
}
|
|
922
|
-
|
|
923
814
|
setCreating(true);
|
|
924
815
|
return api.quiz.create(_objectSpread__default["default"]({
|
|
925
816
|
screen_id: screenId,
|
|
@@ -927,11 +818,9 @@ var useQuizCreate = function useQuizCreate() {
|
|
|
927
818
|
story_id: providedStoryId || storyId
|
|
928
819
|
}, data)).then(function (response) {
|
|
929
820
|
setCreating(false);
|
|
930
|
-
|
|
931
821
|
if (onSuccess !== null) {
|
|
932
822
|
onSuccess(response);
|
|
933
823
|
}
|
|
934
|
-
|
|
935
824
|
return response;
|
|
936
825
|
});
|
|
937
826
|
}, [api, setCreating, onSuccess, screenId, visitorId, storyId, providedVisitorId, providedStoryId]);
|
|
@@ -952,17 +841,15 @@ var defaultProps = {
|
|
|
952
841
|
apiBaseUrl: undefined,
|
|
953
842
|
children: null
|
|
954
843
|
};
|
|
955
|
-
|
|
956
844
|
var DataProvider = function DataProvider(_ref) {
|
|
957
845
|
var api = _ref.api,
|
|
958
|
-
|
|
959
|
-
|
|
846
|
+
apiBaseUrl = _ref.apiBaseUrl,
|
|
847
|
+
children = _ref.children;
|
|
960
848
|
return /*#__PURE__*/React__default["default"].createElement(ApiProvider, {
|
|
961
849
|
api: api,
|
|
962
850
|
baseUrl: apiBaseUrl
|
|
963
851
|
}, children);
|
|
964
852
|
};
|
|
965
|
-
|
|
966
853
|
DataProvider.propTypes = propTypes;
|
|
967
854
|
DataProvider.defaultProps = defaultProps;
|
|
968
855
|
|