Update beberapa fitur dan perbaikan
This commit is contained in:
parent
fa4b6d2f42
commit
9e5026d18f
|
@ -2,7 +2,9 @@
|
||||||
|
|
||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use App\Models\Klaster;
|
||||||
use App\Models\Curanmor;
|
use App\Models\Curanmor;
|
||||||
|
use App\Models\Kecamatan;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
class CuranmorController extends Controller
|
class CuranmorController extends Controller
|
||||||
|
@ -20,15 +22,27 @@ public function index()
|
||||||
*/
|
*/
|
||||||
public function create()
|
public function create()
|
||||||
{
|
{
|
||||||
//
|
return view('admin.dashboardTambahCuranmor', ['kecamatans' => Kecamatan::all()], ['klasters' => Klaster::all()]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Store a newly created resource in storage.
|
*Store a newly created resource in storage.
|
||||||
*/
|
*/
|
||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
//
|
try{
|
||||||
|
$validateData = $request->validate([
|
||||||
|
'kecamatan_id' =>'required|max:255|exists:kecamatans,id|unique:curanmors,kecamatan_id',
|
||||||
|
'jumlah_curanmor' =>'required',
|
||||||
|
'klaster_id' =>'required|max:255|exists:klasters,id',
|
||||||
|
|
||||||
|
]);
|
||||||
|
|
||||||
|
Curanmor::create($validateData);
|
||||||
|
return redirect('/curanmor')->with('succes', 'Berhasil Menambahkan Data Curanmor Baru');
|
||||||
|
}catch (\Exception $e){
|
||||||
|
return redirect('/curanmor')->with('error', 'Gagal Menambahkan Data Curanmor Baru');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -3,7 +3,10 @@
|
||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use App\Models\Curas;
|
use App\Models\Curas;
|
||||||
|
use App\Models\Klaster;
|
||||||
|
use App\Models\Kecamatan;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Validation\Rule;
|
||||||
|
|
||||||
class CurasController extends Controller
|
class CurasController extends Controller
|
||||||
{
|
{
|
||||||
|
@ -21,7 +24,8 @@ public function index()
|
||||||
*/
|
*/
|
||||||
public function create()
|
public function create()
|
||||||
{
|
{
|
||||||
//
|
|
||||||
|
return view('admin.dashboardTambahCuras', ['kecamatans' => Kecamatan::all()], ['klasters' => Klaster::all()]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -29,7 +33,19 @@ public function create()
|
||||||
*/
|
*/
|
||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
//
|
try{
|
||||||
|
$validateData = $request->validate([
|
||||||
|
'kecamatan_id' =>'required|max:255|exists:kecamatans,id|unique:curas,kecamatan_id',
|
||||||
|
'jumlah_curas' =>'required',
|
||||||
|
'klaster_id' =>'required|max:255|exists:klasters,id',
|
||||||
|
|
||||||
|
]);
|
||||||
|
|
||||||
|
Curas::create($validateData);
|
||||||
|
return redirect('/curas')->with('succes', 'Berhasil Menambahkan Data Curas Baru');
|
||||||
|
}catch (\Exception $e){
|
||||||
|
return redirect('/curas')->with('error', 'Gagal Menambahkan Data Curas Baru');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -43,9 +59,20 @@ public function show(Curas $curas)
|
||||||
/**
|
/**
|
||||||
* Show the form for editing the specified resource.
|
* Show the form for editing the specified resource.
|
||||||
*/
|
*/
|
||||||
public function edit(Curas $curas)
|
public function edit($curas)
|
||||||
{
|
{
|
||||||
//
|
try {
|
||||||
|
|
||||||
|
$edit = Curas::find($curas);
|
||||||
|
|
||||||
|
return view('admin.dashboardEditCuras', [
|
||||||
|
'curas' => $edit,
|
||||||
|
'kecamatans' => Kecamatan::all(),
|
||||||
|
'klasters' => Klaster::all(),
|
||||||
|
]);
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
abort(404);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -53,14 +80,41 @@ public function edit(Curas $curas)
|
||||||
*/
|
*/
|
||||||
public function update(Request $request, Curas $curas)
|
public function update(Request $request, Curas $curas)
|
||||||
{
|
{
|
||||||
//
|
try {
|
||||||
|
$validateData = $request->validate([
|
||||||
|
'kecamatan_id' => 'sometimes|required|max:255' . $curas->kecamatan_id,
|
||||||
|
'jumlah_curas' => 'sometimes|required|integer',
|
||||||
|
'klaster_id' => 'sometimes|required|max:255' . $curas->klaster_id,
|
||||||
|
|
||||||
|
]);
|
||||||
|
|
||||||
|
// Pastikan hanya field yang diisi yang akan diperbarui
|
||||||
|
$curas->update(array_filter($validateData));
|
||||||
|
|
||||||
|
return redirect('/curas')->with('succes', 'Data Kecamatan Berhasil Diubah');
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
|
||||||
|
return redirect('/curas')->with('error', 'Data Kecamatan Gagal Diubah');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove the specified resource from storage.
|
* Remove the specified resource from storage.
|
||||||
*/
|
*/
|
||||||
public function destroy(Curas $curas)
|
public function destroy($curas)
|
||||||
{
|
{
|
||||||
//
|
try{
|
||||||
|
$hapus = Curas::find($curas);
|
||||||
|
Curas::destroy($hapus);
|
||||||
|
return redirect('/curas')->with('succes', 'Data Curas Berhasil Di Hapus');
|
||||||
|
|
||||||
|
}catch (\Exception $e){
|
||||||
|
|
||||||
|
return dd($e);
|
||||||
|
// redirect('/curas')->with('error', 'Data Curas '. $curas->nama_kecamatan .' Gagal Di Hapus | Hapus Data Curas Atau Curanmor Untuk Klaster '. $curas->nama_kecamatan.' Terlebih Dahulu');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
use App\Models\Kecamatan;
|
use App\Models\Kecamatan;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\Crypt;
|
||||||
|
|
||||||
class KecamatanController extends Controller
|
class KecamatanController extends Controller
|
||||||
{
|
{
|
||||||
|
@ -21,7 +22,7 @@ public function index()
|
||||||
*/
|
*/
|
||||||
public function create()
|
public function create()
|
||||||
{
|
{
|
||||||
//
|
return view('admin.dashboardTambahKecamatan');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -29,7 +30,17 @@ public function create()
|
||||||
*/
|
*/
|
||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
//
|
try{
|
||||||
|
$validateData = $request->validate([
|
||||||
|
'nama_kecamatan' =>'required|max:255|unique:kecamatans,nama_kecamatan',
|
||||||
|
]);
|
||||||
|
|
||||||
|
Kecamatan::create($validateData);
|
||||||
|
return redirect('/kecamatan')->with('succes', 'Berhasil Menambahkan Data Kecamatan Baru');
|
||||||
|
}catch (\Exception $e){
|
||||||
|
return redirect('/kecamatan')->with('error', 'Gagal Menambahkan Data Kecamatan Baru');
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -37,7 +48,7 @@ public function store(Request $request)
|
||||||
*/
|
*/
|
||||||
public function show(Kecamatan $kecamatan)
|
public function show(Kecamatan $kecamatan)
|
||||||
{
|
{
|
||||||
//
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -45,7 +56,14 @@ public function show(Kecamatan $kecamatan)
|
||||||
*/
|
*/
|
||||||
public function edit(Kecamatan $kecamatan)
|
public function edit(Kecamatan $kecamatan)
|
||||||
{
|
{
|
||||||
//
|
try {
|
||||||
|
|
||||||
|
return view('admin.dashboardEditKecamatan', [
|
||||||
|
'kecamatan' => $kecamatan
|
||||||
|
]);
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
abort(404); // Jika dekripsi gagal, tampilkan halaman 404
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -53,7 +71,18 @@ public function edit(Kecamatan $kecamatan)
|
||||||
*/
|
*/
|
||||||
public function update(Request $request, Kecamatan $kecamatan)
|
public function update(Request $request, Kecamatan $kecamatan)
|
||||||
{
|
{
|
||||||
//
|
try{
|
||||||
|
$validateData = $request->validate([
|
||||||
|
'nama_kecamatan' =>'required|max:255|unique:kecamatans,nama_kecamatan',
|
||||||
|
]);
|
||||||
|
|
||||||
|
Kecamatan::where('id', $kecamatan->id)->update($validateData);
|
||||||
|
return redirect('/kecamatan')->with('succes', 'Data Kecamatan Berhasil Di Ubah');
|
||||||
|
}catch (\Exception $e){
|
||||||
|
return redirect('/kecamatan')->with('error', 'Data Kecamatan Gagal Di Ubah');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -61,6 +90,14 @@ public function update(Request $request, Kecamatan $kecamatan)
|
||||||
*/
|
*/
|
||||||
public function destroy(Kecamatan $kecamatan)
|
public function destroy(Kecamatan $kecamatan)
|
||||||
{
|
{
|
||||||
//
|
try{
|
||||||
|
Kecamatan::destroy($kecamatan->id);
|
||||||
|
return redirect('/kecamatan')->with('succes', 'Data Kecamatan Berhasil Di Hapus');
|
||||||
|
|
||||||
|
}catch (\Exception $e){
|
||||||
|
return redirect('/kecamatan')->with('error', 'Data Kecamatan '. $kecamatan->nama_kecamatan .' Gagal Di Hapus | Hapus Data Curas Atau Curanmor Untuk Kecamatan '. $kecamatan->nama_kecamatan.' Terlebih Dahulu');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,7 @@ public function index()
|
||||||
*/
|
*/
|
||||||
public function create()
|
public function create()
|
||||||
{
|
{
|
||||||
//
|
return view('admin.dashboardTambahKlaster');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -28,7 +28,19 @@ public function create()
|
||||||
*/
|
*/
|
||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
//
|
|
||||||
|
try{
|
||||||
|
$validateData = $request->validate([
|
||||||
|
'nama_klaster' =>'required|max:255|unique:klasters,nama_klaster',
|
||||||
|
'warna' =>'required|max:255',
|
||||||
|
]);
|
||||||
|
|
||||||
|
Klaster::create($validateData);
|
||||||
|
return redirect('/klaster')->with('succes', 'Berhasil Menambahkan Klaster Baru');
|
||||||
|
}catch (\Exception $e){
|
||||||
|
|
||||||
|
return redirect('/klaster')->with('error', 'Gagal Menambahkan Klaster Baru');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -44,7 +56,14 @@ public function show(Klaster $klaster)
|
||||||
*/
|
*/
|
||||||
public function edit(Klaster $klaster)
|
public function edit(Klaster $klaster)
|
||||||
{
|
{
|
||||||
//
|
try {
|
||||||
|
|
||||||
|
return view('admin.dashboardEditKlaster', [
|
||||||
|
'klaster' => $klaster
|
||||||
|
]);
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
abort(404); // Jika dekripsi gagal, tampilkan halaman 404
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -52,7 +71,20 @@ public function edit(Klaster $klaster)
|
||||||
*/
|
*/
|
||||||
public function update(Request $request, Klaster $klaster)
|
public function update(Request $request, Klaster $klaster)
|
||||||
{
|
{
|
||||||
//
|
try {
|
||||||
|
$validateData = $request->validate([
|
||||||
|
'nama_klaster' => 'sometimes|required|max:255|unique:klasters,nama_klaster,' . $klaster->id,
|
||||||
|
'warna' => 'sometimes|required|max:255',
|
||||||
|
]);
|
||||||
|
|
||||||
|
// Hanya update data yang diisi (tidak mengganti dengan null)
|
||||||
|
Klaster::where('id', $klaster->id)->update(array_filter($validateData));
|
||||||
|
|
||||||
|
return redirect('/klaster')->with('success', 'Data Klaster Berhasil Diubah');
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
return redirect('/klaster')->with('error', 'Data Klaster Gagal Diubah');
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -60,6 +92,12 @@ public function update(Request $request, Klaster $klaster)
|
||||||
*/
|
*/
|
||||||
public function destroy(Klaster $klaster)
|
public function destroy(Klaster $klaster)
|
||||||
{
|
{
|
||||||
//
|
try{
|
||||||
|
Klaster::destroy($klaster->id);
|
||||||
|
return redirect('/klaster')->with('succes', 'Data Klaster Berhasil Di Hapus');
|
||||||
|
|
||||||
|
}catch (\Exception $e){
|
||||||
|
return redirect('/klaster')->with('error', 'Data Klaster '. $klaster->nama_kecamatan .' Gagal Di Hapus | Hapus Data Curas Atau Curanmor Untuk Klaster '. $klaster->nama_kecamatan.' Terlebih Dahulu');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,7 @@ public function punyaKlasterCuranmor(): BelongsTo{
|
||||||
return $this->belongsTo(Klaster::class, 'klaster_id');
|
return $this->belongsTo(Klaster::class, 'klaster_id');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function punyaKecamatanrCuranmor(): BelongsTo{
|
public function punyaKecamatanCuranmor(): BelongsTo{
|
||||||
return $this->belongsTo(Kecamatan::class, 'kecamatan_id');
|
return $this->belongsTo(Kecamatan::class, 'kecamatan_id');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,8 +16,9 @@ class Curas extends Model
|
||||||
public function punyaKlasterCuras(): BelongsTo{
|
public function punyaKlasterCuras(): BelongsTo{
|
||||||
return $this->belongsTo(Klaster::class, 'klaster_id');
|
return $this->belongsTo(Klaster::class, 'klaster_id');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public function punyaKecamatanrCuras(): BelongsTo {
|
public function punyaKecamatanCuras(): BelongsTo {
|
||||||
return $this->belongsTo(Kecamatan::class, 'kecamatan_id'); // Pastikan FK benar
|
return $this->belongsTo(Kecamatan::class, 'kecamatan_id'); // Pastikan FK benar
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -16,8 +16,8 @@ public function up(): void
|
||||||
$table->foreignId('kecamatan_id')->constrained(
|
$table->foreignId('kecamatan_id')->constrained(
|
||||||
table: 'kecamatans', indexName: 'curas_kecamatan_id');
|
table: 'kecamatans', indexName: 'curas_kecamatan_id');
|
||||||
$table->float('jumlah_curas');
|
$table->float('jumlah_curas');
|
||||||
$table->foreignId('klaster_id')->constrained(
|
$table->foreignId('klaster_id')->nullable()->constrained(
|
||||||
table: 'klasters', indexName: 'curas_klaster_id');
|
table: 'klasters', indexName: 'curas_klaster_id')->onDelete('set null');
|
||||||
$table->timestamps();
|
$table->timestamps();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,7 @@ public function up(): void
|
||||||
table: 'kecamatans', indexName: 'curanmor_kecamatan_id');
|
table: 'kecamatans', indexName: 'curanmor_kecamatan_id');
|
||||||
$table->float('jumlah_curanmor');
|
$table->float('jumlah_curanmor');
|
||||||
$table->foreignId('klaster_id')->nullable()->constrained(
|
$table->foreignId('klaster_id')->nullable()->constrained(
|
||||||
table: 'klasters', indexName: 'klaster_kecamata_id');
|
table: 'klasters', indexName: 'klaster_kecamata_id')->onDelete('set null');;
|
||||||
$table->timestamps();
|
$table->timestamps();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,8 @@ public function run(): void
|
||||||
// Buat data kecamatan dengan klaster_id yang valid
|
// Buat data kecamatan dengan klaster_id yang valid
|
||||||
Curanmor::create([
|
Curanmor::create([
|
||||||
'kecamatan_id' => $kecamatanId1->id,
|
'kecamatan_id' => $kecamatanId1->id,
|
||||||
'jumlah_curanmor' => 90, // Ambil klaster secara acak
|
'jumlah_curanmor' => 90,
|
||||||
|
'klaster_id' => $klasterId->random(),// Ambil klaster secara acak
|
||||||
]);
|
]);
|
||||||
Curanmor::create([
|
Curanmor::create([
|
||||||
'kecamatan_id' => $kecamatanId2->id,
|
'kecamatan_id' => $kecamatanId2->id,
|
||||||
|
|
|
@ -15,17 +15,17 @@ public function run(): void
|
||||||
{
|
{
|
||||||
Klaster::create([
|
Klaster::create([
|
||||||
'nama_klaster'=> 'Aman',
|
'nama_klaster'=> 'Aman',
|
||||||
'warna'=> 'Hijau',
|
'warna'=> '#00FF00',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
Klaster::create([
|
Klaster::create([
|
||||||
'nama_klaster'=> 'Sedang',
|
'nama_klaster'=> 'Sedang',
|
||||||
'warna'=> 'Kuning',
|
'warna'=> '#FFFF00',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
Klaster::create([
|
Klaster::create([
|
||||||
'nama_klaster'=> 'Rawan',
|
'nama_klaster'=> 'Rawan',
|
||||||
'warna'=> 'Merah',
|
'warna'=> '#FF0000',
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,575 @@
|
||||||
|
(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
|
||||||
|
'use strict';
|
||||||
|
var immediate = require('immediate');
|
||||||
|
|
||||||
|
/* istanbul ignore next */
|
||||||
|
function INTERNAL() {}
|
||||||
|
|
||||||
|
var handlers = {};
|
||||||
|
|
||||||
|
var REJECTED = ['REJECTED'];
|
||||||
|
var FULFILLED = ['FULFILLED'];
|
||||||
|
var PENDING = ['PENDING'];
|
||||||
|
|
||||||
|
module.exports = exports = Promise;
|
||||||
|
|
||||||
|
function Promise(resolver) {
|
||||||
|
if (typeof resolver !== 'function') {
|
||||||
|
throw new TypeError('resolver must be a function');
|
||||||
|
}
|
||||||
|
this.state = PENDING;
|
||||||
|
this.queue = [];
|
||||||
|
this.outcome = void 0;
|
||||||
|
if (resolver !== INTERNAL) {
|
||||||
|
safelyResolveThenable(this, resolver);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Promise.prototype["catch"] = function (onRejected) {
|
||||||
|
return this.then(null, onRejected);
|
||||||
|
};
|
||||||
|
Promise.prototype.then = function (onFulfilled, onRejected) {
|
||||||
|
if (typeof onFulfilled !== 'function' && this.state === FULFILLED ||
|
||||||
|
typeof onRejected !== 'function' && this.state === REJECTED) {
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
var promise = new this.constructor(INTERNAL);
|
||||||
|
if (this.state !== PENDING) {
|
||||||
|
var resolver = this.state === FULFILLED ? onFulfilled : onRejected;
|
||||||
|
unwrap(promise, resolver, this.outcome);
|
||||||
|
} else {
|
||||||
|
this.queue.push(new QueueItem(promise, onFulfilled, onRejected));
|
||||||
|
}
|
||||||
|
|
||||||
|
return promise;
|
||||||
|
};
|
||||||
|
function QueueItem(promise, onFulfilled, onRejected) {
|
||||||
|
this.promise = promise;
|
||||||
|
if (typeof onFulfilled === 'function') {
|
||||||
|
this.onFulfilled = onFulfilled;
|
||||||
|
this.callFulfilled = this.otherCallFulfilled;
|
||||||
|
}
|
||||||
|
if (typeof onRejected === 'function') {
|
||||||
|
this.onRejected = onRejected;
|
||||||
|
this.callRejected = this.otherCallRejected;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
QueueItem.prototype.callFulfilled = function (value) {
|
||||||
|
handlers.resolve(this.promise, value);
|
||||||
|
};
|
||||||
|
QueueItem.prototype.otherCallFulfilled = function (value) {
|
||||||
|
unwrap(this.promise, this.onFulfilled, value);
|
||||||
|
};
|
||||||
|
QueueItem.prototype.callRejected = function (value) {
|
||||||
|
handlers.reject(this.promise, value);
|
||||||
|
};
|
||||||
|
QueueItem.prototype.otherCallRejected = function (value) {
|
||||||
|
unwrap(this.promise, this.onRejected, value);
|
||||||
|
};
|
||||||
|
|
||||||
|
function unwrap(promise, func, value) {
|
||||||
|
immediate(function () {
|
||||||
|
var returnValue;
|
||||||
|
try {
|
||||||
|
returnValue = func(value);
|
||||||
|
} catch (e) {
|
||||||
|
return handlers.reject(promise, e);
|
||||||
|
}
|
||||||
|
if (returnValue === promise) {
|
||||||
|
handlers.reject(promise, new TypeError('Cannot resolve promise with itself'));
|
||||||
|
} else {
|
||||||
|
handlers.resolve(promise, returnValue);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
handlers.resolve = function (self, value) {
|
||||||
|
var result = tryCatch(getThen, value);
|
||||||
|
if (result.status === 'error') {
|
||||||
|
return handlers.reject(self, result.value);
|
||||||
|
}
|
||||||
|
var thenable = result.value;
|
||||||
|
|
||||||
|
if (thenable) {
|
||||||
|
safelyResolveThenable(self, thenable);
|
||||||
|
} else {
|
||||||
|
self.state = FULFILLED;
|
||||||
|
self.outcome = value;
|
||||||
|
var i = -1;
|
||||||
|
var len = self.queue.length;
|
||||||
|
while (++i < len) {
|
||||||
|
self.queue[i].callFulfilled(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
};
|
||||||
|
handlers.reject = function (self, error) {
|
||||||
|
self.state = REJECTED;
|
||||||
|
self.outcome = error;
|
||||||
|
var i = -1;
|
||||||
|
var len = self.queue.length;
|
||||||
|
while (++i < len) {
|
||||||
|
self.queue[i].callRejected(error);
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
};
|
||||||
|
|
||||||
|
function getThen(obj) {
|
||||||
|
// Make sure we only access the accessor once as required by the spec
|
||||||
|
var then = obj && obj.then;
|
||||||
|
if (obj && typeof obj === 'object' && typeof then === 'function') {
|
||||||
|
return function appyThen() {
|
||||||
|
then.apply(obj, arguments);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function safelyResolveThenable(self, thenable) {
|
||||||
|
// Either fulfill, reject or reject with error
|
||||||
|
var called = false;
|
||||||
|
function onError(value) {
|
||||||
|
if (called) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
called = true;
|
||||||
|
handlers.reject(self, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
function onSuccess(value) {
|
||||||
|
if (called) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
called = true;
|
||||||
|
handlers.resolve(self, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
function tryToUnwrap() {
|
||||||
|
thenable(onSuccess, onError);
|
||||||
|
}
|
||||||
|
|
||||||
|
var result = tryCatch(tryToUnwrap);
|
||||||
|
if (result.status === 'error') {
|
||||||
|
onError(result.value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function tryCatch(func, value) {
|
||||||
|
var out = {};
|
||||||
|
try {
|
||||||
|
out.value = func(value);
|
||||||
|
out.status = 'success';
|
||||||
|
} catch (e) {
|
||||||
|
out.status = 'error';
|
||||||
|
out.value = e;
|
||||||
|
}
|
||||||
|
return out;
|
||||||
|
}
|
||||||
|
|
||||||
|
exports.resolve = resolve;
|
||||||
|
function resolve(value) {
|
||||||
|
if (value instanceof this) {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
return handlers.resolve(new this(INTERNAL), value);
|
||||||
|
}
|
||||||
|
|
||||||
|
exports.reject = reject;
|
||||||
|
function reject(reason) {
|
||||||
|
var promise = new this(INTERNAL);
|
||||||
|
return handlers.reject(promise, reason);
|
||||||
|
}
|
||||||
|
|
||||||
|
exports.all = all;
|
||||||
|
function all(iterable) {
|
||||||
|
var self = this;
|
||||||
|
if (Object.prototype.toString.call(iterable) !== '[object Array]') {
|
||||||
|
return this.reject(new TypeError('must be an array'));
|
||||||
|
}
|
||||||
|
|
||||||
|
var len = iterable.length;
|
||||||
|
var called = false;
|
||||||
|
if (!len) {
|
||||||
|
return this.resolve([]);
|
||||||
|
}
|
||||||
|
|
||||||
|
var values = new Array(len);
|
||||||
|
var resolved = 0;
|
||||||
|
var i = -1;
|
||||||
|
var promise = new this(INTERNAL);
|
||||||
|
|
||||||
|
while (++i < len) {
|
||||||
|
allResolver(iterable[i], i);
|
||||||
|
}
|
||||||
|
return promise;
|
||||||
|
function allResolver(value, i) {
|
||||||
|
self.resolve(value).then(resolveFromAll, function (error) {
|
||||||
|
if (!called) {
|
||||||
|
called = true;
|
||||||
|
handlers.reject(promise, error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
function resolveFromAll(outValue) {
|
||||||
|
values[i] = outValue;
|
||||||
|
if (++resolved === len && !called) {
|
||||||
|
called = true;
|
||||||
|
handlers.resolve(promise, values);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
exports.race = race;
|
||||||
|
function race(iterable) {
|
||||||
|
var self = this;
|
||||||
|
if (Object.prototype.toString.call(iterable) !== '[object Array]') {
|
||||||
|
return this.reject(new TypeError('must be an array'));
|
||||||
|
}
|
||||||
|
|
||||||
|
var len = iterable.length;
|
||||||
|
var called = false;
|
||||||
|
if (!len) {
|
||||||
|
return this.resolve([]);
|
||||||
|
}
|
||||||
|
|
||||||
|
var i = -1;
|
||||||
|
var promise = new this(INTERNAL);
|
||||||
|
|
||||||
|
while (++i < len) {
|
||||||
|
resolver(iterable[i]);
|
||||||
|
}
|
||||||
|
return promise;
|
||||||
|
function resolver(value) {
|
||||||
|
self.resolve(value).then(function (response) {
|
||||||
|
if (!called) {
|
||||||
|
called = true;
|
||||||
|
handlers.resolve(promise, response);
|
||||||
|
}
|
||||||
|
}, function (error) {
|
||||||
|
if (!called) {
|
||||||
|
called = true;
|
||||||
|
handlers.reject(promise, error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
},{"immediate":2}],2:[function(require,module,exports){
|
||||||
|
(function (global){
|
||||||
|
'use strict';
|
||||||
|
var Mutation = global.MutationObserver || global.WebKitMutationObserver;
|
||||||
|
|
||||||
|
var scheduleDrain;
|
||||||
|
|
||||||
|
{
|
||||||
|
if (Mutation) {
|
||||||
|
var called = 0;
|
||||||
|
var observer = new Mutation(nextTick);
|
||||||
|
var element = global.document.createTextNode('');
|
||||||
|
observer.observe(element, {
|
||||||
|
characterData: true
|
||||||
|
});
|
||||||
|
scheduleDrain = function () {
|
||||||
|
element.data = (called = ++called % 2);
|
||||||
|
};
|
||||||
|
} else if (!global.setImmediate && typeof global.MessageChannel !== 'undefined') {
|
||||||
|
var channel = new global.MessageChannel();
|
||||||
|
channel.port1.onmessage = nextTick;
|
||||||
|
scheduleDrain = function () {
|
||||||
|
channel.port2.postMessage(0);
|
||||||
|
};
|
||||||
|
} else if ('document' in global && 'onreadystatechange' in global.document.createElement('script')) {
|
||||||
|
scheduleDrain = function () {
|
||||||
|
|
||||||
|
// Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted
|
||||||
|
// into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.
|
||||||
|
var scriptEl = global.document.createElement('script');
|
||||||
|
scriptEl.onreadystatechange = function () {
|
||||||
|
nextTick();
|
||||||
|
|
||||||
|
scriptEl.onreadystatechange = null;
|
||||||
|
scriptEl.parentNode.removeChild(scriptEl);
|
||||||
|
scriptEl = null;
|
||||||
|
};
|
||||||
|
global.document.documentElement.appendChild(scriptEl);
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
scheduleDrain = function () {
|
||||||
|
setTimeout(nextTick, 0);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var draining;
|
||||||
|
var queue = [];
|
||||||
|
//named nextTick for less confusing stack traces
|
||||||
|
function nextTick() {
|
||||||
|
draining = true;
|
||||||
|
var i, oldQueue;
|
||||||
|
var len = queue.length;
|
||||||
|
while (len) {
|
||||||
|
oldQueue = queue;
|
||||||
|
queue = [];
|
||||||
|
i = -1;
|
||||||
|
while (++i < len) {
|
||||||
|
oldQueue[i]();
|
||||||
|
}
|
||||||
|
len = queue.length;
|
||||||
|
}
|
||||||
|
draining = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = immediate;
|
||||||
|
function immediate(task) {
|
||||||
|
if (queue.push(task) === 1 && !draining) {
|
||||||
|
scheduleDrain();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
|
||||||
|
},{}],3:[function(require,module,exports){
|
||||||
|
(function (global){
|
||||||
|
'use strict';
|
||||||
|
var jsonp = require('./jsonp');
|
||||||
|
var Promise = require('lie');
|
||||||
|
|
||||||
|
module.exports = function (url, options) {
|
||||||
|
options = options || {};
|
||||||
|
if (options.jsonp) {
|
||||||
|
return jsonp(url, options);
|
||||||
|
}
|
||||||
|
var request;
|
||||||
|
var cancel;
|
||||||
|
var out = new Promise(function (resolve, reject) {
|
||||||
|
cancel = reject;
|
||||||
|
if (global.XMLHttpRequest === undefined) {
|
||||||
|
reject('XMLHttpRequest is not supported');
|
||||||
|
}
|
||||||
|
var response;
|
||||||
|
request = new global.XMLHttpRequest();
|
||||||
|
request.open('GET', url);
|
||||||
|
if (options.headers) {
|
||||||
|
Object.keys(options.headers).forEach(function (key) {
|
||||||
|
request.setRequestHeader(key, options.headers[key]);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
request.onreadystatechange = function () {
|
||||||
|
if (request.readyState === 4) {
|
||||||
|
if ((request.status < 400 && options.local) || request.status === 200) {
|
||||||
|
if (global.JSON) {
|
||||||
|
response = JSON.parse(request.responseText);
|
||||||
|
} else {
|
||||||
|
reject(new Error('JSON is not supported'));
|
||||||
|
}
|
||||||
|
resolve(response);
|
||||||
|
} else {
|
||||||
|
if (!request.status) {
|
||||||
|
reject('Attempted cross origin request without CORS enabled');
|
||||||
|
} else {
|
||||||
|
reject(request.statusText);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
request.send();
|
||||||
|
});
|
||||||
|
out.catch(function (reason) {
|
||||||
|
request.abort();
|
||||||
|
return reason;
|
||||||
|
});
|
||||||
|
out.abort = cancel;
|
||||||
|
return out;
|
||||||
|
};
|
||||||
|
|
||||||
|
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
|
||||||
|
},{"./jsonp":5,"lie":1}],4:[function(require,module,exports){
|
||||||
|
(function (global){
|
||||||
|
'use strict';
|
||||||
|
var L = global.L || require('leaflet');
|
||||||
|
var Promise = require('lie');
|
||||||
|
var ajax = require('./ajax');
|
||||||
|
L.GeoJSON.AJAX = L.GeoJSON.extend({
|
||||||
|
defaultAJAXparams: {
|
||||||
|
dataType: 'json',
|
||||||
|
callbackParam: 'callback',
|
||||||
|
local: false,
|
||||||
|
middleware: function (f) {
|
||||||
|
return f;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
initialize: function (url, options) {
|
||||||
|
this.urls = [];
|
||||||
|
if (url) {
|
||||||
|
if (typeof url === 'string') {
|
||||||
|
this.urls.push(url);
|
||||||
|
} else if (typeof url.pop === 'function') {
|
||||||
|
this.urls = this.urls.concat(url);
|
||||||
|
} else {
|
||||||
|
options = url;
|
||||||
|
url = undefined;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var ajaxParams = L.Util.extend({}, this.defaultAJAXparams);
|
||||||
|
|
||||||
|
for (var i in options) {
|
||||||
|
if (this.defaultAJAXparams.hasOwnProperty(i)) {
|
||||||
|
ajaxParams[i] = options[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.ajaxParams = ajaxParams;
|
||||||
|
this._layers = {};
|
||||||
|
L.Util.setOptions(this, options);
|
||||||
|
this.on('data:loaded', function () {
|
||||||
|
if (this.filter) {
|
||||||
|
this.refilter(this.filter);
|
||||||
|
}
|
||||||
|
}, this);
|
||||||
|
var self = this;
|
||||||
|
if (this.urls.length > 0) {
|
||||||
|
new Promise(function (resolve) {
|
||||||
|
resolve();
|
||||||
|
}).then(function () {
|
||||||
|
self.addUrl();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
clearLayers: function () {
|
||||||
|
this.urls = [];
|
||||||
|
L.GeoJSON.prototype.clearLayers.call(this);
|
||||||
|
return this;
|
||||||
|
},
|
||||||
|
addUrl: function (url) {
|
||||||
|
var self = this;
|
||||||
|
if (url) {
|
||||||
|
if (typeof url === 'string') {
|
||||||
|
self.urls.push(url);
|
||||||
|
} else if (typeof url.pop === 'function') {
|
||||||
|
self.urls = self.urls.concat(url);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var loading = self.urls.length;
|
||||||
|
var done = 0;
|
||||||
|
self.fire('data:loading');
|
||||||
|
self.urls.forEach(function (url) {
|
||||||
|
if (self.ajaxParams.dataType.toLowerCase() === 'json') {
|
||||||
|
ajax(url, self.ajaxParams).then(function (d) {
|
||||||
|
var data = self.ajaxParams.middleware(d);
|
||||||
|
self.addData(data);
|
||||||
|
self.fire('data:progress', data);
|
||||||
|
}, function (err) {
|
||||||
|
self.fire('data:progress', {
|
||||||
|
error: err
|
||||||
|
});
|
||||||
|
});
|
||||||
|
} else if (self.ajaxParams.dataType.toLowerCase() === 'jsonp') {
|
||||||
|
L.Util.jsonp(url, self.ajaxParams).then(function (d) {
|
||||||
|
var data = self.ajaxParams.middleware(d);
|
||||||
|
self.addData(data);
|
||||||
|
self.fire('data:progress', data);
|
||||||
|
}, function (err) {
|
||||||
|
self.fire('data:progress', {
|
||||||
|
error: err
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
self.on('data:progress', function () {
|
||||||
|
if (++done === loading) {
|
||||||
|
self.fire('data:loaded');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
refresh: function (url) {
|
||||||
|
url = url || this.urls;
|
||||||
|
this.clearLayers();
|
||||||
|
this.addUrl(url);
|
||||||
|
},
|
||||||
|
refilter: function (func) {
|
||||||
|
if (typeof func !== 'function') {
|
||||||
|
this.filter = false;
|
||||||
|
this.eachLayer(function (a) {
|
||||||
|
a.setStyle({
|
||||||
|
stroke: true,
|
||||||
|
clickable: true
|
||||||
|
});
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.filter = func;
|
||||||
|
this.eachLayer(function (a) {
|
||||||
|
if (func(a.feature)) {
|
||||||
|
a.setStyle({
|
||||||
|
stroke: true,
|
||||||
|
clickable: true
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
a.setStyle({
|
||||||
|
stroke: false,
|
||||||
|
clickable: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
L.Util.Promise = Promise;
|
||||||
|
L.Util.ajax = ajax;
|
||||||
|
L.Util.jsonp = require('./jsonp');
|
||||||
|
L.geoJson.ajax = function (geojson, options) {
|
||||||
|
return new L.GeoJSON.AJAX(geojson, options);
|
||||||
|
};
|
||||||
|
|
||||||
|
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
|
||||||
|
},{"./ajax":3,"./jsonp":5,"leaflet":undefined,"lie":1}],5:[function(require,module,exports){
|
||||||
|
(function (global){
|
||||||
|
'use strict';
|
||||||
|
var L = global.L || require('leaflet');
|
||||||
|
var Promise = require('lie');
|
||||||
|
|
||||||
|
module.exports = function (url, options) {
|
||||||
|
options = options || {};
|
||||||
|
var head = document.getElementsByTagName('head')[0];
|
||||||
|
var scriptNode = L.DomUtil.create('script', '', head);
|
||||||
|
var cbName, ourl, cbSuffix, cancel;
|
||||||
|
var out = new Promise(function (resolve, reject) {
|
||||||
|
cancel = reject;
|
||||||
|
var cbParam = options.cbParam || 'callback';
|
||||||
|
if (options.callbackName) {
|
||||||
|
cbName = options.callbackName;
|
||||||
|
} else {
|
||||||
|
cbSuffix = '_' + ('' + Math.random()).slice(2);
|
||||||
|
cbName = '_leafletJSONPcallbacks.' + cbSuffix;
|
||||||
|
}
|
||||||
|
scriptNode.type = 'text/javascript';
|
||||||
|
if (cbSuffix) {
|
||||||
|
if (!global._leafletJSONPcallbacks) {
|
||||||
|
global._leafletJSONPcallbacks = {
|
||||||
|
length: 0
|
||||||
|
};
|
||||||
|
}
|
||||||
|
global._leafletJSONPcallbacks.length++;
|
||||||
|
global._leafletJSONPcallbacks[cbSuffix] = function (data) {
|
||||||
|
head.removeChild(scriptNode);
|
||||||
|
delete global._leafletJSONPcallbacks[cbSuffix];
|
||||||
|
global._leafletJSONPcallbacks.length--;
|
||||||
|
if (!global._leafletJSONPcallbacks.length) {
|
||||||
|
delete global._leafletJSONPcallbacks;
|
||||||
|
}
|
||||||
|
resolve(data);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
if (url.indexOf('?') === -1) {
|
||||||
|
ourl = url + '?' + cbParam + '=' + cbName;
|
||||||
|
} else {
|
||||||
|
ourl = url + '&' + cbParam + '=' + cbName;
|
||||||
|
}
|
||||||
|
scriptNode.src = ourl;
|
||||||
|
}).then(null, function (reason) {
|
||||||
|
head.removeChild(scriptNode);
|
||||||
|
delete L.Util.ajax.cb[cbSuffix];
|
||||||
|
return reason;
|
||||||
|
});
|
||||||
|
out.abort = cancel;
|
||||||
|
return out;
|
||||||
|
};
|
||||||
|
|
||||||
|
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
|
||||||
|
},{"leaflet":undefined,"lie":1}]},{},[4]);
|
|
@ -0,0 +1,63 @@
|
||||||
|
<x-layoutAdmin>
|
||||||
|
<div class="content-page">
|
||||||
|
<div class="container-fluid add-form-list">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-12">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header d-flex justify-content-between">
|
||||||
|
<div class="header-title">
|
||||||
|
<h4 class="card-title">Ubah Data Kasus CURAS Pada Kecamatan
|
||||||
|
{{ $curas->punyaKecamatanCuras->nama_kecamatan}}</h4>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<form action="/curas/{{ $curas->id }}" data-toggle="validator" method="post">
|
||||||
|
@method('put')
|
||||||
|
@csrf
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label>Nama Kecamatan *</label>
|
||||||
|
<select class="selectpicker form-control" data-style="py-0" id="kecamatan_id" name="kecamatan_id">
|
||||||
|
<option value="" selected disabled> Pilih Kecamatan </option>
|
||||||
|
@foreach ( $kecamatans as $kecamatan )
|
||||||
|
<option value="{{ $kecamatan->id }}"
|
||||||
|
{{ old('kecamatan_id', $curas->kecamatan_id) == $kecamatan->id ? 'selected' : '' }}>
|
||||||
|
{{ $kecamatan->nama_kecamatan }}
|
||||||
|
</option>
|
||||||
|
@endforeach
|
||||||
|
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<div class="form-group">
|
||||||
|
<label>Jumlah Kasus Curas *</label>
|
||||||
|
<input type="text" class="form-control" placeholder="Jumlah Kasus Curas" id="jumlah_curas" name="jumlah_curas" value="{{ old('jumlah_curas', $curas ->jumlah_curas )}}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<div class="form-group">
|
||||||
|
<label>Klaster *</label>
|
||||||
|
<select class="selectpicker form-control" data-style="py-0" name="klaster_id" id="klaster_id">
|
||||||
|
<option value="" selected disabled>Pilih Klaster</option>
|
||||||
|
@foreach ( $klasters as $klaster )
|
||||||
|
<option value="{{ $klaster->id }}" style="background-color: {{ $klaster->warna }}" {{ old('klaster_id', $curas->klaster_id) == $klaster->id ? 'selected' : '' }}>{{ $klaster->nama_klaster }}</option>
|
||||||
|
@endforeach
|
||||||
|
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<button type="submit" class="btn btn-primary mr-2">Tambah Data Kasus Curas</button>
|
||||||
|
<button type="reset" class="btn btn-danger">Reset</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- Page end -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</x-layoutAdmin>
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
<x-layoutAdmin>
|
||||||
|
<div class="content-page">
|
||||||
|
<div class="container-fluid add-form-list">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-12">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header d-flex justify-content-between">
|
||||||
|
<div class="header-title">
|
||||||
|
<h4 class="card-title">Add Sale</h4>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<form action="/kecamatan/{{ $kecamatan -> id }}" data-toggle="validator" method="post">
|
||||||
|
@method('put')
|
||||||
|
@csrf
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label>Nama Kecamatan</label>
|
||||||
|
<input type="text" class="form-control @error('detail') is-invalid @enderror" placeholder="Nama Kecamatan" value="{{ old('nama_kecamatan', $kecamatan -> nama_kecamatan )}}" id="nama_kecamatan" name="nama_kecamatan">
|
||||||
|
@error('nama_kecamatan')
|
||||||
|
<div class="invalid-feedback">{{$message}}
|
||||||
|
</div>
|
||||||
|
@enderror
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<button type="submit" class="btn btn-primary mr-2">Ubah Data Kecamatan</button>
|
||||||
|
<button type="reset" class="btn btn-danger">Reset</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- Page end -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</x-layoutAdmin>
|
||||||
|
|
|
@ -0,0 +1,49 @@
|
||||||
|
<x-layoutAdmin>
|
||||||
|
<div class="content-page">
|
||||||
|
<div class="container-fluid add-form-list">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-12">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header d-flex justify-content-between">
|
||||||
|
<div class="header-title">
|
||||||
|
<h4 class="card-title">Ubah Data Klaster {{ $klaster->nama_klaster }}</h4>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<form action="/klaster/{{ $klaster->id }}" data-toggle="validator" method="POST">
|
||||||
|
@method('put')
|
||||||
|
@csrf
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label>Nama Klaster</label>
|
||||||
|
<input type="text" class="form-control @error('nama_klaster') is-invalid @enderror" placeholder="Nama Klaster" id="nama_klaster" name="nama_klaster" value="{{ old('nama_klaster', $klaster -> nama_klaster )}}">
|
||||||
|
@error('nama_klaster')
|
||||||
|
<div class="invalid-feedback">{{$message}}
|
||||||
|
</div>
|
||||||
|
@enderror
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<div class="form-group">
|
||||||
|
<label>Pilih Warna</label>
|
||||||
|
<input type="color" class="form-control @error('warna') is-invalid @enderror" placeholder="warna" id="warna" name="warna" value="{{ old('warna', $klaster -> warna )}}">
|
||||||
|
@error('warna')
|
||||||
|
<div class="invalid-feedback">{{$message}}
|
||||||
|
</div>
|
||||||
|
@enderror
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<button type="submit" class="btn btn-primary mr-2">Ubah Data Klaster {{ $klaster->nama_klaster }}</button>
|
||||||
|
<button type="reset" class="btn btn-danger">Reset</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- Page end -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</x-layoutAdmin>
|
||||||
|
|
|
@ -9,8 +9,18 @@
|
||||||
<p class="mb-0">Sales enables you to effectively control sales KPIs and monitor them in one central<br>
|
<p class="mb-0">Sales enables you to effectively control sales KPIs and monitor them in one central<br>
|
||||||
place while helping teams to reach sales goals. </p>
|
place while helping teams to reach sales goals. </p>
|
||||||
</div>
|
</div>
|
||||||
<a href="page-add-sale.html" class="btn btn-primary add-list"><i class="las la-plus mr-3"></i>Add Sale</a>
|
<a href="/curanmor/create" class="btn btn-primary add-list"><i class="las la-plus mr-3"></i>Tambah Data Curanmor</a>
|
||||||
</div>
|
</div>
|
||||||
|
@if (session()->has('succes'))
|
||||||
|
<div class="alert alert-success" role="alert">
|
||||||
|
{{ session('succes') }}
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
@if (session()->has('error'))
|
||||||
|
<div class="alert alert-danger" role="alert">
|
||||||
|
{{ session('error') }}
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<div class="table-responsive rounded mb-3">
|
<div class="table-responsive rounded mb-3">
|
||||||
|
@ -40,9 +50,9 @@
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td>{{ $curanmor->id }}</td>
|
<td>{{ $curanmor->id }}</td>
|
||||||
<td>{{ $curanmor-> punyaKecamatanrCuranmor -> nama_kecamatan }}</td>
|
<td>{{ $curanmor->punyaKecamatanCuranmor->nama_kecamatan }}</td>
|
||||||
<td>{{ $curanmor-> jumlah_curanmor }}</td>
|
<td>{{ $curanmor->jumlah_curanmor }}</td>
|
||||||
<td>{{ $curanmor-> punyaKlasterCuranmor -> nama_klaster }}</td>
|
<td style="background-color: {{ $curanmor->punyaKlasterCuranmor->warna }}">{{ $curanmor->punyaKlasterCuranmor->nama_klaster }}</td>
|
||||||
<td>
|
<td>
|
||||||
<div class="d-flex align-items-center list-action">
|
<div class="d-flex align-items-center list-action">
|
||||||
<a class="badge badge-info mr-2" data-toggle="tooltip" data-placement="top" title="" data-original-title="View"
|
<a class="badge badge-info mr-2" data-toggle="tooltip" data-placement="top" title="" data-original-title="View"
|
||||||
|
|
|
@ -9,8 +9,18 @@
|
||||||
<p class="mb-0">Sales enables you to effectively control sales KPIs and monitor them in one central<br>
|
<p class="mb-0">Sales enables you to effectively control sales KPIs and monitor them in one central<br>
|
||||||
place while helping teams to reach sales goals. </p>
|
place while helping teams to reach sales goals. </p>
|
||||||
</div>
|
</div>
|
||||||
<a href="page-add-sale.html" class="btn btn-primary add-list"><i class="las la-plus mr-3"></i>Add Sale</a>
|
<a href="/curas/create" class="btn btn-primary add-list"><i class="las la-plus mr-3"></i>Tambah Kasus Curas</a>
|
||||||
</div>
|
</div>
|
||||||
|
@if (session()->has('succes'))
|
||||||
|
<div class="alert alert-success" role="alert">
|
||||||
|
{{ session('succes') }}
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
@if (session()->has('error'))
|
||||||
|
<div class="alert alert-danger" role="alert">
|
||||||
|
{{ session('error') }}
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<div class="table-responsive rounded mb-3">
|
<div class="table-responsive rounded mb-3">
|
||||||
|
@ -39,18 +49,20 @@
|
||||||
<label for="checkbox2" class="mb-0"></label>
|
<label for="checkbox2" class="mb-0"></label>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td>{{ $curas -> id }}</td>
|
<td>{{ $curas->id }}</td>
|
||||||
<td>{{ $curas -> punyaKecamatanrCuras -> nama_kecamatan }}</td>
|
<td>{{ $curas->punyaKecamatanCuras->nama_kecamatan}}</td>
|
||||||
<td>{{ $curas -> jumlah_curas }}</td>
|
<td>{{ $curas->jumlah_curas }}</td>
|
||||||
<td>{{ $curas -> punyaKlasterCuras -> nama_klaster }}</td>
|
<td style="background-color: {{ $curas->punyaKlasterCuras->warna }}">{{ $curas -> punyaKlasterCuras -> nama_klaster }}</td>
|
||||||
<td>
|
<td>
|
||||||
<div class="d-flex align-items-center list-action">
|
<div class="d-flex align-items-center list-action">
|
||||||
<a class="badge badge-info mr-2" data-toggle="tooltip" data-placement="top" title="" data-original-title="View"
|
|
||||||
href="#"><i class="ri-eye-line mr-0"></i></a>
|
|
||||||
<a class="badge bg-success mr-2" data-toggle="tooltip" data-placement="top" title="" data-original-title="Edit"
|
<a class="badge bg-success mr-2" data-toggle="tooltip" data-placement="top" title="" data-original-title="Edit"
|
||||||
href="#"><i class="ri-pencil-line mr-0"></i></a>
|
href="/curas/{{ $curas->id }}/edit"><i class="ri-pencil-line mr-0"></i></a>
|
||||||
<a class="badge bg-warning mr-2" data-toggle="tooltip" data-placement="top" title="" data-original-title="Delete"
|
<form action="/curas/{{ $curas->id }}" method="post" class="d-inline">
|
||||||
href="#"><i class="ri-delete-bin-line mr-0"></i></a>
|
@method('delete')
|
||||||
|
@csrf
|
||||||
|
<button type="submit" class="badge bg-warning mr-2 border-0"><i class="ri-delete-bin-line mr-0"></i></button>
|
||||||
|
|
||||||
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -6,11 +6,22 @@
|
||||||
<div class="d-flex flex-wrap align-items-center justify-content-between mb-4">
|
<div class="d-flex flex-wrap align-items-center justify-content-between mb-4">
|
||||||
<div>
|
<div>
|
||||||
<h4 class="mb-3">Daftar Kecamatan Kabupaten Probolinggo</h4>
|
<h4 class="mb-3">Daftar Kecamatan Kabupaten Probolinggo</h4>
|
||||||
<p class="mb-0">Sales enables you to effectively control sales KPIs and monitor them in one central<br>
|
<p class="mb-0">Berikut merupakan data seluruh kecamatan yang berada di wilayah <br>
|
||||||
place while helping teams to reach sales goals. </p>
|
Kabupaten Probolinggo. </p>
|
||||||
</div>
|
</div>
|
||||||
<a href="page-add-sale.html" class="btn btn-primary add-list"><i class="las la-plus mr-3"></i>Add Sale</a>
|
|
||||||
|
<a href="/kecamatan/create" class="btn btn-primary add-list"><i class="las la-plus mr-3"></i>Tambah Kecamatan</a>
|
||||||
</div>
|
</div>
|
||||||
|
@if (session()->has('succes'))
|
||||||
|
<div class="alert alert-success" role="alert">
|
||||||
|
{{ session('succes') }}
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
@if (session()->has('error'))
|
||||||
|
<div class="alert alert-danger" role="alert">
|
||||||
|
{{ session('error') }}
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<div class="table-responsive rounded mb-3">
|
<div class="table-responsive rounded mb-3">
|
||||||
|
@ -41,12 +52,14 @@
|
||||||
<td>{{ $kecamatan -> nama_kecamatan }}</td>
|
<td>{{ $kecamatan -> nama_kecamatan }}</td>
|
||||||
<td>
|
<td>
|
||||||
<div class="d-flex align-items-center list-action">
|
<div class="d-flex align-items-center list-action">
|
||||||
<a class="badge badge-info mr-2" data-toggle="tooltip" data-placement="top" title="" data-original-title="View"
|
<a class="badge bg-success mr-2" data-toggle="tooltip" data-placement="top" title=""
|
||||||
href="#"><i class="ri-eye-line mr-0"></i></a>
|
href="/kecamatan/{{ $kecamatan -> id }}/edit"><i class="ri-pencil-line mr-0"></i></a>
|
||||||
<a class="badge bg-success mr-2" data-toggle="tooltip" data-placement="top" title="" data-original-title="Edit"
|
<form action="/kecamatan/{{ $kecamatan->id }}" method="post" class="d-inline">
|
||||||
href="#"><i class="ri-pencil-line mr-0"></i></a>
|
@method('delete')
|
||||||
<a class="badge bg-warning mr-2" data-toggle="tooltip" data-placement="top" title="" data-original-title="Delete"
|
@csrf
|
||||||
href="#"><i class="ri-delete-bin-line mr-0"></i></a>
|
<button type="submit" class="badge bg-warning mr-2 border-0"><i class="ri-delete-bin-line mr-0"></i></button>
|
||||||
|
|
||||||
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -9,9 +9,19 @@
|
||||||
<p class="mb-0">Sales enables you to effectively control sales KPIs and monitor them in one central<br>
|
<p class="mb-0">Sales enables you to effectively control sales KPIs and monitor them in one central<br>
|
||||||
place while helping teams to reach sales goals. </p>
|
place while helping teams to reach sales goals. </p>
|
||||||
</div>
|
</div>
|
||||||
<a href="page-add-sale.html" class="btn btn-primary add-list"><i class="las la-plus mr-3"></i>Add Sale</a>
|
<a href="/klaster/create" class="btn btn-primary add-list"><i class="las la-plus mr-3"></i>Add Sale</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@if (session()->has('succes'))
|
||||||
|
<div class="alert alert-success" role="alert">
|
||||||
|
{{ session('succes') }}
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
@if (session()->has('error'))
|
||||||
|
<div class="alert alert-danger" role="alert">
|
||||||
|
{{ session('error') }}
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<div class="table-responsive rounded mb-3">
|
<div class="table-responsive rounded mb-3">
|
||||||
<table class="data-table table mb-0 tbl-server-info">
|
<table class="data-table table mb-0 tbl-server-info">
|
||||||
|
@ -40,15 +50,17 @@
|
||||||
</td>
|
</td>
|
||||||
<td>{{ $klaster -> id }}</td>
|
<td>{{ $klaster -> id }}</td>
|
||||||
<td>{{ $klaster -> nama_klaster }}</td>
|
<td>{{ $klaster -> nama_klaster }}</td>
|
||||||
<td>{{ $klaster -> warna }}</td>
|
<td style="background-color: {{ $klaster->warna }}" >{{ $klaster -> warna }}</td>
|
||||||
<td>
|
<td>
|
||||||
<div class="d-flex align-items-center list-action">
|
<div class="d-flex align-items-center list-action">
|
||||||
<a class="badge badge-info mr-2" data-toggle="tooltip" data-placement="top" title="" data-original-title="View"
|
<a class="badge bg-success mr-2" data-toggle="tooltip" data-placement="top" title=""
|
||||||
href="#"><i class="ri-eye-line mr-0"></i></a>
|
href="/klaster/{{ $klaster->id }}/edit"><i class="ri-pencil-line mr-0"></i></a>
|
||||||
<a class="badge bg-success mr-2" data-toggle="tooltip" data-placement="top" title="" data-original-title="Edit"
|
<form action="/klaster/{{ $klaster->id }}" method="post" class="d-inline">
|
||||||
href="#"><i class="ri-pencil-line mr-0"></i></a>
|
@method('delete')
|
||||||
<a class="badge bg-warning mr-2" data-toggle="tooltip" data-placement="top" title="" data-original-title="Delete"
|
@csrf
|
||||||
href="#"><i class="ri-delete-bin-line mr-0"></i></a>
|
<button type="submit" class="badge bg-warning mr-2 border-0"><i class="ri-delete-bin-line mr-0"></i></button>
|
||||||
|
|
||||||
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
<x-layoutAdmin>
|
||||||
|
<div class="content-page">
|
||||||
|
|
||||||
|
<div id="map" style="width: 100%; height: 500px;" ></div>
|
||||||
|
<script>
|
||||||
|
var map = L.map('map').setView([-7.843271790154591, 113.2990930356143], 10);
|
||||||
|
L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
|
||||||
|
maxZoom: 19,
|
||||||
|
|
||||||
|
attribution: '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'
|
||||||
|
}).addTo(map);
|
||||||
|
|
||||||
|
function popUp(f,l){
|
||||||
|
var out = [];
|
||||||
|
if (f.properties){
|
||||||
|
for(key in f.properties){
|
||||||
|
out.push(key+": "+f.properties[key]);
|
||||||
|
}
|
||||||
|
l.bindPopup(out.join("<br />"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var jsonTest = new L.GeoJSON.AJAX(["{{ asset('/assets/map/gisProbolinggo.geojson') }}"],{onEachFeature:popUp}).addTo(map);
|
||||||
|
</script>
|
||||||
|
</div>
|
||||||
|
</x-layoutAdmin>
|
|
@ -10,33 +10,36 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<form action="page-list-returns.html" data-toggle="validator">
|
<form action="/curanmor" data-toggle="validator" method="post">
|
||||||
|
@csrf
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>Nama Kecamatan *</label>
|
<label>Nama Kecamatan *</label>
|
||||||
<select name="type" class="selectpicker form-control" data-style="py-0">
|
<select class="selectpicker form-control" data-style="py-0" id="kecamatan_id" name="kecamatan_id">
|
||||||
<option value="" selected disabled>Pilih Kecamatan</option>
|
<option value="" selected disabled>Pilih Kecamatan</option>
|
||||||
<option>Leces</option>
|
@foreach ( $kecamatans as $kecamatan )
|
||||||
<option>Dringu</option>
|
<option value="{{ $kecamatan -> id }}" >{{ $kecamatan -> nama_kecamatan }}</option>
|
||||||
<option>Pajarakan</option>
|
@endforeach
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>Jumlah Kasus Curanmor *</label>
|
<label>Jumlah Kasus Curanmor *</label>
|
||||||
<input type="text" class="form-control" placeholder="Jumlah Kasus Curanmor">
|
<input type="text" class="form-control" placeholder="Jumlah Kasus Curanmor" id="curanmor" name="jumlah_curanmor">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>Klaster *</label>
|
<label>Klaster *</label>
|
||||||
<select name="type" class="selectpicker form-control" data-style="py-0">
|
<select class="selectpicker form-control" data-style="py-0" name="klaster_id" id="klaster_id">
|
||||||
<option value="" selected disabled>Pilih Klaster</option>
|
<option value="" selected disabled>Pilih Klaster</option>
|
||||||
<option>Aman</option>
|
@foreach ( $klasters as $klaster )
|
||||||
<option>Sedang</option>
|
<option value="{{ $klaster -> id }}" style="background-color: {{ $klaster->warna }}">{{ $klaster -> nama_klaster }}</option>
|
||||||
<option>Rawan</option>
|
@endforeach
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -10,33 +10,36 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<form action="page-list-returns.html" data-toggle="validator">
|
<form action="/curas" data-toggle="validator" method="post">
|
||||||
|
@csrf
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>Nama Kecamatan *</label>
|
<label>Nama Kecamatan *</label>
|
||||||
<select name="type" class="selectpicker form-control" data-style="py-0">
|
<select class="selectpicker form-control" data-style="py-0" id="kecamatan_id" name="kecamatan_id">
|
||||||
<option value="" selected disabled>Pilih Kecamatan</option>
|
<option value="" selected disabled>Pilih Kecamatan</option>
|
||||||
<option>Leces</option>
|
@foreach ( $kecamatans as $kecamatan )
|
||||||
<option>Dringu</option>
|
<option value="{{ $kecamatan -> id }}" >{{ $kecamatan -> nama_kecamatan }}</option>
|
||||||
<option>Pajarakan</option>
|
@endforeach
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>Jumlah Kasus Curas *</label>
|
<label>Jumlah Kasus Curas *</label>
|
||||||
<input type="text" class="form-control" placeholder="Jumlah Kasus Curas">
|
<input type="text" class="form-control" placeholder="Jumlah Kasus Curas" id="jumlah_curas" name="jumlah_curas">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>Klaster *</label>
|
<label>Klaster *</label>
|
||||||
<select name="type" class="selectpicker form-control" data-style="py-0">
|
<select class="selectpicker form-control" data-style="py-0" name="klaster_id" id="klaster_id">
|
||||||
<option value="" selected disabled>Pilih Kecamatan</option>
|
<option value="" selected disabled>Pilih Klaster</option>
|
||||||
<option>Aman</option>
|
@foreach ( $klasters as $klaster )
|
||||||
<option>Sedang</option>
|
<option value="{{ $klaster -> id }}" style="background-color: {{ $klaster->warna }}">{{ $klaster -> nama_klaster }}</option>
|
||||||
<option>Rawan</option>
|
@endforeach
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -6,16 +6,21 @@
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header d-flex justify-content-between">
|
<div class="card-header d-flex justify-content-between">
|
||||||
<div class="header-title">
|
<div class="header-title">
|
||||||
<h4 class="card-title">Add Sale</h4>
|
<h4 class="card-title">Tambah Data Kecamatan Baru</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<form action="page-list-returns.html" data-toggle="validator">
|
<form action="/kecamatan" data-toggle="validator" method="POST">
|
||||||
|
@csrf
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>Nama Kecamatan</label>
|
<label>Nama Kecamatan</label>
|
||||||
<input type="text" class="form-control" placeholder="Nama Kecamatan">
|
<input type="text" class="form-control @error('nama_kecamatan') is-invalid @enderror" placeholder="Nama Kecamatan" id="nama_kecamatan" name="nama_kecamatan">
|
||||||
|
@error('nama_kecamatan')
|
||||||
|
<div class="invalid-feedback">{{$message}}
|
||||||
|
</div>
|
||||||
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -6,22 +6,31 @@
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header d-flex justify-content-between">
|
<div class="card-header d-flex justify-content-between">
|
||||||
<div class="header-title">
|
<div class="header-title">
|
||||||
<h4 class="card-title">Add Sale</h4>
|
<h4 class="card-title">Tambah Klaster Baru</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<form action="page-list-returns.html" data-toggle="validator">
|
<form action="/klaster" data-toggle="validator" method="POST">
|
||||||
|
@csrf
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>Nama Klaster</label>
|
<label>Nama Klaster</label>
|
||||||
<input type="text" class="form-control" placeholder="Nama Klaster">
|
<input type="text" class="form-control @error('nama_klaster') is-invalid @enderror" placeholder="Nama Klaster" id="nama_klaster" name="nama_klaster">
|
||||||
|
@error('nama_klaster')
|
||||||
|
<div class="invalid-feedback">{{$message}}
|
||||||
|
</div>
|
||||||
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-3">
|
<div class="col-md-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="warna">Pilih Warna</label>
|
<label>Pilih Warna</label>
|
||||||
<input placeholder="Pilih Warna" type="color" id="warna" name="warna" class="form-control" value="#ff0000">
|
<input type="color" class="form-control @error('warna') is-invalid @enderror" placeholder="warna" id="warna" name="warna">
|
||||||
|
@error('warna')
|
||||||
|
<div class="invalid-feedback">{{$message}}
|
||||||
|
</div>
|
||||||
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -6,12 +6,18 @@
|
||||||
<title>POS Dash | Responsive Bootstrap 4 Admin Dashboard Template</title>
|
<title>POS Dash | Responsive Bootstrap 4 Admin Dashboard Template</title>
|
||||||
|
|
||||||
<!-- Favicon -->
|
<!-- Favicon -->
|
||||||
|
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css" integrity="sha256-p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY=" crossorigin="" />
|
||||||
|
<script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js" integrity="sha256-20nQCchB9co0qIjJZRGuk2/Z9VM+kNiyxNV1lvTlZBo=" crossorigin=""></script>
|
||||||
|
<script src="{{ asset('assets/map/leaflet.ajax.js') }}" ></script>
|
||||||
<link rel="shortcut icon" href="{{ asset('/assets/images/favicon.ico') }}" />
|
<link rel="shortcut icon" href="{{ asset('/assets/images/favicon.ico') }}" />
|
||||||
<link rel="stylesheet" href="{{ asset('/assets/css/backend-plugin.min.css') }}">
|
<link rel="stylesheet" href="{{ asset('/assets/css/backend-plugin.min.css') }}">
|
||||||
<link rel="stylesheet" href="{{ asset('/assets/css/backend.css?v=1.0.0') }}">
|
<link rel="stylesheet" href="{{ asset('/assets/css/backend.css?v=1.0.0') }}">
|
||||||
<link rel="stylesheet" href="{{ asset('/assets/vendor/@fortawesome/fontawesome-free/css/all.min.css') }}/">
|
<link rel="stylesheet" href="{{ asset('/assets/vendor/@fortawesome/fontawesome-free/css/all.min.css') }}/">
|
||||||
<link rel="stylesheet" href="{{ asset('/assets/vendor/line-awesome/dist/line-awesome/css/line-awesome.min.css') }}">
|
<link rel="stylesheet" href="{{ asset('/assets/vendor/line-awesome/dist/line-awesome/css/line-awesome.min.css') }}">
|
||||||
<link rel="stylesheet" href="{{ asset('/assets/vendor/remixicon/fonts/remixicon.css') }}"> </head>
|
<link rel="stylesheet" href="{{ asset('/assets/vendor/remixicon/fonts/remixicon.css') }}">
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
<body class=" ">
|
<body class=" ">
|
||||||
<!-- loader Start -->
|
<!-- loader Start -->
|
||||||
<div id="loading">
|
<div id="loading">
|
||||||
|
@ -25,7 +31,7 @@
|
||||||
<div class="iq-sidebar sidebar-default ">
|
<div class="iq-sidebar sidebar-default ">
|
||||||
<div class="iq-sidebar-logo d-flex align-items-center justify-content-between">
|
<div class="iq-sidebar-logo d-flex align-items-center justify-content-between">
|
||||||
<a href="/dashboard" class="header-logo">
|
<a href="/dashboard" class="header-logo">
|
||||||
<img src="../assets/images/logo.png" class="img-fluid rounded-normal light-logo" alt="logo"><h5 class="logo-title light-logo ml-3">POSDash</h5>
|
<img src="{{ asset('/assets/images/logo.png') }}" class="img-fluid rounded-normal light-logo" alt="logo"><h5 class="logo-title light-logo ml-3">POSDash</h5>
|
||||||
</a>
|
</a>
|
||||||
<div class="iq-menu-bt-sidebar ml-0">
|
<div class="iq-menu-bt-sidebar ml-0">
|
||||||
<i class="las la-bars wrapper-menu"></i>
|
<i class="las la-bars wrapper-menu"></i>
|
||||||
|
@ -59,45 +65,12 @@
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="">
|
<li class="">
|
||||||
<a href="/tambahKecamatan">
|
<a href="/kecamatan/create">
|
||||||
<i class="las la-minus"></i><span>Tambah Data Kecamatan</span>
|
<i class="las la-minus"></i><span>Tambah Data Kecamatan</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li class=" ">
|
|
||||||
<a href="#people" class="collapsed" data-toggle="collapse" aria-expanded="false">
|
|
||||||
<svg class="svg-icon" id="p-dash8" width="20" height="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
||||||
<path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M23 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path>
|
|
||||||
</svg>
|
|
||||||
<span class="ml-4">Curas & Curanmor</span>
|
|
||||||
<svg class="svg-icon iq-arrow-right arrow-active" width="20" height="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
||||||
<polyline points="10 15 15 20 20 15"></polyline><path d="M4 4h7a4 4 0 0 1 4 4v12"></path>
|
|
||||||
</svg>
|
|
||||||
</a>
|
|
||||||
<ul id="people" class="iq-submenu collapse" data-parent="#iq-sidebar-toggle">
|
|
||||||
<li class="">
|
|
||||||
<a href="/Curas">
|
|
||||||
<i class="las la-minus"></i><span>Kasus Curas</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li class="">
|
|
||||||
<a href="/tambahCuras">
|
|
||||||
<i class="las la-minus"></i><span>Tambah Kasus Curas</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li class="">
|
|
||||||
<a href="/Curanmor">
|
|
||||||
<i class="las la-minus"></i><span>Kasus Curanmor</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li class="">
|
|
||||||
<a href="/tambahCuranmor">
|
|
||||||
<i class="las la-minus"></i><span>Tambah Kasus Curanmor</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class=" ">
|
<li class=" ">
|
||||||
<a href="#sale" class="collapsed" data-toggle="collapse" aria-expanded="false">
|
<a href="#sale" class="collapsed" data-toggle="collapse" aria-expanded="false">
|
||||||
<svg class="svg-icon" id="p-dash4" width="20" height="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
<svg class="svg-icon" id="p-dash4" width="20" height="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
@ -110,17 +83,62 @@
|
||||||
</a>
|
</a>
|
||||||
<ul id="sale" class="iq-submenu collapse" data-parent="#iq-sidebar-toggle">
|
<ul id="sale" class="iq-submenu collapse" data-parent="#iq-sidebar-toggle">
|
||||||
<li class="">
|
<li class="">
|
||||||
<a href="/Klaster">
|
<a href="/klaster">
|
||||||
<i class="las la-minus"></i><span>Daftar Klaster</span>
|
<i class="las la-minus"></i><span>Daftar Klaster</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="">
|
<li class="">
|
||||||
<a href="/tambahKlaster">
|
<a href="/klaster/create">
|
||||||
<i class="las la-minus"></i><span>Tambah Klaster</span>
|
<i class="las la-minus"></i><span>Tambah Klaster</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
<li class=" ">
|
||||||
|
<a href="#people" class="collapsed" data-toggle="collapse" aria-expanded="false">
|
||||||
|
<svg class="svg-icon" id="p-dash8" width="20" height="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
<path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M23 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path>
|
||||||
|
</svg>
|
||||||
|
<span class="ml-4">Curas & Curanmor</span>
|
||||||
|
<svg class="svg-icon iq-arrow-right arrow-active" width="20" height="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
<polyline points="10 15 15 20 20 15"></polyline><path d="M4 4h7a4 4 0 0 1 4 4v12"></path>
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
<ul id="people" class="iq-submenu collapse" data-parent="#iq-sidebar-toggle">
|
||||||
|
<li class="">
|
||||||
|
<a href="/curas">
|
||||||
|
<i class="las la-minus"></i><span>Kasus Curas</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="">
|
||||||
|
<a href="/curas/create">
|
||||||
|
<i class="las la-minus"></i><span>Tambah Kasus Curas</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="">
|
||||||
|
<a href="/mapcuras">
|
||||||
|
<i class="las la-minus"></i><span>Pemetaan Kasus Curas</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="">
|
||||||
|
<a href="/curanmor">
|
||||||
|
<i class="las la-minus"></i><span>Kasus Curanmor</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="">
|
||||||
|
<a href="/curanmor/create">
|
||||||
|
<i class="las la-minus"></i><span>Tambah Kasus Curanmor</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="">
|
||||||
|
<a href="/mapcuras">
|
||||||
|
<i class="las la-minus"></i><span>Pemetaan Kasus Curanmor</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
|
@ -132,7 +150,7 @@
|
||||||
<div class="iq-navbar-logo d-flex align-items-center justify-content-between">
|
<div class="iq-navbar-logo d-flex align-items-center justify-content-between">
|
||||||
<i class="ri-menu-line wrapper-menu"></i>
|
<i class="ri-menu-line wrapper-menu"></i>
|
||||||
<a href="../backend/index.html" class="header-logo">
|
<a href="../backend/index.html" class="header-logo">
|
||||||
<img src="../assets/images/logo.png" class="img-fluid rounded-normal" alt="logo">
|
<img src="{{ asset('assets/images/logo.png') }}" class="img-fluid rounded-normal" alt="logo">
|
||||||
<h5 class="logo-title ml-3">POSDash</h5>
|
<h5 class="logo-title ml-3">POSDash</h5>
|
||||||
|
|
||||||
</a>
|
</a>
|
||||||
|
@ -155,26 +173,26 @@
|
||||||
<a href="#" class="search-toggle dropdown-toggle btn border add-btn"
|
<a href="#" class="search-toggle dropdown-toggle btn border add-btn"
|
||||||
id="dropdownMenuButton02" data-toggle="dropdown" aria-haspopup="true"
|
id="dropdownMenuButton02" data-toggle="dropdown" aria-haspopup="true"
|
||||||
aria-expanded="false">
|
aria-expanded="false">
|
||||||
<img src="../assets/images/small/flag-01.png" alt="img-flag"
|
<img src="{{ asset('assets/images/small/flag-01.png') }}" alt="img-flag"
|
||||||
class="img-fluid image-flag mr-2">En
|
class="img-fluid image-flag mr-2">En
|
||||||
</a>
|
</a>
|
||||||
<div class="iq-sub-dropdown dropdown-menu" aria-labelledby="dropdownMenuButton2">
|
<div class="iq-sub-dropdown dropdown-menu" aria-labelledby="dropdownMenuButton2">
|
||||||
<div class="card shadow-none m-0">
|
<div class="card shadow-none m-0">
|
||||||
<div class="card-body p-3">
|
<div class="card-body p-3">
|
||||||
<a class="iq-sub-card" href="#"><img
|
<a class="iq-sub-card" href="#"><img
|
||||||
src="../assets/images/small/flag-02.png" alt="img-flag"
|
src="{{ asset('assets/images/small/flag-02.png') }}" alt="img-flag"
|
||||||
class="img-fluid mr-2">French</a>
|
class="img-fluid mr-2">French</a>
|
||||||
<a class="iq-sub-card" href="#"><img
|
<a class="iq-sub-card" href="#"><img
|
||||||
src="../assets/images/small/flag-03.png" alt="img-flag"
|
src="{{ asset('assets/images/small/flag-03.png') }}" alt="img-flag"
|
||||||
class="img-fluid mr-2">Spanish</a>
|
class="img-fluid mr-2">Spanish</a>
|
||||||
<a class="iq-sub-card" href="#"><img
|
<a class="iq-sub-card" href="#"><img
|
||||||
src="../assets/images/small/flag-04.png" alt="img-flag"
|
src="{{ asset('assets/images/small/flag-04.png') }}" alt="img-flag"
|
||||||
class="img-fluid mr-2">Italian</a>
|
class="img-fluid mr-2">Italian</a>
|
||||||
<a class="iq-sub-card" href="#"><img
|
<a class="iq-sub-card" href="#"><img
|
||||||
src="../assets/images/small/flag-05.png" alt="img-flag"
|
src="{{ asset('assets/images/small/flag-05.png') }}" alt="img-flag"
|
||||||
class="img-fluid mr-2">German</a>
|
class="img-fluid mr-2">German</a>
|
||||||
<a class="iq-sub-card" href="#"><img
|
<a class="iq-sub-card" href="#"><img
|
||||||
src="../assets/images/small/flag-06.png" alt="img-flag"
|
src="{{ asset('assets/images/small/flag-06.png') }}" alt="img-flag"
|
||||||
class="img-fluid mr-2">Japanese</a>
|
class="img-fluid mr-2">Japanese</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -227,7 +245,7 @@ class="img-fluid mr-2">Japanese</a>
|
||||||
<div class="media align-items-center cust-card py-3 border-bottom">
|
<div class="media align-items-center cust-card py-3 border-bottom">
|
||||||
<div class="">
|
<div class="">
|
||||||
<img class="avatar-50 rounded-small"
|
<img class="avatar-50 rounded-small"
|
||||||
src="../assets/images/user/01.jpg" alt="01">
|
src="{{ asset('assets/images/user/01.jpg') }}" alt="01">
|
||||||
</div>
|
</div>
|
||||||
<div class="media-body ml-3">
|
<div class="media-body ml-3">
|
||||||
<div class="d-flex align-items-center justify-content-between">
|
<div class="d-flex align-items-center justify-content-between">
|
||||||
|
@ -242,7 +260,7 @@ class="img-fluid mr-2">Japanese</a>
|
||||||
<div class="media align-items-center cust-card py-3 border-bottom">
|
<div class="media align-items-center cust-card py-3 border-bottom">
|
||||||
<div class="">
|
<div class="">
|
||||||
<img class="avatar-50 rounded-small"
|
<img class="avatar-50 rounded-small"
|
||||||
src="../assets/images/user/02.jpg" alt="02">
|
src="{{ asset('assets/images/user/02.jpg') }}" alt="02">
|
||||||
</div>
|
</div>
|
||||||
<div class="media-body ml-3">
|
<div class="media-body ml-3">
|
||||||
<div class="d-flex align-items-center justify-content-between">
|
<div class="d-flex align-items-center justify-content-between">
|
||||||
|
@ -257,7 +275,7 @@ class="img-fluid mr-2">Japanese</a>
|
||||||
<div class="media align-items-center cust-card py-3">
|
<div class="media align-items-center cust-card py-3">
|
||||||
<div class="">
|
<div class="">
|
||||||
<img class="avatar-50 rounded-small"
|
<img class="avatar-50 rounded-small"
|
||||||
src="../assets/images/user/03.jpg" alt="03">
|
src="{{ asset('assets/images/user/03.jpg') }}" alt="03">
|
||||||
</div>
|
</div>
|
||||||
<div class="media-body ml-3">
|
<div class="media-body ml-3">
|
||||||
<div class="d-flex align-items-center justify-content-between">
|
<div class="d-flex align-items-center justify-content-between">
|
||||||
|
@ -302,7 +320,7 @@ class="img-fluid mr-2">Japanese</a>
|
||||||
<div class="media align-items-center cust-card py-3 border-bottom">
|
<div class="media align-items-center cust-card py-3 border-bottom">
|
||||||
<div class="">
|
<div class="">
|
||||||
<img class="avatar-50 rounded-small"
|
<img class="avatar-50 rounded-small"
|
||||||
src="../assets/images/user/01.jpg" alt="01">
|
src="{{ asset('assets/images/user/01.jpg') }}" alt="01">
|
||||||
</div>
|
</div>
|
||||||
<div class="media-body ml-3">
|
<div class="media-body ml-3">
|
||||||
<div class="d-flex align-items-center justify-content-between">
|
<div class="d-flex align-items-center justify-content-between">
|
||||||
|
@ -317,7 +335,7 @@ class="img-fluid mr-2">Japanese</a>
|
||||||
<div class="media align-items-center cust-card py-3 border-bottom">
|
<div class="media align-items-center cust-card py-3 border-bottom">
|
||||||
<div class="">
|
<div class="">
|
||||||
<img class="avatar-50 rounded-small"
|
<img class="avatar-50 rounded-small"
|
||||||
src="../assets/images/user/02.jpg" alt="02">
|
src="{{ asset('assets/images/user/02.jpg') }}" alt="02">
|
||||||
</div>
|
</div>
|
||||||
<div class="media-body ml-3">
|
<div class="media-body ml-3">
|
||||||
<div class="d-flex align-items-center justify-content-between">
|
<div class="d-flex align-items-center justify-content-between">
|
||||||
|
@ -332,7 +350,7 @@ class="img-fluid mr-2">Japanese</a>
|
||||||
<div class="media align-items-center cust-card py-3">
|
<div class="media align-items-center cust-card py-3">
|
||||||
<div class="">
|
<div class="">
|
||||||
<img class="avatar-50 rounded-small"
|
<img class="avatar-50 rounded-small"
|
||||||
src="../assets/images/user/03.jpg" alt="03">
|
src="{{ asset('assets/images/user/03.jpg') }}" alt="03">
|
||||||
</div>
|
</div>
|
||||||
<div class="media-body ml-3">
|
<div class="media-body ml-3">
|
||||||
<div class="d-flex align-items-center justify-content-between">
|
<div class="d-flex align-items-center justify-content-between">
|
||||||
|
@ -355,15 +373,15 @@ class="img-fluid mr-2">Japanese</a>
|
||||||
<li class="nav-item nav-icon dropdown caption-content">
|
<li class="nav-item nav-icon dropdown caption-content">
|
||||||
<a href="#" class="search-toggle dropdown-toggle" id="dropdownMenuButton4"
|
<a href="#" class="search-toggle dropdown-toggle" id="dropdownMenuButton4"
|
||||||
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||||
<img src="../assets/images/user/1.png" class="img-fluid rounded" alt="user">
|
<img src="{{ asset('assets/images/user/1.png') }}" class="img-fluid rounded" alt="user">
|
||||||
</a>
|
</a>
|
||||||
<div class="iq-sub-dropdown dropdown-menu" aria-labelledby="dropdownMenuButton">
|
<div class="iq-sub-dropdown dropdown-menu" aria-labelledby="dropdownMenuButton">
|
||||||
<div class="card shadow-none m-0">
|
<div class="card shadow-none m-0">
|
||||||
<div class="card-body p-0 text-center">
|
<div class="card-body p-0 text-center">
|
||||||
<div class="media-body profile-detail text-center">
|
<div class="media-body profile-detail text-center">
|
||||||
<img src="../assets/images/page-img/profile-bg.jpg" alt="profile-bg"
|
<img src="{{ asset('assets/images/page-img/profile-bg.jpg') }}" alt="profile-bg"
|
||||||
class="rounded-top img-fluid mb-4">
|
class="rounded-top img-fluid mb-4">
|
||||||
<img src="../assets/images/user/1.png" alt="profile-img"
|
<img src="{{ asset('assets/images/user/1.png') }}" alt="profile-img"
|
||||||
class="rounded profile-img img-fluid avatar-70">
|
class="rounded profile-img img-fluid avatar-70">
|
||||||
</div>
|
</div>
|
||||||
<div class="p-3">
|
<div class="p-3">
|
||||||
|
|
|
@ -18,7 +18,12 @@
|
||||||
return view('admin.dashboardBlank');
|
return view('admin.dashboardBlank');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Route::get('/mapcuras', function () {
|
||||||
|
return view('admin.dashboardMapCuras');
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
Route::resource('/kecamatan', KecamatanController::class) ->parameters(['data-kecamatan' => 'kecamatan']);
|
Route::resource('/kecamatan', KecamatanController::class) ->parameters(['data-kecamatan' => 'kecamatan']);
|
||||||
Route::resource('/Curas', CurasController::class) ->parameters(['data-curas' => 'curas']);
|
Route::resource('/curas', CurasController::class);
|
||||||
Route::resource('/Curanmor', CuranmorController::class) ->parameters(['data-curanmor' => 'curanmor']);
|
Route::resource('/curanmor', CuranmorController::class) ->parameters(['data-curanmor' => 'curanmor']);
|
||||||
Route::resource('/Klaster', KlasterController::class) ->parameters(['data-klaster' => 'klaster']);
|
Route::resource('/klaster', KlasterController::class) ->parameters(['data-klaster' => 'klaster']);
|
||||||
|
|
Loading…
Reference in New Issue