فهرست منبع

Note single - Care-team inline CRUD

Vijayakrishnan Krishnan 4 سال پیش
والد
کامیت
f98bf6d2cf

+ 2 - 109
resources/views/app/patient/dashboard.blade.php

@@ -1052,115 +1052,8 @@
                     </table>
                 </div>
 
-                <div class="mt-4">
-                    <div class="d-flex align-items-center mb-2 py-2 border-top border-bottom">
-                        <h6 class="my-0 font-weight-bold text-secondary">Care Team</h6>
-                        <span class="mx-2 text-secondary">|</span>
-                        <div moe>
-                            <a start show class="py-0 font-weight-normal">Add</a>
-                            <form url="/api/clientInfoLine/create">
-                                <input type="hidden" name="clientUid" value="{{ $patient->uid }}">
-                                <input type="hidden" name="category" value="care_team">
-                                <div class="mb-2"><input type="text" class="form-control form-control-sm" name="contentText" value="" placeholder="Name"></div>
-                                <div class="mb-2"><input type="text" class="form-control form-control-sm" name="Specialty" value="" placeholder="Specialty"></div>
-                                <div class="mb-2"><input type="text" class="form-control form-control-sm" name="Organization" value="" placeholder="Organization"></div>
-                                <div class="mb-2"><input type="text" class="form-control form-control-sm" name="Phone" value="" placeholder="Phone"></div>
-                                <div class="mb-2"><input type="text" class="form-control form-control-sm" name="Fax" value="" placeholder="Fax"></div>
-                                <div class="mb-2"><input type="date" class="form-control form-control-sm" name="Next Appointment" value="" placeholder="Next Appointment"></div>
-                                <div class="mb-2"><input type="text" class="form-control form-control-sm" name="Memo" value="" placeholder="Memo"></div>
-                                <div class="d-flex align-items-center">
-                                    <button class="btn btn-sm btn-primary mr-2" submit>Save</button>
-                                    <button class="btn btn-sm btn-default mr-2 border" cancel>Cancel</button>
-                                </div>
-                            </form>
-                        </div>
-
-                         <span class="mx-2 text-secondary">|</span>
-
-            <div moe>
-                <a start show class="">Multi</a>
-                <form url="/api/clientInfoLine/createMultiple">
-                    <input type="hidden" name="clientUid" value="{{ $patient->uid }}">
-                    <input type="hidden" name="category" value="care_team">
-                    <div class="mb-2"><textarea class="form-control form-control-sm" rows="8" name="contentTexts" value="" placeholder="Care Team Members..."></textarea></div>
-                    <div class="d-flex align-items-center">
-                        <button class="btn btn-sm btn-primary mr-2" submit>Save</button>
-                        <button class="btn btn-sm btn-default mr-2 border" cancel>Cancel</button>
-                    </div>
-                </form>
-            </div>
-
-                        <span class="mx-2 text-secondary">|</span>
-                        <a start show class="py-0 font-weight-normal"
-                           href="/patients/view/{{ $patient->uid }}/care-team">
-                            View All
-                        </a>
-                    </div>
-                    <table class="table table-sm border-0 m-0">
-                        <tbody>
-                        <?php $itemCount = 0; ?>
-                        @foreach($infoLines as $category => $lines)
-                            @if($category === "care_team")
-                                @foreach ($lines as $line)
-                                    <?php $itemCount++; ?>
-                                    <tr>
-                                        <td class="text-black p-0 border-0">
-                                            <div class="d-flex">
-                                                <span moe relative class="mr-2">
-                                                    <a class="on-hover-opaque" start show title="Delete">
-                                                        <i class="font-size-11 fa fa-trash-alt text-danger"></i>
-                                                    </a>
-                                                    <form url="/api/clientInfoLine/remove">
-                                                        <input type="hidden" name="uid" value="{{ $line->uid }}">
-                                                        <p class="small">Are you sure you want to delete this entry?</p>
-                                                        <div class="d-flex align-items-center">
-                                                            <button class="btn btn-sm btn-danger mr-2" submit>Delete</button>
-                                                            <button class="btn btn-sm btn-default mr-2 border" cancel>Cancel</button>
-                                                        </div>
-                                                    </form>
-                                                </span>
-                                                <div moe relative class="mr-2">
-                                                    <a class="on-hover-opaque" start show title="Edit">
-                                                        <i class="font-size-11 fa fa-edit"></i>
-                                                    </a>
-                                                    <form url="/api/clientInfoLine/updateContent">
-                                                        <input type="hidden" name="uid" value="{{ $line->uid }}">
-                                                        <input type="hidden" name="clientUid" value="{{ $patient->uid }}">
-                                                        <input type="hidden" name="category" value="care_team">
-                                                        <div class="mb-2"><input type="text" class="form-control form-control-sm" name="contentText" value="{{$line->contentText}}" placeholder="Name"></div>
-                                                        <div class="mb-2"><input type="text" class="form-control form-control-sm" name="Specialty" value="{{ getVal($line->contentDetail, 'Specialty') }}" placeholder="Specialty"></div>
-                                                        <div class="mb-2"><input type="text" class="form-control form-control-sm" name="Organization" value="{{getVal($line->contentDetail, 'Organization') }}" placeholder="Organization"></div>
-                                                        <div class="mb-2"><input type="text" class="form-control form-control-sm" name="Phone" value="{{getVal($line->contentDetail, 'Phone') }}" placeholder="Phone"></div>
-                                                        <div class="mb-2"><input type="text" class="form-control form-control-sm" name="Fax" value="{{getVal($line->contentDetail, 'Fax') }}" placeholder="Fax"></div>
-                                                        <div class="mb-2"><input type="date" class="form-control form-control-sm" name="Next Appointment" value="{{getVal($line->contentDetail, 'Next Appointment') }}" placeholder="Next Appointment"></div>
-                                                        <div class="mb-2"><input type="text" class="form-control form-control-sm" name="Memo" value="{{getVal($line->contentDetail, 'Memo') }}" placeholder="Memo"></div>
-                                                        <div class="d-flex align-items-center">
-                                                            <button class="btn btn-sm btn-primary mr-2" submit>Save</button>
-                                                            <button class="btn btn-sm btn-default mr-2 border" cancel>Cancel</button>
-                                                        </div>
-                                                    </form>
-                                                </div>
-                                                <span class="font-weight-bold">{{$line->contentText}}</span>
-                                                <span class="text-secondary mx-1">/</span>
-                                                <span class="text-secondary">{{ getVal($line->contentDetail, 'Specialty') }}</span>
-                                                <span class="text-secondary mx-1">/</span>
-                                                <span class="text-secondary">Next Apt: {{ getVal($line->contentDetail, 'Next Appointment') ? $line->contentDetail('Next Appointment') : '-' }}</span>
-                                            </div>
-                                        </td>
-                                    </tr>
-                                @endforeach
-                            @endif
-                        @endforeach
-                        @if($itemCount === 0)
-                            <tr>
-                                <td class="text-secondary p-0 border-0">
-                                    No items to show
-                                </td>
-                            </tr>
-                        @endif
-                        </tbody>
-                    </table>
-                </div>
+                {{-- care-team --}}
+                @include('app/patient/partials/care-team')
             </div>
         </div>
         <div class="row my-3">

