47 lines
1.1 KiB
JavaScript
47 lines
1.1 KiB
JavaScript
import computed from "ember-addons/ember-computed-decorators";
|
|
import UploadMixin from "discourse/mixins/upload";
|
|
|
|
export default Ember.Component.extend(UploadMixin, {
|
|
type: "csv",
|
|
tagName: "span",
|
|
uploadUrl: "/invites/upload_csv",
|
|
|
|
validateUploadedFilesOptions() {
|
|
return { csvOnly: true };
|
|
},
|
|
|
|
@computed("uploading")
|
|
uploadButtonText(uploading) {
|
|
return uploading
|
|
? I18n.t("uploading")
|
|
: I18n.t("user.invited.bulk_invite.text");
|
|
},
|
|
|
|
@computed("uploading")
|
|
uploadButtonDisabled(uploading) {
|
|
// https://github.com/emberjs/ember.js/issues/10976#issuecomment-132417731
|
|
return uploading ? true : null;
|
|
},
|
|
|
|
uploadDone() {
|
|
bootbox.alert(I18n.t("user.invited.bulk_invite.success"));
|
|
},
|
|
|
|
uploadOptions() {
|
|
return { autoUpload: false };
|
|
},
|
|
|
|
_init: function() {
|
|
const $upload = this.$();
|
|
|
|
$upload.on("fileuploadadd", (e, data) => {
|
|
bootbox.confirm(
|
|
I18n.t("user.invited.bulk_invite.confirmation_message"),
|
|
I18n.t("cancel"),
|
|
I18n.t("go_ahead"),
|
|
result => (result ? data.submit() : data.abort())
|
|
);
|
|
});
|
|
}.on("didInsertElement")
|
|
});
|