Forráskód Böngészése

JSON config driven segment refresh impl

Vijayakrishnan 3 éve
szülő
commit
cf63d0f559

+ 1 - 1
config/app.php

@@ -65,7 +65,7 @@ return [
 
     'hrm2_url' => env('HRM2_URL'),
 
-    'asset_version' => 72,
+    'asset_version' => 73,
 
     'temp_dir' => env('TEMP_DIR'),
 

+ 65 - 1
config/stag.php

@@ -3,5 +3,69 @@
 return [
     'authUrl' => env('AUTH_URL'),
     'adminPortalUrl' => env('ADMIN_PORTAL_URL', 'https://fe.scholar.securecpu.com'),
-    'backendUrl' => env('BACKEND_URL','https://scholar.securecpu.com')
+    'backendUrl' => env('BACKEND_URL','https://scholar.securecpu.com'),
+
+    'segmentRefreshConfig' => [
+        'typeToSegments' => [
+            'allergy' => [
+                'intake_allergies',
+                'plan_allergies',
+                'allergies',
+                'omega_allergies',
+                'omega_subjective_system',
+                'omega_plan_system',
+            ],
+            'medication' => [
+                'intake_medications',
+                'plan_medications',
+                'omega_medications',
+                'medications',
+                'omega_subjective_system',
+                'omega_plan_system',
+            ],
+            'problem' => [
+                'intake_problems',
+                'plan_problems',
+                'omega_problems',
+                'problems',
+                'omega_subjective_system',
+                'omega_plan_system',
+            ],
+            'goal' => [
+                'intake_goals',
+                'plan_goals',
+                'omega_goals',
+                'goals',
+                'omega_subjective_system',
+                'omega_plan_system',
+            ],
+            'care-team-member' => [
+                'intake_care_team',
+                'plan_care_team',
+                'omega_care_team',
+                'care_team',
+                'omega_subjective_system',
+                'omega_plan_system',
+            ],
+        ],
+
+        'wizardToTypes' => [
+            'allergies-center' => ['allergy'],
+            'medications-center' => ['medication'],
+            'problems-center' => ['problem'],
+            'goals-center' => ['goal'],
+            'careteam-center' => ['care-team-member']
+        ],
+
+        'wizardToSegments' => [
+            'past_medical_history/edit' => ['omega_history_past_medical'],
+            'history_family/edit' => ['omega_history_family'],
+            'history_social/edit' => ['omega_history_social'],
+            'history_surgical/edit' => ['omega_history_surgical'],
+            'weight_loss_intake/edit' => ['omega_subjective_system', 'omega_plan_system'],
+            'nutrition-center' => ['omega_subjective_system', 'omega_plan_system'],
+            'exercise-center' => ['omega_subjective_system', 'omega_plan_system'],
+            'behavior-center' => ['omega_subjective_system', 'omega_plan_system'],
+        ],
+    ]
 ];

+ 54 - 50
js-dev/mc.js

@@ -557,7 +557,50 @@ window.fillJsonDataField = function(form, field = "data") {
     }
     return parsed;
 }