+ 123 - 0
resources/views/app/patient/partials/care-team.blade.php

@@ -0,0 +1,123 @@
+<?php $infoLines = json_decode($patient->info_lines);?>
+<?php $infoLines = !$infoLines ? [] : $infoLines; ?>
+<div class="<?= !@$selectable ? 'mt-4' : 'border-bottom' ?> pb-1">
+    <div class="d-flex align-items-center mb-2 py-2 <?= @$selectable ? 'px-2' : 'border-top' ?> border-bottom">
+
+        @if(!@$selectable)
+        <h6 class="my-0 font-weight-bold text-secondary">Care Team</h6>
+        <span class="mx-2 text-secondary">|</span>
+        @endif
+
+        <div moe>
+            <a start show class="py-0 font-weight-normal">Add</a>
+            <form url="/api/clientInfoLine/create">
+                <input type="hidden" name="clientUid" value="{{ $patient->uid }}">
+                <input type="hidden" name="category" value="care_team">
+                <div class="mb-2"><input type="text" class="form-control form-control-sm" name="contentText" value="" placeholder="Name"></div>
+                <div class="mb-2"><input type="text" class="form-control form-control-sm" name="Specialty" value="" placeholder="Specialty"></div>
+                <div class="mb-2"><input type="text" class="form-control form-control-sm" name="Organization" value="" placeholder="Organization"></div>
+                <div class="mb-2"><input type="text" class="form-control form-control-sm" name="Phone" value="" placeholder="Phone"></div>
+                <div class="mb-2"><input type="text" class="form-control form-control-sm" name="Fax" value="" placeholder="Fax"></div>
+                <div class="mb-2"><input type="date" class="form-control form-control-sm" name="Next Appointment" value="" placeholder="Next Appointment"></div>
+                <div class="mb-2"><input type="text" class="form-control form-control-sm" name="Memo" value="" placeholder="Memo"></div>
+                <div class="d-flex align-items-center">
+                    <button class="btn btn-sm btn-primary mr-2" submit>Save</button>
+                    <button class="btn btn-sm btn-default mr-2 border" cancel>Cancel</button>
+                </div>
+            </form>
+        </div>
+
+        <span class="mx-2 text-secondary">|</span>
+        <div moe>
+            <a start show class="">Multi</a>
+            <form url="/api/clientInfoLine/createMultiple">
+                <input type="hidden" name="clientUid" value="{{ $patient->uid }}">
+                <input type="hidden" name="category" value="care_team">
+                <div class="mb-2"><textarea class="form-control form-control-sm" rows="8" name="contentTexts" value="" placeholder="Care Team Members..."></textarea></div>
+                <div class="d-flex align-items-center">
+                    <button class="btn btn-sm btn-primary mr-2" submit>Save</button>
+                    <button class="btn btn-sm btn-default mr-2 border" cancel>Cancel</button>
+                </div>
+            </form>
+        </div>
+
+        @if(!@$selectable)
+        <span class="mx-2 text-secondary">|</span>
+        <a start show class="py-0 font-weight-normal"
+           href="/patients/view/{{ $patient->uid }}/care-team">
+            View All
+        </a>
+        @endif
+    </div>
+    <table class="table table-sm border-0 my-0 mx-2">
+        <tbody>
+        <?php $itemCount = 0; ?>
+        @foreach($infoLines as $category => $lines)
+            @if($category === "care_team")
+                @foreach ($lines as $line)
+                    <?php $itemCount++; ?>
+                    <tr>
+                        <td class="text-black p-0 border-0">
+                            <div class="d-flex care-team-item">
+                                @if(@$selectable)
+                                    <span class="mr-2 d-inline-flex align-items-center">
+                                        <input type="checkbox" class="my-0 care-team-item-checkbox">
+                                    </span>
+                                @endif
+                                <span moe relative class="mr-2">
+                                    <a class="on-hover-opaque" start show title="Delete">
+                                        <i class="font-size-11 fa fa-trash-alt text-danger"></i>
+                                    </a>
+                                    <form url="/api/clientInfoLine/remove">
+                                        <input type="hidden" name="uid" value="{{ $line->uid }}">
+                                        <p class="small">Are you sure you want to delete this entry?</p>
+                                        <div class="d-flex align-items-center">
+                                            <button class="btn btn-sm btn-danger mr-2" submit>Delete</button>
+                                            <button class="btn btn-sm btn-default mr-2 border" cancel>Cancel</button>
+                                        </div>
+                                    </form>
+                                </span>
+                                <div moe relative class="mr-2">
+                                    <a class="on-hover-opaque" start show title="Edit">
+                                        <i class="font-size-11 fa fa-edit"></i>
+                                    </a>
+                                    <form url="/api/clientInfoLine/updateContent">
+                                        <input type="hidden" name="uid" value="{{ $line->uid }}">
+                                        <input type="hidden" name="clientUid" value="{{ $patient->uid }}">
+                                        <input type="hidden" name="category" value="care_team">
+                                        <div class="mb-2"><input type="text" class="form-control form-control-sm" name="contentText" value="{{$line->contentText}}" placeholder="Name"></div>
+                                        <div class="mb-2"><input type="text" class="form-control form-control-sm" name="Specialty" value="{{ getVal($line->contentDetail, 'Specialty') }}" placeholder="Specialty"></div>
+                                        <div class="mb-2"><input type="text" class="form-control form-control-sm" name="Organization" value="{{getVal($line->contentDetail, 'Organization') }}" placeholder="Organization"></div>
+                                        <div class="mb-2"><input type="text" class="form-control form-control-sm" name="Phone" value="{{getVal($line->contentDetail, 'Phone') }}" placeholder="Phone"></div>
+                                        <div class="mb-2"><input type="text" class="form-control form-control-sm" name="Fax" value="{{getVal($line->contentDetail, 'Fax') }}" placeholder="Fax"></div>
+                                        <div class="mb-2"><input type="date" class="form-control form-control-sm" name="Next Appointment" value="{{getVal($line->contentDetail, 'Next Appointment') }}" placeholder="Next Appointment"></div>
+                                        <div class="mb-2"><input type="text" class="form-control form-control-sm" name="Memo" value="{{getVal($line->contentDetail, 'Memo') }}" placeholder="Memo"></div>
+                                        <div class="d-flex align-items-center">
+                                            <button class="btn btn-sm btn-primary mr-2" submit>Save</button>
+                                            <button class="btn btn-sm btn-default mr-2 border" cancel>Cancel</button>
+                                        </div>
+                                    </form>
+                                </div>
+                                <div class="content-html">
+                                    <b>{{$line->contentText}}</b>
+                                    <span class="text-secondary mx-1">/</span>
+                                    <span class="text-secondary">{{ getVal($line->contentDetail, 'Specialty') }}</span>
+                                    {{--<span class="text-secondary mx-1">/</span>
+                                    <span class="text-secondary">Next Apt: {{ getVal($line->contentDetail, 'Next Appointment') ? $line->contentDetail('Next Appointment') : '-' }}</span>--}}
+                                </div>
+                            </div>
+                        </td>
+                    </tr>
+                @endforeach
+            @endif
+        @endforeach
+        @if($itemCount === 0)
+            <tr>
+                <td class="text-secondary p-0 border-0">
+                    No items to show
+                </td>
+            </tr>
+        @endif
+        </tbody>
+    </table>
+</div>

