cleaned up post controller. much nice. wow smoother

sql-version-freeze
Ro 6 years ago
parent a7239a3027
commit c2b5d9a56c

@ -1,6 +1,7 @@
var express = require('express'); var express = require('express');
import DateUtils from '../../tools/utilities/DateUtils'; import DateUtils from '../../tools/utilities/DateUtils';
import StringUtils from '../../tools/utilities/StringUtils'; import StringUtils from '../../tools/utilities/StringUtils';
import * as DataEvent from '../../tools/events/DataEvent';
import RightsManager, import RightsManager,
{ {
TASK_CREATE, TASK_CREATE,
@ -157,7 +158,7 @@ router.post('/add-post-image', function(req, res, next)
var postImage = req.files[0].path; var postImage = req.files[0].path;
return res.json( return res.json(
{ {
message: "post image added", message: DataEvent.POST_IMAGE_ADDED,
url: postImage.substr(7, postImage.length) url: postImage.substr(7, postImage.length)
}); });
} }
@ -200,7 +201,7 @@ router.post('/add-feature-image', function(req, res, next)
var postImage = req.files[0].path; var postImage = req.files[0].path;
return res.json( return res.json(
{ {
message: "post image added", message: DataEvent.FEATURE_IMAGE_ADDED,
url: postImage.substr(7, postImage.length) url: postImage.substr(7, postImage.length)
}); });
} }

@ -108,7 +108,6 @@ router.get('/edit/:id', function(req, res)
} }
}).then(item => }).then(item =>
{ {
console.log("**ITEM***", item);
let featured = 'null'; let featured = 'null';
if(item.post.feature != null || item.post.feature != '') if(item.post.feature != null || item.post.feature != '')
featured = item.post.feature.substr(8, item.post.feature.length); featured = item.post.feature.substr(8, item.post.feature.length);

@ -2276,8 +2276,8 @@ select {
color: #b2cce5; color: #b2cce5;
padding: 5px; padding: 5px;
} }
#post-edit-index #post-edit-index-wrapper #post-header #post-meta #featured-click, #post-edit-index #post-edit-index-wrapper #post-header #post-meta #featured-image-upload,
#post-edit-index #post-edit-index-wrapper #post-header #post-meta #post-image { #post-edit-index #post-edit-index-wrapper #post-header #post-meta #post-image-upload {
display: none; display: none;
} }
#post-edit-index #post-edit-index-wrapper #post-feature { #post-edit-index #post-edit-index-wrapper #post-feature {
@ -2306,11 +2306,11 @@ select {
position: absolute; position: absolute;
margin: 20px; margin: 20px;
} }
#post-edit-index #post-edit-index-wrapper #post-feature #featured-new-image-btn #new-upload-link { #post-edit-index #post-edit-index-wrapper #post-feature #featured-new-image-btn #new-feature-upload {
padding-top: 4px; padding-top: 4px;
background: #f2f1ef; background: #f2f1ef;
} }
#post-edit-index #post-edit-index-wrapper #post-feature #featured-new-image-btn #new-upload-link svg { #post-edit-index #post-edit-index-wrapper #post-feature #featured-new-image-btn #new-feature-upload svg {
fill: #fc6399; fill: #fc6399;
} }
#post-edit-index #post-edit-index-wrapper #edit-post { #post-edit-index #post-edit-index-wrapper #edit-post {

File diff suppressed because one or more lines are too long

