diff --git a/assets/javascripts/discourse/components/wizard-value-list.js b/assets/javascripts/discourse/components/wizard-value-list.js index ccc547944..182404fdd 100644 --- a/assets/javascripts/discourse/components/wizard-value-list.js +++ b/assets/javascripts/discourse/components/wizard-value-list.js @@ -1,12 +1,20 @@ -import ValueList from "admin/components/value-list"; - -export default ValueList.extend({ - _saveValues() { - if (this.inputType === "array") { - this.onChange(this.collection); - return; - } - - this.onChange(this.collection.join(this.inputDelimiter || "\n")); - }, -}); +import { optionalRequire } from "discourse/lib/utilities"; + +const ValueList = optionalRequire("admin/components/value-list"); + +let WizardValueList; + +if (ValueList) { + ValueList.extend({ + _saveValues() { + if (this.inputType === "array") { + this.onChange(this.collection); + return; + } + + this.onChange(this.collection.join(this.inputDelimiter || "\n")); + }, + }); +} + +export default WizardValueList; diff --git a/assets/javascripts/discourse/initializers/custom-wizard-dynamic-schema.js b/assets/javascripts/discourse/initializers/custom-wizard-dynamic-schema.js new file mode 100644 index 000000000..948ca701e --- /dev/null +++ b/assets/javascripts/discourse/initializers/custom-wizard-dynamic-schema.js @@ -0,0 +1,14 @@ +import wizardSchema from "../lib/wizard-schema"; + +export default { + initialize(container) { + const siteSettings = container.lookup("service:site-settings"); + if (siteSettings.wizard_apis_enabled) { + wizardSchema.action.types.send_to_api = { + api: null, + api_endpoint: null, + api_body: null, + }; + } + }, +}; diff --git a/assets/javascripts/discourse/lib/wizard-schema.js b/assets/javascripts/discourse/lib/wizard-schema.js index 9b0f73890..424af3277 100644 --- a/assets/javascripts/discourse/lib/wizard-schema.js +++ b/assets/javascripts/discourse/lib/wizard-schema.js @@ -288,15 +288,6 @@ export function filterValues(currentWizard, feature, attribute, values = null) { return values; } -const siteSettings = getOwnerWithFallback(this).lookup("service:site-settings"); -if (siteSettings.wizard_apis_enabled) { - wizardSchema.action.types.send_to_api = { - api: null, - api_endpoint: null, - api_body: null, - }; -} - export function setWizardDefaults(obj, itemType) { const objSchema = wizardSchema[itemType]; const basicDefaults = objSchema.basic;