+ 0 - 43
storage/sections/allergies/actions-old.php

@@ -1,43 +0,0 @@
-<?php
-$infoLines = json_decode($patient->info_lines);
-$infoLines = !$infoLines ? [] : $infoLines;
-$rows = [];
-foreach ($infoLines as $category => $lines):
-    if ($category === "allergy"):
-        foreach ($lines as $line):
-            $rows[] = '<label class="d-flex align-items-center current-allergy-item mb-1 c-pointer">' .
-                '<input type="checkbox" checked class="my-0 mr-2">' .
-                '<span><b>' . $line->contentText . '</b>&nbsp;' .
-                '</span></label>';
-        endforeach;
-    endif;
-endforeach;
-?>
-
-<div moe class="position-relative d-none if-edit ml-3 pl-3 border-left">
-    <a start show href="#">Current Allergies</a>
-    <form url="/no-op" class="current-allergy-form">
-        <div class="min-width-200px">
-            <?= implode("", $rows) ?>
-            <div class="mt-2 mb-0">
-                <button class="btn btn-primary btn-sm mr-1" type="button" onclick="return applySelectedAllergy()">Apply</button>
-                <button class="btn btn-default border btn-sm" cancel>Cancel</button>
-            </div>
-        </div>
-    </form>
-</div>
-
-<script>
-    function applySelectedAllergy() {
-        let html = [];
-        $('.current-allergy-item input:checkbox:checked').each(function() {
-            html.push('<p>' + $(this).next().html() + '</p>');
-        });
-        $('.current-allergy-form').hide();
-        hideMask();
-        hideMoeFormMask();
-        $('.ql-editor[contenteditable]:visible').first().html(html.join('')).focus();
-        return false;
-    }
-</script>
-

