0
0
Fork 1
Spiegel von https://github.com/paviliondev/discourse-custom-wizard.git synchronisiert 2024-11-22 09:20:29 +01:00
Dieser Commit ist enthalten in:
angusmcleod 2021-07-14 14:05:13 +08:00
Ursprung 34fee3729c
Commit 56a1463413
3 geänderte Dateien mit 52 neuen und 48 gelöschten Zeilen

Datei anzeigen

@ -1,34 +1,36 @@
import Controller from "@ember/controller";
import { fmt } from "discourse/lib/computed";
import { empty } from '@ember/object/computed';
import { empty } from "@ember/object/computed";
import CustomWizard from "../models/custom-wizard";
export default Controller.extend({
downloadUrl: fmt("wizard.id", "/admin/wizards/submissions/%@/download"),
noResults: empty('submissions'),
noResults: empty("submissions"),
page: 0,
total: 0,
loadMoreSubmissions() {
const page = this.get('page');
const wizardId = this.get('wizard.id');
const page = this.get("page");
const wizardId = this.get("wizard.id");
this.set('loadingMore', true);
CustomWizard.submissions(wizardId, page).then(result => {
if (result.submissions) {
this.get('submissions').pushObjects(result.submissions);
}
}).finally(() => {
this.set('loadingMore', false);
});
this.set("loadingMore", true);
CustomWizard.submissions(wizardId, page)
.then((result) => {
if (result.submissions) {
this.get("submissions").pushObjects(result.submissions);
}
})
.finally(() => {
this.set("loadingMore", false);
});
},
actions: {
loadMore() {
if (!this.loadingMore && (this.submissions.length < this.total)) {
this.set('page', this.get('page') + 1);
if (!this.loadingMore && this.submissions.length < this.total) {
this.set("page", this.get("page") + 1);
this.loadMoreSubmissions();
}
}
}
},
},
});

Datei anzeigen

@ -220,43 +220,45 @@ CustomWizard.reopenClass({
return ajax(`/admin/wizards/submissions/${wizardId}`, {
type: "GET",
data
}).then(result => {
if (result.wizard) {
let fields = ["username"];
let submissions = [];
let wizard = result.wizard;
let total = result.total;
data,
})
.then((result) => {
if (result.wizard) {
let fields = ["username"];
let submissions = [];
let wizard = result.wizard;
let total = result.total;
result.submissions.forEach((s) => {
let submission = {
username: s.username,
};
result.submissions.forEach((s) => {
let submission = {
username: s.username,
};
Object.keys(s.fields).forEach((f) => {
if (fields.indexOf(f) < 0) {
fields.push(f);
}
Object.keys(s.fields).forEach((f) => {
if (fields.indexOf(f) < 0) {
fields.push(f);
}
if (fields.includes(f)) {
submission[f] = s.fields[f];
}
if (fields.includes(f)) {
submission[f] = s.fields[f];
}
});
submission["submitted_at"] = s.submitted_at;
submissions.push(submission);
});
submission['submitted_at'] = s.submitted_at;
submissions.push(submission);
});
fields.push("submitted_at");
fields.push("submitted_at");
return {
wizard,
fields,
submissions,
total
};
}
}).catch(popupAjaxError);
return {
wizard,
fields,
submissions,
total,
};
}
})
.catch(popupAjaxError);
},
create(wizardJson = {}) {

Datei anzeigen

@ -12,7 +12,7 @@ export default DiscourseRoute.extend({
wizard: model.wizard,
fields: model.fields,
submissions: A(model.submissions),
total: model.total
total: model.total,
});
},
});