├── .DS_Store ├── .editorconfig ├── .env.example ├── .gitattributes ├── .gitignore ├── .styleci.yml ├── LICENSE ├── README.md ├── app ├── .DS_Store ├── Console │ └── Kernel.php ├── Exceptions │ └── Handler.php ├── Helpers │ ├── Helper.php │ └── Turf.php ├── Http │ ├── Controllers │ │ ├── ApiController.php │ │ ├── Auth │ │ │ ├── ConfirmPasswordController.php │ │ │ ├── ForgotPasswordController.php │ │ │ ├── LoginController.php │ │ │ ├── RegisterController.php │ │ │ ├── ResetPasswordController.php │ │ │ └── VerificationController.php │ │ ├── Controller.php │ │ ├── HomeController.php │ │ ├── InteraksiController.php │ │ ├── KecamatanController.php │ │ ├── KelurahanController.php │ │ ├── KlasterController.php │ │ ├── KotaController.php │ │ ├── LaporanController.php │ │ ├── PasienController.php │ │ ├── PasienStatusController.php │ │ ├── ProvinsiController.php │ │ └── UserController.php │ ├── Kernel.php │ └── Middleware │ │ ├── Authenticate.php │ │ ├── CheckForMaintenanceMode.php │ │ ├── EncryptCookies.php │ │ ├── RedirectIfAuthenticated.php │ │ ├── TrimStrings.php │ │ ├── TrustHosts.php │ │ ├── TrustProxies.php │ │ └── VerifyCsrfToken.php ├── Interaksi.php ├── Kecamatan.php ├── Kelurahan.php ├── Klaster.php ├── Kota.php ├── Pasien.php ├── PasienStatus.php ├── Providers │ ├── AppServiceProvider.php │ ├── AuthServiceProvider.php │ ├── BroadcastServiceProvider.php │ ├── EventServiceProvider.php │ └── RouteServiceProvider.php ├── Provinsi.php └── User.php ├── artisan ├── bootstrap ├── app.php └── cache │ └── .gitignore ├── composer.json ├── composer.lock ├── config ├── app.php ├── auth.php ├── broadcasting.php ├── cache.php ├── cors.php ├── database.php ├── filesystems.php ├── hashing.php ├── logging.php ├── mail.php ├── queue.php ├── services.php ├── session.php └── view.php ├── database ├── .DS_Store ├── .gitignore ├── factories │ └── UserFactory.php ├── migrations │ ├── 2014_10_12_000000_create_users_table.php │ ├── 2014_10_12_100000_create_password_resets_table.php │ ├── 2019_08_19_000000_create_failed_jobs_table.php │ ├── 2020_06_03_093116_create_klasters_table.php │ ├── 2020_06_03_093800_create_provinsis_table.php │ ├── 2020_06_03_093803_create_kotas_table.php │ ├── 2020_06_03_093809_create_kecamatans_table.php │ ├── 2020_06_03_093815_create_kelurahans_table.php │ ├── 2020_06_03_093819_create_pasiens_table.php │ ├── 2020_06_03_094217_create_interaksis_table.php │ └── 2020_06_07_083822_create_pasien_statuses_table.php └── seeds │ ├── DatabaseSeeder.php │ ├── InteraksisSeeder.php │ ├── KecamatansSeeder.php │ ├── KelurahansSeeder.php │ ├── KlastersSeeder.php │ ├── KotasSeeder.php │ ├── PasienStatusesSeeder.php │ ├── PasiensSeeder.php │ ├── ProvinsisSeeder.php │ ├── UpdateLokasiPasienSeeder.php │ └── UserSeeder.php ├── package-lock.json ├── package.json ├── phpunit.xml ├── public ├── .DS_Store ├── .htaccess ├── admin │ ├── .DS_Store │ ├── css │ │ └── styles.css │ └── js │ │ ├── admin.js │ │ └── scripts.js ├── css │ └── app.css ├── favicon.ico ├── geojson │ ├── .DS_Store │ ├── kabkota.json │ └── provinsi.json ├── index.php ├── js │ ├── app.js │ └── app.js.LICENSE.txt ├── mix-manifest.json ├── robots.txt └── vendor │ ├── .DS_Store │ └── select2 │ ├── .DS_Store │ ├── css │ ├── select2.css │ └── select2.min.css │ └── js │ ├── i18n │ ├── af.js │ ├── ar.js │ ├── az.js │ ├── bg.js │ ├── bn.js │ ├── bs.js │ ├── ca.js │ ├── cs.js │ ├── da.js │ ├── de.js │ ├── dsb.js │ ├── el.js │ ├── en.js │ ├── eo.js │ ├── es.js │ ├── et.js │ ├── eu.js │ ├── fa.js │ ├── fi.js │ ├── fr.js │ ├── gl.js │ ├── he.js │ ├── hi.js │ ├── hr.js │ ├── hsb.js │ ├── hu.js │ ├── hy.js │ ├── id.js │ ├── is.js │ ├── it.js │ ├── ja.js │ ├── ka.js │ ├── km.js │ ├── ko.js │ ├── lt.js │ ├── lv.js │ ├── mk.js │ ├── ms.js │ ├── nb.js │ ├── ne.js │ ├── nl.js │ ├── pa.js │ ├── pl.js │ ├── ps.js │ ├── pt-BR.js │ ├── pt.js │ ├── ro.js │ ├── ru.js │ ├── sk.js │ ├── sl.js │ ├── sq.js │ ├── sr-Cyrl.js │ ├── sr.js │ ├── sv.js │ ├── th.js │ ├── tk.js │ ├── tr.js │ ├── uk.js │ ├── vi.js │ ├── zh-CN.js │ └── zh-TW.js │ ├── select2.full.js │ ├── select2.full.min.js │ ├── select2.js │ └── select2.min.js ├── resources ├── .DS_Store ├── js │ ├── app.js │ └── bootstrap.js ├── lang │ └── en │ │ ├── auth.php │ │ ├── pagination.php │ │ ├── passwords.php │ │ └── validation.php ├── sass │ ├── _variables.scss │ └── app.scss └── views │ ├── .DS_Store │ ├── about.blade.php │ ├── admin │ ├── .DS_Store │ ├── home.blade.php │ ├── kecamatan │ │ ├── create.blade.php │ │ ├── edit.blade.php │ │ └── index.blade.php │ ├── kelurahan │ │ ├── create.blade.php │ │ ├── edit.blade.php │ │ └── index.blade.php │ ├── klaster │ │ ├── create.blade.php │ │ ├── edit.blade.php │ │ └── index.blade.php │ ├── kota │ │ ├── create.blade.php │ │ ├── edit.blade.php │ │ └── index.blade.php │ ├── laporan │ │ ├── klaster │ │ │ ├── excel.blade.php │ │ │ └── index.blade.php │ │ ├── pasien │ │ │ ├── excel.blade.php │ │ │ └── index.blade.php │ │ └── provinsi │ │ │ ├── excel.blade.php │ │ │ └── index.blade.php │ ├── layouts │ │ ├── .DS_Store │ │ ├── app.blade.php │ │ └── includes │ │ │ └── search_form.blade.php │ ├── pasien │ │ ├── .DS_Store │ │ ├── create.blade.php │ │ ├── edit.blade.php │ │ ├── index.blade.php │ │ └── show.blade.php │ ├── provinsi │ │ ├── create.blade.php │ │ ├── edit.blade.php │ │ └── index.blade.php │ └── user │ │ ├── create.blade.php │ │ ├── edit.blade.php │ │ └── index.blade.php │ ├── auth │ ├── layouts │ │ └── app.blade.php │ ├── login.blade.php │ ├── passwords │ │ ├── confirm.blade.php │ │ ├── email.blade.php │ │ └── reset.blade.php │ ├── register.blade.php │ └── verify.blade.php │ ├── layouts │ └── app.blade.php │ └── welcome.blade.php ├── routes ├── api.php ├── channels.php ├── console.php └── web.php ├── server.php ├── storage ├── app │ ├── .gitignore │ └── public │ │ └── .gitignore ├── framework │ ├── .gitignore │ ├── cache │ │ ├── .gitignore │ │ └── data │ │ │ └── .gitignore │ ├── sessions │ │ └── .gitignore │ ├── testing │ │ └── .gitignore │ └── views │ │ └── .gitignore └── logs │ └── .gitignore ├── tests ├── CreatesApplication.php ├── Feature │ └── ExampleTest.php ├── TestCase.php └── Unit │ └── ExampleTest.php └── webpack.mix.js /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bagusindrayana/tertular/9e2d5314f8dd586646cf482e9dbb31e1ad056e2d/.DS_Store -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | end_of_line = lf 6 | insert_final_newline = true 7 | indent_style = space 8 | indent_size = 4 9 | trim_trailing_whitespace = true 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false 13 | 14 | [*.{yml,yaml}] 15 | indent_size = 2 16 | -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- 1 | APP_NAME=Tertular 2 | APP_ENV=local 3 | APP_KEY= 4 | APP_DEBUG=true 5 | APP_URL=http://tertular.dev.com 6 | APP_AUTHOR=BagusIndrayana 7 | 8 | LOG_CHANNEL=stack 9 | 10 | DB_CONNECTION=mysql 11 | DB_HOST=127.0.0.1 12 | DB_PORT=3306 13 | DB_DATABASE= 14 | DB_USERNAME= 15 | DB_PASSWORD= 16 | TB_PREFIX=tb_ 17 | 18 | MAPBOX_TOKEN= 19 | GEOCODE_TOKEN= 20 | 21 | BROADCAST_DRIVER=log 22 | CACHE_DRIVER=file 23 | QUEUE_CONNECTION=sync 24 | SESSION_DRIVER=file 25 | SESSION_LIFETIME=120 26 | 27 | REDIS_HOST=127.0.0.1 28 | REDIS_PASSWORD=null 29 | REDIS_PORT=6379 30 | 31 | MAIL_MAILER=smtp 32 | MAIL_HOST=smtp.mailtrap.io 33 | MAIL_PORT=2525 34 | MAIL_USERNAME=null 35 | MAIL_PASSWORD=null 36 | MAIL_ENCRYPTION=null 37 | MAIL_FROM_ADDRESS=null 38 | MAIL_FROM_NAME="${APP_NAME}" 39 | 40 | AWS_ACCESS_KEY_ID= 41 | AWS_SECRET_ACCESS_KEY= 42 | AWS_DEFAULT_REGION=us-east-1 43 | AWS_BUCKET= 44 | 45 | PUSHER_APP_ID= 46 | PUSHER_APP_KEY= 47 | PUSHER_APP_SECRET= 48 | PUSHER_APP_CLUSTER=mt1 49 | 50 | MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" 51 | MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" 52 | 53 | 54 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | *.css linguist-vendored 3 | *.scss linguist-vendored 4 | *.js linguist-vendored 5 | CHANGELOG.md export-ignore 6 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /public/hot 3 | /public/storage 4 | /storage/*.key 5 | /vendor 6 | .env 7 | .env.backup 8 | .phpunit.result.cache 9 | Homestead.json 10 | Homestead.yaml 11 | npm-debug.log 12 | yarn-error.log 13 | *.zip 14 | -------------------------------------------------------------------------------- /.styleci.yml: -------------------------------------------------------------------------------- 1 | php: 2 | preset: laravel 3 | disabled: 4 | - unused_use 5 | finder: 6 | not-name: 7 | - index.php 8 | - server.php 9 | js: 10 | finder: 11 | not-name: 12 | - webpack.mix.js 13 | css: true 14 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Bagus Indrayana 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## **TERTULAR** 2 | 3 | Sistem informasi berbasis web untuk pendataan dan pemetaan lokasi pasien positif covid-19/virus corona 4 | 5 | ![halaman depan](https://i.ibb.co/ZWVGLdj/Fire-Shot-Capture-122-Tertular-tertular-dev-com.png) 6 | ![peta sebaran pasien di dashboard](https://i.ibb.co/ChgvRqJ/Fire-Shot-Capture-124-Tertular-tertular-dev-com.png) 7 | ![tambah pasien](https://i.ibb.co/2sR34SQ/Fire-Shot-Capture-119-Tertular-tertular-dev-com.png) 8 | 9 | **menjalankan aplikasi** 10 | 11 | 1. download/clone repo ini lalu dan masuk ke direktorinya/foldernya 12 | 2. jalankan perintah `composer install` 13 | 3. jalankan perintah `npm install` 14 | 4. copy file `.env.example` lalu rename jadi `.env` 15 | 5. isi semua parameter yang ada di `.env` seperti host,username,database,password,tb_prefix dll 16 | 6. buat akun [https://www.mapbox.com/](https://www.mapbox.com/) untuk mengisi `MAPBOX_TOKEN` 17 | 7. buat akun [https://opencagedata.com/](https://opencagedata.com/) untuk mengisi `GEOCODE_TOKEN` 18 | 8. jalankan perintah `php artisan key:generate` 19 | 9. jalankan perintah `php artisan migrate` 20 | 10. jalankan perintah `php artisan db:seed` **(OPTIONAL jika ingin menambahkan data user provinsi,kota,kecamatan,dan kelurahan indonesia serta data dummy pasien untuk wilayah kaltim,bisa di custom di bagain database seeder (total baris ada 80000+))** 21 | 11. dan jalankan `php artisan serve` lalu buka [http://127.0.0.1:8000/](http://127.0.0.1:8000/) di browser 22 | 23 | Default Admin 24 | 25 | username : iniadmin 26 | 27 | password : admin4321 28 | 29 | ***sistem ini belum final jadi setiap ada perubahan database harus menjalankan migration dari awal lagi dengan `php artisan migrate:fresh`*** 30 | 31 | referensi data peta (geojson) 32 | 33 | - https://github.com/ans-4175/peta-indonesia-geojson 34 | - https://github.com/rogobgobs/peta-administrasi 35 | - https://github.com/naristo/indonesia-geojson 36 | - https://github.com/superpikar/indonesia-geojson 37 | 38 | -------------------------------------------------------------------------------- /app/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bagusindrayana/tertular/9e2d5314f8dd586646cf482e9dbb31e1ad056e2d/app/.DS_Store -------------------------------------------------------------------------------- /app/Console/Kernel.php: -------------------------------------------------------------------------------- 1 | command('inspire')->hourly(); 28 | } 29 | 30 | /** 31 | * Register the commands for the application. 32 | * 33 | * @return void 34 | */ 35 | protected function commands() 36 | { 37 | $this->load(__DIR__.'/Commands'); 38 | 39 | require base_path('routes/console.php'); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /app/Exceptions/Handler.php: -------------------------------------------------------------------------------- 1 | middleware('auth'); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /app/Http/Controllers/Auth/ForgotPasswordController.php: -------------------------------------------------------------------------------- 1 | middleware('guest')->except('logout'); 39 | } 40 | 41 | public function username() 42 | { 43 | return 'username'; 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /app/Http/Controllers/Auth/RegisterController.php: -------------------------------------------------------------------------------- 1 | middleware('guest'); 42 | } 43 | 44 | /** 45 | * Get a validator for an incoming registration request. 46 | * 47 | * @param array $data 48 | * @return \Illuminate\Contracts\Validation\Validator 49 | */ 50 | protected function validator(array $data) 51 | { 52 | return Validator::make($data, [ 53 | 'name' => ['required', 'string', 'max:255'], 54 | 'email' => ['required', 'string', 'email', 'max:255', 'unique:users'], 55 | 'password' => ['required', 'string', 'min:8', 'confirmed'], 56 | ]); 57 | } 58 | 59 | /** 60 | * Create a new user instance after a valid registration. 61 | * 62 | * @param array $data 63 | * @return \App\User 64 | */ 65 | protected function create(array $data) 66 | { 67 | return User::create([ 68 | 'name' => $data['name'], 69 | 'email' => $data['email'], 70 | 'password' => Hash::make($data['password']), 71 | ]); 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /app/Http/Controllers/Auth/ResetPasswordController.php: -------------------------------------------------------------------------------- 1 | middleware('auth'); 39 | $this->middleware('signed')->only('verify'); 40 | $this->middleware('throttle:6,1')->only('verify', 'resend'); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /app/Http/Controllers/Controller.php: -------------------------------------------------------------------------------- 1 | middleware('auth'); 17 | } 18 | 19 | /** 20 | * Show the application dashboard. 21 | * 22 | * @return \Illuminate\Contracts\Support\Renderable 23 | */ 24 | public function index() 25 | { 26 | 27 | return view('admin.home'); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /app/Http/Controllers/InteraksiController.php: -------------------------------------------------------------------------------- 1 | provinsi_id)){ 49 | $datas = $datas->where('provinsi_id',request()->provinsi_id); 50 | } 51 | if(isset(request()->kota_id)){ 52 | $datas = $datas->where('kota_id',request()->kota_id); 53 | } 54 | $datas = $datas->get(); 55 | return view('admin.laporan.pasien.excel',compact('datas')); 56 | break; 57 | default: 58 | return "menu laporan tidak di temukan"; 59 | break; 60 | } 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /app/Http/Controllers/PasienStatusController.php: -------------------------------------------------------------------------------- 1 | [ 33 | \App\Http\Middleware\EncryptCookies::class, 34 | \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, 35 | \Illuminate\Session\Middleware\StartSession::class, 36 | // \Illuminate\Session\Middleware\AuthenticateSession::class, 37 | \Illuminate\View\Middleware\ShareErrorsFromSession::class, 38 | \App\Http\Middleware\VerifyCsrfToken::class, 39 | \Illuminate\Routing\Middleware\SubstituteBindings::class, 40 | ], 41 | 42 | 'api' => [ 43 | 'throttle:60,1', 44 | \Illuminate\Routing\Middleware\SubstituteBindings::class, 45 | ], 46 | ]; 47 | 48 | /** 49 | * The application's route middleware. 50 | * 51 | * These middleware may be assigned to groups or used individually. 52 | * 53 | * @var array 54 | */ 55 | protected $routeMiddleware = [ 56 | 'auth' => \App\Http\Middleware\Authenticate::class, 57 | 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 58 | 'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class, 59 | 'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class, 60 | 'can' => \Illuminate\Auth\Middleware\Authorize::class, 61 | 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, 62 | 'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class, 63 | 'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class, 64 | 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 65 | 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class, 66 | ]; 67 | } 68 | -------------------------------------------------------------------------------- /app/Http/Middleware/Authenticate.php: -------------------------------------------------------------------------------- 1 | expectsJson()) { 18 | return route('admin.login'); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /app/Http/Middleware/CheckForMaintenanceMode.php: -------------------------------------------------------------------------------- 1 | check()) { 22 | return redirect(RouteServiceProvider::HOME); 23 | } 24 | 25 | return $next($request); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /app/Http/Middleware/TrimStrings.php: -------------------------------------------------------------------------------- 1 | allSubdomainsOfApplicationUrl(), 18 | ]; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /app/Http/Middleware/TrustProxies.php: -------------------------------------------------------------------------------- 1 | belongsTo(Kelurahan::class,'kelurahan_id'); 16 | } 17 | 18 | public function kecamatan() 19 | { 20 | return $this->belongsTo(Kecamatan::class,'kecamatan_id'); 21 | } 22 | 23 | public function kota() 24 | { 25 | return $this->belongsTo(Kota::class,'kota_id'); 26 | } 27 | 28 | public function porvinsi() 29 | { 30 | return $this->belongsTo(Provinsi::class,'provinsi_id'); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /app/Kecamatan.php: -------------------------------------------------------------------------------- 1 | belongsTo(Kota::class,'kota_id'); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /app/Kelurahan.php: -------------------------------------------------------------------------------- 1 | belongsTo(Kecamatan::class,'kecamatan_id'); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /app/Klaster.php: -------------------------------------------------------------------------------- 1 | hasMany(Pasien::class,'klaster_id'); 16 | } 17 | 18 | public function getTotalPasienAttribute() 19 | { 20 | return $this->pasiens()->count(); 21 | } 22 | 23 | public function getTotalKasusPositifAttribute() 24 | { 25 | return $this->pasiens()->whereHas('statuses',function($w){ 26 | $w->where('status','Positif'); 27 | })->count(); 28 | } 29 | 30 | public function getTotalKasusMeninggalAttribute() 31 | { 32 | return $this->pasiens()->whereHas('statuses',function($w){ 33 | $w->where('status','Meninggal'); 34 | })->count(); 35 | } 36 | 37 | public function getTotalKasusSembuhAttribute() 38 | { 39 | return $this->pasiens()->whereHas('statuses',function($w){ 40 | $w->where('status','Sembuh;'); 41 | })->count(); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /app/Kota.php: -------------------------------------------------------------------------------- 1 | belongsTo(Provinsi::class,'provinsi_id'); 16 | } 17 | 18 | public function pasiens() 19 | { 20 | return $this->hasMany(Pasien::class,'kota_id'); 21 | } 22 | 23 | public function lokasi_pasiens() 24 | { 25 | return $this->hasMany(Pasien::class,'lokasi_kota_id'); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /app/PasienStatus.php: -------------------------------------------------------------------------------- 1 | 'App\Policies\ModelPolicy', 17 | ]; 18 | 19 | /** 20 | * Register any authentication / authorization services. 21 | * 22 | * @return void 23 | */ 24 | public function boot() 25 | { 26 | $this->registerPolicies(); 27 | 28 | // 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /app/Providers/BroadcastServiceProvider.php: -------------------------------------------------------------------------------- 1 | [ 19 | SendEmailVerificationNotification::class, 20 | ], 21 | ]; 22 | 23 | /** 24 | * Register any events for your application. 25 | * 26 | * @return void 27 | */ 28 | public function boot() 29 | { 30 | parent::boot(); 31 | 32 | // 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /app/Providers/RouteServiceProvider.php: -------------------------------------------------------------------------------- 1 | mapApiRoutes(); 49 | 50 | $this->mapWebRoutes(); 51 | 52 | // 53 | } 54 | 55 | /** 56 | * Define the "web" routes for the application. 57 | * 58 | * These routes all receive session state, CSRF protection, etc. 59 | * 60 | * @return void 61 | */ 62 | protected function mapWebRoutes() 63 | { 64 | Route::middleware('web') 65 | ->namespace($this->namespace) 66 | ->group(base_path('routes/web.php')); 67 | } 68 | 69 | /** 70 | * Define the "api" routes for the application. 71 | * 72 | * These routes are typically stateless. 73 | * 74 | * @return void 75 | */ 76 | protected function mapApiRoutes() 77 | { 78 | Route::prefix('api') 79 | ->middleware('api') 80 | ->namespace($this->namespace) 81 | ->group(base_path('routes/api.php')); 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /app/Provinsi.php: -------------------------------------------------------------------------------- 1 | hasMany(Pasien::class,'provinsi_id'); 16 | } 17 | 18 | public function lokasi_pasiens() 19 | { 20 | return $this->hasMany(Pasien::class,'lokasi_provinsi_id'); 21 | } 22 | 23 | public function getTotalPasienAttribute() 24 | { 25 | return $this->pasiens()->count(); 26 | } 27 | 28 | public function getTotalKasusPositifAttribute() 29 | { 30 | return $this->pasiens()->whereHas('statuses',function($w){ 31 | $w->where('status','Positif'); 32 | })->count(); 33 | } 34 | 35 | public function getTotalKasusMeninggalAttribute() 36 | { 37 | return $this->pasiens()->whereHas('statuses',function($w){ 38 | $w->where('status','Meninggal'); 39 | })->count(); 40 | } 41 | 42 | public function getTotalKasusSembuhAttribute() 43 | { 44 | return $this->pasiens()->whereHas('statuses',function($w){ 45 | $w->where('status','Sembuh;'); 46 | })->count(); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /app/User.php: -------------------------------------------------------------------------------- 1 | make(Illuminate\Contracts\Console\Kernel::class); 34 | 35 | $status = $kernel->handle( 36 | $input = new Symfony\Component\Console\Input\ArgvInput, 37 | new Symfony\Component\Console\Output\ConsoleOutput 38 | ); 39 | 40 | /* 41 | |-------------------------------------------------------------------------- 42 | | Shutdown The Application 43 | |-------------------------------------------------------------------------- 44 | | 45 | | Once Artisan has finished running, we will fire off the shutdown events 46 | | so that any final work may be done by the application before we shut 47 | | down the process. This is the last thing to happen to the request. 48 | | 49 | */ 50 | 51 | $kernel->terminate($input, $status); 52 | 53 | exit($status); 54 | -------------------------------------------------------------------------------- /bootstrap/app.php: -------------------------------------------------------------------------------- 1 | singleton( 30 | Illuminate\Contracts\Http\Kernel::class, 31 | App\Http\Kernel::class 32 | ); 33 | 34 | $app->singleton( 35 | Illuminate\Contracts\Console\Kernel::class, 36 | App\Console\Kernel::class 37 | ); 38 | 39 | $app->singleton( 40 | Illuminate\Contracts\Debug\ExceptionHandler::class, 41 | App\Exceptions\Handler::class 42 | ); 43 | 44 | /* 45 | |-------------------------------------------------------------------------- 46 | | Return The Application 47 | |-------------------------------------------------------------------------- 48 | | 49 | | This script returns the application instance. The instance is given to 50 | | the calling script so we can separate the building of the instances 51 | | from the actual running of the application and sending responses. 52 | | 53 | */ 54 | 55 | return $app; 56 | -------------------------------------------------------------------------------- /bootstrap/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "repositories": [ 3 | { 4 | "type": "composer", 5 | "url": "https://packagist.org" 6 | }, 7 | { "packagist": false } 8 | ], 9 | "name": "laravel/laravel", 10 | "type": "project", 11 | "description": "The Laravel Framework.", 12 | "keywords": [ 13 | "framework", 14 | "laravel" 15 | ], 16 | "license": "MIT", 17 | "require": { 18 | "php": "^7.2.5", 19 | "fideloper/proxy": "^4.2", 20 | "fruitcake/laravel-cors": "^1.0", 21 | "guzzlehttp/guzzle": "^6.3", 22 | "laravel/framework": "^7.0", 23 | "laravel/tinker": "^2.0", 24 | "laravel/ui": "^2.0" 25 | }, 26 | "require-dev": { 27 | "facade/ignition": "^2.0", 28 | "fzaninotto/faker": "^1.9.1", 29 | "mockery/mockery": "^1.3.1", 30 | "nunomaduro/collision": "^4.1", 31 | "phpunit/phpunit": "^8.5" 32 | }, 33 | "config": { 34 | "optimize-autoloader": true, 35 | "preferred-install": "dist", 36 | "sort-packages": true 37 | }, 38 | "extra": { 39 | "laravel": { 40 | "dont-discover": [] 41 | } 42 | }, 43 | "autoload": { 44 | "psr-4": { 45 | "App\\": "app/" 46 | }, 47 | "classmap": [ 48 | "database/seeds", 49 | "database/factories" 50 | ] 51 | }, 52 | "autoload-dev": { 53 | "psr-4": { 54 | "Tests\\": "tests/" 55 | } 56 | }, 57 | "minimum-stability": "dev", 58 | "prefer-stable": true, 59 | "scripts": { 60 | "post-autoload-dump": [ 61 | "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", 62 | "@php artisan package:discover --ansi" 63 | ], 64 | "post-root-package-install": [ 65 | "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" 66 | ], 67 | "post-create-project-cmd": [ 68 | "@php artisan key:generate --ansi" 69 | ] 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /config/broadcasting.php: -------------------------------------------------------------------------------- 1 | env('BROADCAST_DRIVER', 'null'), 19 | 20 | /* 21 | |-------------------------------------------------------------------------- 22 | | Broadcast Connections 23 | |-------------------------------------------------------------------------- 24 | | 25 | | Here you may define all of the broadcast connections that will be used 26 | | to broadcast events to other systems or over websockets. Samples of 27 | | each available type of connection are provided inside this array. 28 | | 29 | */ 30 | 31 | 'connections' => [ 32 | 33 | 'pusher' => [ 34 | 'driver' => 'pusher', 35 | 'key' => env('PUSHER_APP_KEY'), 36 | 'secret' => env('PUSHER_APP_SECRET'), 37 | 'app_id' => env('PUSHER_APP_ID'), 38 | 'options' => [ 39 | 'cluster' => env('PUSHER_APP_CLUSTER'), 40 | 'useTLS' => true, 41 | ], 42 | ], 43 | 44 | 'redis' => [ 45 | 'driver' => 'redis', 46 | 'connection' => 'default', 47 | ], 48 | 49 | 'log' => [ 50 | 'driver' => 'log', 51 | ], 52 | 53 | 'null' => [ 54 | 'driver' => 'null', 55 | ], 56 | 57 | ], 58 | 59 | ]; 60 | -------------------------------------------------------------------------------- /config/cors.php: -------------------------------------------------------------------------------- 1 | ['api/*'], 19 | 20 | 'allowed_methods' => ['*'], 21 | 22 | 'allowed_origins' => ['*'], 23 | 24 | 'allowed_origins_patterns' => [], 25 | 26 | 'allowed_headers' => ['*'], 27 | 28 | 'exposed_headers' => [], 29 | 30 | 'max_age' => 0, 31 | 32 | 'supports_credentials' => false, 33 | 34 | ]; 35 | -------------------------------------------------------------------------------- /config/hashing.php: -------------------------------------------------------------------------------- 1 | 'bcrypt', 19 | 20 | /* 21 | |-------------------------------------------------------------------------- 22 | | Bcrypt Options 23 | |-------------------------------------------------------------------------- 24 | | 25 | | Here you may specify the configuration options that should be used when 26 | | passwords are hashed using the Bcrypt algorithm. This will allow you 27 | | to control the amount of time it takes to hash the given password. 28 | | 29 | */ 30 | 31 | 'bcrypt' => [ 32 | 'rounds' => env('BCRYPT_ROUNDS', 10), 33 | ], 34 | 35 | /* 36 | |-------------------------------------------------------------------------- 37 | | Argon Options 38 | |-------------------------------------------------------------------------- 39 | | 40 | | Here you may specify the configuration options that should be used when 41 | | passwords are hashed using the Argon algorithm. These will allow you 42 | | to control the amount of time it takes to hash the given password. 43 | | 44 | */ 45 | 46 | 'argon' => [ 47 | 'memory' => 1024, 48 | 'threads' => 2, 49 | 'time' => 2, 50 | ], 51 | 52 | ]; 53 | -------------------------------------------------------------------------------- /config/services.php: -------------------------------------------------------------------------------- 1 | [ 18 | 'domain' => env('MAILGUN_DOMAIN'), 19 | 'secret' => env('MAILGUN_SECRET'), 20 | 'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'), 21 | ], 22 | 23 | 'postmark' => [ 24 | 'token' => env('POSTMARK_TOKEN'), 25 | ], 26 | 27 | 'ses' => [ 28 | 'key' => env('AWS_ACCESS_KEY_ID'), 29 | 'secret' => env('AWS_SECRET_ACCESS_KEY'), 30 | 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), 31 | ], 32 | 33 | ]; 34 | -------------------------------------------------------------------------------- /config/view.php: -------------------------------------------------------------------------------- 1 | [ 17 | resource_path('views'), 18 | ], 19 | 20 | /* 21 | |-------------------------------------------------------------------------- 22 | | Compiled View Path 23 | |-------------------------------------------------------------------------- 24 | | 25 | | This option determines where all the compiled Blade templates will be 26 | | stored for your application. Typically, this is within the storage 27 | | directory. However, as usual, you are free to change this value. 28 | | 29 | */ 30 | 31 | 'compiled' => env( 32 | 'VIEW_COMPILED_PATH', 33 | realpath(storage_path('framework/views')) 34 | ), 35 | 36 | ]; 37 | -------------------------------------------------------------------------------- /database/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bagusindrayana/tertular/9e2d5314f8dd586646cf482e9dbb31e1ad056e2d/database/.DS_Store -------------------------------------------------------------------------------- /database/.gitignore: -------------------------------------------------------------------------------- 1 | *.sqlite 2 | *.sqlite-journal 3 | -------------------------------------------------------------------------------- /database/factories/UserFactory.php: -------------------------------------------------------------------------------- 1 | define(User::class, function (Faker $faker) { 21 | return [ 22 | 'name' => $faker->name, 23 | 'email' => $faker->unique()->safeEmail, 24 | 'email_verified_at' => now(), 25 | 'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password 26 | 'remember_token' => Str::random(10), 27 | ]; 28 | }); 29 | -------------------------------------------------------------------------------- /database/migrations/2014_10_12_000000_create_users_table.php: -------------------------------------------------------------------------------- 1 | id(); 18 | $table->string('nama'); 19 | $table->string('username')->unique(); 20 | $table->string('password'); 21 | $table->string('level',50); 22 | $table->timestamps(); 23 | $table->softDeletes(); 24 | }); 25 | } 26 | 27 | /** 28 | * Reverse the migrations. 29 | * 30 | * @return void 31 | */ 32 | public function down() 33 | { 34 | Schema::dropIfExists('users'); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /database/migrations/2014_10_12_100000_create_password_resets_table.php: -------------------------------------------------------------------------------- 1 | string('email')->index(); 18 | $table->string('token'); 19 | $table->timestamp('created_at')->nullable(); 20 | }); 21 | } 22 | 23 | /** 24 | * Reverse the migrations. 25 | * 26 | * @return void 27 | */ 28 | public function down() 29 | { 30 | Schema::dropIfExists('password_resets'); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /database/migrations/2019_08_19_000000_create_failed_jobs_table.php: -------------------------------------------------------------------------------- 1 | id(); 18 | $table->text('connection'); 19 | $table->text('queue'); 20 | $table->longText('payload'); 21 | $table->longText('exception'); 22 | $table->timestamp('failed_at')->useCurrent(); 23 | }); 24 | } 25 | 26 | /** 27 | * Reverse the migrations. 28 | * 29 | * @return void 30 | */ 31 | public function down() 32 | { 33 | Schema::dropIfExists('failed_jobs'); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /database/migrations/2020_06_03_093116_create_klasters_table.php: -------------------------------------------------------------------------------- 1 | id(); 18 | $table->string('nama_klaster',100); 19 | $table->timestamps(); 20 | $table->softDeletes(); 21 | }); 22 | } 23 | 24 | /** 25 | * Reverse the migrations. 26 | * 27 | * @return void 28 | */ 29 | public function down() 30 | { 31 | Schema::dropIfExists('klasters'); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /database/migrations/2020_06_03_093800_create_provinsis_table.php: -------------------------------------------------------------------------------- 1 | id(); 18 | $table->string('nama_provinsi', 100); 19 | $table->timestamps(); 20 | $table->softDeletes(); 21 | }); 22 | } 23 | 24 | /** 25 | * Reverse the migrations. 26 | * 27 | * @return void 28 | */ 29 | public function down() 30 | { 31 | Schema::dropIfExists('provinsis'); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /database/migrations/2020_06_03_093803_create_kotas_table.php: -------------------------------------------------------------------------------- 1 | id(); 18 | $table->string('nama_kota', 100); 19 | $table->unsignedBigInteger('provinsi_id'); 20 | $table->timestamps(); 21 | $table->softDeletes(); 22 | $table->index('provinsi_id'); 23 | $table->foreign('provinsi_id')->references('id')->on('provinsis')->onDelete('RESTRICT 24 | ')->onUpdate('RESTRICT'); 25 | }); 26 | } 27 | 28 | /** 29 | * Reverse the migrations. 30 | * 31 | * @return void 32 | */ 33 | public function down() 34 | { 35 | Schema::dropIfExists('kotas'); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /database/migrations/2020_06_03_093809_create_kecamatans_table.php: -------------------------------------------------------------------------------- 1 | id(); 18 | $table->string('nama_kecamatan', 100); 19 | $table->unsignedBigInteger('kota_id'); 20 | $table->timestamps(); 21 | $table->softDeletes(); 22 | $table->index('kota_id'); 23 | $table->foreign('kota_id')->references('id')->on('kotas')->onDelete('RESTRICT 24 | ')->onUpdate('RESTRICT'); 25 | }); 26 | } 27 | 28 | /** 29 | * Reverse the migrations. 30 | * 31 | * @return void 32 | */ 33 | public function down() 34 | { 35 | Schema::dropIfExists('kecamatans'); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /database/migrations/2020_06_03_093815_create_kelurahans_table.php: -------------------------------------------------------------------------------- 1 | id(); 18 | $table->unsignedBigInteger('kecamatan_id'); 19 | $table->string('nama_kelurahan', 100); 20 | $table->timestamps(); 21 | $table->softDeletes(); 22 | $table->index('kecamatan_id'); 23 | $table->foreign('kecamatan_id')->references('id')->on('kecamatans')->onDelete('RESTRICT 24 | ')->onUpdate('RESTRICT'); 25 | }); 26 | } 27 | 28 | /** 29 | * Reverse the migrations. 30 | * 31 | * @return void 32 | */ 33 | public function down() 34 | { 35 | Schema::dropIfExists('kelurahans'); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /database/migrations/2020_06_03_093819_create_pasiens_table.php: -------------------------------------------------------------------------------- 1 | id(); 18 | $table->unsignedBigInteger('klaster_id'); 19 | $table->string('no',10); 20 | $table->string('nama_lengkap',191); 21 | $table->date('tanggal_lahir'); 22 | $table->text('alamat')->nullable(); 23 | $table->text('keterangan')->nullable(); 24 | $table->string('jenis_kelamin',20); 25 | $table->unsignedBigInteger('kelurahan_id')->nullable(); 26 | $table->unsignedBigInteger('kecamatan_id')->nullable(); 27 | $table->unsignedBigInteger('kota_id'); 28 | $table->unsignedBigInteger('provinsi_id'); 29 | $table->text('lokasi')->nullable(); 30 | $table->string('koordinat_lokasi',100)->nullable(); 31 | $table->unsignedBigInteger('lokasi_kelurahan_id')->nullable(); 32 | $table->unsignedBigInteger('lokasi_kecamatan_id')->nullable(); 33 | $table->unsignedBigInteger('lokasi_kota_id'); 34 | $table->unsignedBigInteger('lokasi_provinsi_id'); 35 | $table->date('lokasi_tanggal')->nullable(); 36 | // $table->string('status',50); 37 | $table->timestamps(); 38 | $table->softDeletes(); 39 | $table->index('provinsi_id'); 40 | $table->index('klaster_id'); 41 | $table->foreign('provinsi_id')->references('id')->on('provinsis')->onDelete('RESTRICT')->onUpdate('RESTRICT'); 42 | $table->foreign('kota_id')->references('id')->on('kotas')->onDelete('RESTRICT')->onUpdate('RESTRICT'); 43 | $table->foreign('lokasi_provinsi_id')->references('id')->on('provinsis')->onDelete('RESTRICT')->onUpdate('RESTRICT'); 44 | $table->foreign('lokasi_kota_id')->references('id')->on('kotas')->onDelete('RESTRICT')->onUpdate('RESTRICT'); 45 | $table->foreign('klaster_id')->references('id')->on('klasters')->onDelete('RESTRICT')->onUpdate('RESTRICT'); 46 | 47 | }); 48 | } 49 | 50 | /** 51 | * Reverse the migrations. 52 | * 53 | * @return void 54 | */ 55 | public function down() 56 | { 57 | Schema::dropIfExists('pasiens'); 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /database/migrations/2020_06_03_094217_create_interaksis_table.php: -------------------------------------------------------------------------------- 1 | id(); 18 | $table->unsignedBigInteger('pasien_id'); 19 | $table->text('keterangan'); 20 | $table->date('tanggal_interaksi'); 21 | $table->text('lokasi')->nullable(); 22 | $table->string('koordinat_lokasi',100)->nullable(); 23 | $table->unsignedBigInteger('kelurahan_id')->nullable(); 24 | $table->unsignedBigInteger('kecamatan_id')->nullable(); 25 | $table->unsignedBigInteger('kota_id')->nullable(); 26 | $table->unsignedBigInteger('provinsi_id'); 27 | $table->timestamps(); 28 | $table->softDeletes(); 29 | 30 | $table->index('pasien_id'); 31 | $table->index('provinsi_id'); 32 | $table->index('kota_id'); 33 | $table->foreign('pasien_id')->references('id')->on('pasiens')->onDelete('RESTRICT')->onUpdate('RESTRICT'); 34 | $table->foreign('provinsi_id')->references('id')->on('provinsis')->onDelete('RESTRICT')->onUpdate('RESTRICT'); 35 | $table->foreign('kota_id')->references('id')->on('kotas')->onDelete('RESTRICT')->onUpdate('RESTRICT'); 36 | 37 | 38 | }); 39 | } 40 | 41 | /** 42 | * Reverse the migrations. 43 | * 44 | * @return void 45 | */ 46 | public function down() 47 | { 48 | Schema::dropIfExists('interaksis'); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /database/migrations/2020_06_07_083822_create_pasien_statuses_table.php: -------------------------------------------------------------------------------- 1 | id(); 18 | $table->unsignedBigInteger('pasien_id'); 19 | $table->text('keterangan_status'); 20 | $table->date('tanggal_status'); 21 | $table->string('status',50); 22 | $table->index('pasien_id'); 23 | $table->foreign('pasien_id')->references('id')->on('pasiens')->onDelete('RESTRICT')->onUpdate('RESTRICT'); 24 | $table->timestamps(); 25 | $table->softDeletes(); 26 | }); 27 | } 28 | 29 | /** 30 | * Reverse the migrations. 31 | * 32 | * @return void 33 | */ 34 | public function down() 35 | { 36 | Schema::dropIfExists('pasiesn_satuses'); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /database/seeds/DatabaseSeeder.php: -------------------------------------------------------------------------------- 1 | call([ 15 | UserSeeder::class, 16 | ProvinsisSeeder::class, 17 | KotasSeeder::class, 18 | KecamatansSeeder::class, 19 | KelurahansSeeder::class, 20 | KlastersSeeder::class, 21 | PasiensSeeder::class, 22 | PasienStatusesSeeder::class, 23 | InteraksisSeeder::class 24 | ]); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /database/seeds/KlastersSeeder.php: -------------------------------------------------------------------------------- 1 | 1, 17 | 'nama_klaster'=>'Klaster Pertama' 18 | ]); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /database/seeds/ProvinsisSeeder.php: -------------------------------------------------------------------------------- 1 | randomInPolygon($json); 19 | for ($i=1; $i <= 500; $i++) { 20 | $res = null; 21 | $pasien = Pasien::find($i); 22 | if($pasien){ 23 | while ($res == null) { 24 | $res = $this->randomInPolygon($json,$pasien); 25 | } 26 | $pasien->update([ 27 | 'koordinat_lokasi'=>$res['geometry']['coordinates'][1].",".$res['geometry']['coordinates'][0], 28 | ]); 29 | } 30 | } 31 | 32 | } 33 | 34 | 35 | public function randomInPolygon($json = null,$pasien = null) 36 | { 37 | 38 | if($pasien){ 39 | $item = $this->findFeature($json,$pasien); 40 | $bbox = Turf::bbox($item); 41 | $points = Turf::randomPoint(1, [ 42 | 'bbox'=> $bbox 43 | ]); 44 | $cek = Turf::booleanPointInPolygon($points['features'][0],$item); 45 | if($cek){ 46 | $points['features'][0]['properties'] = $item['properties']; 47 | return $points['features'][0]; 48 | } 49 | 50 | $this->randomInPolygon($json,$pasien); 51 | } 52 | 53 | } 54 | 55 | public function findFeature($json,$pasien) 56 | { 57 | foreach ($json['features'] as $key => $item) { 58 | if($item['id'] == $pasien->kota_id && $item['properties']['id_provinsi'] == $pasien->provinsi_id){ 59 | return $item; 60 | } 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /database/seeds/UserSeeder.php: -------------------------------------------------------------------------------- 1 | insert([ 17 | 'nama'=>'Admin', 18 | 'username'=>'iniadmin', 19 | 'password'=>Hash::make('admin4321'), 20 | 'level'=>'Admin' 21 | ]); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "scripts": { 4 | "dev": "npm run development", 5 | "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", 6 | "watch": "npm run development -- --watch", 7 | "watch-poll": "npm run watch -- --watch-poll", 8 | "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --disable-host-check --config=node_modules/laravel-mix/setup/webpack.config.js", 9 | "prod": "npm run production", 10 | "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js" 11 | }, 12 | "devDependencies": { 13 | "axios": "^0.21", 14 | "bootstrap": "^4.0.0", 15 | "cross-env": "^7.0", 16 | "jquery": "^3.2", 17 | "laravel-mix": "^5.0.1", 18 | "lodash": "^4.17.21", 19 | "popper.js": "^1.12", 20 | "resolve-url-loader": "^5.0.0", 21 | "sass": "^1.15.2", 22 | "sass-loader": "^8.0.0", 23 | "vue-template-compiler": "^2.6.11" 24 | }, 25 | "browser": { 26 | "fs": false 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /phpunit.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | ./tests/Unit 10 | 11 | 12 | ./tests/Feature 13 | 14 | 15 | 16 | 17 | ./app 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /public/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bagusindrayana/tertular/9e2d5314f8dd586646cf482e9dbb31e1ad056e2d/public/.DS_Store -------------------------------------------------------------------------------- /public/.htaccess: -------------------------------------------------------------------------------- 1 | 2 | 3 | Options -MultiViews -Indexes 4 | 5 | 6 | RewriteEngine On 7 | 8 | # Handle Authorization Header 9 | RewriteCond %{HTTP:Authorization} . 10 | RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 11 | 12 | # Redirect Trailing Slashes If Not A Folder... 13 | RewriteCond %{REQUEST_FILENAME} !-d 14 | RewriteCond %{REQUEST_URI} (.+)/$ 15 | RewriteRule ^ %1 [L,R=301] 16 | 17 | # Send Requests To Front Controller... 18 | RewriteCond %{REQUEST_FILENAME} !-d 19 | RewriteCond %{REQUEST_FILENAME} !-f 20 | RewriteRule ^ index.php [L] 21 | 22 | -------------------------------------------------------------------------------- /public/admin/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bagusindrayana/tertular/9e2d5314f8dd586646cf482e9dbb31e1ad056e2d/public/admin/.DS_Store -------------------------------------------------------------------------------- /public/admin/js/scripts.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function(){ 2 | const capitalize = (s) => { 3 | if (typeof s !== 'string') return '' 4 | return s.charAt(0).toUpperCase() + s.slice(1) 5 | } 6 | 7 | // Add active state to sidbar nav links 8 | var path = window.location.href; // because the 'href' property of the DOM element is the absolute path 9 | $("#layoutSidenav_nav .sb-sidenav a.nav-link").each(function() { 10 | if (this.href === path) { 11 | $(this).addClass("active"); 12 | } 13 | }); 14 | 15 | // Toggle the side navigation 16 | $("#sidebarToggle").on("click", function(e) { 17 | e.preventDefault(); 18 | $("body").toggleClass("sb-sidenav-toggled"); 19 | }); 20 | }) -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bagusindrayana/tertular/9e2d5314f8dd586646cf482e9dbb31e1ad056e2d/public/favicon.ico -------------------------------------------------------------------------------- /public/geojson/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bagusindrayana/tertular/9e2d5314f8dd586646cf482e9dbb31e1ad056e2d/public/geojson/.DS_Store -------------------------------------------------------------------------------- /public/index.php: -------------------------------------------------------------------------------- 1 | 8 | */ 9 | 10 | define('LARAVEL_START', microtime(true)); 11 | 12 | /* 13 | |-------------------------------------------------------------------------- 14 | | Register The Auto Loader 15 | |-------------------------------------------------------------------------- 16 | | 17 | | Composer provides a convenient, automatically generated class loader for 18 | | our application. We just need to utilize it! We'll simply require it 19 | | into the script here so that we don't have to worry about manual 20 | | loading any of our classes later on. It feels great to relax. 21 | | 22 | */ 23 | 24 | require __DIR__.'/../vendor/autoload.php'; 25 | 26 | /* 27 | |-------------------------------------------------------------------------- 28 | | Turn On The Lights 29 | |-------------------------------------------------------------------------- 30 | | 31 | | We need to illuminate PHP development, so let us turn on the lights. 32 | | This bootstraps the framework and gets it ready for use, then it 33 | | will load up this application so that we can run it and send 34 | | the responses back to the browser and delight our users. 35 | | 36 | */ 37 | 38 | $app = require_once __DIR__.'/../bootstrap/app.php'; 39 | 40 | /* 41 | |-------------------------------------------------------------------------- 42 | | Run The Application 43 | |-------------------------------------------------------------------------- 44 | | 45 | | Once we have the application, we can handle the incoming request 46 | | through the kernel, and send the associated response back to 47 | | the client's browser allowing them to enjoy the creative 48 | | and wonderful application we have prepared for them. 49 | | 50 | */ 51 | 52 | $kernel = $app->make(Illuminate\Contracts\Http\Kernel::class); 53 | 54 | $response = $kernel->handle( 55 | $request = Illuminate\Http\Request::capture() 56 | ); 57 | 58 | $response->send(); 59 | 60 | $kernel->terminate($request, $response); 61 | -------------------------------------------------------------------------------- /public/js/app.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v4.5.0 (https://getbootstrap.com/) 3 | * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) 4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 5 | */ 6 | 7 | /*! 8 | * Sizzle CSS Selector Engine v2.3.5 9 | * https://sizzlejs.com/ 10 | * 11 | * Copyright JS Foundation and other contributors 12 | * Released under the MIT license 13 | * https://js.foundation/ 14 | * 15 | * Date: 2020-03-14 16 | */ 17 | 18 | /*! 19 | * jQuery JavaScript Library v3.5.1 20 | * https://jquery.com/ 21 | * 22 | * Includes Sizzle.js 23 | * https://sizzlejs.com/ 24 | * 25 | * Copyright JS Foundation and other contributors 26 | * Released under the MIT license 27 | * https://jquery.org/license 28 | * 29 | * Date: 2020-05-04T22:49Z 30 | */ 31 | 32 | /** 33 | * @license 34 | * Lodash 35 | * Copyright OpenJS Foundation and other contributors 36 | * Released under MIT license 37 | * Based on Underscore.js 1.8.3 38 | * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors 39 | */ 40 | 41 | /**! 42 | * @fileOverview Kickass library to create and place poppers near their reference elements. 43 | * @version 1.16.1 44 | * @license 45 | * Copyright (c) 2016 Federico Zivolo and contributors 46 | * 47 | * Permission is hereby granted, free of charge, to any person obtaining a copy 48 | * of this software and associated documentation files (the "Software"), to deal 49 | * in the Software without restriction, including without limitation the rights 50 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 51 | * copies of the Software, and to permit persons to whom the Software is 52 | * furnished to do so, subject to the following conditions: 53 | * 54 | * The above copyright notice and this permission notice shall be included in all 55 | * copies or substantial portions of the Software. 56 | * 57 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 58 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 59 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 60 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 61 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 62 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 63 | * SOFTWARE. 64 | */ 65 | -------------------------------------------------------------------------------- /public/mix-manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "/js/app.js": "/js/app.js", 3 | "/css/app.css": "/css/app.css" 4 | } 5 | -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /public/vendor/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bagusindrayana/tertular/9e2d5314f8dd586646cf482e9dbb31e1ad056e2d/public/vendor/.DS_Store -------------------------------------------------------------------------------- /public/vendor/select2/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bagusindrayana/tertular/9e2d5314f8dd586646cf482e9dbb31e1ad056e2d/public/vendor/select2/.DS_Store -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/af.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/af",[],function(){return{errorLoading:function(){return"Die resultate kon nie gelaai word nie."},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Verwyders asseblief "+n+" character";return 1!=n&&(r+="s"),r},inputTooShort:function(e){return"Voer asseblief "+(e.minimum-e.input.length)+" of meer karakters"},loadingMore:function(){return"Meer resultate word gelaai…"},maximumSelected:function(e){var n="Kies asseblief net "+e.maximum+" item";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"Geen resultate gevind"},searching:function(){return"Besig…"},removeAllItems:function(){return"Verwyder alle items"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/ar.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ar",[],function(){return{errorLoading:function(){return"لا يمكن تحميل النتائج"},inputTooLong:function(n){return"الرجاء حذف "+(n.input.length-n.maximum)+" عناصر"},inputTooShort:function(n){return"الرجاء إضافة "+(n.minimum-n.input.length)+" عناصر"},loadingMore:function(){return"جاري تحميل نتائج إضافية..."},maximumSelected:function(n){return"تستطيع إختيار "+n.maximum+" بنود فقط"},noResults:function(){return"لم يتم العثور على أي نتائج"},searching:function(){return"جاري البحث…"},removeAllItems:function(){return"قم بإزالة كل العناصر"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/az.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/az",[],function(){return{inputTooLong:function(n){return n.input.length-n.maximum+" simvol silin"},inputTooShort:function(n){return n.minimum-n.input.length+" simvol daxil edin"},loadingMore:function(){return"Daha çox nəticə yüklənir…"},maximumSelected:function(n){return"Sadəcə "+n.maximum+" element seçə bilərsiniz"},noResults:function(){return"Nəticə tapılmadı"},searching:function(){return"Axtarılır…"},removeAllItems:function(){return"Bütün elementləri sil"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/bg.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/bg",[],function(){return{inputTooLong:function(n){var e=n.input.length-n.maximum,u="Моля въведете с "+e+" по-малко символ";return e>1&&(u+="a"),u},inputTooShort:function(n){var e=n.minimum-n.input.length,u="Моля въведете още "+e+" символ";return e>1&&(u+="a"),u},loadingMore:function(){return"Зареждат се още…"},maximumSelected:function(n){var e="Можете да направите до "+n.maximum+" ";return n.maximum>1?e+="избора":e+="избор",e},noResults:function(){return"Няма намерени съвпадения"},searching:function(){return"Търсене…"},removeAllItems:function(){return"Премахнете всички елементи"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/bn.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/bn",[],function(){return{errorLoading:function(){return"ফলাফলগুলি লোড করা যায়নি।"},inputTooLong:function(n){var e=n.input.length-n.maximum,u="অনুগ্রহ করে "+e+" টি অক্ষর মুছে দিন।";return 1!=e&&(u="অনুগ্রহ করে "+e+" টি অক্ষর মুছে দিন।"),u},inputTooShort:function(n){return n.minimum-n.input.length+" টি অক্ষর অথবা অধিক অক্ষর লিখুন।"},loadingMore:function(){return"আরো ফলাফল লোড হচ্ছে ..."},maximumSelected:function(n){var e=n.maximum+" টি আইটেম নির্বাচন করতে পারবেন।";return 1!=n.maximum&&(e=n.maximum+" টি আইটেম নির্বাচন করতে পারবেন।"),e},noResults:function(){return"কোন ফলাফল পাওয়া যায়নি।"},searching:function(){return"অনুসন্ধান করা হচ্ছে ..."}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/bs.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/bs",[],function(){function e(e,n,r,t){return e%10==1&&e%100!=11?n:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?r:t}return{errorLoading:function(){return"Preuzimanje nije uspijelo."},inputTooLong:function(n){var r=n.input.length-n.maximum,t="Obrišite "+r+" simbol";return t+=e(r,"","a","a")},inputTooShort:function(n){var r=n.minimum-n.input.length,t="Ukucajte bar još "+r+" simbol";return t+=e(r,"","a","a")},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(n){var r="Možete izabrati samo "+n.maximum+" stavk";return r+=e(n.maximum,"u","e","i")},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Uklonite sve stavke"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/ca.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/ca",[],function(){return{errorLoading:function(){return"La càrrega ha fallat"},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Si us plau, elimina "+n+" car";return r+=1==n?"àcter":"àcters"},inputTooShort:function(e){var n=e.minimum-e.input.length,r="Si us plau, introdueix "+n+" car";return r+=1==n?"àcter":"àcters"},loadingMore:function(){return"Carregant més resultats…"},maximumSelected:function(e){var n="Només es pot seleccionar "+e.maximum+" element";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"No s'han trobat resultats"},searching:function(){return"Cercant…"},removeAllItems:function(){return"Treu tots els elements"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/cs.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/cs",[],function(){function e(e,n){switch(e){case 2:return n?"dva":"dvě";case 3:return"tři";case 4:return"čtyři"}return""}return{errorLoading:function(){return"Výsledky nemohly být načteny."},inputTooLong:function(n){var t=n.input.length-n.maximum;return 1==t?"Prosím, zadejte o jeden znak méně.":t<=4?"Prosím, zadejte o "+e(t,!0)+" znaky méně.":"Prosím, zadejte o "+t+" znaků méně."},inputTooShort:function(n){var t=n.minimum-n.input.length;return 1==t?"Prosím, zadejte ještě jeden znak.":t<=4?"Prosím, zadejte ještě další "+e(t,!0)+" znaky.":"Prosím, zadejte ještě dalších "+t+" znaků."},loadingMore:function(){return"Načítají se další výsledky…"},maximumSelected:function(n){var t=n.maximum;return 1==t?"Můžete zvolit jen jednu položku.":t<=4?"Můžete zvolit maximálně "+e(t,!1)+" položky.":"Můžete zvolit maximálně "+t+" položek."},noResults:function(){return"Nenalezeny žádné položky."},searching:function(){return"Vyhledávání…"},removeAllItems:function(){return"Odstraňte všechny položky"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/da.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/da",[],function(){return{errorLoading:function(){return"Resultaterne kunne ikke indlæses."},inputTooLong:function(e){return"Angiv venligst "+(e.input.length-e.maximum)+" tegn mindre"},inputTooShort:function(e){return"Angiv venligst "+(e.minimum-e.input.length)+" tegn mere"},loadingMore:function(){return"Indlæser flere resultater…"},maximumSelected:function(e){var n="Du kan kun vælge "+e.maximum+" emne";return 1!=e.maximum&&(n+="r"),n},noResults:function(){return"Ingen resultater fundet"},searching:function(){return"Søger…"},removeAllItems:function(){return"Fjern alle elementer"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/de.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/de",[],function(){return{errorLoading:function(){return"Die Ergebnisse konnten nicht geladen werden."},inputTooLong:function(e){return"Bitte "+(e.input.length-e.maximum)+" Zeichen weniger eingeben"},inputTooShort:function(e){return"Bitte "+(e.minimum-e.input.length)+" Zeichen mehr eingeben"},loadingMore:function(){return"Lade mehr Ergebnisse…"},maximumSelected:function(e){var n="Sie können nur "+e.maximum+" Element";return 1!=e.maximum&&(n+="e"),n+=" auswählen"},noResults:function(){return"Keine Übereinstimmungen gefunden"},searching:function(){return"Suche…"},removeAllItems:function(){return"Entferne alle Elemente"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/dsb.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/dsb",[],function(){var n=["znamuško","znamušce","znamuška","znamuškow"],e=["zapisk","zapiska","zapiski","zapiskow"],u=function(n,e){return 1===n?e[0]:2===n?e[1]:n>2&&n<=4?e[2]:n>=5?e[3]:void 0};return{errorLoading:function(){return"Wuslědki njejsu se dali zacytaś."},inputTooLong:function(e){var a=e.input.length-e.maximum;return"Pšosym lašuj "+a+" "+u(a,n)},inputTooShort:function(e){var a=e.minimum-e.input.length;return"Pšosym zapódaj nanejmjenjej "+a+" "+u(a,n)},loadingMore:function(){return"Dalšne wuslědki se zacytaju…"},maximumSelected:function(n){return"Móžoš jano "+n.maximum+" "+u(n.maximum,e)+"wubraś."},noResults:function(){return"Žedne wuslědki namakane"},searching:function(){return"Pyta se…"},removeAllItems:function(){return"Remove all items"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/el.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/el",[],function(){return{errorLoading:function(){return"Τα αποτελέσματα δεν μπόρεσαν να φορτώσουν."},inputTooLong:function(n){var e=n.input.length-n.maximum,u="Παρακαλώ διαγράψτε "+e+" χαρακτήρ";return 1==e&&(u+="α"),1!=e&&(u+="ες"),u},inputTooShort:function(n){return"Παρακαλώ συμπληρώστε "+(n.minimum-n.input.length)+" ή περισσότερους χαρακτήρες"},loadingMore:function(){return"Φόρτωση περισσότερων αποτελεσμάτων…"},maximumSelected:function(n){var e="Μπορείτε να επιλέξετε μόνο "+n.maximum+" επιλογ";return 1==n.maximum&&(e+="ή"),1!=n.maximum&&(e+="ές"),e},noResults:function(){return"Δεν βρέθηκαν αποτελέσματα"},searching:function(){return"Αναζήτηση…"},removeAllItems:function(){return"Καταργήστε όλα τα στοιχεία"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/en.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Please delete "+n+" character";return 1!=n&&(r+="s"),r},inputTooShort:function(e){return"Please enter "+(e.minimum-e.input.length)+" or more characters"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var n="You can only select "+e.maximum+" item";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"No results found"},searching:function(){return"Searching…"},removeAllItems:function(){return"Remove all items"},removeItem:function(){return"Remove item"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/eo.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/eo",[],function(){return{errorLoading:function(){return"La rezultoj ne povas esti ŝargitaj."},inputTooLong:function(n){var e=n.input.length-n.maximum,r="Bonvolu forigi "+e+" signo";return r+=1==e?"n":"jn"},inputTooShort:function(n){return"Bv. enigi "+(n.minimum-n.input.length)+" aŭ pli multajn signojn"},loadingMore:function(){return"Ŝargado de pliaj rezultoj…"},maximumSelected:function(n){var e="Vi povas elekti nur "+n.maximum+" ero";return 1==n.maximum?e+="n":e+="jn",e},noResults:function(){return"Neniuj rezultoj trovitaj"},searching:function(){return"Serĉado…"},removeAllItems:function(){return"Forigi ĉiujn erojn"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/es.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/es",[],function(){return{errorLoading:function(){return"No se pudieron cargar los resultados"},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Por favor, elimine "+n+" car";return r+=1==n?"ácter":"acteres"},inputTooShort:function(e){var n=e.minimum-e.input.length,r="Por favor, introduzca "+n+" car";return r+=1==n?"ácter":"acteres"},loadingMore:function(){return"Cargando más resultados…"},maximumSelected:function(e){var n="Sólo puede seleccionar "+e.maximum+" elemento";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"No se encontraron resultados"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Eliminar todos los elementos"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/et.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/et",[],function(){return{inputTooLong:function(e){var n=e.input.length-e.maximum,t="Sisesta "+n+" täht";return 1!=n&&(t+="e"),t+=" vähem"},inputTooShort:function(e){var n=e.minimum-e.input.length,t="Sisesta "+n+" täht";return 1!=n&&(t+="e"),t+=" rohkem"},loadingMore:function(){return"Laen tulemusi…"},maximumSelected:function(e){var n="Saad vaid "+e.maximum+" tulemus";return 1==e.maximum?n+="e":n+="t",n+=" valida"},noResults:function(){return"Tulemused puuduvad"},searching:function(){return"Otsin…"},removeAllItems:function(){return"Eemalda kõik esemed"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/eu.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/eu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Idatzi ";return n+=1==t?"karaktere bat":t+" karaktere",n+=" gutxiago"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Idatzi ";return n+=1==t?"karaktere bat":t+" karaktere",n+=" gehiago"},loadingMore:function(){return"Emaitza gehiago kargatzen…"},maximumSelected:function(e){return 1===e.maximum?"Elementu bakarra hauta dezakezu":e.maximum+" elementu hauta ditzakezu soilik"},noResults:function(){return"Ez da bat datorrenik aurkitu"},searching:function(){return"Bilatzen…"},removeAllItems:function(){return"Kendu elementu guztiak"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/fa.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/fa",[],function(){return{errorLoading:function(){return"امکان بارگذاری نتایج وجود ندارد."},inputTooLong:function(n){return"لطفاً "+(n.input.length-n.maximum)+" کاراکتر را حذف نمایید"},inputTooShort:function(n){return"لطفاً تعداد "+(n.minimum-n.input.length)+" کاراکتر یا بیشتر وارد نمایید"},loadingMore:function(){return"در حال بارگذاری نتایج بیشتر..."},maximumSelected:function(n){return"شما تنها می‌توانید "+n.maximum+" آیتم را انتخاب نمایید"},noResults:function(){return"هیچ نتیجه‌ای یافت نشد"},searching:function(){return"در حال جستجو..."},removeAllItems:function(){return"همه موارد را حذف کنید"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/fi.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/fi",[],function(){return{errorLoading:function(){return"Tuloksia ei saatu ladattua."},inputTooLong:function(n){return"Ole hyvä ja anna "+(n.input.length-n.maximum)+" merkkiä vähemmän"},inputTooShort:function(n){return"Ole hyvä ja anna "+(n.minimum-n.input.length)+" merkkiä lisää"},loadingMore:function(){return"Ladataan lisää tuloksia…"},maximumSelected:function(n){return"Voit valita ainoastaan "+n.maximum+" kpl"},noResults:function(){return"Ei tuloksia"},searching:function(){return"Haetaan…"},removeAllItems:function(){return"Poista kaikki kohteet"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/fr.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/fr",[],function(){return{errorLoading:function(){return"Les résultats ne peuvent pas être chargés."},inputTooLong:function(e){var n=e.input.length-e.maximum;return"Supprimez "+n+" caractère"+(n>1?"s":"")},inputTooShort:function(e){var n=e.minimum-e.input.length;return"Saisissez au moins "+n+" caractère"+(n>1?"s":"")},loadingMore:function(){return"Chargement de résultats supplémentaires…"},maximumSelected:function(e){return"Vous pouvez seulement sélectionner "+e.maximum+" élément"+(e.maximum>1?"s":"")},noResults:function(){return"Aucun résultat trouvé"},searching:function(){return"Recherche en cours…"},removeAllItems:function(){return"Supprimer tous les éléments"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/gl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/gl",[],function(){return{errorLoading:function(){return"Non foi posíbel cargar os resultados."},inputTooLong:function(e){var n=e.input.length-e.maximum;return 1===n?"Elimine un carácter":"Elimine "+n+" caracteres"},inputTooShort:function(e){var n=e.minimum-e.input.length;return 1===n?"Engada un carácter":"Engada "+n+" caracteres"},loadingMore:function(){return"Cargando máis resultados…"},maximumSelected:function(e){return 1===e.maximum?"Só pode seleccionar un elemento":"Só pode seleccionar "+e.maximum+" elementos"},noResults:function(){return"Non se atoparon resultados"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Elimina todos os elementos"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/he.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/he",[],function(){return{errorLoading:function(){return"שגיאה בטעינת התוצאות"},inputTooLong:function(n){var e=n.input.length-n.maximum,r="נא למחוק ";return r+=1===e?"תו אחד":e+" תווים"},inputTooShort:function(n){var e=n.minimum-n.input.length,r="נא להכניס ";return r+=1===e?"תו אחד":e+" תווים",r+=" או יותר"},loadingMore:function(){return"טוען תוצאות נוספות…"},maximumSelected:function(n){var e="באפשרותך לבחור עד ";return 1===n.maximum?e+="פריט אחד":e+=n.maximum+" פריטים",e},noResults:function(){return"לא נמצאו תוצאות"},searching:function(){return"מחפש…"},removeAllItems:function(){return"הסר את כל הפריטים"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/hi.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hi",[],function(){return{errorLoading:function(){return"परिणामों को लोड नहीं किया जा सका।"},inputTooLong:function(n){var e=n.input.length-n.maximum,r=e+" अक्षर को हटा दें";return e>1&&(r=e+" अक्षरों को हटा दें "),r},inputTooShort:function(n){return"कृपया "+(n.minimum-n.input.length)+" या अधिक अक्षर दर्ज करें"},loadingMore:function(){return"अधिक परिणाम लोड हो रहे है..."},maximumSelected:function(n){return"आप केवल "+n.maximum+" आइटम का चयन कर सकते हैं"},noResults:function(){return"कोई परिणाम नहीं मिला"},searching:function(){return"खोज रहा है..."},removeAllItems:function(){return"सभी वस्तुओं को हटा दें"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/hr.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hr",[],function(){function n(n){var e=" "+n+" znak";return n%10<5&&n%10>0&&(n%100<5||n%100>19)?n%10>1&&(e+="a"):e+="ova",e}return{errorLoading:function(){return"Preuzimanje nije uspjelo."},inputTooLong:function(e){return"Unesite "+n(e.input.length-e.maximum)},inputTooShort:function(e){return"Unesite još "+n(e.minimum-e.input.length)},loadingMore:function(){return"Učitavanje rezultata…"},maximumSelected:function(n){return"Maksimalan broj odabranih stavki je "+n.maximum},noResults:function(){return"Nema rezultata"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Ukloni sve stavke"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/hsb.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hsb",[],function(){var n=["znamješko","znamješce","znamješka","znamješkow"],e=["zapisk","zapiskaj","zapiski","zapiskow"],u=function(n,e){return 1===n?e[0]:2===n?e[1]:n>2&&n<=4?e[2]:n>=5?e[3]:void 0};return{errorLoading:function(){return"Wuslědki njedachu so začitać."},inputTooLong:function(e){var a=e.input.length-e.maximum;return"Prošu zhašej "+a+" "+u(a,n)},inputTooShort:function(e){var a=e.minimum-e.input.length;return"Prošu zapodaj znajmjeńša "+a+" "+u(a,n)},loadingMore:function(){return"Dalše wuslědki so začitaja…"},maximumSelected:function(n){return"Móžeš jenož "+n.maximum+" "+u(n.maximum,e)+"wubrać"},noResults:function(){return"Žane wuslědki namakane"},searching:function(){return"Pyta so…"},removeAllItems:function(){return"Remove all items"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/hu.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/hu",[],function(){return{errorLoading:function(){return"Az eredmények betöltése nem sikerült."},inputTooLong:function(e){return"Túl hosszú. "+(e.input.length-e.maximum)+" karakterrel több, mint kellene."},inputTooShort:function(e){return"Túl rövid. Még "+(e.minimum-e.input.length)+" karakter hiányzik."},loadingMore:function(){return"Töltés…"},maximumSelected:function(e){return"Csak "+e.maximum+" elemet lehet kiválasztani."},noResults:function(){return"Nincs találat."},searching:function(){return"Keresés…"},removeAllItems:function(){return"Távolítson el minden elemet"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/hy.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hy",[],function(){return{errorLoading:function(){return"Արդյունքները հնարավոր չէ բեռնել։"},inputTooLong:function(n){return"Խնդրում ենք հեռացնել "+(n.input.length-n.maximum)+" նշան"},inputTooShort:function(n){return"Խնդրում ենք մուտքագրել "+(n.minimum-n.input.length)+" կամ ավել նշաններ"},loadingMore:function(){return"Բեռնվում են նոր արդյունքներ․․․"},maximumSelected:function(n){return"Դուք կարող եք ընտրել առավելագույնը "+n.maximum+" կետ"},noResults:function(){return"Արդյունքներ չեն գտնվել"},searching:function(){return"Որոնում․․․"},removeAllItems:function(){return"Հեռացնել բոլոր տարրերը"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/id.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/id",[],function(){return{errorLoading:function(){return"Data tidak boleh diambil."},inputTooLong:function(n){return"Hapuskan "+(n.input.length-n.maximum)+" huruf"},inputTooShort:function(n){return"Masukkan "+(n.minimum-n.input.length)+" huruf lagi"},loadingMore:function(){return"Mengambil data…"},maximumSelected:function(n){return"Anda hanya dapat memilih "+n.maximum+" pilihan"},noResults:function(){return"Tidak ada data yang sesuai"},searching:function(){return"Mencari…"},removeAllItems:function(){return"Hapus semua item"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/is.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/is",[],function(){return{inputTooLong:function(n){var t=n.input.length-n.maximum,e="Vinsamlegast styttið texta um "+t+" staf";return t<=1?e:e+"i"},inputTooShort:function(n){var t=n.minimum-n.input.length,e="Vinsamlegast skrifið "+t+" staf";return t>1&&(e+="i"),e+=" í viðbót"},loadingMore:function(){return"Sæki fleiri niðurstöður…"},maximumSelected:function(n){return"Þú getur aðeins valið "+n.maximum+" atriði"},noResults:function(){return"Ekkert fannst"},searching:function(){return"Leita…"},removeAllItems:function(){return"Fjarlægðu öll atriði"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/it.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/it",[],function(){return{errorLoading:function(){return"I risultati non possono essere caricati."},inputTooLong:function(e){var n=e.input.length-e.maximum,t="Per favore cancella "+n+" caratter";return t+=1!==n?"i":"e"},inputTooShort:function(e){return"Per favore inserisci "+(e.minimum-e.input.length)+" o più caratteri"},loadingMore:function(){return"Caricando più risultati…"},maximumSelected:function(e){var n="Puoi selezionare solo "+e.maximum+" element";return 1!==e.maximum?n+="i":n+="o",n},noResults:function(){return"Nessun risultato trovato"},searching:function(){return"Sto cercando…"},removeAllItems:function(){return"Rimuovi tutti gli oggetti"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/ja.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ja",[],function(){return{errorLoading:function(){return"結果が読み込まれませんでした"},inputTooLong:function(n){return n.input.length-n.maximum+" 文字を削除してください"},inputTooShort:function(n){return"少なくとも "+(n.minimum-n.input.length)+" 文字を入力してください"},loadingMore:function(){return"読み込み中…"},maximumSelected:function(n){return n.maximum+" 件しか選択できません"},noResults:function(){return"対象が見つかりません"},searching:function(){return"検索しています…"},removeAllItems:function(){return"すべてのアイテムを削除"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/ka.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ka",[],function(){return{errorLoading:function(){return"მონაცემების ჩატვირთვა შეუძლებელია."},inputTooLong:function(n){return"გთხოვთ აკრიფეთ "+(n.input.length-n.maximum)+" სიმბოლოთი ნაკლები"},inputTooShort:function(n){return"გთხოვთ აკრიფეთ "+(n.minimum-n.input.length)+" სიმბოლო ან მეტი"},loadingMore:function(){return"მონაცემების ჩატვირთვა…"},maximumSelected:function(n){return"თქვენ შეგიძლიათ აირჩიოთ არაუმეტეს "+n.maximum+" ელემენტი"},noResults:function(){return"რეზულტატი არ მოიძებნა"},searching:function(){return"ძიება…"},removeAllItems:function(){return"ამოიღე ყველა ელემენტი"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/km.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/km",[],function(){return{errorLoading:function(){return"មិនអាចទាញយកទិន្នន័យ"},inputTooLong:function(n){return"សូមលុបចេញ "+(n.input.length-n.maximum)+" អក្សរ"},inputTooShort:function(n){return"សូមបញ្ចូល"+(n.minimum-n.input.length)+" អក្សរ រឺ ច្រើនជាងនេះ"},loadingMore:function(){return"កំពុងទាញយកទិន្នន័យបន្ថែម..."},maximumSelected:function(n){return"អ្នកអាចជ្រើសរើសបានតែ "+n.maximum+" ជម្រើសប៉ុណ្ណោះ"},noResults:function(){return"មិនមានលទ្ធផល"},searching:function(){return"កំពុងស្វែងរក..."},removeAllItems:function(){return"លុបធាតុទាំងអស់"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/ko.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ko",[],function(){return{errorLoading:function(){return"결과를 불러올 수 없습니다."},inputTooLong:function(n){return"너무 깁니다. "+(n.input.length-n.maximum)+" 글자 지워주세요."},inputTooShort:function(n){return"너무 짧습니다. "+(n.minimum-n.input.length)+" 글자 더 입력해주세요."},loadingMore:function(){return"불러오는 중…"},maximumSelected:function(n){return"최대 "+n.maximum+"개까지만 선택 가능합니다."},noResults:function(){return"결과가 없습니다."},searching:function(){return"검색 중…"},removeAllItems:function(){return"모든 항목 삭제"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/lt.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/lt",[],function(){function n(n,e,i,t){return n%10==1&&(n%100<11||n%100>19)?e:n%10>=2&&n%10<=9&&(n%100<11||n%100>19)?i:t}return{inputTooLong:function(e){var i=e.input.length-e.maximum,t="Pašalinkite "+i+" simbol";return t+=n(i,"į","ius","ių")},inputTooShort:function(e){var i=e.minimum-e.input.length,t="Įrašykite dar "+i+" simbol";return t+=n(i,"į","ius","ių")},loadingMore:function(){return"Kraunama daugiau rezultatų…"},maximumSelected:function(e){var i="Jūs galite pasirinkti tik "+e.maximum+" element";return i+=n(e.maximum,"ą","us","ų")},noResults:function(){return"Atitikmenų nerasta"},searching:function(){return"Ieškoma…"},removeAllItems:function(){return"Pašalinti visus elementus"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/lv.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/lv",[],function(){function e(e,n,u,i){return 11===e?n:e%10==1?u:i}return{inputTooLong:function(n){var u=n.input.length-n.maximum,i="Lūdzu ievadiet par "+u;return(i+=" simbol"+e(u,"iem","u","iem"))+" mazāk"},inputTooShort:function(n){var u=n.minimum-n.input.length,i="Lūdzu ievadiet vēl "+u;return i+=" simbol"+e(u,"us","u","us")},loadingMore:function(){return"Datu ielāde…"},maximumSelected:function(n){var u="Jūs varat izvēlēties ne vairāk kā "+n.maximum;return u+=" element"+e(n.maximum,"us","u","us")},noResults:function(){return"Sakritību nav"},searching:function(){return"Meklēšana…"},removeAllItems:function(){return"Noņemt visus vienumus"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/mk.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/mk",[],function(){return{inputTooLong:function(n){var e=(n.input.length,n.maximum,"Ве молиме внесете "+n.maximum+" помалку карактер");return 1!==n.maximum&&(e+="и"),e},inputTooShort:function(n){var e=(n.minimum,n.input.length,"Ве молиме внесете уште "+n.maximum+" карактер");return 1!==n.maximum&&(e+="и"),e},loadingMore:function(){return"Вчитување резултати…"},maximumSelected:function(n){var e="Можете да изберете само "+n.maximum+" ставк";return 1===n.maximum?e+="а":e+="и",e},noResults:function(){return"Нема пронајдено совпаѓања"},searching:function(){return"Пребарување…"},removeAllItems:function(){return"Отстрани ги сите предмети"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/ms.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ms",[],function(){return{errorLoading:function(){return"Keputusan tidak berjaya dimuatkan."},inputTooLong:function(n){return"Sila hapuskan "+(n.input.length-n.maximum)+" aksara"},inputTooShort:function(n){return"Sila masukkan "+(n.minimum-n.input.length)+" atau lebih aksara"},loadingMore:function(){return"Sedang memuatkan keputusan…"},maximumSelected:function(n){return"Anda hanya boleh memilih "+n.maximum+" pilihan"},noResults:function(){return"Tiada padanan yang ditemui"},searching:function(){return"Mencari…"},removeAllItems:function(){return"Keluarkan semua item"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/nb.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/nb",[],function(){return{errorLoading:function(){return"Kunne ikke hente resultater."},inputTooLong:function(e){return"Vennligst fjern "+(e.input.length-e.maximum)+" tegn"},inputTooShort:function(e){return"Vennligst skriv inn "+(e.minimum-e.input.length)+" tegn til"},loadingMore:function(){return"Laster flere resultater…"},maximumSelected:function(e){return"Du kan velge maks "+e.maximum+" elementer"},noResults:function(){return"Ingen treff"},searching:function(){return"Søker…"},removeAllItems:function(){return"Fjern alle elementer"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/ne.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ne",[],function(){return{errorLoading:function(){return"नतिजाहरु देखाउन सकिएन।"},inputTooLong:function(n){var e=n.input.length-n.maximum,u="कृपया "+e+" अक्षर मेटाउनुहोस्।";return 1!=e&&(u+="कृपया "+e+" अक्षरहरु मेटाउनुहोस्।"),u},inputTooShort:function(n){return"कृपया बाँकी रहेका "+(n.minimum-n.input.length)+" वा अरु धेरै अक्षरहरु भर्नुहोस्।"},loadingMore:function(){return"अरु नतिजाहरु भरिँदैछन् …"},maximumSelected:function(n){var e="तँपाई "+n.maximum+" वस्तु मात्र छान्न पाउँनुहुन्छ।";return 1!=n.maximum&&(e="तँपाई "+n.maximum+" वस्तुहरु मात्र छान्न पाउँनुहुन्छ।"),e},noResults:function(){return"कुनै पनि नतिजा भेटिएन।"},searching:function(){return"खोजि हुँदैछ…"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/nl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/nl",[],function(){return{errorLoading:function(){return"De resultaten konden niet worden geladen."},inputTooLong:function(e){return"Gelieve "+(e.input.length-e.maximum)+" karakters te verwijderen"},inputTooShort:function(e){return"Gelieve "+(e.minimum-e.input.length)+" of meer karakters in te voeren"},loadingMore:function(){return"Meer resultaten laden…"},maximumSelected:function(e){var n=1==e.maximum?"kan":"kunnen",r="Er "+n+" maar "+e.maximum+" item";return 1!=e.maximum&&(r+="s"),r+=" worden geselecteerd"},noResults:function(){return"Geen resultaten gevonden…"},searching:function(){return"Zoeken…"},removeAllItems:function(){return"Verwijder alle items"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/pa.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/pa",[],function(){return{errorLoading:function(){return"ਨਤੀਜੇ ਲੋਡ ਨਹੀਂ ਕੀਤੇ ਜਾ ਸਕਦੇ ।"},inputTooLong:function(n){var e=n.input.length-n.maximum;return"ਕ੍ਰਿਪਾ ਕਰਕੇ "+e+(1!=e?" ਅੱਖਰਾਂ ਨੂੰ ":" ਅੱਖਰ ")+"ਮਿਟਾਓ ।"},inputTooShort:function(n){var e=n.minimum-n.input.length;return"ਕ੍ਰਿਪਾ ਕਰਕੇ "+e+" ਜਾਂ "+e+" ਤੋਂ ਵੱਧ"+(e>1?" ਅੱਖਰਾਂ ":" ਅੱਖਰ ")+"ਦੀ ਵਰਤੋਂ ਕਰੋ ।"},loadingMore:function(){return"ਹੋਰ ਨਤੀਜੇ ਲੋਡ ਹੋ ਰਹੇ ਹਨ ...।"},maximumSelected:function(n){var e="ਤੁਸੀਂ ਸਿਰਫ਼ "+n.maximum+" ਨਤੀਜਾ ਚੁਣ ਸਕਦੇ ਹੋ ।";return 1!=n.maximum&&(e="ਤੁਸੀਂ ਸਿਰਫ਼ "+n.maximum+" ਨਤੀਜੇ ਚੁਣ ਸਕਦੇ ਹੋ ।"),e},noResults:function(){return"ਨਤੀਜਾ ਨਹੀਂ ਮਿਲ ਰਿਹਾ ਹੈ ।"},searching:function(){return"ਖ਼ੋਜ ਕਰ ਰਹੇਂ ਹਾਂ ...।"},removeAllItems:function(){return"ਸਾਰੇ ਨਤੀਜੇ ਮਿਟਾਓ ।"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/pl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/pl",[],function(){var n=["znak","znaki","znaków"],e=["element","elementy","elementów"],r=function(n,e){return 1===n?e[0]:n>1&&n<=4?e[1]:n>=5?e[2]:void 0};return{errorLoading:function(){return"Nie można załadować wyników."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Usuń "+t+" "+r(t,n)},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Podaj przynajmniej "+t+" "+r(t,n)},loadingMore:function(){return"Trwa ładowanie…"},maximumSelected:function(n){return"Możesz zaznaczyć tylko "+n.maximum+" "+r(n.maximum,e)},noResults:function(){return"Brak wyników"},searching:function(){return"Trwa wyszukiwanie…"},removeAllItems:function(){return"Usuń wszystkie przedmioty"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/ps.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ps",[],function(){return{errorLoading:function(){return"پايلي نه سي ترلاسه کېدای"},inputTooLong:function(n){var e=n.input.length-n.maximum,r="د مهربانۍ لمخي "+e+" توری ړنګ کړئ";return 1!=e&&(r=r.replace("توری","توري")),r},inputTooShort:function(n){return"لږ تر لږه "+(n.minimum-n.input.length)+" يا ډېر توري وليکئ"},loadingMore:function(){return"نوري پايلي ترلاسه کيږي..."},maximumSelected:function(n){var e="تاسو يوازي "+n.maximum+" قلم په نښه کولای سی";return 1!=n.maximum&&(e=e.replace("قلم","قلمونه")),e},noResults:function(){return"پايلي و نه موندل سوې"},searching:function(){return"لټول کيږي..."},removeAllItems:function(){return"ټول توکي لرې کړئ"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/pt-BR.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/pt-BR",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Apague "+n+" caracter";return 1!=n&&(r+="es"),r},inputTooShort:function(e){return"Digite "+(e.minimum-e.input.length)+" ou mais caracteres"},loadingMore:function(){return"Carregando mais resultados…"},maximumSelected:function(e){var n="Você só pode selecionar "+e.maximum+" ite";return 1==e.maximum?n+="m":n+="ns",n},noResults:function(){return"Nenhum resultado encontrado"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Remover todos os itens"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/pt.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/pt",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var r=e.input.length-e.maximum,n="Por favor apague "+r+" ";return n+=1!=r?"caracteres":"caractere"},inputTooShort:function(e){return"Introduza "+(e.minimum-e.input.length)+" ou mais caracteres"},loadingMore:function(){return"A carregar mais resultados…"},maximumSelected:function(e){var r="Apenas pode seleccionar "+e.maximum+" ";return r+=1!=e.maximum?"itens":"item"},noResults:function(){return"Sem resultados"},searching:function(){return"A procurar…"},removeAllItems:function(){return"Remover todos os itens"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/ro.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/ro",[],function(){return{errorLoading:function(){return"Rezultatele nu au putut fi incărcate."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vă rugăm să ștergeți"+t+" caracter";return 1!==t&&(n+="e"),n},inputTooShort:function(e){return"Vă rugăm să introduceți "+(e.minimum-e.input.length)+" sau mai multe caractere"},loadingMore:function(){return"Se încarcă mai multe rezultate…"},maximumSelected:function(e){var t="Aveți voie să selectați cel mult "+e.maximum;return t+=" element",1!==e.maximum&&(t+="e"),t},noResults:function(){return"Nu au fost găsite rezultate"},searching:function(){return"Căutare…"},removeAllItems:function(){return"Eliminați toate elementele"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/ru.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ru",[],function(){function n(n,e,r,u){return n%10<5&&n%10>0&&n%100<5||n%100>20?n%10>1?r:e:u}return{errorLoading:function(){return"Невозможно загрузить результаты"},inputTooLong:function(e){var r=e.input.length-e.maximum,u="Пожалуйста, введите на "+r+" символ";return u+=n(r,"","a","ов"),u+=" меньше"},inputTooShort:function(e){var r=e.minimum-e.input.length,u="Пожалуйста, введите ещё хотя бы "+r+" символ";return u+=n(r,"","a","ов")},loadingMore:function(){return"Загрузка данных…"},maximumSelected:function(e){var r="Вы можете выбрать не более "+e.maximum+" элемент";return r+=n(e.maximum,"","a","ов")},noResults:function(){return"Совпадений не найдено"},searching:function(){return"Поиск…"},removeAllItems:function(){return"Удалить все элементы"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/sk.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/sk",[],function(){var e={2:function(e){return e?"dva":"dve"},3:function(){return"tri"},4:function(){return"štyri"}};return{errorLoading:function(){return"Výsledky sa nepodarilo načítať."},inputTooLong:function(n){var t=n.input.length-n.maximum;return 1==t?"Prosím, zadajte o jeden znak menej":t>=2&&t<=4?"Prosím, zadajte o "+e[t](!0)+" znaky menej":"Prosím, zadajte o "+t+" znakov menej"},inputTooShort:function(n){var t=n.minimum-n.input.length;return 1==t?"Prosím, zadajte ešte jeden znak":t<=4?"Prosím, zadajte ešte ďalšie "+e[t](!0)+" znaky":"Prosím, zadajte ešte ďalších "+t+" znakov"},loadingMore:function(){return"Načítanie ďalších výsledkov…"},maximumSelected:function(n){return 1==n.maximum?"Môžete zvoliť len jednu položku":n.maximum>=2&&n.maximum<=4?"Môžete zvoliť najviac "+e[n.maximum](!1)+" položky":"Môžete zvoliť najviac "+n.maximum+" položiek"},noResults:function(){return"Nenašli sa žiadne položky"},searching:function(){return"Vyhľadávanie…"},removeAllItems:function(){return"Odstráňte všetky položky"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/sl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/sl",[],function(){return{errorLoading:function(){return"Zadetkov iskanja ni bilo mogoče naložiti."},inputTooLong:function(e){var n=e.input.length-e.maximum,t="Prosim zbrišite "+n+" znak";return 2==n?t+="a":1!=n&&(t+="e"),t},inputTooShort:function(e){var n=e.minimum-e.input.length,t="Prosim vpišite še "+n+" znak";return 2==n?t+="a":1!=n&&(t+="e"),t},loadingMore:function(){return"Nalagam več zadetkov…"},maximumSelected:function(e){var n="Označite lahko največ "+e.maximum+" predmet";return 2==e.maximum?n+="a":1!=e.maximum&&(n+="e"),n},noResults:function(){return"Ni zadetkov."},searching:function(){return"Iščem…"},removeAllItems:function(){return"Odstranite vse elemente"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/sq.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/sq",[],function(){return{errorLoading:function(){return"Rezultatet nuk mund të ngarkoheshin."},inputTooLong:function(e){var n=e.input.length-e.maximum,t="Të lutem fshi "+n+" karakter";return 1!=n&&(t+="e"),t},inputTooShort:function(e){return"Të lutem shkruaj "+(e.minimum-e.input.length)+" ose më shumë karaktere"},loadingMore:function(){return"Duke ngarkuar më shumë rezultate…"},maximumSelected:function(e){var n="Mund të zgjedhësh vetëm "+e.maximum+" element";return 1!=e.maximum&&(n+="e"),n},noResults:function(){return"Nuk u gjet asnjë rezultat"},searching:function(){return"Duke kërkuar…"},removeAllItems:function(){return"Hiq të gjitha sendet"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/sr-Cyrl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/sr-Cyrl",[],function(){function n(n,e,r,u){return n%10==1&&n%100!=11?e:n%10>=2&&n%10<=4&&(n%100<12||n%100>14)?r:u}return{errorLoading:function(){return"Преузимање није успело."},inputTooLong:function(e){var r=e.input.length-e.maximum,u="Обришите "+r+" симбол";return u+=n(r,"","а","а")},inputTooShort:function(e){var r=e.minimum-e.input.length,u="Укуцајте бар још "+r+" симбол";return u+=n(r,"","а","а")},loadingMore:function(){return"Преузимање још резултата…"},maximumSelected:function(e){var r="Можете изабрати само "+e.maximum+" ставк";return r+=n(e.maximum,"у","е","и")},noResults:function(){return"Ништа није пронађено"},searching:function(){return"Претрага…"},removeAllItems:function(){return"Уклоните све ставке"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/sr.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/sr",[],function(){function n(n,e,r,t){return n%10==1&&n%100!=11?e:n%10>=2&&n%10<=4&&(n%100<12||n%100>14)?r:t}return{errorLoading:function(){return"Preuzimanje nije uspelo."},inputTooLong:function(e){var r=e.input.length-e.maximum,t="Obrišite "+r+" simbol";return t+=n(r,"","a","a")},inputTooShort:function(e){var r=e.minimum-e.input.length,t="Ukucajte bar još "+r+" simbol";return t+=n(r,"","a","a")},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(e){var r="Možete izabrati samo "+e.maximum+" stavk";return r+=n(e.maximum,"u","e","i")},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Уклоните све ставке"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/sv.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/sv",[],function(){return{errorLoading:function(){return"Resultat kunde inte laddas."},inputTooLong:function(n){return"Vänligen sudda ut "+(n.input.length-n.maximum)+" tecken"},inputTooShort:function(n){return"Vänligen skriv in "+(n.minimum-n.input.length)+" eller fler tecken"},loadingMore:function(){return"Laddar fler resultat…"},maximumSelected:function(n){return"Du kan max välja "+n.maximum+" element"},noResults:function(){return"Inga träffar"},searching:function(){return"Söker…"},removeAllItems:function(){return"Ta bort alla objekt"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/th.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/th",[],function(){return{errorLoading:function(){return"ไม่สามารถค้นข้อมูลได้"},inputTooLong:function(n){return"โปรดลบออก "+(n.input.length-n.maximum)+" ตัวอักษร"},inputTooShort:function(n){return"โปรดพิมพ์เพิ่มอีก "+(n.minimum-n.input.length)+" ตัวอักษร"},loadingMore:function(){return"กำลังค้นข้อมูลเพิ่ม…"},maximumSelected:function(n){return"คุณสามารถเลือกได้ไม่เกิน "+n.maximum+" รายการ"},noResults:function(){return"ไม่พบข้อมูล"},searching:function(){return"กำลังค้นข้อมูล…"},removeAllItems:function(){return"ลบรายการทั้งหมด"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/tk.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/tk",[],function(){return{errorLoading:function(){return"Netije ýüklenmedi."},inputTooLong:function(e){return e.input.length-e.maximum+" harp bozuň."},inputTooShort:function(e){return"Ýene-de iň az "+(e.minimum-e.input.length)+" harp ýazyň."},loadingMore:function(){return"Köpräk netije görkezilýär…"},maximumSelected:function(e){return"Diňe "+e.maximum+" sanysyny saýlaň."},noResults:function(){return"Netije tapylmady."},searching:function(){return"Gözlenýär…"},removeAllItems:function(){return"Remove all items"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/tr.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/tr",[],function(){return{errorLoading:function(){return"Sonuç yüklenemedi"},inputTooLong:function(n){return n.input.length-n.maximum+" karakter daha girmelisiniz"},inputTooShort:function(n){return"En az "+(n.minimum-n.input.length)+" karakter daha girmelisiniz"},loadingMore:function(){return"Daha fazla…"},maximumSelected:function(n){return"Sadece "+n.maximum+" seçim yapabilirsiniz"},noResults:function(){return"Sonuç bulunamadı"},searching:function(){return"Aranıyor…"},removeAllItems:function(){return"Tüm öğeleri kaldır"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/uk.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/uk",[],function(){function n(n,e,u,r){return n%100>10&&n%100<15?r:n%10==1?e:n%10>1&&n%10<5?u:r}return{errorLoading:function(){return"Неможливо завантажити результати"},inputTooLong:function(e){return"Будь ласка, видаліть "+(e.input.length-e.maximum)+" "+n(e.maximum,"літеру","літери","літер")},inputTooShort:function(n){return"Будь ласка, введіть "+(n.minimum-n.input.length)+" або більше літер"},loadingMore:function(){return"Завантаження інших результатів…"},maximumSelected:function(e){return"Ви можете вибрати лише "+e.maximum+" "+n(e.maximum,"пункт","пункти","пунктів")},noResults:function(){return"Нічого не знайдено"},searching:function(){return"Пошук…"},removeAllItems:function(){return"Видалити всі елементи"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/vi.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/vi",[],function(){return{inputTooLong:function(n){return"Vui lòng xóa bớt "+(n.input.length-n.maximum)+" ký tự"},inputTooShort:function(n){return"Vui lòng nhập thêm từ "+(n.minimum-n.input.length)+" ký tự trở lên"},loadingMore:function(){return"Đang lấy thêm kết quả…"},maximumSelected:function(n){return"Chỉ có thể chọn được "+n.maximum+" lựa chọn"},noResults:function(){return"Không tìm thấy kết quả"},searching:function(){return"Đang tìm…"},removeAllItems:function(){return"Xóa tất cả các mục"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/zh-CN.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/zh-CN",[],function(){return{errorLoading:function(){return"无法载入结果。"},inputTooLong:function(n){return"请删除"+(n.input.length-n.maximum)+"个字符"},inputTooShort:function(n){return"请再输入至少"+(n.minimum-n.input.length)+"个字符"},loadingMore:function(){return"载入更多结果…"},maximumSelected:function(n){return"最多只能选择"+n.maximum+"个项目"},noResults:function(){return"未找到结果"},searching:function(){return"搜索中…"},removeAllItems:function(){return"删除所有项目"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /public/vendor/select2/js/i18n/zh-TW.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/zh-TW",[],function(){return{inputTooLong:function(n){return"請刪掉"+(n.input.length-n.maximum)+"個字元"},inputTooShort:function(n){return"請再輸入"+(n.minimum-n.input.length)+"個字元"},loadingMore:function(){return"載入中…"},maximumSelected:function(n){return"你只能選擇最多"+n.maximum+"項"},noResults:function(){return"沒有找到相符的項目"},searching:function(){return"搜尋中…"},removeAllItems:function(){return"刪除所有項目"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /resources/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bagusindrayana/tertular/9e2d5314f8dd586646cf482e9dbb31e1ad056e2d/resources/.DS_Store -------------------------------------------------------------------------------- /resources/js/app.js: -------------------------------------------------------------------------------- 1 | require('./bootstrap'); 2 | -------------------------------------------------------------------------------- /resources/js/bootstrap.js: -------------------------------------------------------------------------------- 1 | window._ = require('lodash'); 2 | 3 | /** 4 | * We'll load jQuery and the Bootstrap jQuery plugin which provides support 5 | * for JavaScript based Bootstrap features such as modals and tabs. This 6 | * code may be modified to fit the specific needs of your application. 7 | */ 8 | 9 | try { 10 | window.Popper = require('popper.js').default; 11 | window.$ = window.jQuery = require('jquery'); 12 | 13 | require('bootstrap'); 14 | } catch (e) {} 15 | 16 | /** 17 | * We'll load the axios HTTP library which allows us to easily issue requests 18 | * to our Laravel back-end. This library automatically handles sending the 19 | * CSRF token as a header based on the value of the "XSRF" token cookie. 20 | */ 21 | 22 | window.axios = require('axios'); 23 | 24 | window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; 25 | 26 | /** 27 | * Echo exposes an expressive API for subscribing to channels and listening 28 | * for events that are broadcast by Laravel. Echo and event broadcasting 29 | * allows your team to easily build robust real-time web applications. 30 | */ 31 | 32 | // import Echo from 'laravel-echo'; 33 | 34 | // window.Pusher = require('pusher-js'); 35 | 36 | // window.Echo = new Echo({ 37 | // broadcaster: 'pusher', 38 | // key: process.env.MIX_PUSHER_APP_KEY, 39 | // cluster: process.env.MIX_PUSHER_APP_CLUSTER, 40 | // forceTLS: true 41 | // }); 42 | -------------------------------------------------------------------------------- /resources/lang/en/auth.php: -------------------------------------------------------------------------------- 1 | 'These credentials do not match our records.', 17 | 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.', 18 | 19 | ]; 20 | -------------------------------------------------------------------------------- /resources/lang/en/pagination.php: -------------------------------------------------------------------------------- 1 | '« Previous', 17 | 'next' => 'Next »', 18 | 19 | ]; 20 | -------------------------------------------------------------------------------- /resources/lang/en/passwords.php: -------------------------------------------------------------------------------- 1 | 'Your password has been reset!', 17 | 'sent' => 'We have emailed your password reset link!', 18 | 'throttled' => 'Please wait before retrying.', 19 | 'token' => 'This password reset token is invalid.', 20 | 'user' => "We can't find a user with that email address.", 21 | 22 | ]; 23 | -------------------------------------------------------------------------------- /resources/sass/_variables.scss: -------------------------------------------------------------------------------- 1 | // Body 2 | $body-bg: #f8fafc; 3 | 4 | // Typography 5 | $font-family-sans-serif: 'Nunito', sans-serif; 6 | $font-size-base: 0.9rem; 7 | $line-height-base: 1.6; 8 | 9 | // Colors 10 | $blue: #3490dc; 11 | $indigo: #6574cd; 12 | $purple: #9561e2; 13 | $pink: #f66d9b; 14 | $red: #e3342f; 15 | $orange: #f6993f; 16 | $yellow: #ffed4a; 17 | $green: #38c172; 18 | $teal: #4dc0b5; 19 | $cyan: #6cb2eb; 20 | -------------------------------------------------------------------------------- /resources/sass/app.scss: -------------------------------------------------------------------------------- 1 | // Fonts 2 | @import url('https://fonts.googleapis.com/css?family=Nunito'); 3 | 4 | // Variables 5 | @import 'variables'; 6 | 7 | // Bootstrap 8 | @import '~bootstrap/scss/bootstrap'; 9 | -------------------------------------------------------------------------------- /resources/views/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bagusindrayana/tertular/9e2d5314f8dd586646cf482e9dbb31e1ad056e2d/resources/views/.DS_Store -------------------------------------------------------------------------------- /resources/views/about.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts.app') 2 | 3 | @section('content') 4 |
5 |
6 |
7 |
Apa Itu Virus Corona/Covid-19?
8 | 9 |
10 | Penyakit virus corona (COVID-19) adalah penyakit menular yang disebabkan oleh virus corona yang baru-baru ini ditemukan. 11 | Sebagian besar orang yang tertular COVID-19 akan mengalami gejala ringan hingga sedang dan akan pulih tanpa penanganan khusus. 12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
Bagaimana Virus Ini Menyebar?
20 | 21 |
22 | Virus yang menyebabkan COVID-19 terutama ditransmisikan melalui droplet (tetesan kecil) yang dihasilkan saat orang yang terinfeksi batuk, bersin, atau mengembuskan nafas. Droplet ini terlalu berat sehingga tidak bisa bertahan di udara. Droplet dengan cepat jatuh dan menempel pada lantai atau permukaan lainnya. 23 | Anda dapat tertular saat menghirup udara yang mengandung virus ketika Anda berada terlalu dekat dengan orang yang sudah terinfeksi COVID-19. Anda juga dapat tertular saat menyentuh permukaan benda yang terkontaminasi lalu menyentuh mata, hidung, atau mulut Anda. 24 |
25 |
26 |
27 |
28 | @endsection -------------------------------------------------------------------------------- /resources/views/admin/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bagusindrayana/tertular/9e2d5314f8dd586646cf482e9dbb31e1ad056e2d/resources/views/admin/.DS_Store -------------------------------------------------------------------------------- /resources/views/admin/kecamatan/index.blade.php: -------------------------------------------------------------------------------- 1 | @extends('admin.layouts.app') 2 | 3 | 4 | @section('breadcrumb') 5 | 6 | @endsection 7 | @section('content') 8 |
9 |
10 |
11 | 12 | Kecamatan 13 | 14 |
15 | 20 |
21 | 22 |
23 | 24 | @include('admin.layouts.includes.search_form') 25 | 26 | 27 | 28 | 29 | 32 | 35 | 38 | 39 | 40 | 41 | @foreach ($datas as $data) 42 | 43 | 46 | 49 | 61 | 62 | @endforeach 63 | 64 | 65 | 66 | 69 | 70 | 71 |
30 | Nama 31 | 33 | Kota 34 | 36 | Action 37 |
44 | {{ $data->nama_kecamatan }} 45 | 47 | {{ $data->kota->nama_kota }} 48 | 50 |
51 | @csrf 52 | 53 | 54 | Edit 55 | 56 | 59 |
60 |
67 | {!! $datas->appends(request()->all())->links() !!} 68 |
72 |
73 |
74 | @endsection 75 | -------------------------------------------------------------------------------- /resources/views/admin/kelurahan/index.blade.php: -------------------------------------------------------------------------------- 1 | @extends('admin.layouts.app') 2 | 3 | 4 | @section('breadcrumb') 5 | 6 | @endsection 7 | @section('content') 8 |
9 |
10 |
11 | 12 | Kelurahan 13 | 14 |
15 | 20 |
21 | 22 |
23 | 24 | @include('admin.layouts.includes.search_form') 25 | 26 | 27 | 28 | 29 | 32 | 35 | 38 | 39 | 40 | 41 | @foreach ($datas as $data) 42 | 43 | 46 | 49 | 61 | 62 | @endforeach 63 | 64 | 65 | 66 | 69 | 70 | 71 |
30 | Nama 31 | 33 | Kota 34 | 36 | Action 37 |
44 | {{ $data->nama_kelurahan }} 45 | 47 | {{ $data->kecamatan->nama_kecamatan }} 48 | 50 |
51 | @csrf 52 | 53 | 54 | Edit 55 | 56 | 59 |
60 |
67 | {!! $datas->appends(request()->all())->links() !!} 68 |
72 |
73 |
74 | @endsection 75 | -------------------------------------------------------------------------------- /resources/views/admin/klaster/create.blade.php: -------------------------------------------------------------------------------- 1 | @extends('admin.layouts.app') 2 | 3 | 4 | @section('breadcrumb') 5 | 8 | 9 | @endsection 10 | 11 | @section('content') 12 | 13 | 14 |
15 | @csrf 16 |
17 |
18 |
19 | Add Klaster 20 |
21 |
22 | 23 |
24 | 25 |
26 | 27 |
28 | 29 | 30 |
31 | 32 | 33 | @error('nama_klaster') 34 | 35 | {{ $message }} 36 | 37 | @enderror 38 |
39 | 40 | 41 |
42 | 45 |
46 |
47 |
48 |
49 | @endsection 50 | 51 | -------------------------------------------------------------------------------- /resources/views/admin/klaster/edit.blade.php: -------------------------------------------------------------------------------- 1 | @extends('admin.layouts.app') 2 | 3 | 4 | @section('breadcrumb') 5 | 8 | 9 | @endsection 10 | 11 | @section('content') 12 | 13 | 14 |
15 | @csrf 16 | 17 |
18 |
19 |
20 | Edit Klaster 21 |
22 |
23 | 24 |
25 | 26 |
27 | 28 |
29 | 30 | 31 |
32 | 33 | 34 | @error('nama_klaster') 35 | 36 | {{ $message }} 37 | 38 | @enderror 39 |
40 | 41 | 42 |
43 | 46 |
47 |
48 |
49 |
50 | @endsection 51 | 52 | -------------------------------------------------------------------------------- /resources/views/admin/klaster/index.blade.php: -------------------------------------------------------------------------------- 1 | @extends('admin.layouts.app') 2 | 3 | 4 | @section('breadcrumb') 5 | 6 | @endsection 7 | @section('content') 8 |
9 |
10 |
11 | 12 | Klaster 13 | 14 |
15 | 20 |
21 | 22 |
23 | 24 | @include('admin.layouts.includes.search_form') 25 | 26 | 27 | 28 | 29 | 32 | 35 | 36 | 37 | 38 | @foreach ($datas as $data) 39 | 40 | 43 | 55 | 56 | @endforeach 57 | 58 | 59 | 60 | 63 | 64 | 65 |
30 | Nama 31 | 33 | Action 34 |
41 | {{ $data->nama_klaster }} 42 | 44 |
45 | @csrf 46 | 47 | 48 | Edit 49 | 50 | 53 |
54 |
61 | {!! $datas->appends(request()->all())->links() !!} 62 |
66 |
67 |
68 | @endsection 69 | -------------------------------------------------------------------------------- /resources/views/admin/kota/create.blade.php: -------------------------------------------------------------------------------- 1 | @extends('admin.layouts.app') 2 | 3 | @push('styles') 4 | 5 | @endpush 6 | 7 | @section('breadcrumb') 8 | 11 | 12 | @endsection 13 | 14 | 15 | @section('content') 16 | 17 | 18 |
19 | @csrf 20 |
21 |
22 |
23 | Add Kota 24 |
25 |
26 | 27 |
28 | 29 |
30 | 31 |
32 | 33 | 34 |
35 | 36 | 37 | @error('nama_kota') 38 | 39 | {{ $message }} 40 | 41 | @enderror 42 |
43 | 44 |
45 | 46 | 51 | @error('provinsi_id') 52 | 53 | {{ $message }} 54 | 55 | @enderror 56 |
57 | 58 | 59 |
60 | 63 |
64 |
65 |
66 |
67 | @endsection 68 | 69 | @push('scripts') 70 | 71 | 76 | @endpush 77 | 78 | -------------------------------------------------------------------------------- /resources/views/admin/kota/edit.blade.php: -------------------------------------------------------------------------------- 1 | @extends('admin.layouts.app') 2 | 3 | @push('styles') 4 | 5 | @endpush 6 | 7 | @section('breadcrumb') 8 | 11 | 12 | @endsection 13 | 14 | 15 | @section('content') 16 | 17 | 18 |
19 | @csrf 20 | 21 |
22 |
23 |
24 | Edit Kota 25 |
26 |
27 | 28 |
29 | 30 |
31 | 32 |
33 | 34 | 35 |
36 | 37 | 38 | @error('nama_kota') 39 | 40 | {{ $message }} 41 | 42 | @enderror 43 |
44 | 45 |
46 | 47 | 54 | @error('provinsi_id') 55 | 56 | {{ $message }} 57 | 58 | @enderror 59 |
60 | 61 | 62 |
63 | 66 |
67 |
68 |
69 |
70 | @endsection 71 | 72 | @push('scripts') 73 | 74 | 79 | @endpush 80 | 81 | -------------------------------------------------------------------------------- /resources/views/admin/kota/index.blade.php: -------------------------------------------------------------------------------- 1 | @extends('admin.layouts.app') 2 | 3 | 4 | @section('breadcrumb') 5 | 6 | @endsection 7 | @section('content') 8 |
9 |
10 |
11 | 12 | Kota 13 | 14 |
15 | 20 |
21 | 22 |
23 | 24 | @include('admin.layouts.includes.search_form') 25 | 26 | 27 | 28 | 29 | 32 | 35 | 38 | 39 | 40 | 41 | @foreach ($datas as $data) 42 | 43 | 46 | 49 | 61 | 62 | @endforeach 63 | 64 | 65 | 66 | 69 | 70 | 71 |
30 | Nama 31 | 33 | Provinsi 34 | 36 | Action 37 |
44 | {{ $data->nama_kota }} 45 | 47 | {{ $data->provinsi->nama_provinsi }} 48 | 50 |
51 | @csrf 52 | 53 | 54 | Edit 55 | 56 | 59 |
60 |
67 | {!! $datas->appends(request()->all())->links() !!} 68 |
72 |
73 |
74 | @endsection 75 | -------------------------------------------------------------------------------- /resources/views/admin/laporan/klaster/excel.blade.php: -------------------------------------------------------------------------------- 1 | @php 2 | header("Content-type: application/octet-stream"); 3 | header("Content-Disposition: attachment; filename=laporan_klaster_".date('d_m_Y').".xls"); 4 | @endphp 5 | 6 | 7 | 8 | 11 | 14 | 15 | 16 | 17 | @foreach ($datas as $data) 18 | 19 | 22 | 31 | 32 | @endforeach 33 | 34 | 35 |
9 | Klaster 10 | 12 | Jumlah Kasus 13 |
20 | {{ $data->nama_klaster }} 21 | 23 | Total Pasien : {{ $data->total_pasien }} 24 |
25 | Total Kasus Positif : {{ $data->total_kasus_positif }} 26 |
27 | Total Kasus Sembuh : {{ $data->total_kasus_sembuh }} 28 |
29 | Total Kasus Meninggal : {{ $data->total_kasus_meninggal }} 30 |
-------------------------------------------------------------------------------- /resources/views/admin/laporan/klaster/index.blade.php: -------------------------------------------------------------------------------- 1 | @extends('admin.layouts.app') 2 | 3 | 4 | @section('breadcrumb') 5 | 6 | @endsection 7 | @section('content') 8 |
9 |
10 |
11 | 12 | Laporan Klaster 13 | 14 |
15 | 20 |
21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 | 32 | 35 | 36 | 37 | 38 | @foreach ($datas as $data) 39 | 40 | 43 | 52 | 53 | @endforeach 54 | 55 | 56 |
30 | Klaster 31 | 33 | Jumlah Kasus 34 |
41 | {{ $data->nama_klaster }} 42 | 44 | Total Pasien : {{ $data->total_pasien }} 45 |
46 | Total Kasus Positif : {{ $data->total_kasus_positif }} 47 |
48 | Total Kasus Sembuh : {{ $data->total_kasus_sembuh }} 49 |
50 | Total Kasus Meninggal : {{ $data->total_kasus_meninggal }} 51 |
57 |
58 |
59 | @endsection 60 | -------------------------------------------------------------------------------- /resources/views/admin/laporan/pasien/excel.blade.php: -------------------------------------------------------------------------------- 1 | @php 2 | header("Content-type: application/octet-stream"); 3 | header("Content-Disposition: attachment; filename=laporan_pasien_".date('d_m_Y').".xls"); 4 | @endphp 5 | 6 | 7 | 8 | 9 | 12 | 15 | 18 | 21 | 24 | 27 | 30 | 33 | 34 | 35 | 36 | @foreach ($datas as $data) 37 | 38 | 41 | 44 | 47 | 50 | 53 | 56 | 59 | 62 | 63 | 64 | @endforeach 65 | 66 | 67 |
10 | No 11 | 13 | Nama 14 | 16 | Alamat 17 | 19 | Kelurahan 20 | 22 | Kecamatan 23 | 25 | Kota 26 | 28 | Provinsi 29 | 31 | Status 32 |
39 | {{ $data->no }} 40 | 42 | {{ $data->nama_lengkap }} 43 | 45 | {{ $data->alamat }} 46 | 48 | {{ $data->kelurahan->nama_kelurahan ?? "Tidak Ada" }} 49 | 51 | {{ $data->kecamatan->nama_kecamatan ?? "Tidak Ada" }} 52 | 54 | {{ $data->kota->nama_kota ?? "Tidak Ada" }} 55 | 57 | {{ $data->provinsi->nama_provinsi ?? "Tidak Ada" }} 58 | 60 | {{ $data->status }} 61 |
-------------------------------------------------------------------------------- /resources/views/admin/laporan/provinsi/excel.blade.php: -------------------------------------------------------------------------------- 1 | @php 2 | header("Content-type: application/octet-stream"); 3 | header("Content-Disposition: attachment; filename=laporan_provinsi_".date('d_m_Y').".xls"); 4 | @endphp 5 | 6 | 7 | 8 | 11 | 14 | 15 | 16 | 17 | @foreach ($datas as $data) 18 | 19 | 22 | 31 | 32 | @endforeach 33 | 34 | 35 |
9 | Provinsi 10 | 12 | Jumlah Kasus 13 |
20 | {{ $data->nama_provinsi }} 21 | 23 | Total Pasien : {{ $data->total_pasien }} 24 |
25 | Total Kasus Positif : {{ $data->total_kasus_positif }} 26 |
27 | Total Kasus Sembuh : {{ $data->total_kasus_sembuh }} 28 |
29 | Total Kasus Meninggal : {{ $data->total_kasus_meninggal }} 30 |
-------------------------------------------------------------------------------- /resources/views/admin/laporan/provinsi/index.blade.php: -------------------------------------------------------------------------------- 1 | @extends('admin.layouts.app') 2 | 3 | 4 | @section('breadcrumb') 5 | 6 | @endsection 7 | @section('content') 8 |
9 |
10 |
11 | 12 | Laporan Provinsi 13 | 14 |
15 | 20 |
21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 31 | 34 | 35 | 36 | 37 | @foreach ($datas as $data) 38 | 39 | 42 | 51 | 52 | @endforeach 53 | 54 | 55 |
29 | Provinsi 30 | 32 | Jumlah Kasus 33 |
40 | {{ $data->nama_provinsi }} 41 | 43 | Total Pasien : {{ $data->total_pasien }} 44 |
45 | Total Kasus Positif : {{ $data->total_kasus_positif }} 46 |
47 | Total Kasus Sembuh : {{ $data->total_kasus_sembuh }} 48 |
49 | Total Kasus Meninggal : {{ $data->total_kasus_meninggal }} 50 |
56 |
57 |
58 | @endsection 59 | -------------------------------------------------------------------------------- /resources/views/admin/layouts/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bagusindrayana/tertular/9e2d5314f8dd586646cf482e9dbb31e1ad056e2d/resources/views/admin/layouts/.DS_Store -------------------------------------------------------------------------------- /resources/views/admin/layouts/includes/search_form.blade.php: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 | 5 |
6 |
-------------------------------------------------------------------------------- /resources/views/admin/pasien/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bagusindrayana/tertular/9e2d5314f8dd586646cf482e9dbb31e1ad056e2d/resources/views/admin/pasien/.DS_Store -------------------------------------------------------------------------------- /resources/views/admin/provinsi/create.blade.php: -------------------------------------------------------------------------------- 1 | @extends('admin.layouts.app') 2 | 3 | 4 | @section('breadcrumb') 5 | 8 | 9 | @endsection 10 | 11 | @section('content') 12 | 13 | 14 |
15 | @csrf 16 |
17 |
18 |
19 | Add Provinsi 20 |
21 |
22 | 23 |
24 | 25 |
26 | 27 |
28 | 29 | 30 |
31 | 32 | 33 | @error('nama_provinsi') 34 | 35 | {{ $message }} 36 | 37 | @enderror 38 |
39 | 40 | 41 |
42 | 45 |
46 |
47 |
48 |
49 | @endsection 50 | 51 | -------------------------------------------------------------------------------- /resources/views/admin/provinsi/edit.blade.php: -------------------------------------------------------------------------------- 1 | @extends('admin.layouts.app') 2 | 3 | 4 | @section('breadcrumb') 5 | 8 | 9 | @endsection 10 | 11 | @section('content') 12 | 13 | 14 |
15 | @csrf 16 | 17 |
18 |
19 |
20 | Edit Provinsi 21 |
22 |
23 | 24 |
25 | 26 |
27 | 28 |
29 | 30 | 31 |
32 | 33 | 34 | @error('nama_provinsi') 35 | 36 | {{ $message }} 37 | 38 | @enderror 39 |
40 | 41 | 42 |
43 | 46 |
47 |
48 |
49 |
50 | @endsection 51 | 52 | -------------------------------------------------------------------------------- /resources/views/admin/provinsi/index.blade.php: -------------------------------------------------------------------------------- 1 | @extends('admin.layouts.app') 2 | 3 | 4 | @section('breadcrumb') 5 | 6 | @endsection 7 | @section('content') 8 |
9 |
10 |
11 | 12 | Provinsi 13 | 14 |
15 | 20 |
21 | 22 |
23 | 24 | @include('admin.layouts.includes.search_form') 25 | 26 | 27 | 28 | 29 | 32 | 35 | 36 | 37 | 38 | @foreach ($datas as $data) 39 | 40 | 43 | 55 | 56 | @endforeach 57 | 58 | 59 | 60 | 63 | 64 | 65 |
30 | Nama 31 | 33 | Action 34 |
41 | {{ $data->nama_provinsi }} 42 | 44 |
45 | @csrf 46 | 47 | 48 | Edit 49 | 50 | 53 |
54 |
61 | {!! $datas->appends(request()->all())->links() !!} 62 |
66 |
67 |
68 | @endsection 69 | -------------------------------------------------------------------------------- /resources/views/admin/user/create.blade.php: -------------------------------------------------------------------------------- 1 | @extends('admin.layouts.app') 2 | 3 | 4 | @section('breadcrumb') 5 | 8 | 9 | @endsection 10 | 11 | @section('content') 12 | 13 | 14 |
15 | @csrf 16 |
17 |
18 |
19 | Add User 20 |
21 |
22 | 23 |
24 | 25 |
26 | 27 |
28 | 29 | 30 |
31 | 32 | 33 |
34 | 35 |
36 | 37 | 38 |
39 | 40 |
41 | 42 | 46 |
47 | 48 |
49 | 50 | 51 |
52 | 53 | 54 | 55 |
56 | 59 |
60 |
61 |
62 |
63 | @endsection 64 | 65 | -------------------------------------------------------------------------------- /resources/views/admin/user/edit.blade.php: -------------------------------------------------------------------------------- 1 | @extends('admin.layouts.app') 2 | 3 | 4 | @section('breadcrumb') 5 | 8 | 9 | @endsection 10 | 11 | @section('content') 12 | 13 | 14 |
15 | @csrf 16 | 17 |
18 |
19 |
20 | Edit User 21 |
22 |
23 | 24 |
25 | 26 |
27 | 28 |
29 | 30 | 31 |
32 | 33 | 34 |
35 | 36 |
37 | 38 | 39 |
40 | 41 |
42 | 43 | 51 |
52 | 53 |
54 | 55 | 56 |
57 | 58 | 59 | 60 |
61 | 64 |
65 |
66 |
67 |
68 | @endsection 69 | 70 | -------------------------------------------------------------------------------- /resources/views/admin/user/index.blade.php: -------------------------------------------------------------------------------- 1 | @extends('admin.layouts.app') 2 | 3 | 4 | @section('breadcrumb') 5 | 6 | @endsection 7 | @section('content') 8 |
9 |
10 |
11 | 12 | User 13 | 14 |
15 | 20 |
21 | 22 |
23 | 24 | @include('admin.layouts.includes.search_form') 25 | 26 | 27 | 28 | 29 | 32 | 35 | 36 | 37 | 38 | @foreach ($datas as $data) 39 | 40 | 43 | 57 | 58 | @endforeach 59 | 60 | 61 | 62 | 65 | 66 | 67 |
30 | Nama 31 | 33 | Action 34 |
41 | {{ $data->nama }} 42 | 44 |
45 | @csrf 46 | 47 | 48 | Edit 49 | 50 | @if (Auth::user()->id != $data->id) 51 | 54 | @endif 55 |
56 |
63 | {!! $datas->appends(request()->all())->links() !!} 64 |
68 |
69 |
70 | @endsection 71 | -------------------------------------------------------------------------------- /resources/views/auth/layouts/app.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | {{ config('app.name', 'Laravel') }} - Login 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |

