COMPATIBILITY: The core wizard is now an ember addon
Dieser Commit ist enthalten in:
Ursprung
aea2df9b06
Commit
70329f209a
12 geänderte Dateien mit 137 neuen und 10 gelöschten Zeilen
|
@ -1,8 +1,6 @@
|
||||||
//= require_tree_discourse truth-helpers/addon
|
//= require_tree_discourse truth-helpers/addon
|
||||||
//= require_tree_discourse discourse-common/addon
|
//= require_tree_discourse discourse-common/addon
|
||||||
//= require_tree_discourse select-kit/addon
|
//= require_tree_discourse select-kit/addon
|
||||||
//= require_tree_discourse wizard/lib
|
|
||||||
//= require_tree_discourse wizard/mixins
|
|
||||||
//= require_tree_discourse discourse/app/lib
|
//= require_tree_discourse discourse/app/lib
|
||||||
//= require_tree_discourse discourse/app/mixins
|
//= require_tree_discourse discourse/app/mixins
|
||||||
|
|
||||||
|
@ -76,6 +74,7 @@
|
||||||
//= require_tree ./wizard/controllers
|
//= require_tree ./wizard/controllers
|
||||||
//= require_tree ./wizard/helpers
|
//= require_tree ./wizard/helpers
|
||||||
//= require_tree ./wizard/lib
|
//= require_tree ./wizard/lib
|
||||||
|
//= require_tree ./wizard/mixins
|
||||||
//= require_tree ./wizard/models
|
//= require_tree ./wizard/models
|
||||||
//= require_tree ./wizard/routes
|
//= require_tree ./wizard/routes
|
||||||
//= require_tree ./wizard/templates
|
//= require_tree ./wizard/templates
|
||||||
|
|
47
assets/javascripts/wizard-shims.js
Normale Datei
47
assets/javascripts/wizard-shims.js
Normale Datei
|
@ -0,0 +1,47 @@
|
||||||
|
define("@popperjs/core", ["exports"], function (__exports__) {
|
||||||
|
__exports__.default = window.Popper;
|
||||||
|
__exports__.createPopper = window.Popper.createPopper;
|
||||||
|
__exports__.defaultModifiers = window.Popper.defaultModifiers;
|
||||||
|
__exports__.popperGenerator = window.Popper.popperGenerator;
|
||||||
|
});
|
||||||
|
|
||||||
|
define("tippy.js", ["exports"], function (__exports__) {
|
||||||
|
__exports__.default = window.tippy;
|
||||||
|
});
|
||||||
|
|
||||||
|
define("@uppy/core", ["exports"], function (__exports__) {
|
||||||
|
__exports__.default = window.Uppy.Core;
|
||||||
|
__exports__.BasePlugin = window.Uppy.Core.BasePlugin;
|
||||||
|
});
|
||||||
|
|
||||||
|
define("@uppy/aws-s3", ["exports"], function (__exports__) {
|
||||||
|
__exports__.default = window.Uppy.AwsS3;
|
||||||
|
});
|
||||||
|
|
||||||
|
define("@uppy/aws-s3-multipart", ["exports"], function (__exports__) {
|
||||||
|
__exports__.default = window.Uppy.AwsS3Multipart;
|
||||||
|
});
|
||||||
|
|
||||||
|
define("@uppy/xhr-upload", ["exports"], function (__exports__) {
|
||||||
|
__exports__.default = window.Uppy.XHRUpload;
|
||||||
|
});
|
||||||
|
|
||||||
|
define("@uppy/drop-target", ["exports"], function (__exports__) {
|
||||||
|
__exports__.default = window.Uppy.DropTarget;
|
||||||
|
});
|
||||||
|
|
||||||
|
define("@uppy/utils/lib/delay", ["exports"], function (__exports__) {
|
||||||
|
__exports__.default = window.Uppy.Utils.delay;
|
||||||
|
});
|
||||||
|
|
||||||
|
define("@uppy/utils/lib/EventTracker", ["exports"], function (__exports__) {
|
||||||
|
__exports__.default = window.Uppy.Utils.EventTracker;
|
||||||
|
});
|
||||||
|
|
||||||
|
define("@uppy/utils/lib/AbortController", ["exports"], function (__exports__) {
|
||||||
|
__exports__.AbortController =
|
||||||
|
window.Uppy.Utils.AbortControllerLib.AbortController;
|
||||||
|
__exports__.AbortSignal = window.Uppy.Utils.AbortControllerLib.AbortSignal;
|
||||||
|
__exports__.createAbortError =
|
||||||
|
window.Uppy.Utils.AbortControllerLib.createAbortError;
|
||||||
|
});
|
10
assets/javascripts/wizard-vendor.js
Normale Datei
10
assets/javascripts/wizard-vendor.js
Normale Datei
|
@ -0,0 +1,10 @@
|
||||||
|
//= require ember_jquery
|
||||||
|
//= require template_include.js
|
||||||
|
//= require uppy.js
|
||||||
|
//= require bootstrap-modal.js
|
||||||
|
//= require bootbox.js
|
||||||
|
//= require virtual-dom
|
||||||
|
//= require virtual-dom-amd
|
||||||
|
//= require popper.js
|
||||||
|
//= require tippy.umd.js
|
||||||
|
//= require wizard-shims
|
|
@ -1,7 +1,7 @@
|
||||||
import Component from "@ember/component";
|
import Component from "@ember/component";
|
||||||
import { equal } from "@ember/object/computed";
|
import { equal } from "@ember/object/computed";
|
||||||
import { ajax } from "discourse/lib/ajax";
|
import { ajax } from "discourse/lib/ajax";
|
||||||
import { getToken } from "wizard/lib/ajax";
|
import { getToken } from "../lib/ajax";
|
||||||
|
|
||||||
export default Component.extend({
|
export default Component.extend({
|
||||||
classNames: ["validator"],
|
classNames: ["validator"],
|
||||||
|
|
33
assets/javascripts/wizard/lib/ajax.js.es6
Normale Datei
33
assets/javascripts/wizard/lib/ajax.js.es6
Normale Datei
|
@ -0,0 +1,33 @@
|
||||||
|
import { Promise } from "rsvp";
|
||||||
|
import getUrl from "discourse-common/lib/get-url";
|
||||||
|
import jQuery from "jquery";
|
||||||
|
import { run } from "@ember/runloop";
|
||||||
|
|
||||||
|
let token;
|
||||||
|
|
||||||
|
export function getToken() {
|
||||||
|
if (!token) {
|
||||||
|
token = document.querySelector('meta[name="csrf-token"]')?.content;
|
||||||
|
}
|
||||||
|
|
||||||
|
return token;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function ajax(args) {
|
||||||
|
let url;
|
||||||
|
|
||||||
|
if (arguments.length === 2) {
|
||||||
|
url = arguments[0];
|
||||||
|
args = arguments[1];
|
||||||
|
} else {
|
||||||
|
url = args.url;
|
||||||
|
}
|
||||||
|
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
args.headers = { "X-CSRF-Token": getToken() };
|
||||||
|
args.success = (data) => run(null, resolve, data);
|
||||||
|
args.error = (xhr) => run(null, reject, xhr);
|
||||||
|
args.url = getUrl(url);
|
||||||
|
jQuery.ajax(args);
|
||||||
|
});
|
||||||
|
}
|
|
@ -1,6 +1,8 @@
|
||||||
export default {
|
export default {
|
||||||
run(app, container) {
|
run(app, container) {
|
||||||
const getToken = requirejs("wizard/lib/ajax").getToken;
|
const getToken = requirejs(
|
||||||
|
"discourse/plugins/discourse-custom-wizard/wizard/lib/ajax"
|
||||||
|
).getToken;
|
||||||
const isTesting = requirejs("discourse-common/config/environment")
|
const isTesting = requirejs("discourse-common/config/environment")
|
||||||
.isTesting;
|
.isTesting;
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { ajax } from "wizard/lib/ajax";
|
import { ajax } from "./ajax";
|
||||||
import getURL, { getURLWithCDN } from "discourse-common/lib/get-url";
|
import getURL, { getURLWithCDN } from "discourse-common/lib/get-url";
|
||||||
import { run } from "@ember/runloop";
|
import { run } from "@ember/runloop";
|
||||||
import { Promise } from "rsvp";
|
import { Promise } from "rsvp";
|
||||||
|
|
36
assets/javascripts/wizard/mixins/valid-state.js.es6
Normale Datei
36
assets/javascripts/wizard/mixins/valid-state.js.es6
Normale Datei
|
@ -0,0 +1,36 @@
|
||||||
|
import discourseComputed from "discourse-common/utils/decorators";
|
||||||
|
|
||||||
|
export const States = {
|
||||||
|
UNCHECKED: 0,
|
||||||
|
INVALID: 1,
|
||||||
|
VALID: 2,
|
||||||
|
};
|
||||||
|
|
||||||
|
export default {
|
||||||
|
_validState: null,
|
||||||
|
errorDescription: null,
|
||||||
|
|
||||||
|
init() {
|
||||||
|
this._super(...arguments);
|
||||||
|
this.set("_validState", States.UNCHECKED);
|
||||||
|
},
|
||||||
|
|
||||||
|
@discourseComputed("_validState")
|
||||||
|
valid: (state) => state === States.VALID,
|
||||||
|
|
||||||
|
@discourseComputed("_validState")
|
||||||
|
invalid: (state) => state === States.INVALID,
|
||||||
|
|
||||||
|
@discourseComputed("_validState")
|
||||||
|
unchecked: (state) => state === States.UNCHECKED,
|
||||||
|
|
||||||
|
setValid(valid, description) {
|
||||||
|
this.set("_validState", valid ? States.VALID : States.INVALID);
|
||||||
|
|
||||||
|
if (!valid && description && description.length) {
|
||||||
|
this.set("errorDescription", description);
|
||||||
|
} else {
|
||||||
|
this.set("errorDescription", null);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
};
|
|
@ -1,5 +1,5 @@
|
||||||
import EmberObject from "@ember/object";
|
import EmberObject from "@ember/object";
|
||||||
import ValidState from "wizard/mixins/valid-state";
|
import ValidState from "discourse/plugins/discourse-custom-wizard/wizard/mixins/valid-state";
|
||||||
import discourseComputed from "discourse-common/utils/decorators";
|
import discourseComputed from "discourse-common/utils/decorators";
|
||||||
import { translatedText } from "discourse/plugins/discourse-custom-wizard/wizard/lib/wizard-i18n";
|
import { translatedText } from "discourse/plugins/discourse-custom-wizard/wizard/lib/wizard-i18n";
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import EmberObject from "@ember/object";
|
import EmberObject from "@ember/object";
|
||||||
import ValidState from "wizard/mixins/valid-state";
|
import ValidState from "discourse/plugins/discourse-custom-wizard/wizard/mixins/valid-state";
|
||||||
import { ajax } from "wizard/lib/ajax";
|
import { ajax } from "../lib/ajax";
|
||||||
import discourseComputed from "discourse-common/utils/decorators";
|
import discourseComputed from "discourse-common/utils/decorators";
|
||||||
import { translatedText } from "discourse/plugins/discourse-custom-wizard/wizard/lib/wizard-i18n";
|
import { translatedText } from "discourse/plugins/discourse-custom-wizard/wizard/lib/wizard-i18n";
|
||||||
import { later } from "@ember/runloop";
|
import { later } from "@ember/runloop";
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { default as computed } from "discourse-common/utils/decorators";
|
import { default as computed } from "discourse-common/utils/decorators";
|
||||||
import getUrl from "discourse-common/lib/get-url";
|
import getUrl from "discourse-common/lib/get-url";
|
||||||
import Field from "./field";
|
import Field from "./field";
|
||||||
import { ajax } from "wizard/lib/ajax";
|
import { ajax } from "../lib/ajax";
|
||||||
import { popupAjaxError } from "discourse/lib/ajax-error";
|
import { popupAjaxError } from "discourse/lib/ajax-error";
|
||||||
import Step from "./step";
|
import Step from "./step";
|
||||||
import EmberObject from "@ember/object";
|
import EmberObject from "@ember/object";
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
# name: discourse-custom-wizard
|
# name: discourse-custom-wizard
|
||||||
# about: Create custom wizards
|
# about: Create custom wizards
|
||||||
# version: 1.19.0
|
# version: 1.20.0
|
||||||
# authors: Angus McLeod
|
# authors: Angus McLeod
|
||||||
# url: https://github.com/paviliondev/discourse-custom-wizard
|
# url: https://github.com/paviliondev/discourse-custom-wizard
|
||||||
# contact emails: angus@thepavilion.io
|
# contact emails: angus@thepavilion.io
|
||||||
|
|
Laden …
In neuem Issue referenzieren