REFACTOR: Support bundling our admin section as an ember addon

This commit is contained in:
Robin Ward
2020-09-22 14:18:47 -04:00
parent cfb3f4db13
commit ce3fe2f4c4
448 changed files with 130 additions and 29 deletions
@@ -0,0 +1,46 @@
import { ajax } from "discourse/lib/ajax";
import discourseComputed from "discourse-common/utils/decorators";
import DiscourseURL from "discourse/lib/url";
import Category from "discourse/models/category";
import EmberObject from "@ember/object";
const Permalink = EmberObject.extend({
save: function () {
return ajax("/admin/permalinks.json", {
type: "POST",
data: {
url: this.url,
permalink_type: this.permalink_type,
permalink_type_value: this.permalink_type_value,
},
});
},
@discourseComputed("category_id")
category: function (category_id) {
return Category.findById(category_id);
},
@discourseComputed("external_url")
linkIsExternal: function (external_url) {
return !DiscourseURL.isInternal(external_url);
},
destroy: function () {
return ajax("/admin/permalinks/" + this.id + ".json", {
type: "DELETE",
});
},
});
Permalink.reopenClass({
findAll: function (filter) {
return ajax("/admin/permalinks.json", { data: { filter: filter } }).then(
function (permalinks) {
return permalinks.map((p) => Permalink.create(p));
}
);
},
});
export default Permalink;