123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182 |
- /**
- * This file will depend on dialog.js (soft dependency). Some functions here will make calls to resources in dialog.js
- */
- var reset = function(){
- dialog.open('Healthcare/IO::Parser', 'Are you sure you would like to delete all data parsed? Click Ok to confirm',confirmed.reset)
-
- }
- var update= function(){
- dialog.open('Healthcare/IO::Parser','Update will change parsing configuration. Would you like to continue ?',confirmed.update)
- }
- var run = function(){
- dialog.open('Healthcare/IO::Parser','Preparing parser, confirm to continue',confirmed.run)
- }
- var _queue = {socket:null}
- var confirmed = {}
- confirmed.run = function(){
- dialog.status.busy()
- dialog.status.wait()
- $('.dialog .message .text').html('Initiating Parsing ...')
- setTimeout(function(){
- var http = HttpClient.instance()
- http.post(sessionStorage.io_context+'/io/run',function(x){
- // dialog.handler = setInterval(function(){monitor.data()},750)
- monitor.data()
- //dialog.close()
-
- })
-
- },1000)
- }
- confirmed.reset = function(){
- var uri = sessionStorage.io_context+'/reset'
- var http= HttpClient.instance()
- dialog.status.busy()
- dialog.status.wait()
- http.post(uri,function(x){
- setTimeout(function(){
- if (x.status == 200 && x.responseText == "1"){
- dialog.status.success()
- $('.dialog .message .text').html('Reset Healthcare/IO::Parser was successful!<br><div align="center">Dialog will be closing</div>')
- dialog.close()
- }else{
- dialog.status.fail()
-
-
- }
- },2000)
- })
- }
- confirmed.update = function(){
- var uri = sessionStorage.io_context+'/update'
- var email = $('#email').val()
- //
- //-- validate the email
- if (email.match(/^([^\s]+)@([^\s@]+)\.(org|com|edu|io)$/i)){
- dialog.status.wait()
- dialog.status.busy()
- var http = HttpClient.instance()
- http.setData({"email":email},"application/son")
- setTimeout(function(){
- http.post(uri,function(x){
- if(x.status == 200 && x.responseText == "1"){
- dialog.status.success()
- }else{
-
- dialog.status.fail()
- $('.dialog .message .text').html('Error code '+x.status)
- dialog.bind()
- dialog.status.confirm()
- $('.dialog .title-bar .title').html("Error found")
-
- }
- })
-
- },1000)
- }else{
- dialog.status.fail()
- dialog.bind()
- $('.dialog .title-bar .title').text("Error found")
- $('.dialog .message .text').html('Invvalid Email entered')
- dialog.status.confirm()
- }
-
- }
- /**
- * This namespace is designed to export data to either the cloud or to a database
- */
- var publish={set:{}}
- publish.post = function(){
-
- if($('.jxmodal').length > 0){
- jx.modal.close()
- }
- dialog.open('Export/ETL','Please wait')
- dialog.status.busy()
- var http = HttpClient.instance()
- http.setData(JSON.parse(sessionStorage.export),"application/json")
- http.post(sessionStorage.io_context+'/export',function(x){
- if (x.status != 200){
- setTimeout(function(){
- $('.dialog .message .text').html('An error occurred with code '+x.status)
- dialog.status.fail()
- dialog.status.wait()
-
- },1500)
-
- }
- //
- // @TODO: Have progress be monitored for this bad boy i.e open the connection to socket and read in ...
- //
- })
- }
- publish.set.file = function(){
- var file = $('#file')[0].files[0]
- $('.file .name').html(file.name)
- var button = $('.cloud input').prop('disabled',true)
- var div = $('.cloud .file .fa-file-upload')[0]
- $(div).empty()
- $(div).addClass('fas fa-cog fa-spin')
- var reader = new FileReader()
- reader.readAsText(file)
-
-
- reader.onload = function(){
- _args = {"type":$('.cloud .id').html().trim(),"content":reader.result}
- // _args = JSON.stringify(_args)
- if (_args.content.match(/^\{.+/i) == null){
- content = _args.content.split('\n')[1].split(',')
- _args.content = {'bucket':'healthcareio','access_key':content[0].trim(),'secret_key':content[1].trim()}
- }
- sessionStorage.export = JSON.stringify(_args)
- }
-
- reader.onloadend = function(){
- setTimeout(function(){
- var div = $('.cloud .file .fa-cog')[0]
- $(div).empty()
- $(div).addClass('fas fa-check')
- $(div).removeClass('fa-spin')
- // jx.modal.close()
-
- //setTimeout(jx.modal.close,1500)
- publish.post()
- },2000)
- }
- }
- publish.database = {}
- publish.database.init = function(id){
- //
- // we are expecting id in {mongo,couch,postgresql,mysql,sqlite}
- // @TODO: Account for cloud service brokers like dropbox, box, one-drive and google-drive
- sessionStorage.export = "{}"
- p = {'id':id}
- if (id.match(/(mongodb|postgresql|mysql|sqlite|couchdb)/i)){
- var hide_id = '.store .cloud'
- var show_id = '.store .database'
- }else{
- //
- // @TODO: generate an error message
- var show_id = '.store .cloud'
- var hide_id = '.store .database'
- }
- var http = HttpClient.instance()
- http.get(sessionStorage.io_context+'/export',function(x){
- var html = x.responseText
- jx.modal.show({'html':html,'id':'dialog'})
- $(hide_id).hide(function(){
- $(show_id).show()
- })
- $('.store .id').text(id)
- })
- }
|