Upload project AMetativeHLE

This commit is contained in:
MaulanaAkbarF 2025-07-09 14:05:52 +07:00
parent 57cde92665
commit ffae8a685f
673 changed files with 23753 additions and 604413 deletions

View File

@ -0,0 +1,140 @@
<?php
namespace App\Http\Controllers\AdminBackend;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Storage;
use App\Models\Materi;
class AdminMateriController extends Controller
{
public function index()
{
$materi = DB::table('materi')->get();
return view('admin_backend.admin_materi', compact('materi'));
}
public function store(Request $request)
{
$request->validate([
'id_style' => 'required|integer',
'konten' => 'nullable|file|mimes:jpeg,jpg,png,mp4,mov|max:10240',
'audio' => 'nullable|file|mimes:mp3,wav|max:10240',
'teks' => 'nullable|string',
'kodesoal' => 'nullable|string',
'outputkode' => 'nullable|string',
]);
// Data dasar
$data = $request->only(['id_style', 'teks', 'kodesoal', 'outputkode']);
// Upload konten (gambar/video) ke storage/app/public/materi
if ($request->hasFile('konten')) {
$data['konten'] = $request->file('konten')->store('materi', 'public');
}
// Upload audio ke storage/app/public/audio
if ($request->hasFile('audio')) {
$data['audio'] = $request->file('audio')->store('audio', 'public');
}
// Auto-increment manual id_materi per id_style
$maxId = \App\Models\Materi::where('id_style', $data['id_style'])->max('id_materi');
$data['id_materi'] = $maxId ? $maxId + 1 : 1;
\App\Models\Materi::create($data);
return redirect()->route('adminmateri.index')->with('success', 'Materi berhasil ditambah');
}
public function edit($id_style, $id_materi)
{
$item = DB::table('materi')
->where('id_style', $id_style)
->where('id_materi', $id_materi)
->first();
return response()->json($item);
}
public function update(Request $request, $id_style, $id_materi)
{
$request->validate([
'konten' => 'nullable|file|mimes:jpg,jpeg,png,mp4,mov|max:10240',
'audio' => 'nullable|file|mimes:mp3,wav,mpeg|max:10240',
'teks' => 'nullable|string',
'kodesoal' => 'nullable|string',
'outputkode' => 'nullable|string',
]);
if (!$request->hasFile('konten') && !$request->hasFile('audio') && empty($request->teks) && empty($request->kodesoal) && empty($request->outputkode)) {
return back()->withErrors(['konten' => 'Minimal salah satu konten, audio, teks, kodesoal, atau outputkode harus diisi.'])->withInput();
}
$materi = DB::table('materi')
->where('id_style', $id_style)
->where('id_materi', $id_materi)
->first();
if (!$materi) {
return back()->with('error', 'Data tidak ditemukan.');
}
$data = [
'teks' => $request->teks,
'kodesoal' => $request->kodesoal,
'outputkode' => $request->outputkode,
];
if ($request->hasFile('konten')) {
if ($materi->konten && Storage::disk('public')->exists($materi->konten)) {
Storage::disk('public')->delete($materi->konten);
}
$data['konten'] = $request->file('konten')->store('materi', 'public');
}
if ($request->hasFile('audio')) {
if ($materi->audio && Storage::disk('public')->exists($materi->audio)) {
Storage::disk('public')->delete($materi->audio);
}
$data['audio'] = $request->file('audio')->store('audio', 'public');
}
DB::table('materi')
->where('id_style', $id_style)
->where('id_materi', $id_materi)
->update($data);
return redirect()->route('adminmateri.index')->with('success', 'Materi berhasil diperbarui.');
}
public function destroy($id_style, $id_materi)
{
$materi = DB::table('materi')
->where('id_style', $id_style)
->where('id_materi', $id_materi)
->first();
if ($materi) {
if ($materi->konten && Storage::disk('public')->exists($materi->konten)) {
Storage::disk('public')->delete($materi->konten);
}
if ($materi->audio && Storage::disk('public')->exists($materi->audio)) {
Storage::disk('public')->delete($materi->audio);
}
DB::table('materi')
->where('id_style', $id_style)
->where('id_materi', $id_materi)
->delete();
return redirect()->route('adminmateri.index')->with('success', 'Materi berhasil dihapus.');
}
return redirect()->route('adminmateri.index')->with('error', 'Materi tidak ditemukan.');
}
}

View File

@ -0,0 +1,105 @@
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Log;
use Laravel\Socialite\Facades\Socialite;
use App\Models\User;
use Illuminate\Support\Str;
use Illuminate\Http\Request;
use GuzzleHttp\Client;
class GoogleController extends Controller
{
public function redirectToGoogle(Request $request)
{
$clientId = config('services.google.client_id');
$redirectUri = config('services.google.redirect');
$scopes = [
'https://www.googleapis.com/auth/userinfo.email',
'https://www.googleapis.com/auth/userinfo.profile',
'openid',
];
$query = http_build_query([
'client_id' => $clientId,
'redirect_uri' => $redirectUri,
'response_type' => 'code',
'scope' => implode(' ', $scopes),
'access_type' => 'offline',
'prompt' => 'select_account',
]);
$authUrl = 'https://accounts.google.com/o/oauth2/v2/auth?' . $query;
Log::info('Redirecting to Google', ['url' => $authUrl]);
return redirect($authUrl);
}
public function handleGoogleCallback(Request $request)
{
try {
if (!$request->has('code')) {
throw new \Exception('Kode otorisasi tidak ditemukan');
}
$code = $request->input('code');
Log::info('Google Callback Reached', ['code' => $code]);
$client = new Client();
$response = $client->post('https://oauth2.googleapis.com/token', [
'form_params' => [
'code' => $code,
'client_id' => config('services.google.client_id'),
'client_secret' => config('services.google.client_secret'),
'redirect_uri' => config('services.google.redirect'),
'grant_type' => 'authorization_code',
],
'verify' => false, // Hanya untuk pengujian, sebaiknya dihapus di produksi
]);
$tokenData = json_decode($response->getBody()->getContents(), true);
Log::info('Google Access Token Response', ['response' => $tokenData]);
$response = $client->get('https://www.googleapis.com/oauth2/v2/userinfo', [
'headers' => [
'Authorization' => 'Bearer ' . $tokenData['access_token'],
],
'verify' => false, // Hanya untuk pengujian, sebaiknya dihapus di produksi
]);
$userData = json_decode($response->getBody()->getContents(), true);
Log::info('Google User Data', ['user_data' => $userData]);
$user = User::updateOrCreate(
['email' => $userData['email']],
[
'nama_lengkap' => $userData['name'],
'foto_profil' => $userData['picture'] ?? null
]
);
Auth::login($user, true);
Log::info('User Authenticated', [
'user_id' => $user->id_user,
'email' => $user->email,
]);
$kuesionerls = KuesionerLearningStyle::where('email', $user->email)->first();
$kuesionermeta = KuesionerMetakognitif::where('category', $user->category_meta)->first();
return view('main.page.beranda.beranda', compact('kuesionerls', 'kuesionermeta'));
} catch (\Exception $e) {
Log::error('Google Login Failed', [
'error' => $e->getMessage(),
'trace' => $e->getTraceAsString(),
'request' => $request->all(),
]);
return redirect()->route('login')->with('error', 'Login dengan Google gagal: ' . $e->getMessage());
}
}
}

View File