+window.refreshSegment = function(_segment) {
+    $('.visit-segment[data-segment-template-name="' + _segment + '"]').find('.refresh-segment').trigger('click');
+};
+window.refreshAffectedSegmentsByType = function(_type) {
+    if(!_type) {
+        console.error('refreshAffectedSegmentsByType: _type cannot be empty!');
+        return;
+    }
+    let segments = window.segmentRefreshConfig.typeToSegments[_type];
+    if(segments && segments.length) {
+        for (let i = 0; i < segments.length; i++) {
+            refreshSegment(segments[i]);
+        }
+    }
+    else {
+        if(!_type) {
+            console.error('refreshAffectedSegmentsByType: no segments to refresh for type:', _type);
+        }
+    }
+};
+window.refreshAffectedSegmentsByPopupKey = function(_key) {
+    let types = [];
+    for(let x in window.segmentRefreshConfig.wizardToTypes) {
+        if(window.segmentRefreshConfig.wizardToTypes.hasOwnProperty(x) && _key.indexOf(x) !== -1) {
+            types.push(window.segmentRefreshConfig.wizardToTypes[x]);
+            break;
+        }
+    }
+    for (let i = 0; i < types.length; i++) {
+        refreshAffectedSegmentsByType(types[i]);
+    }
+    let segments = [];
+    for(let x in window.segmentRefreshConfig.wizardToSegments) {
+        if(window.segmentRefreshConfig.wizardToSegments.hasOwnProperty(x) && _key.indexOf(x) !== -1) {
+            segments = window.segmentRefreshConfig.wizardToSegments[x];
+            break;
+        }
+    }
+    for (let i = 0; i < segments.length; i++) {
+        refreshSegment(segments[i]);
+    }
+};
 window.saveVisitForm = function(_trigger, _silent = false, _close = false, _doneCallback = null) {
+    console.info("saveVisitForm");
     let form = $(_trigger).closest('form');
 
     if (!_silent && !form[0].checkValidity()) {
@@ -599,56 +642,17 @@ window.saveVisitForm = function(_trigger, _silent = false, _close = false, _done
         if(!hasResponseError(_data)) {
             if(typeof window.updateAllSegmentsInResponse !== 'undefined') {
                 window.updateAllSegmentsInResponse(_data, true, _silent);
-
-                // if /api/visitPoint/upsertChildReview - refresh subjective_general_v2
-                // if /api/visitPoint/upsertChildPlan - refresh plan_free_text_v2
-
-                let parentPopup = form.closest('.stag-popup');
-
-                let eps = [
-                    '/api/visitPoint/upsertChildReview',
-                    '/api/visitPoint/upsertChildPlan',
-                    '/api/visitPoint/destroyCurrentChildReview',
-                    '/api/visitPoint/destroyCurrentChildPlan',
-                    '/api/visitPoint/addTopLevelBulkPreExisting'
-                ];
-
-                if(parentPopup.length && eps.indexOf(form.attr('url')) !== -1) {
-                    if(parentPopup.attr('stag-popup-key').indexOf('past_medical_history/edit') !== -1) {
-                        $('.visit-segment[data-segment-template-name="omega_history_past_medical"]').find('.refresh-segment').trigger('click');
-                    }
-                    else if(parentPopup.attr('stag-popup-key').indexOf('history_family/edit') !== -1) {
-                        $('.visit-segment[data-segment-template-name="omega_history_family"]').find('.refresh-segment').trigger('click');
-                    }
-                    else if(parentPopup.attr('stag-popup-key').indexOf('history_social/edit') !== -1) {
-                        $('.visit-segment[data-segment-template-name="omega_history_social"]').find('.refresh-segment').trigger('click');
-                    }
-                    else if(parentPopup.attr('stag-popup-key').indexOf('history_surgical/edit') !== -1) {
-                        $('.visit-segment[data-segment-template-name="omega_history_surgical"]').find('.refresh-segment').trigger('click');
-                    }
-                    else if(parentPopup.attr('stag-popup-key').indexOf('allergies-center') !== -1) {
-                        $('.visit-segment[data-segment-template-name="omega_allergies"]').find('.refresh-segment').trigger('click');
-                    }
-                    else if(parentPopup.attr('stag-popup-key').indexOf('medications-center') !== -1) {
-                        $('.visit-segment[data-segment-template-name="omega_medications"]').find('.refresh-segment').trigger('click');
-                    }
-                    else if(parentPopup.attr('stag-popup-key').indexOf('problems-center') !== -1) {
-                        $('.visit-segment[data-segment-template-name="omega_problems"]').find('.refresh-segment').trigger('click');
-                    }
-                    else if(parentPopup.attr('stag-popup-key').indexOf('goals-center') !== -1) {
-                        $('.visit-segment[data-segment-template-name="omega_goals"]').find('.refresh-segment').trigger('click');
-                    }
-                    else if(parentPopup.attr('stag-popup-key').indexOf('careteam-center') !== -1) {
-                        $('.visit-segment[data-segment-template-name="omega_care_team"]').find('.refresh-segment').trigger('click');
-                    }
-                }
-
-                // refresh omega_xxx_system on ALL changes
-                $('.visit-segment[data-segment-template-name="omega_subjective_system"]').find('.refresh-segment').trigger('click');
-                // $('.visit-segment[data-segment-template-name="omega_objective_system"]').find('.refresh-segment').trigger('click');
-                $('.visit-segment[data-segment-template-name="omega_assessment_system"]').find('.refresh-segment').trigger('click');
-                $('.visit-segment[data-segment-template-name="omega_plan_system"]').find('.refresh-segment').trigger('click');
-
+            }
+            let parentPopup = form.closest('.stag-popup');
+            let eps = [
+                '/api/visitPoint/upsertChildReview',
+                '/api/visitPoint/upsertChildPlan',
+                '/api/visitPoint/destroyCurrentChildReview',
+                '/api/visitPoint/destroyCurrentChildPlan',
+                '/api/visitPoint/addTopLevelBulkPreExisting'
+            ];
+            if(parentPopup.length && eps.indexOf(form.attr('url')) !== -1) {
+                refreshAffectedSegmentsByPopupKey(parentPopup.attr('stag-popup-key'));
             }
             if(typeof window.refreshRHSSidebar !== 'undefined') {
                 window.refreshRHSSidebar();

+ 1 - 3
resources/views/app/patient/medications-reconcile.blade.php

@@ -207,9 +207,7 @@ $medications = $points;
                         success: function(_data) {
                             if(!hasResponseError(_data)) {
                                 closeStagPopup();
-                                $('.visit-segment[data-segment-template-name="intake_medications"]').find('.refresh-segment').trigger('click');
-                                $('.visit-segment[data-segment-template-name="plan_medications"]').find('.refresh-segment').trigger('click');
-                                $('.visit-segment[data-segment-template-name="omega_medications"]').find('.refresh-segment').trigger('click');
+                                refreshAffectedSegmentsByType('medication');
                             }
                         }
                     }).then(() => {

+ 1 - 1
resources/views/app/patient/modules/lifestyle_general/edit.blade.php

@@ -442,7 +442,7 @@ if ($point->lastChildReview && $point->lastChildReview->data) {
                         }, _data => {
                             if(!hasResponseError(_data)) {
                                 closeStagPopup();
-                                $('.visit-segment[data-segment-template-name="omega_subjective_system"]').find('.refresh-segment').trigger('click');
+                                refreshSegment('omega_subjective_system');
                             }
                         });
                         return false;

+ 1 - 1
resources/views/app/patient/modules/lifestyle_nutrition/edit.blade.php

@@ -1298,7 +1298,7 @@ if ($point->lastChildReview && $point->lastChildReview->data) {
                         }, _data => {
                             if(!hasResponseError(_data)) {
                                 closeStagPopup();
-                                $('.visit-segment[data-segment-template-name="omega_subjective_system"]').find('.refresh-segment').trigger('click');
+                                refreshSegment('omega_subjective_system');
                             }
                         });
                         return false;

+ 1 - 1
resources/views/app/patient/modules/lifestyle_physical_activity/edit.blade.php

@@ -410,7 +410,7 @@ if ($point->lastChildReview && $point->lastChildReview->data) {
                         }, _data => {
                             if(!hasResponseError(_data)) {
                                 closeStagPopup();
-                                $('.visit-segment[data-segment-template-name="omega_subjective_system"]').find('.refresh-segment').trigger('click');
+                                refreshSegment('omega_subjective_system');
                             }
                         });
                         return false;

+ 1 - 1
resources/views/app/patient/modules/lifestyle_sleep/edit.blade.php

@@ -806,7 +806,7 @@ if ($point->lastChildReview && $point->lastChildReview->data) {
                         }, _data => {
                             if(!hasResponseError(_data)) {
                                 closeStagPopup();
-                                $('.visit-segment[data-segment-template-name="omega_subjective_system"]').find('.refresh-segment').trigger('click');
+                                refreshSegment('omega_subjective_system');
                             }
                         });
                         return false;

+ 1 - 1
resources/views/app/patient/modules/lifestyle_social/edit.blade.php

@@ -290,7 +290,7 @@ if ($point->lastChildReview && $point->lastChildReview->data) {
                         }, _data => {
                             if(!hasResponseError(_data)) {
                                 closeStagPopup();
-                                $('.visit-segment[data-segment-template-name="omega_subjective_system"]').find('.refresh-segment').trigger('click');
+                                refreshSegment('omega_subjective_system');
                             }
                         });
                         return false;

