Parcourir la source

Admin patients - remote search for mcp and na filters

Vijayakrishnan il y a 3 ans
Parent
commit
593ea0a28e

+ 3 - 0
app/Http/Controllers/HomeController.php

@@ -1882,6 +1882,9 @@ WHERE measurement.label NOT IN ('SBP', 'DBP')
                 case 'hcp':
                     $pros->where('is_hcp', true);
                     break;
+                case 'non-hcp':
+                    $pros->where('is_hcp', false);
+                    break;
                 case 'default-na': // TODO: fix condition for NA
                     $pros->where('is_hcp', false)->where('pro_type', '!=', 'ADMIN');
                     break;

+ 2 - 1
js-dev/pro-suggest.js

@@ -104,7 +104,8 @@
             let elem = $(this);
             elem.next('.pro-suggest-input').remove();
             elem.next('.pro-suggestions-container').remove();
-            let input = $('<input type="text" placeholder="Pro">').addClass('pro-suggest-input form-control form-control-sm').insertAfter(elem);
+            let input = $('<input type="text" placeholder="Pro">').addClass('pro-suggest-input form-control').insertAfter(elem);
+            if($(this).is('.form-control-sm')) input.addClass('form-control-sm');
             input.attr('provider-type', elem.attr('provider-type'));
             $('<div class="pro-suggestions-container position-relative">' +
                 '<div class="suggestions-outer pro-suggestions position-absolute d-none"></div>' +

+ 14 - 18
resources/views/app/admin/patients_filters.blade.php

@@ -30,30 +30,14 @@
 	</div>
 
 	<div class="sm-section">
-		<div class="">
+		<div class="mcp-filter-container">
 			<label>MCP:</label>
-			<select name="mcp" class="form-control min-width-unset" v-model="filters.mcp">
-				<option value="">--select--</option>
-				<option value="NO_MCP">No MCP</option>
-				<?php $mcpPros = \App\Models\Pro::where('is_active', true)->where('is_enrolled_as_mcp', true)->orderBy('name_display')->get(); ?>
-				@foreach($mcpPros as $mcpPro)
-					<option value="{{$mcpPro->uid}}">{{$mcpPro->displayName()}}</option>
-				@endforeach
-			</select>
 		</div>
 	</div>
 
 	<div class="sm-section">
-		<div class="">
+		<div class="na-filter-container">
 			<label>NA:</label>
-			<select name="na" class="form-control min-width-unset" v-model="filters.na">
-				<option value="">--select--</option>
-				<option value="NO_NA">No NA</option>
-				<?php $naPros = \App\Models\Pro::where('is_active', true)->where('is_considered_for_dna', true)->orWhere('pro_type', '=', 'ADMIN')->orderBy('name_display')->get(); ?>
-				@foreach($naPros as $naPro)
-					<option value="{{$naPro->uid}}">{{$naPro->name_display}}</option>
-				@endforeach
-			</select>
 		</div>
 	</div>
 
@@ -416,6 +400,18 @@ for ($i=0; $i < count($allFilterKeys); $i++) {
 				mounted: function() {
 					console.log(this.filters);
 					this.init();
+
+					let mcpSelect = $('<select name="mcp" class="form-control min-width-unset input-sm" provider-search data-pro-uid="{{request()->input('mcp')}}" provider-type="hcp"><option value="">--select--</option></select>').appendTo('.mcp-filter-container');
+					let naSelect = $('<select name="na" class="form-control min-width-unset input-sm" provider-search data-pro-uid="{{request()->input('na')}}" provider-type="non-hcp"><option value="">--select--</option></select>').appendTo('.na-filter-container');
+					initProSuggest();
+
+					/*let self = this;
+					mcpSelect.off('change').on('change', function() {
+						self.doSubmit();
+					});
+					naSelect.off('change').on('change', function() {
+						self.doSubmit();
+					});*/
 				},
 			});