mirror of
https://github.com/rr-/szurubooru.git
synced 2025-07-17 08:26:24 +00:00
Switched to spaces
This commit is contained in:
@ -2,154 +2,154 @@ var App = App || {};
|
||||
App.Presenters = App.Presenters || {};
|
||||
|
||||
App.Presenters.PostEditPresenter = function(
|
||||
jQuery,
|
||||
util,
|
||||
promise,
|
||||
api,
|
||||
auth,
|
||||
tagList) {
|
||||
jQuery,
|
||||
util,
|
||||
promise,
|
||||
api,
|
||||
auth,
|
||||
tagList) {
|
||||
|
||||
var $target;
|
||||
var post;
|
||||
var updateCallback;
|
||||
var privileges = {};
|
||||
var templates = {};
|
||||
var $target;
|
||||
var post;
|
||||
var updateCallback;
|
||||
var privileges = {};
|
||||
var templates = {};
|
||||
|
||||
var tagInput;
|
||||
var postContentFileDropper;
|
||||
var postThumbnailFileDropper;
|
||||
var postContent;
|
||||
var postThumbnail;
|
||||
var tagInput;
|
||||
var postContentFileDropper;
|
||||
var postThumbnailFileDropper;
|
||||
var postContent;
|
||||
var postThumbnail;
|
||||
|
||||
privileges.canChangeSafety = auth.hasPrivilege(auth.privileges.changePostSafety);
|
||||
privileges.canChangeSource = auth.hasPrivilege(auth.privileges.changePostSource);
|
||||
privileges.canChangeTags = auth.hasPrivilege(auth.privileges.changePostTags);
|
||||
privileges.canChangeContent = auth.hasPrivilege(auth.privileges.changePostContent);
|
||||
privileges.canChangeThumbnail = auth.hasPrivilege(auth.privileges.changePostThumbnail);
|
||||
privileges.canChangeRelations = auth.hasPrivilege(auth.privileges.changePostRelations);
|
||||
privileges.canChangeFlags = auth.hasPrivilege(auth.privileges.changePostFlags);
|
||||
privileges.canChangeSafety = auth.hasPrivilege(auth.privileges.changePostSafety);
|
||||
privileges.canChangeSource = auth.hasPrivilege(auth.privileges.changePostSource);
|
||||
privileges.canChangeTags = auth.hasPrivilege(auth.privileges.changePostTags);
|
||||
privileges.canChangeContent = auth.hasPrivilege(auth.privileges.changePostContent);
|
||||
privileges.canChangeThumbnail = auth.hasPrivilege(auth.privileges.changePostThumbnail);
|
||||
privileges.canChangeRelations = auth.hasPrivilege(auth.privileges.changePostRelations);
|
||||
privileges.canChangeFlags = auth.hasPrivilege(auth.privileges.changePostFlags);
|
||||
|
||||
function init(params, loaded) {
|
||||
post = params.post;
|
||||
function init(params, loaded) {
|
||||
post = params.post;
|
||||
|
||||
updateCallback = params.updateCallback;
|
||||
$target = params.$target;
|
||||
updateCallback = params.updateCallback;
|
||||
$target = params.$target;
|
||||
|
||||
promise.wait(util.promiseTemplate('post-edit'))
|
||||
.then(function(postEditTemplate) {
|
||||
templates.postEdit = postEditTemplate;
|
||||
render();
|
||||
loaded();
|
||||
}).fail(function() {
|
||||
console.log(arguments);
|
||||
loaded();
|
||||
});
|
||||
}
|
||||
promise.wait(util.promiseTemplate('post-edit'))
|
||||
.then(function(postEditTemplate) {
|
||||
templates.postEdit = postEditTemplate;
|
||||
render();
|
||||
loaded();
|
||||
}).fail(function() {
|
||||
console.log(arguments);
|
||||
loaded();
|
||||
});
|
||||
}
|
||||
|
||||
function render() {
|
||||
$target.html(templates.postEdit({post: post, privileges: privileges}));
|
||||
function render() {
|
||||
$target.html(templates.postEdit({post: post, privileges: privileges}));
|
||||
|
||||
postContentFileDropper = new App.Controls.FileDropper($target.find('form [name=content]'));
|
||||
postContentFileDropper.onChange = postContentChanged;
|
||||
postContentFileDropper.setNames = true;
|
||||
postThumbnailFileDropper = new App.Controls.FileDropper($target.find('form [name=thumbnail]'));
|
||||
postThumbnailFileDropper.onChange = postThumbnailChanged;
|
||||
postThumbnailFileDropper.setNames = true;
|
||||
postContentFileDropper = new App.Controls.FileDropper($target.find('form [name=content]'));
|
||||
postContentFileDropper.onChange = postContentChanged;
|
||||
postContentFileDropper.setNames = true;
|
||||
postThumbnailFileDropper = new App.Controls.FileDropper($target.find('form [name=thumbnail]'));
|
||||
postThumbnailFileDropper.onChange = postThumbnailChanged;
|
||||
postThumbnailFileDropper.setNames = true;
|
||||
|
||||
if (privileges.canChangeTags) {
|
||||
tagInput = new App.Controls.TagInput($target.find('form [name=tags]'));
|
||||
tagInput.inputConfirmed = editPost;
|
||||
}
|
||||
if (privileges.canChangeTags) {
|
||||
tagInput = new App.Controls.TagInput($target.find('form [name=tags]'));
|
||||
tagInput.inputConfirmed = editPost;
|
||||
}
|
||||
|
||||
$target.find('form').submit(editFormSubmitted);
|
||||
}
|
||||
$target.find('form').submit(editFormSubmitted);
|
||||
}
|
||||
|
||||
function focus() {
|
||||
if (tagInput) {
|
||||
tagInput.focus();
|
||||
}
|
||||
}
|
||||
function focus() {
|
||||
if (tagInput) {
|
||||
tagInput.focus();
|
||||
}
|
||||
}
|
||||
|
||||
function editFormSubmitted(e) {
|
||||
e.preventDefault();
|
||||
editPost();
|
||||
}
|
||||
function editFormSubmitted(e) {
|
||||
e.preventDefault();
|
||||
editPost();
|
||||
}
|
||||
|
||||
function postContentChanged(files) {
|
||||
postContent = files[0];
|
||||
}
|
||||
function postContentChanged(files) {
|
||||
postContent = files[0];
|
||||
}
|
||||
|
||||
function postThumbnailChanged(files) {
|
||||
postThumbnail = files[0];
|
||||
}
|
||||
function postThumbnailChanged(files) {
|
||||
postThumbnail = files[0];
|
||||
}
|
||||
|
||||
function getPrivileges() {
|
||||
return privileges;
|
||||
}
|
||||
function getPrivileges() {
|
||||
return privileges;
|
||||
}
|
||||
|
||||
function editPost() {
|
||||
var $form = $target.find('form');
|
||||
var formData = new FormData();
|
||||
formData.append('seenEditTime', post.lastEditTime);
|
||||
function editPost() {
|
||||
var $form = $target.find('form');
|
||||
var formData = new FormData();
|
||||
formData.append('seenEditTime', post.lastEditTime);
|
||||
|
||||
if (privileges.canChangeContent && postContent) {
|
||||
formData.append('content', postContent);
|
||||
}
|
||||
if (privileges.canChangeContent && postContent) {
|
||||
formData.append('content', postContent);
|
||||
}
|
||||
|
||||
if (privileges.canChangeThumbnail && postThumbnail) {
|
||||
formData.append('thumbnail', postThumbnail);
|
||||
}
|
||||
if (privileges.canChangeThumbnail && postThumbnail) {
|
||||
formData.append('thumbnail', postThumbnail);
|
||||
}
|
||||
|
||||
if (privileges.canChangeSource) {
|
||||
formData.append('source', $form.find('[name=source]').val());
|
||||
}
|
||||
if (privileges.canChangeSource) {
|
||||
formData.append('source', $form.find('[name=source]').val());
|
||||
}
|
||||
|
||||
if (privileges.canChangeSafety) {
|
||||
formData.append('safety', $form.find('[name=safety]:checked').val());
|
||||
}
|
||||
if (privileges.canChangeSafety) {
|
||||
formData.append('safety', $form.find('[name=safety]:checked').val());
|
||||
}
|
||||
|
||||
if (privileges.canChangeTags) {
|
||||
formData.append('tags', tagInput.getTags().join(' '));
|
||||
}
|
||||
if (privileges.canChangeTags) {
|
||||
formData.append('tags', tagInput.getTags().join(' '));
|
||||
}
|
||||
|
||||
if (privileges.canChangeRelations) {
|
||||
formData.append('relations', $form.find('[name=relations]').val());
|
||||
}
|
||||
if (privileges.canChangeRelations) {
|
||||
formData.append('relations', $form.find('[name=relations]').val());
|
||||
}
|
||||
|
||||
if (privileges.canChangeFlags) {
|
||||
if (post.contentType === 'video') {
|
||||
formData.append('loop', $form.find('[name=loop]').is(':checked') ? 1 : 0);
|
||||
}
|
||||
}
|
||||
if (privileges.canChangeFlags) {
|
||||
if (post.contentType === 'video') {
|
||||
formData.append('loop', $form.find('[name=loop]').is(':checked') ? 1 : 0);
|
||||
}
|
||||
}
|
||||
|
||||
if (post.tags.length === 0) {
|
||||
showEditError('No tags set.');
|
||||
return;
|
||||
}
|
||||
if (post.tags.length === 0) {
|
||||
showEditError('No tags set.');
|
||||
return;
|
||||
}
|
||||
|
||||
jQuery(document.activeElement).blur();
|
||||
jQuery(document.activeElement).blur();
|
||||
|
||||
promise.wait(api.post('/posts/' + post.id, formData))
|
||||
.then(function(response) {
|
||||
tagList.refreshTags();
|
||||
if (typeof(updateCallback) !== 'undefined') {
|
||||
updateCallback(post = response.json);
|
||||
}
|
||||
}).fail(function(response) {
|
||||
showEditError(response);
|
||||
});
|
||||
}
|
||||
promise.wait(api.post('/posts/' + post.id, formData))
|
||||
.then(function(response) {
|
||||
tagList.refreshTags();
|
||||
if (typeof(updateCallback) !== 'undefined') {
|
||||
updateCallback(post = response.json);
|
||||
}
|
||||
}).fail(function(response) {
|
||||
showEditError(response);
|
||||
});
|
||||
}
|
||||
|
||||
function showEditError(response) {
|
||||
window.alert(response.json && response.json.error || response);
|
||||
}
|
||||
function showEditError(response) {
|
||||
window.alert(response.json && response.json.error || response);
|
||||
}
|
||||
|
||||
return {
|
||||
init: init,
|
||||
render: render,
|
||||
getPrivileges: getPrivileges,
|
||||
focus: focus,
|
||||
};
|
||||
return {
|
||||
init: init,
|
||||
render: render,
|
||||
getPrivileges: getPrivileges,
|
||||
focus: focus,
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user