Browse Source

Segment listeners - Prevent never ending loop

Vijayakrishnan 3 years ago
parent
commit
379e06ac10
1 changed files with 19 additions and 17 deletions
  1. 19 17
      resources/views/app/patient/note/segment_script.blade.php

+ 19 - 17
resources/views/app/patient/note/segment_script.blade.php

@@ -1,7 +1,7 @@
 <script>
     (function() {
 
-        function updateAllSegmentsInResponse(_response) {
+        function updateAllSegmentsInResponse(_response, _updateListeners = true) {
             if(!hasResponseError(_response)) {
 
                 // refresh primary segment (where uid is _response.data.uid)
@@ -10,22 +10,24 @@
                 }
 
                 // refresh listening segments
-                if(_response.data && _response.data.listenerSegmentUids && _response.data.listenerSegmentUids.length) {
-                    for (let i=0; i<_response.data.listenerSegmentUids.length; i++) {
-                        let listenerSegment = $('.note-section[data-segment-uid="' + _response.data.listenerSegmentUids[i] + '"]');
-                        let listenerSegmentTemplateName = listenerSegment.attr('data-segment-template-name');
-                        if(listenerSegment && listenerSegment.length) {
-                            $.post('/api/visit/updateSegmentHtml', {
-                                segmentUid: _response.data.listenerSegmentUids[i]
-                            }, _data => {
-                                updateAllSegmentsInResponse(_data);
-
-                                // TODO: remove this ugliness
-                                if(listenerSegmentTemplateName === 'medrisk_vigilence') {
-                                    toastr.info('Medrisk Vigilance Updated', null, { timeOut: 10000 });
-                                }
-
-                            }, 'json');
+                if(_updateListeners) {
+                    if(_response.data && _response.data.listenerSegmentUids && _response.data.listenerSegmentUids.length) {
+                        for (let i=0; i<_response.data.listenerSegmentUids.length; i++) {
+                            let listenerSegment = $('.note-section[data-segment-uid="' + _response.data.listenerSegmentUids[i] + '"]');
+                            let listenerSegmentTemplateName = listenerSegment.attr('data-segment-template-name');
+                            if(listenerSegment && listenerSegment.length) {
+                                $.post('/api/visit/updateSegmentHtml', {
+                                    segmentUid: _response.data.listenerSegmentUids[i]
+                                }, _data => {
+                                    updateAllSegmentsInResponse(_data, false);
+
+                                    // TODO: remove this ugliness
+                                    if(listenerSegmentTemplateName === 'medrisk_vigilence') {
+                                        toastr.info('Medrisk Vigilance Updated', null, { timeOut: 10000 });
+                                    }
+
+                                }, 'json');
+                            }
                         }
                     }
                 }