Ver Fonte

Visit moe - segment initializers

Vijayakrishnan há 3 anos atrás
pai
commit
011c782137

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

@@ -455,6 +455,7 @@
                         }
                         ?>
                         <script>window.userShortcuts = <?= json_encode($shortCutsObject); ?>;</script>
+                        <script>window.segmentInitializers = {};</script>
                         <?php
                         $shortcuts = "";
                         $latestSectionTS = 0;

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

@@ -17,6 +17,13 @@
                 initRTEs(segment);
                 initSegmentMoes(segment);
                 initMoes();
+                if(window.segmentInitializers) {
+                    let internalName = segment.attr('data-segment-template-name');
+                    if(window.segmentInitializers.hasOwnProperty(internalName) &&
+                        typeof window.segmentInitializers[internalName] === 'function') {
+                        window.segmentInitializers[internalName].call(window);
+                    }
+                }
             }
         }
 
@@ -163,6 +170,15 @@
             initRTEs(parent);
             initSegmentMoes(parent);
 
+            // check and run all segment initializers
+            if(window.segmentInitializers) {
+                for(let x in window.segmentInitializers) {
+                    if(window.segmentInitializers.hasOwnProperty(x) && typeof window.segmentInitializers[x] === 'function') {
+                        window.segmentInitializers[x].call(window);
+                    }
+                }
+            }
+
             // refresh segment
             $(document)
                 .off('click.refresh-segment', '.refresh-segment')

+ 5 - 0
resources/views/app/patient/segment-templates/history_social/edit.php

@@ -257,6 +257,11 @@ $contentData = $socHx;
             });
         }
 
+        window.segmentInitializers.<?= $segment->segmentTemplate->internal_name ?> = function() {
+            // any JS can come here
+            // will be run on page-load as well as whenever this segment is refreshed
+        };
+
         // addMCInitializer('client-sochx', init, '#sochxSection');
     })();
 </script>