UX - Expandable Search Patient By Any Demographics - Take 3 (#2523)
[openemr.git] / interface / main / tabs / js / user_data_view_model.js
bloba7a6e6aaafb23ff397a434ae2f1fc7e88f3a90a7
1 /**
2  * user_data_view_model.js
3  *
4  * @package   OpenEMR
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 Brady Miller <brady.g.miller@gmail.com>
12  * @copyright Copyright (c) 2019 Ranganath Pathak <pathak@scrs1.org>
13  * @copyright Copyright (c) 2018-2019 Jerry Padgett <sjpadgett@gmail.com>
14  * @license   https://github.com/openemr/openemr/blob/master/LICENSE GNU General Public License 3
15  */
17 function user_data_view_model(username,fname,lname,authGrp)
19     var self=this;
20     self.username=ko.observable(username);
21     self.fname=ko.observable(fname);
22     self.lname=ko.observable(lname);
23     self.authorization_group=ko.observable(authGrp);
24     self.messages=ko.observable(false);
25     self.portal=ko.observable(isPortalEnabled);
26     self.portalAlerts=ko.observable("");
27     self.portalAudits=ko.observable("");
28     self.portalMail=ko.observable("");
29     self.portalChats=ko.observable("");
30     self.portalPayments=ko.observable("");
32     return this;
36 function viewPtFinder(myMessage, searchAnyType, event)
38     event.stopImmediatePropagation;
39     event.preventDefault;
40     let srchBox = document.getElementById("anySearchBox");
41     var searchAnyType = searchAnyType;
42     srchBox.focus();
43     
44     let finderUrl = webroot_url+"/interface/main/finder/dynamic_finder.php";
45     let srchBoxVal = srchBox.value.trim();
46     let srchBoxWidth = srchBox.offsetWidth;
47     let srchBoxLength = srchBoxWidth < 50 ? 0 : srchBoxVal.length;// to let input box with values be displayed on mousedown on Smartphones
48     
49     if (srchBoxLength > 0 ) {
50         finderUrl += "?search_any=" + encodeURIComponent(srchBoxVal);
51         navigateTab(finderUrl,"fin", function () {
52             activateTabByName("fin",true);
53         });
54         srchBox.blur();
55     } else if (srchBoxLength == 0 && srchBoxWidth > 50) {
56         if (searchAnyType == 'dual') {
57             srchBox.blur();
58             navigateTab(finderUrl,"fin", function () {
59                 activateTabByName("fin",true);
60             });
61         } else if (searchAnyType == 'comprehensive') {
62             alert(arguments[0]);
63             srchBox.focus();
64         }
65     }
66    
69 function viewTgFinder()
71     navigateTab(webroot_url+"/interface/therapy_groups/index.php?method=listGroups","gfn", function () {
72         activateTabByName("gfn",true);
73     });
76 function viewMessages()
78     navigateTab(webroot_url+"/interface/main/messages/messages.php?form_active=1","msg", function () {
79         activateTabByName("msg",true);
80     });
83 function viewPortalAudits()
85     navigateTab(webroot_url+"/portal/patient/onsiteactivityviews","msc", function () {
86         activateTabByName("msc",true);
87     });
90 function viewPortalMail()
92     navigateTab(webroot_url+"/portal/messaging/messages.php","por", function () {
93         activateTabByName("por",true);
94     });
97 function viewPortalChats()
99     navigateTab(webroot_url+"/portal/messaging/secure_chat.php","pop", function () {
100         activateTabByName("pop",true);
101     });
104 function viewPortalPayments()
106     navigateTab(webroot_url+"/portal/patient/onsiteactivityviews","msc", function () {
107         activateTabByName("msc",true);
108     });
111 function editSettings()
113     navigateTab(webroot_url+"/interface/super/edit_globals.php?mode=user","msc", function () {
114         activateTabByName("msc",true);
115     });
118 function changePassword()
120     navigateTab(webroot_url+"/interface/usergroup/user_info.php","msc", function () {
121         activateTabByName("msc",true);
122     });
125 function changeMFA()
127     navigateTab(webroot_url+"/interface/usergroup/mfa_registrations.php","msc", function () {
128         activateTabByName("msc",true);
129     });
132 function logout()
134     top.restoreSession();
135     top.window.location=webroot_url+"/interface/logout.php";