+ 34 - 0
storage/sections/care-team/actions.blade.php

@@ -0,0 +1,34 @@
+<div class="position-relative d-none if-edit ml-3 pl-3 border-left">
+    <a href="#" onclick="$(this).siblings('.embed-section, .embed-mask').removeClass('d-none'); return false;">Current Care Team</a>
+    <div class="embed-section min-width-300px bg-white position-absolute d-none care-team-form">
+        <div>
+            @include('app/patient/partials/care-team', ['selectable' => true])
+        </div>
+        <div class="m-2">
+            <form url="/no-op">
+                <button class="btn btn-primary btn-sm mr-1" type="button" onclick="return applySelectedCareTeam()">Apply</button>
+                <button class="btn btn-default border btn-sm" type="button" onclick="return cancelCareTeamPopup()">Cancel</button>
+            </form>
+        </div>
+    </div>
+</div>
+
+<script>
+    function applySelectedCareTeam() {
+        let html = [];
+        $('.care-team-item-checkbox:checked').each(function() {
+            html.push('<p style="white-space: normal;">' + $.trim($(this).closest('.care-team-item').find('.content-html').first().html()) + '</p>');
+        });
+        $('.embed-section, .embed-mask').addClass('d-none');
+        $('.ql-editor[contenteditable]:visible').first().html(html.join('')).focus();
+        return false;
+    }
+    function cancelCareTeamPopup() {
+        $('.embed-section, .embed-mask').addClass('d-none');
+        hideMask();
+        hideMoeFormMask();
+        $('.ql-editor[contenteditable]:visible').first().focus();
+        return false;
+    }
+</script>
+

