From 177cb69b1047f17499398c31b025cbb4c6c4ae15 Mon Sep 17 00:00:00 2001 From: Loic Blot Date: Thu, 28 Dec 2017 18:58:50 +0100 Subject: [PATCH] move more functions & attributes from legacy.js to app.js --- js/app.min.js | 2 +- js/devel/app.js | 15 +++++++++++++++ js/devel/legacy.js | 28 ++++++---------------------- 3 files changed, 22 insertions(+), 23 deletions(-) diff --git a/js/app.min.js b/js/app.min.js index f8eb9c6..6487144 100644 --- a/js/app.min.js +++ b/js/app.min.js @@ -1 +1 @@ -var Sms={selectedConversation:null,unreadCountCurrentConv:0,unreadCountAllConv:0,unreadCountNotifStep:12,lastUnreadCountAllConv:0,originalTitle:document.title,_winRegexp:/(.*)\/ocsms.*/,generateURL:function(endpoint){var match=this._winRegexp.exec(window.location.href);if(match.length!==2){console.log("A very bad error happened when parsing window location")}return match[1]+"/ocsms"+endpoint}};var ContactRenderer={generateColor:function(input){if(typeof input==="undefined"){return""}if(typeof input.toHsl==="function"){var hsl=input.toHsl();return"hsl("+hsl[0]+", "+hsl[1]+"%, "+hsl[2]+"%)"}else{var hash=md5(input).substring(0,4),maxRange=parseInt("ffff",16),hue=parseInt(hash,16)/maxRange*256;return"hsl("+hue+", 90%, 65%)"}},generateFirstCharacter:function(input){if(input.charAt(0)==="+"){return"#"}return input.charAt(0)}};function inArray(val,arr){return $.inArray(val,arr)!==-1}function arrayUnique(arr){return arr.filter(function(item,i,arr){return i===arr.indexOf(item)})}function toBool(str){if(str==="true"){return true}else if(str==="false"){return false}return null}var app=angular.module("OcSms",[]);app.directive("toInt",function(){return{require:"ngModel",link:function(scope,element,attrs,modelCtrl){modelCtrl.$parsers.push(function(inputValue){return parseInt(inputValue,10)})}}});app.filter("peerColor",function(){return ContactRenderer.generateColor});app.filter("firstCharacter",function(){return ContactRenderer.generateFirstCharacter});app.controller("OcSmsController",["$scope","$interval","$timeout","$compile",function($scope,$interval,$timeout,$compile){$scope.lastConvMessageDate=0;$scope.lastContactListMsgDate=0;$scope.isConvLoading=false;$scope.isContactsLoading=true;$scope.buttons=[{text:"Send"}];$scope.vsettings=SmsSettings;$scope.contacts=[];$scope.messages=[];$scope.totalMessageCount=0;$scope.photoVersion=1;$scope.selectedContact={};$scope.lastSearch="";$scope.setNotificationSetting=function(){$.post(Sms.generateURL("/set/notification_state"),{notification:SmsSettings.enableNotifications?1:0})};$scope.setContactOrderSetting=function(){$.post(Sms.generateURL("/set/contact_order"),{attribute:SmsSettings.contactOrderBy,reverse:SmsSettings.reverseContactOrder})};$scope.loadConversation=function(contact){OC.Util.History.pushState("phonenumber="+contact.nav);if(contact.nav!==null){$scope.fetchConversation(contact);changeSelectedConversation($("a[mailbox-navigation='"+contact.nav+"']"))}};$scope.fetchConversation=function(contact){if(contact!=null){$scope.selectedContact=contact;$scope.isConvLoading=true}$scope.messages=[];$scope.lastConvMessageDate=0;$.getJSON(Sms.generateURL("/front-api/v1/conversation"),{phoneNumber:$scope.selectedContact.nav},function(jsondata,status){var phoneNumberLabel=$scope.selectedContact.nav;if(typeof jsondata["phoneNumbers"]!=="undefined"){var phoneNumberList=arrayUnique(jsondata["phoneNumbers"]);phoneNumberLabel=phoneNumberList.toString()}$scope.formatConversation(jsondata);$scope.$apply(function(){if(typeof jsondata["contactName"]==="undefined"||jsondata["contactName"]===""){$scope.selectedContact.label=phoneNumberLabel;$scope.selectedContact.opt_numbers=""}else{$scope.selectedContact.label=jsondata["contactName"];$scope.selectedContact.opt_numbers=phoneNumberLabel}$scope.totalMessageCount=jsondata["msgCount"]!==undefined?jsondata["msgCount"]:0;$scope.isConvLoading=false});$("#app-content").scrollTop(1e10)})};$scope.refreshConversation=function(){$.getJSON(Sms.generateURL("/ocsms/front-api/v1/conversation"),{phoneNumber:$scope.selectedContact.nav,lastDate:$scope.lastConvMessageDate},function(jsondata,status){var fmt=$scope.formatConversation(jsondata);var conversationBuf=fmt[1];if(conversationBuf===true){$("#app-content").scrollTop(1e10);if(document.hasFocus()===false){Sms.unreadCountCurrentConv+=parseInt(fmt[0]);document.title=Sms.originalTitle+" ("+Sms.unreadCountCurrentConv+")";SmsNotifications.notify(Sms.unreadCountCurrentConv+" unread message(s) in conversation with "+$scope.selectedContact.label)}}$scope.totalMessageCount=jsondata["msgCount"]!==undefined?parseInt(jsondata["msgCount"]):0})};$scope.checkNewMessages=function(){Sms.unreadCountAllConv=0;$.getJSON(Sms.generateURL("/front-api/v1/new_messages"),{lastDate:$scope.lastContactListMsgDate},function(jsondata,status){var bufferedContacts=[];$.each(jsondata["phonelist"],function(id,val){var fn,peerLabel;if(typeof jsondata["contacts"][id]==="undefined"){peerLabel=id}else{fn=jsondata["contacts"][id];peerLabel=fn}if(!inArray(peerLabel,bufferedContacts)){var contactObj={label:peerLabel,nav:id,unread:parseInt(val)};if(typeof jsondata["photos"][peerLabel]!=="undefined"){contactObj.avatar=jsondata["photos"][peerLabel]}if(typeof jsondata["uids"][peerLabel]!=="undefined"){contactObj.uid=jsondata["uids"][peerLabel]}else{contactObj.uid=peerLabel}$scope.modifyContact(contactObj);bufferedContacts.push(peerLabel);if(id===$scope.selectedContact.nav){changeSelectedConversation($("a[mailbox-navigation='"+id+"']"))}Sms.unreadCountAllConv+=parseInt(val)}});if(Sms.unreadCountNotifStep>0){Sms.unreadCountNotifStep--}if(Sms.unreadCountAllConv>0){if(Sms.unreadCountNotifStep===0||Sms.lastUnreadCountAllConv!==Sms.unreadCountAllConv){SmsNotifications.notify(Sms.unreadCountAllConv+" unread message(s) for all conversations");Sms.unreadCountNotifStep=12;Sms.lastUnreadCountAllConv=Sms.unreadCountAllConv}}})};$scope.removeConversation=function(){$.post(Sms.generateURL("/delete/conversation"),{contact:$scope.selectedContact.label},function(data){$scope.selectedContact.label="";$scope.selectedContact.opt_numbers="";$scope.selectedContact.avatar=undefined;$scope.removeContact($scope.selectedContact);$scope.$apply(function(){$scope.messages=[]});$scope.selectedContact.nav="";OC.Util.History.pushState("")})};$scope.filterSms=function(query){if(query!==$scope.lastSearch){}};OC.Plugins.register("OCA.Search",{attach:function(search){search.setFilter("sms",$scope.filterSms)}});$scope.addContact=function(ct){$scope.$apply(function(){$scope.contacts.push(ct)})};$scope.removeContact=function(ct){var len=$scope.contacts.length;for(var i=0;i$scope.lastConvMessageDate/100){$scope.lastConvMessageDate=id;$scope.addConversationMessage({id:id,type:msgClass,date:new Date(id*1),content:vals["msg"]});buf=true;msgCount++}});return[msgCount,buf]};$interval($scope.refreshConversation,1e4);$interval($scope.checkNewMessages,1e4);$timeout(function(){Sms.originalTitle=document.title;$.getJSON(Sms.generateURL("/front-api/v1/peerlist"),function(jsondata,status){$scope.fetchInitialPeerList(jsondata);var pnParam=$.urlParam("phonenumber");if(pnParam!=null){var urlPhoneNumber=decodeURIComponent(pnParam);if(urlPhoneNumber!=null){if($scope.selectedContact.nav===undefined){$scope.selectedContact.label=urlPhoneNumber;$scope.selectedContact.nav=urlPhoneNumber;$scope.selectedContact.avatar=undefined}$scope.fetchConversation(null);changeSelectedConversation($("a[mailbox-navigation='"+urlPhoneNumber+"']"))}}});SmsSettings.init();SmsNotifications.init();$scope.checkNewMessages()})}]);$.urlParam=function(name){var results=new RegExp("[?&]"+name+"=([^&#]*)").exec(window.location.href);if(results==null){return null}else{return results[1]||0}};function changeSelectedConversation(item){if(item==="undefined"||item==null){return}if(Sms.selectedConversation!=null){Sms.selectedConversation.parent().removeClass("selected")}Sms.selectedConversation=item;Sms.selectedConversation.parent().addClass("selected");Sms.selectedConversation.css("font-weight","normal");Sms.selectedConversation.html(Sms.selectedConversation.attr("mailbox-label"))}(function($,OC){window.onfocus=function(){Sms.unreadCountCurrentConv=0;document.title=Sms.originalTitle}})(jQuery,OC);var SmsNotifications={init:function(){if(!("Notification"in window)){return}Notification.requestPermission(function(permission){if(!("permission"in Notification)){Notification.permission=permission}})},notify:function(message){if(!SmsSettings.enableNotifications){return}if(!("Notification"in window)){return}if(Notification.permission==="granted"){new Notification("Phone Sync - "+message)}else if(Notification.permission!=="denied"){Notification.requestPermission(function(permission){if(!("permission"in Notification)){Notification.permission=permission}if(permission==="granted"){new Notification("Phone Sync - "+message)}})}}};var SmsSettings={messageLimit:100,enableNotifications:true,contactOrderBy:"lastmsg",reverseContactOrder:true,country:"",init:function(){var self=this;$.getJSON(Sms.generateURL("/front-api/v1/settings"),function(jsondata,status){if(jsondata["status"]===true){self.messageLimit=parseInt(jsondata["message_limit"]);self.enableNotifications=parseInt(jsondata["notification_state"])!==0;self.contactOrderBy=jsondata["contact_order"];self.reverseContactOrder=toBool(jsondata["contact_order_reverse"]);self.country=jsondata["country"];self.updateView()}})},sendMessageLimit:function(){var self=this;$.post(Sms.generateURL("/set/msglimit"),{limit:self.messageLimit})},sendCountry:function(){$.post(Sms.generateURL("/set/country"),{country:$("select[name=intl_phone]").val()})},updateView:function(){$("#sel_intl_phone").val(this.country);$("input[name=setting_msg_per_page]").val(this.messageLimit);$("select[name=setting_notif]").val(this.enableNotifications?1:0);$("select[name=setting_contact_order]").val(this.contactOrderBy);$("input[name=setting_contact_order_reverse]").val(this.reverseContactOrder)}}; +var Sms={selectedConversation:null,unreadCountCurrentConv:0,unreadCountAllConv:0,unreadCountNotifStep:12,lastUnreadCountAllConv:0,lastContactListMsgDate:0,originalTitle:document.title,photoVersion:1,_winRegexp:/(.*)\/ocsms.*/,generateURL:function(endpoint){var match=this._winRegexp.exec(window.location.href);if(match.length!==2){console.log("A very bad error happened when parsing window location")}return match[1]+"/ocsms"+endpoint},selectConversation:function(item){if(item==="undefined"||item==null){return}if(this.selectedConversation!=null){this.selectedConversation.parent().removeClass("selected")}this.selectedConversation=item;this.selectedConversation.parent().addClass("selected");this.selectedConversation.css("font-weight","normal");this.selectedConversation.html(this.selectedConversation.attr("mailbox-label"))}};var ContactRenderer={generateColor:function(input){if(typeof input==="undefined"){return""}if(typeof input.toHsl==="function"){var hsl=input.toHsl();return"hsl("+hsl[0]+", "+hsl[1]+"%, "+hsl[2]+"%)"}else{var hash=md5(input).substring(0,4),maxRange=parseInt("ffff",16),hue=parseInt(hash,16)/maxRange*256;return"hsl("+hue+", 90%, 65%)"}},generateFirstCharacter:function(input){if(input.charAt(0)==="+"){return"#"}return input.charAt(0)}};function inArray(val,arr){return $.inArray(val,arr)!==-1}function arrayUnique(arr){return arr.filter(function(item,i,arr){return i===arr.indexOf(item)})}function toBool(str){if(str==="true"){return true}else if(str==="false"){return false}return null}var app=angular.module("OcSms",[]);app.directive("toInt",function(){return{require:"ngModel",link:function(scope,element,attrs,modelCtrl){modelCtrl.$parsers.push(function(inputValue){return parseInt(inputValue,10)})}}});app.filter("peerColor",function(){return ContactRenderer.generateColor});app.filter("firstCharacter",function(){return ContactRenderer.generateFirstCharacter});app.controller("OcSmsController",["$scope","$interval","$timeout","$compile",function($scope,$interval,$timeout,$compile){$scope.lastConvMessageDate=0;$scope.isConvLoading=false;$scope.isContactsLoading=true;$scope.buttons=[{text:"Send"}];$scope.vsettings=SmsSettings;$scope.contacts=[];$scope.messages=[];$scope.totalMessageCount=0;$scope.selectedContact={};$scope.lastSearch="";$scope.loadConversation=function(contact){OC.Util.History.pushState("phonenumber="+contact.nav);if(contact.nav!==null){$scope.fetchConversation(contact);Sms.selectConversation($("a[mailbox-navigation='"+contact.nav+"']"))}};$scope.fetchConversation=function(contact){if(contact!=null){$scope.selectedContact=contact;$scope.isConvLoading=true}$scope.messages=[];$scope.lastConvMessageDate=0;$.getJSON(Sms.generateURL("/front-api/v1/conversation"),{phoneNumber:$scope.selectedContact.nav},function(jsondata,status){var phoneNumberLabel=$scope.selectedContact.nav;if(typeof jsondata["phoneNumbers"]!=="undefined"){var phoneNumberList=arrayUnique(jsondata["phoneNumbers"]);phoneNumberLabel=phoneNumberList.toString()}$scope.formatConversation(jsondata);$scope.$apply(function(){if(typeof jsondata["contactName"]==="undefined"||jsondata["contactName"]===""){$scope.selectedContact.label=phoneNumberLabel;$scope.selectedContact.opt_numbers=""}else{$scope.selectedContact.label=jsondata["contactName"];$scope.selectedContact.opt_numbers=phoneNumberLabel}$scope.totalMessageCount=jsondata["msgCount"]!==undefined?jsondata["msgCount"]:0;$scope.isConvLoading=false});$("#app-content").scrollTop(1e10)})};$scope.refreshConversation=function(){$.getJSON(Sms.generateURL("/ocsms/front-api/v1/conversation"),{phoneNumber:$scope.selectedContact.nav,lastDate:$scope.lastConvMessageDate},function(jsondata,status){var fmt=$scope.formatConversation(jsondata);var conversationBuf=fmt[1];if(conversationBuf===true){$("#app-content").scrollTop(1e10);if(document.hasFocus()===false){Sms.unreadCountCurrentConv+=parseInt(fmt[0]);document.title=Sms.originalTitle+" ("+Sms.unreadCountCurrentConv+")";SmsNotifications.notify(Sms.unreadCountCurrentConv+" unread message(s) in conversation with "+$scope.selectedContact.label)}}$scope.totalMessageCount=jsondata["msgCount"]!==undefined?parseInt(jsondata["msgCount"]):0})};$scope.checkNewMessages=function(){Sms.unreadCountAllConv=0;$.getJSON(Sms.generateURL("/front-api/v1/new_messages"),{lastDate:Sms.lastContactListMsgDate},function(jsondata,status){var bufferedContacts=[];$.each(jsondata["phonelist"],function(id,val){var fn,peerLabel;if(typeof jsondata["contacts"][id]==="undefined"){peerLabel=id}else{fn=jsondata["contacts"][id];peerLabel=fn}if(!inArray(peerLabel,bufferedContacts)){var contactObj={label:peerLabel,nav:id,unread:parseInt(val)};if(typeof jsondata["photos"][peerLabel]!=="undefined"){contactObj.avatar=jsondata["photos"][peerLabel]}if(typeof jsondata["uids"][peerLabel]!=="undefined"){contactObj.uid=jsondata["uids"][peerLabel]}else{contactObj.uid=peerLabel}$scope.modifyContact(contactObj);bufferedContacts.push(peerLabel);if(id===$scope.selectedContact.nav){Sms.selectConversation($("a[mailbox-navigation='"+id+"']"))}Sms.unreadCountAllConv+=parseInt(val)}});if(Sms.unreadCountNotifStep>0){Sms.unreadCountNotifStep--}if(Sms.unreadCountAllConv>0){if(Sms.unreadCountNotifStep===0||Sms.lastUnreadCountAllConv!==Sms.unreadCountAllConv){SmsNotifications.notify(Sms.unreadCountAllConv+" unread message(s) for all conversations");Sms.unreadCountNotifStep=12;Sms.lastUnreadCountAllConv=Sms.unreadCountAllConv}}})};$scope.removeConversation=function(){$.post(Sms.generateURL("/delete/conversation"),{contact:$scope.selectedContact.label},function(data){$scope.selectedContact.label="";$scope.selectedContact.opt_numbers="";$scope.selectedContact.avatar=undefined;$scope.removeContact($scope.selectedContact);$scope.$apply(function(){$scope.messages=[]});$scope.selectedContact.nav="";OC.Util.History.pushState("")})};$scope.filterSms=function(query){if(query!==$scope.lastSearch){}};OC.Plugins.register("OCA.Search",{attach:function(search){search.setFilter("sms",$scope.filterSms)}});$scope.addContact=function(ct){$scope.$apply(function(){$scope.contacts.push(ct)})};$scope.removeContact=function(ct){var len=$scope.contacts.length;for(var i=0;i$scope.lastConvMessageDate/100){$scope.lastConvMessageDate=id;$scope.addConversationMessage({id:id,type:msgClass,date:new Date(id*1),content:vals["msg"]});buf=true;msgCount++}});return[msgCount,buf]};$interval($scope.refreshConversation,1e4);$interval($scope.checkNewMessages,1e4);$timeout(function(){Sms.originalTitle=document.title;$.getJSON(Sms.generateURL("/front-api/v1/peerlist"),function(jsondata,status){$scope.fetchInitialPeerList(jsondata);var pnParam=$.urlParam("phonenumber");if(pnParam!=null){var urlPhoneNumber=decodeURIComponent(pnParam);if(urlPhoneNumber!=null){if($scope.selectedContact.nav===undefined){$scope.selectedContact.label=urlPhoneNumber;$scope.selectedContact.nav=urlPhoneNumber;$scope.selectedContact.avatar=undefined}$scope.fetchConversation(null);Sms.selectConversation($("a[mailbox-navigation='"+urlPhoneNumber+"']"))}}});SmsSettings.init();SmsNotifications.init();$scope.checkNewMessages()})}]);$.urlParam=function(name){var results=new RegExp("[?&]"+name+"=([^&#]*)").exec(window.location.href);if(results==null){return null}else{return results[1]||0}};(function($,OC){window.onfocus=function(){Sms.unreadCountCurrentConv=0;document.title=Sms.originalTitle}})(jQuery,OC);var SmsNotifications={init:function(){if(!("Notification"in window)){return}Notification.requestPermission(function(permission){if(!("permission"in Notification)){Notification.permission=permission}})},notify:function(message){if(!SmsSettings.enableNotifications){return}if(!("Notification"in window)){return}if(Notification.permission==="granted"){new Notification("Phone Sync - "+message)}else if(Notification.permission!=="denied"){Notification.requestPermission(function(permission){if(!("permission"in Notification)){Notification.permission=permission}if(permission==="granted"){new Notification("Phone Sync - "+message)}})}}};var SmsSettings={messageLimit:100,enableNotifications:true,contactOrderBy:"lastmsg",reverseContactOrder:true,country:"",init:function(){var self=this;$.getJSON(Sms.generateURL("/front-api/v1/settings"),function(jsondata,status){if(jsondata["status"]===true){self.messageLimit=parseInt(jsondata["message_limit"]);self.enableNotifications=parseInt(jsondata["notification_state"])!==0;self.contactOrderBy=jsondata["contact_order"];self.reverseContactOrder=toBool(jsondata["contact_order_reverse"]);self.country=jsondata["country"];self.updateView()}})},sendMessageLimit:function(){if(this.messageLimit===null){return}var self=this;$.post(Sms.generateURL("/set/msglimit"),{limit:self.messageLimit})},sendNotificationFlag:function(){var self=this;$.post(Sms.generateURL("/set/notification_state"),{notification:self.enableNotifications?1:0})},sendContactOrder:function(){var self=this;$.post(Sms.generateURL("/set/contact_order"),{attribute:self.contactOrderBy,reverse:self.reverseContactOrder})},sendCountry:function(){$.post(Sms.generateURL("/set/country"),{country:$("select[name=intl_phone]").val()})},updateView:function(){$("#sel_intl_phone").val(this.country);$("input[name=setting_msg_per_page]").val(this.messageLimit);$("select[name=setting_notif]").val(this.enableNotifications?1:0);$("select[name=setting_contact_order]").val(this.contactOrderBy);$("input[name=setting_contact_order_reverse]").val(this.reverseContactOrder)}}; diff --git a/js/devel/app.js b/js/devel/app.js index 9dd4ea5..337f0ee 100644 --- a/js/devel/app.js +++ b/js/devel/app.js @@ -15,7 +15,9 @@ var Sms = { unreadCountAllConv: 0, unreadCountNotifStep: 12, lastUnreadCountAllConv: 0, + lastContactListMsgDate: 0, originalTitle: document.title, + photoVersion: 1, _winRegexp: /(.*)\/ocsms.*/, @@ -26,6 +28,19 @@ var Sms = { console.log("A very bad error happened when parsing window location"); } return match[1] + '/ocsms' + endpoint; + }, + selectConversation: function (item) { + if (item === 'undefined' || item == null) { + return; + } + + if (this.selectedConversation != null) { + this.selectedConversation.parent().removeClass('selected'); + } + this.selectedConversation = item; + this.selectedConversation.parent().addClass('selected'); + this.selectedConversation.css("font-weight", "normal"); + this.selectedConversation.html(this.selectedConversation.attr("mailbox-label")); } }; diff --git a/js/devel/legacy.js b/js/devel/legacy.js index 9658bbf..7f0f217 100644 --- a/js/devel/legacy.js +++ b/js/devel/legacy.js @@ -34,7 +34,6 @@ app.filter('firstCharacter', function () { app.controller('OcSmsController', ['$scope', '$interval', '$timeout', '$compile', function ($scope, $interval, $timeout, $compile) { $scope.lastConvMessageDate = 0; - $scope.lastContactListMsgDate = 0; $scope.isConvLoading = false; $scope.isContactsLoading = true; $scope.buttons = [ @@ -46,7 +45,6 @@ app.controller('OcSmsController', ['$scope', '$interval', '$timeout', '$compile' $scope.contacts = []; $scope.messages = []; $scope.totalMessageCount = 0; - $scope.photoVersion = 1; $scope.selectedContact = {}; $scope.lastSearch = ''; @@ -57,7 +55,7 @@ app.controller('OcSmsController', ['$scope', '$interval', '$timeout', '$compile' // phoneNumber must exist if (contact.nav !== null) { $scope.fetchConversation(contact); - changeSelectedConversation($("a[mailbox-navigation='" + contact.nav + "']")); + Sms.selectConversation($("a[mailbox-navigation='" + contact.nav + "']")); } }; @@ -128,7 +126,7 @@ app.controller('OcSmsController', ['$scope', '$interval', '$timeout', '$compile' $scope.checkNewMessages = function () { Sms.unreadCountAllConv = 0; $.getJSON(Sms.generateURL('/front-api/v1/new_messages'), - {'lastDate': $scope.lastContactListMsgDate}, + {'lastDate': Sms.lastContactListMsgDate}, function (jsondata, status) { var bufferedContacts = []; @@ -164,7 +162,7 @@ app.controller('OcSmsController', ['$scope', '$interval', '$timeout', '$compile' // Re-set conversation because we reload the element if (id === $scope.selectedContact.nav) { - changeSelectedConversation($("a[mailbox-navigation='" + id + "']")); + Sms.selectConversation($("a[mailbox-navigation='" + id + "']")); } Sms.unreadCountAllConv += parseInt(val); @@ -287,7 +285,7 @@ app.controller('OcSmsController', ['$scope', '$interval', '$timeout', '$compile' // Use a buffer for better jQuery performance var bufferedContacts = []; - $scope.photoVersion = jsondata["photo_version"]; + Sms.photoVersion = jsondata["photo_version"]; $.each(jsondata['phonelist'], function (id, val) { var peerLabel; @@ -324,7 +322,7 @@ app.controller('OcSmsController', ['$scope', '$interval', '$timeout', '$compile' $scope.isContactsLoading = false; }); - $scope.lastContactListMsgDate = jsondata["lastRead"]; + Sms.lastContactListMsgDate = jsondata["lastRead"]; }; // Return (int) msgCount, (str) htmlConversation @@ -388,7 +386,7 @@ app.controller('OcSmsController', ['$scope', '$interval', '$timeout', '$compile' $scope.selectedContact.avatar = undefined; } $scope.fetchConversation(null); - changeSelectedConversation($("a[mailbox-navigation='" + urlPhoneNumber + "']")); + Sms.selectConversation($("a[mailbox-navigation='" + urlPhoneNumber + "']")); } } }); @@ -409,20 +407,6 @@ $.urlParam = function (name) { } }; -function changeSelectedConversation(item) { - if (item === 'undefined' || item == null) { - return; - } - - if (Sms.selectedConversation != null) { - Sms.selectedConversation.parent().removeClass('selected'); - } - Sms.selectedConversation = item; - Sms.selectedConversation.parent().addClass('selected'); - Sms.selectedConversation.css("font-weight", "normal"); - Sms.selectedConversation.html(Sms.selectedConversation.attr("mailbox-label")); -} - (function ($, OC) { // reset count and title window.onfocus = function () {