2 * user_data_view_model.js
5 * @link http://www.open-emr.org
6 * @author Kevin Yeh <kevin.y@integralemr.com>
7 * @author Brady Miller <brady.g.miller@gmail.com>
8 * @author Ranganath Pathak <pathak@scrs1.org>
9 * @author Jerry Padgett <sjpadgett@gmail.com>
10 * @copyright Copyright (c) 2016 Kevin Yeh <kevin.y@integralemr.com>
11 * @copyright Copyright (c) 2016-2019 Brady Miller <brady.g.miller@gmail.com>
12 * @copyright Copyright (c) 2019 Ranganath Pathak <pathak@scrs1.org>
13 * @copyright Copyright (c) 2018-2023 Jerry Padgett <sjpadgett@gmail.com>
14 * @license https://github.com/openemr/openemr/blob/master/LICENSE GNU General Public License 3
17 function user_data_view_model(username, fname, lname, authGrp) {
19 self.username = ko.observable(username);
20 self.fname = ko.observable(fname);
21 self.lname = ko.observable(lname);
22 self.authorization_group = ko.observable(authGrp);
23 self.messages = ko.observable(false);
24 self.portal = ko.observable(isPortalEnabled);
25 self.portalAlerts = ko.observable("");
26 self.portalAudits = ko.observable("");
27 self.portalMail = ko.observable("");
28 self.portalChats = ko.observable("");
29 self.portalPayments = ko.observable("");
30 self.servicesOther = ko.observable(isServicesOther);
31 self.serviceAlerts = ko.observable("");
32 self.smsAlerts = ko.observable("");
33 self.faxAlerts = ko.observable("");
39 function viewPtFinder(myMessage, searchAnyType, data, event)
41 event.stopImmediatePropagation();
42 event.preventDefault();
43 let srchBox = document.getElementById("anySearchBox");
46 let finderUrl = webroot_url+"/interface/main/finder/dynamic_finder.php";
47 let srchBoxVal = srchBox.value.trim();
48 let srchBoxWidth = srchBox.offsetWidth;
49 let srchBoxLength = srchBoxWidth < 50 ? 0 : srchBoxVal.length;// to let input box with values be displayed on mousedown on Smartphones
51 if (srchBoxLength > 0 ) {
52 finderUrl += "?search_any=" + encodeURIComponent(srchBoxVal);
53 navigateTab(finderUrl,"fin", function () {
54 activateTabByName("fin",true);
57 } else if (srchBoxLength == 0 && srchBoxWidth > 50) {
58 if (searchAnyType == 'dual') {
60 navigateTab(finderUrl,"fin", function () {
61 activateTabByName("fin",true);
63 } else if (searchAnyType == 'comprehensive') {
71 function viewTgFinder()
73 navigateTab(webroot_url+"/interface/therapy_groups/index.php?method=listGroups","gfn", function () {
74 activateTabByName("gfn",true);
78 function viewMessages()
80 navigateTab(webroot_url+"/interface/main/messages/messages.php?form_active=1","msg", function () {
81 activateTabByName("msg",true);
85 function viewPortalAudits()
87 navigateTab(webroot_url+"/portal/patient/onsiteactivityviews","msc", function () {
88 activateTabByName("msc",true);
92 function viewPortalMail()
94 navigateTab(webroot_url+"/portal/messaging/messages.php","por", function () {
95 activateTabByName("por",true);
99 function viewPortalChats()
101 navigateTab(webroot_url+"/portal/messaging/secure_chat.php","pop", function () {
102 activateTabByName("pop",true);
106 function viewPortalPayments()
108 navigateTab(webroot_url+"/portal/patient/onsiteactivityviews","msc", function () {
109 activateTabByName("msc",true);
113 function editSettings()
115 navigateTab(webroot_url+"/interface/super/edit_globals.php?mode=user","msc", function () {
116 activateTabByName("msc",true);
120 function changePassword()
122 navigateTab(webroot_url+"/interface/usergroup/user_info.php","msc", function () {
123 activateTabByName("msc",true);
129 navigateTab(webroot_url+"/interface/usergroup/mfa_registrations.php","msc", function () {
130 activateTabByName("msc",true);
136 top.restoreSession();
137 document.getElementById("logoutinnerframe").src=webroot_url+"/interface/logout.php";
140 function timeoutLogout()
142 top.restoreSession();
143 document.getElementById("logoutinnerframe").src=webroot_url+"/interface/logout.php?timeout=1";
146 function viewSmsCount()
148 navigateTab(webroot_url+"/interface/modules/custom_modules/oe-module-faxsms/messageUI.php?type=sms","sms", function () {
149 activateTabByName("sms",true);
153 function viewFaxCount()
155 navigateTab(webroot_url+"/interface/modules/custom_modules/oe-module-faxsms/messageUI.php?type=fax","fax", function () {
156 activateTabByName("fax",true);