discourse/app/assets/javascripts/admin/models/permalink.js

Failed to ignore revisions in .git-blame-ignore-revs.

47 lines
1.2 KiB
JavaScript
Raw Normal View History

2018-06-15 11:03:24 -04:00
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";
2019-11-08 14:13:35 -05:00
import EmberObject from "@ember/object";
const Permalink = EmberObject.extend({
2015-07-15 08:54:28 -04:00
save: function() {
2016-06-30 13:55:44 -04:00
return ajax("/admin/permalinks.json", {
2018-06-15 11:03:24 -04:00
type: "POST",
data: {
url: this.url,
permalink_type: this.permalink_type,
permalink_type_value: this.permalink_type_value
2018-06-15 11:03:24 -04:00
}
2015-07-15 08:54:28 -04:00
});
},
@discourseComputed("category_id")
category: function(category_id) {
return Category.findById(category_id);
},
@discourseComputed("external_url")
linkIsExternal: function(external_url) {
return !DiscourseURL.isInternal(external_url);
},
2015-07-15 08:54:28 -04:00
destroy: function() {
return ajax("/admin/permalinks/" + this.id + ".json", {
2018-06-15 11:03:24 -04:00
type: "DELETE"
});
2015-07-15 08:54:28 -04:00
}
});
Permalink.reopenClass({
findAll: function(filter) {
2018-06-15 11:03:24 -04:00
return ajax("/admin/permalinks.json", { data: { filter: filter } }).then(
function(permalinks) {
return permalinks.map(p => Permalink.create(p));
}
);
2015-07-15 08:54:28 -04:00
}
});
export default Permalink;