0
0
Fork 1
Spiegel von https://github.com/paviliondev/discourse-custom-wizard.git synchronisiert 2024-11-15 22:32:54 +01:00
discourse-custom-wizard/assets/javascripts/discourse/controllers/admin-wizards-custom-fields.js.es6
2021-02-24 18:43:35 +11:00

57 Zeilen
1,5 KiB
JavaScript

import Controller from "@ember/controller";
import EmberObject from "@ember/object";
import { ajax } from "discourse/lib/ajax";
import { popupAjaxError } from "discourse/lib/ajax-error";
import CustomWizardCustomField from "../models/custom-wizard-custom-field";
import { default as discourseComputed } from "discourse-common/utils/decorators";
export default Controller.extend({
messageKey: "create",
fieldKeys: ["klass", "type", "serializers", "name"],
documentationUrl: "https://thepavilion.io/t/3572",
actions: {
addField() {
this.get("customFields").pushObject(
CustomWizardCustomField.create({ edit: true })
);
},
saveField(field) {
return CustomWizardCustomField.saveField(field).then((result) => {
if (result.success) {
this.setProperties({
messageKey: "saved",
messageType: "success",
});
} else {
if (result.messages) {
this.setProperties({
messageKey: "error",
messageType: "error",
messageOpts: { messages: result.messages },
});
}
}
setTimeout(
() =>
this.setProperties({
messageKey: "create",
messageType: null,
messageOpts: null,
}),
10000
);
return result;
});
},
removeField(field) {
return CustomWizardCustomField.destroyField(field).then((result) => {
this.get("customFields").removeObject(field);
});
},
},
});