print2.blade.php 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308
  1. <!DOCTYPE html>
  2. <html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1">
  6. <meta name="csrf-token" content="{{ csrf_token() }}">
  7. <title>{{ config('app.name') }}</title>
  8. <link rel="icon" href="/img/icon.svg">
  9. <!-- Fonts -->
  10. <link href="https://fonts.googleapis.com/css?family=Nunito:200,600" rel="stylesheet">
  11. {{-- mc initializers --}}
  12. <script src="/js/mc-init.js?v={{config('app.asset_version')}}"></script>
  13. {{-- vue --}}
  14. <script src="/js/vue.js"></script>
  15. {{-- Quill RTE --}}
  16. <script>
  17. window.stagQuillConfig = {
  18. toolbar: ['bold', 'italic', 'underline', { 'list': 'ordered'}, { 'list': 'bullet' }],
  19. keyboard: {
  20. bindings: {
  21. handleEnter: {
  22. key: 13,
  23. handler: function() {
  24. if(!$('.stag-shortcuts:visible').length) return true;
  25. }
  26. }
  27. }
  28. }
  29. };
  30. </script>
  31. <link href="/quill/quill.snow.css" rel="stylesheet">
  32. <script src="/quill/quill.js"></script>
  33. <!-- <link href="{{ asset('bootstrap-4.5.0/css/bootstrap.css') }}" rel="stylesheet"> -->
  34. <link rel="stylesheet" href="/fontawesome-free-5.13.1-web/css/all.min.css">
  35. <link href="{{ asset('/css/app.css') }}?v={{config('app.asset_version')}}" rel="stylesheet">
  36. <link href="{{ asset('/css/style.css') }}?v={{config('app.asset_version')}}" rel="stylesheet">
  37. <link href="{{ asset('/css/yemi.css') }}?v={{config('app.asset_version')}}" rel="stylesheet">
  38. <link rel="stylesheet" href="{{ asset('/css/toastr.min.css') }}">
  39. <link href="{{asset('/css/z.css')}}?v={{config('app.asset_version')}}" rel=stylesheet>
  40. <!-- Styles -->
  41. <script src="{{ asset('js/app.js') }}?v={{config('app.asset_version')}}" type="application/javascript"></script>
  42. <script src="/js/jquery-3.5.1.min.js"></script>
  43. <script src="/js/jquery.form.min.js"></script>
  44. <script src="{{ asset('js/toastr.min.js') }}" type="application/javascript"></script>
  45. <script src="/js/yemi.js?v={{config('app.asset_version')}}" type="application/javascript"></script>
  46. {{-- med ac --}}
  47. <link href='/css/autocomplete-lhc.min.css' rel="stylesheet">
  48. <script src='/js/autocomplete-lhc.js'></script>
  49. {{-- inline bootstrap datepicker --}}
  50. {{-- <link href='/bootstrap-datepicker/css/bootstrap-datepicker.standalone.min.css' rel="stylesheet">
  51. <script src='/bootstrap-datepicker/js/bootstrap-datepicker.min.js'></script>--}}
  52. <link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
  53. <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
  54. {{-- pdfjs --}}
  55. <script src="/js/pdfjs-2.12.313/build/pdf.js"></script>
  56. <script src="{{ asset('js/tsvToArray.js') }}"></script>
  57. {{-- WebSockets --}}
  58. <script src="https://cdnjs.cloudflare.com/ajax/libs/sockjs-client/1.5.0/sockjs.min.js"
  59. integrity="sha512-5yJ548VSnLflcRxWNqVWYeQZnby8D8fJTmYRLyvs445j1XmzR8cnWi85lcHx3CUEeAX+GrK3TqTfzOO6LKDpdw=="
  60. crossorigin="anonymous"></script>
  61. <script src="https://cdnjs.cloudflare.com/ajax/libs/stomp.js/2.3.3/stomp.min.js"
  62. integrity="sha512-iKDtgDyTHjAitUDdLljGhenhPwrbBfqTKWO1mkhSFH3A7blITC9MhYon6SjnMhp4o0rADGw9yAC6EW4t5a4K3g=="
  63. crossorigin="anonymous"></script>
  64. <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
  65. <script src="https://cdnjs.cloudflare.com/ajax/libs/TableDnD/1.0.5/jquery.tablednd.min.js"></script>
  66. <script>
  67. window.segmentRefreshConfig = {!! json_encode(config('stag.segmentRefreshConfig')) !!};
  68. </script>
  69. <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
  70. <script type="text/javascript">
  71. $(function() {
  72. $.ajaxSetup({
  73. headers: {
  74. 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
  75. }
  76. });
  77. });
  78. </script>
  79. @yield('head')
  80. </head>
  81. <body>
  82. <div id="mask" style="background: rgba(0, 0, 0, 0) url(&quot;/vanillaspin.gif&quot;) no-repeat scroll center center; position: fixed; top: 0px; left: 0px; z-index: 9999; width: 100%; height: 100%; display: none;">
  83. </div>
  84. <div id="moe-form-mask" style="background: rgba(0, 0, 0, .1) no-repeat scroll center center; position: fixed; top: 0px; left: 0px; z-index: 97; width: 100%; height: 100%; display: none;">
  85. </div>
  86. <main role="main" class="stag-content px-0">
  87. @yield('content')
  88. </main><!-- /.container -->
  89. <!-- shortcut/suggest component -->
  90. <link href="/css/shortcut.css?v={{config('app.asset_version')}}" rel=stylesheet>
  91. <script src="/js/shortcut.js?v={{config('app.asset_version')}}" type="application/javascript"></script>
  92. <!-- pro suggest component -->
  93. <script src="/js/pro-suggest.js?v={{config('app.asset_version')}}" type="application/javascript"></script>
  94. <!-- script to handle history/back/forward for mc/xxx pages
  95. + all other JS initialization needed in fastLoaded pages -->
  96. <script src="/js/find-event-handlers.js?v={{config('app.asset_version')}}" type="application/javascript"></script>
  97. <script src="/js/mc.js?v={{config('app.asset_version')}}" type="application/javascript"></script>
  98. <form url="/api/proTextShortcut/create" id="create-shortcut-form" class="mcp-theme-1">
  99. <input type="hidden" name="proUid" value="{{ $pro->uid }}">
  100. <div class="mb-2">
  101. <input type="text" class="form-control form-control-sm" name="shortcut" value="" placeholder="Shortcut Name" required>
  102. </div>
  103. <div class="mb-2">
  104. <textarea name="text" class="form-control form-control-sm" rows="3" id="selected-sc-text" placeholder="Content" required></textarea>
  105. </div>
  106. <div class="mb-0">
  107. <button class="btn btn-primary btn-sm" type="submit">Save</button>
  108. <button class="btn btn-default border btn-sm ml-1" type="reset">Cancel</button>
  109. </div>
  110. </form>
  111. <script>
  112. $(document).ready(function() {
  113. console.log({navBar});
  114. window.toggleChildLinks = function(_element) {
  115. $(_element).closest('.nav-item').toggleClass('nav-child-collapsed');
  116. return false;
  117. }
  118. const debounce = (func, wait) => {
  119. let timeout;
  120. return function executedFunction(...args) {
  121. const later = () => {
  122. clearTimeout(timeout);
  123. func(...args);
  124. };
  125. clearTimeout(timeout);
  126. timeout = setTimeout(later, wait);
  127. };
  128. };
  129. var lastTerm = '';
  130. var returnedFunction = debounce(function() {
  131. var term = $.trim($('#patient-search').val());
  132. if (!!term) {
  133. if(lastTerm !== term) {
  134. $('.patient-search-results.suggestions-outer')
  135. .html('<span class="d-block no-suggest-items">Searching...</span>')
  136. .removeClass('d-none');
  137. $.get('/patients-suggest?term=' + term, function(_data) {
  138. if($.trim($('#patient-search').val()) === term) { // use returned data only if it's for the sent "term"
  139. $('.patient-search-results.suggestions-outer').html(_data).removeClass('d-none');
  140. }
  141. });
  142. lastTerm = term;
  143. }
  144. } else {
  145. $('.patient-search-results.suggestions-outer').addClass('d-none');
  146. }
  147. }, 250);
  148. $('#patient-search')
  149. .off('keydown')
  150. .on('keydown', function(e) {
  151. var activeItem = $('.patient-search-results.suggestions-outer .suggest-item.active');
  152. switch (e.which) {
  153. case 27:
  154. $('.patient-search-results.suggestions-outer').addClass('d-none');
  155. markEventAsConsumed(e);
  156. return false;
  157. case 38:
  158. if (activeItem.prev().length) {
  159. activeItem.prev()
  160. .addClass('active')
  161. .siblings().removeClass('active');
  162. activeItem = $('.patient-search-results.suggestions-outer .suggest-item.active');
  163. if (activeItem.length) {
  164. activeItem[0].scrollIntoView();
  165. }
  166. }
  167. return false;
  168. case 40:
  169. if (activeItem.next().length) {
  170. activeItem.next()
  171. .addClass('active')
  172. .siblings().removeClass('active');
  173. activeItem = $('.patient-search-results.suggestions-outer .suggest-item.active');
  174. if (activeItem.length) {
  175. activeItem[0].scrollIntoView();
  176. }
  177. }
  178. return false;
  179. case 13:
  180. if (activeItem.length) {
  181. activeItem.first().trigger('mousedown');
  182. }
  183. return false;
  184. default:
  185. window.setTimeout(onQueryChange, 50);
  186. break;
  187. }
  188. })
  189. .on('keypress paste', function(e) {
  190. window.setTimeout(onQueryChange, 50);
  191. })
  192. .on('blur', function(e) {
  193. $('.patient-search-results.suggestions-outer').addClass('d-none');
  194. return false;
  195. })
  196. .on('focus', function(e) {
  197. if (lastTerm) { //if search has content
  198. $('.patient-search-results.suggestions-outer').removeClass('d-none');
  199. }
  200. return false;
  201. });
  202. $(document)
  203. .off('click.on-click-menu', '.on-click-menu>span')
  204. .on('click.on-click-menu', '.on-click-menu>span', function() {
  205. $(this).parent().find('[menu]').first().show();
  206. return false;
  207. });
  208. $('body')
  209. .off('mousedown.on-click-menu-outside-click')
  210. .on('mousedown.on-click-menu-outside-click', function (e) {
  211. if ($(e.target).closest('.on-click-menu').length && $(e.target).closest('.on-click-menu').find('[menu]').is(':visible')) {
  212. return;
  213. }
  214. $('.on-click-menu [menu]').hide();
  215. });
  216. function onQueryChange() {
  217. returnedFunction();
  218. }
  219. $(document).on('mousedown', '.suggest-item.patient-suggest[data-target-uid]', function() {
  220. $('#patient-search').val('');
  221. $('.patient-search-results.suggestions-outer').addClass('d-none');
  222. fastLoad('/patients/view/' + $(this).attr('data-target-uid'), true, false, false);
  223. return false;
  224. });
  225. $(document)
  226. .off('click.tab-link', 'a[tab-link]')
  227. .on('click.tab-link', 'a[tab-link]', function () {
  228. let tab = $(this).attr('tab-link');
  229. $(this).siblings().removeClass('tab-link-active');
  230. $(this).addClass('tab-link-active');
  231. $(this).closest('[tab-links]').siblings('.cm-tab').addClass('d-none');
  232. $(this).closest('[tab-links]').siblings('.cm-tab[tab-key="' + tab + '"]').removeClass('d-none');
  233. // TODO: move to context
  234. if(window.vgBPChart) window.vgBPChart.flush();
  235. if(window.vgWtChart) window.vgWtChart.flush();
  236. return false;
  237. });
  238. addMCInitializer('hide-moes', function() {
  239. $('div[moe] form:not([show])').hide();
  240. });
  241. (function() {
  242. function init() {
  243. $(window).on('resize', adjustStickyHeader);
  244. $(window).on('scroll', adjustStickyHeader);
  245. }
  246. function adjustStickyHeader() {
  247. if($(window).scrollTop() > 0) {
  248. $('.sticky-note-header').addClass('sticky');
  249. }
  250. else {
  251. $('.sticky-note-header').removeClass('sticky');
  252. }
  253. }
  254. addMCInitializer('sticky-note-header', init, '.sticky-note-header');
  255. })();
  256. });
  257. </script>
  258. <script src="/js/click-to-copy.js?v={{config('app.asset_version')}}"></script>
  259. <script src="/js/stag-popup.js?v={{config('app.asset_version')}}"></script>
  260. <script src="/js/stag-suggest.js?v={{config('app.asset_version')}}"></script>
  261. <script src="/js/stag-table-filter.js?v={{config('app.asset_version')}}"></script>
  262. <script src="/js/option-list.js?v={{config('app.asset_version')}}"></script>
  263. <script src="/js/show-on-click.js?v={{config('app.asset_version')}}"></script>
  264. <script src="/js/dq.js?v={{config('app.asset_version')}}"></script>
  265. <script src="/js/icd-autocomplete.js?v={{config('app.asset_version')}}"></script>
  266. <script src="/js/stag-collapsible-card.js?v={{config('app.asset_version')}}"></script>
  267. <script src="/js/stag-scrollbar.js?v={{config('app.asset_version')}}"></script>
  268. @include('app/pdf/viewer')
  269. <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/dt/dt-1.10.24/fc-3.3.2/fh-3.1.8/datatables.min.css"/>
  270. <script type="text/javascript" src="https://cdn.datatables.net/v/dt/dt-1.10.24/fc-3.3.2/fh-3.1.8/datatables.min.js"></script>
  271. <link href="/v-splitter-px/v-splitter.css?v={{config('app.asset_version')}}" rel="stylesheet" >
  272. <script src="/v-splitter-px/v-splitter.js?v={{config('app.asset_version')}}"></script>
  273. </body>
  274. </html>