1
0
Fork 0
discourse-custom-wizard-unl.../assets/javascripts/discourse/models/custom-wizard-manager.js.es6
Angus McLeod 066eef4ef8 FEATURE: Wizard Manager
The "Transfer" UI has been upgraded into a full wizard manager, adding additional import/export features and bulk-delete functionality
2020-11-09 14:32:36 +11:00

43 Zeilen
Kein EOL
1.001 B
JavaScript

import { ajax } from 'discourse/lib/ajax';
import { popupAjaxError } from 'discourse/lib/ajax-error';
import EmberObject from "@ember/object";
const CustomWizardManager = EmberObject.extend();
const basePath = "admin/wizards/manager";
CustomWizardManager.reopenClass({
import($formData) {
return ajax(`/${basePath}/import`, {
type: 'POST',
data: $formData,
processData: false,
contentType: false,
}).catch(popupAjaxError);
},
export(wizardIds) {
let url = `${Discourse.BaseUrl}/${basePath}/export?`;
wizardIds.forEach((wizardId, index) => {
let step = 'wizard_ids[]=' + wizardId;
if (index !== wizardIds[wizardIds.length - 1]) {
step += '&';
}
url += step;
});
location.href = url;
},
destroy(wizardIds) {
return ajax(`/${basePath}/destroy`, {
type: "DELETE",
data: {
wizard_ids: wizardIds
}
}).catch(popupAjaxError);
}
});
export default CustomWizardManager;