+ 1 - 1
resources/views/app/patient/modules/lifestyle_stress/edit.blade.php

@@ -695,7 +695,7 @@ if ($point->lastChildReview && $point->lastChildReview->data) {
                         }, _data => {
                             if(!hasResponseError(_data)) {
                                 closeStagPopup();
-                                $('.visit-segment[data-segment-template-name="omega_subjective_system"]').find('.refresh-segment').trigger('click');
+                                refreshSegment('omega_subjective_system');
                             }
                         });
                         return false;

+ 1 - 1
resources/views/app/patient/modules/lifestyle_substances/edit.blade.php

@@ -964,7 +964,7 @@ if ($point->lastChildReview && $point->lastChildReview->data) {
                         }, _data => {
                             if(!hasResponseError(_data)) {
                                 closeStagPopup();
-                                $('.visit-segment[data-segment-template-name="omega_subjective_system"]').find('.refresh-segment').trigger('click');
+                                refreshSegment('omega_subjective_system');
                             }
                         });
                         return false;

+ 2 - 1
resources/views/app/patient/modules/weight_loss_intake/edit.blade.php

@@ -908,7 +908,8 @@ if ($point->lastChildReview && $point->lastChildReview->data) {
                         }, _data => {
                             if(!hasResponseError(_data)) {
                                 closeStagPopup();
-                                $('.visit-segment[data-segment-template-name="omega_subjective_system"]').find('.refresh-segment').trigger('click');
+                                refreshSegment('omega_subjective_system');
+								refreshSegment('omega_plan_system');
                             }
                         });
                         return false;

