Selaa lähdekoodia

Merge branch 'dev-927' of https://rav.triplestart.com/jmudaka/stagfe2 into dev-927

Peter Muturi 3 vuotta sitten
vanhempi
commit
2c7bf13747

+ 34 - 0
app/Http/Controllers/PayerController.php

@@ -0,0 +1,34 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use Illuminate\Http\Request;
+use Illuminate\Support\Facades\Validator;
+
+use App\Models\Payer;
+class PayerController extends Controller
+{
+
+    public function search(Request $request){
+		$validatedData = Validator::make($request->all(), [
+			'term' => 'required|string|min:2',
+		]);
+
+		if ($validatedData->fails()) return $this->fail($validatedData->errors()->first());
+
+		[
+			'term' => $query,
+		] = $request->all();
+
+
+		$wildCardedQuery = '%' . $query . '%';
+
+		$payers = Payer::where(function ($query) use ($wildCardedQuery) {
+			return $query->where('name', 'ilike', $wildCardedQuery)
+			->orWhere('memo', 'ilike', $wildCardedQuery);
+		});
+		$payers = $payers->get();
+		return $this->pass($payers);
+	}
+    
+}

+ 50 - 0
public/js/stag.js

@@ -0,0 +1,50 @@
+(function ($) {
+	STAG = {
+		initSelect2RemoteSearch: function () {
+			var select2SearchFields = $('[select2-search]');
+			console.log({select2SearchFields});
+			$.each(select2SearchFields, function (i, select) {
+				select = $(select);
+				var url = select.data('url');
+				var text = select.data('text-prop');
+				text = text.split('|');
+				var id = select.data('id-prop');
+				var uid = select.data('uid-prop');
+				var placeholder = select.attr('placeholder');
+				select.select2({
+					placeholder: placeholder,
+					minimumInputLength: 2,
+					ajax: {
+						type: "GET",
+						url: url,
+						dataType: 'json',
+						processResults: function (response) {
+							var data = response.data;
+							return {
+								results: $.map(data, function (item) {
+									var textString = '';
+									for (var i = 0; i < text.length; i++) {
+										var prop = text[i];
+										var value = item[prop];
+										if (value) {
+											textString = textString + value + ' ';
+										}
+									}
+									return {
+										text: textString,
+										id: item[id]
+									}
+								})
+							};
+						}
+					}
+				});
+			});
+		},
+		init: function () {
+			this.initSelect2RemoteSearch();
+		}
+	};
+	STAG.init();
+		
+})(jQuery);

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

@@ -394,6 +394,9 @@
     @endif
     <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/dt/dt-1.10.24/fc-3.3.2/fh-3.1.8/datatables.min.css"/>
     <script type="text/javascript" src="https://cdn.datatables.net/v/dt/dt-1.10.24/fc-3.3.2/fh-3.1.8/datatables.min.js"></script>
+    <link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" />
+    <script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
+    <script src="/js/stag.js?v={{config('app.asset_version')}}" type="application/javascript"></script>
 </body>
 
 </html>

+ 2 - 0
routes/web.php

@@ -418,6 +418,8 @@ Route::middleware('pro.auth')->group(function () {
     Route::any('/fdb-drug-coadministration', 'FDBPGController@drugCoadministration');
     Route::any('/fdb-duplicate-therapy', 'FDBPGController@duplicateTherapy');
 
+    Route::get('/search-payer', 'PayerController@search')->name('searchPayer');
+
 });
 
 Route::post("/process_form_submit", 'NoteController@processFormSubmit')->name('process_form_submit');