+ 0 - 45
storage/sections/care-team/actions.php

@@ -1,45 +0,0 @@
-<?php
-$infoLines = json_decode($patient->info_lines);
-$infoLines = !$infoLines ? [] : $infoLines;
-$rows = [];
-foreach ($infoLines as $category => $lines):
-    if ($category === "care_team"):
-        foreach ($lines as $line):
-            $rows[] = '<label class="d-flex align-items-center current-careteam-item mb-1 c-pointer">' .
-                '<input type="checkbox" checked class="my-0 mr-2">' .
-                '<span><b>' . $line->contentText . '</b>' .
-                (isset($line->contentDetail->{"Specialty"}) ? '<span class="text-secondary">&nbsp/&nbsp</span>' . @$line->contentDetail->{"Specialty"} : '') .
-                (isset($line->contentDetail->{"Next Appointment"}) ? '<span class="text-secondary mx-1">&nbsp/&nbsp</span>' . @$line->contentDetail->{"Next Appointment"} : '') .
-                '</span></label>';
-        endforeach;
-    endif;
-endforeach;
-?>
-
-<div moe class="position-relative d-none if-edit ml-3 pl-3 border-left">
-    <a start show href="#">Current Care Team</a>
-    <form url="/no-op" class="current-careteam-form">
-        <div class="min-width-300px">
-            <?= implode("", $rows) ?>
-            <div class="mt-2 mb-0">
-                <button class="btn btn-primary btn-sm mr-1" type="button" onclick="return applySelectedCareTeam()">Apply</button>
-                <button class="btn btn-default border btn-sm" cancel>Cancel</button>
-            </div>
-        </div>
-    </form>
-</div>
-
-<script>
-    function applySelectedCareTeam() {
-        let html = [];
-        $('.current-careteam-item input:checkbox:checked').each(function() {
-            html.push('<p>' + $(this).next().html() + '</p>');
-        });
-        $('.current-careteam-form').hide();
-        hideMask();
-        hideMoeFormMask();
-        $('.ql-editor[contenteditable]:visible').first().html(html.join('')).focus();
-        return false;
-    }
-</script>
-

+ 0 - 44
storage/sections/medication/actions-old.php

@@ -1,44 +0,0 @@
-<?php
-$infoLines = json_decode($patient->info_lines);
-$infoLines = !$infoLines ? [] : $infoLines;
-$rows = [];
-foreach ($infoLines as $category => $lines):
-    if ($category === "rx"):
-        foreach ($lines as $line):
-            $rows[] = '<label class="d-flex align-items-center current-medication-item mb-1 c-pointer">' .
-                '<input type="checkbox" checked class="my-0 mr-2">' .
-                '<span><b>' . $line->contentText . '</b>&nbsp;' .
-                @$line->contentDetail->strength .
-                '</span></label>';
-        endforeach;
-    endif;
-endforeach;
-?>
-
-<div moe class="position-relative d-none if-edit ml-3 pl-3 border-left">
-    <a start show href="#">Current Medications</a>
-    <form url="/no-op" class="current-medications-form">
-        <div class="min-width-200px">
-            <?= implode("", $rows) ?>
-            <div class="mt-2 mb-0">
-                <button class="btn btn-primary btn-sm mr-1" type="button" onclick="return applySelectedMedication()">Apply</button>
-                <button class="btn btn-default border btn-sm" cancel>Cancel</button>
-            </div>
-        </div>
-    </form>
-</div>
-
-<script>
-    function applySelectedMedication() {
-        let html = [];
-        $('.current-medication-item input:checkbox:checked').each(function() {
-            html.push('<p>' + $(this).next().html() + '</p>');
-        });
-        $('.current-medications-form').hide();
-        hideMask();
-        hideMoeFormMask();
-        $('.ql-editor[contenteditable]:visible').first().html(html.join('')).focus();
-        return false;
-    }
-</script>
-