@commercetools-frontend-extensions/import-resources-modal 0.0.1
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/LICENSE +29 -0
- package/README.md +20 -0
- package/dist/commercetools-frontend-extensions-import-resources-modal.cjs.d.ts +3 -0
- package/dist/commercetools-frontend-extensions-import-resources-modal.cjs.dev.js +157 -0
- package/dist/commercetools-frontend-extensions-import-resources-modal.cjs.js +7 -0
- package/dist/commercetools-frontend-extensions-import-resources-modal.cjs.prod.js +157 -0
- package/dist/commercetools-frontend-extensions-import-resources-modal.esm.js +140 -0
- package/dist/de-a34c5dd4.cjs.dev.js +6 -0
- package/dist/de-cd6c45d3.esm.js +4 -0
- package/dist/de-d954fe3d.cjs.prod.js +6 -0
- package/dist/declarations/src/@types/import-resources-modal-props.d.ts +7 -0
- package/dist/declarations/src/@types/index.d.ts +2 -0
- package/dist/declarations/src/@types/resource-type.d.ts +1 -0
- package/dist/declarations/src/import-resources-modal.d.ts +6 -0
- package/dist/declarations/src/index.d.ts +2 -0
- package/dist/en-3a9aa2d4.esm.js +4 -0
- package/dist/en-6b3694f6.cjs.dev.js +6 -0
- package/dist/en-c7757448.cjs.prod.js +6 -0
- package/dist/es-042343bd.cjs.prod.js +6 -0
- package/dist/es-8b3ecab1.cjs.dev.js +6 -0
- package/dist/es-e544023d.esm.js +4 -0
- package/dist/fr-FR-9d9081ee.esm.js +4 -0
- package/dist/fr-FR-e7126fcc.cjs.dev.js +6 -0
- package/dist/fr-FR-fce1ca96.cjs.prod.js +6 -0
- package/dist/ja-37632763.cjs.prod.js +6 -0
- package/dist/ja-73c088a7.esm.js +4 -0
- package/dist/ja-9bd5f452.cjs.dev.js +6 -0
- package/dist/pt-BR-b37d730b.esm.js +4 -0
- package/dist/pt-BR-ea6b3251.cjs.dev.js +6 -0
- package/dist/pt-BR-ec2a1a11.cjs.prod.js +6 -0
- package/dist/zh-CN-4780d88e.esm.js +4 -0
- package/dist/zh-CN-52baa549.cjs.prod.js +6 -0
- package/dist/zh-CN-d4bc6d26.cjs.dev.js +6 -0
- package/package.json +78 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
BSD 3-Clause License
|
|
2
|
+
|
|
3
|
+
Copyright (c) commercetools GmbH
|
|
4
|
+
All rights reserved.
|
|
5
|
+
|
|
6
|
+
Redistribution and use in source and binary forms, with or without
|
|
7
|
+
modification, are permitted provided that the following conditions are met:
|
|
8
|
+
|
|
9
|
+
1. Redistributions of source code must retain the above copyright notice, this
|
|
10
|
+
list of conditions and the following disclaimer.
|
|
11
|
+
|
|
12
|
+
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
13
|
+
this list of conditions and the following disclaimer in the documentation
|
|
14
|
+
and/or other materials provided with the distribution.
|
|
15
|
+
|
|
16
|
+
3. Neither the name of the copyright holder nor the names of its
|
|
17
|
+
contributors may be used to endorse or promote products derived from
|
|
18
|
+
this software without specific prior written permission.
|
|
19
|
+
|
|
20
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
21
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
22
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
23
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
24
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
25
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
26
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
27
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
28
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
29
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
package/README.md
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# @commercetools-frontend-extensions/import-resources-modal
|
|
2
|
+
|
|
3
|
+
Package for importing resources into Merchant Center Applications.
|
|
4
|
+
|
|
5
|
+
> This library takes into account that you are building a Merchant Center Applications which documentation you can find [here](https://docs.commercetools.com/custom-applications/).
|
|
6
|
+
> The components follow the same principles of the [UIKit](https://github.com/commercetools/ui-kit) components.
|
|
7
|
+
|
|
8
|
+
## Getting started
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
$ npm install --save @commercetools-frontend-extensions/import-resources-modal
|
|
12
|
+
|
|
13
|
+
// or
|
|
14
|
+
|
|
15
|
+
$ yarn add @commercetools-frontend-extensions/import-resources-modal
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Description
|
|
19
|
+
|
|
20
|
+
Import Resources Modal is an internal component used to import resources from csv files, it's using [Importer Services](https://github.com/commercetools/commercetools-importer) to create async import Job.
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from "./declarations/src/index";
|
|
2
|
+
export { default } from "./declarations/src/index";
|
|
3
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVyY2V0b29scy1mcm9udGVuZC1leHRlbnNpb25zLWltcG9ydC1yZXNvdXJjZXMtbW9kYWwuY2pzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuL2RlY2xhcmF0aW9ucy9zcmMvaW5kZXguZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSJ9
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _Object$keys = require('@babel/runtime-corejs3/core-js-stable/object/keys');
|
|
6
|
+
var _Object$getOwnPropertySymbols = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols');
|
|
7
|
+
var _filterInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/filter');
|
|
8
|
+
var _Object$getOwnPropertyDescriptor = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor');
|
|
9
|
+
var _forEachInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/for-each');
|
|
10
|
+
var _Object$getOwnPropertyDescriptors = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors');
|
|
11
|
+
var _Object$defineProperties = require('@babel/runtime-corejs3/core-js-stable/object/define-properties');
|
|
12
|
+
var _Object$defineProperty = require('@babel/runtime-corejs3/core-js-stable/object/define-property');
|
|
13
|
+
var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
|
|
14
|
+
var reactIntl = require('react-intl');
|
|
15
|
+
var applicationShellConnectors = require('@commercetools-frontend/application-shell-connectors');
|
|
16
|
+
var sentry = require('@commercetools-frontend/sentry');
|
|
17
|
+
var i18n = require('@commercetools-frontend/i18n');
|
|
18
|
+
var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
|
|
19
|
+
var React = require('react');
|
|
20
|
+
var formik = require('formik');
|
|
21
|
+
var omitEmpty = require('omit-empty-es');
|
|
22
|
+
require('@babel/runtime-corejs3/core-js-stable/reflect/construct');
|
|
23
|
+
require('@babel/runtime-corejs3/helpers/createClass');
|
|
24
|
+
require('@babel/runtime-corejs3/helpers/classCallCheck');
|
|
25
|
+
require('@babel/runtime-corejs3/helpers/inherits');
|
|
26
|
+
require('@babel/runtime-corejs3/helpers/possibleConstructorReturn');
|
|
27
|
+
require('@babel/runtime-corejs3/helpers/getPrototypeOf');
|
|
28
|
+
require('@babel/runtime-corejs3/helpers/wrapNativeSuper');
|
|
29
|
+
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
30
|
+
|
|
31
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
|
|
32
|
+
|
|
33
|
+
var _Object$keys__default = /*#__PURE__*/_interopDefault(_Object$keys);
|
|
34
|
+
var _Object$getOwnPropertySymbols__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertySymbols);
|
|
35
|
+
var _filterInstanceProperty__default = /*#__PURE__*/_interopDefault(_filterInstanceProperty);
|
|
36
|
+
var _Object$getOwnPropertyDescriptor__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptor);
|
|
37
|
+
var _forEachInstanceProperty__default = /*#__PURE__*/_interopDefault(_forEachInstanceProperty);
|
|
38
|
+
var _Object$getOwnPropertyDescriptors__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptors);
|
|
39
|
+
var _Object$defineProperties__default = /*#__PURE__*/_interopDefault(_Object$defineProperties);
|
|
40
|
+
var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defineProperty);
|
|
41
|
+
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
42
|
+
var omitEmpty__default = /*#__PURE__*/_interopDefault(omitEmpty);
|
|
43
|
+
|
|
44
|
+
const loadMessages = locale => {
|
|
45
|
+
const intlLocale = i18n.mapLocaleToIntlLocale(locale);
|
|
46
|
+
switch (intlLocale) {
|
|
47
|
+
case 'de':
|
|
48
|
+
return Promise.resolve().then(function () { return require( /* webpackChunkName: "import-resources-modal-i18n-de" */'./de-a34c5dd4.cjs.dev.js'); });
|
|
49
|
+
case 'es':
|
|
50
|
+
return Promise.resolve().then(function () { return require( /* webpackChunkName: "import-resources-modal-i18n-es" */'./es-8b3ecab1.cjs.dev.js'); });
|
|
51
|
+
case 'fr-FR':
|
|
52
|
+
return Promise.resolve().then(function () { return require( /* webpackChunkName: "import-resources-modal-i18n-fr-FR" */'./fr-FR-e7126fcc.cjs.dev.js'); });
|
|
53
|
+
case 'zh-CN':
|
|
54
|
+
return Promise.resolve().then(function () { return require( /* webpackChunkName: "import-resources-modal-i18n-zh-CN" */'./zh-CN-d4bc6d26.cjs.dev.js'); });
|
|
55
|
+
case 'ja':
|
|
56
|
+
return Promise.resolve().then(function () { return require( /* webpackChunkName: "import-resources-modal-i18n-ja" */'./ja-9bd5f452.cjs.dev.js'); });
|
|
57
|
+
case 'pt-BR':
|
|
58
|
+
return Promise.resolve().then(function () { return require( /* webpackChunkName: "change-history-i18n-pt-BR" */'./pt-BR-ea6b3251.cjs.dev.js'); });
|
|
59
|
+
default:
|
|
60
|
+
return Promise.resolve().then(function () { return require( /* webpackChunkName: "import-resources-modal-i18n-en" */'./en-6b3694f6.cjs.dev.js'); });
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
// eslint-disable-next-line import/prefer-default-export
|
|
65
|
+
const loadI18n = async locale => {
|
|
66
|
+
try {
|
|
67
|
+
const messages = await loadMessages(locale);
|
|
68
|
+
return messages.default || messages;
|
|
69
|
+
} catch (error) {
|
|
70
|
+
// eslint-disable-next-line no-console
|
|
71
|
+
console.warn("Something went wrong while loading the import-resources-modal messages for ".concat(locale), error);
|
|
72
|
+
sentry.reportErrorToSentry(new Error("Something went wrong while loading the import-resources-modal messages for ".concat(locale)), {
|
|
73
|
+
extra: error
|
|
74
|
+
});
|
|
75
|
+
return {};
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
const useAsyncIntlMessages = (locale, loader) => {
|
|
80
|
+
const _useState = React.useState({
|
|
81
|
+
isLoading: true,
|
|
82
|
+
messages: undefined,
|
|
83
|
+
error: undefined
|
|
84
|
+
}),
|
|
85
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
86
|
+
state = _useState2[0],
|
|
87
|
+
setState = _useState2[1];
|
|
88
|
+
React.useEffect(() => {
|
|
89
|
+
let _isUnmounting = false;
|
|
90
|
+
async function load() {
|
|
91
|
+
try {
|
|
92
|
+
if (!_isUnmounting) {
|
|
93
|
+
const messages = await loader(locale);
|
|
94
|
+
setState({
|
|
95
|
+
isLoading: false,
|
|
96
|
+
messages
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
} catch (error) {
|
|
100
|
+
setState({
|
|
101
|
+
isLoading: false,
|
|
102
|
+
error
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
if (locale) load();
|
|
107
|
+
return () => {
|
|
108
|
+
_isUnmounting = true;
|
|
109
|
+
};
|
|
110
|
+
}, [locale, loader]);
|
|
111
|
+
return state;
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
function validate() {
|
|
115
|
+
const errors = {};
|
|
116
|
+
return omitEmpty__default["default"](errors);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
const ImportResourcesContext = /*#__PURE__*/React__default["default"].createContext();
|
|
120
|
+
const ImportResourcesProvider = props => {
|
|
121
|
+
const onSubmit = async values => {
|
|
122
|
+
};
|
|
123
|
+
const formik$1 = formik.useFormik({
|
|
124
|
+
initialValues: {},
|
|
125
|
+
validate,
|
|
126
|
+
onSubmit
|
|
127
|
+
});
|
|
128
|
+
return jsxRuntime.jsx(ImportResourcesContext.Provider, {
|
|
129
|
+
value: {
|
|
130
|
+
formik: formik$1,
|
|
131
|
+
onClose: props.onClose,
|
|
132
|
+
resourceType: props.resourceType
|
|
133
|
+
},
|
|
134
|
+
children: props.children
|
|
135
|
+
});
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
function ownKeys(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
139
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
|
|
140
|
+
const ImportResourcesModal = props => {
|
|
141
|
+
const _useApplicationContex = applicationShellConnectors.useApplicationContext(context => ({
|
|
142
|
+
locale: context.user && context.user.locale
|
|
143
|
+
})),
|
|
144
|
+
locale = _useApplicationContex.locale;
|
|
145
|
+
const messages = useAsyncIntlMessages('en', loadI18n);
|
|
146
|
+
if (!props.isOpen || messages.isLoading) return null;
|
|
147
|
+
return jsxRuntime.jsx(reactIntl.IntlProvider, {
|
|
148
|
+
locale: locale,
|
|
149
|
+
messages: messages.messages,
|
|
150
|
+
children: jsxRuntime.jsx(ImportResourcesProvider, _objectSpread(_objectSpread({}, props), {}, {
|
|
151
|
+
children: "Import resources modal"
|
|
152
|
+
}))
|
|
153
|
+
});
|
|
154
|
+
};
|
|
155
|
+
ImportResourcesModal.displayName = 'ImportResourcesModal';
|
|
156
|
+
|
|
157
|
+
exports["default"] = ImportResourcesModal;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
if (process.env.NODE_ENV === "production") {
|
|
4
|
+
module.exports = require("./commercetools-frontend-extensions-import-resources-modal.cjs.prod.js");
|
|
5
|
+
} else {
|
|
6
|
+
module.exports = require("./commercetools-frontend-extensions-import-resources-modal.cjs.dev.js");
|
|
7
|
+
}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _Object$keys = require('@babel/runtime-corejs3/core-js-stable/object/keys');
|
|
6
|
+
var _Object$getOwnPropertySymbols = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols');
|
|
7
|
+
var _filterInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/filter');
|
|
8
|
+
var _Object$getOwnPropertyDescriptor = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor');
|
|
9
|
+
var _forEachInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/for-each');
|
|
10
|
+
var _Object$getOwnPropertyDescriptors = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors');
|
|
11
|
+
var _Object$defineProperties = require('@babel/runtime-corejs3/core-js-stable/object/define-properties');
|
|
12
|
+
var _Object$defineProperty = require('@babel/runtime-corejs3/core-js-stable/object/define-property');
|
|
13
|
+
var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
|
|
14
|
+
var reactIntl = require('react-intl');
|
|
15
|
+
var applicationShellConnectors = require('@commercetools-frontend/application-shell-connectors');
|
|
16
|
+
var sentry = require('@commercetools-frontend/sentry');
|
|
17
|
+
var i18n = require('@commercetools-frontend/i18n');
|
|
18
|
+
var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
|
|
19
|
+
var React = require('react');
|
|
20
|
+
var formik = require('formik');
|
|
21
|
+
var omitEmpty = require('omit-empty-es');
|
|
22
|
+
require('@babel/runtime-corejs3/core-js-stable/reflect/construct');
|
|
23
|
+
require('@babel/runtime-corejs3/helpers/createClass');
|
|
24
|
+
require('@babel/runtime-corejs3/helpers/classCallCheck');
|
|
25
|
+
require('@babel/runtime-corejs3/helpers/inherits');
|
|
26
|
+
require('@babel/runtime-corejs3/helpers/possibleConstructorReturn');
|
|
27
|
+
require('@babel/runtime-corejs3/helpers/getPrototypeOf');
|
|
28
|
+
require('@babel/runtime-corejs3/helpers/wrapNativeSuper');
|
|
29
|
+
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
30
|
+
|
|
31
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
|
|
32
|
+
|
|
33
|
+
var _Object$keys__default = /*#__PURE__*/_interopDefault(_Object$keys);
|
|
34
|
+
var _Object$getOwnPropertySymbols__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertySymbols);
|
|
35
|
+
var _filterInstanceProperty__default = /*#__PURE__*/_interopDefault(_filterInstanceProperty);
|
|
36
|
+
var _Object$getOwnPropertyDescriptor__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptor);
|
|
37
|
+
var _forEachInstanceProperty__default = /*#__PURE__*/_interopDefault(_forEachInstanceProperty);
|
|
38
|
+
var _Object$getOwnPropertyDescriptors__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptors);
|
|
39
|
+
var _Object$defineProperties__default = /*#__PURE__*/_interopDefault(_Object$defineProperties);
|
|
40
|
+
var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defineProperty);
|
|
41
|
+
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
42
|
+
var omitEmpty__default = /*#__PURE__*/_interopDefault(omitEmpty);
|
|
43
|
+
|
|
44
|
+
const loadMessages = locale => {
|
|
45
|
+
const intlLocale = i18n.mapLocaleToIntlLocale(locale);
|
|
46
|
+
switch (intlLocale) {
|
|
47
|
+
case 'de':
|
|
48
|
+
return Promise.resolve().then(function () { return require( /* webpackChunkName: "import-resources-modal-i18n-de" */'./de-d954fe3d.cjs.prod.js'); });
|
|
49
|
+
case 'es':
|
|
50
|
+
return Promise.resolve().then(function () { return require( /* webpackChunkName: "import-resources-modal-i18n-es" */'./es-042343bd.cjs.prod.js'); });
|
|
51
|
+
case 'fr-FR':
|
|
52
|
+
return Promise.resolve().then(function () { return require( /* webpackChunkName: "import-resources-modal-i18n-fr-FR" */'./fr-FR-fce1ca96.cjs.prod.js'); });
|
|
53
|
+
case 'zh-CN':
|
|
54
|
+
return Promise.resolve().then(function () { return require( /* webpackChunkName: "import-resources-modal-i18n-zh-CN" */'./zh-CN-52baa549.cjs.prod.js'); });
|
|
55
|
+
case 'ja':
|
|
56
|
+
return Promise.resolve().then(function () { return require( /* webpackChunkName: "import-resources-modal-i18n-ja" */'./ja-37632763.cjs.prod.js'); });
|
|
57
|
+
case 'pt-BR':
|
|
58
|
+
return Promise.resolve().then(function () { return require( /* webpackChunkName: "change-history-i18n-pt-BR" */'./pt-BR-ec2a1a11.cjs.prod.js'); });
|
|
59
|
+
default:
|
|
60
|
+
return Promise.resolve().then(function () { return require( /* webpackChunkName: "import-resources-modal-i18n-en" */'./en-c7757448.cjs.prod.js'); });
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
// eslint-disable-next-line import/prefer-default-export
|
|
65
|
+
const loadI18n = async locale => {
|
|
66
|
+
try {
|
|
67
|
+
const messages = await loadMessages(locale);
|
|
68
|
+
return messages.default || messages;
|
|
69
|
+
} catch (error) {
|
|
70
|
+
// eslint-disable-next-line no-console
|
|
71
|
+
console.warn("Something went wrong while loading the import-resources-modal messages for ".concat(locale), error);
|
|
72
|
+
sentry.reportErrorToSentry(new Error("Something went wrong while loading the import-resources-modal messages for ".concat(locale)), {
|
|
73
|
+
extra: error
|
|
74
|
+
});
|
|
75
|
+
return {};
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
const useAsyncIntlMessages = (locale, loader) => {
|
|
80
|
+
const _useState = React.useState({
|
|
81
|
+
isLoading: true,
|
|
82
|
+
messages: undefined,
|
|
83
|
+
error: undefined
|
|
84
|
+
}),
|
|
85
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
86
|
+
state = _useState2[0],
|
|
87
|
+
setState = _useState2[1];
|
|
88
|
+
React.useEffect(() => {
|
|
89
|
+
let _isUnmounting = false;
|
|
90
|
+
async function load() {
|
|
91
|
+
try {
|
|
92
|
+
if (!_isUnmounting) {
|
|
93
|
+
const messages = await loader(locale);
|
|
94
|
+
setState({
|
|
95
|
+
isLoading: false,
|
|
96
|
+
messages
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
} catch (error) {
|
|
100
|
+
setState({
|
|
101
|
+
isLoading: false,
|
|
102
|
+
error
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
if (locale) load();
|
|
107
|
+
return () => {
|
|
108
|
+
_isUnmounting = true;
|
|
109
|
+
};
|
|
110
|
+
}, [locale, loader]);
|
|
111
|
+
return state;
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
function validate() {
|
|
115
|
+
const errors = {};
|
|
116
|
+
return omitEmpty__default["default"](errors);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
const ImportResourcesContext = /*#__PURE__*/React__default["default"].createContext();
|
|
120
|
+
const ImportResourcesProvider = props => {
|
|
121
|
+
const onSubmit = async values => {
|
|
122
|
+
};
|
|
123
|
+
const formik$1 = formik.useFormik({
|
|
124
|
+
initialValues: {},
|
|
125
|
+
validate,
|
|
126
|
+
onSubmit
|
|
127
|
+
});
|
|
128
|
+
return jsxRuntime.jsx(ImportResourcesContext.Provider, {
|
|
129
|
+
value: {
|
|
130
|
+
formik: formik$1,
|
|
131
|
+
onClose: props.onClose,
|
|
132
|
+
resourceType: props.resourceType
|
|
133
|
+
},
|
|
134
|
+
children: props.children
|
|
135
|
+
});
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
function ownKeys(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
139
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
|
|
140
|
+
const ImportResourcesModal = props => {
|
|
141
|
+
const _useApplicationContex = applicationShellConnectors.useApplicationContext(context => ({
|
|
142
|
+
locale: context.user && context.user.locale
|
|
143
|
+
})),
|
|
144
|
+
locale = _useApplicationContex.locale;
|
|
145
|
+
const messages = useAsyncIntlMessages('en', loadI18n);
|
|
146
|
+
if (!props.isOpen || messages.isLoading) return null;
|
|
147
|
+
return jsxRuntime.jsx(reactIntl.IntlProvider, {
|
|
148
|
+
locale: locale,
|
|
149
|
+
messages: messages.messages,
|
|
150
|
+
children: jsxRuntime.jsx(ImportResourcesProvider, _objectSpread(_objectSpread({}, props), {}, {
|
|
151
|
+
children: "Import resources modal"
|
|
152
|
+
}))
|
|
153
|
+
});
|
|
154
|
+
};
|
|
155
|
+
ImportResourcesModal.displayName = 'ImportResourcesModal';
|
|
156
|
+
|
|
157
|
+
exports["default"] = ImportResourcesModal;
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import _Object$keys from '@babel/runtime-corejs3/core-js-stable/object/keys';
|
|
2
|
+
import _Object$getOwnPropertySymbols from '@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols';
|
|
3
|
+
import _filterInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/filter';
|
|
4
|
+
import _Object$getOwnPropertyDescriptor from '@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor';
|
|
5
|
+
import _forEachInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/for-each';
|
|
6
|
+
import _Object$getOwnPropertyDescriptors from '@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors';
|
|
7
|
+
import _Object$defineProperties from '@babel/runtime-corejs3/core-js-stable/object/define-properties';
|
|
8
|
+
import _Object$defineProperty from '@babel/runtime-corejs3/core-js-stable/object/define-property';
|
|
9
|
+
import _defineProperty from '@babel/runtime-corejs3/helpers/esm/defineProperty';
|
|
10
|
+
import { IntlProvider } from 'react-intl';
|
|
11
|
+
import { useApplicationContext } from '@commercetools-frontend/application-shell-connectors';
|
|
12
|
+
import { reportErrorToSentry } from '@commercetools-frontend/sentry';
|
|
13
|
+
import { mapLocaleToIntlLocale } from '@commercetools-frontend/i18n';
|
|
14
|
+
import _slicedToArray from '@babel/runtime-corejs3/helpers/esm/slicedToArray';
|
|
15
|
+
import React, { useState, useEffect } from 'react';
|
|
16
|
+
import { useFormik } from 'formik';
|
|
17
|
+
import omitEmpty from 'omit-empty-es';
|
|
18
|
+
import '@babel/runtime-corejs3/core-js-stable/reflect/construct';
|
|
19
|
+
import '@babel/runtime-corejs3/helpers/createClass';
|
|
20
|
+
import '@babel/runtime-corejs3/helpers/classCallCheck';
|
|
21
|
+
import '@babel/runtime-corejs3/helpers/inherits';
|
|
22
|
+
import '@babel/runtime-corejs3/helpers/possibleConstructorReturn';
|
|
23
|
+
import '@babel/runtime-corejs3/helpers/getPrototypeOf';
|
|
24
|
+
import '@babel/runtime-corejs3/helpers/wrapNativeSuper';
|
|
25
|
+
import { jsx } from '@emotion/react/jsx-runtime';
|
|
26
|
+
|
|
27
|
+
const loadMessages = locale => {
|
|
28
|
+
const intlLocale = mapLocaleToIntlLocale(locale);
|
|
29
|
+
switch (intlLocale) {
|
|
30
|
+
case 'de':
|
|
31
|
+
return import( /* webpackChunkName: "import-resources-modal-i18n-de" */'./de-cd6c45d3.esm.js');
|
|
32
|
+
case 'es':
|
|
33
|
+
return import( /* webpackChunkName: "import-resources-modal-i18n-es" */'./es-e544023d.esm.js');
|
|
34
|
+
case 'fr-FR':
|
|
35
|
+
return import( /* webpackChunkName: "import-resources-modal-i18n-fr-FR" */'./fr-FR-9d9081ee.esm.js');
|
|
36
|
+
case 'zh-CN':
|
|
37
|
+
return import( /* webpackChunkName: "import-resources-modal-i18n-zh-CN" */'./zh-CN-4780d88e.esm.js');
|
|
38
|
+
case 'ja':
|
|
39
|
+
return import( /* webpackChunkName: "import-resources-modal-i18n-ja" */'./ja-73c088a7.esm.js');
|
|
40
|
+
case 'pt-BR':
|
|
41
|
+
return import( /* webpackChunkName: "change-history-i18n-pt-BR" */'./pt-BR-b37d730b.esm.js');
|
|
42
|
+
default:
|
|
43
|
+
return import( /* webpackChunkName: "import-resources-modal-i18n-en" */'./en-3a9aa2d4.esm.js');
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
// eslint-disable-next-line import/prefer-default-export
|
|
48
|
+
const loadI18n = async locale => {
|
|
49
|
+
try {
|
|
50
|
+
const messages = await loadMessages(locale);
|
|
51
|
+
return messages.default || messages;
|
|
52
|
+
} catch (error) {
|
|
53
|
+
// eslint-disable-next-line no-console
|
|
54
|
+
console.warn("Something went wrong while loading the import-resources-modal messages for ".concat(locale), error);
|
|
55
|
+
reportErrorToSentry(new Error("Something went wrong while loading the import-resources-modal messages for ".concat(locale)), {
|
|
56
|
+
extra: error
|
|
57
|
+
});
|
|
58
|
+
return {};
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
const useAsyncIntlMessages = (locale, loader) => {
|
|
63
|
+
const _useState = useState({
|
|
64
|
+
isLoading: true,
|
|
65
|
+
messages: undefined,
|
|
66
|
+
error: undefined
|
|
67
|
+
}),
|
|
68
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
69
|
+
state = _useState2[0],
|
|
70
|
+
setState = _useState2[1];
|
|
71
|
+
useEffect(() => {
|
|
72
|
+
let _isUnmounting = false;
|
|
73
|
+
async function load() {
|
|
74
|
+
try {
|
|
75
|
+
if (!_isUnmounting) {
|
|
76
|
+
const messages = await loader(locale);
|
|
77
|
+
setState({
|
|
78
|
+
isLoading: false,
|
|
79
|
+
messages
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
} catch (error) {
|
|
83
|
+
setState({
|
|
84
|
+
isLoading: false,
|
|
85
|
+
error
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
if (locale) load();
|
|
90
|
+
return () => {
|
|
91
|
+
_isUnmounting = true;
|
|
92
|
+
};
|
|
93
|
+
}, [locale, loader]);
|
|
94
|
+
return state;
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
function validate() {
|
|
98
|
+
const errors = {};
|
|
99
|
+
return omitEmpty(errors);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
const ImportResourcesContext = /*#__PURE__*/React.createContext();
|
|
103
|
+
const ImportResourcesProvider = props => {
|
|
104
|
+
const onSubmit = async values => {
|
|
105
|
+
};
|
|
106
|
+
const formik = useFormik({
|
|
107
|
+
initialValues: {},
|
|
108
|
+
validate,
|
|
109
|
+
onSubmit
|
|
110
|
+
});
|
|
111
|
+
return jsx(ImportResourcesContext.Provider, {
|
|
112
|
+
value: {
|
|
113
|
+
formik,
|
|
114
|
+
onClose: props.onClose,
|
|
115
|
+
resourceType: props.resourceType
|
|
116
|
+
},
|
|
117
|
+
children: props.children
|
|
118
|
+
});
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
122
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
123
|
+
const ImportResourcesModal = props => {
|
|
124
|
+
const _useApplicationContex = useApplicationContext(context => ({
|
|
125
|
+
locale: context.user && context.user.locale
|
|
126
|
+
})),
|
|
127
|
+
locale = _useApplicationContex.locale;
|
|
128
|
+
const messages = useAsyncIntlMessages('en', loadI18n);
|
|
129
|
+
if (!props.isOpen || messages.isLoading) return null;
|
|
130
|
+
return jsx(IntlProvider, {
|
|
131
|
+
locale: locale,
|
|
132
|
+
messages: messages.messages,
|
|
133
|
+
children: jsx(ImportResourcesProvider, _objectSpread(_objectSpread({}, props), {}, {
|
|
134
|
+
children: "Import resources modal"
|
|
135
|
+
}))
|
|
136
|
+
});
|
|
137
|
+
};
|
|
138
|
+
ImportResourcesModal.displayName = 'ImportResourcesModal';
|
|
139
|
+
|
|
140
|
+
export { ImportResourcesModal as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type ResourceType = 'category' | 'product';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ImportResourcesModalProps } from "./@types/index.js";
|
|
2
|
+
declare const ImportResourcesModal: {
|
|
3
|
+
(props: ImportResourcesModalProps): import("@emotion/react/types/jsx-namespace").EmotionJSX.Element | null;
|
|
4
|
+
displayName: string;
|
|
5
|
+
};
|
|
6
|
+
export default ImportResourcesModal;
|
package/package.json
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@commercetools-frontend-extensions/import-resources-modal",
|
|
3
|
+
"description": "Shared import modal for importing resources",
|
|
4
|
+
"version": "0.0.1",
|
|
5
|
+
"license": "BSD-3-Clause",
|
|
6
|
+
"publishConfig": {
|
|
7
|
+
"access": "public"
|
|
8
|
+
},
|
|
9
|
+
"main": "dist/commercetools-frontend-extensions-import-resources-modal.cjs.js",
|
|
10
|
+
"module": "dist/commercetools-frontend-extensions-import-resources-modal.esm.js",
|
|
11
|
+
"files": [
|
|
12
|
+
"dist",
|
|
13
|
+
"package.json",
|
|
14
|
+
"LICENSE",
|
|
15
|
+
"README.md"
|
|
16
|
+
],
|
|
17
|
+
"dependencies": {
|
|
18
|
+
"@babel/runtime": "7.24.5",
|
|
19
|
+
"@babel/runtime-corejs3": "7.24.5",
|
|
20
|
+
"@emotion/react": "11.11.4",
|
|
21
|
+
"@emotion/styled": "11.11.5",
|
|
22
|
+
"@formatjs/cli": "6.2.10",
|
|
23
|
+
"formik": "^2.2.9",
|
|
24
|
+
"gql-query-builder": "^3.8.0",
|
|
25
|
+
"jest": "29.7.0",
|
|
26
|
+
"lodash": "4.17.21",
|
|
27
|
+
"moment": "2.30.1",
|
|
28
|
+
"omit-empty-es": "^1.1.3",
|
|
29
|
+
"prop-types": "15.8.1",
|
|
30
|
+
"react": "17.0.2"
|
|
31
|
+
},
|
|
32
|
+
"devDependencies": {
|
|
33
|
+
"@commercetools-frontend/actions-global": "22.26.0",
|
|
34
|
+
"@commercetools-frontend/application-components": "22.26.0",
|
|
35
|
+
"@commercetools-frontend/application-shell": "22.26.0",
|
|
36
|
+
"@commercetools-frontend/application-shell-connectors": "22.26.0",
|
|
37
|
+
"@commercetools-frontend/constants": "22.26.0",
|
|
38
|
+
"@commercetools-frontend/i18n": "22.26.0",
|
|
39
|
+
"@commercetools-frontend/jest-preset-mc-app": "22.26.0",
|
|
40
|
+
"@commercetools-frontend/sdk": "22.26.0",
|
|
41
|
+
"@commercetools-frontend/sentry": "22.26.0",
|
|
42
|
+
"@commercetools-frontend/ui-kit": "19.3.1",
|
|
43
|
+
"@commercetools-uikit/design-system": "19.3.1",
|
|
44
|
+
"@preconstruct/cli": "2.8.4",
|
|
45
|
+
"@types/jest": "29.5.12",
|
|
46
|
+
"@types/testing-library__jest-dom": "^5.14.5",
|
|
47
|
+
"msw": "1.3.3",
|
|
48
|
+
"react-intl": "6.6.6",
|
|
49
|
+
"react-redux": "7.2.9",
|
|
50
|
+
"redux": "4.2.1",
|
|
51
|
+
"rimraf": "5.0.5"
|
|
52
|
+
},
|
|
53
|
+
"peerDependencies": {
|
|
54
|
+
"@commercetools-frontend/actions-global": "22.x",
|
|
55
|
+
"@commercetools-frontend/application-components": "22.x",
|
|
56
|
+
"@commercetools-frontend/application-shell": "22.x",
|
|
57
|
+
"@commercetools-frontend/application-shell-connectors": "22.x",
|
|
58
|
+
"@commercetools-frontend/constants": "22.x",
|
|
59
|
+
"@commercetools-frontend/i18n": "22.x",
|
|
60
|
+
"@commercetools-frontend/jest-preset-mc-app": "22.x",
|
|
61
|
+
"@commercetools-frontend/sdk": "22.x",
|
|
62
|
+
"@commercetools-frontend/sentry": "22.x",
|
|
63
|
+
"@commercetools-frontend/ui-kit": "17.x || 18.x || 19.x",
|
|
64
|
+
"@commercetools-uikit/design-system": "17.x || 18.x || 19.x",
|
|
65
|
+
"react-intl": "6.x",
|
|
66
|
+
"react-redux": "7.x",
|
|
67
|
+
"redux": "4.x"
|
|
68
|
+
},
|
|
69
|
+
"scripts": {
|
|
70
|
+
"build": "rimraf dist && preconstruct build",
|
|
71
|
+
"test": "jest --config jest.test.config.js",
|
|
72
|
+
"test:watch": "jest --config jest.test.config.js --watch",
|
|
73
|
+
"build:bundles": "pnpm build",
|
|
74
|
+
"build:watch": "preconstruct watch",
|
|
75
|
+
"extract-intl": "formatjs extract --format transifex --out-file $(pwd)/src/i18n/data/core.json 'src/**/(*.)?messages.(js|ts)'",
|
|
76
|
+
"typecheck": "tsc --noEmit"
|
|
77
|
+
}
|
|
78
|
+
}
|