@ -35100,7 +35100,7 @@ function () {
err: err err: err
}); });
}); });
}); //(updated) ? resolve("UPDATED") : reject("NOT UPDATED"); });
}); });
} else { } else {
_this.db.postList.update(Number(id), { _this.db.postList.update(Number(id), {
@ -35121,100 +35121,6 @@ function () {
} }
}); });
} }
}, {
key: "sync",
value: function sync(files) {
var self = this;
return new Promise(function (resolve, reject) {
var syncData = new FormData();
var postList = '';
for (var i = 0; i < files.length; i++) {
var file = files[i]; // Check the file type.
if (!file.type.match('image.*')) {
continue;
} // Add the file to the request.
syncData.append('feature_image', file, file.name);
}
var fipamoPosts = new _dexie.default("fipamo_posts");
fipamoPosts.version(1).stores({
postList: 'id,post'
});
fipamoPosts.postList.toArray(function (array) {
self.dataUtils.request('/api/post/sync', DataEvent.POSTS_SYNCED, _DataUtils.REQUEST_TYPE_POST, _DataUtils.CONTENT_TYPE_JSON, array).then(function (response) {
resolve({
response: response
});
}).catch(function (err) {
reject({
err: err
});
}); //console.log("LIST", postList);
});
});
}
}, {
key: "submitPost",
value: function submitPost(edit, uploadFiles) {
var self = this;
return new Promise(function (resolve, reject) {
//collect form data
//if(!this.validateForm())
var postData = new FormData(); //let projectImages = document.getElementById('projectImages');
//var fileSelect = projectImages;
var files = uploadFiles;
for (var i = 0; i < files.length; i++) {
var file = files[i]; // Check the file type.
if (!file.type.match('image.*')) {
continue;
} // Add the file to the request.
postData.append('feature_image', file, file.name);
} //var category = document.getElementById("content_category");
//let project_form = document.forms.namedItem("folio-project");
var txt = document.createElement("textarea");
txt.innerHTML = document.getElementById('edit-post-text').innerHTML;
postData.append("title", document.getElementById('post_title').value);
postData.append('slug', new _StringUtils.default().cleanString(document.getElementById('post_title').value));
postData.append("post_plaintext", txt.value);
postData.append("origin_date", document.getElementById('post-date').value);
postData.append("tags", document.getElementById('post_tags').value);
postData.append("status_page", document.getElementById('option-page').getAttribute('data-active'));
postData.append("status_feature", document.getElementById('option-feature').getAttribute('data-active'));
postData.append("status_published", document.getElementById('option-published').getAttribute('data-active'));
var postURL;
var postEventType;
if (edit) {
var postID = document.getElementById('edit-update').getAttribute('data-id');
postURL = "/api/post/update/" + postID;
postEventType = DataEvent.POST_UPDATED;
} else {
postURL = "/api/post/add";
postEventType = DataEvent.POST_ADDED;
}
self.dataUtils.request(postURL, postEventType, _DataUtils.REQUEST_TYPE_POST, _DataUtils.CONTENT_TYPE_FORM, postData).then(function (response) {
resolve({
response: response
});
}).catch(function (err) {
reject({
err: err
});
});
});
}
}, { }, {
key: "deletePost", key: "deletePost",
value: function deletePost() { value: function deletePost() {
@ -37287,8 +37193,8 @@ function () {
this.editor.addListener(EditorEvent.EDITOR_SAVE, function (f) { this.editor.addListener(EditorEvent.EDITOR_SAVE, function (f) {
return _this.handleEditorOptions(EditorEvent.EDITOR_SAVE); return _this.handleEditorOptions(EditorEvent.EDITOR_SAVE);
}, false); }, false);
document.getElementById('post-image').addEventListener('change', function (e) { document.getElementById('post-image-upload').addEventListener('change', function (e) {
return _this.handlePostImageAdd(e); self.handleImageUpload(e.target.id, e.target.files);
}, false); }, false);
(0, _tinyDatePicker.default)(document.getElementById('post-date'), { (0, _tinyDatePicker.default)(document.getElementById('post-date'), {
mode: 'dp-below', mode: 'dp-below',
@ -37323,15 +37229,15 @@ function () {
var self = this; var self = this;
if (document.getElementById('featured-image-drop')) { if (document.getElementById('featured-image-drop')) {
document.getElementById('featured-image-drop').addEventListener('dragover', this.handleDragOver, false); document.getElementById('featured-image-drop').addEventListener('dragover', this.handleImageActions, false);
document.getElementById('featured-image-drop').addEventListener('drop', this.handleDrop, false); document.getElementById('featured-image-drop').addEventListener('drop', this.handleImageActions, false);
document.getElementById('featured-click').addEventListener('change', function (e) { document.getElementById('featured-image-upload').addEventListener('change', function (e) {
return _this2.handleFeatureImageAdd(e); return _this2.handleImageActions(e);
}, false); }, false);
if (document.getElementById('new-upload-link')) { if (document.getElementById('new-feature-upload')) {
document.getElementById('new-upload-link').addEventListener('click', function (e) { document.getElementById('new-feature-upload').addEventListener('click', function (e) {
document.getElementById('featured-click').click(); document.getElementById('featured-image-upload').click();
}); });
} }
@ -37380,7 +37286,6 @@ function () {
switch (e) { switch (e) {
case EditorEvent.EDITOR_SAVE: case EditorEvent.EDITOR_SAVE:
new _PostActions.default().update(this.postID, this.post, PostEditor.uploadFiles, this.postFinalKey).then(function (response) { new _PostActions.default().update(this.postID, this.post, PostEditor.uploadFiles, this.postFinalKey).then(function (response) {
//console.log(response.bounce.newPost);
var freshDB = new _dexie.default("fipamo_posts"); var freshDB = new _dexie.default("fipamo_posts");
freshDB.version(1).stores({ freshDB.version(1).stores({
postList: 'id, post' postList: 'id, post'
@ -37389,7 +37294,7 @@ function () {
freshDB.postList.get(Number(response.bounce.newPost)).then(function (obj) { freshDB.postList.get(Number(response.bounce.newPost)).then(function (obj) {
window.location = "/@/dashboard/posts/edit/" + obj.post.slug; window.location = "/@/dashboard/posts/edit/" + obj.post.slug;
}); });
}, 200); //this.editor.notify(DataEvent.POST_UPDATED, this.postID); }, 200);
}).catch(function (err) { }).catch(function (err) {
console.log("ERROR", err); console.log("ERROR", err);
}); });
@ -37417,47 +37322,84 @@ function () {
break; break;
case EditorEvent.EDITOR_UPLOAD_POST_IMAGE: case EditorEvent.EDITOR_UPLOAD_POST_IMAGE:
document.getElementById('post-image').click(); document.getElementById('post-image-upload').click();
break; break;
} }
} }
}, { }, {
key: "handleDragOver", key: "handleImageActions",
value: function handleDragOver(e) { value: function handleImageActions(e) {
e.stopPropagation();
e.preventDefault();
e.dataTransfer.dropEffect = 'copy'; // Explicitly show this is a copy.
}
}, {
key: "handleDrop",
value: function handleDrop(e) {
e.stopPropagation(); e.stopPropagation();
e.preventDefault(); e.preventDefault();
PostEditor.uploadFiles = e.dataTransfer.files; //console.log(MemberArea.uploadFiles.length); var self = this;
for (var i = 0, f; f = PostEditor.uploadFiles[i]; i++) { switch (e.type) {
// Only process image files. case "dragover":
if (!f.type.match('image.*')) { e.dataTransfer.dropEffect = 'copy'; // Explicitly show this is a copy.
continue;
}
var reader = new FileReader(); // Closure to capture the file information. break;
reader.onload = function (theFile) { case "change":
return function (f) { case "drop":
// Render thumbnail. e.type == "drop" ? PostEditor.uploadFiles = e.dataTransfer.files : PostEditor.uploadFiles = e.target.files;
var span = document.createElement('span');
span.innerHTML = ['<img src="', f.target.result, '" title="', escape(theFile.name), '"/>'].join(''); //document.getElementById('featured-image-drop').insertBefore(span, null);
document.getElementById('featured-image-drop').innerHTML = ''; for (var i = 0, f; f = PostEditor.uploadFiles[i]; i++) {
document.getElementById('featured-image-drop').appendChild(span); // Only process image files.
}; if (!f.type.match('image.*')) {
}(f); // Read in the image file as a data URL. continue;
}
var reader = new FileReader(); // Closure to capture the file information.
reader.readAsDataURL(f); reader.onload = function (theFile) {
return function (f) {
// Render thumbnail.
var image = document.createElement('img');
image.src = f.target.result;
image.title = escape(theFile.name);
var span = document.createElement('div');
span.innerHTML = ['<img src="', f.target.result, '" title="', escape(theFile.name), '"/>'].join(''); //document.getElementById('featured-image-drop').insertBefore(span, null);
document.getElementById('featured-image-drop').innerHTML = '';
document.getElementById('featured-image-drop').appendChild(image);
};
}(f); // Read in the image file as a data URL.
reader.readAsDataURL(f);
}
if (e.target.id == "featured-image-upload") this.handleImageUpload(e.target.id, PostEditor.uploadFiles);
break;
} }
} }
}, {
key: "handleImageUpload",
value: function handleImageUpload(type, files) {
var url = "";
var eventType = "";
var self = this;
type == "featured-image-upload" ? url = "/api/post/add-feature-image" : url = "/api/post/add-post-image";
type == "featured-image-upload" ? eventType = DataEvent.FEATURE_IMAGE_ADDED : eventType = DataEvent.POST_IMAGE_ADDED;
var imageData = new FormData();
for (var i = 0; i < files.length; i++) {
var file = files[i]; // Check the file type.
if (!file.type.match('image.*')) {
continue;
}
type == "featured-image-upload" ? imageData.append('feature_image', file, file.name) : imageData.append('post_image', file, file.name);
}
this.dataUtils.request(url, eventType, _DataUtils.REQUEST_TYPE_POST, _DataUtils.CONTENT_TYPE_FORM, imageData).then(function (response) {
var r = JSON.parse(response.request['response']);
if (r.message == DataEvent.POST_IMAGE_ADDED) self.editor.notify(EditorEvent.EDITOR_UPLOAD_POST_IMAGE, r.url);
}).catch(function (err) {
console.log(err);
});
}
}, { }, {
key: "handleFeatureImageAdd", key: "handleFeatureImageAdd",
value: function handleFeatureImageAdd(e) { value: function handleFeatureImageAdd(e) {

File diff suppressed because one or more lines are too long

@ -30,8 +30,8 @@ block main-content
else else
#featured-new-image-btn #featured-new-image-btn
button#new-upload-link button#new-feature-upload
svg#new-upload-link(viewBox="0 0 20 20" class="icons") svg#new-feature-upload(viewBox="0 0 20 20" class="icons")
use(xlink:href='/dash/assets/images/sprite.svg#entypo-image-inverted') use(xlink:href='/dash/assets/images/sprite.svg#entypo-image-inverted')
#featured-image-drop #featured-image-drop
img(src=post_feature) img(src=post_feature)
@ -58,8 +58,8 @@ block main-content
textarea(id='post_tags' type='text', name='post_tags' class='form-control', placeholder='tags [comma seperated]', autofocus) textarea(id='post_tags' type='text', name='post_tags' class='form-control', placeholder='tags [comma seperated]', autofocus)
=post_tags =post_tags
include partials/editor include partials/editor
input(id="featured-click" type="file" name="featured-click") input(id="featured-image-upload" type="file" name="featured-image-upload")
input(id="post-image" type="file" name="post-image") input(id="post-image-upload" type="file" name="post-image-upload")
#edit-post #edit-post
#edit-post-wrapper #edit-post-wrapper
pre pre

@ -15,7 +15,7 @@ import sanitize from 'sanitize-html'
import DateUtils from '../../../../../brain/tools/utilities/DateUtils'; import DateUtils from '../../../../../brain/tools/utilities/DateUtils';
var md = require('markdown-it')('commonmark'); var md = require('markdown-it')('commonmark');
var uuidv4 = require('uuid/v4'); var uuidv4 = require('uuid/v4');
class PostActions export default class PostActions
{ {
//-------------------------- //--------------------------
// constructor // constructor
@ -125,7 +125,6 @@ class PostActions
}); });
}) })
}) })
//(updated) ? resolve("UPDATED") : reject("NOT UPDATED");
}); });
} }
else else
@ -158,110 +157,6 @@ class PostActions
} }
}) })
} }
sync(files)
{
let self = this;
return new Promise((resolve, reject) =>
{
var syncData = new FormData();
var postList = '';
for (var i = 0; i < files.length; i++)
{
var file = files[i];
// Check the file type.
if (!file.type.match('image.*'))
{
continue;
}
// Add the file to the request.
syncData.append('feature_image', file, file.name);
}
var fipamoPosts = new Dexie("fipamo_posts");
fipamoPosts.version(1).stores(
{
postList: 'id,post'
});
fipamoPosts.postList.toArray(array =>
{
self.dataUtils.request('/api/post/sync', DataEvent.POSTS_SYNCED, REQUEST_TYPE_POST, CONTENT_TYPE_JSON, array).then((response) =>
{
resolve(
{
response
})
}).catch((err) =>
{
reject(
{
err
});
})
//console.log("LIST", postList);
})
})
}
submitPost(edit, uploadFiles)
{
let self = this;
return new Promise(function(resolve, reject)
{
//collect form data
//if(!this.validateForm())
var postData = new FormData();
//let projectImages = document.getElementById('projectImages');
//var fileSelect = projectImages;
var files = uploadFiles;
for (var i = 0; i < files.length; i++)
{
var file = files[i];
// Check the file type.
if (!file.type.match('image.*'))
{
continue;
}
// Add the file to the request.
postData.append('feature_image', file, file.name);
}
//var category = document.getElementById("content_category");
//let project_form = document.forms.namedItem("folio-project");
var txt = document.createElement("textarea");
txt.innerHTML = document.getElementById('edit-post-text').innerHTML;
postData.append("title", document.getElementById('post_title').value);
postData.append('slug', new StringUtils().cleanString(document.getElementById('post_title').value));
postData.append("post_plaintext", txt.value);
postData.append("origin_date", document.getElementById('post-date').value);
postData.append("tags", document.getElementById('post_tags').value);
postData.append("status_page", document.getElementById('option-page').getAttribute('data-active'));
postData.append("status_feature", document.getElementById('option-feature').getAttribute('data-active'));
postData.append("status_published", document.getElementById('option-published').getAttribute('data-active'));
let postURL;
let postEventType;
if (edit)
{
let postID = document.getElementById('edit-update').getAttribute('data-id');
postURL = "/api/post/update/" + postID;
postEventType = DataEvent.POST_UPDATED;
}
else
{
postURL = "/api/post/add";
postEventType = DataEvent.POST_ADDED;
}
self.dataUtils.request(postURL, postEventType, REQUEST_TYPE_POST, CONTENT_TYPE_FORM, postData).then((response) =>
{
resolve(
{
response
})
}).catch((err) =>
{
reject(
{
err
});
})
});
}
deletePost() deletePost()
{ {
let self = this; let self = this;
@ -287,9 +182,4 @@ class PostActions
//-------------------------- //--------------------------
// event handlers // event handlers
//-------------------------- //--------------------------
}
export
{
PostActions as
default
} }

