in console-ui/src/pages/ConfigurationManagement/ConfigurationManagement/ConfigurationManagement.js [1071:1196]
importData() {
const { locale = {} } = this.props;
const self = this;
self.field.setValue('sameConfigPolicy', 'ABORT');
const _LOGINPAGE_ENABLED = localStorage.getItem(LOGINPAGE_ENABLED);
let token = {};
if (_LOGINPAGE_ENABLED !== 'false') {
try {
token = JSON.parse(localStorage.token);
} catch (e) {
console.log(e);
goLogin();
Dialog.alert({
title: locale.importFail,
content: locale.authFail,
});
return;
}
}
const { accessToken = '', username = '' } = token;
const uploadProps = {
accept: 'application/zip',
action: `v3/console/cs/config/import?namespaceId=${getParams(
'namespace'
)}&accessToken=${accessToken}&username=${username}`,
headers: Object.assign({}, {}, { accessToken }),
data: {
policy: self.field.getValue('sameConfigPolicy'),
},
beforeUpload(file, options) {
options.data = {
policy: self.field.getValue('sameConfigPolicy'),
};
return options;
},
onSuccess(ret) {
self.processImportAndCloneResult(ret.response, locale, importConfirm, true);
},
onError(err) {
const { data = {}, status } = err.response;
if ([401, 403].includes(status)) {
Dialog.alert({
title: locale.importFail,
content: locale.importFail403,
});
} else {
Dialog.alert({
title: locale.importFail,
content: locale.importDataValidationError,
});
}
},
};
const importConfirm = Dialog.confirm({
title: locale.import,
footer: false,
content: (
<div>
<div style={{ marginBottom: 10 }}>
<span
style={{
color: '#999',
marginRight: 5,
}}
>
{locale.targetNamespace}:
</span>
<span style={{ color: '#49D2E7' }}>{this.state.nownamespace_name} </span>|{' '}
{this.state.nownamespace_id}
</div>
<div style={{ marginBottom: 10 }}>
<span
style={{
color: '#999',
marginRight: 5,
}}
>
{locale.samePreparation}:
</span>
<Select
style={{ width: 130 }}
size={'medium'}
hasArrow
mode="single"
filterLocal={false}
defaultValue={'ABORT'}
dataSource={[
{
label: locale.abortImport,
value: 'ABORT',
},
{
label: locale.skipImport,
value: 'SKIP',
},
{
label: locale.overwriteImport,
value: 'OVERWRITE',
},
]}
hasClear={false}
onChange={function(value, actionType, item) {
self.field.setValue('sameConfigPolicy', value);
}}
/>
</div>
<div style={{ marginBottom: 10 }}>
<Icon type="prompt" style={{ color: '#FFA003', marginRight: '10px' }} />
{locale.importRemind}
</div>
<div>
<Upload
name={'file'}
listType="text"
data-spm-click={'gostr=/aliyun;locaid=configsImport'}
{...uploadProps}
>
<Button type="primary">{locale.uploadBtn}</Button>
</Upload>
</div>
</div>
),
});
}