+ 16 - 16
resources/views/app/patient/note/dashboard.blade.php

@@ -149,20 +149,20 @@ use App\Models\Handout;
             <div class="pr-2">
                 {{$note->title}}
                 @if(!$note->is_signed_by_hcp || $pro->pro_type === 'ADMIN')
-                <div moe class="ml-1">
-                    <a href="" show start><i class="fa fa-edit"></i></a>
-                    <form url="/api/note/putTitle">
-                        <input type="hidden" name="uid" value="{{$note->uid}}">
-                        <div class="mb-2">
-                            <input type="text" name="title" value="{{$note->title}}" class="form-control form-control-sm"
-                                   placeholder="Title">
-                        </div>
-                        <div class="form-group mb-0">
-                            <button class="btn btn-primary btn-sm" submit>Submit</button>
-                            <button class="btn btn-default border btn-sm" cancel>Cancel</button>
-                        </div>
-                    </form>
-                </div>
+                    <div moe class="ml-1">
+                        <a href="" show start><i class="fa fa-edit"></i></a>
+                        <form url="/api/note/putTitle">
+                            <input type="hidden" name="uid" value="{{$note->uid}}">
+                            <div class="mb-2">
+                                <input type="text" name="title" value="{{$note->title}}" class="form-control form-control-sm"
+                                       placeholder="Title">
+                            </div>
+                            <div class="form-group mb-0">
+                                <button class="btn btn-primary btn-sm" submit>Submit</button>
+                                <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+                            </div>
+                        </form>
+                    </div>
                     @if($note->visitTemplate && $note->visitTemplate->internal_name == 'omega_soap_visit' &&  $note->new_or_fu_or_na !== 'NEW')
                         <div moe relative class="d-inline border-left pl-2 ml-2">
                             <a start show>Clone</a>
@@ -2671,7 +2671,7 @@ use App\Models\Handout;
                 // update disclaimers on fastReload()
                 // NOTE: this is NOT the ideal place to put this
                 @if(!$note->is_signed_by_hcp)
