REFACTOR: Support bundling our admin section as an ember addon
This commit is contained in:
@@ -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;
|
||||
Reference in New Issue
Block a user