mario-education 2.4.514-feedback → 2.4.516-feedback
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/dist/index.js +79 -21
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +79 -21
- package/dist/index.modern.js.map +1 -1
- package/package.json +4 -3
package/dist/index.js
CHANGED
|
@@ -10,6 +10,7 @@ var formik = require('formik');
|
|
|
10
10
|
var yup = require('yup');
|
|
11
11
|
var reactRouterDom = require('react-router-dom');
|
|
12
12
|
var ai = require('react-icons/ai');
|
|
13
|
+
var Papa = _interopDefault(require('papaparse'));
|
|
13
14
|
var DatePicker = _interopDefault(require('react-datepicker'));
|
|
14
15
|
var format = _interopDefault(require('date-fns/format'));
|
|
15
16
|
var react = require('@ag-grid-community/react');
|
|
@@ -6018,9 +6019,7 @@ var importStudentByTeacher = function importStudentByTeacher(teacherId, formData
|
|
|
6018
6019
|
return marioCore.apiUpload.post(CSV_FILE_TEACHER + "/adminImportStudentByTeacherId/" + teacherId, formData);
|
|
6019
6020
|
};
|
|
6020
6021
|
var importUsersCSV = function importUsersCSV(formData) {
|
|
6021
|
-
return marioCore.apiUpload.post(CSV_FILE_TEACHER + "/adminImport", formData
|
|
6022
|
-
timeout: 400000
|
|
6023
|
-
});
|
|
6022
|
+
return marioCore.apiUpload.post(CSV_FILE_TEACHER + "/adminImport", formData);
|
|
6024
6023
|
};
|
|
6025
6024
|
var downloadTemplateFileUser = function downloadTemplateFileUser() {
|
|
6026
6025
|
return marioCore.api.get(CSV_FILE_TEACHER + "/download-template-file-user");
|
|
@@ -6084,7 +6083,7 @@ var useCSVImport = function useCSVImport() {
|
|
|
6084
6083
|
setStudentDataFile = _useState5[1];
|
|
6085
6084
|
|
|
6086
6085
|
var domainName = window.location.hostname;
|
|
6087
|
-
var isCheckDomainIBS = domainName.includes('isb') || domainName.includes('stage');
|
|
6086
|
+
var isCheckDomainIBS = domainName.includes('isb') || domainName.includes('stage') || domainName.includes("localhost");
|
|
6088
6087
|
|
|
6089
6088
|
var _useState6 = React.useState(0),
|
|
6090
6089
|
defaultTeacher = _useState6[0],
|
|
@@ -6137,7 +6136,10 @@ var useCSVImport = function useCSVImport() {
|
|
|
6137
6136
|
|
|
6138
6137
|
var upload = React.useCallback(function (file) {
|
|
6139
6138
|
try {
|
|
6140
|
-
var
|
|
6139
|
+
var _exit2 = false;
|
|
6140
|
+
|
|
6141
|
+
var _temp12 = function _temp12(_result2) {
|
|
6142
|
+
if (_exit2) return _result2;
|
|
6141
6143
|
dispatch(marioCore.setLoading(false));
|
|
6142
6144
|
var inputId = document.getElementById(id);
|
|
6143
6145
|
var input = document.getElementById('import-student');
|
|
@@ -6150,8 +6152,9 @@ var useCSVImport = function useCSVImport() {
|
|
|
6150
6152
|
if (!type || !file) return Promise.resolve();
|
|
6151
6153
|
dispatch(marioCore.setLoading(true));
|
|
6152
6154
|
|
|
6153
|
-
var
|
|
6154
|
-
function
|
|
6155
|
+
var _temp13 = _catch(function () {
|
|
6156
|
+
function _temp9(_result) {
|
|
6157
|
+
if (_exit2) return _result;
|
|
6155
6158
|
dispatch(marioCore.setAlert({
|
|
6156
6159
|
type: "success",
|
|
6157
6160
|
message: "Import CSV successfully"
|
|
@@ -6160,30 +6163,85 @@ var useCSVImport = function useCSVImport() {
|
|
|
6160
6163
|
|
|
6161
6164
|
var formData = new FormData();
|
|
6162
6165
|
formData.append("file", file, file.name);
|
|
6166
|
+
console.log("run");
|
|
6167
|
+
console.log("📌 Type run:", type.toString());
|
|
6163
6168
|
|
|
6164
|
-
var
|
|
6169
|
+
var _temp8 = function () {
|
|
6165
6170
|
if (type == CSVType.AllUser) {
|
|
6166
|
-
|
|
6171
|
+
console.log("📌 Type 1:", type.toString());
|
|
6172
|
+
return Promise.resolve(file.text()).then(function (fileTextRaw) {
|
|
6173
|
+
var fileText = fileTextRaw.trim();
|
|
6174
|
+
var headerIndex = 0;
|
|
6175
|
+
var rows = fileText.split("\n").map(function (row) {
|
|
6176
|
+
return row.trim();
|
|
6177
|
+
});
|
|
6178
|
+
|
|
6179
|
+
for (var _i = 0; _i < rows.length; _i++) {
|
|
6180
|
+
var cols = rows[_i].split(",");
|
|
6181
|
+
|
|
6182
|
+
if (cols.includes("FirstName")) {
|
|
6183
|
+
headerIndex = _i;
|
|
6184
|
+
return;
|
|
6185
|
+
}
|
|
6186
|
+
}
|
|
6187
|
+
|
|
6188
|
+
if (headerIndex === 0) {
|
|
6189
|
+
throw new Error("Invalid CSV: Missing header row.");
|
|
6190
|
+
}
|
|
6191
|
+
|
|
6192
|
+
fileText = rows.slice(headerIndex).join("\n");
|
|
6193
|
+
var parsedData = Papa.parse(fileText, {
|
|
6194
|
+
header: true,
|
|
6195
|
+
skipEmptyLines: true
|
|
6196
|
+
});
|
|
6197
|
+
var header = parsedData.meta.fields;
|
|
6198
|
+
var dataRows = parsedData.data;
|
|
6199
|
+
var chunkSize = 20;
|
|
6200
|
+
var chunks = [];
|
|
6201
|
+
|
|
6202
|
+
for (var _i2 = 0; _i2 < dataRows.length; _i2 += chunkSize) {
|
|
6203
|
+
var chunkData = dataRows.slice(_i2, _i2 + chunkSize);
|
|
6204
|
+
var csvChunk = Papa.unparse({
|
|
6205
|
+
fields: header,
|
|
6206
|
+
data: chunkData
|
|
6207
|
+
});
|
|
6208
|
+
chunks.push(csvChunk);
|
|
6209
|
+
}
|
|
6210
|
+
|
|
6211
|
+
var _temp5 = _forTo(chunks, function (i) {
|
|
6212
|
+
var blob = new Blob([chunks[i]], {
|
|
6213
|
+
type: "text/csv"
|
|
6214
|
+
});
|
|
6215
|
+
var formData = new FormData();
|
|
6216
|
+
formData.append("file", blob, "students_chunk" + (i + 1) + ".csv");
|
|
6217
|
+
return Promise.resolve(importUsersCSV(formData)).then(function () {});
|
|
6218
|
+
});
|
|
6219
|
+
|
|
6220
|
+
if (_temp5 && _temp5.then) return _temp5.then(function () {});
|
|
6221
|
+
});
|
|
6167
6222
|
} else {
|
|
6168
|
-
var
|
|
6223
|
+
var _temp14 = function () {
|
|
6169
6224
|
if (isCheckDomainIBS) {
|
|
6170
|
-
|
|
6225
|
+
console.log("📌 Type if:", type.toString());
|
|
6226
|
+
|
|
6227
|
+
var _temp15 = function () {
|
|
6171
6228
|
if (type == CSVType.ClassReflection) {
|
|
6172
6229
|
return Promise.resolve(importClassReflectionCSV(formData)).then(function () {});
|
|
6173
6230
|
}
|
|
6174
6231
|
}();
|
|
6175
6232
|
|
|
6176
|
-
if (
|
|
6233
|
+
if (_temp15 && _temp15.then) return _temp15.then(function () {});
|
|
6177
6234
|
} else {
|
|
6235
|
+
console.log("📌 Type else:", type.toString());
|
|
6178
6236
|
return Promise.resolve(importCSV(formData, type.toString())).then(function () {});
|
|
6179
6237
|
}
|
|
6180
6238
|
}();
|
|
6181
6239
|
|
|
6182
|
-
if (
|
|
6240
|
+
if (_temp14 && _temp14.then) return _temp14.then(function () {});
|
|
6183
6241
|
}
|
|
6184
6242
|
}();
|
|
6185
6243
|
|
|
6186
|
-
return
|
|
6244
|
+
return _temp8 && _temp8.then ? _temp8.then(_temp9) : _temp9(_temp8);
|
|
6187
6245
|
}, function (err) {
|
|
6188
6246
|
var _err$response, _err$response$data;
|
|
6189
6247
|
|
|
@@ -6193,7 +6251,7 @@ var useCSVImport = function useCSVImport() {
|
|
|
6193
6251
|
}));
|
|
6194
6252
|
});
|
|
6195
6253
|
|
|
6196
|
-
return Promise.resolve(
|
|
6254
|
+
return Promise.resolve(_temp13 && _temp13.then ? _temp13.then(_temp12) : _temp12(_temp13));
|
|
6197
6255
|
} catch (e) {
|
|
6198
6256
|
return Promise.reject(e);
|
|
6199
6257
|
}
|
|
@@ -6201,7 +6259,7 @@ var useCSVImport = function useCSVImport() {
|
|
|
6201
6259
|
|
|
6202
6260
|
var uploadByTeacherId = function uploadByTeacherId(file) {
|
|
6203
6261
|
try {
|
|
6204
|
-
var
|
|
6262
|
+
var _temp18 = function _temp18() {
|
|
6205
6263
|
dispatch(marioCore.setLoading(false));
|
|
6206
6264
|
var input = document.getElementById('teacherSelector');
|
|
6207
6265
|
input && (input.value = "");
|
|
@@ -6218,7 +6276,7 @@ var useCSVImport = function useCSVImport() {
|
|
|
6218
6276
|
if (!type || !file) return Promise.resolve();
|
|
6219
6277
|
dispatch(marioCore.setLoading(true));
|
|
6220
6278
|
|
|
6221
|
-
var
|
|
6279
|
+
var _temp19 = _catch(function () {
|
|
6222
6280
|
var formData = new FormData();
|
|
6223
6281
|
formData.append("file", file, file.name);
|
|
6224
6282
|
return Promise.resolve(importStudentByTeacher(defaultTeacher, formData)).then(function () {
|
|
@@ -6236,7 +6294,7 @@ var useCSVImport = function useCSVImport() {
|
|
|
6236
6294
|
}));
|
|
6237
6295
|
});
|
|
6238
6296
|
|
|
6239
|
-
return Promise.resolve(
|
|
6297
|
+
return Promise.resolve(_temp19 && _temp19.then ? _temp19.then(_temp18) : _temp18(_temp19));
|
|
6240
6298
|
} catch (e) {
|
|
6241
6299
|
return Promise.reject(e);
|
|
6242
6300
|
}
|
|
@@ -6244,7 +6302,7 @@ var useCSVImport = function useCSVImport() {
|
|
|
6244
6302
|
|
|
6245
6303
|
var onConfirm = function onConfirm(values) {
|
|
6246
6304
|
try {
|
|
6247
|
-
var
|
|
6305
|
+
var _temp22 = function _temp22() {
|
|
6248
6306
|
dispatch(marioCore.setLoading(false));
|
|
6249
6307
|
var input = document.getElementById(id);
|
|
6250
6308
|
input && (input.value = "");
|
|
@@ -6253,7 +6311,7 @@ var useCSVImport = function useCSVImport() {
|
|
|
6253
6311
|
if (!dataFile || !dataFile) return Promise.resolve();
|
|
6254
6312
|
dispatch(marioCore.setLoading(true));
|
|
6255
6313
|
|
|
6256
|
-
var
|
|
6314
|
+
var _temp23 = _catch(function () {
|
|
6257
6315
|
var formData = new FormData();
|
|
6258
6316
|
formData.append("file", dataFile, dataFile.name);
|
|
6259
6317
|
formData.append("teacherName", values.teacherName);
|
|
@@ -6277,7 +6335,7 @@ var useCSVImport = function useCSVImport() {
|
|
|
6277
6335
|
}));
|
|
6278
6336
|
});
|
|
6279
6337
|
|
|
6280
|
-
return Promise.resolve(
|
|
6338
|
+
return Promise.resolve(_temp23 && _temp23.then ? _temp23.then(_temp22) : _temp22(_temp23));
|
|
6281
6339
|
} catch (e) {
|
|
6282
6340
|
return Promise.reject(e);
|
|
6283
6341
|
}
|