@ -2,86 +2,61 @@
namespace App\Http\Controllers\Auth;
use Illuminate\Support\Facades\Auth;
use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use App\Models\User;
use Illuminate\Foundation\Auth\RegistersUsers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\DB;
class RegisterController extends Controller
{
/*
|--------------------------------------------------------------------------
| Register Controller
|--------------------------------------------------------------------------
|
| This controller handles the registration of new users as well as their
| validation and creation. By default this controller uses a trait to
| provide this functionality without requiring any additional code.
|
*/
use RegistersUsers;
/**
* Where to redirect users after registration.
*
* @var string
*/
protected $redirectTo = RouteServiceProvider::HOME;
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
public function register(Request $request)
{
$this->middleware('guest');
}
/**
* Get a validator for an incoming registration request.
*
* @param array $data
* @return \Illuminate\Contracts\Validation\Validator
*/
protected function validator(array $data)
{
return Validator::make($data, [
'nama_lengkap' => ['required', 'string', 'max:255', 'regex:/^[A-Za-z\s]+$/'],
'nim' => ['required', 'string', 'max:20'],
'semester' => ['required', 'integer', 'max:12'],
'angkatan' => ['required', 'integer', 'min:2021', 'max:2023'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users', function ($attribute, $value, $fail) {
if (!in_array(substr(strrchr($value, "@"), 1), ['polije.ac.id', 'student.polije.ac.id'])) {
$fail('Atribut ' . $attribute . ' harus berdomain @polije.ac.id atau @student.polije.ac.id');
}
}],
'password' => ['required', 'string', 'min:8', 'confirmed'],
// Validasi data
$validated = $request->validate([
'nama_lengkap' => 'required|string|max:255|unique:users,nama_lengkap',
'nim' => 'required|string|max:50|unique:users,nim',
'semester' => 'required|numeric|min:1',
'angkatan' => 'required|numeric|min:2000|max:' . date('Y'),
'email' => [
'required',
'email',
'max:255',
'unique:users,email',
// Validasi regex domain email
'regex:/^[a-zA-Z0-9._%+-]+@(polije\.ac\.id|student\.polije\.ac\.id)$/'
],
'password' => 'required|string|min:8|confirmed',
], [
'email.regex' => 'Email harus menggunakan domain @polije.ac.id atau @student.polije.ac.id.',
'nama_lengkap.unique' => 'Nama lengkap sudah digunakan.',
]);
}
/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @return \App\Models\User
*/
protected function create(array $data)
{
return User::create([
'nama_lengkap' => $data['nama_lengkap'],
'nim' => $data['nim'],
'semester' => $data['semester'],
'angkatan' => $data['angkatan'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
// 'foto' => 'images/2xUcdtkygOf0aM2EvXuKFLXLOBlEuXNPT21Oeo15.png',
'kelas_user' => '3',
// Simpan ke database
$user = User::create([
'nama_lengkap' => $validated['nama_lengkap'],
'nim' => $validated['nim'],
'semester' => $validated['semester'],
'angkatan' => $validated['angkatan'],
'email' => $validated['email'],
'password' => Hash::make($validated['password']),
'kelas_user' => 3,
'foto' => 'images/defaultProfile.jpg',
]);
DB::table('hasil')->insert([
'id_user' => $user->id,
'id_periode' => 1,
'created_at' => now(),
]);
Auth::login($user);
// Redirect ke login dengan notif sukses
return redirect()->route('dashboard.index')->with('success', 'Pendaftaran berhasil! Selamat datang.');
}
public function showRegistrationForm()
{
return view('auth.register');
}
}

View File

@ -0,0 +1,23 @@
<?php
namespace App\Http\Controllers\Backend;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class AuditoryController extends Controller
{
public function index()
{
// Ambil data materi berdasarkan id_style = 2 (Auditory)
$materi = DB::table('materi')
->where('id_style', 2)
->orderBy('id_materi')
->select('id_materi', 'konten', 'audio', 'teks')
->get();
return view('backend.materi.' . $bladeMap[$style]);
}
}

View File

@ -8,48 +8,92 @@
use App\Models\User;
use App\Models\PilihPeriode;
use Barryvdh\DomPDF\Facade\Pdf as FacadePdf;
use Barryvdh\DomPDF\PDF as DomPDFPDF;
use Carbon\Carbon;
use Illuminate\Support\Facades\DB;
class DashboardController extends Controller
{
public function index()
{
$kmCounts = Hasil::select('km_class', DB::raw('count(*) as total'))
->groupBy('km_class')
->orderByRaw("FIELD(km_class, 'High', 'Medium', 'Low')")
->get();
$rmCounts = Hasil::select('rm_class', DB::raw('count(*) as total'))
->groupBy('rm_class')
->orderByRaw("FIELD(rm_class, 'High', 'Medium', 'Low')")
->get();
$kmCounts = Hasil::select('km_class', DB::raw('count(*) as total'))
->groupBy('km_class')
->orderByRaw("FIELD(km_class, 'High', 'Medium', 'Low')")
->get();
$rmCounts = Hasil::select('rm_class', DB::raw('count(*) as total'))
->groupBy('rm_class')
->orderByRaw("FIELD(rm_class, 'High', 'Medium', 'Low')")
->get();
$checkPeriod = PilihPeriode::first();
$idUser = auth()->user()->id;
$historiPengisian = Hasil::where('id_user', $idUser)->where('id_periode', $checkPeriod->id_periode)->get();
$results = Hasil::with('user')->with('periode')->where('id_user', $idUser)->get();
$results = $results->map(function ($result) {
$result->formatted_created_at = Carbon::parse($result->created_at)->format('d M Y');
if ($result->periode->semester == 1) {
$result->periode->semester = 'Ganjil';
} else {
$result->periode->semester = 'Genap';
}
return $result;
});
return view('backend.dashboard', compact('kmCounts', 'rmCounts', 'historiPengisian', 'results'));
$historiPengisian = Hasil::where('id_user', $idUser)
->where('id_periode', $checkPeriod->id_periode)
->get();
$results = Hasil::with('user')->with('periode')
->where('id_user', $idUser)
->get()
->map(function ($result) {
$result->formatted_created_at = Carbon::parse($result->created_at)->format('d M Y');
$result->periode->semester = $result->periode->semester == 1 ? 'Ganjil' : 'Genap';
return $result;
});
// Ambil hasil terakhir dari user untuk gaya belajar
$hasilGayaBelajar = Hasil::where('id_user', $idUser)
->where('id_periode', $checkPeriod->id_periode)
->latest()
->first();
$learningStyleMap = [
1 => 'Visual',
2 => 'Auditory',
3 => 'Read / Write',
4 => 'Kinesthetic',
5 => 'Multimodal'
];
$learningStyle = $hasilGayaBelajar
? ($learningStyleMap[$hasilGayaBelajar->id_style] ?? 'Tidak diketahui')
: 'Belum tersedia';
// ===== LOGIKA UNTUK POPUP KUESIONER =====
$data = DB::table('hasil')
->where('id_user', $idUser)
->where('id_periode', $checkPeriod->id_periode)
->latest()
->first();
$styles = [
'Visual' => $data->visual ?? 0,
'Auditory' => $data->auditory ?? 0,
'Read/Write' => $data->readwrite ?? 0,
'Kinesthetic' => $data->kinesthetic ?? 0,
];
$perluIsiKuesioner = empty(array_filter($styles)); // semua 0 → true
return view('backend.dashboard', compact(
'kmCounts',
'rmCounts',
'historiPengisian',
'results',
'learningStyle',
'perluIsiKuesioner'
));
}
public function show($id)
{
$result = Hasil::with('user')->findOrFail($id);
$result->formatted_created_at = Carbon::parse($result->created_at)->format('d M Y');
$result->formatted_updated_at = Carbon::parse($result->updated_at)->format('d M Y');
return view('backend.user_pdf_result', compact('result'));
}
public function cetak_pdf($id)
{
// Kosong / belum diimplementasikan
}
}

View File

@ -0,0 +1,46 @@
<?php
namespace App\Http\Controllers\Backend;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Hasil;
use Illuminate\Support\Facades\Auth;
class HistoryController extends Controller
{
public function index()
{
$userId = Auth::id();
$hasilTerbaru = Hasil::where('id_user', $userId)
->orderBy('created_at', 'desc')
->first();
$TOTAL_SOAL = 16;
if ($hasilTerbaru) {
$vark = [
'Visual' => $hasilTerbaru->visual ?? 0,
'Auditory' => $hasilTerbaru->auditory ?? 0,
'Read/Write' => $hasilTerbaru->readwrite ?? 0,
'Kinesthetic' => $hasilTerbaru->kinesthetic ?? 0,
];
$jumlahJawaban = array_sum($vark);
$persen = round(($jumlahJawaban / $TOTAL_SOAL) * 100);
$max = max($vark);
$tertinggi = array_keys($vark, $max);
$gayaBelajar = count($tertinggi) > 1 ? 'Multimodal' : $tertinggi[0];
} else {
$hasilTerbaru = null;
$persen = 0;
$gayaBelajar = '-';
$jumlahJawaban = 0;
}
return view('backend.history_quis', compact('hasilTerbaru', 'persen', 'gayaBelajar', 'TOTAL_SOAL', 'jumlahJawaban'));
}
}

View File

@ -0,0 +1,34 @@
<?php
namespace App\Http\Controllers\Backend;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\DB;
class InstruksiController extends Controller
{
public function tampilkanInstruksiByStyle($style, $id_materi)
{
$styleMap = [
'visual' => 1,
'auditory' => 2,
'readwrite' => 3,
'kinesthetic' => 4,
];
if (!isset($styleMap[$style])) {
abort(404, 'Style tidak valid');
}
$id_style = $styleMap[$style];
// Ambil semua instruksi berdasarkan id_style SAJA
$instruksi = DB::table('instruksi')
->where('id_style', $id_style)
->orderBy('id_instruksi')
->pluck('instruksi');
// Kirim juga id_materi jika diperlukan di tampilan
return view("backend.materi.$style", compact('instruksi', 'id_materi'));
}
}

View File

@ -0,0 +1,168 @@
<?php
namespace App\Http\Controllers\Backend;
use App\Models\Hasil;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
use Symfony\Component\Process\Process;
use Symfony\Component\Process\Exception\ProcessFailedException;
class KuesionerLSController extends Controller
{
public function store(Request $request)
{
$mappings = [
1 => [
"Mencari tahu tokonya apakah ada di suatu tempat yang saya ketahui" => 'K',
"Tanya arah jalan kepada teman" => 'A',
"Menulis petunjuk jalan" => 'R',
"Menggunakan Peta atau Layanan Maps" => 'V'
],
2 => [
"Melihat diagramnya" => 'V',
"Mendengarkan penjelasan orang tersebut" => 'A',
"Membaca kata-kata yang tampil di video" => 'R',
"Melakukan tindakan apa yang dilakukan oleh orang dalam video" => 'K'
],
3 => [
"Melihat hal-hal menarik pada tur tersebut" => 'K',
"Menggunakan peta atau layanan maps dan melihat lokasi yang akan dituju" => 'V',
"Membaca detail tur pada dokumen atau rencana tur" => 'R',
"Berdiskusi dengan teman atau penyelenggara tur yang merencanakan tur tersebut" => 'A'
],
4 => [
"Saya akan menerapkan ilmu yang saya punya pada dunia kerja nanti" => 'K',
"Saya akan bercakap dengan rekan kerja saat berdiskusi" => 'A',
"Saya akan menggunakan gambar atau video untuk menunjukkan pekerjaan saya kepada rekan kerja" => 'V',
"Saya akan menerapkan kata-kata yang baik saat mengirimkan pesan kepada rekan kerja" => 'R'
],
5 => [
"Saya suka berdiskusi" => 'A',
"Saya suka melihat pola dari apa yang saya pelajari" => 'V',
"Saya suka mencari contoh dari apa yang saya pelajari" => 'K',
"Saya suka membaca buku atau artikel" => 'R'
],
6 => [
"Melakukan riset dan perbandingan langsung di lokasi" => 'K',
"Membaca brosur yang berisi daftar barang yang saya cari" => 'R',
"Melihat ulasan di YouTube atau Media Sosial" => 'V',
"Berdiskusi dengan pakar" => 'A'
],
7 => [
"Melihat teman saya bermain catur dan memperhatikannya" => 'K',
"Mendengarkan penjelasan ahli tentang bagaimana aturan permainan" => 'A',
"Melihat tutorial di YouTube" => 'V',
"Membaca instruksi tertulis dari permainan catur" => 'R'
],
8 => [
"Memberi saya buku atau data tentang penyakit jantung yang saya alami" => 'R',
"Menggunakan alat peraga guna menjelaskan apa masalah jantung yang saya alami" => 'K',
"Saya ingin dokter menjelaskan tentang penyakit saya" => 'A',
"Menunjukkan grafik dan statistik dari penyakit jantung yang saya alami" => 'V'
],
9 => [
"Membaca instruksi yang muncul saat saya menjalankan aplikasi tersebut" => 'R',
"Berdiskusi dengan seseorang yang paham fungsi dan kegunaan dari aplikasi tersebut" => 'A',
"Saya langsung mencoba berbagai tombol pada aplikasi tersebut" => 'K',
"Saya melihat gambar atau video yang menjelaskan tentang aplikasi tersebut" => 'V'
],
10 => [
"Video pendek atau video panjang" => 'K',
"Interaksi pada desain yang menarik" => 'V',
"Artikel atau buku digital" => 'R',
"Radio atau Podcast" => 'A'
],
11 => [
"Diagram tahapan proyek" => 'V',
"Laporan proyek yang sedang dikerjakan" => 'R',
"Kesempatan untuk membahas proyek dengan manajer proyek" => 'A',
"Contoh nyata terhadap proyek sejenis yang sukses" => 'K'
],
12 => [
"Bertanya kepada seseorang mengenai fitur dan apa yang bisa kamera tersebut lakukan" => 'A',
"Membaca buku instruksi pada kotak kamera tentang bagaimana penggunaan yang benar" => 'R',
"Melihat ulasan dari seseorang yang membahas mengenai kamera tersebut" => 'V',
"Mengambil langsung beberapa foto dan membandingkannya untuk mendapat hasil terbaik" => 'K'
],
13 => [
"Demonstrasi, model atau praktek langsung" => 'K',
"Tanya jawab dan berdiskusi" => 'A',
"Buku, artikel, novel atau bahan bacaan" => 'R',
"Grafik, diagram, peta atau video" => 'V'
],
14 => [
"Mencontohkan dari apa yang saya lakukan" => 'K',
"Mencatat hasil yang saya peroleh" => 'R',
"Seseorang yang mengatakan umpan balik langsung kepada saya" => 'A',
"Menggunakan diagram atau video hasil dari apa yang saya lakukan" => 'V'
],
15 => [
"Menonton video atau rekaman ulasan dari seseorang yang mengunggahnya" => 'K',
"Berdiskusi dengan pemilik langsung di lokasi" => 'A',
"Membaca deskripsi mengenai fitur dan fasilitas yang diberikan" => 'R',
"Menggunakan layanan maps untuk mencari lokasi" => 'V'
],
16 => [
"Video tutorial yang menunjukkan setiap tahapan perakitan" => 'V',
"Saran dari seseorang yang berhasil melakukannya" => 'A',
"Petunjuk tertulis yang disertakan dalam paket pembelian" => 'R',
"Mencoba merakitnya langsung secara perlahan" => 'K'
]
];
$visual = $auditory = $readwrite = $kinesthetic = 0;
for ($i = 1; $i <= 16; $i++) {
$answer = $request->input("soal{$i}");
if ($answer && isset($mappings[$i]) && in_array($answer, $mappings[$i])) {
switch ($answer) {
case 'V': $visual++; break;
case 'A': $auditory++; break;
case 'R': $readwrite++; break;
case 'K': $kinesthetic++; break;
}
}
}
$percentages = [
'Visual' => $visual / 16 * 100,
'Auditory' => $auditory / 16 * 100,
'Read/Write' => $readwrite / 16 * 100,
'Kinesthetic' => $kinesthetic / 16 * 100,
];
arsort($percentages);
$values = array_values($percentages);
$keys = array_keys($percentages);
$result = 'Multimodal';
if ($values[0] - $values[1] >= 10) {
$result = $keys[0];
}
$id_style = match ($result) {
'Visual' => 1,
'Auditory' => 2,
'Read/Write' => 3,
'Kinesthetic' => 4,
default => 5, // Multimodal
};
Hasil::updateOrCreate(
['id_user' => Auth::id()],
[
'visual' => $visual,
'auditory' => $auditory,
'readwrite' => $readwrite,
'kinesthetic' => $kinesthetic,
'id_style' => $id_style,
'result' => $result,
]
);
return redirect()->route('kuesioner-mai')->with('success', 'Jawaban kuesioner berhasil disimpan!');
}
}

View File

@ -0,0 +1,150 @@
<?php
namespace App\Http\Controllers\Backend;
use App\Http\Controllers\Controller;
use App\Models\User;
use App\Models\Hasil;
use App\Models\KuesionerLearningStyle;
use App\Models\KuesionerMetakognitif;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
class KuesionerMetaController extends Controller
{
public function showquestion()
{
$questions = [
"Saya bertanya kepada diri sendiri, “Apakah saya sudah mencapai tujuan saya?” ketika sedang berupaya mencapai tujuan secara intensif.",
"Saya mempertimbangkan berbagai pilihan sebelum saya menyelesaikan sebuah permasalahan.",
"Saya coba menggunakan cara-cara yang pernah saya pakai sebelumnya.",
"Saya terus menerus mengatur diri selama belajar agar memiliki waktu yang cukup.",
"Saya memahami kekuatan dan kelemahan kecerdasan saya.",
"Saya berpikir tentang apa yang sebenarnya perlu saya pelajari sebelum mengerjakan tugas.",
"Saya menyadari bagaimana baiknya saya menyelesaikan suatu tes.",
"Saya menyusun tujuan-tujuan khusus sebelum saya mengerjakan tugas.",
"Saya bertindak perlahan-lahan dan hati-hati bila mana menjumpai informasi penting.",
"Saya mengetahui macam informasi apa yang paling penting untuk dipelajari.",
"Saya bertanya kepada diri sendiri ketika mempertimbangkan seluruh pilihan untuk memecahkan suatu masalah.",
"Saya terampil/mahir menyusun dan merangkai suatu informasi.",
"Saya secara sadar memusatkan perhatian kepada informasi yang penting.",
"Untuk tiap cara yang saya gunakan, saya mempunyai maksud tertentu.",
"Saya belajar paling baik ketika saya mengetahui topik pembelajaran itu.",
"Saya mengetahui apa yang diharapkan guru untuk saya pelajari.",
"Saya mudah mengingat informasi.",
"Saya menggunakan cara belajar yang berbeda-beda tergantung pada situasi dan kondisi.",
"Setelah saya menyelesaikan suatu tugas, saya bertanya kepada diri sendiri apakah ada cara yang lebih mudah.",
"Saya mengendalikan sendiri kualitas belajar saya.",
"Secara teratur saya melakukan peninjauan kemampuan untuk menolong saya memahami hubungan-hubungan penting.",
"Sebelum memulai sesuatu, saya bertanya kepada diri sendiri tentang hal-hal terkait.",
"Saya mempertimbangkan berbagai cara untuk memecahkan sesuatu masalah sebelum akhirnya memutuskan salah satu diantaranya.",
"Setiap kali selesai belajar, saya membuat rangkuman.",
"Saya menanyakan orang lain bilamana saya tidak memahami sesuatu.",
"Saya dapat memotivasi diri untuk belajar bilamana diperlukan.",
"Saya menyadari cara apa yang digunakan ketika saya belajar.",
"Saya biasa memikirkan manfaat cara-cara belajar yang saya pakai.",
"Saya memanfaatkan kekuatan kecerdasan saya untuk menutupi kekurangan saya.",
"Saya memusatkan perhatian terhadap arti dan manfaat dari informasi yang baru.",
"Saya menemukan contoh-contoh sendiri sehingga informasi menjadi lebih bermakna atau jelas.",
"Saya tergolong adil menilai diri sendiri tentang seberapa baiknya saya memahami sesuatu.",
"Secara otomatis saya sadar menggunakan cara belajar yang berguna.",
"Secara teratur saya istirahat sebentar untuk mengatur pemahaman saya.",
"Saya menyadari/mengetahui bahwa setiap cara yang saya gunakan adalah yang paling efektif atau tepat.",
"Saya bertanya kepada diri sendiri tentang seberapa baik saya mencapai tujuan setelah menyelesaikan tugas.",
"Saya membuat gambar atau bagan untuk menolong saya selama belajar.",
"Saya bertanya kepada diri sendiri apakah saya telah mempertimbangkan semua pilihan, setiap kali saya memecahkan suatu masalah.",
"Saya berupaya memahami informasi baru dengan kata-kata saya sendiri.",
"Saya mengubah cara jika saya gagal memahami.",
"Saya menggunakan urutan topik/materi dari buku/teks untuk membantu saya belajar.",
"Saya membaca petunjuk secara teliti sebelum memulai melakukan suatu tugas.",
"Saya bertanya kepada diri sendiri apakah hal yang sedang dibaca berhubungan dengan apa yang telah saya ketahui.",
"Saya memikirkan kembali anggapan saya ketika saya bingung.",
"Saya mengatur waktu saya untuk mencapai tujuan sebaik-baiknya.",
"Saya lebih banyak belajar jika saya tertarik/senang dengan topik.",
"Saya berupaya membagi kegiatan belajar saya menjadi langkah-langkah yang lebih kecil.",
"Saya lebih memperhatikan makna umum dari pada makna khusus.",
"Saya bertanya kepada diri sendiri tentang seberapa baik saya bekerja, pada waktu mempelajari sesuatu yang baru.",
"Saya bertanya kepada diri sendiri apakah saya belajar sebanyak yang saya mampu, setiap kali saya menyelesaikan tugas.",
"Saya melupakan informasi baru yang tidak jelas.",
"Saya berhenti dan selanjutnya membaca kembali jika saya bingung."
];
return view('backend.main.kuesioner.kuesioner_metacognitive', compact('questions'));
}
public function store(Request $request)
{
if (!Auth::check()) {
return redirect()->route('login')->with('error', 'Silakan login terlebih dahulu.');
}
$user = Auth::user();
$answers = [];
for ($i = 1; $i <= 52; $i++) {
$answers["soal{$i}"] = $request->input("soal{$i}", 0);
}
// Hitung skor indikator
$indicator_scores = [
'declarative_knowledge' => array_sum(array_intersect_key($answers, array_flip(['soal5', 'soal10', 'soal12', 'soal16', 'soal17', 'soal20', 'soal32', 'soal46']))),
'procedural_knowledge' => array_sum(array_intersect_key($answers, array_flip(['soal3', 'soal14', 'soal27', 'soal33']))),
'conditional_knowledge' => array_sum(array_intersect_key($answers, array_flip(['soal15', 'soal18', 'soal26', 'soal29', 'soal35']))),
'planning' => array_sum(array_intersect_key($answers, array_flip(['soal4', 'soal6', 'soal8', 'soal22', 'soal23', 'soal42', 'soal45']))),
'information_management' => array_sum(array_intersect_key($answers, array_flip(['soal9', 'soal13', 'soal30', 'soal31', 'soal37', 'soal39', 'soal41', 'soal43', 'soal47', 'soal48']))),
'monitoring' => array_sum(array_intersect_key($answers, array_flip(['soal1', 'soal2', 'soal11', 'soal21', 'soal28', 'soal34', 'soal49']))),
'debugging' => array_sum(array_intersect_key($answers, array_flip(['soal25', 'soal40', 'soal44', 'soal51', 'soal52']))),
'evaluation' => array_sum(array_intersect_key($answers, array_flip(['soal7', 'soal19', 'soal24', 'soal36', 'soal38', 'soal50']))),
];
// Hitung total dan klasifikasi
$km_total = $indicator_scores['declarative_knowledge'] + $indicator_scores['procedural_knowledge'] + $indicator_scores['conditional_knowledge'];
$rm_total = $indicator_scores['planning'] + $indicator_scores['information_management'] + $indicator_scores['monitoring'] + $indicator_scores['debugging'] + $indicator_scores['evaluation'];
$km_class = ($km_total >= 63) ? 'high' : (($km_total >= 42) ? 'med' : 'low');
$rm_class = ($rm_total >= 132) ? 'high' : (($rm_total >= 88) ? 'med' : 'low');
$lv_meta = (($rm_class == 'high' && ($km_class == 'high' || $km_class == 'med')) ||
($rm_class == 'med' && ($km_class == 'high' || $km_class == 'med'))) ? 2 : 1;
// Tentukan kategori
$category = 4;
switch (true) {
case ($lv_meta == 1 && $km_class == 'low' && $rm_class == 'low'): $category = 1; break;
case ($lv_meta == 1 && $km_class == 'low' && $rm_class == 'med'): $category = 2; break;
case ($lv_meta == 1 && $km_class == 'low' && $rm_class == 'high'): $category = 3; break;
case ($lv_meta == 1 && $km_class == 'med' && $rm_class == 'low'): $category = 4; break;
case ($lv_meta == 2 && $km_class == 'med' && $rm_class == 'med'): $category = 5; break;
case ($lv_meta == 2 && $km_class == 'med' && $rm_class == 'high'): $category = 6; break;
case ($lv_meta == 2 && $km_class == 'high' && $rm_class == 'med'): $category = 7; break;
case ($lv_meta == 2 && $km_class == 'high' && $rm_class == 'high'): $category = 8; break;
}
// Simpan ke tabel hasil (update sebagian kolom saja)
Hasil::where('id_user', $user->id)->update([
'declarative_knowledge' => $indicator_scores['declarative_knowledge'],
'procedural_knowledge' => $indicator_scores['procedural_knowledge'],
'conditional_knowledge' => $indicator_scores['conditional_knowledge'],
'planning' => $indicator_scores['planning'],
'information_management' => $indicator_scores['information_management'],
'monitoring' => $indicator_scores['monitoring'],
'debugging' => $indicator_scores['debugging'],
'evaluation' => $indicator_scores['evaluation'],
'km_total' => $km_total,
'rm_total' => $rm_total,
'km_class' => $km_class,
'rm_class' => $rm_class,
'category' => $category,
]);
// Ambil hasil untuk ditampilkan
$kuesionerls = Hasil::where('id_user', $user->id)->first();
$kuesionermeta = Hasil::where('id_user', $user->id)->where('category', $category)->first();
// return view('backend.main.kuesioner.kuesioner_hasil', compact('kuesionerls', 'kuesionermeta'));
return redirect()->route('history_quis.index')->with('success', 'Kuesioner berhasil disimpan.');
}
}

View File

@ -0,0 +1,256 @@
<?php
namespace App\Http\Controllers\Backend;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
use App\Models\Materi;
use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Log;
class MateriController extends Controller
{
public function index()
{
$userId = Auth::id();
$data = DB::table('hasil')->where('id_user', $userId)->first();
if (!$data) {
return view('backend.materipembelajaran', [
'topStyles' => [],
'isMultimodal' => false,
'alternativeStyles' => [],
'isEmpty' => true
]);
}
$styles = [
'Visual' => $data->visual ?? 0,
'Auditory' => $data->auditory ?? 0,
'Read/ Write' => $data->readwrite ?? 0,
'Kinesthetic' => $data->kinesthetic ?? 0,
];
$maxValue = max($styles);
$topStyles = array_keys($styles, $maxValue);
$isMultimodal = count($topStyles) > 1;
$alternativeStyles = array_diff(array_keys($styles), $topStyles);
$isEmpty = empty(array_filter($styles));
return view('backend.materipembelajaran', compact('topStyles', 'isMultimodal', 'alternativeStyles', 'isEmpty'));
}
public function showByStyle($style)
{
$userId = Auth::id();
$hasil = DB::table('hasil')->where('id_user', $userId)->first();
if (!$hasil) {
return redirect()->route('user.questionnaire.check')->with('error', 'Silakan isi kuesioner terlebih dahulu untuk mengakses materi.');
}
$bladeMap = [
'visual' => 'visual',
'auditory' => 'auditory',
'read-write' => 'readwrite',
'kinesthetic' => 'kinesthetic',
];
$style = strtolower($style);
if (!array_key_exists($style, $bladeMap)) {
abort(404);
}
$id_style_map = [
'visual' => 1,
'auditory' => 2,
'read-write' => 3,
'kinesthetic' => 4,
];
$id_style = $id_style_map[$style];
$materi = DB::table('materi')
->where('id_style', $id_style)
->orderBy('id_materi')
->select('id_materi', 'konten', 'audio', 'teks', 'rangkuman')
->get();
return view('backend.materi.' . $bladeMap[$style], compact('materi'));
}
public function visual($id_materi)
{
$userId = Auth::id();
$hasil = DB::table('hasil')->where('id_user', $userId)->first();
if (!$hasil || ($hasil->visual == 0 && $hasil->auditory == 0 && $hasil->readwrite == 0 && $hasil->kinesthetic == 0)) {
return redirect('/materi')->with('error', 'Silakan isi kuesioner terlebih dahulu.');
}
$id_style = 1;
$materi = DB::table('materi')
->where('id_style', $id_style)
->where('id_materi', $id_materi)
->first();
if (!$materi) {
abort(404, 'Materi tidak ditemukan');
}
$next = DB::table('materi')->where('id_style', $id_style)->where('id_materi', '>', $id_materi)->orderBy('id_materi')->first();
$prev = DB::table('materi')->where('id_style', $id_style)->where('id_materi', '<', $id_materi)->orderByDesc('id_materi')->first();
$instruksi = DB::table('instruksi')->where('id_style', $id_style)->orderBy('id_instruksi')->pluck('instruksi');
return view('backend.materi.visual', compact('materi', 'next', 'prev', 'instruksi'));
}
public function auditory($id_materi)
{
$userId = Auth::id();
$hasil = DB::table('hasil')->where('id_user', $userId)->first();
if (!$hasil || ($hasil->visual == 0 && $hasil->auditory == 0 && $hasil->readwrite == 0 && $hasil->kinesthetic == 0)) {
return redirect('/materi')->with('error', 'Silakan isi kuesioner terlebih dahulu.');
}
$id_style = 2;
$materi = DB::table('materi')
->where('id_style', $id_style)
->where('id_materi', $id_materi)
->first();
if (!$materi) {
abort(404, 'Materi tidak ditemukan');
}
$next = DB::table('materi')->where('id_style', $id_style)->where('id_materi', '>', $id_materi)->orderBy('id_materi')->first();
$prev = DB::table('materi')->where('id_style', $id_style)->where('id_materi', '<', $id_materi)->orderByDesc('id_materi')->first();
$instruksi = DB::table('instruksi')->where('id_style', $id_style)->orderBy('id_instruksi')->pluck('instruksi');
return view('backend.materi.auditory', compact('materi', 'next', 'prev', 'instruksi'));
}
public function readwrite($id_materi)
{
$userId = Auth::id();
$hasil = DB::table('hasil')->where('id_user', $userId)->first();
if (!$hasil || ($hasil->visual == 0 && $hasil->auditory == 0 && $hasil->readwrite == 0 && $hasil->kinesthetic == 0)) {
return redirect('/materi')->with('error', 'Silakan isi kuesioner terlebih dahulu.');
}
$id_style = 3;
$materi = DB::table('materi')
->where('id_style', $id_style)
->where('id_materi', $id_materi)
->first();
if (!$materi) {
abort(404, 'Materi tidak ditemukan');
}
$next = DB::table('materi')->where('id_style', $id_style)->where('id_materi', '>', $id_materi)->orderBy('id_materi')->first();
$prev = DB::table('materi')->where('id_style', $id_style)->where('id_materi', '<', $id_materi)->orderByDesc('id_materi')->first();
$rangkuman = $hasil->rangkuman;
$instruksi = DB::table('instruksi')->where('id_style', $id_style)->orderBy('id_instruksi')->pluck('instruksi');
return view('backend.materi.readwrite', compact('materi', 'next', 'prev', 'rangkuman', 'instruksi'));
}
public function kinesthetic($id_materi)
{
$userId = Auth::id();
$hasil = DB::table('hasil')->where('id_user', $userId)->first();
if (!$hasil || ($hasil->visual == 0 && $hasil->auditory == 0 && $hasil->readwrite == 0 && $hasil->kinesthetic == 0)) {
return redirect('/materi')->with('error', 'Silakan isi kuesioner terlebih dahulu.');
}
$id_style = 4;
$materi = DB::table('materi')
->where('id_style', $id_style)
->where('id_materi', $id_materi)
->first();
if (!$materi) {
abort(404, 'Materi tidak ditemukan');
}
$instruksi = DB::table('instruksi')->where('id_style', $id_style)->orderBy('id_instruksi')->pluck('instruksi');
return view('backend.materi.kinesthetic', compact('materi', 'instruksi'));
}
public function submitRangkuman(Request $request)
{
$request->validate([
'rangkuman' => 'required|string|max:10000',
]);
$id_user = auth()->id();
DB::table('hasil')->updateOrInsert(
['id_user' => $id_user],
['rangkuman' => $request->rangkuman, 'updated_at' => now()]
);
return redirect()->back()->with('success', 'Rangkuman berhasil dikirim!');
}
public function submitKinesthetic(Request $request, $id_materi)
{
$id_style = 4;
$materi = DB::table('materi')
->where('id_style', $id_style)
->where('id_materi', $id_materi)
->first();
if (!$materi) {
return response()->json(['status' => 'error', 'output' => 'Materi tidak ditemukan.']);
}
$code = $request->input('code');
$response = Http::post('https://emkc.org/api/v2/piston/execute', [
'language' => 'java',
'version' => '15.0.2',
'files' => [
['name' => 'Main.java', 'content' => $code],
],
]);
if (!$response->ok()) {
return response()->json(['status' => 'error', 'output' => 'Gagal memanggil API Piston']);
}
$result = $response->json();
function normalizeOutput($text) {
$text = str_replace(["\r\n", "\r"], "\n", $text);
$text = preg_replace("/[ \t]+/", " ", $text);
$text = preg_replace("/ +\n/", "\n", $text);
$text = preg_replace('/[\x00-\x1F\x7F\xA0\xAD\x{200B}-\x{200D}\x{FEFF}]/u', '', $text);
return trim($text);
}
$output = normalizeOutput($result['run']['stdout'] ?? '');
$expected = normalizeOutput($materi->outputkode);
$isCorrect = $output === $expected;
return response()->json([
'status' => $isCorrect ? 'correct' : 'incorrect',
'output' => $output,
'expected' => $expected,
]);
}
}

View File

@ -17,7 +17,6 @@ public function index()
public function update(Request $request)
{
// Validate the request data (you can add more validation rules)
$validatedData = $request->validate([
'nama_lengkap' => 'required',
'nim' => 'required',
@ -25,23 +24,23 @@ public function update(Request $request)
'angkatan' => 'required',
'profile_image' => 'image|mimes:jpeg,png,jpg,gif|max:2048',
]);
$imagePath = null;
$user = User::findOrFail(auth()->user()->id); // <-- Pindahkan ke atas
if ($request->hasFile('profile_image')) {
$image = $request->file('profile_image');
$imagePath = $image->store('images', 'public');
$user->foto = $imagePath;
}
$user = User::findOrFail(auth()->user()->id);
$user->nama_lengkap = $request->input('nama_lengkap');
$user->nim = $request->input('nim');
$user->semester = $request->input('semester');
$user->angkatan = $request->input('angkatan');
if ($imagePath != null) {
$user->foto = $imagePath;
}
$user->update();
return redirect('/dashboard')->with('success', 'Profile updated successfully');
$user->save();
return redirect('/profile')->with('success', 'Profile updated successfully');
}
public function changePassword(Request $request)

View File

@ -0,0 +1,24 @@
<?php
namespace App\Http\Controllers\Backend;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
class ResumeController extends Controller
{
public function index()
{
$userId = Auth::id();
$rangkumanList = DB::table('hasil')
->where('id_user', $userId)
->pluck('rangkuman')
->filter(function ($item) {
return !is_null($item) && trim($item) !== '';
});
return view('backend.resumepembelajaran', compact('rangkumanList'));
}
}

View File

@ -64,5 +64,6 @@ class Kernel extends HttpKernel
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
'class' => \App\Http\Middleware\CheckUserClass::class,
'check.questionnaire' => \App\Http\Middleware\CheckQuestionnaire::class,
];
}

View File

@ -0,0 +1,41 @@
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
class CheckQuestionnaire
{
public function handle(Request $request, Closure $next)
{
$userId = Auth::id();
if (!$userId) {
// Jika belum login, redirect ke login
return redirect()->route('login');
}
// Ambil hasil VARK user
$hasil = DB::table('hasil')->where('id_user', $userId)->first();
// Jika data hasil tidak ada, atau semua nilai VARK kosong/0
if (
!$hasil ||
(
($hasil->visual ?? 0) == 0 &&
($hasil->auditory ?? 0) == 0 &&
($hasil->readwrite ?? 0) == 0 &&
($hasil->kinesthetic ?? 0) == 0
)
) {
// Redirect ke halaman cek kuesioner
// return redirect()->route('user.questionnaire.check')->with('error', 'Silakan isi kuesioner terlebih dahulu.');
return redirect()->route('materi.index')->with('error', 'Silakan isi kuesioner terlebih dahulu.');
}
return $next($request);
}
}

View File

@ -23,7 +23,17 @@ class Hasil extends Model
'debugging',
'evaluation',
'rm_total',
'rm_class'
'rm_class',
'visual',
'auditory',
'readwrite',
'kinesthetic',
'id_style',
'id_lstyle',
'rangkuman',
'result',
'created_at',
'updated_at'
];
public function user()

18
app/Models/Instruksi.php Normal file
View File

@ -0,0 +1,18 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Instruksi extends Model
{
use HasFactory;
protected $table = 'instruksi';
protected $primaryKey = 'id_instruksi ';
protected $guarded = [
'id_lstyle',
'lv_meta',
'instruksi',
];
}

View File

@ -0,0 +1,27 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class KuesionerLearningStyle extends Model
{
use HasFactory;
protected $table = 'kuesioner_learning_style';
protected $primaryKey = 'id_ls';
protected $fillable = [
'email',
'visual',
'auditory',
'readwrite',
'kinesthetic',
'id_lstyle',
'result',
];
public function user()
{
return $this->belongsTo(User::class, 'email', 'email');
}
}

View File

@ -0,0 +1,18 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class KuesionerMetakognitif extends Model
{
use HasFactory;
protected $table = 'kuesioner_metakognitif';
protected $primaryKey = 'category ';
protected $guarded = [
'lv_meta',
'km_class',
'rm_class',
];
}

29
app/Models/Materi.php Normal file
View File

@ -0,0 +1,29 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Materi extends Model
{
protected $table = 'materi';
public $timestamps = false;
protected $fillable = [
'id_style',
'id_materi',
'konten',
'audio',
'teks',
'kodesoal',
'outputkode',
'rangkuman',
];
// HAPUS baris ini:
// protected $primaryKey = ['id_style', 'id_materi'];
public $incrementing = false;
// Jika kamu ingin menggunakan find(), override method getKey() secara manual (opsional lanjutan)
}

View File

@ -10,6 +10,7 @@
"guzzlehttp/guzzle": "^7.0.1",
"laravel/framework": "^8.75",
"laravel/sanctum": "^2.11",
"laravel/socialite": "^5.21",
"laravel/tinker": "^2.5",
"laravel/ui": "^3.4"
},

