This repository has been archived on 2023-03-18. You can view files and clone it, but cannot push or open issues or pull requests.
osr-discourse-src/app/assets/javascripts/discourse/models/draft.js

79 lines
1.5 KiB
JavaScript

/**
A data model representing a draft post
@class Draft
@extends Discourse.Model
@namespace Discourse
@module Discourse
**/
Discourse.Draft = Discourse.Model.extend({});
Discourse.Draft.reopenClass({
clear: function(key, sequence) {
return $.ajax({
type: 'DELETE',
url: "/draft",
data: {
draft_key: key,
sequence: sequence
}
});
},
get: function(key) {
var promise,
_this = this;
promise = new RSVP.Promise();
$.ajax({
url: '/draft',
data: {
draft_key: key
},
dataType: 'json',
success: function(data) {
return promise.resolve(data);
}
});
return promise;
},
getLocal: function(key, current) {
var local;
return current;
},
save: function(key, sequence, data) {
var promise;
promise = new RSVP.Promise();
data = typeof data === "string" ? data : JSON.stringify(data);
$.ajax({
type: 'POST',
url: "/draft",
data: {
draft_key: key,
data: data,
sequence: sequence
},
success: function() {
/* don't keep local
*/
/* Discourse.KeyValueStore.remove("draft_#{key}")
*/
return promise.resolve();
},
error: function() {
/* save local
*/
/* Discourse.KeyValueStore.set(key: "draft_#{key}", value: data)
*/
return promise.reject();
}
});
return promise;
}
});