@ -54,7 +54,9 @@ export default class PostEditor
this.editor.addListener(EditorEvent.EDITOR_UPLOAD_POST_IMAGE, f => this.handleEditorOptions(EditorEvent.EDITOR_UPLOAD_POST_IMAGE), false) this.editor.addListener(EditorEvent.EDITOR_UPLOAD_POST_IMAGE, f => this.handleEditorOptions(EditorEvent.EDITOR_UPLOAD_POST_IMAGE), false)
this.editor.addListener(EditorEvent.EDITOR_UPDATE, f => this.handleEditorOptions(EditorEvent.EDITOR_UPDATE), false) this.editor.addListener(EditorEvent.EDITOR_UPDATE, f => this.handleEditorOptions(EditorEvent.EDITOR_UPDATE), false)
this.editor.addListener(EditorEvent.EDITOR_SAVE, f => this.handleEditorOptions(EditorEvent.EDITOR_SAVE), false) this.editor.addListener(EditorEvent.EDITOR_SAVE, f => this.handleEditorOptions(EditorEvent.EDITOR_SAVE), false)
document.getElementById('post-image').addEventListener('change', e => this.handlePostImageAdd(e), false); document.getElementById('post-image-upload').addEventListener('change', e => {
self.handleImageUpload(e.target.id, e.target.files);
}, false);
TinyDatePicker(document.getElementById('post-date'), TinyDatePicker(document.getElementById('post-date'),
{ {
mode: 'dp-below', mode: 'dp-below',
@ -84,14 +86,14 @@ export default class PostEditor
let self = this; let self = this;
if (document.getElementById('featured-image-drop')) if (document.getElementById('featured-image-drop'))
{ {
document.getElementById('featured-image-drop').addEventListener('dragover', this.handleDragOver, false); document.getElementById('featured-image-drop').addEventListener('dragover', this.handleImageActions, false);
document.getElementById('featured-image-drop').addEventListener('drop', this.handleDrop, false); document.getElementById('featured-image-drop').addEventListener('drop', this.handleImageActions, false);
document.getElementById('featured-click').addEventListener('change', e => this.handleFeatureImageAdd(e), false); document.getElementById('featured-image-upload').addEventListener('change', e=> this.handleImageActions(e), false);
if (document.getElementById('new-upload-link')) if (document.getElementById('new-feature-upload'))
{ {
document.getElementById('new-upload-link').addEventListener('click', e => document.getElementById('new-feature-upload').addEventListener('click', e =>
{ {
document.getElementById('featured-click').click(); document.getElementById('featured-image-upload').click();
}) })
} }
var optionButtons = document.querySelectorAll('.post-option-btn'); var optionButtons = document.querySelectorAll('.post-option-btn');
@ -132,7 +134,6 @@ export default class PostEditor
case EditorEvent.EDITOR_SAVE: case EditorEvent.EDITOR_SAVE:
new PostActions().update(this.postID, this.post, PostEditor.uploadFiles, this.postFinalKey).then(response => new PostActions().update(this.postID, this.post, PostEditor.uploadFiles, this.postFinalKey).then(response =>
{ {
//console.log(response.bounce.newPost);
let freshDB = new Dexie("fipamo_posts"); let freshDB = new Dexie("fipamo_posts");
freshDB.version(1).stores( freshDB.version(1).stores(
{ {
@ -145,7 +146,6 @@ export default class PostEditor
window.location = "/@/dashboard/posts/edit/" + obj.post.slug; window.location = "/@/dashboard/posts/edit/" + obj.post.slug;
}); });
}, 200); }, 200);
//this.editor.notify(DataEvent.POST_UPDATED, this.postID);
}).catch(err => }).catch(err =>
{ {
console.log("ERROR", err) console.log("ERROR", err)
@ -179,49 +179,86 @@ export default class PostEditor
} }
break; break;
case EditorEvent.EDITOR_UPLOAD_POST_IMAGE: case EditorEvent.EDITOR_UPLOAD_POST_IMAGE:
document.getElementById('post-image').click(); document.getElementById('post-image-upload').click();
break; break;
} }
} }
handleDragOver(e) handleImageActions(e)
{ {
e.stopPropagation(); e.stopPropagation();
e.preventDefault(); e.preventDefault();
e.dataTransfer.dropEffect = 'copy'; // Explicitly show this is a copy. var self = this;
switch (e.type)
{
case "dragover":
e.dataTransfer.dropEffect = 'copy'; // Explicitly show this is a copy.
break;
case "change":
case "drop":
(e.type == "drop") ? PostEditor.uploadFiles = e.dataTransfer.files: PostEditor.uploadFiles = e.target.files;
for (var i = 0, f; f = PostEditor.uploadFiles[i]; i++)
{
// Only process image files.
if (!f.type.match('image.*'))
{
continue;
}
var reader = new FileReader();
// Closure to capture the file information.
reader.onload = (function(theFile)
{
return function(f)
{
// Render thumbnail.
var image = document.createElement('img');
image.src = f.target.result;
image.title = escape(theFile.name);
var span = document.createElement('div');
span.innerHTML = ['<img src="',
f.target.result, '" title="',
escape(theFile.name), '"/>'
].join('');
//document.getElementById('featured-image-drop').insertBefore(span, null);
document.getElementById('featured-image-drop').innerHTML = '';
document.getElementById('featured-image-drop').appendChild(image);
};
})(f);
// Read in the image file as a data URL.
reader.readAsDataURL(f);
}
if(e.target.id == "featured-image-upload") this.handleImageUpload(e.target.id, PostEditor.uploadFiles);
break;
}
} }
handleDrop(e) handleImageUpload(type, files)
{ {
e.stopPropagation(); let url = ""
e.preventDefault(); let eventType = "";
PostEditor.uploadFiles = e.dataTransfer.files; let self = this;
//console.log(MemberArea.uploadFiles.length); (type == "featured-image-upload") ? url = "/api/post/add-feature-image" : url = "/api/post/add-post-image";
for (var i = 0, f; f = PostEditor.uploadFiles[i]; i++) (type == "featured-image-upload") ? eventType = DataEvent.FEATURE_IMAGE_ADDED : eventType = DataEvent.POST_IMAGE_ADDED
var imageData = new FormData();
for (var i = 0; i < files.length; i++)
{ {
// Only process image files. var file = files[i];
if (!f.type.match('image.*')) // Check the file type.
if (!file.type.match('image.*'))
{ {
continue; continue;
} }
var reader = new FileReader(); (type == "featured-image-upload") ? imageData.append('feature_image', file, file.name): imageData.append('post_image', file, file.name);
// Closure to capture the file information.
reader.onload = (function(theFile)
{
return function(f)
{
// Render thumbnail.
var span = document.createElement('span');
span.innerHTML = ['<img src="',
f.target.result, '" title="',
escape(theFile.name), '"/>'
].join('');
//document.getElementById('featured-image-drop').insertBefore(span, null);
document.getElementById('featured-image-drop').innerHTML = '';
document.getElementById('featured-image-drop').appendChild(span);
};
})(f);
// Read in the image file as a data URL.
reader.readAsDataURL(f);
} }
this.dataUtils.request(url, eventType, REQUEST_TYPE_POST, CONTENT_TYPE_FORM, imageData).then((response) =>
{
let r = JSON.parse(response.request['response']);
if(r.message == DataEvent.POST_IMAGE_ADDED)
self.editor.notify(EditorEvent.EDITOR_UPLOAD_POST_IMAGE, r.url);
}).catch((err) =>
{
console.log(err)
})
} }
handleFeatureImageAdd(e) handleFeatureImageAdd(e)
{ {

@ -140,7 +140,7 @@
color $secondary color $secondary
padding 5px padding 5px
#featured-click, #post-image #featured-image-upload, #post-image-upload
display none display none
#post-feature #post-feature
@ -169,7 +169,7 @@
position absolute position absolute
margin 20px margin 20px
#new-upload-link #new-feature-upload
padding-top 4px padding-top 4px
background $white background $white

Loading…
Cancel
Save