446
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "cf14086919a839fe740e00554e4baff6",
"content-hash": "d82e066ef0fb7ea9b85ecf8bff584e3a",
"packages": [
{
"name": "asm89/stack-cors",
@ -493,6 +493,69 @@
],
"time": "2020-12-29T14:50:06+00:00"
},
{
"name": "firebase/php-jwt",
"version": "v6.11.1",
"source": {
"type": "git",
"url": "https://github.com/firebase/php-jwt.git",
"reference": "d1e91ecf8c598d073d0995afa8cd5c75c6e19e66"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/firebase/php-jwt/zipball/d1e91ecf8c598d073d0995afa8cd5c75c6e19e66",
"reference": "d1e91ecf8c598d073d0995afa8cd5c75c6e19e66",
"shasum": ""
},
"require": {
"php": "^8.0"
},
"require-dev": {
"guzzlehttp/guzzle": "^7.4",
"phpspec/prophecy-phpunit": "^2.0",
"phpunit/phpunit": "^9.5",
"psr/cache": "^2.0||^3.0",
"psr/http-client": "^1.0",
"psr/http-factory": "^1.0"
},
"suggest": {
"ext-sodium": "Support EdDSA (Ed25519) signatures",
"paragonie/sodium_compat": "Support EdDSA (Ed25519) signatures when libsodium is not present"
},
"type": "library",
"autoload": {
"psr-4": {
"Firebase\\JWT\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Neuman Vong",
"email": "neuman+pear@twilio.com",
"role": "Developer"
},
{
"name": "Anant Narayanan",
"email": "anant@php.net",
"role": "Developer"
}
],
"description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.",
"homepage": "https://github.com/firebase/php-jwt",
"keywords": [
"jwt",
"php"
],
"support": {
"issues": "https://github.com/firebase/php-jwt/issues",
"source": "https://github.com/firebase/php-jwt/tree/v6.11.1"
},
"time": "2025-04-09T20:32:01+00:00"
},
{
"name": "fruitcake/laravel-cors",
"version": "v2.2.0",
@ -1258,6 +1321,78 @@
},
"time": "2023-07-14T13:56:28+00:00"
},
{
"name": "laravel/socialite",
"version": "v5.21.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/socialite.git",
"reference": "d83639499ad14985c9a6a9713b70073300ce998d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/socialite/zipball/d83639499ad14985c9a6a9713b70073300ce998d",
"reference": "d83639499ad14985c9a6a9713b70073300ce998d",
"shasum": ""
},
"require": {
"ext-json": "*",
"firebase/php-jwt": "^6.4",
"guzzlehttp/guzzle": "^6.0|^7.0",
"illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0",
"illuminate/http": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0",
"illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0",
"league/oauth1-client": "^1.11",
"php": "^7.2|^8.0",
"phpseclib/phpseclib": "^3.0"
},
"require-dev": {
"mockery/mockery": "^1.0",
"orchestra/testbench": "^4.0|^5.0|^6.0|^7.0|^8.0|^9.0|^10.0",
"phpstan/phpstan": "^1.12.23",
"phpunit/phpunit": "^8.0|^9.3|^10.4|^11.5"
},
"type": "library",
"extra": {
"laravel": {
"aliases": {
"Socialite": "Laravel\\Socialite\\Facades\\Socialite"
},
"providers": [
"Laravel\\Socialite\\SocialiteServiceProvider"
]
},
"branch-alias": {
"dev-master": "5.x-dev"
}
},
"autoload": {
"psr-4": {
"Laravel\\Socialite\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Taylor Otwell",
"email": "taylor@laravel.com"
}
],
"description": "Laravel wrapper around OAuth 1 & OAuth 2 libraries.",
"homepage": "https://laravel.com",
"keywords": [
"laravel",
"oauth"
],
"support": {
"issues": "https://github.com/laravel/socialite/issues",
"source": "https://github.com/laravel/socialite"
},
"time": "2025-05-19T12:56:37+00:00"
},
{
"name": "laravel/tinker",
"version": "v2.8.2",
@ -1726,6 +1861,82 @@
],
"time": "2023-08-05T12:09:49+00:00"
},
{
"name": "league/oauth1-client",
"version": "v1.11.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/oauth1-client.git",
"reference": "f9c94b088837eb1aae1ad7c4f23eb65cc6993055"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/oauth1-client/zipball/f9c94b088837eb1aae1ad7c4f23eb65cc6993055",
"reference": "f9c94b088837eb1aae1ad7c4f23eb65cc6993055",
"shasum": ""
},
"require": {
"ext-json": "*",
"ext-openssl": "*",
"guzzlehttp/guzzle": "^6.0|^7.0",
"guzzlehttp/psr7": "^1.7|^2.0",
"php": ">=7.1||>=8.0"
},
"require-dev": {
"ext-simplexml": "*",
"friendsofphp/php-cs-fixer": "^2.17",
"mockery/mockery": "^1.3.3",
"phpstan/phpstan": "^0.12.42",
"phpunit/phpunit": "^7.5||9.5"
},
"suggest": {
"ext-simplexml": "For decoding XML-based responses."
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0-dev",
"dev-develop": "2.0-dev"
}
},
"autoload": {
"psr-4": {
"League\\OAuth1\\Client\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Ben Corlett",
"email": "bencorlett@me.com",
"homepage": "http://www.webcomm.com.au",
"role": "Developer"
}
],
"description": "OAuth 1.0 Client Library",
"keywords": [
"Authentication",
"SSO",
"authorization",
"bitbucket",
"identity",
"idp",
"oauth",
"oauth1",
"single sign on",
"trello",
"tumblr",
"twitter"
],
"support": {
"issues": "https://github.com/thephpleague/oauth1-client/issues",
"source": "https://github.com/thephpleague/oauth1-client/tree/v1.11.0"
},
"time": "2024-12-10T19:59:05+00:00"
},
{
"name": "monolog/monolog",
"version": "2.9.1",
@ -2203,6 +2414,123 @@
},
"time": "2022-01-27T09:35:39+00:00"
},
{
"name": "paragonie/constant_time_encoding",
"version": "v3.0.0",
"source": {
"type": "git",
"url": "https://github.com/paragonie/constant_time_encoding.git",
"reference": "df1e7fde177501eee2037dd159cf04f5f301a512"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/df1e7fde177501eee2037dd159cf04f5f301a512",
"reference": "df1e7fde177501eee2037dd159cf04f5f301a512",
"shasum": ""
},
"require": {
"php": "^8"
},
"require-dev": {
"phpunit/phpunit": "^9",
"vimeo/psalm": "^4|^5"
},
"type": "library",
"autoload": {
"psr-4": {
"ParagonIE\\ConstantTime\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Paragon Initiative Enterprises",
"email": "security@paragonie.com",
"homepage": "https://paragonie.com",
"role": "Maintainer"
},
{
"name": "Steve 'Sc00bz' Thomas",
"email": "steve@tobtu.com",
"homepage": "https://www.tobtu.com",
"role": "Original Developer"
}
],
"description": "Constant-time Implementations of RFC 4648 Encoding (Base-64, Base-32, Base-16)",
"keywords": [
"base16",
"base32",
"base32_decode",
"base32_encode",
"base64",
"base64_decode",
"base64_encode",
"bin2hex",
"encoding",
"hex",
"hex2bin",
"rfc4648"
],
"support": {
"email": "info@paragonie.com",
"issues": "https://github.com/paragonie/constant_time_encoding/issues",
"source": "https://github.com/paragonie/constant_time_encoding"
},
"time": "2024-05-08T12:36:18+00:00"
},
{
"name": "paragonie/random_compat",
"version": "v9.99.100",
"source": {
"type": "git",
"url": "https://github.com/paragonie/random_compat.git",
"reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/paragonie/random_compat/zipball/996434e5492cb4c3edcb9168db6fbb1359ef965a",
"reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a",
"shasum": ""
},
"require": {
"php": ">= 7"
},
"require-dev": {
"phpunit/phpunit": "4.*|5.*",
"vimeo/psalm": "^1"
},
"suggest": {
"ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
},
"type": "library",
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Paragon Initiative Enterprises",
"email": "security@paragonie.com",
"homepage": "https://paragonie.com"
}
],
"description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
"keywords": [
"csprng",
"polyfill",
"pseudorandom",
"random"
],
"support": {
"email": "info@paragonie.com",
"issues": "https://github.com/paragonie/random_compat/issues",
"source": "https://github.com/paragonie/random_compat"
},
"time": "2020-10-15T08:29:30+00:00"
},
{
"name": "phpoption/phpoption",
"version": "1.9.1",
@ -2278,6 +2606,116 @@
],
"time": "2023-02-25T19:38:58+00:00"
},
{
"name": "phpseclib/phpseclib",
"version": "3.0.45",
"source": {
"type": "git",
"url": "https://github.com/phpseclib/phpseclib.git",
"reference": "bd81b90d5963c6b9d87de50357585375223f4dd8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/bd81b90d5963c6b9d87de50357585375223f4dd8",
"reference": "bd81b90d5963c6b9d87de50357585375223f4dd8",
"shasum": ""
},
"require": {
"paragonie/constant_time_encoding": "^1|^2|^3",
"paragonie/random_compat": "^1.4|^2.0|^9.99.99",
"php": ">=5.6.1"
},
"require-dev": {
"phpunit/phpunit": "*"
},
"suggest": {
"ext-dom": "Install the DOM extension to load XML formatted public keys.",
"ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.",
"ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.",
"ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.",
"ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations."
},
"type": "library",
"autoload": {
"files": [
"phpseclib/bootstrap.php"
],
"psr-4": {
"phpseclib3\\": "phpseclib/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Jim Wigginton",
"email": "terrafrost@php.net",
"role": "Lead Developer"
},
{
"name": "Patrick Monnerat",
"email": "pm@datasphere.ch",
"role": "Developer"
},
{
"name": "Andreas Fischer",
"email": "bantu@phpbb.com",
"role": "Developer"
},
{
"name": "Hans-Jürgen Petrich",
"email": "petrich@tronic-media.com",
"role": "Developer"
},
{
"name": "Graham Campbell",
"email": "graham@alt-three.com",
"role": "Developer"
}
],
"description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.",
"homepage": "http://phpseclib.sourceforge.net",
"keywords": [
"BigInteger",
"aes",
"asn.1",
"asn1",
"blowfish",
"crypto",
"cryptography",
"encryption",
"rsa",
"security",
"sftp",
"signature",
"signing",
"ssh",
"twofish",
"x.509",
"x509"
],
"support": {
"issues": "https://github.com/phpseclib/phpseclib/issues",
"source": "https://github.com/phpseclib/phpseclib/tree/3.0.45"
},
"funding": [
{
"url": "https://github.com/terrafrost",
"type": "github"
},
{
"url": "https://www.patreon.com/phpseclib",
"type": "patreon"
},
{
"url": "https://tidelift.com/funding/github/packagist/phpseclib/phpseclib",
"type": "tidelift"
}
],
"time": "2025-06-22T22:54:43+00:00"
},
{
"name": "psr/clock",
"version": "1.0.0",
@ -7841,12 +8279,12 @@
],
"aliases": [],
"minimum-stability": "dev",
"stability-flags": [],
"stability-flags": {},
"prefer-stable": true,
"prefer-lowest": false,
"platform": {
"php": "^7.3|^8.0"
},
"platform-dev": [],
"plugin-api-version": "2.3.0"
"platform-dev": {},
"plugin-api-version": "2.6.0"
}