-                $('.visit-segment[data-segment-template-name="disclaimers"]').find('.refresh-segment').trigger('click');
+                refreshSegment('disclaimers');
                 @endif
             }
             function fixTreeTopAndHeight() {
@@ -2735,7 +2735,7 @@ use App\Models\Handout;
                     initStagScrollbar({{$note->is_signed_by_hcp ? 1 : 34}});
                     @endif
                     addMCHook('onNoteMethodUpdate', function() {
-                        $('.visit-segment[data-segment-template-name="disclaimers"]').find('.refresh-segment').trigger('click');
+                        refreshSegment('disclaimers');
                         fastReload();
                     });
                     $(document)

+ 0 - 4
resources/views/app/patient/prescriptions/list.blade.php

@@ -1565,10 +1565,6 @@ GROUP BY erx_category");
                                         $.post(form.attr('action'), form.serialize(), _data => {
                                             if (!hasResponseError(_data)) {
 
-                                                // refreshDynamicStagPopup();
-                                                // $('.visit-segment[data-segment-template-name="intake_medications"]').find('.refresh-segment').trigger('click');
-
-
                                                 if(!self.currentPrescription.clinical_detail_json) {
                                                     self.currentPrescription.clinical_detail_json = {};
                                                 }

+ 1 - 1
resources/views/app/patient/problems-quick-add.blade.php

@@ -197,7 +197,7 @@ $formID = rand(100000, 999999);
                     $.post(form.attr('action'), form.serialize(), _data => {
                         if (!hasResponseError(_data)) {
                             hideMask();
-                            $('.visit-segment[data-segment-template-name="intake_problems"]').find('.refresh-segment').trigger('click');
+                            refreshAffectedSegmentsByType('problem');
                             closeStagPopup();
                         }
                     }, 'json');

+ 6 - 6
resources/views/app/patient/segment-templates/_common_actions/toggle-relevance.blade.php

@@ -16,10 +16,10 @@ if(parentPopup.length) {
             }, _data => {
                 if(!hasResponseError(_data)) {
                     refreshDynamicStagPopup();
-                    $('.visit-segment[data-segment-template-name="omega_subjective_system"]').find('.refresh-segment').trigger('click');
-                    $('.visit-segment[data-segment-template-name="omega_plan_system"]').find('.refresh-segment').trigger('click');
+                    refreshSegment('omega_subjective_system');
+                    refreshSegment('omega_plan_system');
                     @if(@$segmentName)
-                    $('.visit-segment[data-segment-template-name="{{$segmentName}}"]').find('.refresh-segment').trigger('click');
+                    refreshSegment('{{$segmentName}}');
                     @endif
                 }
             }, 'json');
@@ -30,10 +30,10 @@ if(parentPopup.length) {
             }, _data => {
                 if(!hasResponseError(_data)) {
                     refreshDynamicStagPopup();
-                    $('.visit-segment[data-segment-template-name="omega_subjective_system"]').find('.refresh-segment').trigger('click');
-                    $('.visit-segment[data-segment-template-name="omega_plan_system"]').find('.refresh-segment').trigger('click');
+                    refreshSegment('omega_subjective_system');
+                    refreshSegment('omega_plan_system');
                     @if(@$segmentName)
-                    $('.visit-segment[data-segment-template-name="{{$segmentName}}"]').find('.refresh-segment').trigger('click');
+                    refreshSegment('{{$segmentName}}');
                     @endif
                 }
             }, 'json');

+ 1 - 1
resources/views/app/patient/segment-templates/mc_weight_loss_intake_subjective/edit.blade.php

@@ -267,7 +267,7 @@ if ($point && $point->lastChildReview && $point->last_child_review_point_scoped_
                 additionReasonCategory: 'ON_INTAKE'
             }, _data => {
                 if(!hasResponseError(_data)) {
-                    $('.visit-segment[data-segment-template-name="mc_weight_loss_intake_subjective"]').find('.refresh-segment').trigger('click');
+                    refreshSegment('mc_weight_loss_intake_subjective')
                 }
             }, 'json');
 

+ 6 - 56
resources/views/app/patient/wizard-partials/common-script.blade.php

@@ -320,15 +320,7 @@ parentSegment.find('#frm-add-{{$label}}')
             if(!hasResponseError(_data)) {
                 hideMask();
                 refreshDynamicStagPopup();
-                $('.visit-segment[data-segment-template-name="intake_{{$segment_part}}"]').find('.refresh-segment').trigger('click');
-                $('.visit-segment[data-segment-template-name="plan_{{$segment_part}}"]').find('.refresh-segment').trigger('click');
-                $('.visit-segment[data-segment-template-name="omega_{{$segment_part}}"]').find('.refresh-segment').trigger('click');
-                $('.visit-segment[data-segment-template-name="omega_plan_{{$segment_part}}"]').find('.refresh-segment').trigger('click');
-                $('.visit-segment[data-segment-template-name="{{$segment_part}}"]').find('.refresh-segment').trigger('click');
-                $('.visit-segment[data-segment-template-name="subjective_general_v2"]').find('.refresh-segment').trigger('click');
-                $('.visit-segment[data-segment-template-name="plan_free_text_v2"]').find('.refresh-segment').trigger('click');
-                $('.visit-segment[data-segment-template-name="omega_subjective_system"]').find('.refresh-segment').trigger('click');
-                $('.visit-segment[data-segment-template-name="omega_plan_system"]').find('.refresh-segment').trigger('click');
+                refreshAffectedSegmentsByType('{{$label}}');
                 if(typeof refreshRHSSidebar !== 'undefined') refreshRHSSidebar();
 
                 // only for canvas-migrate
@@ -451,15 +443,7 @@ parentSegment.find('.frm-edit-{{$label}}')
             if(!hasResponseError(_data)) {
                 hideMask();
                 refreshDynamicStagPopup();
-                $('.visit-segment[data-segment-template-name="intake_{{$segment_part}}"]').find('.refresh-segment').trigger('click');
-                $('.visit-segment[data-segment-template-name="plan_{{$segment_part}}"]').find('.refresh-segment').trigger('click');
-                $('.visit-segment[data-segment-template-name="omega_{{$segment_part}}"]').find('.refresh-segment').trigger('click');
-                $('.visit-segment[data-segment-template-name="omega_plan_{{$segment_part}}"]').find('.refresh-segment').trigger('click');
-                $('.visit-segment[data-segment-template-name="{{$segment_part}}"]').find('.refresh-segment').trigger('click');
-                $('.visit-segment[data-segment-template-name="subjective_general_v2"]').find('.refresh-segment').trigger('click');
-                $('.visit-segment[data-segment-template-name="plan_free_text_v2"]').find('.refresh-segment').trigger('click');
-                $('.visit-segment[data-segment-template-name="omega_subjective_system"]').find('.refresh-segment').trigger('click');
-                $('.visit-segment[data-segment-template-name="omega_plan_system"]').find('.refresh-segment').trigger('click');
+                refreshAffectedSegmentsByType('{{$label}}');
                 if(typeof refreshRHSSidebar !== 'undefined') refreshRHSSidebar();
             }
         }, 'json');
