@comet/brevo-admin 3.0.0-canary-20240920122446 → 3.0.0-canary-20241017075628
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useContactImportFromCsv.d.ts","sourceRoot":"","sources":["../../../src/common/contactImport/useContactImportFromCsv.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"useContactImportFromCsv.d.ts","sourceRoot":"","sources":["../../../src/common/contactImport/useContactImportFromCsv.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAMlE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,iCAAiC,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAGrE,UAAU,qBAAqB;IAC3B,KAAK,EAAE,iCAAiC,CAAC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,qBAAqB,CAAC;CAC1C;AAED,eAAO,MAAM,uBAAuB,6CAA8C,qBAAqB,KAAG,CAAC,mBAAmB,EAAE,MAAM,SAAS,CA0B9I,CAAC"}
|
|
@@ -9,16 +9,22 @@ var _client = require("@apollo/client");
|
|
|
9
9
|
var _admin = require("@comet/admin");
|
|
10
10
|
var _adminIcons = require("@comet/admin-icons");
|
|
11
11
|
var _material = require("@mui/material");
|
|
12
|
+
var _Button = _interopRequireDefault(require("@mui/material/Button"));
|
|
13
|
+
var _fileSaver = _interopRequireDefault(require("file-saver"));
|
|
12
14
|
var React = _interopRequireWildcard(require("react"));
|
|
13
15
|
var _reactDropzone = require("react-dropzone");
|
|
14
16
|
var _reactIntl = require("react-intl");
|
|
15
17
|
var _BrevoConfigProvider = require("../BrevoConfigProvider");
|
|
18
|
+
var _templateObject;
|
|
16
19
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
17
20
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
21
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
22
|
+
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
18
23
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
19
24
|
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
|
|
20
25
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
21
26
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
27
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
22
28
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
23
29
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
24
30
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
@@ -64,13 +70,14 @@ var ContactImportComponent = function ContactImportComponent(_ref2) {
|
|
|
64
70
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
65
71
|
importingCsv = _React$useState2[0],
|
|
66
72
|
setImportingCsv = _React$useState2[1];
|
|
67
|
-
var _React$useState3 = React.useState(
|
|
73
|
+
var _React$useState3 = React.useState(null),
|
|
68
74
|
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
var dialogOpen = importingCsv ||
|
|
75
|
+
importInformation = _React$useState4[0],
|
|
76
|
+
setImportInformation = _React$useState4[1];
|
|
77
|
+
var dialogOpen = importingCsv || !!importInformation;
|
|
72
78
|
var errorDialog = (0, _admin.useErrorDialog)();
|
|
73
79
|
var config = (0, _BrevoConfigProvider.useBrevoConfig)();
|
|
80
|
+
var intl = (0, _reactIntl.useIntl)();
|
|
74
81
|
function upload(file, scope, listIds) {
|
|
75
82
|
var formData = new FormData();
|
|
76
83
|
formData.append("file", file);
|
|
@@ -81,6 +88,46 @@ var ContactImportComponent = function ContactImportComponent(_ref2) {
|
|
|
81
88
|
body: formData
|
|
82
89
|
});
|
|
83
90
|
}
|
|
91
|
+
var saveErrorFile = function saveErrorFile() {
|
|
92
|
+
var failedColumns = importInformation === null || importInformation === void 0 ? void 0 : importInformation.failedColumns;
|
|
93
|
+
if (!failedColumns || failedColumns.length === 0) {
|
|
94
|
+
throw new Error(intl.formatMessage({
|
|
95
|
+
id: "export",
|
|
96
|
+
defaultMessage: "No failed columns to save"
|
|
97
|
+
}));
|
|
98
|
+
}
|
|
99
|
+
var errorData = "";
|
|
100
|
+
|
|
101
|
+
// Add headers to the file without trailing semicolon
|
|
102
|
+
var headers = Object.keys(failedColumns[0]);
|
|
103
|
+
var headerStr = headers.join(";");
|
|
104
|
+
errorData = "".concat(headerStr.replace(/;+$/, ""), "\n"); // Remove trailing semicolon from the header
|
|
105
|
+
|
|
106
|
+
// Add each row of failed columns data
|
|
107
|
+
var _iterator = _createForOfIteratorHelper(failedColumns),
|
|
108
|
+
_step;
|
|
109
|
+
try {
|
|
110
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
111
|
+
var column = _step.value;
|
|
112
|
+
// Use Object.values to get the values of each column
|
|
113
|
+
var row = Object.values(column); // No need to check for undefined/null
|
|
114
|
+
|
|
115
|
+
// Join row values and remove the trailing semicolon if not needed
|
|
116
|
+
var rowStr = row.join(";");
|
|
117
|
+
errorData += "".concat(rowStr.replace(/;+$/, ""), "\n");
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
// Create and download the file
|
|
121
|
+
} catch (err) {
|
|
122
|
+
_iterator.e(err);
|
|
123
|
+
} finally {
|
|
124
|
+
_iterator.f();
|
|
125
|
+
}
|
|
126
|
+
var file = new Blob([errorData], {
|
|
127
|
+
type: "text/csv;charset=utf-8"
|
|
128
|
+
});
|
|
129
|
+
(0, _fileSaver["default"])(file, "error-log-".concat(new Date().toISOString(), ".csv"));
|
|
130
|
+
};
|
|
84
131
|
var _useDropzone = (0, _reactDropzone.useDropzone)({
|
|
85
132
|
accept: {
|
|
86
133
|
"text/csv": []
|
|
@@ -88,7 +135,7 @@ var ContactImportComponent = function ContactImportComponent(_ref2) {
|
|
|
88
135
|
multiple: false,
|
|
89
136
|
onDrop: function () {
|
|
90
137
|
var _onDrop = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(acceptedFiles) {
|
|
91
|
-
var file, response,
|
|
138
|
+
var file, response, data, userMessage;
|
|
92
139
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
93
140
|
while (1) switch (_context.prev = _context.next) {
|
|
94
141
|
case 0:
|
|
@@ -102,22 +149,30 @@ var ContactImportComponent = function ContactImportComponent(_ref2) {
|
|
|
102
149
|
apolloClient.refetchQueries({
|
|
103
150
|
include: refetchQueries
|
|
104
151
|
});
|
|
152
|
+
_context.next = 9;
|
|
153
|
+
return response.json();
|
|
154
|
+
case 9:
|
|
155
|
+
data = _context.sent;
|
|
105
156
|
if (!response.ok) {
|
|
106
|
-
_context.next =
|
|
157
|
+
_context.next = 15;
|
|
107
158
|
break;
|
|
108
159
|
}
|
|
109
160
|
setImportingCsv(false);
|
|
110
|
-
|
|
161
|
+
if (data.errorMessage) {
|
|
162
|
+
errorDialog === null || errorDialog === void 0 || errorDialog.showError({
|
|
163
|
+
title: /*#__PURE__*/React.createElement(_reactIntl.FormattedMessage, _admin.messages.error),
|
|
164
|
+
userMessage: data.errorMessage,
|
|
165
|
+
error: data.errorMessage
|
|
166
|
+
});
|
|
167
|
+
} else {
|
|
168
|
+
setImportInformation(data);
|
|
169
|
+
}
|
|
111
170
|
_context.next = 16;
|
|
112
171
|
break;
|
|
113
|
-
case
|
|
114
|
-
|
|
115
|
-
return response.json();
|
|
116
|
-
case 14:
|
|
117
|
-
errorResponse = _context.sent;
|
|
118
|
-
throw new Error(JSON.stringify(errorResponse));
|
|
172
|
+
case 15:
|
|
173
|
+
throw new Error(JSON.stringify(data));
|
|
119
174
|
case 16:
|
|
120
|
-
_context.next =
|
|
175
|
+
_context.next = 23;
|
|
121
176
|
break;
|
|
122
177
|
case 18:
|
|
123
178
|
_context.prev = 18;
|
|
@@ -127,18 +182,12 @@ var ContactImportComponent = function ContactImportComponent(_ref2) {
|
|
|
127
182
|
id: "cometBrevoModule.useContactImport.error.defaultMessage",
|
|
128
183
|
defaultMessage: "An error occured during the import. Please try again in a while or contact your administrator if the error persists."
|
|
129
184
|
});
|
|
130
|
-
if (_context.t0 !== null && _context.t0 !== void 0 && _context.t0.message && typeof _context.t0.message === "string" && _context.t0.message.includes("Too many contacts")) {
|
|
131
|
-
userMessage = /*#__PURE__*/React.createElement(_reactIntl.FormattedMessage, {
|
|
132
|
-
id: "cometBrevoModule.useContactImport.error.tooManyContactsMessage",
|
|
133
|
-
defaultMessage: "Too many contacts in file. Currently we only support 100 contacts at once."
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
185
|
errorDialog === null || errorDialog === void 0 || errorDialog.showError({
|
|
137
186
|
title: /*#__PURE__*/React.createElement(_reactIntl.FormattedMessage, _admin.messages.error),
|
|
138
187
|
userMessage: userMessage,
|
|
139
188
|
error: String(_context.t0)
|
|
140
189
|
});
|
|
141
|
-
case
|
|
190
|
+
case 23:
|
|
142
191
|
case "end":
|
|
143
192
|
return _context.stop();
|
|
144
193
|
}
|
|
@@ -161,23 +210,51 @@ var ContactImportComponent = function ContactImportComponent(_ref2) {
|
|
|
161
210
|
}, /*#__PURE__*/React.createElement(_material.DialogTitle, null, importingCsv && /*#__PURE__*/React.createElement(_reactIntl.FormattedMessage, {
|
|
162
211
|
id: "cometBrevoModule.useContactImport.importing.title",
|
|
163
212
|
defaultMessage: "Importing contacts from CSV..."
|
|
164
|
-
}),
|
|
213
|
+
}), importInformation && /*#__PURE__*/React.createElement(_reactIntl.FormattedMessage, {
|
|
165
214
|
id: "cometBrevoModule.useContactImport.importSuccessful.title",
|
|
166
215
|
defaultMessage: "Import successful"
|
|
167
|
-
})), /*#__PURE__*/React.createElement(_material.DialogContent, null, importingCsv && /*#__PURE__*/React.createElement(_admin.Loading, null),
|
|
168
|
-
id: "cometBrevoModule.useContactImport.importSuccessful.
|
|
169
|
-
defaultMessage: "
|
|
170
|
-
|
|
216
|
+
})), /*#__PURE__*/React.createElement(_material.DialogContent, null, importingCsv && /*#__PURE__*/React.createElement(_admin.Loading, null), importInformation && /*#__PURE__*/React.createElement(React.Fragment, null, importInformation.created > 0 && /*#__PURE__*/React.createElement(_reactIntl.FormattedMessage, {
|
|
217
|
+
id: "cometBrevoModule.useContactImport.importSuccessful.contactsImported",
|
|
218
|
+
defaultMessage: "{amount} contact(s) have been created successfully.",
|
|
219
|
+
values: {
|
|
220
|
+
amount: importInformation.created
|
|
221
|
+
}
|
|
222
|
+
}), importInformation.updated > 0 && /*#__PURE__*/React.createElement(_reactIntl.FormattedMessage, {
|
|
223
|
+
id: "cometBrevoModule.useContactImport.importSuccessful.contactsUpdated",
|
|
224
|
+
defaultMessage: "{amount} contact(s) have been updated.",
|
|
225
|
+
values: {
|
|
226
|
+
amount: importInformation.updated
|
|
227
|
+
}
|
|
228
|
+
}), importInformation.failed > 0 && /*#__PURE__*/React.createElement(_material.Box, {
|
|
229
|
+
mt: 2
|
|
230
|
+
}, /*#__PURE__*/React.createElement(_admin.Alert, {
|
|
231
|
+
severity: "error"
|
|
232
|
+
}, /*#__PURE__*/React.createElement(_reactIntl.FormattedMessage, {
|
|
233
|
+
id: "cometBrevoModule.useContactImport.error.contactsCouldNotBeImported",
|
|
234
|
+
defaultMessage: "{amount} contact(s) could not be imported. <link>Download this file</link> to get the failing row(s).",
|
|
235
|
+
values: {
|
|
236
|
+
amount: importInformation.failed,
|
|
237
|
+
link: function link(chunks) {
|
|
238
|
+
return /*#__PURE__*/React.createElement(CsvDownloadLink, {
|
|
239
|
+
onClick: saveErrorFile
|
|
240
|
+
}, chunks);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}))), (importInformation.created > 0 || importInformation.updated > 0) && /*#__PURE__*/React.createElement(_material.Box, {
|
|
171
244
|
mt: 2
|
|
172
245
|
}, /*#__PURE__*/React.createElement(_admin.Alert, {
|
|
173
246
|
severity: "warning"
|
|
174
247
|
}, /*#__PURE__*/React.createElement(_reactIntl.FormattedMessage, {
|
|
175
248
|
id: "cometBrevoModule.useContactImport.importSuccessful.doiNotice",
|
|
176
249
|
defaultMessage: "Contacts who have not yet confirmed their subscription will receive a double opt-in email to complete the process. These contacts will not appear in this list until they confirm their subscription. Once confirmed, they will automatically be added to the appropriate target group(s)."
|
|
177
|
-
}))))), /*#__PURE__*/React.createElement(_material.DialogActions, null,
|
|
250
|
+
}))))), /*#__PURE__*/React.createElement(_material.DialogActions, null, importInformation && /*#__PURE__*/React.createElement(_Button["default"], {
|
|
178
251
|
onClick: function onClick() {
|
|
179
|
-
return
|
|
252
|
+
return setImportInformation(null);
|
|
180
253
|
},
|
|
181
254
|
variant: "contained"
|
|
182
255
|
}, /*#__PURE__*/React.createElement(_reactIntl.FormattedMessage, _admin.messages.ok)))));
|
|
183
|
-
};
|
|
256
|
+
};
|
|
257
|
+
var CsvDownloadLink = (0, _material.styled)("span")(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n color: ", ";\n text-decoration: underline;\n cursor: pointer;\n"])), function (_ref3) {
|
|
258
|
+
var theme = _ref3.theme;
|
|
259
|
+
return theme.palette.info.main;
|
|
260
|
+
});
|