View File

@ -36,9 +36,9 @@
'mailers' => [
'smtp' => [
'transport' => 'smtp',
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
'port' => env('MAIL_PORT', 587),
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'host' => env('MAIL_HOST', 'mail.hypermedialearning.com'),
'port' => env('MAIL_PORT', 465),
'encryption' => env('MAIL_ENCRYPTION', 'ssl'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'timeout' => null,
@ -92,8 +92,8 @@
*/
'from' => [
'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
'name' => env('MAIL_FROM_NAME', 'Example'),
'address' => env('MAIL_FROM_ADDRESS', 'admin@hypermedialearning.com'),
'name' => env('MAIL_FROM_NAME', 'Admin Hypermedialearning'),
],
/*

View File

@ -30,4 +30,19 @@
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
],
'jdoodle' => [
'client_id' => env('JDOODLE_CLIENT_ID'),
'client_secret' => env('JDOODLE_CLIENT_SECRET'),
],
'google' => [
'client_id' => env('GOOGLE_CLIENT_ID'),
'client_secret' => env('GOOGLE_CLIENT_SECRET'),
'redirect' => env('GOOGLE_REDIRECT_URI'),
'guzzle' => [
'verify' => false, // Hanya untuk pengembangan
],
],
];

View File

@ -0,0 +1,30 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration {
public function up()
{
Schema::table('materi', function (Blueprint $table) {
// Tambah primary key gabungan jika belum ada
$table->dropPrimary(); // Buang primary key lama jika ada
$table->primary(['id_style', 'id_materi']);
// Tambah foreign key ke tabel hasil
$table->foreign('id_style')
->references('id_style')
->on('hasil')
->onDelete('cascade');
});
}
public function down()
{
Schema::table('materi', function (Blueprint $table) {
$table->dropForeign(['id_style']);
$table->dropPrimary();
});
}
};

View File

@ -0,0 +1,32 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddIdMateriToInstruksiTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('instruksi', function (Blueprint $table) {
//
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('instruksi', function (Blueprint $table) {
//
});
}
}

View File

@ -1,324 +0,0 @@
-- phpMyAdmin SQL Dump
-- version 5.0.2
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Generation Time: Aug 25, 2023 at 04:14 PM
-- Server version: 10.4.13-MariaDB
-- PHP Version: 7.4.8
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Database: `metacognitif`
--
-- --------------------------------------------------------
--
-- Table structure for table `admin`
--
CREATE TABLE `admin` (
`id` bigint(20) UNSIGNED NOT NULL,
`nama_lengkap` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`nip` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`email_verified_at` timestamp NULL DEFAULT NULL,
`password` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`kelas_user` enum('1','2','3') COLLATE utf8mb4_unicode_ci NOT NULL,
`remember_token` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- --------------------------------------------------------
--
-- Table structure for table `agent`
--
CREATE TABLE `agent` (
`id` bigint(20) UNSIGNED NOT NULL,
`text` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- --------------------------------------------------------
--
-- Table structure for table `failed_jobs`
--
CREATE TABLE `failed_jobs` (
`id` bigint(20) UNSIGNED NOT NULL,
`uuid` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`connection` text COLLATE utf8mb4_unicode_ci NOT NULL,
`queue` text COLLATE utf8mb4_unicode_ci NOT NULL,
`payload` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
`exception` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
`failed_at` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- --------------------------------------------------------
--
-- Table structure for table `hasil`
--
CREATE TABLE `hasil` (
`id` bigint(20) UNSIGNED NOT NULL,
`id_user` int(11) NOT NULL,
`declarative_knowledge` int(11) NOT NULL,
`procedural_knowledge` int(11) NOT NULL,
`conditional_knowledge` int(11) NOT NULL,
`km_total` int(11) NOT NULL,
`km_class` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`planning` int(11) NOT NULL,
`information_management` int(11) NOT NULL,
`monitoring` int(11) NOT NULL,
`debugging` int(11) NOT NULL,
`evaluation` int(11) NOT NULL,
`rm_total` int(11) NOT NULL,
`rm_class` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- --------------------------------------------------------
--
-- Table structure for table `kuesioner`
--
CREATE TABLE `kuesioner` (
`id` bigint(20) UNSIGNED NOT NULL,
`soal` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`kategori_soal` enum('1','2','3','4','5','6','7','8') COLLATE utf8mb4_unicode_ci NOT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- --------------------------------------------------------
--
-- Table structure for table `migrations`
--
CREATE TABLE `migrations` (
`id` int(10) UNSIGNED NOT NULL,
`migration` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`batch` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
--
-- Dumping data for table `migrations`
--
INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES
(8, '2014_10_12_000000_create_users_table', 1),
(9, '2014_10_12_100000_create_password_resets_table', 1),
(10, '2019_08_19_000000_create_failed_jobs_table', 1),
(11, '2019_12_14_000001_create_personal_access_tokens_table', 1),
(12, '2023_07_20_193208_create_hasil', 1),
(13, '2023_07_20_193230_create_kuesioner', 1),
(14, '2023_07_20_193244_create_agent', 1),
(15, '2023_08_18_132019_create_admin', 2);
-- --------------------------------------------------------
--
-- Table structure for table `password_resets`
--
CREATE TABLE `password_resets` (
`email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`token` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`created_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
--
-- Dumping data for table `password_resets`
--
INSERT INTO `password_resets` (`email`, `token`, `created_at`) VALUES
('radityaariefp@polije.ac.id', '$2y$10$4V7lbUU9a3hDAV3DXV5H.uY6CfqIYrHUB/VLsI8/Wg8HXTj4EIBEu', '2023-07-20 13:41:33');
-- --------------------------------------------------------
--
-- Table structure for table `personal_access_tokens`
--
CREATE TABLE `personal_access_tokens` (
`id` bigint(20) UNSIGNED NOT NULL,
`tokenable_type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`tokenable_id` bigint(20) UNSIGNED NOT NULL,
`name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`token` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
`abilities` text COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`last_used_at` timestamp NULL DEFAULT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- --------------------------------------------------------
--
-- Table structure for table `users`
--
CREATE TABLE `users` (
`id` bigint(20) UNSIGNED NOT NULL,
`nama_lengkap` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`nim` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`semester` int(11) NOT NULL,
`angkatan` int(11) NOT NULL,
`email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`email_verified_at` timestamp NULL DEFAULT NULL,
`password` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`foto` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`kelas_user` enum('1','2','3') COLLATE utf8mb4_unicode_ci NOT NULL,
`remember_token` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
--
-- Dumping data for table `users`
--
INSERT INTO `users` (`id`, `nama_lengkap`, `nim`, `semester`, `angkatan`, `email`, `email_verified_at`, `password`, `foto`, `kelas_user`, `remember_token`, `created_at`, `updated_at`) VALUES
(1, 'Raditya Arief Pratama', 'E4212423', 5, 2021, 'radityaariefp@polije.ac.id', NULL, '$2y$10$BiKA1.FSwf5dasvCOFJT1.xk7xcBeo8/e3xnVJvMN5vB/sMtciTPG', NULL, '3', 'TrWqo6l5DZ7wwcM1Hu0LBxmE9L8wU1eERg63Su40TsNGGY0zs0NoBTrPA2g5', '2023-07-20 13:13:22', '2023-07-20 13:13:22'),
(2, 'Admin', 'E4213214', 5, 2021, 'tifnganjuk@polije.ac.id', NULL, '$2y$10$bQ5ApEyhZ.bVSVy3oH1cv.DB/aijWrkinTGN4AEj7LBoWdb8e2/L.', NULL, '1', NULL, NULL, NULL);
--
-- Indexes for dumped tables
--
--
-- Indexes for table `admin`
--
ALTER TABLE `admin`
ADD PRIMARY KEY (`id`),
ADD UNIQUE KEY `admin_nama_lengkap_unique` (`nama_lengkap`),
ADD UNIQUE KEY `admin_email_unique` (`email`);
--
-- Indexes for table `agent`
--
ALTER TABLE `agent`
ADD PRIMARY KEY (`id`);
--
-- Indexes for table `failed_jobs`
--
ALTER TABLE `failed_jobs`
ADD PRIMARY KEY (`id`),
ADD UNIQUE KEY `failed_jobs_uuid_unique` (`uuid`);
--
-- Indexes for table `hasil`
--
ALTER TABLE `hasil`
ADD PRIMARY KEY (`id`);
--
-- Indexes for table `kuesioner`
--
ALTER TABLE `kuesioner`
ADD PRIMARY KEY (`id`);
--
-- Indexes for table `migrations`
--
ALTER TABLE `migrations`
ADD PRIMARY KEY (`id`);
--
-- Indexes for table `password_resets`
--
ALTER TABLE `password_resets`
ADD KEY `password_resets_email_index` (`email`);
--
-- Indexes for table `personal_access_tokens`
--
ALTER TABLE `personal_access_tokens`
ADD PRIMARY KEY (`id`),
ADD UNIQUE KEY `personal_access_tokens_token_unique` (`token`),
ADD KEY `personal_access_tokens_tokenable_type_tokenable_id_index` (`tokenable_type`,`tokenable_id`);
--
-- Indexes for table `users`
--
ALTER TABLE `users`
ADD PRIMARY KEY (`id`),
ADD UNIQUE KEY `users_nama_lengkap_unique` (`nama_lengkap`),
ADD UNIQUE KEY `users_email_unique` (`email`);
--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `admin`
--
ALTER TABLE `admin`
MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `agent`
--
ALTER TABLE `agent`
MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `failed_jobs`
--
ALTER TABLE `failed_jobs`
MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `hasil`
--
ALTER TABLE `hasil`
MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `kuesioner`
--
ALTER TABLE `kuesioner`
MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `migrations`
--
ALTER TABLE `migrations`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=16;
--
-- AUTO_INCREMENT for table `personal_access_tokens`
--
ALTER TABLE `personal_access_tokens`
MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `users`
--
ALTER TABLE `users`
MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
COMMIT;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

View File

@ -1,451 +0,0 @@
-- phpMyAdmin SQL Dump
-- version 5.2.0
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Generation Time: Oct 04, 2023 at 01:58 PM
-- Server version: 10.4.25-MariaDB
-- PHP Version: 8.1.10
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Database: `metacognitif`
--
-- --------------------------------------------------------
--
-- Table structure for table `admin`
--
CREATE TABLE `admin` (
`id` bigint(20) UNSIGNED NOT NULL,
`nama_lengkap` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`nip` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`email_verified_at` timestamp NULL DEFAULT NULL,
`password` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`kelas_user` enum('1','2','3') COLLATE utf8mb4_unicode_ci NOT NULL,
`remember_token` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- --------------------------------------------------------
--
-- Table structure for table `agent`
--
CREATE TABLE `agent` (
`id` bigint(20) UNSIGNED NOT NULL,
`text` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- --------------------------------------------------------
--
-- Table structure for table `failed_jobs`
--
CREATE TABLE `failed_jobs` (
`id` bigint(20) UNSIGNED NOT NULL,
`uuid` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`connection` text COLLATE utf8mb4_unicode_ci NOT NULL,
`queue` text COLLATE utf8mb4_unicode_ci NOT NULL,
`payload` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
`exception` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
`failed_at` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- --------------------------------------------------------
--
-- Table structure for table `hasil`
--
CREATE TABLE `hasil` (
`id` bigint(20) UNSIGNED NOT NULL,
`id_user` int(11) NOT NULL,
`id_periode` int(11) NOT NULL,
`declarative_knowledge` int(11) NOT NULL,
`procedural_knowledge` int(11) NOT NULL,
`conditional_knowledge` int(11) NOT NULL,
`km_total` int(11) NOT NULL,
`km_class` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`planning` int(11) NOT NULL,
`information_management` int(11) NOT NULL,
`monitoring` int(11) NOT NULL,
`debugging` int(11) NOT NULL,
`evaluation` int(11) NOT NULL,
`rm_total` int(11) NOT NULL,
`rm_class` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- --------------------------------------------------------
--
-- Table structure for table `kuesioner`
--
CREATE TABLE `kuesioner` (
`id` bigint(20) UNSIGNED NOT NULL,
`soal` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`kategori_soal` enum('1','2','3','4','5','6','7','8') COLLATE utf8mb4_unicode_ci NOT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
--
-- Dumping data for table `kuesioner`
--
INSERT INTO `kuesioner` (`id`, `soal`, `kategori_soal`, `created_at`, `updated_at`) VALUES
(1, 'Saya bertanya kepada diri sendiri, ”Apakah saya sudah mencapai tujuan saya?”, ketika sedang berupaya mencapai tujuan secara intensif.', '6', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(2, 'Saya mempertimbangkan berbagai pilihan sebelum saya menyelesaikan sebuah permasalahan.', '6', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(3, 'Saya coba menggunakan cara-cara yang pernah saya pakai sebelumnya', '2', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(4, 'Saya terus menerus mengatur diri selama belajar agar memiliki waktu yang cukup.', '4', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(5, 'Saya memahami kekuatan dan kelemahan kecerdasan saya.', '1', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(6, 'Saya berpikir tentang apa yang sebenarnya perlu saya pelajari sebelum mengerjakan tugas.', '4', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(7, 'Saya menyadari bagaimana baiknya saya menyelesaikan suatu tes.', '8', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(8, 'Saya menyusun tujuan-tujuan khusus sebelum saya mengerjakan tugas.', '4', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(9, 'Saya bertindak perlahan-lahan dan hati-hati bila mana menjumpai informasi penting.', '5', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(10, 'Saya mengetahui macam informasi apa yang paling penting untuk dipelajari.', '1', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(11, 'Saya bertanya kepada diri sendiri ketika mempertimbangkan seluruh pilihan untuk memecahkan suatu masalah.', '6', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(12, 'Saya terampil/mahir menyusun dan merangkai suatu informasi.', '1', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(13, 'Saya secara sadar memusatkan perhatian kepada informasi yang penting.', '5', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(14, 'Untuk tiap cara yang saya gunakan, saya mempunyai maksud tertentu.', '2', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(15, 'Saya belajar paling baik ketika saya mengetahui topik pembelajaran itu.', '3', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(16, 'Saya mengetahui apa yang diharapkan guru untuk saya pelajari.', '1', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(17, 'Saya mudah mengingat informasi.', '1', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(18, 'Saya menggunakan cara belajar yang berbeda-beda tergantung pada situasi dan kondisi.', '3', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(19, 'Setelah saya menyelesaikan suatu tugas, saya bertanya kepada diri sendiri apakah ada cara yang lebih mudah.', '8', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(20, 'Saya mengendalikan sendiri kualitas belajar saya.', '1', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(21, 'Secara teratur saya melakukan peninjauan kemampuan untuk menolong saya memahami hubungan-hubungan penting.', '6', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(22, 'Sebelum memulai sesuatu, saya bertanya kepada diri sendiri tentang hal-hal terkait.', '4', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(23, 'Saya mempertimbangkan berbagai cara untuk memecahkan sesuatu masalah sebelum akhirnya memutuskan salah satu diantaranya.', '4', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(24, 'Setiap kali selesai belajar, saya membuat rangkuman.', '8', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(25, 'Saya menanyakan orang lain bilamana saya tidak memahami sesuatu.', '7', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(26, 'Saya dapat memotivasi diri untuk belajar bilamana diperlukan.', '3', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(27, 'Saya menyadari cara apa yang digunakan ketika saya belajar.', '2', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(28, 'Saya biasa memikirkan manfaat cara-cara belajar yang saya pakai.', '6', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(29, 'Saya memanfaatkan kekuatan kecerdasan saya untuk menutupi kekurangan saya.', '3', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(30, 'Saya memusatkan perhatian terhadap arti dan manfaat dari informasi yang baru.', '5', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(31, 'Saya menemukan contoh-contoh sendiri sehingga informasi menjadi lebih bermakna atau jelas.', '5', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(32, 'Saya tergolong adil menilai diri sendiri tentang seberapa baiknya saya memahami sesuatu.', '1', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(33, 'Secara otomatis saya sadar menggunakan cara belajar yang berguna.', '2', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(34, 'Secara teratur saya istirahat sebentar untuk mengatur pemahaman saya.', '6', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(35, 'Saya menyadari/mengetahui bahwa setiap cara yang saya gunakan adalah yang paling efektif atau tepat.', '3', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(36, 'Saya bertanya kepada diri sendiri tentang seberapa baik saya mencapai tujuan setelah menyelesaikan tugas.', '8', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(37, 'Saya membuat gambar atau bagan untuk menolong saya selama saya belajar.', '5', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(38, 'Saya bertanya kepada diri sendiri apakah saya telah mempertimbangkan semua pilihan, setiap kali saya memecahkan suatu masalah.', '8', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(39, 'Saya berupaya memahami informasi baru dengan kata-kata saya sendiri.', '5', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(40, 'Saya mengubah cara jika saya gagal memahami.', '7', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(41, 'Saya menggunakan urutan topik/materi dari buku/teks untuk membantu saya belajar.', '5', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(42, 'Saya membaca petunjuk secara teliti sebelum memulai melakukan suatu tugas.', '4', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(43, 'Saya bertanya kepada diri sendiri apakah hal yang sedang dibaca berhubungan dengan apa yang telah saya ketahui.', '5', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(44, 'Saya memikirkan kembali anggapan saya ketika saya bingung.', '7', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(45, 'Saya mengatur waktu saya untuk mencapai tujuan sebaik-baiknya.', '4', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(46, 'Saya lebih banyak belajar jika saya tertarik/senang dengan topik.', '1', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(47, 'Saya berupaya membagi kegiatan belajar saya menjadi langkah-langkah yang lebih kecil.', '5', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(48, 'Saya lebih memperhatikan makna umum dari pada makna khusus.', '5', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(49, 'Saya bertanya kepada diri sendiri tentang seberapa baik saya bekerja, pada waktu mempelajari sesuatu hal yang baru.', '6', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(50, 'Saya bertanya kepada diri sendiri apakah saya belajar sebanyak yang saya mampu, setiap kali saya menyelesaikan tugas.', '8', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(51, 'Saya melupakan informasi baru yang tidak jelas.', '7', '2023-10-04 11:49:51', '2023-10-04 11:49:51'),
(52, 'Saya berhenti dan selanjutnya membaca kembali jika saya bingung.', '7', '2023-10-04 11:49:51', '2023-10-04 11:49:51');
-- --------------------------------------------------------
--
-- Table structure for table `migrations`
--
CREATE TABLE `migrations` (
`id` int(10) UNSIGNED NOT NULL,
`migration` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`batch` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
--
-- Dumping data for table `migrations`
--
INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES
(8, '2014_10_12_000000_create_users_table', 1),
(9, '2014_10_12_100000_create_password_resets_table', 1),
(10, '2019_08_19_000000_create_failed_jobs_table', 1),
(11, '2019_12_14_000001_create_personal_access_tokens_table', 1),
(12, '2023_07_20_193208_create_hasil', 1),
(13, '2023_07_20_193230_create_kuesioner', 1),
(14, '2023_07_20_193244_create_agent', 1),
(15, '2023_08_18_132019_create_admin', 2);
-- --------------------------------------------------------
--
-- Table structure for table `password_resets`
--
CREATE TABLE `password_resets` (
`email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`token` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`created_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
--
-- Dumping data for table `password_resets`
--
INSERT INTO `password_resets` (`email`, `token`, `created_at`) VALUES
('radityaariefp@polije.ac.id', '$2y$10$4V7lbUU9a3hDAV3DXV5H.uY6CfqIYrHUB/VLsI8/Wg8HXTj4EIBEu', '2023-07-20 13:41:33');
-- --------------------------------------------------------
--
-- Table structure for table `periode`
--
CREATE TABLE `periode` (
`id` int(11) NOT NULL,
`semester` enum('1','2') NOT NULL,
`tahun` char(9) NOT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
--
-- Table structure for table `personal_access_tokens`
--
CREATE TABLE `personal_access_tokens` (
`id` bigint(20) UNSIGNED NOT NULL,
`tokenable_type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`tokenable_id` bigint(20) UNSIGNED NOT NULL,
`name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`token` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
`abilities` text COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`last_used_at` timestamp NULL DEFAULT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- --------------------------------------------------------
--
-- Table structure for table `pilih_periode`
--
CREATE TABLE `pilih_periode` (
`id` int(11) NOT NULL,
`id_periode` int(11) DEFAULT NULL,
`aktif` enum('0','1') NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
--
-- Dumping data for table `pilih_periode`
--
INSERT INTO `pilih_periode` (`id`, `id_periode`, `aktif`) VALUES
(1, NULL, '1');
-- --------------------------------------------------------
--
-- Table structure for table `users`
--
CREATE TABLE `users` (
`id` bigint(20) UNSIGNED NOT NULL,
`nama_lengkap` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`nim` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`semester` int(11) NOT NULL,
`angkatan` int(11) NOT NULL,
`email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`email_verified_at` timestamp NULL DEFAULT NULL,
`password` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`foto` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`kelas_user` enum('1','2','3') COLLATE utf8mb4_unicode_ci NOT NULL,
`remember_token` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
--
-- Dumping data for table `users`
--
INSERT INTO `users` (`id`, `nama_lengkap`, `nim`, `semester`, `angkatan`, `email`, `email_verified_at`, `password`, `foto`, `kelas_user`, `remember_token`, `created_at`, `updated_at`) VALUES
(1, 'Raditya Arief Pratama', 'E4212423', 5, 2021, 'radityaariefp@polije.ac.id', NULL, '$2y$10$BiKA1.FSwf5dasvCOFJT1.xk7xcBeo8/e3xnVJvMN5vB/sMtciTPG', NULL, '3', 'PB96bDJ1I1CSIJLiTqLTdIHmyTj2aOZQORYlx7j2pPLhhbYmcll7bVcZRwkb', '2023-07-20 13:13:22', '2023-07-20 13:13:22'),
(2, 'Admin', 'E4213214', 5, 2021, 'tifnganjuk@polije.ac.id', NULL, '$2y$10$bQ5ApEyhZ.bVSVy3oH1cv.DB/aijWrkinTGN4AEj7LBoWdb8e2/L.', NULL, '1', NULL, NULL, NULL);
--
-- Indexes for dumped tables
--
--
-- Indexes for table `admin`
--
ALTER TABLE `admin`
ADD PRIMARY KEY (`id`),
ADD UNIQUE KEY `admin_nama_lengkap_unique` (`nama_lengkap`),
ADD UNIQUE KEY `admin_email_unique` (`email`);
--
-- Indexes for table `agent`
--
ALTER TABLE `agent`
ADD PRIMARY KEY (`id`);
--
-- Indexes for table `failed_jobs`
--
ALTER TABLE `failed_jobs`
ADD PRIMARY KEY (`id`),
ADD UNIQUE KEY `failed_jobs_uuid_unique` (`uuid`);
--
-- Indexes for table `hasil`
--
ALTER TABLE `hasil`
ADD PRIMARY KEY (`id`);
--
-- Indexes for table `kuesioner`
--
ALTER TABLE `kuesioner`
ADD PRIMARY KEY (`id`);
--
-- Indexes for table `migrations`
--
ALTER TABLE `migrations`
ADD PRIMARY KEY (`id`);
--
-- Indexes for table `password_resets`
--
ALTER TABLE `password_resets`
ADD KEY `password_resets_email_index` (`email`);
--
-- Indexes for table `periode`
--
ALTER TABLE `periode`
ADD PRIMARY KEY (`id`);
--
-- Indexes for table `personal_access_tokens`
--
ALTER TABLE `personal_access_tokens`
ADD PRIMARY KEY (`id`),
ADD UNIQUE KEY `personal_access_tokens_token_unique` (`token`),
ADD KEY `personal_access_tokens_tokenable_type_tokenable_id_index` (`tokenable_type`,`tokenable_id`);
--
-- Indexes for table `pilih_periode`
--
ALTER TABLE `pilih_periode`
ADD PRIMARY KEY (`id`),
ADD KEY `id_periode` (`id_periode`);
--
-- Indexes for table `users`
--
ALTER TABLE `users`
ADD PRIMARY KEY (`id`),
ADD UNIQUE KEY `users_nama_lengkap_unique` (`nama_lengkap`),
ADD UNIQUE KEY `users_email_unique` (`email`);
--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `admin`
--
ALTER TABLE `admin`
MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `agent`
--
ALTER TABLE `agent`
MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `failed_jobs`
--
ALTER TABLE `failed_jobs`
MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `hasil`
--
ALTER TABLE `hasil`
MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `kuesioner`
--
ALTER TABLE `kuesioner`
MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=53;
--
-- AUTO_INCREMENT for table `migrations`
--
ALTER TABLE `migrations`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=16;
--
-- AUTO_INCREMENT for table `periode`
--
ALTER TABLE `periode`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `personal_access_tokens`
--
ALTER TABLE `personal_access_tokens`
MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `pilih_periode`
--
ALTER TABLE `pilih_periode`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
--
-- AUTO_INCREMENT for table `users`
--
ALTER TABLE `users`
MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
--
-- Constraints for dumped tables
--
--
-- Constraints for table `pilih_periode`
--
ALTER TABLE `pilih_periode`
ADD CONSTRAINT `pilih_periode_ibfk_1` FOREIGN KEY (`id_periode`) REFERENCES `periode` (`id`) ON UPDATE CASCADE;
COMMIT;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

View File

@ -1,21 +0,0 @@
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Send Requests To Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>

View File

@ -1,6 +0,0 @@
Thanks for downloading this template!
Template Name: NiceAdmin
Template URL: https://bootstrapmade.com/nice-admin-bootstrap-admin-html-template/
Author: BootstrapMade.com
License: https://bootstrapmade.com/license/

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 162 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 8.7 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 610 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 738 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

View File

@ -1,321 +0,0 @@
/**
* Template Name: NiceAdmin
* Updated: May 30 2023 with Bootstrap v5.3.0
* Template URL: https://bootstrapmade.com/nice-admin-bootstrap-admin-html-template/
* Author: BootstrapMade.com
* License: https://bootstrapmade.com/license/
*/
(function() {
"use strict";
/**
* Easy selector helper function
*/
const select = (el, all = false) => {
el = el.trim()
if (all) {
return [...document.querySelectorAll(el)]
} else {
return document.querySelector(el)
}
}
/**
* Easy event listener function
*/
const on = (type, el, listener, all = false) => {
if (all) {
select(el, all).forEach(e => e.addEventListener(type, listener))
} else {
select(el, all).addEventListener(type, listener)
}
}
/**
* Easy on scroll event listener
*/
const onscroll = (el, listener) => {
el.addEventListener('scroll', listener)
}
/**
* Sidebar toggle
*/
if (select('.toggle-sidebar-btn')) {
on('click', '.toggle-sidebar-btn', function(e) {
select('body').classList.toggle('toggle-sidebar')
})
}
/**
* Search bar toggle
*/
if (select('.search-bar-toggle')) {
on('click', '.search-bar-toggle', function(e) {
select('.search-bar').classList.toggle('search-bar-show')
})
}
/**
* Navbar links active state on scroll
*/
let navbarlinks = select('#navbar .scrollto', true)
const navbarlinksActive = () => {
let position = window.scrollY + 200
navbarlinks.forEach(navbarlink => {
if (!navbarlink.hash) return
let section = select(navbarlink.hash)
if (!section) return
if (position >= section.offsetTop && position <= (section.offsetTop + section.offsetHeight)) {
navbarlink.classList.add('active')
} else {
navbarlink.classList.remove('active')
}
})
}
window.addEventListener('load', navbarlinksActive)
onscroll(document, navbarlinksActive)
/**
* Toggle .header-scrolled class to #header when page is scrolled
*/
let selectHeader = select('#header')
if (selectHeader) {
const headerScrolled = () => {
if (window.scrollY > 100) {
selectHeader.classList.add('header-scrolled')
} else {
selectHeader.classList.remove('header-scrolled')
}
}
window.addEventListener('load', headerScrolled)
onscroll(document, headerScrolled)
}
/**
* Back to top button
*/
let backtotop = select('.back-to-top')
if (backtotop) {
const toggleBacktotop = () => {
if (window.scrollY > 100) {
backtotop.classList.add('active')
} else {
backtotop.classList.remove('active')
}
}
window.addEventListener('load', toggleBacktotop)
onscroll(document, toggleBacktotop)
}
/**
* Initiate tooltips
*/
var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
var tooltipList = tooltipTriggerList.map(function(tooltipTriggerEl) {
return new bootstrap.Tooltip(tooltipTriggerEl)
})
/**
* Initiate quill editors
*/
if (select('.quill-editor-default')) {
new Quill('.quill-editor-default', {
theme: 'snow'
});
}
if (select('.quill-editor-bubble')) {
new Quill('.quill-editor-bubble', {
theme: 'bubble'
});
}
if (select('.quill-editor-full')) {
new Quill(".quill-editor-full", {
modules: {
toolbar: [
[{
font: []
}, {
size: []
}],
["bold", "italic", "underline", "strike"],
[{
color: []
},
{
background: []
}
],
[{
script: "super"
},
{
script: "sub"
}
],
[{
list: "ordered"
},
{
list: "bullet"
},
{
indent: "-1"
},
{
indent: "+1"
}
],
["direction", {
align: []
}],
["link", "image", "video"],
["clean"]
]
},
theme: "snow"
});
}
/**
* Initiate TinyMCE Editor
*/
const useDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches;
const isSmallScreen = window.matchMedia('(max-width: 1023.5px)').matches;
tinymce.init({
selector: 'textarea.tinymce-editor',
plugins: 'preview importcss searchreplace autolink autosave save directionality code visualblocks visualchars fullscreen image link media template codesample table charmap pagebreak nonbreaking anchor insertdatetime advlist lists wordcount help charmap quickbars emoticons',
editimage_cors_hosts: ['picsum.photos'],
menubar: 'file edit view insert format tools table help',
toolbar: 'undo redo | bold italic underline strikethrough | fontfamily fontsize blocks | alignleft aligncenter alignright alignjustify | outdent indent | numlist bullist | forecolor backcolor removeformat | pagebreak | charmap emoticons | fullscreen preview save print | insertfile image media template link anchor codesample | ltr rtl',
toolbar_sticky: true,
toolbar_sticky_offset: isSmallScreen ? 102 : 108,
autosave_ask_before_unload: true,
autosave_interval: '30s',
autosave_prefix: '{path}{query}-{id}-',
autosave_restore_when_empty: false,
autosave_retention: '2m',
image_advtab: true,
link_list: [{
title: 'My page 1',
value: 'https://www.tiny.cloud'
},
{
title: 'My page 2',
value: 'http://www.moxiecode.com'
}
],
image_list: [{
title: 'My page 1',
value: 'https://www.tiny.cloud'
},
{
title: 'My page 2',
value: 'http://www.moxiecode.com'
}
],
image_class_list: [{
title: 'None',
value: ''
},
{
title: 'Some class',
value: 'class-name'
}
],
importcss_append: true,
file_picker_callback: (callback, value, meta) => {
/* Provide file and text for the link dialog */
if (meta.filetype === 'file') {
callback('https://www.google.com/logos/google.jpg', {
text: 'My text'
});
}
/* Provide image and alt text for the image dialog */
if (meta.filetype === 'image') {
callback('https://www.google.com/logos/google.jpg', {
alt: 'My alt text'
});
}
/* Provide alternative source and posted for the media dialog */
if (meta.filetype === 'media') {
callback('movie.mp4', {
source2: 'alt.ogg',
poster: 'https://www.google.com/logos/google.jpg'
});
}
},
templates: [{
title: 'New Table',
description: 'creates a new table',
content: '<div class="mceTmpl"><table width="98%%" border="0" cellspacing="0" cellpadding="0"><tr><th scope="col"> </th><th scope="col"> </th></tr><tr><td> </td><td> </td></tr></table></div>'
},
{
title: 'Starting my story',
description: 'A cure for writers block',
content: 'Once upon a time...'
},
{
title: 'New list with dates',
description: 'New List with dates',
content: '<div class="mceTmpl"><span class="cdate">cdate</span><br><span class="mdate">mdate</span><h2>My List</h2><ul><li></li><li></li></ul></div>'
}
],
template_cdate_format: '[Date Created (CDATE): %m/%d/%Y : %H:%M:%S]',
template_mdate_format: '[Date Modified (MDATE): %m/%d/%Y : %H:%M:%S]',
height: 600,
image_caption: true,
quickbars_selection_toolbar: 'bold italic | quicklink h2 h3 blockquote quickimage quicktable',
noneditable_class: 'mceNonEditable',
toolbar_mode: 'sliding',
contextmenu: 'link image table',
skin: useDarkMode ? 'oxide-dark' : 'oxide',
content_css: useDarkMode ? 'dark' : 'default',
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:16px }'
});
/**
* Initiate Bootstrap validation check
*/
var needsValidation = document.querySelectorAll('.needs-validation')
Array.prototype.slice.call(needsValidation)
.forEach(function(form) {
form.addEventListener('submit', function(event) {
if (!form.checkValidity()) {
event.preventDefault()
event.stopPropagation()
}
form.classList.add('was-validated')
}, false)
})
/**
* Initiate Datatables
*/
const datatables = select('.datatable', true)
datatables.forEach(datatable => {
new simpleDatatables.DataTable(datatable);
})
/**
* Autoresize echart charts
*/
const mainContainer = select('#main');
if (mainContainer) {
setTimeout(() => {
new ResizeObserver(function() {
select('.echart', true).forEach(getEchart => {
echarts.getInstanceByDom(getEchart).resize();
})
}).observe(mainContainer);
}, 200);
}
})();

View File

@ -1,16 +0,0 @@
const Toast = Swal.mixin({
toast: true,
position: "top-end",
showConfirmButton: false,
timer: 3000,
timerProgressBar: true,
didOpen: (toast) => {
toast.addEventListener("mouseenter", Swal.stopTimer);
toast.addEventListener("mouseleave", Swal.resumeTimer);
},
});
Toast.fire({
icon: "success",
title: "Berhasil disimpan",
});

View File

@ -1 +0,0 @@
The .scss (Sass) files are only available in the pro version.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,581 +0,0 @@
@keyframes opaque {
0% {
opacity: 0
}
to {
opacity: 1
}
}
@keyframes resizeanim {
0%,to {
opacity: 0
}
}
.apexcharts-canvas {
position: relative;
user-select: none
}
.apexcharts-canvas ::-webkit-scrollbar {
-webkit-appearance: none;
width: 6px
}
.apexcharts-canvas ::-webkit-scrollbar-thumb {
border-radius: 4px;
background-color: rgba(0,0,0,.5);
box-shadow: 0 0 1px rgba(255,255,255,.5);
-webkit-box-shadow: 0 0 1px rgba(255,255,255,.5)
}
.apexcharts-inner {
position: relative
}
.apexcharts-text tspan {
font-family: inherit
}
.legend-mouseover-inactive {
transition: .15s ease all;
opacity: .2
}
.apexcharts-legend-text {
padding-left: 15px;
margin-left: -15px;
}
.apexcharts-series-collapsed {
opacity: 0
}
.apexcharts-tooltip {
border-radius: 5px;
box-shadow: 2px 2px 6px -4px #999;
cursor: default;
font-size: 14px;
left: 62px;
opacity: 0;
pointer-events: none;
position: absolute;
top: 20px;
display: flex;
flex-direction: column;
overflow: hidden;
white-space: nowrap;
z-index: 12;
transition: .15s ease all
}
.apexcharts-tooltip.apexcharts-active {
opacity: 1;
transition: .15s ease all
}
.apexcharts-tooltip.apexcharts-theme-light {
border: 1px solid #e3e3e3;
background: rgba(255,255,255,.96)
}
.apexcharts-tooltip.apexcharts-theme-dark {
color: #fff;
background: rgba(30,30,30,.8)
}
.apexcharts-tooltip * {
font-family: inherit
}
.apexcharts-tooltip-title {
padding: 6px;
font-size: 15px;
margin-bottom: 4px
}
.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title {
background: #eceff1;
border-bottom: 1px solid #ddd
}
.apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title {
background: rgba(0,0,0,.7);
border-bottom: 1px solid #333
}
.apexcharts-tooltip-text-goals-value,.apexcharts-tooltip-text-y-value,.apexcharts-tooltip-text-z-value {
display: inline-block;
margin-left: 5px;
font-weight: 600
}
.apexcharts-tooltip-text-goals-label:empty,.apexcharts-tooltip-text-goals-value:empty,.apexcharts-tooltip-text-y-label:empty,.apexcharts-tooltip-text-y-value:empty,.apexcharts-tooltip-text-z-value:empty,.apexcharts-tooltip-title:empty {
display: none
}
.apexcharts-tooltip-text-goals-label,.apexcharts-tooltip-text-goals-value {
padding: 6px 0 5px
}
.apexcharts-tooltip-goals-group,.apexcharts-tooltip-text-goals-label,.apexcharts-tooltip-text-goals-value {
display: flex
}
.apexcharts-tooltip-text-goals-label:not(:empty),.apexcharts-tooltip-text-goals-value:not(:empty) {
margin-top: -6px
}
.apexcharts-tooltip-marker {
width: 12px;
height: 12px;
position: relative;
top: 0;
margin-right: 10px;
border-radius: 50%
}
.apexcharts-tooltip-series-group {
padding: 0 10px;
display: none;
text-align: left;
justify-content: left;
align-items: center
}
.apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker {
opacity: 1
}
.apexcharts-tooltip-series-group.apexcharts-active,.apexcharts-tooltip-series-group:last-child {
padding-bottom: 4px
}
.apexcharts-tooltip-series-group-hidden {
opacity: 0;
height: 0;
line-height: 0;
padding: 0!important
}
.apexcharts-tooltip-y-group {
padding: 6px 0 5px
}
.apexcharts-custom-tooltip,.apexcharts-tooltip-box {
padding: 4px 8px
}
.apexcharts-tooltip-boxPlot {
display: flex;
flex-direction: column-reverse
}
.apexcharts-tooltip-box>div {
margin: 4px 0
}
.apexcharts-tooltip-box span.value {
font-weight: 700
}
.apexcharts-tooltip-rangebar {
padding: 5px 8px
}
.apexcharts-tooltip-rangebar .category {
font-weight: 600;
color: #777
}
.apexcharts-tooltip-rangebar .series-name {
font-weight: 700;
display: block;
margin-bottom: 5px
}
.apexcharts-xaxistooltip,.apexcharts-yaxistooltip {
opacity: 0;
pointer-events: none;
color: #373d3f;
font-size: 13px;
text-align: center;
border-radius: 2px;
position: absolute;
z-index: 10;
background: #eceff1;
border: 1px solid #90a4ae
}
.apexcharts-xaxistooltip {
padding: 9px 10px;
transition: .15s ease all
}
.apexcharts-xaxistooltip.apexcharts-theme-dark {
background: rgba(0,0,0,.7);
border: 1px solid rgba(0,0,0,.5);
color: #fff
}
.apexcharts-xaxistooltip:after,.apexcharts-xaxistooltip:before {
left: 50%;
border: solid transparent;
content: " ";
height: 0;
width: 0;
position: absolute;
pointer-events: none
}
.apexcharts-xaxistooltip:after {
border-color: transparent;
border-width: 6px;
margin-left: -6px
}
.apexcharts-xaxistooltip:before {
border-color: transparent;
border-width: 7px;
margin-left: -7px
}
.apexcharts-xaxistooltip-bottom:after,.apexcharts-xaxistooltip-bottom:before {
bottom: 100%
}
.apexcharts-xaxistooltip-top:after,.apexcharts-xaxistooltip-top:before {
top: 100%
}
.apexcharts-xaxistooltip-bottom:after {
border-bottom-color: #eceff1
}
.apexcharts-xaxistooltip-bottom:before {
border-bottom-color: #90a4ae
}
.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after,.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before {
border-bottom-color: rgba(0,0,0,.5)
}
.apexcharts-xaxistooltip-top:after {
border-top-color: #eceff1
}
.apexcharts-xaxistooltip-top:before {
border-top-color: #90a4ae
}
.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after,.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before {
border-top-color: rgba(0,0,0,.5)
}
.apexcharts-xaxistooltip.apexcharts-active {
opacity: 1;
transition: .15s ease all
}
.apexcharts-yaxistooltip {
padding: 4px 10px
}
.apexcharts-yaxistooltip.apexcharts-theme-dark {
background: rgba(0,0,0,.7);
border: 1px solid rgba(0,0,0,.5);
color: #fff
}
.apexcharts-yaxistooltip:after,.apexcharts-yaxistooltip:before {
top: 50%;
border: solid transparent;
content: " ";
height: 0;
width: 0;
position: absolute;
pointer-events: none
}
.apexcharts-yaxistooltip:after {
border-color: transparent;
border-width: 6px;
margin-top: -6px
}
.apexcharts-yaxistooltip:before {
border-color: transparent;
border-width: 7px;
margin-top: -7px
}
.apexcharts-yaxistooltip-left:after,.apexcharts-yaxistooltip-left:before {
left: 100%
}
.apexcharts-yaxistooltip-right:after,.apexcharts-yaxistooltip-right:before {
right: 100%
}
.apexcharts-yaxistooltip-left:after {
border-left-color: #eceff1
}
.apexcharts-yaxistooltip-left:before {
border-left-color: #90a4ae
}
.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after,.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before {
border-left-color: rgba(0,0,0,.5)
}
.apexcharts-yaxistooltip-right:after {
border-right-color: #eceff1
}
.apexcharts-yaxistooltip-right:before {
border-right-color: #90a4ae
}
.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after,.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before {
border-right-color: rgba(0,0,0,.5)
}
.apexcharts-yaxistooltip.apexcharts-active {
opacity: 1
}
.apexcharts-yaxistooltip-hidden {
display: none
}
.apexcharts-xcrosshairs,.apexcharts-ycrosshairs {
pointer-events: none;
opacity: 0;
transition: .15s ease all
}
.apexcharts-xcrosshairs.apexcharts-active,.apexcharts-ycrosshairs.apexcharts-active {
opacity: 1;
transition: .15s ease all
}
.apexcharts-ycrosshairs-hidden {
opacity: 0
}
.apexcharts-selection-rect {
cursor: move
}
.svg_select_boundingRect,.svg_select_points_rot {
pointer-events: none;
opacity: 0;
visibility: hidden
}
.apexcharts-selection-rect+g .svg_select_boundingRect,.apexcharts-selection-rect+g .svg_select_points_rot {
opacity: 0;
visibility: hidden
}
.apexcharts-selection-rect+g .svg_select_points_l,.apexcharts-selection-rect+g .svg_select_points_r {
cursor: ew-resize;
opacity: 1;
visibility: visible
}
.svg_select_points {
fill: #efefef;
stroke: #333;
rx: 2
}
.apexcharts-svg.apexcharts-zoomable.hovering-zoom {
cursor: crosshair
}
.apexcharts-svg.apexcharts-zoomable.hovering-pan {
cursor: move
}
.apexcharts-menu-icon,.apexcharts-pan-icon,.apexcharts-reset-icon,.apexcharts-selection-icon,.apexcharts-toolbar-custom-icon,.apexcharts-zoom-icon,.apexcharts-zoomin-icon,.apexcharts-zoomout-icon {
cursor: pointer;
width: 20px;
height: 20px;
line-height: 24px;
color: #6e8192;
text-align: center
}
.apexcharts-menu-icon svg,.apexcharts-reset-icon svg,.apexcharts-zoom-icon svg,.apexcharts-zoomin-icon svg,.apexcharts-zoomout-icon svg {
fill: #6e8192
}
.apexcharts-selection-icon svg {
fill: #444;
transform: scale(.76)
}
.apexcharts-theme-dark .apexcharts-menu-icon svg,.apexcharts-theme-dark .apexcharts-pan-icon svg,.apexcharts-theme-dark .apexcharts-reset-icon svg,.apexcharts-theme-dark .apexcharts-selection-icon svg,.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg,.apexcharts-theme-dark .apexcharts-zoom-icon svg,.apexcharts-theme-dark .apexcharts-zoomin-icon svg,.apexcharts-theme-dark .apexcharts-zoomout-icon svg {
fill: #f3f4f5
}
.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg,.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg,.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg {
fill: #008ffb
}
.apexcharts-theme-light .apexcharts-menu-icon:hover svg,.apexcharts-theme-light .apexcharts-reset-icon:hover svg,.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg,.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg,.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg,.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg {
fill: #333
}
.apexcharts-menu-icon,.apexcharts-selection-icon {
position: relative
}
.apexcharts-reset-icon {
margin-left: 5px
}
.apexcharts-menu-icon,.apexcharts-reset-icon,.apexcharts-zoom-icon {
transform: scale(.85)
}
.apexcharts-zoomin-icon,.apexcharts-zoomout-icon {
transform: scale(.7)
}
.apexcharts-zoomout-icon {
margin-right: 3px
}
.apexcharts-pan-icon {
transform: scale(.62);
position: relative;
left: 1px;
top: 0
}
.apexcharts-pan-icon svg {
fill: #fff;
stroke: #6e8192;
stroke-width: 2
}
.apexcharts-pan-icon.apexcharts-selected svg {
stroke: #008ffb
}
.apexcharts-pan-icon:not(.apexcharts-selected):hover svg {
stroke: #333
}
.apexcharts-toolbar {
position: absolute;
z-index: 11;
max-width: 176px;
text-align: right;
border-radius: 3px;
padding: 0 6px 2px;
display: flex;
justify-content: space-between;
align-items: center
}
.apexcharts-menu {
background: #fff;
position: absolute;
top: 100%;
border: 1px solid #ddd;
border-radius: 3px;
padding: 3px;
right: 10px;
opacity: 0;
min-width: 110px;
transition: .15s ease all;
pointer-events: none
}
.apexcharts-menu.apexcharts-menu-open {
opacity: 1;
pointer-events: all;
transition: .15s ease all
}
.apexcharts-menu-item {
padding: 6px 7px;
font-size: 12px;
cursor: pointer
}
.apexcharts-theme-light .apexcharts-menu-item:hover {
background: #eee
}
.apexcharts-theme-dark .apexcharts-menu {
background: rgba(0,0,0,.7);
color: #fff
}
@media screen and (min-width:768px) {
.apexcharts-canvas:hover .apexcharts-toolbar {
opacity: 1
}
}
.apexcharts-canvas .apexcharts-element-hidden,.apexcharts-datalabel.apexcharts-element-hidden,.apexcharts-hide .apexcharts-series-points {
opacity: 0
}
.apexcharts-datalabel,.apexcharts-datalabel-label,.apexcharts-datalabel-value,.apexcharts-datalabels,.apexcharts-pie-label {
cursor: default;
pointer-events: none
}
.apexcharts-pie-label-delay {
opacity: 0;
animation-name: opaque;
animation-duration: .3s;
animation-fill-mode: forwards;
animation-timing-function: ease
}
.apexcharts-annotation-rect,.apexcharts-area-series .apexcharts-area,.apexcharts-area-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,.apexcharts-gridline,.apexcharts-line,.apexcharts-line-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,.apexcharts-point-annotation-label,.apexcharts-radar-series path,.apexcharts-radar-series polygon,.apexcharts-toolbar svg,.apexcharts-tooltip .apexcharts-marker,.apexcharts-xaxis-annotation-label,.apexcharts-yaxis-annotation-label,.apexcharts-zoom-rect {
pointer-events: none
}
.apexcharts-marker {
transition: .15s ease all
}
.resize-triggers {
animation: 1ms resizeanim;
visibility: hidden;
opacity: 0;
height: 100%;
width: 100%;
overflow: hidden
}
.contract-trigger:before,.resize-triggers,.resize-triggers>div {
content: " ";
display: block;
position: absolute;
top: 0;
left: 0
}
.resize-triggers>div {
height: 100%;
width: 100%;
background: #eee;
overflow: auto
}
.contract-trigger:before {
overflow: hidden;
width: 200%;
height: 200%
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,63 +0,0 @@
{
"name": "ar",
"options": {
"months": [
"يناير",
"فبراير",
"مارس",
"أبريل",
"مايو",
"يونيو",
"يوليو",
"أغسطس",
"سبتمبر",
"أكتوبر",
"نوفمبر",
"ديسمبر"
],
"shortMonths": [
"يناير",
"فبراير",
"مارس",
"أبريل",
"مايو",
"يونيو",
"يوليو",
"أغسطس",
"سبتمبر",
"أكتوبر",
"نوفمبر",
"ديسمبر"
],
"days": [
"الأحد",
"الإثنين",
"الثلاثاء",
"الأربعاء",
"الخميس",
"الجمعة",
"السبت"
],
"shortDays": [
"أحد",
"إثنين",
"ثلاثاء",
"أربعاء",
"خميس",
"جمعة",
"سبت"
],
"toolbar": {
"exportToSVG": "تحميل بصيغة SVG",
"exportToPNG": "تحميل بصيغة PNG",
"exportToCSV": "تحميل بصيغة CSV",
"menu": "القائمة",
"selection": "تحديد",
"selectionZoom": "تكبير التحديد",
"zoomIn": "تكبير",
"zoomOut": "تصغير",
"pan": "تحريك",
"reset": "إعادة التعيين"
}
}
}

View File

@ -1,55 +0,0 @@
{
"name": "ca",
"options": {
"months": [
"Gener",
"Febrer",
"Març",
"Abril",
"Maig",
"Juny",
"Juliol",
"Agost",
"Setembre",
"Octubre",
"Novembre",
"Desembre"
],
"shortMonths": [
"Gen.",
"Febr.",
"Març",
"Abr.",
"Maig",
"Juny",
"Jul.",
"Ag.",
"Set.",
"Oct.",
"Nov.",
"Des."
],
"days": [
"Diumenge",
"Dilluns",
"Dimarts",
"Dimecres",
"Dijous",
"Divendres",
"Dissabte"
],
"shortDays": ["Dg", "Dl", "Dt", "Dc", "Dj", "Dv", "Ds"],
"toolbar": {
"exportToSVG": "Descarregar SVG",
"exportToPNG": "Descarregar PNG",
"exportToCSV": "Descarregar CSV",
"menu": "Menú",
"selection": "Seleccionar",
"selectionZoom": "Seleccionar Zoom",
"zoomIn": "Augmentar",
"zoomOut": "Disminuir",
"pan": "Navegació",
"reset": "Reiniciar Zoom"
}
}
}

View File

@ -1,55 +0,0 @@
{
"name": "cs",
"options": {
"months": [
"Leden",
"Únor",
"Březen",
"Duben",
"Květen",
"Červen",
"Červenec",
"Srpen",
"Září",
"Říjen",
"Listopad",
"Prosinec"
],
"shortMonths": [
"Led",
"Úno",
"Bře",
"Dub",
"Kvě",
"Čvn",
"Čvc",
"Srp",
"Zář",
"Říj",
"Lis",
"Pro"
],
"days": [
"Neděle",
"Pondělí",
"Úterý",
"Středa",
"Čtvrtek",
"Pátek",
"Sobota"
],
"shortDays": ["Ne", "Po", "Út", "St", "Čt", "Pá", "So"],
"toolbar": {
"exportToSVG": "Stáhnout SVG",
"exportToPNG": "Stáhnout PNG",
"exportToCSV": "Stáhnout CSV",
"menu": "Menu",
"selection": "Vybrat",
"selectionZoom": "Zoom: Vybrat",
"zoomIn": "Zoom: Přiblížit",
"zoomOut": "Zoom: Oddálit",
"pan": "Přesouvat",
"reset": "Resetovat"
}
}
}

View File

@ -1,55 +0,0 @@
{
"name": "de",
"options": {
"months": [
"Januar",
"Februar",
"März",
"April",
"Mai",
"Juni",
"Juli",
"August",
"September",
"Oktober",
"November",
"Dezember"
],
"shortMonths": [
"Jan",
"Feb",
"Mär",
"Apr",
"Mai",
"Jun",
"Jul",
"Aug",
"Sep",
"Okt",
"Nov",
"Dez"
],
"days": [
"Sonntag",
"Montag",
"Dienstag",
"Mittwoch",
"Donnerstag",
"Freitag",
"Samstag"
],
"shortDays": ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"],
"toolbar": {
"exportToSVG": "SVG speichern",
"exportToPNG": "PNG speichern",
"exportToCSV": "CSV speichern",
"menu": "Menü",
"selection": "Auswahl",
"selectionZoom": "Auswahl vergrößern",
"zoomIn": "Vergrößern",
"zoomOut": "Verkleinern",
"pan": "Verschieben",
"reset": "Zoom zurücksetzen"
}
}
}

View File

@ -1,55 +0,0 @@
{
"name": "el",
"options": {
"months": [
"Ιανουάριος",
"Φεβρουάριος",
"Μάρτιος",
"Απρίλιος",
"Μάιος",
"Ιούνιος",
"Ιούλιος",
"Αύγουστος",
"Σεπτέμβριος",
"Οκτώβριος",
"Νοέμβριος",
"Δεκέμβριος"
],
"shortMonths": [
"Ιαν",
"Φευ",
"Μαρ",
"Απρ",
"Μάι",
"Ιουν",
"Ιουλ",
"Αυγ",
"Σεπ",
"Οκτ",
"Νοε",
"Δεκ"
],
"days": [
"Κυριακή",
"Δευτέρα",
"Τρίτη",
"Τετάρτη",
"Πέμπτη",
"Παρασκευή",
"Σάββατο"
],
"shortDays": ["Κυρ", "Δευ", "Τρι", "Τετ", "Πεμ", "Παρ", "Σαβ"],
"toolbar": {
"exportToSVG": "Λήψη SVG",
"exportToPNG": "Λήψη PNG",
"exportToCSV": "Λήψη CSV",
"menu": "Menu",
"selection": "Επιλογή",
"selectionZoom": "Μεγένθυση βάση επιλογής",
"zoomIn": "Μεγένθυνση",
"zoomOut": "Σμίκρυνση",
"pan": "Μετατόπιση",
"reset": "Επαναφορά μεγένθυνσης"
}
}
}

View File

@ -1,55 +0,0 @@
{
"name": "en",
"options": {
"months": [
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
],
"shortMonths": [
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec"
],
"days": [
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
],
"shortDays": ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
"toolbar": {
"exportToSVG": "Download SVG",
"exportToPNG": "Download PNG",
"exportToCSV": "Download CSV",
"menu": "Menu",
"selection": "Selection",
"selectionZoom": "Selection Zoom",
"zoomIn": "Zoom In",
"zoomOut": "Zoom Out",
"pan": "Panning",
"reset": "Reset Zoom"
}
}
}

View File

@ -1,55 +0,0 @@
{
"name": "es",
"options": {
"months": [
"Enero",
"Febrero",
"Marzo",
"Abril",
"Mayo",
"Junio",
"Julio",
"Agosto",
"Septiembre",
"Octubre",
"Noviembre",
"Diciembre"
],
"shortMonths": [
"Ene",
"Feb",
"Mar",
"Abr",
"May",
"Jun",
"Jul",
"Ago",
"Sep",
"Oct",
"Nov",
"Dic"
],
"days": [
"Domingo",
"Lunes",
"Martes",
"Miércoles",
"Jueves",
"Viernes",
"Sábado"
],
"shortDays": ["Dom", "Lun", "Mar", "Mie", "Jue", "Vie", "Sab"],
"toolbar": {
"exportToSVG": "Descargar SVG",
"exportToPNG": "Descargar PNG",
"exportToCSV": "Descargar CSV",
"menu": "Menu",
"selection": "Seleccionar",
"selectionZoom": "Seleccionar Zoom",
"zoomIn": "Aumentar",
"zoomOut": "Disminuir",
"pan": "Navegación",
"reset": "Reiniciar Zoom"
}
}
}

View File

@ -1,63 +0,0 @@
{
"name": "et",
"options": {
"months": [
"jaanuar",
"veebruar",
"märts",
"aprill",
"mai",
"juuni",
"juuli",
"august",
"september",
"oktoober",
"november",
"detsember"
],
"shortMonths": [
"jaan",
"veebr",
"märts",
"apr",
"mai",
"juuni",
"juuli",
"aug",
"sept",
"okt",
"nov",
"dets"
],
"days": [
"pühapäev",
"esmaspäev",
"teisipäev",
"kolmapäev",
"neljapäev",
"reede",
"laupäev"
],
"shortDays": [
"P",
"E",
"T",
"K",
"N",
"R",
"L"
],
"toolbar": {
"exportToSVG": "Lae alla SVG",
"exportToPNG": "Lae alla PNG",
"exportToCSV": "Lae alla CSV",
"menu": "Menüü",
"selection": "Valik",
"selectionZoom": "Valiku suum",
"zoomIn": "Suurenda",
"zoomOut": "Vähenda",
"pan": "Panoraamimine",
"reset": "Lähtesta suum"
}
}
}

View File

@ -1,55 +0,0 @@
{
"name": "fa",
"options": {
"months": [
"فروردین",
"اردیبهشت",
"خرداد",
"تیر",
"مرداد",
"شهریور",
"مهر",
"آبان",
"آذر",
"دی",
"بهمن",
"اسفند"
],
"shortMonths": [
"فرو",
"ارد",
"خرد",
"تیر",
"مرد",
"شهر",
"مهر",
"آبا",
"آذر",
"دی",
"بهمـ",
"اسفـ"
],
"days": [
"یکشنبه",
"دوشنبه",
"سه شنبه",
"چهارشنبه",
"پنجشنبه",
"جمعه",
"شنبه"
],
"shortDays": ["ی", "د", "س", "چ", "پ", "ج", "ش"],
"toolbar": {
"exportToSVG": "دانلود SVG",
"exportToPNG": "دانلود PNG",
"exportToCSV": "دانلود CSV",
"menu": "منو",
"selection": "انتخاب",
"selectionZoom": "بزرگنمایی انتخابی",
"zoomIn": "بزرگنمایی",
"zoomOut": "کوچکنمایی",
"pan": "پیمایش",
"reset": "بازنشانی بزرگنمایی"
}
}
}

View File

@ -1,55 +0,0 @@
{
"name": "fi",
"options": {
"months": [
"Tammikuu",
"Helmikuu",
"Maaliskuu",
"Huhtikuu",
"Toukokuu",
"Kesäkuu",
"Heinäkuu",
"Elokuu",
"Syyskuu",
"Lokakuu",
"Marraskuu",
"Joulukuu"
],
"shortMonths": [
"Tammi",
"Helmi",
"Maalis",
"Huhti",
"Touko",
"Kesä",
"Heinä",
"Elo",
"Syys",
"Loka",
"Marras",
"Joulu"
],
"days": [
"Sunnuntai",
"Maanantai",
"Tiistai",
"Keskiviikko",
"Torstai",
"Perjantai",
"Lauantai"
],
"shortDays": ["Su", "Ma", "Ti", "Ke", "To", "Pe", "La"],
"toolbar": {
"exportToSVG": "Lataa SVG",
"exportToPNG": "Lataa PNG",
"exportToCSV": "Lataa CSV",
"menu": "Valikko",
"selection": "Valinta",
"selectionZoom": "Valinnan zoomaus",
"zoomIn": "Lähennä",
"zoomOut": "Loitonna",
"pan": "Panoroi",
"reset": "Nollaa zoomaus"
}
}
}

View File

@ -1,55 +0,0 @@
{
"name": "fr",
"options": {
"months": [
"janvier",
"février",
"mars",
"avril",
"mai",
"juin",
"juillet",
"août",
"septembre",
"octobre",
"novembre",
"décembre"
],
"shortMonths": [
"janv.",
"févr.",
"mars",
"avr.",
"mai",
"juin",
"juill.",
"août",
"sept.",
"oct.",
"nov.",
"déc."
],
"days": [
"dimanche",
"lundi",
"mardi",
"mercredi",
"jeudi",
"vendredi",
"samedi"
],
"shortDays": ["dim.", "lun.", "mar.", "mer.", "jeu.", "ven.", "sam."],
"toolbar": {
"exportToSVG": "Télécharger au format SVG",
"exportToPNG": "Télécharger au format PNG",
"exportToCSV": "Télécharger au format CSV",
"menu": "Menu",
"selection": "Sélection",
"selectionZoom": "Sélection et zoom",
"zoomIn": "Zoomer",
"zoomOut": "Dézoomer",
"pan": "Navigation",
"reset": "Réinitialiser le zoom"
}
}
}

View File

@ -1,55 +0,0 @@
{
"name": "he",
"options": {
"months": [
"ינואר",
"פברואר",
"מרץ",
"אפריל",
"מאי",
"יוני",
"יולי",
"אוגוסט",
"ספטמבר",
"אוקטובר",
"נובמבר",
"דצמבר"
],
"shortMonths": [
"ינו׳",
"פבר׳",
"מרץ",
"אפר׳",
"מאי",
"יוני",
"יולי",
"אוג׳",
"ספט׳",
"אוק׳",
"נוב׳",
"דצמ׳"
],
"days": [
"ראשון",
"שני",
"שלישי",
"רביעי",
"חמישי",
"שישי",
"שבת"
],
"shortDays": ["א׳", "ב׳", "ג׳", "ד׳", "ה׳", "ו׳", "ש׳"],
"toolbar": {
"exportToSVG": "הורד SVG",
"exportToPNG": "הורד PNG",
"exportToCSV": "הורד CSV",
"menu": "תפריט",
"selection": "בחירה",
"selectionZoom": "זום בחירה",
"zoomIn": "הגדלה",
"zoomOut": "הקטנה",
"pan": "הזזה",
"reset": "איפוס תצוגה"
}
}
}

View File

@ -1,55 +0,0 @@
{
"name": "hi",
"options": {
"months": [
"जनवरी",
"फ़रवरी",
"मार्च",
"अप्रैल",
"मई",
"जून",
"जुलाई",
"अगस्त",
"सितंबर",
"अक्टूबर",
"नवंबर",
"दिसंबर"
],
"shortMonths": [
"जनवरी",
"फ़रवरी",
"मार्च",
"अप्रैल",
"मई",
"जून",
"जुलाई",
"अगस्त",
"सितंबर",
"अक्टूबर",
"नवंबर",
"दिसंबर"
],
"days": [
"रविवार",
"सोमवार",
"मंगलवार",
"बुधवार",
"गुरुवार",
"शुक्रवार",
"शनिवार"
],
"shortDays": ["रवि", "सोम", "मंगल", "बुध", "गुरु", "शुक्र", "शनि"],
"toolbar": {
"exportToSVG": "निर्यात SVG",
"exportToPNG": "निर्यात PNG",
"exportToCSV": "निर्यात CSV",
"menu": "सूची",
"selection": "चयन",
"selectionZoom": "ज़ूम करना",
"zoomIn": "ज़ूम इन",
"zoomOut": "ज़ूम आउट",
"pan": "पैनिंग",
"reset": "फिर से कायम करना"
}
}
}

View File

@ -1,55 +0,0 @@
{
"name": "hr",
"options": {
"months": [
"Siječanj",
"Veljača",
"Ožujak",
"Travanj",
"Svibanj",
"Lipanj",
"Srpanj",
"Kolovoz",
"Rujan",
"Listopad",
"Studeni",
"Prosinac"
],
"shortMonths": [
"Sij",
"Velj",
"Ožu",
"Tra",
"Svi",
"Lip",
"Srp",
"Kol",
"Ruj",
"Lis",
"Stu",
"Pro"
],
"days": [
"Nedjelja",
"Ponedjeljak",
"Utorak",
"Srijeda",
"Četvrtak",
"Petak",
"Subota"
],
"shortDays": ["Ned", "Pon", "Uto", "Sri", "Čet", "Pet", "Sub"],
"toolbar": {
"exportToSVG": "Preuzmi SVG",
"exportToPNG": "Preuzmi PNG",
"exportToCSV": "Preuzmi CSV",
"menu": "Izbornik",
"selection": "Odabir",
"selectionZoom": "Odabirno povećanje",
"zoomIn": "Uvećajte prikaz",
"zoomOut": "Umanjite prikaz",
"pan": "Pomicanje",
"reset": "Povratak na zadani prikaz"
}
}
}

View File

@ -1,64 +0,0 @@
{
"name": "hu",
"options": {
"months": [
"január",
"február",
"március",
"április",
"május",
"június",
"július",
"augusztus",
"szeptember",
"október",
"november",
"december"
],
"shortMonths": [
"jan",
"feb",
"mar",
"ápr",
"máj",
"jún",
"júl",
"aug",
"szept",
"okt",
"nov",
"dec"
],
"days": [
"hétfő",
"kedd",
"szerda",
"csütörtök",
"péntek",
"szombat",
"vasárnap"
],
"shortDays": [
"H",
"K",
"Sze",
"Cs",
"P",
"Szo",
"V"
],
"toolbar": {
"exportToSVG": "Exportálás SVG-be",
"exportToPNG": "Exportálás PNG-be",
"exportToCSV": "Exportálás CSV-be",
"menu": "Fő ajánlat",
"download": "SVG letöltése",
"selection": "Kiválasztás",
"selectionZoom": "Nagyító kiválasztása",
"zoomIn": "Nagyítás",
"zoomOut": "Kicsinyítés",
"pan": "Képcsúsztatás",
"reset": "Nagyító visszaállítása"
}
}
}

View File

@ -1,55 +0,0 @@
{
"name": "hy",
"options": {
"months": [
"Հունվար",
"Փետրվար",
"Մարտ",
"Ապրիլ",
"Մայիս",
"Հունիս",
"Հուլիս",
"Օգոստոս",
"Սեպտեմբեր",
"Հոկտեմբեր",
"Նոյեմբեր",
"Դեկտեմբեր"
],
"shortMonths": [
"Հնվ",
"Փտվ",
"Մրտ",
"Ապր",
"Մյս",
"Հնս",
"Հլիս",
"Օգս",
"Սեպ",
"Հոկ",
"Նոյ",
"Դեկ"
],
"days": [
"Կիրակի",
"Երկուշաբթի",
"Երեքշաբթի",
"Չորեքշաբթի",
"Հինգշաբթի",
"Ուրբաթ",
"Շաբաթ"
],
"shortDays": ["Կիր", "Երկ", "Երք", "Չրք", "Հնգ", "Ուրբ", "Շբթ"],
"toolbar": {
"exportToSVG": "Բեռնել SVG",
"exportToPNG": "Բեռնել PNG",
"exportToCSV": "Բեռնել CSV",
"menu": "Մենյու",
"selection": "Ընտրված",
"selectionZoom": "Ընտրված հատվածի խոշորացում",
"zoomIn": "Խոշորացնել",
"zoomOut": "Մանրացնել",
"pan": "Տեղափոխում",
"reset": "Բերել սկզբնական վիճակի"
}
}
}

View File

@ -1,47 +0,0 @@
{
"name": "id",
"options": {
"months": [
"Januari",
"Februari",
"Maret",
"April",
"Mei",
"Juni",
"Juli",
"Agustus",
"September",
"Oktober",
"November",
"Desember"
],
"shortMonths": [
"Jan",
"Feb",
"Mar",
"Apr",
"Mei",
"Jun",
"Jul",
"Agu",
"Sep",
"Okt",
"Nov",
"Des"
],
"days": ["Minggu", "Senin", "Selasa", "Rabu", "kamis", "Jumat", "Sabtu"],
"shortDays": ["Min", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab"],
"toolbar": {
"exportToSVG": "Unduh SVG",
"exportToPNG": "Unduh PNG",
"exportToCSV": "Unduh CSV",
"menu": "Menu",
"selection": "Pilihan",
"selectionZoom": "Perbesar Pilihan",
"zoomIn": "Perbesar",
"zoomOut": "Perkecil",
"pan": "Geser",
"reset": "Atur Ulang Zoom"
}
}
}

View File

@ -1,55 +0,0 @@
{
"name": "it",
"options": {
"months": [
"Gennaio",
"Febbraio",
"Marzo",
"Aprile",
"Maggio",
"Giugno",
"Luglio",
"Agosto",
"Settembre",
"Ottobre",
"Novembre",
"Dicembre"
],
"shortMonths": [
"Gen",
"Feb",
"Mar",
"Apr",
"Mag",
"Giu",
"Lug",
"Ago",
"Set",
"Ott",
"Nov",
"Dic"
],
"days": [
"Domenica",
"Lunedì",
"Martedì",
"Mercoledì",
"Giovedì",
"Venerdì",
"Sabato"
],
"shortDays": ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab"],
"toolbar": {
"exportToSVG": "Scarica SVG",
"exportToPNG": "Scarica PNG",
"exportToCSV": "Scarica CSV",
"menu": "Menu",
"selection": "Selezione",
"selectionZoom": "Seleziona Zoom",
"zoomIn": "Zoom In",
"zoomOut": "Zoom Out",
"pan": "Sposta",
"reset": "Reimposta Zoom"
}
}
}

View File

@ -1,55 +0,0 @@
{
"name": "ja",
"options": {
"months": [
"1月",
"2月",
"3月",
"4月",
"5月",
"6月",
"7月",
"8月",
"9月",
"10月",
"11月",
"12月"
],
"shortMonths": [
"1月",
"2月",
"3月",
"4月",
"5月",
"6月",
"7月",
"8月",
"9月",
"10月",
"11月",
"12月"
],
"days": [
"日曜日",
"月曜日",
"火曜日",
"水曜日",
"木曜日",
"金曜日",
"土曜日"
],
"shortDays": ["日", "月", "火", "水", "木", "金", "土"],
"toolbar": {
"exportToSVG": "SVGダウンロード",
"exportToPNG": "PNGダウンロード",
"exportToCSV": "CSVダウンロード",
"menu": "メニュー",
"selection": "選択",
"selectionZoom": "選択ズーム",
"zoomIn": "拡大",
"zoomOut": "縮小",
"pan": "パン",
"reset": "ズームリセット"
}
}
}

View File

@ -1,55 +0,0 @@
{
"name": "ka",
"options": {
"months": [
"იანვარი",
"თებერვალი",
"მარტი",
"აპრილი",
"მაისი",
"ივნისი",
"ივლისი",
"აგვისტო",
"სექტემბერი",
"ოქტომბერი",
"ნოემბერი",
"დეკემბერი"
],
"shortMonths": [
"იან",
"თებ",
"მარ",
"აპრ",
"მაი",
"ივნ",
"ივლ",
"აგვ",
"სექ",
"ოქტ",
"ნოე",
"დეკ"
],
"days": [
"კვირა",
"ორშაბათი",
"სამშაბათი",
"ოთხშაბათი",
"ხუთშაბათი",
"პარასკევი",
"შაბათი"
],
"shortDays": ["კვი", "ორშ", "სამ", "ოთხ", "ხუთ", "პარ", "შაბ"],
"toolbar": {
"exportToSVG": "გადმოქაჩე SVG",
"exportToPNG": "გადმოქაჩე PNG",
"exportToCSV": "გადმოქაჩე CSV",
"menu": "მენიუ",
"selection": "არჩევა",
"selectionZoom": "არჩეულის გადიდება",
"zoomIn": "გადიდება",
"zoomOut": "დაპატარაება",
"pan": "გადაჩოჩება",
"reset": "გადიდების გაუქმება"
}
}
}

View File

@ -1,55 +0,0 @@
{
"name": "ko",
"options": {
"months": [
"1월",
"2월",
"3월",
"4월",
"5월",
"6월",
"7월",
"8월",
"9월",
"10월",
"11월",
"12월"
],
"shortMonths": [
"1월",
"2월",
"3월",
"4월",
"5월",
"6월",
"7월",
"8월",
"9월",
"10월",
"11월",
"12월"
],
"days": [
"일요일",
"월요일",
"화요일",
"수요일",
"목요일",
"금요일",
"토요일"
],
"shortDays": ["일", "월", "화", "수", "목", "금", "토"],
"toolbar": {
"exportToSVG": "SVG 다운로드",
"exportToPNG": "PNG 다운로드",
"exportToCSV": "CSV 다운로드",
"menu": "메뉴",
"selection": "선택",
"selectionZoom": "선택영역 확대",
"zoomIn": "확대",
"zoomOut": "축소",
"pan": "패닝",
"reset": "원래대로"
}
}
}

View File

@ -1,55 +0,0 @@
{
"name": "lt",
"options": {
"months": [
"Sausis",
"Vasaris",
"Kovas",
"Balandis",
"Gegužė",
"Birželis",
"Liepa",
"Rugpjūtis",
"Rugsėjis",
"Spalis",
"Lapkritis",
"Gruodis"
],
"shortMonths": [
"Sau",
"Vas",
"Kov",
"Bal",
"Geg",
"Bir",
"Lie",
"Rgp",
"Rgs",
"Spl",
"Lap",
"Grd"
],
"days": [
"Sekmadienis",
"Pirmadienis",
"Antradienis",
"Trečiadienis",
"Ketvirtadienis",
"Penktadienis",
"Šeštadienis"
],
"shortDays": ["Sk", "Per", "An", "Tr", "Kt", "Pn", "Št"],
"toolbar": {
"exportToSVG": "Atsisiųsti SVG",
"exportToPNG": "Atsisiųsti PNG",
"exportToCSV": "Atsisiųsti CSV",
"menu": "Menu",
"selection": "Pasirinkimas",
"selectionZoom": "Zoom: Pasirinkimas",
"zoomIn": "Zoom: Priartinti",
"zoomOut": "Zoom: Atitolinti",
"pan": "Perkėlimas",
"reset": "Atstatyti"
}
}
}

View File

@ -1,64 +0,0 @@
{
"name": "lv",
"options": {
"months": [
"janvāris",
"februāris",
"marts",
"aprīlis",
"maijs",
"jūnijs",
"jūlijs",
"augusts",
"septembris",
"oktobris",
"novembris",
"decembris"
],
"shortMonths": [
"janv",
"febr",
"marts",
"apr",
"maijs",
"jūn",
"jūl",
"aug",
"sept",
"okt",
"nov",
"dec"
],
"days": [
"svētdiena",
"pirmdiena",
"otrdiena",
"trešdiena",
"ceturtdiena",
"piektdiena",
"sestdiena"
],
"shortDays": [
"Sv",
"P",
"O",
"T",
"C",
"P",
"S"
],
"toolbar": {
"exportToSVG": "Lejuplādēt SVG",
"exportToPNG": "Lejuplādēt PNG",
"exportToCSV": "Lejuplādēt CSV",
"menu": "Izvēlne",
"selection": "Atlase",
"selectionZoom": "Pietuvināt atlasi",
"zoomIn": "Pietuvināt",
"zoomOut": "Attālināt",
"pan": "Pārvietoties diagrammā",
"reset": "Atiestatīt pietuvinājumu"
}
}
}

View File

@ -1,55 +0,0 @@
{
"name": "nb",
"options": {
"months": [
"Januar",
"Februar",
"Mars",
"April",
"Mai",
"Juni",
"Juli",
"August",
"September",
"Oktober",
"November",
"Desember"
],
"shortMonths": [
"Jan",
"Feb",
"Mar",
"Apr",
"Mai",
"Jun",
"Jul",
"Aug",
"Sep",
"Okt",
"Nov",
"Des"
],
"days": [
"Søndag",
"Mandag",
"Tirsdag",
"Onsdag",
"Torsdag",
"Fredag",
"Lørdag"
],
"shortDays": ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø"],
"toolbar": {
"exportToSVG": "Last ned SVG",
"exportToPNG": "Last ned PNG",
"exportToCSV": "Last ned CSV",
"menu": "Menu",
"selection": "Velg",
"selectionZoom": "Zoom: Velg",
"zoomIn": "Zoome inn",
"zoomOut": "Zoome ut",
"pan": "Skyving",
"reset": "Start på nytt"
}
}
}

View File

@ -1,55 +0,0 @@
{
"name": "nl",
"options": {
"months": [
"Januari",
"Februari",
"Maart",
"April",
"Mei",
"Juni",
"Juli",
"Augustus",
"September",
"Oktober",
"November",
"December"
],
"shortMonths": [
"Jan",
"Feb",
"Mrt",
"Apr",
"Mei",
"Jun",
"Jul",
"Aug",
"Sep",
"Okt",
"Nov",
"Dec"
],
"days": [
"Zondag",
"Maandag",
"Dinsdag",
"Woensdag",
"Donderdag",
"Vrijdag",
"Zaterdag"
],
"shortDays": ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za"],
"toolbar": {
"exportToSVG": "Download SVG",
"exportToPNG": "Download PNG",
"exportToCSV": "Download CSV",
"menu": "Menu",
"selection": "Selectie",
"selectionZoom": "Zoom selectie",
"zoomIn": "Zoom in",
"zoomOut": "Zoom out",
"pan": "Verplaatsen",
"reset": "Standaardwaarden"
}
}
}

View File

@ -1,55 +0,0 @@
{
"name": "pl",
"options": {
"months": [
"Styczeń",
"Luty",
"Marzec",
"Kwiecień",
"Maj",
"Czerwiec",
"Lipiec",
"Sierpień",
"Wrzesień",
"Październik",
"Listopad",
"Grudzień"
],
"shortMonths": [
"Sty",
"Lut",
"Mar",
"Kwi",
"Maj",
"Cze",
"Lip",
"Sie",
"Wrz",
"Paź",
"Lis",
"Gru"
],
"days": [
"Niedziela",
"Poniedziałek",
"Wtorek",
"Środa",
"Czwartek",
"Piątek",
"Sobota"
],
"shortDays": ["Nd", "Pn", "Wt", "Śr", "Cz", "Pt", "Sb"],
"toolbar": {
"exportToSVG": "Pobierz SVG",
"exportToPNG": "Pobierz PNG",
"exportToCSV": "Pobierz CSV",
"menu": "Menu",
"selection": "Wybieranie",
"selectionZoom": "Zoom: Wybieranie",
"zoomIn": "Zoom: Przybliż",
"zoomOut": "Zoom: Oddal",
"pan": "Przesuwanie",
"reset": "Resetuj"
}
}
}

View File

@ -1,55 +0,0 @@
{
"name": "pt-br",
"options": {
"months": [
"Janeiro",
"Fevereiro",
"Março",
"Abril",
"Maio",
"Junho",
"Julho",
"Agosto",
"Setembro",
"Outubro",
"Novembro",
"Dezembro"
],
"shortMonths": [
"Jan",
"Fev",
"Mar",
"Abr",
"Mai",
"Jun",
"Jul",
"Ago",
"Set",
"Out",
"Nov",
"Dez"
],
"days": [
"Domingo",
"Segunda",
"Terça",
"Quarta",
"Quinta",
"Sexta",
"Sábado"
],
"shortDays": ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sab"],
"toolbar": {
"exportToSVG": "Baixar SVG",
"exportToPNG": "Baixar PNG",
"exportToCSV": "Baixar CSV",
"menu": "Menu",
"selection": "Selecionar",
"selectionZoom": "Selecionar Zoom",
"zoomIn": "Aumentar",
"zoomOut": "Diminuir",
"pan": "Navegação",
"reset": "Reiniciar Zoom"
}
}
}

View File

@ -1,55 +0,0 @@
{
"name": "pt",
"options": {
"months": [
"Janeiro",
"Fevereiro",
"Março",
"Abril",
"Maio",
"Junho",
"Julho",
"Agosto",
"Setembro",
"Outubro",
"Novembro",
"Dezembro"
],
"shortMonths": [
"Jan",
"Fev",
"Mar",
"Abr",
"Mai",
"Jun",
"Jul",
"Ag",
"Set",
"Out",
"Nov",
"Dez"
],
"days": [
"Domingo",
"Segunda-feira",
"Terça-feira",
"Quarta-feira",
"Quinta-feira",
"Sexta-feira",
"Sábado"
],
"shortDays": ["Do", "Se", "Te", "Qa", "Qi", "Sx", "Sa"],
"toolbar": {
"exportToSVG": "Baixar SVG",
"exportToPNG": "Baixar PNG",
"exportToCSV": "Baixar CSV",
"menu": "Menu",
"selection": "Selecionar",
"selectionZoom": "Zoom: Selecionar",
"zoomIn": "Zoom: Aumentar",
"zoomOut": "Zoom: Diminuir",
"pan": "Deslocamento",
"reset": "Redefinir"
}
}
}

View File

@ -1,55 +0,0 @@
{
"name": "rs",
"options": {
"months": [
"Januar",
"Februar",
"Mart",
"April",
"Maj",
"Jun",
"Jul",
"Avgust",
"Septembar",
"Oktobar",
"Novembar",
"Decembar"
],
"shortMonths": [
"Jan",
"Feb",
"Mar",
"Apr",
"Maj",
"Jun",
"Jul",
"Avg",
"Sep",
"Okt",
"Nov",
"Dec"
],
"days": [
"Nedelja",
"Ponedeljak",
"Utorak",
"Sreda",
"Četvrtak",
"Petak",
"Subota"
],
"shortDays": ["Ned", "Pon", "Uto", "Sre", "Čet", "Pet", "Sub"],
"toolbar": {
"exportToSVG": "Preuzmi SVG",
"exportToPNG": "Preuzmi PNG",
"exportToCSV": "Preuzmi CSV",
"menu": "Meni",
"selection": "Odabir",
"selectionZoom": "Odabirno povećanje",
"zoomIn": "Uvećajte prikaz",
"zoomOut": "Umanjite prikaz",
"pan": "Pomeranje",
"reset": "Resetuj prikaz"
}
}
}

View File

@ -1,55 +0,0 @@
{
"name": "ru",
"options": {
"months": [
"Январь",
"Февраль",
"Март",
"Апрель",
"Май",
"Июнь",
"Июль",
"Август",
"Сентябрь",
"Октябрь",
"Ноябрь",
"Декабрь"
],
"shortMonths": [
"Янв",
"Фев",
"Мар",
"Апр",
"Май",
"Июн",
"Июл",
"Авг",
"Сен",
"Окт",
"Ноя",
"Дек"
],
"days": [
"Воскресенье",
"Понедельник",
"Вторник",
"Среда",
"Четверг",
"Пятница",
"Суббота"
],
"shortDays": ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"],
"toolbar": {
"exportToSVG": "Сохранить SVG",
"exportToPNG": "Сохранить PNG",
"exportToCSV": "Сохранить CSV",
"menu": "Меню",
"selection": "Выбор",
"selectionZoom": "Выбор с увеличением",
"zoomIn": "Увеличить",
"zoomOut": "Уменьшить",
"pan": "Перемещение",
"reset": "Сбросить увеличение"
}
}
}

View File

@ -1,55 +0,0 @@
{
"name": "se",
"options": {
"months": [
"Januari",
"Februari",
"Mars",
"April",
"Maj",
"Juni",
"Juli",
"Augusti",
"September",
"Oktober",
"November",
"December"
],
"shortMonths": [
"Jan",
"Feb",
"Mar",
"Apr",
"Maj",
"Juni",
"Juli",
"Aug",
"Sep",
"Okt",
"Nov",
"Dec"
],
"days": [
"Söndag",
"Måndag",
"Tisdag",
"Onsdag",
"Torsdag",
"Fredag",
"Lördag"
],
"shortDays": ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör"],
"toolbar": {
"exportToSVG": "Ladda SVG",
"exportToPNG": "Ladda PNG",
"exportToCSV": "Ladda CSV",
"menu": "Meny",
"selection": "Selektion",
"selectionZoom": "Val av zoom",
"zoomIn": "Zooma in",
"zoomOut": "Zooma ut",
"pan": "Panorering",
"reset": "Återställ zoomning"
}
}
}

View File

@ -1,55 +0,0 @@
{
"name": "sk",
"options": {
"months": [
"Január",
"Február",
"Marec",
"Apríl",
"Máj",
"Jún",
"Júl",
"August",
"September",
"Október",
"November",
"December"
],
"shortMonths": [
"Jan",
"Feb",
"Mar",
"Apr",
"Máj",
"Jún",
"Júl",
"Aug",
"Sep",
"Okt",
"Nov",
"Dec"
],
"days": [
"Nedeľa",
"Pondelok",
"Utorok",
"Streda",
"Štvrtok",
"Piatok",
"Sobota"
],
"shortDays": ["Ne", "Po", "Ut", "St", "Št", "Pi", "So"],
"toolbar": {
"exportToSVG": "Stiahnuť SVG",
"exportToPNG": "Stiahnuť PNG",
"exportToCSV": "Stiahnuť CSV",
"menu": "Menu",
"selection": "Vyberanie",
"selectionZoom": "Zoom: Vyberanie",
"zoomIn": "Zoom: Priblížiť",
"zoomOut": "Zoom: Vzdialiť",
"pan": "Presúvanie",
"reset": "Resetovať"
}
}
}

View File

@ -1,55 +0,0 @@
{
"name": "sl",
"options": {
"months": [
"Januar",
"Februar",
"Marec",
"April",
"Maj",
"Junij",
"Julij",
"Avgust",
"Septemer",
"Oktober",
"November",
"December"
],
"shortMonths": [
"Jan",
"Feb",
"Mar",
"Apr",
"Maj",
"Jun",
"Jul",
"Avg",
"Sep",
"Okt",
"Nov",
"Dec"
],
"days": [
"Nedelja",
"Ponedeljek",
"Torek",
"Sreda",
"Četrtek",
"Petek",
"Sobota"
],
"shortDays": ["Ne", "Po", "To", "Sr", "Če", "Pe", "So"],
"toolbar": {
"exportToSVG": "Prenesi SVG",
"exportToPNG": "Prenesi PNG",
"exportToCSV": "Prenesi CSV",
"menu": "Menu",
"selection": "Izbiranje",
"selectionZoom": "Zoom: Izbira",
"zoomIn": "Zoom: Približaj",
"zoomOut": "Zoom: Oddalji",
"pan": "Pomikanje",
"reset": "Resetiraj"
}
}
}

View File

@ -1,55 +0,0 @@
{
"name": "sq",
"options": {
"months": [
"Janar",
"Shkurt",
"Mars",
"Prill",
"Maj",
"Qershor",
"Korrik",
"Gusht",
"Shtator",
"Tetor",
"Nëntor",
"Dhjetor"
],
"shortMonths": [
"Jan",
"Shk",
"Mar",
"Pr",
"Maj",
"Qer",
"Korr",
"Gush",
"Sht",
"Tet",
"Nën",
"Dhj"
],
"days": [
"e Dielë",
"e Hënë",
"e Martë",
"e Mërkurë",
"e Enjte",
"e Premte",
"e Shtunë"
],
"shortDays": ["Die", "Hën", "Mar", "Mër", "Enj", "Pre", "Sht"],
"toolbar": {
"exportToSVG": "Shkarko SVG",
"exportToPNG": "Shkarko PNG",
"exportToCSV": "Shkarko CSV",
"menu": "Menu",
"selection": "Seleksiono",
"selectionZoom": "Seleksiono Zmadhim",
"zoomIn": "Zmadho",
"zoomOut": "Zvogëlo",
"pan": "Spostoje",
"reset": "Rikthe dimensionin"
}
}
}

View File

@ -1,55 +0,0 @@
{
"name": "th",
"options": {
"months": [
"มกราคม",
"กุมภาพันธ์",
"มีนาคม",
"เมษายน",
"พฤษภาคม",
"มิถุนายน",
"กรกฎาคม",
"สิงหาคม",
"กันยายน",
"ตุลาคม",
"พฤศจิกายน",
"ธันวาคม"
],
"shortMonths": [
"ม.ค.",
"ก.พ.",
"มี.ค.",
"เม.ย.",
"พ.ค.",
"มิ.ย.",
"ก.ค.",
"ส.ค.",
"ก.ย.",
"ต.ค.",
"พ.ย.",
"ธ.ค."
],
"days": [
"อาทิตย์",
"จันทร์",
"อังคาร",
"พุธ",
"พฤหัสบดี",
"ศุกร์",
"เสาร์"
],
"shortDays": ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส"],
"toolbar": {
"exportToSVG": "ดาวน์โหลด SVG",
"exportToPNG": "ดาวน์โหลด PNG",
"exportToCSV": "ดาวน์โหลด CSV",
"menu": "เมนู",
"selection": "เลือก",
"selectionZoom": "เลือกจุดที่จะซูม",
"zoomIn": "ซูมเข้า",
"zoomOut": "ซูมออก",
"pan": "ปรากฎว่า",
"reset": "รีเซ็ตการซูม"
}
}
}

View File

@ -1,55 +0,0 @@
{
"name": "tr",
"options": {
"months": [
"Ocak",
"Şubat",
"Mart",
"Nisan",
"Mayıs",
"Haziran",
"Temmuz",
"Ağustos",
"Eylül",
"Ekim",
"Kasım",
"Aralık"
],
"shortMonths": [
"Oca",
"Şub",
"Mar",
"Nis",
"May",
"Haz",
"Tem",
"Ağu",
"Eyl",
"Eki",
"Kas",
"Ara"
],
"days": [
"Pazar",
"Pazartesi",
"Salı",
"Çarşamba",
"Perşembe",
"Cuma",
"Cumartesi"
],
"shortDays": ["Paz", "Pzt", "Sal", "Çar", "Per", "Cum", "Cmt"],
"toolbar": {
"exportToSVG": "SVG İndir",
"exportToPNG": "PNG İndir",
"exportToCSV": "CSV İndir",
"menu": "Menü",
"selection": "Seçim",
"selectionZoom": "Seçim Yakınlaştır",
"zoomIn": "Yakınlaştır",
"zoomOut": "Uzaklaştır",
"pan": "Kaydır",
"reset": "Yakınlaştırmayı Sıfırla"
}
}
}

View File

@ -1,55 +0,0 @@
{
"name": "ua",
"options": {
"months": [
"Січень",
"Лютий",
"Березень",
"Квітень",
"Травень",
"Червень",
"Липень",
"Серпень",
"Вересень",
"Жовтень",
"Листопад",
"Грудень"
],
"shortMonths": [
"Січ",
"Лют",
"Бер",
"Кві",
"Тра",
"Чер",
"Лип",
"Сер",
"Вер",
"Жов",
"Лис",
"Гру"
],
"days": [
"Неділя",
"Понеділок",
"Вівторок",
"Середа",
"Четвер",
"П'ятниця",
"Субота"
],
"shortDays": ["Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"],
"toolbar": {
"exportToSVG": "Зберегти SVG",
"exportToPNG": "Зберегти PNG",
"exportToCSV": "Зберегти CSV",
"menu": "Меню",
"selection": "Вибір",
"selectionZoom": "Вибір із збільшенням",
"zoomIn": "Збільшити",
"zoomOut": "Зменшити",
"pan": "Переміщення",
"reset": "Скинути збільшення"
}
}
}

View File

@ -1,55 +0,0 @@
{
"name": "zh-cn",
"options": {
"months": [
"一月",
"二月",
"三月",
"四月",
"五月",
"六月",
"七月",
"八月",
"九月",
"十月",
"十一月",
"十二月"
],
"shortMonths": [
"一月",
"二月",
"三月",
"四月",
"五月",
"六月",
"七月",
"八月",
"九月",
"十月",
"十一月",
"十二月"
],
"days": [
"星期天",
"星期一",
"星期二",
"星期三",
"星期四",
"星期五",
"星期六"
],
"shortDays": ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
"toolbar": {
"exportToSVG": "下载 SVG",
"exportToPNG": "下载 PNG",
"exportToCSV": "下载 CSV",
"menu": "菜单",
"selection": "选择",
"selectionZoom": "选择缩放",
"zoomIn": "放大",
"zoomOut": "缩小",
"pan": "平移",
"reset": "重置缩放"
}
}
}

View File

@ -1,55 +0,0 @@
{
"name": "zh-tw",
"options": {
"months": [
"一月",
"二月",
"三月",
"四月",
"五月",
"六月",
"七月",
"八月",
"九月",
"十月",
"十一月",
"十二月"
],
"shortMonths": [
"一月",
"二月",
"三月",
"四月",
"五月",
"六月",
"七月",
"八月",
"九月",
"十月",
"十一月",
"十二月"
],
"days": [
"星期日",
"星期一",
"星期二",
"星期三",
"星期四",
"星期五",
"星期六"
],
"shortDays": ["週日", "週一", "週二", "週三", "週四", "週五", "週六"],
"toolbar": {
"exportToSVG": "下載 SVG",
"exportToPNG": "下載 PNG",
"exportToCSV": "下載 CSV",
"menu": "菜單",
"selection": "選擇",
"selectionZoom": "選擇縮放",
"zoomIn": "放大",
"zoomOut": "縮小",
"pan": "平移",
"reset": "重置縮放"
}
}
}

Some files were not shown because too many files have changed in this diff Show More