@@ -474,15 +458,7 @@ parentSegment.find('.frm-upsert-review-plan-{{$label}}')
         showMask();
         $.post(form.attr('url'), form.serialize(), _data => {
             if(!hasResponseError(_data)) {
-                $('.visit-segment[data-segment-template-name="intake_{{$segment_part}}"]').find('.refresh-segment').trigger('click');
-                $('.visit-segment[data-segment-template-name="plan_{{$segment_part}}"]').find('.refresh-segment').trigger('click');
-                $('.visit-segment[data-segment-template-name="omega_{{$segment_part}}"]').find('.refresh-segment').trigger('click');
-                $('.visit-segment[data-segment-template-name="omega_plan_{{$segment_part}}"]').find('.refresh-segment').trigger('click');
-                $('.visit-segment[data-segment-template-name="{{$segment_part}}"]').find('.refresh-segment').trigger('click');
-                $('.visit-segment[data-segment-template-name="subjective_general_v2"]').find('.refresh-segment').trigger('click');
-                $('.visit-segment[data-segment-template-name="plan_free_text_v2"]').find('.refresh-segment').trigger('click');
-                $('.visit-segment[data-segment-template-name="omega_subjective_system"]').find('.refresh-segment').trigger('click');
-                $('.visit-segment[data-segment-template-name="omega_plan_system"]').find('.refresh-segment').trigger('click');
+                refreshAffectedSegmentsByType('{{$label}}');
                 refreshDynamicStagPopup();
             }
         }).then(() => {
@@ -631,17 +607,7 @@ parentSegment.find('.toggle-relevance')
             }, _data => {
                 if (!hasResponseError(_data)) {
                     refreshDynamicStagPopup();
-                    $('.visit-segment[data-segment-template-name="intake_{{$segment_part}}"]').find('.refresh-segment').trigger('click');
-                    $('.visit-segment[data-segment-template-name="plan_{{$segment_part}}"]').find('.refresh-segment').trigger('click');
-                    $('.visit-segment[data-segment-template-name="omega_{{$segment_part}}"]').find('.refresh-segment').trigger('click');
-                    $('.visit-segment[data-segment-template-name="omega_plan_{{$segment_part}}"]').find('.refresh-segment').trigger('click');
-                    $('.visit-segment[data-segment-template-name="{{$segment_part}}"]').find('.refresh-segment').trigger('click');
-                    $('.visit-segment[data-segment-template-name="subjective_general_v2"]').find('.refresh-segment').trigger('click');
-                    $('.visit-segment[data-segment-template-name="plan_free_text_v2"]').find('.refresh-segment').trigger('click');
-                    $('.visit-segment[data-segment-template-name="omega_subjective_system"]').find('.refresh-segment').trigger('click');
-                    // $('.visit-segment[data-segment-template-name="omega_objective_system"]').find('.refresh-segment').trigger('click');
-                    $('.visit-segment[data-segment-template-name="omega_assessment_system"]').find('.refresh-segment').trigger('click');
-                    $('.visit-segment[data-segment-template-name="omega_plan_system"]').find('.refresh-segment').trigger('click');
+                    refreshAffectedSegmentsByType('{{$label}}');
                     if(typeof refreshRHSSidebar !== 'undefined') refreshRHSSidebar();
                 }
             }, 'json');
