`;
@@ -7482,7 +7520,7 @@
- ${article_data.content}
+ ${this.paraTrimmer(article_data.content)}
@@ -7502,6 +7540,7 @@
const gallery = document.querySelector('#paginated_gallery');
const gallery_scroller = gallery.querySelector('.gallery_scroller');
+ if(typeof gallery_scroller==null) return;
const gallery_item_size = gallery_scroller.querySelector('div').clientWidth;
gallery.querySelector('.btn.next').addEventListener('click', scrollToNextPage);
@@ -7520,9 +7559,9 @@
retrieveLatestContent: async function(receiverID=floGlobals.adminID, senderIDs=floGlobals.subAdmins) {
floCloudAPI.requestObjectData(this.SUBJECT,{receiverID, senderIDs});
+ floCloudAPI.requestGeneralData(this.CONTENT_TYPE);
await this.delay(5000);
document.getElementById('current_data').innerHTML = '';
-
this.showFullContentOfArticle(floGlobals.appObjects[this.SUBJECT]);
},
@@ -7534,10 +7573,10 @@
i = j+1;
let content = '';
if(div=='reset_data_div') {
- content = document.getElementById(`article_content${i}`).value;
+ //content = document.getElementById(`article_content${i}`).value;
new_article[article_name].data[`section${i}`] = {};
new_article[article_name].data[`section${i}`]["iteration0"] = {
- content: content,
+ content: "",
content_creator: myFloID,
score: 0
}
@@ -7563,10 +7602,10 @@
resetArticleContent: function() {
const article_name = document.getElementById('article_name').value;
- let number_of_sections = document.getElementById('num_sections').value;
+ let number_of_sections = document.getElementById('section_nums').value;
number_of_sections = Number(number_of_sections);
if(number_of_sections<1) throw new Error('Error: Number of sections must be more than 0.');
- let new_article = this.createNewArticle(article_name, 'reset_data_div', num_sections);
+ let new_article = this.createNewArticle(article_name, 'reset_data_div', number_of_sections);
floCloudAPI.resetObjectData(new_article, this.SUBJECT,
{receiverID:floGlobals.adminID});
@@ -7588,27 +7627,34 @@
article = full_data[article_name];
}
- let iterNumber = Object.keys(article[section]).map(f=>{
+ let iterNumber = Object.keys(article.data[section]).map(f=>{
return f.match(/\d+/)[0];
}).reduce(function(prev, current) {
return (prev.y > current.y) ? prev : current
});
- let oldArticle = article[section][`iteration${iterNumber}`];
+ let oldArticle = article.data[section][`iteration${iterNumber}`];
let iterNum = Number(iterNumber)+1;
- article[section][`iteration${iterNum}`] = {
+ article.data[section][`iteration${iterNum}`] = {
content: newcontent,
content_creator: myFloID,
- score: Math.floor((Math.random() * 10) + 1)
+ score: 0
};
console.log(floGlobals.appObjects[this.SUBJECT]);
console.log(full_data);
if(floGlobals.subAdmins.includes(myFloID)) {
- floCloudAPI.updateObjectData(floGlobals.appObjects[this.SUBJECT], full_data, this.SUBJECT);
+ floCloudAPI.updateObjectData(floGlobals.appObjects[this.SUBJECT], full_data, this.SUBJECT, {receiverID: floGlobals.adminID});
} else {
- floCloudAPI.sendGeneralData(full_data,"typeContentCollab",{receiverID:floGlobals.adminID, senderIDs:[myFloID]})
+ const general_data_obj = {
+ article_name: article_name,
+ content: newcontent,
+ content_creator: myFloID,
+ section: section,
+ score: 0
+ }
+ floCloudAPI.sendGeneralData(general_data_obj,this.CONTENT_TYPE,{receiverID:floGlobals.adminID, senderIDs:[myFloID]});
}
this.retrieveLatestContent();
@@ -7621,7 +7667,7 @@
edit_onfocuout: function(event) {
let target = this.getEventTarget(event);
- const updated_content = target.innerText;
+ const updated_content = target.innerText.replace('..' , '');
const updated_content_hash = Crypto.SHA256(updated_content);
let editable_div = document.getElementsByClassName('content_div');
let _id = target.id;
@@ -7634,29 +7680,21 @@
cloudArticleApp.addArticleContent(separate_data[0].trim(), separate_data[1].trim(), updated_content);
},
+ paraTrimmer: function(str='', maxLength=30) {
+ if(str.length<1) return "";
+ //trim the string to the maximum length
+ var trimmedString = str.substr(0, maxLength);
+ //re-trim if we are in the middle of a word
+ trimmedString = trimmedString.substr(0, Math.min(trimmedString.length, trimmedString.lastIndexOf(" ")));
+ return (str.length>maxLength) ? trimmedString+'..' : trimmedString;
+ }
+
}
- function contentSettings(content_name="", content_sections=5) {
- return {
- getContentName: function() {
- return content_name;
- },
- setContentName: function(name) {
- content_name = name;
- },
- getNumberOfSections: function() {
- return content_sections;
- },
- setNumberOfSections: function(num) {
- content_sections = num;
- },
- };
- }