add wosa parsing

This commit is contained in:
CodePoet80 committed 2021-06-05 13:49:48 -04:00
1 parent 8e396ada3c
commit 52069fdfff
7 files changed
+65 -8

No files matched your search

+34 -5
View File
@@ -612,13 +612,9 @@ MainAssistant.prototype.updateChatsList = function(results) {
if (newMessages[n].message != thisWidgetSetup.model.items[m].message ||
newMessages[n].likes != thisWidgetSetup.model.items[m].likes ||
newMessages[n].color != thisWidgetSetup.model.items[m].color) {
//Mojo.Log.info("Updating message from list at position " + m);
//Mojo.Log.info("Old Message: " + JSON.stringify(thisWidgetSetup.model.items[m]));
thisWidgetSetup.model.items[m] = newMessages[n];
this.controller.get('chatList').mojo.noticeUpdatedItems(m, [thisWidgetSetup.model.items[m]]);
changed = true;
//Mojo.Log.info("New Message should be: " + JSON.stringify(newMessages[n]));
//Mojo.Log.info("New Message is : " + JSON.stringify(thisWidgetSetup.model.items[m]));
}
}
if (changed)
@@ -682,6 +678,7 @@ MainAssistant.prototype.updateChatsList = function(results) {
MainAssistant.prototype.handleItemRendered = function(listWidget, itemModel, itemNode) {
itemNode.innerHTML = this.unescapeEntities(itemNode.innerHTML);
itemNode.innerHTML = this.replaceImageLinks(itemNode.innerHTML);
itemNode.innerHTML = this.parseShareSpaceLinks(itemNode.innerHTML);
if (itemNode.innerHTML.indexOf("</span> </div>") != -1) {
itemNode.innerHTML = itemModel.message;
Mojo.Log.warn("**** EMPTY MESSAGE RENDERED! " + JSON.stringify(itemModel));
@@ -810,6 +807,39 @@ MainAssistant.prototype.replaceImageLinks = function(str) {
return str;
}
MainAssistant.prototype.parseShareSpaceLinks = function(str) {
if (appModel.AppSettingsCurrent["ShowWOSAThumbs"] == undefined) {
Mojo.Log.warn("Thumbnail setting missing, adding with default value: " + appModel.AppSettingsDefaults["ShowWOSAThumbs"]);
appModel.AppSettingsCurrent["ShowWOSAThumbs"] = appModel.AppSettingsDefaults["ShowWOSAThumbs"];
appModel.SaveSettings();
}
if (appModel.AppSettingsCurrent["ShowWOSAThumbs"] == true) {
if (str.indexOf("wosa.link") != -1) {
Mojo.Log.info("Found WOSA link to parse!");
str = str.replace("download.php", "image.php");
var linkPortion = str.split("?");
if (linkPortion.length > 0) {
linkPortion = linkPortion[1]
linkPortion = linkPortion.replace("\"", " ");
linkPortion = linkPortion.replace("'", " ");
linkPortion = linkPortion.replace("<", " ");
linkPortion = linkPortion.replace(">", " ");
linkPortion = linkPortion.split(" ");
linkPortion = linkPortion[0];
if (str.indexOf("t.php") != -1) {
linkPortion = "http://wosa.link/tthumb.php?" + linkPortion;
} else {
linkPortion = "http://wosa.link/ithumb.php?" + linkPortion;
}
var thumbnail = "<img src=\"" + linkPortion + "\" style=\"float:right; width: 64px; height: 64px; margin-top: -2px;\"> "
str = thumbnail + str;
Mojo.Log.warn("Using html: " + str);
}
}
}
return str;
}
MainAssistant.prototype.convertTimeStamp = function(timeStamp, isUTC) {
if (isUTC) {
var offset = new Date().getTimezoneOffset();
@@ -911,7 +941,6 @@ MainAssistant.prototype.deactivate = function(event) {
this.controller.document.getElementById("spanCompose").removeEventListener("click", this.toggleCommandMenu.bind(this));
this.controller.document.getElementById("imgTwisty").removeEventListener("click", this.toggleCommandMenu.bind(this));
Mojo.Event.stopListening(this.controller.stageController.document, Mojo.Event.stageActivate, this.activateWindow);
Mojo.Event.stopListening(this.controller.stageController.document, Mojo.Event.stageDeactivate, this.deactivateWindow);
};
+16 -1
View File
@@ -79,6 +79,17 @@ PreferencesAssistant.prototype.setup = function() {
disabled: false
}
);
//Thumbnail toggle
this.controller.setupWidget("toggleThumbs",
this.attributes = {
trueValue: true,
falseValue: false
},
this.model = {
value: appModel.AppSettingsCurrent["ShowWOSAThumbs"],
disabled: false
}
);
//Setup sound picker
this.soundChoices = {
choices: [
@@ -168,6 +179,7 @@ PreferencesAssistant.prototype.setup = function() {
Mojo.Event.listen(this.controller.get("listForegroundUpdate"), Mojo.Event.propertyChange, this.handleValueChange.bind(this));
Mojo.Event.listen(this.controller.get("listBackgroundUpdate"), Mojo.Event.propertyChange, this.handleValueChange.bind(this));
Mojo.Event.listen(this.controller.get("toggleEmojis"), Mojo.Event.propertyChange, this.handleValueChange.bind(this));
Mojo.Event.listen(this.controller.get("toggleThumbs"), Mojo.Event.propertyChange, this.handleValueChange.bind(this));
Mojo.Event.listen(this.controller.get("listEnterSubmits"), Mojo.Event.propertyChange, this.handleValueChange.bind(this));
Mojo.Event.listen(this.controller.get("listAlertSound"), Mojo.Event.propertyChange, this.handleValueChange.bind(this));
Mojo.Event.listen(this.controller.get("txtClientAPI"), Mojo.Event.propertyChange, this.handleValueChange.bind(this));
@@ -192,7 +204,9 @@ PreferencesAssistant.prototype.handleValueChange = function(event) {
Mojo.Log.info(event.srcElement.id + " value changed to " + event.value);
switch (event.srcElement.id) {
case "toggleEmojis":
Mojo.Log.info("Should show banner!");
Mojo.Controller.getAppController().showBanner({ messageText: "Re-launch app to apply this setting" }, "", "");
break;
case "toggleThumbs":
Mojo.Controller.getAppController().showBanner({ messageText: "Re-launch app to apply this setting" }, "", "");
break;
case "listAlertSound":
@@ -299,6 +313,7 @@ PreferencesAssistant.prototype.deactivate = function(event) {
Mojo.Event.stopListening(this.controller.get("listForegroundUpdate"), Mojo.Event.propertyChange, this.handleValueChange);
Mojo.Event.stopListening(this.controller.get("listBackgroundUpdate"), Mojo.Event.propertyChange, this.handleValueChange);
Mojo.Event.stopListening(this.controller.get("toggleEmojis"), Mojo.Event.propertyChange, this.handleValueChange);
Mojo.Event.stopListening(this.controller.get("toggleThumbs"), Mojo.Event.propertyChange, this.handleValueChange);
Mojo.Event.stopListening(this.controller.get("listEnterSubmits"), Mojo.Event.propertyChange, this.handleValueChange);
Mojo.Event.stopListening(this.controller.get("listAlertSound"), Mojo.Event.propertyChange, this.handleValueChange);
Mojo.Event.stopListening(this.controller.get("toggleClientAPI"), Mojo.Event.propertyChange, this.handleValueChange);
+5
View File
@@ -6,6 +6,11 @@ function VersionAssistant(startup) {
//New Features
this.changelog = [{
version: "Version 1.5.0",
detail: [
"Added ability to parse Share Services links and show thumbnails. You can disable thumbnails in the Preferences.",
]
},{
version: "Version 1.4.1",
detail: [
"Add support for some basic markdown",
+1
View File
@@ -25,6 +25,7 @@ var AppModel = function() {
BackgroundUpdate: "00:30:00",
AlertSound: "Subtle (short)",
ShowEmojis: true,
ShowWOSAThumbs: true,
EnterSubmits: "collapsed",
UseClientAPIKey: false,
UseCustomEndpoint: false,
+1 -1
View File
@@ -1,4 +1,4 @@
<div class="palm-row" x-mojo-tap-highlight='momentary'>
<div class="palm-row" style="min-height: 68px;">
<div class="palm-row-wrapper">
<div id="divMsg-#{uid}" class="chat-log" style="color:#{color}"><span class="sender #{postedFrom}">#{sender}:</span> #{formattedMessage}</div>
<div class="chat-time">#{timestamp} <span class="likes">#{likes}</span></div>
@@ -29,6 +29,13 @@
</div>
</div>
<div class="palm-row">
<div class="palm-row-wrapper">
<div x-mojo-element="ToggleButton" id="toggleThumbs" title="ShowWOSAThumbs"></div>
<div class="title" style="margin-left: -4px; float:left;"><span class="label">Share Thumbnails</span></div>
</div>
</div>
<div class="palm-row">
<div class="palm-row-wrapper">
<div id="listEnterSubmits" x-mojo-element="ListSelector" title="EnterSubmits" class="right"></div>
+1 -1
View File
@@ -1,6 +1,6 @@
{
"id": "com.palm.app.jonandnic.simplechat",
"version": "1.4.1",
"version": "1.5.0",
"vendor": "Jon Wise",
"type": "web",
"main": "index.html",