@@ -652,17 +618,7 @@ parentSegment.find('.toggle-relevance')
                 }, _data => {
                     if (!hasResponseError(_data)) {
                         refreshDynamicStagPopup();
-                        $('.visit-segment[data-segment-template-name="intake_{{$segment_part}}"]').find('.refresh-segment').trigger('click');
-                        $('.visit-segment[data-segment-template-name="plan_{{$segment_part}}"]').find('.refresh-segment').trigger('click');
-                        $('.visit-segment[data-segment-template-name="omega_{{$segment_part}}"]').find('.refresh-segment').trigger('click');
-                        $('.visit-segment[data-segment-template-name="omega_plan_{{$segment_part}}"]').find('.refresh-segment').trigger('click');
-                        $('.visit-segment[data-segment-template-name="{{$segment_part}}"]').find('.refresh-segment').trigger('click');
-                        $('.visit-segment[data-segment-template-name="subjective_general_v2"]').find('.refresh-segment').trigger('click');
-                        $('.visit-segment[data-segment-template-name="plan_free_text_v2"]').find('.refresh-segment').trigger('click');
-                        $('.visit-segment[data-segment-template-name="omega_subjective_system"]').find('.refresh-segment').trigger('click');
-                        // $('.visit-segment[data-segment-template-name="omega_objective_system"]').find('.refresh-segment').trigger('click');
-                        $('.visit-segment[data-segment-template-name="omega_assessment_system"]').find('.refresh-segment').trigger('click');
-                        $('.visit-segment[data-segment-template-name="omega_plan_system"]').find('.refresh-segment').trigger('click');
+                        refreshAffectedSegmentsByType('{{$label}}');
                         if(typeof refreshRHSSidebar !== 'undefined') refreshRHSSidebar();
                     }
                 }, 'json');
@@ -696,13 +652,7 @@ parentSegment.find('.tracker-input')
         }, _data => {
             if(!hasResponseError(_data)) {
                 refreshDynamicStagPopup();
-                $('.visit-segment[data-segment-template-name="intake_{{$segment_part}}"]').find('.refresh-segment').trigger('click');
-                $('.visit-segment[data-segment-template-name="plan_{{$segment_part}}"]').find('.refresh-segment').trigger('click');
-                $('.visit-segment[data-segment-template-name="omega_{{$segment_part}}"]').find('.refresh-segment').trigger('click');
-                $('.visit-segment[data-segment-template-name="omega_plan_{{$segment_part}}"]').find('.refresh-segment').trigger('click');
-                $('.visit-segment[data-segment-template-name="{{$segment_part}}"]').find('.refresh-segment').trigger('click');
-                $('.visit-segment[data-segment-template-name="subjective_general_v2"]').find('.refresh-segment').trigger('click');
-                $('.visit-segment[data-segment-template-name="plan_free_text_v2"]').find('.refresh-segment').trigger('click');
+                refreshAffectedSegmentsByType('{{$label}}');
             }
         }, 'json');
     });

+ 4 - 0
resources/views/layouts/template.blade.php

@@ -77,6 +77,10 @@
     <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
     <script src="https://cdnjs.cloudflare.com/ajax/libs/TableDnD/1.0.5/jquery.tablednd.min.js"></script>
 
+    <script>
+        window.segmentRefreshConfig = {!! json_encode(config('stag.segmentRefreshConfig')) !!};
+    </script>
+
     @yield('head')
 </head>