csvbox-react-test 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +48 -0
- package/dist/index.js +266 -0
- package/dist/index.js.map +1 -0
- package/dist/index.modern.js +263 -0
- package/dist/index.modern.js.map +1 -0
- package/package.json +80 -0
package/README.md
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
# @csvbox/react
|
2
|
+
|
3
|
+
> React adapter for csvbox.io
|
4
|
+
|
5
|
+
[](https://www.npmjs.com/package/@csvbox/react) [](https://standardjs.com)
|
6
|
+
|
7
|
+
## Shell
|
8
|
+
|
9
|
+
```bash
|
10
|
+
npm install @csvbox/react
|
11
|
+
```
|
12
|
+
|
13
|
+
## Import
|
14
|
+
```js
|
15
|
+
import { CSVBoxButton } from '@csvbox/react'
|
16
|
+
```
|
17
|
+
|
18
|
+
## Usage
|
19
|
+
|
20
|
+
```jsx
|
21
|
+
<CSVBoxButton
|
22
|
+
licenseKey="Sheet license key"
|
23
|
+
user={{
|
24
|
+
user_id: "default123"
|
25
|
+
}}
|
26
|
+
onImport={(result, data) => {
|
27
|
+
if(result){
|
28
|
+
console.log("success");
|
29
|
+
console.log(data.row_success + " rows uploaded");
|
30
|
+
//custom code
|
31
|
+
}else{
|
32
|
+
console.log("fail");
|
33
|
+
//custom code
|
34
|
+
}
|
35
|
+
}}
|
36
|
+
>
|
37
|
+
Import
|
38
|
+
</CSVBoxButton>
|
39
|
+
```
|
40
|
+
|
41
|
+
## Readme
|
42
|
+
|
43
|
+
For usage see the guide here - https://help.csvbox.io/getting-started#2-install-code
|
44
|
+
|
45
|
+
|
46
|
+
## License
|
47
|
+
|
48
|
+
MIT © [csvbox-io](https://github.com/csvbox-io)
|
package/dist/index.js
ADDED
@@ -0,0 +1,266 @@
|
|
1
|
+
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
|
2
|
+
|
3
|
+
var React = require('react');
|
4
|
+
var React__default = _interopDefault(React);
|
5
|
+
|
6
|
+
function _inheritsLoose(subClass, superClass) {
|
7
|
+
subClass.prototype = Object.create(superClass.prototype);
|
8
|
+
subClass.prototype.constructor = subClass;
|
9
|
+
|
10
|
+
_setPrototypeOf(subClass, superClass);
|
11
|
+
}
|
12
|
+
|
13
|
+
function _setPrototypeOf(o, p) {
|
14
|
+
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
|
15
|
+
o.__proto__ = p;
|
16
|
+
return o;
|
17
|
+
};
|
18
|
+
|
19
|
+
return _setPrototypeOf(o, p);
|
20
|
+
}
|
21
|
+
|
22
|
+
function _assertThisInitialized(self) {
|
23
|
+
if (self === void 0) {
|
24
|
+
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
25
|
+
}
|
26
|
+
|
27
|
+
return self;
|
28
|
+
}
|
29
|
+
|
30
|
+
var version = "1.1.0";
|
31
|
+
|
32
|
+
var CSVBoxButton = /*#__PURE__*/function (_Component) {
|
33
|
+
_inheritsLoose(CSVBoxButton, _Component);
|
34
|
+
|
35
|
+
function CSVBoxButton(props) {
|
36
|
+
var _this;
|
37
|
+
|
38
|
+
_this = _Component.call(this, props) || this;
|
39
|
+
_this.holder = React__default.createRef();
|
40
|
+
_this.iframe = React__default.createRef();
|
41
|
+
_this.openModal = _this.openModal.bind(_assertThisInitialized(_this));
|
42
|
+
_this.isModalShown = false;
|
43
|
+
_this.uuid = _this.generateUuid();
|
44
|
+
_this.state = {
|
45
|
+
disabled: true
|
46
|
+
};
|
47
|
+
return _this;
|
48
|
+
}
|
49
|
+
|
50
|
+
var _proto = CSVBoxButton.prototype;
|
51
|
+
|
52
|
+
_proto.componentDidMount = function componentDidMount() {
|
53
|
+
var _this2 = this;
|
54
|
+
|
55
|
+
var onImport = this.props.onImport;
|
56
|
+
var user = this.props.user;
|
57
|
+
var dynamicColumns = this.props.dynamicColumns;
|
58
|
+
var options = this.props.options;
|
59
|
+
var onReady = this.props.onReady;
|
60
|
+
var onSubmit = this.props.onSubmit;
|
61
|
+
var onClose = this.props.onClose;
|
62
|
+
window.addEventListener("message", function (event) {
|
63
|
+
if (event.data === "mainModalHidden") {
|
64
|
+
if (_this2.holder && _this2.holder.current) {
|
65
|
+
_this2.holder.current.style.display = 'none';
|
66
|
+
}
|
67
|
+
_this2.isModalShown = false;
|
68
|
+
onClose === null || onClose === void 0 ? void 0 : onClose();
|
69
|
+
}
|
70
|
+
|
71
|
+
if (event.data === "uploadSuccessful") {
|
72
|
+
onImport(true);
|
73
|
+
}
|
74
|
+
|
75
|
+
if (event.data === "uploadFailed") {
|
76
|
+
onImport(false);
|
77
|
+
}
|
78
|
+
|
79
|
+
if (typeof event.data == "object") {
|
80
|
+
var _event$data, _event$data$data;
|
81
|
+
|
82
|
+
if ((event === null || event === void 0 ? void 0 : (_event$data = event.data) === null || _event$data === void 0 ? void 0 : (_event$data$data = _event$data.data) === null || _event$data$data === void 0 ? void 0 : _event$data$data.unique_token) == _this2.uuid) {
|
83
|
+
if (event.data.type && event.data.type == "data-on-submit") {
|
84
|
+
var metadata = event.data.data;
|
85
|
+
metadata["column_mappings"] = event.data.column_mapping;
|
86
|
+
delete metadata["unique_token"];
|
87
|
+
onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(metadata);
|
88
|
+
} else if (event.data.type && event.data.type == "data-push-status") {
|
89
|
+
if (event.data.data.import_status = "success") {
|
90
|
+
if (event.data && event.data.row_data) {
|
91
|
+
var primary_row_data = event.data.row_data;
|
92
|
+
var headers = event.data.headers;
|
93
|
+
var rows = [];
|
94
|
+
var dynamic_columns_indexes = event.data.dynamicColumnsIndexes;
|
95
|
+
var virtual_columns_indexes = event.data.virtualColumnsIndexes || [];
|
96
|
+
var dropdown_display_labels_mappings = event.data.dropdown_display_labels_mappings;
|
97
|
+
primary_row_data.forEach(function (row_data) {
|
98
|
+
var x = {};
|
99
|
+
var dynamic_columns = {};
|
100
|
+
var virtual_data = {};
|
101
|
+
row_data.data.forEach(function (col, i) {
|
102
|
+
if (col == undefined) {
|
103
|
+
col = "";
|
104
|
+
}
|
105
|
+
|
106
|
+
if (!!dropdown_display_labels_mappings[i] && !!dropdown_display_labels_mappings[i][col]) {
|
107
|
+
col = dropdown_display_labels_mappings[i][col];
|
108
|
+
}
|
109
|
+
|
110
|
+
if (dynamic_columns_indexes.includes(i)) {
|
111
|
+
dynamic_columns[headers[i]] = col;
|
112
|
+
} else if (virtual_columns_indexes.includes(i)) {
|
113
|
+
virtual_data[headers[i]] = col;
|
114
|
+
} else {
|
115
|
+
x[headers[i]] = col;
|
116
|
+
}
|
117
|
+
});
|
118
|
+
|
119
|
+
if (row_data.unmapped_data) {
|
120
|
+
x["_unmapped_data"] = row_data.unmapped_data;
|
121
|
+
}
|
122
|
+
|
123
|
+
if (dynamic_columns && Object.keys(dynamic_columns).length > 0) {
|
124
|
+
x["_dynamic_data"] = dynamic_columns;
|
125
|
+
}
|
126
|
+
|
127
|
+
if (virtual_data && Object.keys(virtual_data).length > 0) {
|
128
|
+
x["_virtual_data"] = virtual_data;
|
129
|
+
}
|
130
|
+
|
131
|
+
rows.push(x);
|
132
|
+
});
|
133
|
+
var _metadata = event.data.data;
|
134
|
+
_metadata["rows"] = rows;
|
135
|
+
delete _metadata["unique_token"];
|
136
|
+
onImport(true, _metadata);
|
137
|
+
} else {
|
138
|
+
var _metadata2 = event.data.data;
|
139
|
+
delete _metadata2["unique_token"];
|
140
|
+
onImport(true, _metadata2);
|
141
|
+
}
|
142
|
+
} else {
|
143
|
+
onImport(false, event.data.data);
|
144
|
+
}
|
145
|
+
} else if (event.data.type && event.data.type == "csvbox-modal-hidden") {
|
146
|
+
if (_this2.holder && _this2.holder.current) {
|
147
|
+
_this2.holder.current.style.display = 'none';
|
148
|
+
}
|
149
|
+
_this2.isModalShown = false;
|
150
|
+
onClose === null || onClose === void 0 ? void 0 : onClose();
|
151
|
+
} else if (event.data.type && event.data.type == "csvbox-upload-successful") {
|
152
|
+
var _this2$onImport;
|
153
|
+
|
154
|
+
(_this2$onImport = _this2.onImport) === null || _this2$onImport === void 0 ? void 0 : _this2$onImport.call(_this2, true);
|
155
|
+
} else if (event.data.type && event.data.type == "csvbox-upload-failed") {
|
156
|
+
var _this2$onImport2;
|
157
|
+
|
158
|
+
(_this2$onImport2 = _this2.onImport) === null || _this2$onImport2 === void 0 ? void 0 : _this2$onImport2.call(_this2, false);
|
159
|
+
}
|
160
|
+
}
|
161
|
+
}
|
162
|
+
}, false);
|
163
|
+
var iframe = this.iframe.current;
|
164
|
+
var self = this;
|
165
|
+
|
166
|
+
iframe.onload = function () {
|
167
|
+
onReady === null || onReady === void 0 ? void 0 : onReady();
|
168
|
+
self.enableInitator();
|
169
|
+
iframe.contentWindow.postMessage({
|
170
|
+
"customer": user ? user : null,
|
171
|
+
"columns": dynamicColumns ? dynamicColumns : null,
|
172
|
+
"options": options ? options : null,
|
173
|
+
"unique_token": self.uuid
|
174
|
+
}, "*");
|
175
|
+
};
|
176
|
+
};
|
177
|
+
|
178
|
+
_proto.openModal = function openModal() {
|
179
|
+
if (!this.isModalShown) {
|
180
|
+
this.isModalShown = true;
|
181
|
+
this.iframe.current.contentWindow.postMessage('openModal', '*');
|
182
|
+
this.holder.current.style.display = 'block';
|
183
|
+
}
|
184
|
+
};
|
185
|
+
|
186
|
+
_proto.generateUuid = function generateUuid() {
|
187
|
+
return Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);
|
188
|
+
};
|
189
|
+
|
190
|
+
_proto.enableInitator = function enableInitator() {
|
191
|
+
this.setState({
|
192
|
+
disabled: !this.state.disabled
|
193
|
+
});
|
194
|
+
};
|
195
|
+
|
196
|
+
_proto.render = function render() {
|
197
|
+
var licenseKey = this.props.licenseKey;
|
198
|
+
var dataLocation = this.props.dataLocation;
|
199
|
+
var customDomain = this.props.customDomain;
|
200
|
+
var domain = customDomain ? customDomain : "app.csvbox.io";
|
201
|
+
|
202
|
+
if (dataLocation) {
|
203
|
+
domain = dataLocation + "-" + domain;
|
204
|
+
}
|
205
|
+
|
206
|
+
var iframeUrl = "https://" + domain + "/embed/" + licenseKey;
|
207
|
+
iframeUrl += "?library-version=" + version;
|
208
|
+
iframeUrl += "&framework=react";
|
209
|
+
|
210
|
+
if (dataLocation) {
|
211
|
+
iframeUrl += "&preventRedirect";
|
212
|
+
}
|
213
|
+
|
214
|
+
var holderStyle = {
|
215
|
+
display: "none",
|
216
|
+
zIndex: 2147483647,
|
217
|
+
position: "fixed",
|
218
|
+
top: 0,
|
219
|
+
bottom: 0,
|
220
|
+
left: 0,
|
221
|
+
right: 0
|
222
|
+
};
|
223
|
+
var iframeStyle = {
|
224
|
+
height: "100%",
|
225
|
+
width: "100%",
|
226
|
+
position: "absolute",
|
227
|
+
top: "0px",
|
228
|
+
left: "0px"
|
229
|
+
};
|
230
|
+
|
231
|
+
if (this.props.render) {
|
232
|
+
return /*#__PURE__*/React__default.createElement("div", null, this.props.render(this.openModal, this.state.disabled), /*#__PURE__*/React__default.createElement("div", {
|
233
|
+
ref: this.holder,
|
234
|
+
style: holderStyle
|
235
|
+
}, /*#__PURE__*/React__default.createElement("iframe", {
|
236
|
+
ref: this.iframe,
|
237
|
+
style: iframeStyle,
|
238
|
+
"data-csvbox-token": this.uuid,
|
239
|
+
src: iframeUrl,
|
240
|
+
frameBorder: "0"
|
241
|
+
})));
|
242
|
+
} else {
|
243
|
+
return /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement("button", {
|
244
|
+
disabled: this.state.disabled,
|
245
|
+
onClick: this.openModal,
|
246
|
+
"data-csvbox-initator": true,
|
247
|
+
"data-csvbox-token": this.uuid
|
248
|
+
}, this.props.children), /*#__PURE__*/React__default.createElement("div", {
|
249
|
+
ref: this.holder,
|
250
|
+
style: holderStyle
|
251
|
+
}, /*#__PURE__*/React__default.createElement("iframe", {
|
252
|
+
ref: this.iframe,
|
253
|
+
style: iframeStyle,
|
254
|
+
"data-csvbox-token": this.uuid,
|
255
|
+
src: iframeUrl,
|
256
|
+
frameBorder: "0"
|
257
|
+
})));
|
258
|
+
}
|
259
|
+
};
|
260
|
+
|
261
|
+
return CSVBoxButton;
|
262
|
+
}(React.Component);
|
263
|
+
|
264
|
+
exports.CSVBoxButton = CSVBoxButton;
|
265
|
+
exports.default = CSVBoxButton;
|
266
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/index.js"],"sourcesContent":["import React, { Component } from 'react';\n// import styles from './styles.module.css'\n\nimport { version } from '../package.json';\n\nexport class CSVBoxButton extends Component {\n\n constructor(props) {\n super(props)\n this.holder = React.createRef();\n this.iframe = React.createRef();\n this.openModal = this.openModal.bind(this)\n this.isModalShown = false;\n this.uuid = this.generateUuid();\n this.state = {\n disabled: true\n };\n }\n\n componentDidMount() {\n\n const { onImport } = this.props;\n const { user } = this.props;\n const { dynamicColumns } = this.props;\n const { options } = this.props;\n const { onReady } = this.props;\n const { onSubmit } = this.props;\n const { onClose } = this.props;\n\n window.addEventListener(\"message\", (event) => {\n\n // console.log(\"message\", event);\n\n if (event.data === \"mainModalHidden\") {\n if (this.holder && this.holder.current) {\n this.holder.current.style.display = 'none';\n };\n this.isModalShown = false;\n onClose?.();\n }\n if(event.data === \"uploadSuccessful\") {\n onImport(true);\n }\n if(event.data === \"uploadFailed\") {\n onImport(false);\n }\n if(typeof event.data == \"object\") {\n\n if(event?.data?.data?.unique_token == this.uuid) {\n\n if(event.data.type && event.data.type == \"data-on-submit\") {\n let metadata = event.data.data;\n metadata[\"column_mappings\"] = event.data.column_mapping;\n delete metadata[\"unique_token\"];\n onSubmit?.(metadata);\n }\n else if(event.data.type && event.data.type == \"data-push-status\") {\n if(event.data.data.import_status = \"success\"){\n if(event.data && event.data.row_data) {\n let primary_row_data = event.data.row_data;\n let headers = event.data.headers;\n let rows = [];\n let dynamic_columns_indexes = event.data.dynamicColumnsIndexes;\n let virtual_columns_indexes = event.data.virtualColumnsIndexes || [];\n\n let dropdown_display_labels_mappings = event.data.dropdown_display_labels_mappings;\n primary_row_data.forEach((row_data) => {\n let x = {};\n let dynamic_columns = {};\n let virtual_data = {};\n row_data.data.forEach((col, i)=>{\n if(col == undefined){ col = \"\" }\n if(!!dropdown_display_labels_mappings[i] && !!dropdown_display_labels_mappings[i][col]) {\n col = dropdown_display_labels_mappings[i][col];\n }\n if(dynamic_columns_indexes.includes(i)) {\n dynamic_columns[headers[i]] = col;\n }\n else if(virtual_columns_indexes.includes(i)) {\n virtual_data[headers[i]] = col;\n }\n else{\n x[headers[i]] = col;\n }\n });\n if(row_data.unmapped_data) {\n x[\"_unmapped_data\"] = row_data.unmapped_data;\n }\n if(dynamic_columns && Object.keys(dynamic_columns).length > 0) {\n x[\"_dynamic_data\"] = dynamic_columns;\n }\n if(virtual_data && Object.keys(virtual_data).length > 0) {\n x[\"_virtual_data\"] = virtual_data;\n }\n rows.push(x);\n });\n let metadata = event.data.data;\n metadata[\"rows\"] = rows;\n delete metadata[\"unique_token\"];\n onImport(true, metadata);\n }else{\n let metadata = event.data.data;\n delete metadata[\"unique_token\"];\n onImport(true, metadata);\n }\n }else {\n onImport(false, event.data.data);\n }\n } else if(event.data.type && event.data.type == \"csvbox-modal-hidden\") {\n if (this.holder && this.holder.current) {\n this.holder.current.style.display = 'none';\n };\n this.isModalShown = false;\n onClose?.();\n } else if(event.data.type && event.data.type == \"csvbox-upload-successful\") {\n this.onImport?.(true);\n } else if(event.data.type && event.data.type == \"csvbox-upload-failed\") {\n this.onImport?.(false);\n }\n }\n\n\n }\n }, false);\n let iframe = this.iframe.current;\n\n let self = this;\n\n iframe.onload = function () {\n\n onReady?.();\n\n self.enableInitator();\n\n iframe.contentWindow.postMessage({\n \"customer\" : user ? user : null,\n \"columns\" : dynamicColumns ? dynamicColumns : null,\n \"options\" : options ? options : null,\n \"unique_token\": self.uuid\n }, \"*\");\n\n }\n }\n openModal() {\n if(!this.isModalShown) {\n this.isModalShown = true;\n this.iframe.current.contentWindow.postMessage('openModal', '*');\n this.holder.current.style.display = 'block';\n }\n }\n\n generateUuid() {\n return Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);\n }\n\n enableInitator() {\n this.setState({\n disabled: !this.state.disabled\n })\n }\n\n render() {\n\n const { licenseKey } = this.props;\n const { dataLocation } = this.props;\n const { customDomain } = this.props;\n\n let domain = customDomain ? customDomain : \"app.csvbox.io\";\n\n if(dataLocation) {\n domain = `${dataLocation}-${domain}`;\n }\n\n let iframeUrl = `https://${domain}/embed/${licenseKey}`;\n\n iframeUrl += `?library-version=${version}`;\n iframeUrl += \"&framework=react\";\n\n if(dataLocation) {\n iframeUrl += \"&preventRedirect\";\n }\n\n const holderStyle = {\n display: \"none\",\n zIndex: 2147483647,\n position: \"fixed\",\n top: 0,\n bottom: 0,\n left: 0,\n right: 0\n };\n\n const iframeStyle = {\n height: \"100%\",\n width: \"100%\",\n position: \"absolute\",\n top: \"0px\",\n left: \"0px\"\n };\n\n if(this.props.render) {\n return (\n <div>\n {this.props.render(this.openModal, this.state.disabled)}\n <div ref={this.holder} style={holderStyle}>\n <iframe ref={this.iframe} style={iframeStyle} data-csvbox-token={this.uuid} src={iframeUrl} frameBorder=\"0\" ></iframe>\n </div>\n </div>\n )\n }else{\n return (\n <div>\n <button disabled={this.state.disabled} onClick={this.openModal} data-csvbox-initator data-csvbox-token={this.uuid}>{this.props.children}</button>\n <div ref={this.holder} style={holderStyle}>\n <iframe ref={this.iframe} style={iframeStyle} data-csvbox-token={this.uuid} src={iframeUrl} frameBorder=\"0\" ></iframe>\n </div>\n </div>\n )\n }\n\n\n }\n}\n\nexport default CSVBoxButton;\n"],"names":["CSVBoxButton","props","holder","React","createRef","iframe","openModal","bind","isModalShown","uuid","generateUuid","state","disabled","componentDidMount","onImport","user","dynamicColumns","options","onReady","onSubmit","onClose","window","addEventListener","event","data","current","style","display","unique_token","type","metadata","column_mapping","import_status","row_data","primary_row_data","headers","rows","dynamic_columns_indexes","dynamicColumnsIndexes","virtual_columns_indexes","virtualColumnsIndexes","dropdown_display_labels_mappings","forEach","x","dynamic_columns","virtual_data","col","i","undefined","includes","unmapped_data","Object","keys","length","push","self","onload","enableInitator","contentWindow","postMessage","Math","random","toString","substring","setState","render","licenseKey","dataLocation","customDomain","domain","iframeUrl","version","holderStyle","zIndex","position","top","bottom","left","right","iframeStyle","height","width","children","Component"],"mappings":"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"}
|
@@ -0,0 +1,263 @@
|
|
1
|
+
import React, { Component } from 'react';
|
2
|
+
|
3
|
+
function _inheritsLoose(subClass, superClass) {
|
4
|
+
subClass.prototype = Object.create(superClass.prototype);
|
5
|
+
subClass.prototype.constructor = subClass;
|
6
|
+
|
7
|
+
_setPrototypeOf(subClass, superClass);
|
8
|
+
}
|
9
|
+
|
10
|
+
function _setPrototypeOf(o, p) {
|
11
|
+
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
|
12
|
+
o.__proto__ = p;
|
13
|
+
return o;
|
14
|
+
};
|
15
|
+
|
16
|
+
return _setPrototypeOf(o, p);
|
17
|
+
}
|
18
|
+
|
19
|
+
function _assertThisInitialized(self) {
|
20
|
+
if (self === void 0) {
|
21
|
+
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
22
|
+
}
|
23
|
+
|
24
|
+
return self;
|
25
|
+
}
|
26
|
+
|
27
|
+
var version = "1.1.0";
|
28
|
+
|
29
|
+
var CSVBoxButton = /*#__PURE__*/function (_Component) {
|
30
|
+
_inheritsLoose(CSVBoxButton, _Component);
|
31
|
+
|
32
|
+
function CSVBoxButton(props) {
|
33
|
+
var _this;
|
34
|
+
|
35
|
+
_this = _Component.call(this, props) || this;
|
36
|
+
_this.holder = React.createRef();
|
37
|
+
_this.iframe = React.createRef();
|
38
|
+
_this.openModal = _this.openModal.bind(_assertThisInitialized(_this));
|
39
|
+
_this.isModalShown = false;
|
40
|
+
_this.uuid = _this.generateUuid();
|
41
|
+
_this.state = {
|
42
|
+
disabled: true
|
43
|
+
};
|
44
|
+
return _this;
|
45
|
+
}
|
46
|
+
|
47
|
+
var _proto = CSVBoxButton.prototype;
|
48
|
+
|
49
|
+
_proto.componentDidMount = function componentDidMount() {
|
50
|
+
var _this2 = this;
|
51
|
+
|
52
|
+
var onImport = this.props.onImport;
|
53
|
+
var user = this.props.user;
|
54
|
+
var dynamicColumns = this.props.dynamicColumns;
|
55
|
+
var options = this.props.options;
|
56
|
+
var onReady = this.props.onReady;
|
57
|
+
var onSubmit = this.props.onSubmit;
|
58
|
+
var onClose = this.props.onClose;
|
59
|
+
window.addEventListener("message", function (event) {
|
60
|
+
if (event.data === "mainModalHidden") {
|
61
|
+
if (_this2.holder && _this2.holder.current) {
|
62
|
+
_this2.holder.current.style.display = 'none';
|
63
|
+
}
|
64
|
+
_this2.isModalShown = false;
|
65
|
+
onClose === null || onClose === void 0 ? void 0 : onClose();
|
66
|
+
}
|
67
|
+
|
68
|
+
if (event.data === "uploadSuccessful") {
|
69
|
+
onImport(true);
|
70
|
+
}
|
71
|
+
|
72
|
+
if (event.data === "uploadFailed") {
|
73
|
+
onImport(false);
|
74
|
+
}
|
75
|
+
|
76
|
+
if (typeof event.data == "object") {
|
77
|
+
var _event$data, _event$data$data;
|
78
|
+
|
79
|
+
if ((event === null || event === void 0 ? void 0 : (_event$data = event.data) === null || _event$data === void 0 ? void 0 : (_event$data$data = _event$data.data) === null || _event$data$data === void 0 ? void 0 : _event$data$data.unique_token) == _this2.uuid) {
|
80
|
+
if (event.data.type && event.data.type == "data-on-submit") {
|
81
|
+
var metadata = event.data.data;
|
82
|
+
metadata["column_mappings"] = event.data.column_mapping;
|
83
|
+
delete metadata["unique_token"];
|
84
|
+
onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(metadata);
|
85
|
+
} else if (event.data.type && event.data.type == "data-push-status") {
|
86
|
+
if (event.data.data.import_status = "success") {
|
87
|
+
if (event.data && event.data.row_data) {
|
88
|
+
var primary_row_data = event.data.row_data;
|
89
|
+
var headers = event.data.headers;
|
90
|
+
var rows = [];
|
91
|
+
var dynamic_columns_indexes = event.data.dynamicColumnsIndexes;
|
92
|
+
var virtual_columns_indexes = event.data.virtualColumnsIndexes || [];
|
93
|
+
var dropdown_display_labels_mappings = event.data.dropdown_display_labels_mappings;
|
94
|
+
primary_row_data.forEach(function (row_data) {
|
95
|
+
var x = {};
|
96
|
+
var dynamic_columns = {};
|
97
|
+
var virtual_data = {};
|
98
|
+
row_data.data.forEach(function (col, i) {
|
99
|
+
if (col == undefined) {
|
100
|
+
col = "";
|
101
|
+
}
|
102
|
+
|
103
|
+
if (!!dropdown_display_labels_mappings[i] && !!dropdown_display_labels_mappings[i][col]) {
|
104
|
+
col = dropdown_display_labels_mappings[i][col];
|
105
|
+
}
|
106
|
+
|
107
|
+
if (dynamic_columns_indexes.includes(i)) {
|
108
|
+
dynamic_columns[headers[i]] = col;
|
109
|
+
} else if (virtual_columns_indexes.includes(i)) {
|
110
|
+
virtual_data[headers[i]] = col;
|
111
|
+
} else {
|
112
|
+
x[headers[i]] = col;
|
113
|
+
}
|
114
|
+
});
|
115
|
+
|
116
|
+
if (row_data.unmapped_data) {
|
117
|
+
x["_unmapped_data"] = row_data.unmapped_data;
|
118
|
+
}
|
119
|
+
|
120
|
+
if (dynamic_columns && Object.keys(dynamic_columns).length > 0) {
|
121
|
+
x["_dynamic_data"] = dynamic_columns;
|
122
|
+
}
|
123
|
+
|
124
|
+
if (virtual_data && Object.keys(virtual_data).length > 0) {
|
125
|
+
x["_virtual_data"] = virtual_data;
|
126
|
+
}
|
127
|
+
|
128
|
+
rows.push(x);
|
129
|
+
});
|
130
|
+
var _metadata = event.data.data;
|
131
|
+
_metadata["rows"] = rows;
|
132
|
+
delete _metadata["unique_token"];
|
133
|
+
onImport(true, _metadata);
|
134
|
+
} else {
|
135
|
+
var _metadata2 = event.data.data;
|
136
|
+
delete _metadata2["unique_token"];
|
137
|
+
onImport(true, _metadata2);
|
138
|
+
}
|
139
|
+
} else {
|
140
|
+
onImport(false, event.data.data);
|
141
|
+
}
|
142
|
+
} else if (event.data.type && event.data.type == "csvbox-modal-hidden") {
|
143
|
+
if (_this2.holder && _this2.holder.current) {
|
144
|
+
_this2.holder.current.style.display = 'none';
|
145
|
+
}
|
146
|
+
_this2.isModalShown = false;
|
147
|
+
onClose === null || onClose === void 0 ? void 0 : onClose();
|
148
|
+
} else if (event.data.type && event.data.type == "csvbox-upload-successful") {
|
149
|
+
var _this2$onImport;
|
150
|
+
|
151
|
+
(_this2$onImport = _this2.onImport) === null || _this2$onImport === void 0 ? void 0 : _this2$onImport.call(_this2, true);
|
152
|
+
} else if (event.data.type && event.data.type == "csvbox-upload-failed") {
|
153
|
+
var _this2$onImport2;
|
154
|
+
|
155
|
+
(_this2$onImport2 = _this2.onImport) === null || _this2$onImport2 === void 0 ? void 0 : _this2$onImport2.call(_this2, false);
|
156
|
+
}
|
157
|
+
}
|
158
|
+
}
|
159
|
+
}, false);
|
160
|
+
var iframe = this.iframe.current;
|
161
|
+
var self = this;
|
162
|
+
|
163
|
+
iframe.onload = function () {
|
164
|
+
onReady === null || onReady === void 0 ? void 0 : onReady();
|
165
|
+
self.enableInitator();
|
166
|
+
iframe.contentWindow.postMessage({
|
167
|
+
"customer": user ? user : null,
|
168
|
+
"columns": dynamicColumns ? dynamicColumns : null,
|
169
|
+
"options": options ? options : null,
|
170
|
+
"unique_token": self.uuid
|
171
|
+
}, "*");
|
172
|
+
};
|
173
|
+
};
|
174
|
+
|
175
|
+
_proto.openModal = function openModal() {
|
176
|
+
if (!this.isModalShown) {
|
177
|
+
this.isModalShown = true;
|
178
|
+
this.iframe.current.contentWindow.postMessage('openModal', '*');
|
179
|
+
this.holder.current.style.display = 'block';
|
180
|
+
}
|
181
|
+
};
|
182
|
+
|
183
|
+
_proto.generateUuid = function generateUuid() {
|
184
|
+
return Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);
|
185
|
+
};
|
186
|
+
|
187
|
+
_proto.enableInitator = function enableInitator() {
|
188
|
+
this.setState({
|
189
|
+
disabled: !this.state.disabled
|
190
|
+
});
|
191
|
+
};
|
192
|
+
|
193
|
+
_proto.render = function render() {
|
194
|
+
var licenseKey = this.props.licenseKey;
|
195
|
+
var dataLocation = this.props.dataLocation;
|
196
|
+
var customDomain = this.props.customDomain;
|
197
|
+
var domain = customDomain ? customDomain : "app.csvbox.io";
|
198
|
+
|
199
|
+
if (dataLocation) {
|
200
|
+
domain = dataLocation + "-" + domain;
|
201
|
+
}
|
202
|
+
|
203
|
+
var iframeUrl = "https://" + domain + "/embed/" + licenseKey;
|
204
|
+
iframeUrl += "?library-version=" + version;
|
205
|
+
iframeUrl += "&framework=react";
|
206
|
+
|
207
|
+
if (dataLocation) {
|
208
|
+
iframeUrl += "&preventRedirect";
|
209
|
+
}
|
210
|
+
|
211
|
+
var holderStyle = {
|
212
|
+
display: "none",
|
213
|
+
zIndex: 2147483647,
|
214
|
+
position: "fixed",
|
215
|
+
top: 0,
|
216
|
+
bottom: 0,
|
217
|
+
left: 0,
|
218
|
+
right: 0
|
219
|
+
};
|
220
|
+
var iframeStyle = {
|
221
|
+
height: "100%",
|
222
|
+
width: "100%",
|
223
|
+
position: "absolute",
|
224
|
+
top: "0px",
|
225
|
+
left: "0px"
|
226
|
+
};
|
227
|
+
|
228
|
+
if (this.props.render) {
|
229
|
+
return /*#__PURE__*/React.createElement("div", null, this.props.render(this.openModal, this.state.disabled), /*#__PURE__*/React.createElement("div", {
|
230
|
+
ref: this.holder,
|
231
|
+
style: holderStyle
|
232
|
+
}, /*#__PURE__*/React.createElement("iframe", {
|
233
|
+
ref: this.iframe,
|
234
|
+
style: iframeStyle,
|
235
|
+
"data-csvbox-token": this.uuid,
|
236
|
+
src: iframeUrl,
|
237
|
+
frameBorder: "0"
|
238
|
+
})));
|
239
|
+
} else {
|
240
|
+
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("button", {
|
241
|
+
disabled: this.state.disabled,
|
242
|
+
onClick: this.openModal,
|
243
|
+
"data-csvbox-initator": true,
|
244
|
+
"data-csvbox-token": this.uuid
|
245
|
+
}, this.props.children), /*#__PURE__*/React.createElement("div", {
|
246
|
+
ref: this.holder,
|
247
|
+
style: holderStyle
|
248
|
+
}, /*#__PURE__*/React.createElement("iframe", {
|
249
|
+
ref: this.iframe,
|
250
|
+
style: iframeStyle,
|
251
|
+
"data-csvbox-token": this.uuid,
|
252
|
+
src: iframeUrl,
|
253
|
+
frameBorder: "0"
|
254
|
+
})));
|
255
|
+
}
|
256
|
+
};
|
257
|
+
|
258
|
+
return CSVBoxButton;
|
259
|
+
}(Component);
|
260
|
+
|
261
|
+
export default CSVBoxButton;
|
262
|
+
export { CSVBoxButton };
|
263
|
+
//# sourceMappingURL=index.modern.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.modern.js","sources":["../src/index.js"],"sourcesContent":["import React, { Component } from 'react';\n// import styles from './styles.module.css'\n\nimport { version } from '../package.json';\n\nexport class CSVBoxButton extends Component {\n\n constructor(props) {\n super(props)\n this.holder = React.createRef();\n this.iframe = React.createRef();\n this.openModal = this.openModal.bind(this)\n this.isModalShown = false;\n this.uuid = this.generateUuid();\n this.state = {\n disabled: true\n };\n }\n\n componentDidMount() {\n\n const { onImport } = this.props;\n const { user } = this.props;\n const { dynamicColumns } = this.props;\n const { options } = this.props;\n const { onReady } = this.props;\n const { onSubmit } = this.props;\n const { onClose } = this.props;\n\n window.addEventListener(\"message\", (event) => {\n\n // console.log(\"message\", event);\n\n if (event.data === \"mainModalHidden\") {\n if (this.holder && this.holder.current) {\n this.holder.current.style.display = 'none';\n };\n this.isModalShown = false;\n onClose?.();\n }\n if(event.data === \"uploadSuccessful\") {\n onImport(true);\n }\n if(event.data === \"uploadFailed\") {\n onImport(false);\n }\n if(typeof event.data == \"object\") {\n\n if(event?.data?.data?.unique_token == this.uuid) {\n\n if(event.data.type && event.data.type == \"data-on-submit\") {\n let metadata = event.data.data;\n metadata[\"column_mappings\"] = event.data.column_mapping;\n delete metadata[\"unique_token\"];\n onSubmit?.(metadata);\n }\n else if(event.data.type && event.data.type == \"data-push-status\") {\n if(event.data.data.import_status = \"success\"){\n if(event.data && event.data.row_data) {\n let primary_row_data = event.data.row_data;\n let headers = event.data.headers;\n let rows = [];\n let dynamic_columns_indexes = event.data.dynamicColumnsIndexes;\n let virtual_columns_indexes = event.data.virtualColumnsIndexes || [];\n\n let dropdown_display_labels_mappings = event.data.dropdown_display_labels_mappings;\n primary_row_data.forEach((row_data) => {\n let x = {};\n let dynamic_columns = {};\n let virtual_data = {};\n row_data.data.forEach((col, i)=>{\n if(col == undefined){ col = \"\" }\n if(!!dropdown_display_labels_mappings[i] && !!dropdown_display_labels_mappings[i][col]) {\n col = dropdown_display_labels_mappings[i][col];\n }\n if(dynamic_columns_indexes.includes(i)) {\n dynamic_columns[headers[i]] = col;\n }\n else if(virtual_columns_indexes.includes(i)) {\n virtual_data[headers[i]] = col;\n }\n else{\n x[headers[i]] = col;\n }\n });\n if(row_data.unmapped_data) {\n x[\"_unmapped_data\"] = row_data.unmapped_data;\n }\n if(dynamic_columns && Object.keys(dynamic_columns).length > 0) {\n x[\"_dynamic_data\"] = dynamic_columns;\n }\n if(virtual_data && Object.keys(virtual_data).length > 0) {\n x[\"_virtual_data\"] = virtual_data;\n }\n rows.push(x);\n });\n let metadata = event.data.data;\n metadata[\"rows\"] = rows;\n delete metadata[\"unique_token\"];\n onImport(true, metadata);\n }else{\n let metadata = event.data.data;\n delete metadata[\"unique_token\"];\n onImport(true, metadata);\n }\n }else {\n onImport(false, event.data.data);\n }\n } else if(event.data.type && event.data.type == \"csvbox-modal-hidden\") {\n if (this.holder && this.holder.current) {\n this.holder.current.style.display = 'none';\n };\n this.isModalShown = false;\n onClose?.();\n } else if(event.data.type && event.data.type == \"csvbox-upload-successful\") {\n this.onImport?.(true);\n } else if(event.data.type && event.data.type == \"csvbox-upload-failed\") {\n this.onImport?.(false);\n }\n }\n\n\n }\n }, false);\n let iframe = this.iframe.current;\n\n let self = this;\n\n iframe.onload = function () {\n\n onReady?.();\n\n self.enableInitator();\n\n iframe.contentWindow.postMessage({\n \"customer\" : user ? user : null,\n \"columns\" : dynamicColumns ? dynamicColumns : null,\n \"options\" : options ? options : null,\n \"unique_token\": self.uuid\n }, \"*\");\n\n }\n }\n openModal() {\n if(!this.isModalShown) {\n this.isModalShown = true;\n this.iframe.current.contentWindow.postMessage('openModal', '*');\n this.holder.current.style.display = 'block';\n }\n }\n\n generateUuid() {\n return Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);\n }\n\n enableInitator() {\n this.setState({\n disabled: !this.state.disabled\n })\n }\n\n render() {\n\n const { licenseKey } = this.props;\n const { dataLocation } = this.props;\n const { customDomain } = this.props;\n\n let domain = customDomain ? customDomain : \"app.csvbox.io\";\n\n if(dataLocation) {\n domain = `${dataLocation}-${domain}`;\n }\n\n let iframeUrl = `https://${domain}/embed/${licenseKey}`;\n\n iframeUrl += `?library-version=${version}`;\n iframeUrl += \"&framework=react\";\n\n if(dataLocation) {\n iframeUrl += \"&preventRedirect\";\n }\n\n const holderStyle = {\n display: \"none\",\n zIndex: 2147483647,\n position: \"fixed\",\n top: 0,\n bottom: 0,\n left: 0,\n right: 0\n };\n\n const iframeStyle = {\n height: \"100%\",\n width: \"100%\",\n position: \"absolute\",\n top: \"0px\",\n left: \"0px\"\n };\n\n if(this.props.render) {\n return (\n <div>\n {this.props.render(this.openModal, this.state.disabled)}\n <div ref={this.holder} style={holderStyle}>\n <iframe ref={this.iframe} style={iframeStyle} data-csvbox-token={this.uuid} src={iframeUrl} frameBorder=\"0\" ></iframe>\n </div>\n </div>\n )\n }else{\n return (\n <div>\n <button disabled={this.state.disabled} onClick={this.openModal} data-csvbox-initator data-csvbox-token={this.uuid}>{this.props.children}</button>\n <div ref={this.holder} style={holderStyle}>\n <iframe ref={this.iframe} style={iframeStyle} data-csvbox-token={this.uuid} src={iframeUrl} frameBorder=\"0\" ></iframe>\n </div>\n </div>\n )\n }\n\n\n }\n}\n\nexport default CSVBoxButton;\n"],"names":["CSVBoxButton","props","holder","React","createRef","iframe","openModal","bind","isModalShown","uuid","generateUuid","state","disabled","componentDidMount","onImport","user","dynamicColumns","options","onReady","onSubmit","onClose","window","addEventListener","event","data","current","style","display","unique_token","type","metadata","column_mapping","import_status","row_data","primary_row_data","headers","rows","dynamic_columns_indexes","dynamicColumnsIndexes","virtual_columns_indexes","virtualColumnsIndexes","dropdown_display_labels_mappings","forEach","x","dynamic_columns","virtual_data","col","i","undefined","includes","unmapped_data","Object","keys","length","push","self","onload","enableInitator","contentWindow","postMessage","Math","random","toString","substring","setState","render","licenseKey","dataLocation","customDomain","domain","iframeUrl","version","holderStyle","zIndex","position","top","bottom","left","right","iframeStyle","height","width","children","Component"],"mappings":"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"}
|
package/package.json
ADDED
@@ -0,0 +1,80 @@
|
|
1
|
+
{
|
2
|
+
"name": "csvbox-react-test",
|
3
|
+
"version": "1.1.0",
|
4
|
+
"description": "React adapter for csvbox.io",
|
5
|
+
"author": "csvbox-io",
|
6
|
+
"license": "MIT",
|
7
|
+
"repository": {
|
8
|
+
"type": "git",
|
9
|
+
"url": "git+https://github.com/csvbox-io/react.git"
|
10
|
+
},
|
11
|
+
"main": "dist/index.js",
|
12
|
+
"module": "dist/index.modern.js",
|
13
|
+
"source": "src/index.js",
|
14
|
+
"engines": {
|
15
|
+
"node": ">=10"
|
16
|
+
},
|
17
|
+
"scripts": {
|
18
|
+
"build": "microbundle-crl --no-compress --format modern,cjs",
|
19
|
+
"start": "microbundle-crl watch --no-compress --format modern,cjs",
|
20
|
+
"prepare": "run-s build",
|
21
|
+
"test": "run-s test:unit test:lint test:build",
|
22
|
+
"test:build": "run-s build",
|
23
|
+
"test:lint": "eslint .",
|
24
|
+
"test:unit": "cross-env CI=1 react-scripts test --env=jsdom",
|
25
|
+
"test:watch": "react-scripts test --env=jsdom",
|
26
|
+
"predeploy": "cd example && npm install && npm run build",
|
27
|
+
"deploy": "gh-pages -d example/build"
|
28
|
+
},
|
29
|
+
"peerDependencies": {
|
30
|
+
"react": "^16.13.1 || ^17.0.2 || ^ 18.0.0",
|
31
|
+
"react-dom": "^16.13.1 || ^17.0.2 || ^18.0.0"
|
32
|
+
},
|
33
|
+
"devDependencies": {
|
34
|
+
"babel-eslint": "^10.0.3",
|
35
|
+
"cross-env": "^7.0.2",
|
36
|
+
"eslint": "^6.8.0",
|
37
|
+
"eslint-config-prettier": "^6.7.0",
|
38
|
+
"eslint-config-standard": "^14.1.0",
|
39
|
+
"eslint-config-standard-react": "^9.2.0",
|
40
|
+
"eslint-plugin-import": "^2.18.2",
|
41
|
+
"eslint-plugin-node": "^11.0.0",
|
42
|
+
"eslint-plugin-prettier": "^3.1.1",
|
43
|
+
"eslint-plugin-promise": "^4.2.1",
|
44
|
+
"eslint-plugin-react": "^7.17.0",
|
45
|
+
"eslint-plugin-standard": "^4.0.1",
|
46
|
+
"gh-pages": "^2.2.0",
|
47
|
+
"microbundle-crl": "^0.13.10",
|
48
|
+
"npm-run-all": "^4.1.5",
|
49
|
+
"prettier": "^2.0.4",
|
50
|
+
"react": "^16.13.1",
|
51
|
+
"react-dom": "^16.13.1",
|
52
|
+
"react-scripts": "^3.4.1"
|
53
|
+
},
|
54
|
+
"files": [
|
55
|
+
"dist"
|
56
|
+
],
|
57
|
+
"keywords": [
|
58
|
+
"csv",
|
59
|
+
"importer",
|
60
|
+
"uploader",
|
61
|
+
"csvbox",
|
62
|
+
"parser",
|
63
|
+
"csv-parse",
|
64
|
+
"excel",
|
65
|
+
"xls",
|
66
|
+
"csv import",
|
67
|
+
"csv upload",
|
68
|
+
"spreadsheet import",
|
69
|
+
"react csv",
|
70
|
+
"csv parse",
|
71
|
+
"csv to json"
|
72
|
+
],
|
73
|
+
"bugs": {
|
74
|
+
"url": "https://github.com/csvbox-io/react/issues"
|
75
|
+
},
|
76
|
+
"homepage": "https://github.com/csvbox-io/react#readme",
|
77
|
+
"directories": {
|
78
|
+
"example": "example"
|
79
|
+
}
|
80
|
+
}
|