Login

33 |
34 | @yield('content') 35 |
36 | {{-- --}} 39 |
40 |
41 |
42 |
43 |
44 |
45 | 59 |
60 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /resources/views/auth/login.blade.php: -------------------------------------------------------------------------------- 1 | @extends('auth.layouts.app') 2 | 3 | @section('content') 4 |
5 | @csrf 6 |
7 | 8 | 9 | 10 | 11 | @error('username') 12 | 13 | {{ $message }} 14 | 15 | @enderror 16 | 17 |
18 |
19 | 20 | 21 | 22 | 23 | @error('password') 24 | 25 | {{ $message }} 26 | 27 | @enderror 28 |
29 |
30 |
31 |
32 | 33 |
34 | 35 | @endsection 36 | -------------------------------------------------------------------------------- /resources/views/auth/passwords/confirm.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts.app') 2 | 3 | @section('content') 4 |
5 |
6 |
7 |
8 |
{{ __('Confirm Password') }}
9 | 10 |
11 | {{ __('Please confirm your password before continuing.') }} 12 | 13 |
14 | @csrf 15 | 16 |
17 | 18 | 19 |
20 | 21 | 22 | @error('password') 23 | 24 | {{ $message }} 25 | 26 | @enderror 27 |
28 |
29 | 30 |
31 |
32 | 35 | 36 | @if (Route::has('password.request')) 37 | 38 | {{ __('Forgot Your Password?') }} 39 | 40 | @endif 41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 | @endsection 50 | -------------------------------------------------------------------------------- /resources/views/auth/passwords/email.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts.app') 2 | 3 | @section('content') 4 |
5 |
6 |
7 |
8 |
{{ __('Reset Password') }}
9 | 10 |
11 | @if (session('status')) 12 | 15 | @endif 16 | 17 |
18 | @csrf 19 | 20 |
21 | 22 | 23 |
24 | 25 | 26 | @error('email') 27 | 28 | {{ $message }} 29 | 30 | @enderror 31 |
32 |
33 | 34 |
35 |
36 | 39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 | @endsection 48 | -------------------------------------------------------------------------------- /resources/views/auth/verify.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts.app') 2 | 3 | @section('content') 4 |
5 |
6 |
7 |
8 |
{{ __('Verify Your Email Address') }}
9 | 10 |
11 | @if (session('resent')) 12 | 15 | @endif 16 | 17 | {{ __('Before proceeding, please check your email for a verification link.') }} 18 | {{ __('If you did not receive the email') }}, 19 |
20 | @csrf 21 | . 22 |
23 |
24 |
25 |
26 |
27 |
28 | @endsection 29 | -------------------------------------------------------------------------------- /resources/views/layouts/app.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | {{ config('app.name', 'Laravel') }} 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | @stack('styles') 22 | 23 | 24 | 25 | 26 | 47 | 48 | 49 |
50 | @yield('content') 51 |
52 | 53 | 54 | 55 | {{-- scripts --}} 56 | @stack('scripts') 57 | 58 | 59 | -------------------------------------------------------------------------------- /routes/api.php: -------------------------------------------------------------------------------- 1 | get('/user', function (Request $request) { 21 | return $request->user(); 22 | }); 23 | 24 | Route::get('map-provinsi-geojson','ApiController@getProvinsiMap'); 25 | Route::get('map-kabkota-geojson','ApiController@getKotaMap'); 26 | Route::get('map-sebaran-geojson','ApiController@getSebaranPoint'); 27 | Route::get('map-rawan-geojson','ApiController@getRawanPoint'); 28 | Route::get('jumlah-pasien-perhari/{days}','ApiController@getPasienPerHari'); 29 | Route::get('/cek-koordinat/{latitude}/{longitude}', 'ApiController@cekKoordinat'); 30 | 31 | Route::get('total-kasus','ApiController@getTotalKasus'); 32 | 33 | 34 | -------------------------------------------------------------------------------- /routes/channels.php: -------------------------------------------------------------------------------- 1 | id === (int) $id; 18 | }); 19 | -------------------------------------------------------------------------------- /routes/console.php: -------------------------------------------------------------------------------- 1 | comment(Inspiring::quote()); 19 | })->describe('Display an inspiring quote'); 20 | -------------------------------------------------------------------------------- /routes/web.php: -------------------------------------------------------------------------------- 1 | 'admin','as'=>'admin.'],function () 27 | { 28 | Auth::routes(['register'=>false]); 29 | Route::group(['middleware'=>['web','auth']],function(){ 30 | Route::get('/home', 'HomeController@index')->name('home'); 31 | Route::resource('provinsi','ProvinsiController'); 32 | Route::resource('kota','KotaController'); 33 | Route::resource('kecamatan','KecamatanController'); 34 | Route::resource('kelurahan','KelurahanController'); 35 | Route::resource('klaster','KlasterController'); 36 | Route::resource('pasien','PasienController'); 37 | Route::resource('user','UserController'); 38 | Route::get('laporan/{menu}','LaporanController@index')->name('laporan.index'); 39 | Route::get('laporan/{menu}/export','LaporanController@export')->name('laporan.export'); 40 | Route::post('laporan/{menu}/export','LaporanController@export')->name('laporan.export'); 41 | }); 42 | 43 | 44 | }); 45 | 46 | Route::group(['prefix'=>'select2'],function(){ 47 | Route::get('kota/{provinsi_id}','KotaController@searchSelect2'); 48 | Route::get('kecamatan/{kota_id}','KecamatanController@searchSelect2'); 49 | Route::get('kelurahan/{kecamatan_id}','KelurahanController@searchSelect2'); 50 | Route::get('pasien','PasienController@searchSelect2'); 51 | }); 52 | 53 | 54 | -------------------------------------------------------------------------------- /server.php: -------------------------------------------------------------------------------- 1 | 8 | */ 9 | 10 | $uri = urldecode( 11 | parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH) 12 | ); 13 | 14 | // This file allows us to emulate Apache's "mod_rewrite" functionality from the 15 | // built-in PHP web server. This provides a convenient way to test a Laravel 16 | // application without having installed a "real" web server software here. 17 | if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) { 18 | return false; 19 | } 20 | 21 | require_once __DIR__.'/public/index.php'; 22 | -------------------------------------------------------------------------------- /storage/app/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !public/ 3 | !.gitignore 4 | -------------------------------------------------------------------------------- /storage/app/public/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/.gitignore: -------------------------------------------------------------------------------- 1 | config.php 2 | routes.php 3 | schedule-* 4 | compiled.php 5 | services.json 6 | events.scanned.php 7 | routes.scanned.php 8 | down 9 | -------------------------------------------------------------------------------- /storage/framework/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !data/ 3 | !.gitignore 4 | -------------------------------------------------------------------------------- /storage/framework/cache/data/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/sessions/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/testing/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/views/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/logs/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /tests/CreatesApplication.php: -------------------------------------------------------------------------------- 1 | make(Kernel::class)->bootstrap(); 19 | 20 | return $app; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /tests/Feature/ExampleTest.php: -------------------------------------------------------------------------------- 1 | get('/'); 18 | 19 | $response->assertStatus(200); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /tests/TestCase.php: -------------------------------------------------------------------------------- 1 | assertTrue(true); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /webpack.mix.js: -------------------------------------------------------------------------------- 1 | const mix = require('laravel-mix'); 2 | 3 | /* 4 | |-------------------------------------------------------------------------- 5 | | Mix Asset Management 6 | |-------------------------------------------------------------------------- 7 | | 8 | | Mix provides a clean, fluent API for defining some Webpack build steps 9 | | for your Laravel application. By default, we are compiling the Sass 10 | | file for the application as well as bundling up all the JS files. 11 | | 12 | */ 13 | 14 | mix.js('resources/js/app.js', 'public/js') 15 | .sass('resources/sass/app.scss', 'public/css'); 16 | --------------------------------------------------------------------------------