completed the admin side of frontend

This commit is contained in:
kicap1992
2022-01-21 04:22:52 +08:00
parent 99b63e0c76
commit a79b3b3073
55 changed files with 100368 additions and 303 deletions

View File

@ -19,6 +19,8 @@
<link rel="stylesheet" href="template_assets/vendor/toastr/toastr.min.css">
<!-- <link rel="stylesheet" href="template_assets/vendor/morrisjs/morris.css" /> -->
<link rel="stylesheet" href="template_assets/vendor/jquery-datatable/dataTables.bootstrap4.min.css">
<link rel="stylesheet" href="assets/dist/css/lightbox.min.css">
<link rel="stylesheet" href="template_assets/vendor/sweetalert/sweetalert.css">
@ -48,7 +50,7 @@
<div class="navbar-left">
<div class="navbar-btn">
<a href="index.html"><img src="template_assets/images/icon-light.svg" alt="HexaBit Logo"
<a href="admin_index.html"><img src="template_assets/images/icon-light.svg" alt="HexaBit Logo"
class="img-fluid logo"></a>
<button type="button" class="btn-toggle-offcanvas"><i
class="lnr lnr-menu fa fa-bars"></i></button>
@ -98,7 +100,7 @@
<div id="left-sidebar" class="sidebar">
<div class="navbar-brand">
<a href="index.html"><img src="template_assets/images/icon-light.svg" alt="HexaBit Logo"
<a href="admin_index.html"><img src="template_assets/images/icon-light.svg" alt="HexaBit Logo"
class="img-fluid logo"><span>Kicap Karan</span></a>
<button type="button" class="btn-toggle-offcanvas btn btn-sm btn-default float-right"><i
class="lnr lnr-menu fa fa-chevron-circle-left"></i></button>
@ -123,7 +125,7 @@
</div>
<nav id="left-sidebar-nav" class="sidebar-nav">
<ul id="main-menu" class="metismenu">
<li class="active"><a href="index.html"><i class="icon-basket-loaded"></i><span>Halaman
<li class="active"><a href="admin_index.html"><i class="icon-basket-loaded"></i><span>Halaman
Penjualan</span></a></li>
<li><a href="penambahan_produk.html"><i class="fa fa-edit"></i><span>Produk Baru</span></a></li>
<li><a href="list_produk.html"><i class=" icon-list"></i><span>List Produk</span></a></li>
@ -145,7 +147,7 @@
</div>
<div class="col-md-6 col-sm-12 text-right">
<ul class="breadcrumb">
<li class="breadcrumb-item"><a href="index.html"><i class="icon-home"></i></a></li>
<li class="breadcrumb-item"><a href="admin_index.html"><i class="icon-home"></i></a></li>
<li class="breadcrumb-item active">Halaman Penjualan</li>
</ul>
</div>
@ -183,78 +185,25 @@
</div>
<div class="body">
<div class="table-responsive">
<table class="table table-hover js-basic-example dataTable table-custom mb-0">
<thead class="thead-dark">
<div class="table-responsive" id="div_tabel_produk">
<table
class="table table-bordered table-hover js-basic-example dataTable table-custom"
id="tabel_produk" width="100%">
<thead class="thead-dark" width="100%">
<tr>
<th>Kode Barang</th>
<th>Nama</th>
<th>Harga Jual</th>
<th>Stok</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<tr>
<td>A4537</td>
<td>Adidas Merah</td>
<td>12</td>
<td>
<button class="btn btn-sm round btn-outline-primary"
data-toggle="modal" data-target="#exampleModal"><span
class="sr-only"></span><i
class="fa fa-shopping-cart"></i></button>
&nbsp;
<a class="example-image-link" href="template_assets/images/baju/contoh_baju.jpg" data-lightbox="example-1">
<button class="btn btn-sm round btn-outline-success">
<span class="sr-only"></span>
<i class="fa fa-file-image-o"></i>
</button>
</a>
</td>
</tr>
<tr>
<td>A4564</td>
<td>Adidas Putih</td>
<td>10</td>
<td>
<button class="btn btn-sm round btn-outline-primary"
data-toggle="modal" data-target="#exampleModal"><span
class="sr-only"></span><i
class="fa fa-shopping-cart"></i></button>
&nbsp;
<a class="example-image-link" href="template_assets/images/baju/contoh_baju.jpg" data-lightbox="example-1">
<button class="btn btn-sm round btn-outline-success">
<span class="sr-only"></span>
<i class="fa fa-file-image-o"></i>
</button>
</a>
</td>
</tr>
<tr>
<td>A4536</td>
<td>Adidas Hijau</td>
<td>8</td>
<td>
<button class="btn btn-sm round btn-outline-primary"
data-toggle="modal" data-target="#exampleModal"><span
class="sr-only"></span><i
class="fa fa-shopping-cart"></i></button>
&nbsp;
<a class="example-image-link" href="template_assets/images/baju/contoh_baju.jpg" data-lightbox="example-1">
<button class="btn btn-sm round btn-outline-success">
<span class="sr-only"></span>
<i class="fa fa-file-image-o"></i>
</button>
</a>
</td>
</tr>
</tbody>
</table>
</div>
<div id="div_ket_tiada_produk"></div>
</div>
</div>
@ -271,55 +220,21 @@
</div>
<div class="body">
<div class="table-responsive">
<table class="table table-hover js-basic-example dataTable table-custom mb-0">
<thead class="thead-dark">
<table
class="table table-bordered table-hover js-basic-example dataTable table-custom"
id="tabel_cart" width="100%">
<thead class="thead-dark" width="100%">
<tr>
<th>Kode Barang</th>
<th>Nama</th>
<th>Total Pembelian</th>
<th>Harga</th>
<th>Total</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<tr>
<td>A4537</td>
<td>Adidas Merah</td>
<td><input type="text" class="form-control" value="12"
style="width: 100px;"></td>
<td>Rp. 50,000</td>
<td>
<button class="btn btn-sm round btn-outline-danger"><span
class="sr-only"></span><i class="fa fa-trash"></i></button>
</td>
</tr>
<tr>
<td>A4564</td>
<td>Adidas Putih</td>
<td><input type="text" class="form-control" value="12"
style="width: 100px;"></td>
<td>Rp. 50,000</td>
<td>
<button class="btn btn-sm round btn-outline-danger"><span
class="sr-only"></span><i class="fa fa-trash"></i></button>
</td>
</tr>
<tr>
<td>A4536</td>
<td>Adidas Hijau</td>
<td><input type="text" class="form-control" value="12"
style="width: 100px;"></td>
<td>Rp. 50,000</td>
<td>
<button class="btn btn-sm round btn-outline-danger"><span
class="sr-only"></span><i class="fa fa-trash"></i></button>
</td>
</tr>
</tbody>
</table>
</div>
<div class="row">
@ -328,20 +243,31 @@
<div class="col-lg-6 col-md-10">
<div class="form-group">
<label>Total Pembayaran</label>
<input type="text" class="form-control" value="Rp. 150,000" disabled>
<input type="text" class="form-control" value="Rp. 150,000"
id="total_pembayaran_cart" disabled>
</div>
<div class="form-group">
<label>Jumlah Uang Pembayaran</label>
<input type="text" class="form-control"
placeholder="Masukkan Jumlah Uang Pembayaran">
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text">Rp.</span>
</div>
<input type="text" class="form-control"
placeholder="Masukkan Jumlah Uang Pembayaran"
id="jumlah_uang_pembayaran_cart" maxlength="10"
oninput="cek_baki_cart(this.value)">
</div>
</div>
<div class="form-group">
<label>Baki </label>
<input type="text" class="form-control" value="Rp. 20,000" disabled>
<label>Kembalian </label>
<input type="text" class="form-control" value=""
placeholder="Masukkan Jumlah Uang Pembayaran" id="baki_cart" disabled>
</div>
<div class="form-group text-center">
<button class="btn btn-sm btn-primary">Masukkan Data</button>
<button class="btn btn-sm btn-info" id="button_masukkan_data_cart" disabled
style="cursor: not-allowed;">Masukkan Jumlah Uang Pembayaran</button>
</div>
</div>
@ -358,7 +284,7 @@
</div>
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
<div class="modal fade" id="modal_pembelian" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
@ -370,31 +296,50 @@
</div>
<div class="modal-body">
<div class="form-group text-center">
<img src="template_assets/images/baju/contoh_baju.jpg" alt="" width="150px" height="200px">
<img src="template_assets/images/baju/contoh_baju.jpg" id="foto_produk" alt="" width="150px"
height="200px">
</div>
<div class="form-group">
<label for="">Kode</label>
<input type="text" class="form-control" value="A4567" disabled>
<input type="text" class="form-control" id="kode_barang" value="A4567" disabled>
</div>
<div class="form-group">
<label for="">Nama</label>
<input type="text" class="form-control" value="Adidas Merah" disabled>
<input type="text" class="form-control" id="nama" value="Adidas Merah" disabled>
</div>
<div class="form-group">
<label for="">Harga</label>
<input type="text" class="form-control" value="Rp 50,000" disabled>
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text">Rp.</span>
</div>
<input type="text" class="form-control" id="harga" maxlength="10" disabled>
</div>
</div>
<div class="form-group">
<label for="">Jumlah Belian</label>
<input type="text" class="form-control" placeholder="Masukkan Jumlah Belian">
<label for="">Stok</label>
<input type="text" class="form-control" id="jumlah" value="" disabled>
</div>
<div class="form-group">
<label for="">Jumlah Pembelian</label>
<input type="text" class="form-control" placeholder="Masukkan Jumlah Belian"
onkeypress="return isNumberKey(event)" maxlength="4" id="jumlah_pembelian">
</div>
<div class="form-group">
<label for="">Total</label>
<input type="text" class="form-control" placeholder="Rp.50.000" disabled>
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text">Rp.</span>
</div>
<input type="text" class="form-control" id="total" placeholder="Masukkan Jumlah Pembelian"
maxlength="10" disabled>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" onclick="masukkan_ke_cart()">Masukkan Ke List
<button type="button" class="btn btn-primary" onclick="masukkan_ke_cart()"
id="button_masukkan_ke_cart" disabled style="cursor:not-allowed"
title="Isi Jumlah Pembelian Terlebih Dahulu">Masukkan Ke List
Pembelian</button>
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div>
@ -416,10 +361,16 @@
<script src="assets/js/index.js"></script>
<script src="assets/dist/js/lightbox.min.js"></script>
<script src="template_assets/vendor/sweetalert/sweetalert.js"></script>
<script src="assets/bundles/datatablescripts.bundle.js"></script>
<script src="template_assets/vendor/jquery-datatable/buttons/dataTables.buttons.min.js"></script>
<script src="template_assets/vendor/jquery-datatable/buttons/buttons.bootstrap4.min.js"></script>
<script src="assets/block/jquery.blockUI.js"></script>
<script src="main.js"></script>
<script>
function cari() {
// $('#tabel_produk').DataTable()
var array_cart = []
async function cari() {
//create var input = document.getElementById('input_pencarian_barang');
var input = $('#input_pencarian_barang').val();
// if input is empty then toastr error on top right ("Masukkan Nama atau Kode Barang") focus to input else toastr success ("Cari Berhasil")
@ -444,20 +395,541 @@
});
$('#input_pencarian_barang').focus();
} else {
// show div id=div_pencarian with fadeIn
$('.div_pencarian').fadeIn(1000);
//create try catch
try {
sedang_proses()
//create fetch get with header basic auth
const response = await fetch('http://localhost/ilham/server/api/cari_produk?id=' + input, {
method: 'GET',
headers: {
'Authorization': 'Basic ' + btoa('Kicap_karan:bb10c6d9f01ec0cb16726b59e36c2f73')
}
});
//create json
const json = await response.json();
//if response status is 200 then console.log("ok") else console.log("ko")
if (response.status == 200) {
$.unblockUI();
// console.log(json);
// console.log(json.data.length);
if (json.data.length > 0) {
let data_produk = json.data;
$('#tabel_produk').DataTable().destroy();
//create datatable table id="tabel_produk" with data=data_produk
$('#tabel_produk').DataTable({
data: data_produk,
columns: [{
data: 'kode_barang'
},
{
data: 'nama'
},
null,
{
data: 'jumlah'
},
],
destroy: true,
"columnDefs": [{
"targets": [0],
// "visible": false,
"searchable": false
}],
"order": [
[0, 'asc']
],
"aoColumnDefs": [
{
"aTargets": [4],
"mData": null,
"mRender": function (data, type, row, meta) {
return `<button class="btn btn-sm round btn-outline-primary"
onclick="open_modal_pembelian(${data.no_barang})" ${(data.jumlah == 0) ? `style="cursor:not-allowed" disabled` : ""}><span
class="sr-only" ></span><i
class="fa fa-shopping-cart"></i></button>
&nbsp;
<a class="example-image-link"
href="http://localhost/ilham/server/img/${data.no_barang}/${data.foto}"
data-lightbox="example-${data.no_barang}">
<button class="btn btn-sm round btn-outline-success">
<span class="sr-only"></span>
<i class="fa fa-file-image-o"></i>
</button>
</a>`;
}
}, {
"aTargets": [2],
"mData": "harga_jual",
"mRender": function (data, type, full) {
return 'Rp. ' + data;
}
}
]
});
$("#div_tabel_produk").show();
$("#div_ket_tiada_produk").html("");
// hide div ket_tiada_produk
$("#div_ket_tiada_produk").hide();
$('.div_pencarian').hide();
$('.div_pencarian').fadeIn(1000);
} else {
$('#tabel_produk').DataTable().destroy();
//hide id div_tabel_produk
$("#div_tabel_produk").hide();
$("#div_ket_tiada_produk").html("<center><label>Tidak Ada Produk Dengan Kode Dan Nama <b><i>'" + input + "'<//i></b></label></center>");
// show div ket_tiada_produk
$("#div_ket_tiada_produk").show();
$('.div_pencarian').hide();
$('.div_pencarian').fadeIn(1000);
}
} else {
$.unblockUI();
swal({
icon: 'error',
title: 'Gagal',
text: 'Silahkan Coba Lagi',
timer: 2000,
button: false
})
}
}
catch (err) {
$.unblockUI();
swal({
icon: 'error',
title: 'Gagal',
text: 'Silahkan Coba Lagi',
timer: 2000,
button: false
})
}
}
// // show div id=div_pencarian with fadeIn
// $('.div_pencarian').fadeIn(1000);
}
function masukkan_ke_cart() {
async function open_modal_pembelian(id) {
document.getElementById('jumlah_pembelian').value = null;
// console.log(id)
try {
sedang_proses()
//create fetch get
let response = await fetch('http://localhost/ilham/server/api/get_produk?id=' + id, {
method: 'GET',
headers: {
'Authorization': 'Basic ' + btoa('Kicap_karan:bb10c6d9f01ec0cb16726b59e36c2f73')
},
});
//create json
let data = await response.json();
// console.log(data);
// img id foto_produk src=data.data.foto
document.getElementById('foto_produk').src = `http://localhost/ilham/server/img/${data.data.no_barang}/${data.data.foto}`;
document.getElementById('kode_barang').value = data.data.kode_barang;
document.getElementById('nama').value = data.data.nama;
document.getElementById('harga').value = data.data.harga_jual;
document.getElementById('jumlah').value = data.data.jumlah;
// input id="jumlah_pembelian" onchange="cek_jumlah_pembelian()"
document.getElementById('jumlah_pembelian').oninput = function () {
cek_jumlah_pembelian(data.data.jumlah, data.data.no_barang, `${data.data.harga_jual}`, `${data.data.nama}`, `${data.data.kode_barang}`);
}
$.unblockUI();
// open modal id exampleModal
$('#modal_pembelian').modal('show');
//focus id jumlah_pembelian
// document.getElementById("jumlah_pembelian").focus();
}
catch (err) {
$.unblockUI();
swal({
icon: 'error',
title: 'Gagal',
text: 'Silahkan Coba Lagi',
timer: 2000,
button: false
})
}
//show modal id modal_pembelian
// $('#modal_pembelian').modal('show');
}
function cek_jumlah_pembelian(jumlah, id, harga_jual, nama, kode_barang) {
let jumlah_pembelian = document.getElementById('jumlah_pembelian').value;
let stok_on_delete = parseInt(jumlah) - parseInt(jumlah_pembelian);
let total_harga = parseInt(jumlah_pembelian) * parseInt(remove_comma(harga_jual));
id_produk = id
// console.log(harga_jual);
// console.log(id_produk);
if (stok_on_delete < 0) {
toastr.error('Stok Tidak Mencukupi', 'Error', {
"positionClass": "toast-top-center",
"closeButton": true,
"progressBar": true,
"showEasing": "swing",
"hideEasing": "linear",
"showMethod": "fadeIn",
"hideMethod": "fadeOut",
"timeOut": 4000
});
//button id="button_masukkan_ke_cart" disabled and title="Stok Tidak Mencukupi" and cursor="not-allowed" , html = "Stok Tidak Mencukupi" ,class="btn btn-danger"
document.getElementById('button_masukkan_ke_cart').disabled = true;
document.getElementById('button_masukkan_ke_cart').title = 'Stok Tidak Mencukupi';
document.getElementById('button_masukkan_ke_cart').style.cursor = 'not-allowed';
document.getElementById('button_masukkan_ke_cart').innerHTML = 'Stok Tidak Mencukupi';
document.getElementById('button_masukkan_ke_cart').className = 'btn btn-danger';
document.getElementById('total').value = null;
$("#button_masukkan_ke_cart").hide();
$("#button_masukkan_ke_cart").fadeIn(1000);
//focus id jumlah_pembelian
document.getElementById('jumlah_pembelian').focus();
} else {
//button id="button_masukkan_ke_cart" disabled=false , title="Sila Klik Untuk Masukkan Ke Cart" , cursor="pointer", attr onclick="masukkan_ke_cart('${id}')"
document.getElementById('button_masukkan_ke_cart').disabled = false;
document.getElementById('button_masukkan_ke_cart').title = 'Sila Klik Untuk Masukkan Ke Cart';
document.getElementById('button_masukkan_ke_cart').innerHTML = 'Masukkan Ke List Pembelian';
document.getElementById('button_masukkan_ke_cart').className = 'btn btn-primary';
document.getElementById('button_masukkan_ke_cart').style.cursor = 'pointer';
document.getElementById('total').value = 'Rp. ' + add_comma(total_harga);
$("#button_masukkan_ke_cart").attr({
onclick: `masukkan_ke_cart(${id},'${harga_jual}','${nama}','${kode_barang}')`
})
$("#button_masukkan_ke_cart").hide();
$("#button_masukkan_ke_cart").fadeIn(1000);
}
// console.log(jumlah)
// console.log(jumlah_pembelian)
}
async function masukkan_ke_cart(id, harga_jual, nama, kode_barang) {
let jumlah_pembelian = document.getElementById('jumlah_pembelian').value;
let total = parseInt(jumlah_pembelian) * parseInt(remove_comma(harga_jual));
// console.log(id)
// console.log(kode_barang);
// console.log(nama);
// console.log(jumlah_pembelian);
// console.log(harga_jual);
let data = {
id: id,
kode_barang: kode_barang,
jumlah: jumlah_pembelian,
harga_jual: harga_jual,
nama: nama,
total: total
}
if (array_cart.length > 0) {
//loop array_cart and search in field id_produk if id_produk is same with id_produk from data then do nothing else push data to array_cart
let is_exist = false;
for (let i = 0; i < array_cart.length; i++) {
if (array_cart[i].id == data.id) {
is_exist = true;
break;
}
}
if (is_exist == false) {
array_cart.push(data);
} else {
toastr.error('Produk Sudah Ada Dalam List Pembelian', 'Error', {
"positionClass": "toast-top-center",
"closeButton": true,
"progressBar": true,
"showEasing": "swing",
"hideEasing": "linear",
"showMethod": "fadeIn",
"hideMethod": "fadeOut",
"timeOut": 4000
});
}
} else {
array_cart.push(data);
}
//push to array_cart
// array_cart.push(data);
// console.log(array_cart)
$('#tabel_cart').DataTable().destroy();
tabel_cart();
// create datatable table id="tabel_produk" with data=data_produk
// hide div id=div_pencarian with fadeOut
$('.div_pencarian').fadeOut(1000);
// show div id=div_cart_list with fadeIn
$('.div_cart_list').fadeIn(1000);
//close modal
$('.modal').modal('hide');
input_numbers_comma([document.getElementById('jumlah_uang_pembayaran_cart')]);
}
function edit_total_pembelian(id, total_baru, total_lama, harga_jual) {
// console.log(id)
// console.log(total_baru)
// console.log(total_lama)
// console.log(harga_jual)
if (total_baru <= 0) {
toastr.error('Jumlah Pembelian Tidak Boleh Kurang Dari 1', 'Error', {
"positionClass": "toast-top-center",
"closeButton": true,
"progressBar": true,
"showEasing": "swing",
"hideEasing": "linear",
"showMethod": "fadeIn",
"hideMethod": "fadeOut",
"timeOut": 4000
});
document.getElementById('input_total_pembelian_tabel_' + id).value = total_lama;
} else {
let total = parseInt(total_baru) * parseInt(remove_comma(harga_jual));
// search at array_cart in field id if id is same with id then field jumlah = total_baru and field total = total
for (let i = 0; i < array_cart.length; i++) {
if (array_cart[i].id == id) {
array_cart[i].jumlah = total_baru;
array_cart[i].total = total;
break;
}
}
tabel_cart()
}
}
function hapus_dari_cart(id) {
// console.log(id)
//swal icon="warning" text="Yakin Hapus Produk Dari Cart Pelanggan?" with 2 buttons "Ya" and "Tidak"
swal({
title: "",
text: "Yakin Hapus Produk Dari Cart Pelanggan?",
icon: "warning",
buttons: true,
dangerMode: true,
}).then((willDelete) => {
if (willDelete) {
//search at array_cart in field id if id is same with id then delete data from array_cart
for (let i = 0; i < array_cart.length; i++) {
if (array_cart[i].id == id) {
array_cart.splice(i, 1);
break;
}
}
//destroy datatable table id="tabel_cart"
$('#tabel_cart').DataTable().destroy();
tabel_cart()
}
});
// console.log(array_cart.length)
}
async function tabel_cart(data = array_cart) {
await $('#tabel_cart').DataTable({
data: data,
columns: [{
data: 'kode_barang'
},
{
data: 'nama'
},
null,
null,
null,
],
destroy: true,
"columnDefs": [{
"targets": [0],
// "visible": false,
"searchable": false
}],
"order": [
[0, 'asc']
],
paging: false,
"aoColumnDefs": [
{
"aTargets": [5],
"mData": null,
"mRender": function (data, type, row, meta) {
return `<button class="btn btn-sm round btn-outline-danger" onclick="hapus_dari_cart(${data.id})"><span class="sr-only"></span><i class="fa fa-trash"></i></button>`;
}
}, {
"aTargets": [2],
"mData": null,
"mRender": function (data, type, row, meta) {
return `<input type="text" class="form-control" value="${data.jumlah}" style="width: 100px;" onkeypress="return isNumberKey(event)" id="input_total_pembelian_tabel_${data.id}" maxlength="3" onchange="edit_total_pembelian(${data.id},this.value,${data.jumlah},'${data.harga_jual}')">`;
}
}, {
"aTargets": [3],
"mData": 'harga_jual',
"mRender": function (data, type, full) {
return `Rp . ${data}`;
}
}, {
"aTargets": [4],
"mData": 'total',
"mRender": function (data, type, full) {
return `Rp . ${add_comma(data)}`;
}
}
]
});
if (array_cart.length > 0) {
let total_pembayaran = await 0;
//loop array_cart and add total to total_pembayaran
for (let i = 0; i < array_cart.length; i++) {
total_pembayaran += await parseInt(array_cart[i].total);
}
// console.log(total_pembayaran)
document.getElementById('total_pembayaran_cart').value = await `Rp . ${add_comma(total_pembayaran)}`;
//
cek_baki_cart();
} else {
$('#tabel_cart').DataTable().destroy();
// hide div id=div_cart_list
$('.div_cart_list').fadeOut(1000);
// show div id=div_pencarian with fadeIn
// $('.div_pencarian').fadeIn(1000);
}
}
function cek_baki_cart() {
let pembayaran = remove_comma(document.getElementById('jumlah_uang_pembayaran_cart').value);
let total = document.getElementById('total_pembayaran_cart').value;
// remove all the non-digit characters from total
total = total.replace(/[^0-9]/g, '');
let baki = parseInt(remove_comma(pembayaran)) - parseInt(total);
// console.log(baki)
if (pembayaran == '') {
document.getElementById('button_masukkan_data_cart').innerHTML = `Masukkan Jumlah Uang Pembayaran`;
document.getElementById('button_masukkan_data_cart').className = `btn btn-sm btn-primary`;
document.getElementById('button_masukkan_data_cart').disabled = true;
document.getElementById('button_masukkan_data_cart').style = `cursor:not-allowed;`;
document.getElementById('button_masukkan_data_cart').onclick = null;
}
else if (baki < 0) {
document.getElementById('baki_cart').value = `Uang Pembayaran Masih Kurang`;
// button id button_masukkan_data_cart html="Uang Pembayaran Masih Kurang", class="btn btn-sm btn-danger" , disabled="true", sytle="curson:not-allowed;" , onclick="null"
document.getElementById('button_masukkan_data_cart').innerHTML = `Uang Pembayaran Masih Kurang`;
document.getElementById('button_masukkan_data_cart').className = `btn btn-sm btn-danger`;
document.getElementById('button_masukkan_data_cart').disabled = true;
document.getElementById('button_masukkan_data_cart').style = `cursor:not-allowed;`;
document.getElementById('button_masukkan_data_cart').onclick = null;
} else {
document.getElementById('baki_cart').value = `Rp . ${add_comma(baki)}`;
// button id button_masukkan_data_cart html="Masukkan Data", class="btn btn-sm btn-primary" , disabled="false", sytle="curson:pointer;" , onclick="masukkan_pembyaran_cart()"
document.getElementById('button_masukkan_data_cart').innerHTML = `Masukkan Data`;
document.getElementById('button_masukkan_data_cart').className = `btn btn-sm btn-primary`;
document.getElementById('button_masukkan_data_cart').disabled = false;
document.getElementById('button_masukkan_data_cart').style = `cursor:pointer;`;
document.getElementById('button_masukkan_data_cart').onclick = function () {
masukkan_data_cart();
}
}
}
async function masukkan_data_cart() {
let total_belanja = document.getElementById('total_pembayaran_cart').value;
total_belanja = add_comma(total_belanja.replace(/[^0-9]/g, ''));
let pembayaran = document.getElementById('jumlah_uang_pembayaran_cart').value;
let baki = document.getElementById('baki_cart').value;
baki = add_comma(baki.replace(/[^0-9]/g, ''));
// console.log(total_belanja)
// console.log(pembayaran)
// console.log(baki)
let data = {
status: "Penjualan Produk",
total_belanja: total_belanja,
pembayaran: pembayaran,
baki: baki,
ket: JSON.stringify(array_cart)
}
data = { data: data }
//create try catch
try {
sedang_proses()
//create fetch post with basic auth
let response = await fetch('http://localhost/ilham/server/api/penjualan', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Kicap_karan:bb10c6d9f01ec0cb16726b59e36c2f73'
},
body: JSON.stringify(data)
});
//create json
let json = await response.json();
//create if response status is 200
if (response.status == 200) {
//create alert
$.unblockUI()
swal({
title: "Berhasil Mengubah Detail Produk",
text: (json.stat == 'success') ? "Laporan Berhasil Terkirim Ke Server Online" : "Laporan Gagal Terkirim Ke Server Online",
icon: "success",
button: "OK",
});
$('#modal_edit_detail_produk').modal('hide');
// destroy table id=table_produk
$('#table_cart').DataTable().destroy();
$('#table_produk').DataTable().destroy();
array_cart = [];
tabel_cart();
// div class div_cart_list fadeOut 100
} else {
console.log('data tidak ada')
}
} catch (e) {
console.log(e)
}
}
</script>
</body>

BIN
admin/assets/block/css/.DS_Store vendored Normal file

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,471 @@
/*!
* Datepicker for Bootstrap v1.6.4 (https://github.com/eternicode/bootstrap-datepicker)
*
* Copyright 2012 Stefan Petre
* Improvements by Andrew Rowls
* Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0)
*/
.datepicker {
padding: 4px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
direction: ltr;
}
.datepicker-inline {
width: 220px;
}
.datepicker.datepicker-rtl {
direction: rtl;
}
.datepicker.datepicker-rtl table tr td span {
float: right;
}
.datepicker-dropdown {
top: 0;
left: 0;
}
.datepicker-dropdown:before {
content: '';
display: inline-block;
border-left: 7px solid transparent;
border-right: 7px solid transparent;
border-bottom: 7px solid #999;
border-top: 0;
border-bottom-color: rgba(0, 0, 0, 0.2);
position: absolute;
}
.datepicker-dropdown:after {
content: '';
display: inline-block;
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-bottom: 6px solid #fff;
border-top: 0;
position: absolute;
}
.datepicker-dropdown.datepicker-orient-left:before {
left: 6px;
}
.datepicker-dropdown.datepicker-orient-left:after {
left: 7px;
}
.datepicker-dropdown.datepicker-orient-right:before {
right: 6px;
}
.datepicker-dropdown.datepicker-orient-right:after {
right: 7px;
}
.datepicker-dropdown.datepicker-orient-bottom:before {
top: -7px;
}
.datepicker-dropdown.datepicker-orient-bottom:after {
top: -6px;
}
.datepicker-dropdown.datepicker-orient-top:before {
bottom: -7px;
border-bottom: 0;
border-top: 7px solid #999;
}
.datepicker-dropdown.datepicker-orient-top:after {
bottom: -6px;
border-bottom: 0;
border-top: 6px solid #fff;
}
.datepicker table {
margin: 0;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.datepicker td,
.datepicker th {
text-align: center;
width: 20px;
height: 20px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
border: none;
}
.table-striped .datepicker table tr td,
.table-striped .datepicker table tr th {
background-color: transparent;
}
.datepicker table tr td.day:hover,
.datepicker table tr td.day.focused {
background: #eee;
cursor: pointer;
}
.datepicker table tr td.old,
.datepicker table tr td.new {
color: #999;
}
.datepicker table tr td.disabled,
.datepicker table tr td.disabled:hover {
background: none;
color: #999;
cursor: default;
}
.datepicker table tr td.highlighted {
background: #d9edf7;
border-radius: 0;
}
.datepicker table tr td.today,
.datepicker table tr td.today:hover,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today.disabled:hover {
background-color: #fde19a;
background-image: -moz-linear-gradient(to bottom, #fdd49a, #fdf59a);
background-image: -ms-linear-gradient(to bottom, #fdd49a, #fdf59a);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fdd49a), to(#fdf59a));
background-image: -webkit-linear-gradient(to bottom, #fdd49a, #fdf59a);
background-image: -o-linear-gradient(to bottom, #fdd49a, #fdf59a);
background-image: linear-gradient(to bottom, #fdd49a, #fdf59a);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);
border-color: #fdf59a #fdf59a #fbed50;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
color: #000;
}
.datepicker table tr td.today:hover,
.datepicker table tr td.today:hover:hover,
.datepicker table tr td.today.disabled:hover,
.datepicker table tr td.today.disabled:hover:hover,
.datepicker table tr td.today:active,
.datepicker table tr td.today:hover:active,
.datepicker table tr td.today.disabled:active,
.datepicker table tr td.today.disabled:hover:active,
.datepicker table tr td.today.active,
.datepicker table tr td.today:hover.active,
.datepicker table tr td.today.disabled.active,
.datepicker table tr td.today.disabled:hover.active,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today:hover.disabled,
.datepicker table tr td.today.disabled.disabled,
.datepicker table tr td.today.disabled:hover.disabled,
.datepicker table tr td.today[disabled],
.datepicker table tr td.today:hover[disabled],
.datepicker table tr td.today.disabled[disabled],
.datepicker table tr td.today.disabled:hover[disabled] {
background-color: #fdf59a;
}
.datepicker table tr td.today:active,
.datepicker table tr td.today:hover:active,
.datepicker table tr td.today.disabled:active,
.datepicker table tr td.today.disabled:hover:active,
.datepicker table tr td.today.active,
.datepicker table tr td.today:hover.active,
.datepicker table tr td.today.disabled.active,
.datepicker table tr td.today.disabled:hover.active {
background-color: #fbf069 \9;
}
.datepicker table tr td.today:hover:hover {
color: #000;
}
.datepicker table tr td.today.active:hover {
color: #fff;
}
.datepicker table tr td.range,
.datepicker table tr td.range:hover,
.datepicker table tr td.range.disabled,
.datepicker table tr td.range.disabled:hover {
background: #eee;
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
}
.datepicker table tr td.range.today,
.datepicker table tr td.range.today:hover,
.datepicker table tr td.range.today.disabled,
.datepicker table tr td.range.today.disabled:hover {
background-color: #f3d17a;
background-image: -moz-linear-gradient(to bottom, #f3c17a, #f3e97a);
background-image: -ms-linear-gradient(to bottom, #f3c17a, #f3e97a);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f3c17a), to(#f3e97a));
background-image: -webkit-linear-gradient(to bottom, #f3c17a, #f3e97a);
background-image: -o-linear-gradient(to bottom, #f3c17a, #f3e97a);
background-image: linear-gradient(to bottom, #f3c17a, #f3e97a);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0);
border-color: #f3e97a #f3e97a #edde34;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
}
.datepicker table tr td.range.today:hover,
.datepicker table tr td.range.today:hover:hover,
.datepicker table tr td.range.today.disabled:hover,
.datepicker table tr td.range.today.disabled:hover:hover,
.datepicker table tr td.range.today:active,
.datepicker table tr td.range.today:hover:active,
.datepicker table tr td.range.today.disabled:active,
.datepicker table tr td.range.today.disabled:hover:active,
.datepicker table tr td.range.today.active,
.datepicker table tr td.range.today:hover.active,
.datepicker table tr td.range.today.disabled.active,
.datepicker table tr td.range.today.disabled:hover.active,
.datepicker table tr td.range.today.disabled,
.datepicker table tr td.range.today:hover.disabled,
.datepicker table tr td.range.today.disabled.disabled,
.datepicker table tr td.range.today.disabled:hover.disabled,
.datepicker table tr td.range.today[disabled],
.datepicker table tr td.range.today:hover[disabled],
.datepicker table tr td.range.today.disabled[disabled],
.datepicker table tr td.range.today.disabled:hover[disabled] {
background-color: #f3e97a;
}
.datepicker table tr td.range.today:active,
.datepicker table tr td.range.today:hover:active,
.datepicker table tr td.range.today.disabled:active,
.datepicker table tr td.range.today.disabled:hover:active,
.datepicker table tr td.range.today.active,
.datepicker table tr td.range.today:hover.active,
.datepicker table tr td.range.today.disabled.active,
.datepicker table tr td.range.today.disabled:hover.active {
background-color: #efe24b \9;
}
.datepicker table tr td.selected,
.datepicker table tr td.selected:hover,
.datepicker table tr td.selected.disabled,
.datepicker table tr td.selected.disabled:hover {
background-color: #9e9e9e;
background-image: -moz-linear-gradient(to bottom, #b3b3b3, #808080);
background-image: -ms-linear-gradient(to bottom, #b3b3b3, #808080);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#b3b3b3), to(#808080));
background-image: -webkit-linear-gradient(to bottom, #b3b3b3, #808080);
background-image: -o-linear-gradient(to bottom, #b3b3b3, #808080);
background-image: linear-gradient(to bottom, #b3b3b3, #808080);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0);
border-color: #808080 #808080 #595959;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td.selected:hover,
.datepicker table tr td.selected:hover:hover,
.datepicker table tr td.selected.disabled:hover,
.datepicker table tr td.selected.disabled:hover:hover,
.datepicker table tr td.selected:active,
.datepicker table tr td.selected:hover:active,
.datepicker table tr td.selected.disabled:active,
.datepicker table tr td.selected.disabled:hover:active,
.datepicker table tr td.selected.active,
.datepicker table tr td.selected:hover.active,
.datepicker table tr td.selected.disabled.active,
.datepicker table tr td.selected.disabled:hover.active,
.datepicker table tr td.selected.disabled,
.datepicker table tr td.selected:hover.disabled,
.datepicker table tr td.selected.disabled.disabled,
.datepicker table tr td.selected.disabled:hover.disabled,
.datepicker table tr td.selected[disabled],
.datepicker table tr td.selected:hover[disabled],
.datepicker table tr td.selected.disabled[disabled],
.datepicker table tr td.selected.disabled:hover[disabled] {
background-color: #808080;
}
.datepicker table tr td.selected:active,
.datepicker table tr td.selected:hover:active,
.datepicker table tr td.selected.disabled:active,
.datepicker table tr td.selected.disabled:hover:active,
.datepicker table tr td.selected.active,
.datepicker table tr td.selected:hover.active,
.datepicker table tr td.selected.disabled.active,
.datepicker table tr td.selected.disabled:hover.active {
background-color: #666666 \9;
}
.datepicker table tr td.active,
.datepicker table tr td.active:hover,
.datepicker table tr td.active.disabled,
.datepicker table tr td.active.disabled:hover {
background-color: #006dcc;
background-image: -moz-linear-gradient(to bottom, #08c, #0044cc);
background-image: -ms-linear-gradient(to bottom, #08c, #0044cc);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#08c), to(#0044cc));
background-image: -webkit-linear-gradient(to bottom, #08c, #0044cc);
background-image: -o-linear-gradient(to bottom, #08c, #0044cc);
background-image: linear-gradient(to bottom, #08c, #0044cc);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);
border-color: #0044cc #0044cc #002a80;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td.active:hover,
.datepicker table tr td.active:hover:hover,
.datepicker table tr td.active.disabled:hover,
.datepicker table tr td.active.disabled:hover:hover,
.datepicker table tr td.active:active,
.datepicker table tr td.active:hover:active,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active.active,
.datepicker table tr td.active:hover.active,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active.disabled:hover.active,
.datepicker table tr td.active.disabled,
.datepicker table tr td.active:hover.disabled,
.datepicker table tr td.active.disabled.disabled,
.datepicker table tr td.active.disabled:hover.disabled,
.datepicker table tr td.active[disabled],
.datepicker table tr td.active:hover[disabled],
.datepicker table tr td.active.disabled[disabled],
.datepicker table tr td.active.disabled:hover[disabled] {
background-color: #0044cc;
}
.datepicker table tr td.active:active,
.datepicker table tr td.active:hover:active,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active.active,
.datepicker table tr td.active:hover.active,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active.disabled:hover.active {
background-color: #003399 \9;
}
.datepicker table tr td span {
display: block;
width: 23%;
height: 54px;
line-height: 54px;
float: left;
margin: 1%;
cursor: pointer;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
.datepicker table tr td span:hover,
.datepicker table tr td span.focused {
background: #eee;
}
.datepicker table tr td span.disabled,
.datepicker table tr td span.disabled:hover {
background: none;
color: #999;
cursor: default;
}
.datepicker table tr td span.active,
.datepicker table tr td span.active:hover,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active.disabled:hover {
background-color: #006dcc;
background-image: -moz-linear-gradient(to bottom, #08c, #0044cc);
background-image: -ms-linear-gradient(to bottom, #08c, #0044cc);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#08c), to(#0044cc));
background-image: -webkit-linear-gradient(to bottom, #08c, #0044cc);
background-image: -o-linear-gradient(to bottom, #08c, #0044cc);
background-image: linear-gradient(to bottom, #08c, #0044cc);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);
border-color: #0044cc #0044cc #002a80;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td span.active:hover,
.datepicker table tr td span.active:hover:hover,
.datepicker table tr td span.active.disabled:hover,
.datepicker table tr td span.active.disabled:hover:hover,
.datepicker table tr td span.active:active,
.datepicker table tr td span.active:hover:active,
.datepicker table tr td span.active.disabled:active,
.datepicker table tr td span.active.disabled:hover:active,
.datepicker table tr td span.active.active,
.datepicker table tr td span.active:hover.active,
.datepicker table tr td span.active.disabled.active,
.datepicker table tr td span.active.disabled:hover.active,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active:hover.disabled,
.datepicker table tr td span.active.disabled.disabled,
.datepicker table tr td span.active.disabled:hover.disabled,
.datepicker table tr td span.active[disabled],
.datepicker table tr td span.active:hover[disabled],
.datepicker table tr td span.active.disabled[disabled],
.datepicker table tr td span.active.disabled:hover[disabled] {
background-color: #0044cc;
}
.datepicker table tr td span.active:active,
.datepicker table tr td span.active:hover:active,
.datepicker table tr td span.active.disabled:active,
.datepicker table tr td span.active.disabled:hover:active,
.datepicker table tr td span.active.active,
.datepicker table tr td span.active:hover.active,
.datepicker table tr td span.active.disabled.active,
.datepicker table tr td span.active.disabled:hover.active {
background-color: #003399 \9;
}
.datepicker table tr td span.old,
.datepicker table tr td span.new {
color: #999;
}
.datepicker .datepicker-switch {
width: 145px;
}
.datepicker .datepicker-switch,
.datepicker .prev,
.datepicker .next,
.datepicker tfoot tr th {
cursor: pointer;
}
.datepicker .datepicker-switch:hover,
.datepicker .prev:hover,
.datepicker .next:hover,
.datepicker tfoot tr th:hover {
background: #eee;
}
.datepicker .cw {
font-size: 10px;
width: 12px;
padding: 0 2px 0 5px;
vertical-align: middle;
}
.input-append.date .add-on,
.input-prepend.date .add-on {
cursor: pointer;
}
.input-append.date .add-on i,
.input-prepend.date .add-on i {
margin-top: 3px;
}
.input-daterange input {
text-align: center;
}
.input-daterange input:first-child {
-webkit-border-radius: 3px 0 0 3px;
-moz-border-radius: 3px 0 0 3px;
border-radius: 3px 0 0 3px;
}
.input-daterange input:last-child {
-webkit-border-radius: 0 3px 3px 0;
-moz-border-radius: 0 3px 3px 0;
border-radius: 0 3px 3px 0;
}
.input-daterange .add-on {
display: inline-block;
width: auto;
min-width: 16px;
height: 18px;
padding: 4px 5px;
font-weight: normal;
line-height: 18px;
text-align: center;
text-shadow: 0 1px 0 #fff;
vertical-align: middle;
background-color: #eee;
border: 1px solid #ccc;
margin-left: -5px;
margin-right: -5px;
}
/*# sourceMappingURL=bootstrap-datepicker.css.map */

7352
admin/assets/block/css/bootstrap.min.css vendored Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,273 @@
/*!
* Bootstrap Reboot v4.1.3 (https://getbootstrap.com/)
* Copyright 2011-2018 The Bootstrap Authors
* Copyright 2011-2018 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
*/
*,
*::before,
*::after {
-webkit-box-sizing: border-box;
box-sizing: border-box; }
html {
font-family: sans-serif;
line-height: 1.15;
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
-ms-overflow-style: scrollbar;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
@-ms-viewport {
width: device-width; }
article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
display: block; }
body {
margin: 0;
font-family: "Quicksand", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
color: #212529;
text-align: left;
background-color: #fff; }
[tabindex="-1"]:focus {
outline: 0 !important; }
hr {
-webkit-box-sizing: content-box;
box-sizing: content-box;
height: 0;
overflow: visible; }
h1, h2, h3, h4, h5, h6 {
margin-top: 0;
margin-bottom: 0.5rem; }
p {
margin-top: 0;
margin-bottom: 1rem; }
abbr[title],
abbr[data-original-title] {
text-decoration: underline;
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted;
cursor: help;
border-bottom: 0; }
address {
margin-bottom: 1rem;
font-style: normal;
line-height: inherit; }
ol,
ul,
dl {
margin-top: 0;
margin-bottom: 1rem; }
ol ol,
ul ul,
ol ul,
ul ol {
margin-bottom: 0; }
dt {
font-weight: 700; }
dd {
margin-bottom: .5rem;
margin-left: 0; }
blockquote {
margin: 0 0 1rem; }
dfn {
font-style: italic; }
b,
strong {
font-weight: bolder; }
small {
font-size: 80%; }
sub,
sup {
position: relative;
font-size: 75%;
line-height: 0;
vertical-align: baseline; }
sub {
bottom: -.25em; }
sup {
top: -.5em; }
a {
color: #0d0cb5;
text-decoration: none;
background-color: transparent;
-webkit-text-decoration-skip: objects; }
a:hover {
color: #08076d;
text-decoration: underline; }
a:not([href]):not([tabindex]) {
color: inherit;
text-decoration: none; }
a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
color: inherit;
text-decoration: none; }
a:not([href]):not([tabindex]):focus {
outline: 0; }
pre,
code,
kbd,
samp {
font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
font-size: 1em; }
pre {
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
-ms-overflow-style: scrollbar; }
figure {
margin: 0 0 1rem; }
img {
vertical-align: middle;
border-style: none; }
svg {
overflow: hidden;
vertical-align: middle; }
table {
border-collapse: collapse; }
caption {
padding-top: 0.75rem;
padding-bottom: 0.75rem;
color: #6c757d;
text-align: left;
caption-side: bottom; }
th {
text-align: inherit; }
label {
display: inline-block;
margin-bottom: 0.5rem; }
button {
border-radius: 0; }
button:focus {
outline: 1px dotted;
outline: 5px auto -webkit-focus-ring-color; }
input,
button,
select,
optgroup,
textarea {
margin: 0;
font-family: inherit;
font-size: inherit;
line-height: inherit; }
button,
input {
overflow: visible; }
button,
select {
text-transform: none; }
button,
html [type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button; }
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
padding: 0;
border-style: none; }
input[type="radio"],
input[type="checkbox"] {
-webkit-box-sizing: border-box;
box-sizing: border-box;
padding: 0; }
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
-webkit-appearance: listbox; }
textarea {
overflow: auto;
resize: vertical; }
fieldset {
min-width: 0;
padding: 0;
margin: 0;
border: 0; }
legend {
display: block;
width: 100%;
max-width: 100%;
padding: 0;
margin-bottom: .5rem;
font-size: 1.5rem;
line-height: inherit;
color: inherit;
white-space: normal; }
progress {
vertical-align: baseline; }
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto; }
[type="search"] {
outline-offset: -2px;
-webkit-appearance: none; }
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none; }
::-webkit-file-upload-button {
font: inherit;
-webkit-appearance: button; }
output {
display: inline-block; }
summary {
display: list-item;
cursor: pointer; }
template {
display: none; }
[hidden] {
display: none !important; }

File diff suppressed because it is too large Load Diff

654
admin/assets/block/css/jquery-ui.css vendored Normal file
View File

@ -0,0 +1,654 @@
/*! jQuery UI - v1.11.4 - 2015-12-03
* http://jqueryui.com
* Includes: core.css, button.css, slider.css, theme.css
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Lucida%20Grande%2CLucida%20Sans%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=5px&bgColorHeader=5c9ccc&bgTextureHeader=gloss_wave&bgImgOpacityHeader=55&borderColorHeader=4297d7&fcHeader=ffffff&iconColorHeader=d8e7f3&bgColorContent=fcfdfd&bgTextureContent=inset_hard&bgImgOpacityContent=100&borderColorContent=a6c9e2&fcContent=222222&iconColorContent=469bdd&bgColorDefault=dfeffc&bgTextureDefault=glass&bgImgOpacityDefault=85&borderColorDefault=c5dbec&fcDefault=2e6e9e&iconColorDefault=6da8d5&bgColorHover=d0e5f5&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=79b7e7&fcHover=1d5987&iconColorHover=217bc0&bgColorActive=f5f8f9&bgTextureActive=inset_hard&bgImgOpacityActive=100&borderColorActive=79b7e7&fcActive=e17009&iconColorActive=f9bd01&bgColorHighlight=fbec88&bgTextureHighlight=flat&bgImgOpacityHighlight=55&borderColorHighlight=fad42e&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
* Copyright jQuery Foundation and other contributors; Licensed MIT */
/* Layout helpers
----------------------------------*/
.ui-helper-hidden {
display: none;
}
.ui-helper-hidden-accessible {
border: 0;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
}
.ui-helper-reset {
margin: 0;
padding: 0;
border: 0;
outline: 0;
line-height: 1.3;
text-decoration: none;
font-size: 100%;
list-style: none;
}
.ui-helper-clearfix:before,
.ui-helper-clearfix:after {
content: "";
display: table;
border-collapse: collapse;
}
.ui-helper-clearfix:after {
clear: both;
}
.ui-helper-clearfix {
min-height: 0; /* support: IE7 */
}
.ui-helper-zfix {
width: 100%;
height: 100%;
top: 0;
left: 0;
position: absolute;
opacity: 0;
filter:Alpha(Opacity=0); /* support: IE8 */
}
.ui-front {
z-index: 100;
}
/* Interaction Cues
----------------------------------*/
.ui-state-disabled {
cursor: default !important;
}
/* Icons
----------------------------------*/
/* states and images */
.ui-icon {
display: block;
text-indent: -99999px;
overflow: hidden;
background-repeat: no-repeat;
}
/* Misc visuals
----------------------------------*/
/* Overlays */
.ui-widget-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.ui-button {
display: inline-block;
position: relative;
padding: 0;
line-height: normal;
margin-right: .1em;
cursor: pointer;
vertical-align: middle;
text-align: center;
overflow: visible; /* removes extra width in IE */
}
.ui-button,
.ui-button:link,
.ui-button:visited,
.ui-button:hover,
.ui-button:active {
text-decoration: none;
}
/* to make room for the icon, a width needs to be set here */
.ui-button-icon-only {
width: 2.2em;
}
/* button elements seem to need a little more width */
button.ui-button-icon-only {
width: 2.4em;
}
.ui-button-icons-only {
width: 3.4em;
}
button.ui-button-icons-only {
width: 3.7em;
}
/* button text element */
.ui-button .ui-button-text {
display: block;
line-height: normal;
}
.ui-button-text-only .ui-button-text {
padding: .4em 1em;
}
.ui-button-icon-only .ui-button-text,
.ui-button-icons-only .ui-button-text {
padding: .4em;
text-indent: -9999999px;
}
.ui-button-text-icon-primary .ui-button-text,
.ui-button-text-icons .ui-button-text {
padding: .4em 1em .4em 2.1em;
}
.ui-button-text-icon-secondary .ui-button-text,
.ui-button-text-icons .ui-button-text {
padding: .4em 2.1em .4em 1em;
}
.ui-button-text-icons .ui-button-text {
padding-left: 2.1em;
padding-right: 2.1em;
}
/* no icon support for input elements, provide padding by default */
input.ui-button {
padding: .4em 1em;
}
/* button icon element(s) */
.ui-button-icon-only .ui-icon,
.ui-button-text-icon-primary .ui-icon,
.ui-button-text-icon-secondary .ui-icon,
.ui-button-text-icons .ui-icon,
.ui-button-icons-only .ui-icon {
position: absolute;
top: 50%;
margin-top: -8px;
}
.ui-button-icon-only .ui-icon {
left: 50%;
margin-left: -8px;
}
.ui-button-text-icon-primary .ui-button-icon-primary,
.ui-button-text-icons .ui-button-icon-primary,
.ui-button-icons-only .ui-button-icon-primary {
left: .5em;
}
.ui-button-text-icon-secondary .ui-button-icon-secondary,
.ui-button-text-icons .ui-button-icon-secondary,
.ui-button-icons-only .ui-button-icon-secondary {
right: .5em;
}
/* button sets */
.ui-buttonset {
margin-right: 7px;
}
.ui-buttonset .ui-button {
margin-left: 0;
margin-right: -.3em;
}
/* workarounds */
/* reset extra padding in Firefox, see h5bp.com/l */
input.ui-button::-moz-focus-inner,
button.ui-button::-moz-focus-inner {
border: 0;
padding: 0;
}
.ui-slider {
position: relative;
text-align: left;
}
.ui-slider .ui-slider-handle {
position: absolute;
z-index: 2;
width: 1.2em;
height: 1.2em;
cursor: default;
-ms-touch-action: none;
touch-action: none;
}
.ui-slider .ui-slider-range {
position: absolute;
z-index: 1;
font-size: .7em;
display: block;
border: 0;
background-position: 0 0;
}
/* support: IE8 - See #6727 */
.ui-slider.ui-state-disabled .ui-slider-handle,
.ui-slider.ui-state-disabled .ui-slider-range {
-webkit-filter: inherit;
filter: inherit;
}
.ui-slider-horizontal {
height: .8em;
}
.ui-slider-horizontal .ui-slider-handle {
top: -.3em;
margin-left: -.6em;
}
.ui-slider-horizontal .ui-slider-range {
top: 0;
height: 100%;
}
.ui-slider-horizontal .ui-slider-range-min {
left: 0;
}
.ui-slider-horizontal .ui-slider-range-max {
right: 0;
}
.ui-slider-vertical {
width: .8em;
height: 100px;
}
.ui-slider-vertical .ui-slider-handle {
left: -.3em;
margin-left: 0;
margin-bottom: -.6em;
}
.ui-slider-vertical .ui-slider-range {
left: 0;
width: 100%;
}
.ui-slider-vertical .ui-slider-range-min {
bottom: 0;
}
.ui-slider-vertical .ui-slider-range-max {
top: 0;
}
/* Component containers
----------------------------------*/
.ui-widget {
font-family: Lucida Grande,Lucida Sans,Arial,sans-serif;
font-size: 1.1em;
}
.ui-widget .ui-widget {
font-size: 1em;
}
.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button {
font-family: Lucida Grande,Lucida Sans,Arial,sans-serif;
font-size: 1em;
}
.ui-widget-content {
border: 1px solid #a6c9e2;
color: #222222;
}
.ui-widget-content a {
color: #222222;
}
.ui-widget-header {
border: 1px solid #4297d7;
background: #5c9ccc url("images/ui-bg_gloss-wave_55_5c9ccc_500x100.png") 50% 50% repeat-x;
color: #ffffff;
font-weight: bold;
}
.ui-widget-header a {
color: #ffffff;
}
/* Interaction states
----------------------------------*/
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
border: 1px solid #c5dbec;
background: #dfeffc url("images/ui-bg_glass_85_dfeffc_1x400.png") 50% 50% repeat-x;
font-weight: bold;
color: #2e6e9e;
}
.ui-state-default a,
.ui-state-default a:link,
.ui-state-default a:visited {
color: #2e6e9e;
text-decoration: none;
}
.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus {
border: 1px solid #79b7e7;
background: #d0e5f5 url("images/ui-bg_glass_75_d0e5f5_1x400.png") 50% 50% repeat-x;
font-weight: bold;
color: #1d5987;
}
.ui-state-hover a,
.ui-state-hover a:hover,
.ui-state-hover a:link,
.ui-state-hover a:visited,
.ui-state-focus a,
.ui-state-focus a:hover,
.ui-state-focus a:link,
.ui-state-focus a:visited {
color: #1d5987;
text-decoration: none;
}
.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active {
border: 1px solid #79b7e7;
background: #f5f8f9 url("images/ui-bg_inset-hard_100_f5f8f9_1x100.png") 50% 50% repeat-x;
font-weight: bold;
color: #e17009;
}
.ui-state-active a,
.ui-state-active a:link,
.ui-state-active a:visited {
color: #e17009;
text-decoration: none;
}
/* Interaction Cues
----------------------------------*/
.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
border: 1px solid #fad42e;
background: #fbec88;
color: #363636;
}
.ui-state-highlight a,
.ui-widget-content .ui-state-highlight a,
.ui-widget-header .ui-state-highlight a {
color: #363636;
}
.ui-state-error,
.ui-widget-content .ui-state-error,
.ui-widget-header .ui-state-error {
border: 1px solid #cd0a0a;
background: #fef1ec url("images/ui-bg_glass_95_fef1ec_1x400.png") 50% 50% repeat-x;
color: #cd0a0a;
}
.ui-state-error a,
.ui-widget-content .ui-state-error a,
.ui-widget-header .ui-state-error a {
color: #cd0a0a;
}
.ui-state-error-text,
.ui-widget-content .ui-state-error-text,
.ui-widget-header .ui-state-error-text {
color: #cd0a0a;
}
.ui-priority-primary,
.ui-widget-content .ui-priority-primary,
.ui-widget-header .ui-priority-primary {
font-weight: bold;
}
.ui-priority-secondary,
.ui-widget-content .ui-priority-secondary,
.ui-widget-header .ui-priority-secondary {
opacity: .7;
filter:Alpha(Opacity=70); /* support: IE8 */
font-weight: normal;
}
.ui-state-disabled,
.ui-widget-content .ui-state-disabled,
.ui-widget-header .ui-state-disabled {
opacity: .35;
filter:Alpha(Opacity=35); /* support: IE8 */
background-image: none;
}
.ui-state-disabled .ui-icon {
filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */
}
/* Icons
----------------------------------*/
/* states and images */
.ui-icon {
width: 16px;
height: 16px;
}
.ui-icon,
.ui-widget-content .ui-icon {
background-image: url("images/ui-icons_469bdd_256x240.png");
}
.ui-widget-header .ui-icon {
background-image: url("images/ui-icons_d8e7f3_256x240.png");
}
.ui-state-default .ui-icon {
background-image: url("images/ui-icons_6da8d5_256x240.png");
}
.ui-state-hover .ui-icon,
.ui-state-focus .ui-icon {
background-image: url("images/ui-icons_217bc0_256x240.png");
}
.ui-state-active .ui-icon {
background-image: url("images/ui-icons_f9bd01_256x240.png");
}
.ui-state-highlight .ui-icon {
background-image: url("images/ui-icons_2e83ff_256x240.png");
}
.ui-state-error .ui-icon,
.ui-state-error-text .ui-icon {
background-image: url("images/ui-icons_cd0a0a_256x240.png");
}
/* positioning */
.ui-icon-blank { background-position: 16px 16px; }
.ui-icon-carat-1-n { background-position: 0 0; }
.ui-icon-carat-1-ne { background-position: -16px 0; }
.ui-icon-carat-1-e { background-position: -32px 0; }
.ui-icon-carat-1-se { background-position: -48px 0; }
.ui-icon-carat-1-s { background-position: -64px 0; }
.ui-icon-carat-1-sw { background-position: -80px 0; }
.ui-icon-carat-1-w { background-position: -96px 0; }
.ui-icon-carat-1-nw { background-position: -112px 0; }
.ui-icon-carat-2-n-s { background-position: -128px 0; }
.ui-icon-carat-2-e-w { background-position: -144px 0; }
.ui-icon-triangle-1-n { background-position: 0 -16px; }
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
.ui-icon-triangle-1-e { background-position: -32px -16px; }
.ui-icon-triangle-1-se { background-position: -48px -16px; }
.ui-icon-triangle-1-s { background-position: -64px -16px; }
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
.ui-icon-triangle-1-w { background-position: -96px -16px; }
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
.ui-icon-arrow-1-n { background-position: 0 -32px; }
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
.ui-icon-arrow-1-e { background-position: -32px -32px; }
.ui-icon-arrow-1-se { background-position: -48px -32px; }
.ui-icon-arrow-1-s { background-position: -64px -32px; }
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
.ui-icon-arrow-1-w { background-position: -96px -32px; }
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
.ui-icon-arrow-4 { background-position: 0 -80px; }
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
.ui-icon-extlink { background-position: -32px -80px; }
.ui-icon-newwin { background-position: -48px -80px; }
.ui-icon-refresh { background-position: -64px -80px; }
.ui-icon-shuffle { background-position: -80px -80px; }
.ui-icon-transfer-e-w { background-position: -96px -80px; }
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
.ui-icon-folder-collapsed { background-position: 0 -96px; }
.ui-icon-folder-open { background-position: -16px -96px; }
.ui-icon-document { background-position: -32px -96px; }
.ui-icon-document-b { background-position: -48px -96px; }
.ui-icon-note { background-position: -64px -96px; }
.ui-icon-mail-closed { background-position: -80px -96px; }
.ui-icon-mail-open { background-position: -96px -96px; }
.ui-icon-suitcase { background-position: -112px -96px; }
.ui-icon-comment { background-position: -128px -96px; }
.ui-icon-person { background-position: -144px -96px; }
.ui-icon-print { background-position: -160px -96px; }
.ui-icon-trash { background-position: -176px -96px; }
.ui-icon-locked { background-position: -192px -96px; }
.ui-icon-unlocked { background-position: -208px -96px; }
.ui-icon-bookmark { background-position: -224px -96px; }
.ui-icon-tag { background-position: -240px -96px; }
.ui-icon-home { background-position: 0 -112px; }
.ui-icon-flag { background-position: -16px -112px; }
.ui-icon-calendar { background-position: -32px -112px; }
.ui-icon-cart { background-position: -48px -112px; }
.ui-icon-pencil { background-position: -64px -112px; }
.ui-icon-clock { background-position: -80px -112px; }
.ui-icon-disk { background-position: -96px -112px; }
.ui-icon-calculator { background-position: -112px -112px; }
.ui-icon-zoomin { background-position: -128px -112px; }
.ui-icon-zoomout { background-position: -144px -112px; }
.ui-icon-search { background-position: -160px -112px; }
.ui-icon-wrench { background-position: -176px -112px; }
.ui-icon-gear { background-position: -192px -112px; }
.ui-icon-heart { background-position: -208px -112px; }
.ui-icon-star { background-position: -224px -112px; }
.ui-icon-link { background-position: -240px -112px; }
.ui-icon-cancel { background-position: 0 -128px; }
.ui-icon-plus { background-position: -16px -128px; }
.ui-icon-plusthick { background-position: -32px -128px; }
.ui-icon-minus { background-position: -48px -128px; }
.ui-icon-minusthick { background-position: -64px -128px; }
.ui-icon-close { background-position: -80px -128px; }
.ui-icon-closethick { background-position: -96px -128px; }
.ui-icon-key { background-position: -112px -128px; }
.ui-icon-lightbulb { background-position: -128px -128px; }
.ui-icon-scissors { background-position: -144px -128px; }
.ui-icon-clipboard { background-position: -160px -128px; }
.ui-icon-copy { background-position: -176px -128px; }
.ui-icon-contact { background-position: -192px -128px; }
.ui-icon-image { background-position: -208px -128px; }
.ui-icon-video { background-position: -224px -128px; }
.ui-icon-script { background-position: -240px -128px; }
.ui-icon-alert { background-position: 0 -144px; }
.ui-icon-info { background-position: -16px -144px; }
.ui-icon-notice { background-position: -32px -144px; }
.ui-icon-help { background-position: -48px -144px; }
.ui-icon-check { background-position: -64px -144px; }
.ui-icon-bullet { background-position: -80px -144px; }
.ui-icon-radio-on { background-position: -96px -144px; }
.ui-icon-radio-off { background-position: -112px -144px; }
.ui-icon-pin-w { background-position: -128px -144px; }
.ui-icon-pin-s { background-position: -144px -144px; }
.ui-icon-play { background-position: 0 -160px; }
.ui-icon-pause { background-position: -16px -160px; }
.ui-icon-seek-next { background-position: -32px -160px; }
.ui-icon-seek-prev { background-position: -48px -160px; }
.ui-icon-seek-end { background-position: -64px -160px; }
.ui-icon-seek-start { background-position: -80px -160px; }
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
.ui-icon-seek-first { background-position: -80px -160px; }
.ui-icon-stop { background-position: -96px -160px; }
.ui-icon-eject { background-position: -112px -160px; }
.ui-icon-volume-off { background-position: -128px -160px; }
.ui-icon-volume-on { background-position: -144px -160px; }
.ui-icon-power { background-position: 0 -176px; }
.ui-icon-signal-diag { background-position: -16px -176px; }
.ui-icon-signal { background-position: -32px -176px; }
.ui-icon-battery-0 { background-position: -48px -176px; }
.ui-icon-battery-1 { background-position: -64px -176px; }
.ui-icon-battery-2 { background-position: -80px -176px; }
.ui-icon-battery-3 { background-position: -96px -176px; }
.ui-icon-circle-plus { background-position: 0 -192px; }
.ui-icon-circle-minus { background-position: -16px -192px; }
.ui-icon-circle-close { background-position: -32px -192px; }
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
.ui-icon-circle-zoomin { background-position: -176px -192px; }
.ui-icon-circle-zoomout { background-position: -192px -192px; }
.ui-icon-circle-check { background-position: -208px -192px; }
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
.ui-icon-circlesmall-close { background-position: -32px -208px; }
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
.ui-icon-squaresmall-close { background-position: -80px -208px; }
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
/* Misc visuals
----------------------------------*/
/* Corner radius */
.ui-corner-all,
.ui-corner-top,
.ui-corner-left,
.ui-corner-tl {
border-top-left-radius: 5px;
}
.ui-corner-all,
.ui-corner-top,
.ui-corner-right,
.ui-corner-tr {
border-top-right-radius: 5px;
}
.ui-corner-all,
.ui-corner-bottom,
.ui-corner-left,
.ui-corner-bl {
border-bottom-left-radius: 5px;
}
.ui-corner-all,
.ui-corner-bottom,
.ui-corner-right,
.ui-corner-br {
border-bottom-right-radius: 5px;
}
/* Overlays */
.ui-widget-overlay {
background: #aaaaaa;
opacity: .3;
filter: Alpha(Opacity=30); /* support: IE8 */
}
.ui-widget-shadow {
margin: -8px 0 0 -8px;
padding: 8px;
background: #aaaaaa;
opacity: .3;
filter: Alpha(Opacity=30); /* support: IE8 */
border-radius: 8px;
}

View File

@ -0,0 +1,351 @@
/* Magnific Popup CSS */
.mfp-bg {
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 2042;
overflow: hidden;
position: fixed;
background: #0b0b0b;
opacity: 0.8; }
.mfp-wrap {
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 2043;
position: fixed;
outline: none !important;
-webkit-backface-visibility: hidden; }
.mfp-container {
text-align: center;
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
padding: 0 8px;
box-sizing: border-box; }
.mfp-container:before {
content: '';
display: inline-block;
height: 100%;
vertical-align: middle; }
.mfp-align-top .mfp-container:before {
display: none; }
.mfp-content {
position: relative;
display: inline-block;
vertical-align: middle;
margin: 0 auto;
text-align: left;
z-index: 2045; }
.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
width: 100%;
cursor: auto; }
.mfp-ajax-cur {
cursor: progress; }
.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
cursor: -moz-zoom-out;
cursor: -webkit-zoom-out;
cursor: zoom-out; }
.mfp-zoom {
cursor: pointer;
cursor: -webkit-zoom-in;
cursor: -moz-zoom-in;
cursor: zoom-in; }
.mfp-auto-cursor .mfp-content {
cursor: auto; }
.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
-webkit-user-select: none;
-moz-user-select: none;
user-select: none; }
.mfp-loading.mfp-figure {
display: none; }
.mfp-hide {
display: none !important; }
.mfp-preloader {
color: #CCC;
position: absolute;
top: 50%;
width: auto;
text-align: center;
margin-top: -0.8em;
left: 8px;
right: 8px;
z-index: 2044; }
.mfp-preloader a {
color: #CCC; }
.mfp-preloader a:hover {
color: #FFF; }
.mfp-s-ready .mfp-preloader {
display: none; }
.mfp-s-error .mfp-content {
display: none; }
button.mfp-close,
button.mfp-arrow {
overflow: visible;
cursor: pointer;
background: transparent;
border: 0;
-webkit-appearance: none;
display: block;
outline: none;
padding: 0;
z-index: 2046;
box-shadow: none;
touch-action: manipulation; }
button::-moz-focus-inner {
padding: 0;
border: 0; }
.mfp-close {
width: 44px;
height: 44px;
line-height: 44px;
position: absolute;
right: 0;
top: 0;
text-decoration: none;
text-align: center;
opacity: 0.65;
padding: 0 0 18px 10px;
color: #FFF;
font-style: normal;
font-size: 28px;
font-family: Arial, Baskerville, monospace; }
.mfp-close:hover,
.mfp-close:focus {
opacity: 1; }
.mfp-close:active {
top: 1px; }
.mfp-close-btn-in .mfp-close {
color: #333; }
.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
color: #FFF;
right: -6px;
text-align: right;
padding-right: 6px;
width: 100%; }
.mfp-counter {
position: absolute;
top: 0;
right: 0;
color: #CCC;
font-size: 12px;
line-height: 18px;
white-space: nowrap; }
.mfp-arrow {
position: absolute;
opacity: 0.65;
margin: 0;
top: 50%;
margin-top: -55px;
padding: 0;
width: 90px;
height: 110px;
-webkit-tap-highlight-color: transparent; }
.mfp-arrow:active {
margin-top: -54px; }
.mfp-arrow:hover,
.mfp-arrow:focus {
opacity: 1; }
.mfp-arrow:before,
.mfp-arrow:after {
content: '';
display: block;
width: 0;
height: 0;
position: absolute;
left: 0;
top: 0;
margin-top: 35px;
margin-left: 35px;
border: medium inset transparent; }
.mfp-arrow:after {
border-top-width: 13px;
border-bottom-width: 13px;
top: 8px; }
.mfp-arrow:before {
border-top-width: 21px;
border-bottom-width: 21px;
opacity: 0.7; }
.mfp-arrow-left {
left: 0; }
.mfp-arrow-left:after {
border-right: 17px solid #FFF;
margin-left: 31px; }
.mfp-arrow-left:before {
margin-left: 25px;
border-right: 27px solid #3F3F3F; }
.mfp-arrow-right {
right: 0; }
.mfp-arrow-right:after {
border-left: 17px solid #FFF;
margin-left: 39px; }
.mfp-arrow-right:before {
border-left: 27px solid #3F3F3F; }
.mfp-iframe-holder {
padding-top: 40px;
padding-bottom: 40px; }
.mfp-iframe-holder .mfp-content {
line-height: 0;
width: 100%;
max-width: 900px; }
.mfp-iframe-holder .mfp-close {
top: -40px; }
.mfp-iframe-scaler {
width: 100%;
height: 0;
overflow: hidden;
padding-top: 56.25%; }
.mfp-iframe-scaler iframe {
position: absolute;
display: block;
top: 0;
left: 0;
width: 100%;
height: 100%;
box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
background: #000; }
/* Main image in popup */
img.mfp-img {
width: auto;
max-width: 100%;
height: auto;
display: block;
line-height: 0;
box-sizing: border-box;
padding: 40px 0 40px;
margin: 0 auto; }
/* The shadow behind the image */
.mfp-figure {
line-height: 0; }
.mfp-figure:after {
content: '';
position: absolute;
left: 0;
top: 40px;
bottom: 40px;
display: block;
right: 0;
width: auto;
height: auto;
z-index: -1;
box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
background: #444; }
.mfp-figure small {
color: #BDBDBD;
display: block;
font-size: 12px;
line-height: 14px; }
.mfp-figure figure {
margin: 0; }
.mfp-bottom-bar {
margin-top: -36px;
position: absolute;
top: 100%;
left: 0;
width: 100%;
cursor: auto; }
.mfp-title {
text-align: left;
line-height: 18px;
color: #F3F3F3;
word-wrap: break-word;
padding-right: 36px; }
.mfp-image-holder .mfp-content {
max-width: 100%; }
.mfp-gallery .mfp-image-holder .mfp-figure {
cursor: pointer; }
@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
/**
* Remove all paddings around the image on small screen
*/
.mfp-img-mobile .mfp-image-holder {
padding-left: 0;
padding-right: 0; }
.mfp-img-mobile img.mfp-img {
padding: 0; }
.mfp-img-mobile .mfp-figure:after {
top: 0;
bottom: 0; }
.mfp-img-mobile .mfp-figure small {
display: inline;
margin-left: 5px; }
.mfp-img-mobile .mfp-bottom-bar {
background: rgba(0, 0, 0, 0.6);
bottom: 0;
margin: 0;
top: auto;
padding: 3px 5px;
position: fixed;
box-sizing: border-box; }
.mfp-img-mobile .mfp-bottom-bar:empty {
padding: 0; }
.mfp-img-mobile .mfp-counter {
right: 5px;
top: 3px; }
.mfp-img-mobile .mfp-close {
top: 0;
right: 0;
width: 35px;
height: 35px;
line-height: 35px;
background: rgba(0, 0, 0, 0.6);
position: fixed;
text-align: center;
padding: 0; } }
@media all and (max-width: 900px) {
.mfp-arrow {
-webkit-transform: scale(0.75);
transform: scale(0.75); }
.mfp-arrow-left {
-webkit-transform-origin: 0;
transform-origin: 0; }
.mfp-arrow-right {
-webkit-transform-origin: 100%;
transform-origin: 100%; }
.mfp-container {
padding-left: 6px;
padding-right: 6px; } }

View File

@ -0,0 +1,773 @@
/* Accessibility: hide screen reader texts (and prefer "top" for RTL languages).
Reference: http://blog.rrwd.nl/2015/04/04/the-screen-reader-text-class-why-and-how/ */
.mejs__offscreen {
border: 0;
clip: rect( 1px, 1px, 1px, 1px );
-webkit-clip-path: inset( 50% );
clip-path: inset( 50% );
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
word-wrap: normal;
}
.mejs__container {
background: #000;
box-sizing: border-box;
font-family: 'Helvetica', Arial, serif;
position: relative;
text-align: left;
text-indent: 0;
vertical-align: top;
}
.mejs__container * {
box-sizing: border-box;
}
/* Hide native play button and control bar from iOS to favor plugin button */
.mejs__container video::-webkit-media-controls,
.mejs__container video::-webkit-media-controls-panel,
.mejs__container video::-webkit-media-controls-panel-container,
.mejs__container video::-webkit-media-controls-start-playback-button {
-webkit-appearance: none;
display: none !important;
}
.mejs__fill-container,
.mejs__fill-container .mejs__container {
height: 100%;
width: 100%;
}
.mejs__fill-container {
background: transparent;
margin: 0 auto;
overflow: hidden;
position: relative;
}
.mejs__container:focus {
outline: none;
}
.mejs__iframe-overlay {
height: 100%;
position: absolute;
width: 100%;
}
.mejs__embed,
.mejs__embed body {
background: #000;
height: 100%;
margin: 0;
overflow: hidden;
padding: 0;
width: 100%;
}
.mejs__fullscreen {
overflow: hidden !important;
}
.mejs__container-fullscreen {
bottom: 0;
left: 0;
overflow: hidden;
position: fixed;
right: 0;
top: 0;
z-index: 1000;
}
.mejs__container-fullscreen .mejs__mediaelement,
.mejs__container-fullscreen video {
height: 100% !important;
width: 100% !important;
}
/* Start: LAYERS */
.mejs__background {
left: 0;
position: absolute;
top: 0;
}
.mejs__mediaelement {
height: 100%;
left: 0;
position: absolute;
top: 0;
width: 100%;
z-index: 0;
}
.mejs__poster {
background-position: 50% 50%;
background-repeat: no-repeat;
background-size: cover;
left: 0;
position: absolute;
top: 0;
z-index: 1;
}
:root .mejs__poster-img {
display: none;
}
.mejs__poster-img {
border: 0;
padding: 0;
}
.mejs__overlay {
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
left: 0;
position: absolute;
top: 0;
}
.mejs__layer {
z-index: 1;
}
.mejs__overlay-play {
cursor: pointer;
}
.mejs__overlay-button {
background: url('mejs-controls.svg') no-repeat;
background-position: 0 -39px;
height: 80px;
width: 80px;
}
.mejs__overlay:hover > .mejs__overlay-button {
background-position: -80px -39px;
}
.mejs__overlay-loading {
height: 80px;
width: 80px;
}
.mejs__overlay-loading-bg-img {
-webkit-animation: mejs__loading-spinner 1s linear infinite;
animation: mejs__loading-spinner 1s linear infinite;
background: transparent url('mejs-controls.svg') -160px -40px no-repeat;
display: block;
height: 80px;
width: 80px;
z-index: 1;
}
@-webkit-keyframes mejs__loading-spinner {
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes mejs__loading-spinner {
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
/* End: LAYERS */
/* Start: CONTROL BAR */
.mejs__controls {
bottom: 0;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
height: 40px;
left: 0;
list-style-type: none;
margin: 0;
padding: 0 10px;
position: absolute;
width: 100%;
z-index: 3;
}
.mejs__controls:not([style*='display: none']) {
background: rgba(255, 0, 0, 0.7);
background: -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.35));
background: linear-gradient(transparent, rgba(0, 0, 0, 0.35));
}
.mejs__button,
.mejs__time,
.mejs__time-rail {
font-size: 10px;
height: 40px;
line-height: 10px;
margin: 0;
width: 32px;
}
.mejs__button > button {
background: transparent url('mejs-controls.svg');
border: 0;
cursor: pointer;
display: block;
font-size: 0;
height: 20px;
line-height: 0;
margin: 10px 6px;
overflow: hidden;
padding: 0;
position: absolute;
text-decoration: none;
width: 20px;
}
/* :focus for accessibility */
.mejs__button > button:focus {
outline: dotted 1px #999;
}
.mejs__container-keyboard-inactive a,
.mejs__container-keyboard-inactive a:focus,
.mejs__container-keyboard-inactive button,
.mejs__container-keyboard-inactive button:focus,
.mejs__container-keyboard-inactive [role=slider],
.mejs__container-keyboard-inactive [role=slider]:focus {
outline: 0;
}
/* End: CONTROL BAR */
/* Start: Time (Current / Duration) */
.mejs__time {
box-sizing: content-box;
color: #fff;
font-size: 11px;
font-weight: bold;
height: 24px;
overflow: hidden;
padding: 16px 6px 0;
text-align: center;
width: auto;
}
/* End: Time (Current / Duration) */
/* Start: Play/Pause/Stop */
.mejs__play > button {
background-position: 0 0;
}
.mejs__pause > button {
background-position: -20px 0;
}
.mejs__replay > button {
background-position: -160px 0;
}
/* End: Play/Pause/Stop */
/* Start: Progress Bar */
.mejs__time-rail {
direction: ltr;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
height: 40px;
margin: 0 10px;
padding-top: 10px;
position: relative;
}
.mejs__time-total,
.mejs__time-buffering,
.mejs__time-loaded,
.mejs__time-current,
.mejs__time-float,
.mejs__time-hovered,
.mejs__time-float-current,
.mejs__time-float-corner,
.mejs__time-marker {
border-radius: 2px;
cursor: pointer;
display: block;
height: 10px;
position: absolute;
}
.mejs__time-total {
background: rgba(255, 255, 255, 0.3);
margin: 5px 0 0;
width: 100%;
}
.mejs__time-buffering {
-webkit-animation: buffering-stripes 2s linear infinite;
animation: buffering-stripes 2s linear infinite;
background: -webkit-linear-gradient(135deg, rgba(255, 255, 255, 0.4) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.4) 75%, transparent 75%, transparent);
background: linear-gradient(-45deg, rgba(255, 255, 255, 0.4) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.4) 75%, transparent 75%, transparent);
background-size: 15px 15px;
width: 100%;
}
@-webkit-keyframes buffering-stripes {
from {
background-position: 0 0;
}
to {
background-position: 30px 0;
}
}
@keyframes buffering-stripes {
from {
background-position: 0 0;
}
to {
background-position: 30px 0;
}
}
.mejs__time-loaded {
background: rgba(255, 255, 255, 0.3);
}
.mejs__time-current,
.mejs__time-handle-content {
background: rgba(255, 255, 255, 0.9);
}
.mejs__time-hovered {
background: rgba(255, 255, 255, 0.5);
z-index: 10;
}
.mejs__time-hovered.negative {
background: rgba(0, 0, 0, 0.2);
}
.mejs__time-current,
.mejs__time-buffering,
.mejs__time-loaded,
.mejs__time-hovered {
left: 0;
-webkit-transform: scaleX(0);
-ms-transform: scaleX(0);
transform: scaleX(0);
-webkit-transform-origin: 0 0;
-ms-transform-origin: 0 0;
transform-origin: 0 0;
-webkit-transition: 0.15s ease-in all;
transition: 0.15s ease-in all;
width: 100%;
}
.mejs__time-buffering {
-webkit-transform: scaleX(1);
-ms-transform: scaleX(1);
transform: scaleX(1);
}
.mejs__time-hovered {
-webkit-transition: height 0.1s cubic-bezier(0.44, 0, 1, 1);
transition: height 0.1s cubic-bezier(0.44, 0, 1, 1);
}
.mejs__time-hovered.no-hover {
-webkit-transform: scaleX(0) !important;
-ms-transform: scaleX(0) !important;
transform: scaleX(0) !important;
}
.mejs__time-handle,
.mejs__time-handle-content {
border: 4px solid transparent;
cursor: pointer;
left: 0;
position: absolute;
-webkit-transform: translateX(0);
-ms-transform: translateX(0);
transform: translateX(0);
z-index: 11;
}
.mejs__time-handle-content {
border: 4px solid rgba(255, 255, 255, 0.9);
border-radius: 50%;
height: 10px;
left: -7px;
top: -4px;
-webkit-transform: scale(0);
-ms-transform: scale(0);
transform: scale(0);
width: 10px;
}
.mejs__time-rail:hover .mejs__time-handle-content,
.mejs__time-rail .mejs__time-handle-content:focus,
.mejs__time-rail .mejs__time-handle-content:active {
-webkit-transform: scale(1);
-ms-transform: scale(1);
transform: scale(1);
}
.mejs__time-float {
background: #eee;
border: solid 1px #333;
bottom: 100%;
color: #111;
display: none;
height: 17px;
margin-bottom: 9px;
position: absolute;
text-align: center;
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
transform: translateX(-50%);
width: 36px;
}
.mejs__time-float-current {
display: block;
left: 0;
margin: 2px;
text-align: center;
width: 30px;
}
.mejs__time-float-corner {
border: solid 5px #eee;
border-color: #eee transparent transparent;
border-radius: 0;
display: block;
height: 0;
left: 50%;
line-height: 0;
position: absolute;
top: 100%;
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
transform: translateX(-50%);
width: 0;
}
.mejs__long-video .mejs__time-float {
margin-left: -23px;
width: 64px;
}
.mejs__long-video .mejs__time-float-current {
width: 60px;
}
.mejs__broadcast {
color: #fff;
height: 10px;
position: absolute;
top: 15px;
width: 100%;
}
/* End: Progress Bar */
/* Start: Fullscreen */
.mejs__fullscreen-button > button {
background-position: -80px 0;
}
.mejs__unfullscreen > button {
background-position: -100px 0;
}
/* End: Fullscreen */
/* Start: Mute/Volume */
.mejs__mute > button {
background-position: -60px 0;
}
.mejs__unmute > button {
background-position: -40px 0;
}
.mejs__volume-button {
position: relative;
}
.mejs__volume-button > .mejs__volume-slider {
-webkit-backface-visibility: hidden;
background: rgba(50, 50, 50, 0.7);
border-radius: 0;
bottom: 100%;
display: none;
height: 115px;
left: 50%;
margin: 0;
position: absolute;
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
transform: translateX(-50%);
width: 25px;
z-index: 1;
}
.mejs__volume-button:hover {
border-radius: 0 0 4px 4px;
}
.mejs__volume-total {
background: rgba(255, 255, 255, 0.5);
height: 100px;
left: 50%;
margin: 0;
position: absolute;
top: 8px;
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
transform: translateX(-50%);
width: 2px;
}
.mejs__volume-current {
background: rgba(255, 255, 255, 0.9);
left: 0;
margin: 0;
position: absolute;
width: 100%;
}
.mejs__volume-handle {
background: rgba(255, 255, 255, 0.9);
border-radius: 1px;
cursor: ns-resize;
height: 6px;
left: 50%;
position: absolute;
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
transform: translateX(-50%);
width: 16px;
}
.mejs__horizontal-volume-slider {
display: block;
height: 36px;
position: relative;
vertical-align: middle;
width: 56px;
}
.mejs__horizontal-volume-total {
background: rgba(50, 50, 50, 0.8);
border-radius: 2px;
font-size: 1px;
height: 8px;
left: 0;
margin: 0;
padding: 0;
position: absolute;
top: 16px;
width: 50px;
}
.mejs__horizontal-volume-current {
background: rgba(255, 255, 255, 0.8);
border-radius: 2px;
font-size: 1px;
height: 100%;
left: 0;
margin: 0;
padding: 0;
position: absolute;
top: 0;
width: 100%;
}
.mejs__horizontal-volume-handle {
display: none;
}
/* End: Mute/Volume */
/* Start: Track (Captions and Chapters) */
.mejs__captions-button,
.mejs__chapters-button {
position: relative;
}
.mejs__captions-button > button {
background-position: -140px 0;
}
.mejs__chapters-button > button {
background-position: -180px 0;
}
.mejs__captions-button > .mejs__captions-selector,
.mejs__chapters-button > .mejs__chapters-selector {
background: rgba(50, 50, 50, 0.7);
border: solid 1px transparent;
border-radius: 0;
bottom: 100%;
margin-right: -43px;
overflow: hidden;
padding: 0;
position: absolute;
right: 50%;
visibility: visible;
width: 86px;
}
.mejs__chapters-button > .mejs__chapters-selector {
margin-right: -55px;
width: 110px;
}
.mejs__captions-selector-list,
.mejs__chapters-selector-list {
list-style-type: none !important;
margin: 0;
overflow: hidden;
padding: 0;
}
.mejs__captions-selector-list-item,
.mejs__chapters-selector-list-item {
color: #fff;
cursor: pointer;
display: block;
list-style-type: none !important;
margin: 0 0 6px;
overflow: hidden;
padding: 0;
}
.mejs__captions-selector-list-item:hover,
.mejs__chapters-selector-list-item:hover {
background-color: rgb(200, 200, 200) !important;
background-color: rgba(255, 255, 255, 0.4) !important;
}
.mejs__captions-selector-input,
.mejs__chapters-selector-input {
clear: both;
float: left;
left: -1000px;
margin: 3px 3px 0 5px;
position: absolute;
}
.mejs__captions-selector-label,
.mejs__chapters-selector-label {
cursor: pointer;
float: left;
font-size: 10px;
line-height: 15px;
padding: 4px 10px 0;
width: 100%;
}
.mejs__captions-selected,
.mejs__chapters-selected {
color: rgba(33, 248, 248, 1);
}
.mejs__captions-translations {
font-size: 10px;
margin: 0 0 5px;
}
.mejs__captions-layer {
bottom: 0;
color: #fff;
font-size: 16px;
left: 0;
line-height: 20px;
position: absolute;
text-align: center;
}
.mejs__captions-layer a {
color: #fff;
text-decoration: underline;
}
.mejs__captions-layer[lang=ar] {
font-size: 20px;
font-weight: normal;
}
.mejs__captions-position {
bottom: 15px;
left: 0;
position: absolute;
width: 100%;
}
.mejs__captions-position-hover {
bottom: 35px;
}
.mejs__captions-text,
.mejs__captions-text * {
background: rgba(20, 20, 20, 0.5);
box-shadow: 5px 0 0 rgba(20, 20, 20, 0.5), -5px 0 0 rgba(20, 20, 20, 0.5);
padding: 0;
white-space: pre-wrap;
}
.mejs__container.mejs__hide-cues video::-webkit-media-text-track-container {
display: none;
}
/* End: Track (Captions and Chapters) */
/* Start: Error */
.mejs__overlay-error {
position: relative;
}
.mejs__overlay-error > img {
left: 0;
position: absolute;
top: 0;
z-index: -1;
}
.mejs__cannotplay,
.mejs__cannotplay a {
color: #fff;
font-size: 0.8em;
}
.mejs__cannotplay {
position: relative;
}
.mejs__cannotplay p,
.mejs__cannotplay a {
display: inline-block;
padding: 0 15px;
width: 100%;
}
/* End: Error */

View File

@ -0,0 +1,6 @@
/**
* Owl Carousel v2.2.1
* Copyright 2013-2017 David Deutsch
* Licensed under ()
*/
.owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:block}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;cursor:hand;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%}

View File

@ -0,0 +1,15 @@
/**
* Owl Carousel v2.2.1
* Copyright 2013-2017 David Deutsch
* Licensed under ()
*/
.owl-theme .owl-dots,
.owl-theme .owl-nav{text-align:center;-webkit-tap-highlight-color:transparent}
.owl-theme .owl-nav{margin-top:10px}
.owl-theme .owl-nav [class*=owl-]{color:#FFF;font-size:14px;margin:5px;padding:4px 7px;background:#D6D6D6;display:inline-block;cursor:pointer;border-radius:3px;position: absolute;}
.owl-theme .owl-nav [class*=owl-]:hover{background:#869791;color:#FFF;text-decoration:none}
.owl-theme .owl-nav .disabled{opacity:.5;cursor:default}
.owl-theme .owl-nav.disabled+.owl-dots{margin-top:10px}
.owl-theme .owl-dots .owl-dot{display:inline-block;zoom:1}
.owl-theme .owl-dots .owl-dot span{width:10px;height:10px;margin:5px 7px;background:#D6D6D6;display:block;-webkit-backface-visibility:visible;transition:opacity .2s ease;border-radius:30px}
.owl-theme .owl-dots .owl-dot.active span,.owl-theme .owl-dots .owl-dot:hover span{background:#869791}

File diff suppressed because it is too large Load Diff

BIN
admin/assets/block/fonts/.DS_Store vendored Normal file

Binary file not shown.

View File

@ -0,0 +1 @@
eyIxIjp7IklEIjoxLCJuYW1lIjoiTXkgaWNvbnMgY29sbGVjdGlvbiIsImJvb2ttYXJrX2lkIjoiaDR0NjQzbjFrOWQwMDAwMCIsImNyZWF0ZWQiOm51bGwsInVwZGF0ZWQiOjE1NDk4ODU2MjgsImFjdGl2ZSI6MSwic291cmNlIjoibG9jYWwiLCJvcmRlciI6MCwiY29sb3IiOiIwMDAwMDAiLCJzdGF0dXMiOjF9LCJoNHQ2NDNuMWs5ZDAwMDAwIjpbeyJpZCI6MTQyMTEyMiwidGVhbSI6MCwibmFtZSI6Imd1aXRhciIsImNvbG9yIjoiIzAwMDAwMCIsInByZW1pdW0iOjAsInNvcnQiOjN9LHsiaWQiOjExMjU0NiwidGVhbSI6MCwibmFtZSI6ImhvdXNlIiwiY29sb3IiOiIjMDAwMDAwIiwicHJlbWl1bSI6MCwic29ydCI6Mn0seyJpZCI6MTUwOTk5NiwidGVhbSI6MCwibmFtZSI6Imd5bSIsImNvbG9yIjoiIzAwMDAwMCIsInByZW1pdW0iOjAsInNvcnQiOjR9LHsiaWQiOjEwMDgwMTAsInRlYW0iOjAsIm5hbWUiOiJzaG9wcGluZy1iYWciLCJjb2xvciI6IiMwMDAwMDAiLCJwcmVtaXVtIjowLCJzb3J0Ijo1fSx7ImlkIjoxNDg4NjMwLCJ0ZWFtIjowLCJuYW1lIjoiY29ja3RhaWwiLCJjb2xvciI6IiMwMDAwMDAiLCJwcmVtaXVtIjowLCJzb3J0Ijo2fSx7ImlkIjo2NjY0MiwidGVhbSI6MCwibmFtZSI6Im1leGljYW4tdGFjbyIsImNvbG9yIjoiIzAwMDAwMCIsInByZW1pdW0iOjAsInNvcnQiOjF9XX0=

Binary file not shown.

View File

@ -0,0 +1,102 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<!--
2019-2-11: Created with FontForge (http://fontforge.org)
-->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
<metadata>
Created by FontForge 20170731 at Mon Feb 11 11:47:16 2019
By root
</metadata>
<defs>
<font id="Flaticon" horiz-adv-x="512" >
<font-face
font-family="Flaticon"
font-weight="400"
font-stretch="normal"
units-per-em="512"
panose-1="2 0 5 3 0 0 0 0 0 0"
ascent="448"
descent="-64"
bbox="-0.000785705 -64 513.002 448"
underline-thickness="25.6"
underline-position="-51.2"
unicode-range="U+0020-F105"
/>
<missing-glyph />
<glyph glyph-name="space" unicode=" " horiz-adv-x="200"
/>
<glyph glyph-name="004-gym" unicode="&#xf103;"
d="M497.973 324.271c8.30176 0 15.0293 -6.72852 15.0293 -15.0303c0 -8.30078 -6.72754 -15.0293 -15.0293 -15.0293h-25.3115v-35.4951c0 -23.9248 -19.4639 -43.3926 -43.3926 -43.3926h-13.6367c-2.50488 -21.5615 -20.8682 -38.3564 -43.0918 -38.3564
c-23.9297 0 -43.3936 19.4678 -43.3936 43.3975v73.8467h-145.612v-73.8467c0 -23.9297 -19.4678 -43.3975 -43.3975 -43.3975c-22.2188 0 -40.583 16.7949 -43.0918 38.3564h-13.6357c-23.9297 0 -43.3936 19.4678 -43.3936 43.3965v35.4912h-24.9863
c-8.30176 0 -15.0293 6.72852 -15.0293 15.0293c0 8.30176 6.72754 15.0303 15.0293 15.0303h24.9863v35.4912c0 23.9287 19.4639 43.3926 43.3936 43.3926h13.334v0.947266c0 23.9297 19.4678 43.3975 43.3936 43.3975c23.9297 0 43.3975 -19.4678 43.3975 -43.3975
v-79.8311h145.608v79.835c0 23.9258 19.4678 43.3936 43.3975 43.3936c23.9258 0 43.3936 -19.4678 43.3936 -43.3936v-0.947266h13.335c23.9287 0 43.3926 -19.4678 43.3926 -43.3965v-35.4912h25.3115zM70.0742 258.72c0 -7.35352 5.98047 -13.3379 13.335 -13.3379
h13.334v127.718h-13.334c-7.35449 0 -13.335 -5.98438 -13.335 -13.3379v-101.042zM153.476 220.364v183.737c0 7.35449 -5.98438 13.3389 -13.3389 13.3389c-7.34961 0 -13.334 -5.98438 -13.334 -13.3389v-183.737c0 -7.35449 5.98438 -13.335 13.334 -13.335
c7.35449 0 13.3389 5.98047 13.3389 13.335zM372.54 207.029c7.35449 0 13.335 5.98047 13.335 13.335v183.737c0 7.35449 -5.98047 13.3389 -13.335 13.3389s-13.335 -5.98438 -13.335 -13.3389v-183.737c0 -7.35449 5.98047 -13.335 13.335 -13.335zM442.603 258.72
v101.042c0 7.35352 -5.98047 13.334 -13.334 13.334h-13.335v-127.714h13.335c7.35352 0 13.334 5.98438 13.334 13.3379zM442.603 258.72z" />
<glyph glyph-name="005-shopping-bag" unicode="&#xf104;"
d="M458.737 25.7822c1.77148 -23.1143 -6.23242 -46.0859 -21.958 -63.0654c-15.7275 -16.9785 -38.0215 -26.7168 -61.1631 -26.7168h-239.231c-23.1426 0 -45.4355 9.73926 -61.1621 26.7168c-15.7256 16.9785 -23.7305 39.9512 -21.9609 63.0264l22.8721 288.193
c1.41992 18.5244 17.1191 33.0645 35.7363 33.0645h45.1621v2.03027c0 54.5713 44.3965 98.9688 98.9688 98.9688s98.9688 -44.3975 98.9688 -98.9688v-2.03027h45.1631c18.6162 0 34.3145 -14.541 35.7393 -33.1025zM187.022 349.031v-2.03027h137.958v2.03027
c0 38.0342 -30.9453 68.9785 -68.9795 68.9785s-68.9785 -30.9434 -68.9785 -68.9785zM414.776 -16.9053c10.2168 11.0322 15.2119 25.3633 14.0615 40.3555l-22.8652 288.115c-0.235352 3.07031 -2.7998 5.44531 -5.83984 5.44531h-45.1631v-36.9346
c0 -8.28125 -6.71387 -14.9951 -14.9951 -14.9951c-8.28027 0 -14.9941 6.71387 -14.9941 14.9951v36.9346h-137.958v-36.9346c0 -8.28125 -6.71484 -14.9951 -14.9951 -14.9951c-8.28125 0 -14.9951 6.71387 -14.9951 14.9951v36.9346h-45.1621
c-3.04102 0 -5.60547 -2.37402 -5.83691 -5.40527l-22.8701 -288.195c-1.14844 -14.9521 3.8457 -29.2842 14.0625 -40.3154c10.2188 -11.0293 24.124 -17.1045 39.1602 -17.1045h239.23c15.0361 0 28.9414 6.0752 39.1602 17.1045zM323.556 193.715
c5.85645 -5.85547 5.85645 -15.3496 -0.000976562 -21.207l-77.5576 -77.5576c-2.92676 -2.92871 -6.76562 -4.39355 -10.6025 -4.39355c-3.83594 0 -7.67383 1.46582 -10.6016 4.39355l-36.3486 36.3486c-5.85645 5.85645 -5.85645 15.3506 0 21.2061
c5.85547 5.85645 15.3506 5.85645 21.2061 0l25.7461 -25.7461l66.9551 66.9561c5.85547 5.85645 15.3506 5.85645 21.2041 0z" />
<glyph glyph-name="002-house" unicode="&#xf101;"
d="M510.81 187.237c2.99219 -6.50391 0.149414 -14.2021 -6.35352 -17.1982c-13.498 -6.21484 -27.7959 -9.28613 -42.0029 -9.28613c-16.8945 0 -33.6602 4.35156 -48.8213 12.9141c-12.9277 -7.22559 -26.6064 -12.5068 -40.6377 -15.8398v-169.019
c0 -7.15918 -5.80371 -12.9629 -12.9629 -12.9629h-347.068c-7.15918 0 -12.9629 5.80371 -12.9629 12.9629v220.322c0 4.06836 1.91113 7.90039 5.15918 10.3486l173.533 130.859c3.67969 2.77637 8.46094 3.30176 12.5938 1.6543
c6.06836 3.52539 12.3184 6.59766 18.6924 9.25293l-23.4824 17.709l-165.729 -124.973c-5.7168 -4.31152 -13.8447 -3.1709 -18.1533 2.54395c-4.30957 5.7168 -3.1709 13.8438 2.5459 18.1553l173.533 130.86c4.61816 3.48438 10.9902 3.48438 15.6094 0l46.4209 -35.0049
c40.5859 7.86035 83.4941 -0.299805 118.964 -24.3428c49.458 -33.5264 75.5869 -91.9238 68.2119 -150.752c20.3496 -10.8662 44.3711 -11.6797 65.7148 -1.85156c6.50586 2.99219 14.2031 0.148438 17.1963 -6.35352zM207.727 1.77051v93.998h-42.458v-93.998h42.458z
M233.652 1.77051v0.00195312h113.416v152.113c-3.56836 -0.242188 -7.14258 -0.366211 -10.7148 -0.366211c-31.0449 0 -62.0391 9.10352 -88.8057 27.2471c-45.5186 30.8574 -71.2979 82.7803 -69.3643 136.72l-152.258 -114.816v-200.899h113.418v106.961
c0 7.15918 5.80273 12.9629 12.9619 12.9629h68.3838c7.15918 0 12.9629 -5.80371 12.9629 -12.9629v-106.961zM262.096 202.224c37.7109 -25.5645 85.4824 -29.6621 126.529 -12.0312l-114.222 77.4268c-5.92578 4.0166 -7.47363 12.0771 -3.45703 18.0029
s12.0771 7.47168 18.0029 3.45703l114.222 -77.4258c1.17773 44.6582 -20.3203 87.5146 -58.0322 113.077c-41.877 28.3887 -96.1592 30.3193 -139.859 5.40723c-6.95605 -49.8232 14.9414 -99.5293 56.8164 -127.914z" />
<glyph glyph-name="006-cocktail" unicode="&#xf105;"
d="M497 448c8.28418 0 15 -6.71582 15 -15s-6.71582 -15 -15 -15h-37.6436c-13.1621 0 -25.5342 -5.12402 -34.8389 -14.4277c-14.8242 -14.8232 -35.6367 -35.6357 -51.9727 -51.9727h60.1885c6.06543 0 11.5352 -3.65332 13.8574 -9.25977
c2.32227 -5.60547 1.03809 -12.0566 -3.25195 -16.3467l-64.2637 -64.2646c-0.00195312 -0.000976562 -0.00292969 -0.00292969 -0.00488281 -0.00488281l-60.207 -60.207c-2.76855 -26.751 -22.291 -48.5986 -47.8633 -54.8477v-91.6836
c0 -38.6025 21.4482 -73.3057 55.9727 -90.5693c6.22363 -3.11035 9.49023 -10.0908 7.8916 -16.8623c-1.59961 -6.77051 -7.64258 -11.5537 -14.5996 -11.5537h-128.532c-6.95703 0 -13.001 4.7832 -14.5996 11.5537c-1.59766 6.77051 1.66895 13.752 7.8916 16.8623
c34.5264 17.2627 55.9746 51.9658 55.9746 90.5693v91.6836c-25.5723 6.24902 -45.0947 28.0977 -47.8633 54.8477l-60.207 60.207c-0.00195312 0.000976562 -0.00292969 0.00292969 -0.00488281 0.00488281l-9.22559 9.22656
c-13.0146 -8.85254 -28.3564 -13.6221 -44.4316 -13.6221c-43.708 0 -79.2666 35.5586 -79.2666 79.2666s35.5586 79.2666 79.2666 79.2676c38.5781 0 70.791 -27.709 77.8242 -64.2676h173.029c12.7188 12.7207 50.168 50.1719 73.1855 73.1846
c14.9678 14.9707 34.874 23.2158 56.0508 23.2158h37.6436zM79.2666 287.333c7.9873 0 15.6875 1.8916 22.5898 5.46484l-33.1953 33.1943c-4.58301 4.58301 -5.41113 11.1357 -3.25195 16.3477c2.32129 5.60645 7.79102 9.25977 13.8574 9.25977h46.9326
c-6.36035 19.8555 -24.9941 34.2676 -46.9326 34.2676c-27.166 0 -49.2666 -22.1016 -49.2666 -49.2676s22.1006 -49.2666 49.2666 -49.2666zM275.763 -34c-4.62109 5.01172 -12.624 14.4336 -19.7627 28.0508c-7.14258 -13.626 -15.1523 -23.0498 -19.7627 -28.0508
h39.5254zM293.594 218.673l38.6592 38.6602h-152.507l38.6602 -38.6602c2.8125 -2.81152 4.39355 -6.62695 4.39355 -10.6055c0 -18.3066 14.8945 -33.2002 33.2002 -33.2002s33.2002 14.8926 33.2002 33.2002c0 3.97754 1.58105 7.79297 4.39355 10.6055zM362.254 287.333
l34.2656 34.2666h-281.038l34.2646 -34.2666h212.508z" />
<glyph glyph-name="003-guitar" unicode="&#xf102;"
d="M55.4688 -8.53125c-59.8281 59.8281 -77.7773 155.52 -21.207 212.09c31.6719 31.6719 57.418 29.5234 76.2188 27.957c13.6445 -1.14062 19.4922 -1.29297 27.1758 6.38672c8.11328 8.11328 10.6562 15.6211 13.8789 25.125
c3.69922 10.9141 7.89453 23.2812 20.582 35.9688c31.4883 31.4883 84.0781 21.2461 123.699 -3.55469l47.4219 47.4219l-10.6055 10.6055c-5.85547 5.85547 -5.85547 15.3516 0 21.207c5.85547 5.85938 15.3516 5.85938 21.207 0l8.26562 -8.26172l14.1367 28.2773
l-22.4023 22.4023c-5.85547 5.85938 -5.85547 15.3516 0 21.2109c5.85938 5.85547 15.3555 5.85547 21.2109 0l15.332 -15.3359l8.36719 16.7383c3.33984 6.67578 11.082 9.88281 18.1562 7.51953c44.2969 -14.7617 79.5586 -50.0234 94.3203 -94.3203
c2.36328 -7.07812 -0.84375 -14.8164 -7.51953 -18.1562l-16.7383 -8.36719l15.3359 -15.332c5.85547 -5.85938 5.85547 -15.3516 0 -21.2109c-5.85938 -5.85547 -15.3555 -5.85547 -21.2109 0l-22.4023 22.4023l-28.2773 -14.1367l8.26172 -8.26562
c5.85938 -5.85547 5.85938 -15.3516 0 -21.207c-5.85547 -5.85547 -15.3516 -5.85547 -21.207 0l-10.6055 10.6055l-47.4219 -47.4219c24.2812 -38.7891 35.543 -91.707 3.55469 -123.699c-12.6875 -12.6875 -25.0469 -16.875 -35.9531 -20.5703
c-9.50391 -3.22266 -17.0117 -5.76562 -25.1406 -13.8906c-7.67578 -7.67969 -7.52344 -13.5352 -6.39844 -27.207c1.55078 -18.8086 3.67578 -44.5664 -27.9453 -76.1875c-55.5508 -55.5508 -150.98 -39.9023 -212.09 21.207zM419.441 414.02l-36.2812 -72.5625
c-0.71875 -1.4375 -1.66797 -2.75391 -2.80859 -3.89453l-134.609 -134.609c3.43359 -2.23828 6.6875 -4.85156 9.69922 -7.86328c4.27344 -4.27344 7.82031 -9.08203 10.582 -14.2734l135.539 135.535c1.13672 1.14062 2.45312 2.08984 3.89453 2.80859
c15.4375 7.71875 58.8164 29.4062 72.5625 36.2812c-11.8828 25.7891 -32.7891 46.6953 -58.5781 58.5781zM234.234 173.883c-11.6953 11.6953 -30.7227 11.6914 -42.418 0c-11.6953 -11.6953 -11.6953 -30.7227 0 -42.418s30.7227 -11.6953 42.418 0
s11.6953 30.7227 0 42.418zM55.4688 182.348c-40.9297 -40.9297 -31.418 -117.043 21.207 -169.672c57.5 -57.5 132.816 -58.0625 169.672 -21.207c21.793 21.7969 20.6211 36.0312 19.2617 52.5156c-1.21484 14.7344 -2.72656 33.0703 15.082 50.8789
c13.082 13.0781 25.6406 17.3359 36.7266 21.0898c9.29297 3.14844 16.6328 5.63672 24.3672 13.3711c16.0898 16.0898 13.8867 48.3594 -4.23047 80.6055l-65.082 -65.082c-1.6875 -13.0664 -7.57812 -25.1406 -17.0312 -34.5938
c-23.3945 -23.3906 -61.4492 -23.3828 -84.8359 0c-23.418 23.418 -23.418 61.4219 0 84.8359c11.6914 11.6914 27.043 17.5352 42.3984 17.543l60.9219 60.918c-32.2461 18.1211 -64.5156 20.3203 -80.6016 4.23438c-7.73828 -7.73828 -10.2305 -15.0859 -13.3828 -24.3906
c-3.75781 -11.0781 -8.01562 -23.6367 -21.0781 -36.6992c-17.8281 -17.8281 -36.1523 -16.3008 -50.875 -15.0742c-16.4648 1.375 -30.6836 2.5625 -52.5195 -19.2734zM55.4688 182.348zM161.512 12.6797l-84.832 84.832c-5.85938 5.85938 -5.85938 15.3516 0 21.2109
c5.85547 5.85547 15.3516 5.85547 21.207 0l84.8359 -84.8359c5.85547 -5.85547 5.85547 -15.3516 0 -21.207c-5.85938 -5.85938 -15.3516 -5.85938 -21.2109 0zM161.512 12.6797z" />
<glyph glyph-name="001-mexican-taco" unicode="&#xf100;"
d="M485.523 175.597c15.5508 -33.6094 36.9521 -95.4805 20.6201 -117.126c-8.00098 -10.5986 -11.5537 -9.95312 -22.0361 -9.95312c-2.29492 0 -475.664 0.710938 -475.664 0.710938c-2.3584 0 -4.61035 0.988281 -6.20898 2.72168
c-1.59863 1.73438 -2.39941 4.06055 -2.20703 6.41016c1.99414 24.3633 7.55078 60.3291 22.5967 95.3555c-6.56934 5.60156 -21.5859 20.5977 -18.8789 38.7061c1.74121 11.6631 10.3623 21.5176 25.6641 29.374c-5.68457 10.3301 -12.2891 27.8252 -2.89258 42.5635
c10.7988 16.9326 26.127 14.626 34.8662 11.8311c6.71973 11.6992 22.957 33.1201 51.793 33.1201c10.6602 0 21.9463 -3.04785 33.6279 -9.07227c10.2217 11.2891 35.9287 35.2588 69.8184 35.2588c8.55859 0 17.3809 -1.32324 24.2402 -2.18457
c70.5527 -8.81641 113.589 -27.0947 159.272 -59.5508c38.3936 -27.2725 68.7188 -62.1387 85.3887 -98.165zM17.7256 66.1113l373.951 -0.00292969c-16.6299 46.6973 -43.3623 90.0791 -76.042 123.128c-36.5088 36.9297 -77.5264 57.2676 -115.495 57.2676
c-79.125 0 -130.488 -41.0654 -152.169 -79.4961c-1.41602 -2.50684 -2.84766 -5.19629 -4.37891 -8.22363c-1.35059 -2.68164 -2.68457 -5.48145 -3.95801 -8.31836c-13.4395 -29.8799 -19.3467 -61.0273 -21.9082 -84.3545zM427.048 65.8662
c7.29492 8.30859 18.9961 25.7188 12.7012 38.2881c-8.12598 16.2471 -30.0947 22.0361 -31.2852 22.3359c-2.8623 0.650391 -5.23145 2.75684 -6.16504 5.62891c-1.13086 3.4834 0.110352 7.29297 3.07227 9.43945c0.155273 0.118164 17.4307 13.2227 11.2158 23.4355
c-7.36523 12.0957 -28.5254 9.16113 -28.7334 9.12402c-3.0752 -0.475586 -6.1543 0.765625 -8.0332 3.24023c-1.87891 2.47363 -2.24707 5.77637 -0.956055 8.60547c2.41699 5.37988 7.16797 21.2764 0.129883 29.8545c-8.36133 10.1934 -25.8535 6.06445 -26.0234 6.01953
c-2.99512 -0.767578 -6.1748 0.167969 -8.28125 2.43457c-1.61426 1.73633 -2.40234 4.0459 -2.2373 6.34961c-0.290039 3.85254 -4.4502 25.4443 -18.6182 35.9287c-11.8613 8.7793 -33.2344 1.2168 -40.4678 -2.43652
c-2.61719 -1.32324 -5.74121 -1.19531 -8.23828 0.34082s-4.02539 4.25488 -4.02539 7.1875l-0.0078125 0.12207c0 0.015625 -0.00195312 0.0283203 -0.00195312 0.0400391c-0.0527344 0.576172 -1.28125 12.8369 -8.97168 24.6357
c-9.58496 14.7061 -24.8965 22.1641 -45.5068 22.1641c-35.0381 0 -60.8418 -33.8574 -61.0996 -34.2002c-2.59473 -3.46289 -7.38574 -4.39844 -11.0986 -2.17383c-11.2676 6.75977 -21.7832 10.1875 -31.25 10.1875c-27.5176 0 -39.6719 -29.5693 -39.792 -29.8672
c-1.56836 -3.91797 -5.78418 -6.0791 -9.88477 -5.05371c-1.18066 0.294922 -2.35156 0.757812 -3.70508 1.29883c-9.0791 3.60449 -14.2432 3.99707 -19.0342 -3.51758c-6.35742 -9.9707 3.65527 -26.8252 7.66309 -31.9443
c1.63867 -2.09375 2.19629 -4.83594 1.50586 -7.40234c-0.69043 -2.56738 -2.54883 -4.6582 -5.01855 -5.64453c-10.3896 -4.15527 -23.0693 -11.0576 -24.46 -20.3652c-1.04883 -7.0127 4.49316 -14.8535 9.77441 -20.2197
c1.03613 1.97949 2.04102 3.84082 3.04199 5.61426c14.168 25.1133 35.9746 46.5391 63.0518 61.9609c30.0098 17.0869 65.9131 26.1211 103.829 26.1211c42.5166 0 87.7998 -22.1211 127.507 -62.2803c35.7061 -36.1191 64.6367 -83.8672 81.8975 -135.018
c8.71875 -0.0351562 14.2383 -0.142578 17.5059 -0.234375zM494.905 70.8867c3.5293 4.67578 5.96387 31.3262 -24.7109 97.6123c-26.8672 58.0625 -96.9912 120.967 -197.311 141.892c1.46387 -1.86621 2.7666 -3.73242 3.91797 -5.55371
c4.89844 -7.75098 7.66797 -15.5186 9.22461 -21.4912c12.1514 4.06055 32.5713 8.08887 47.8594 -3.22656c11.5244 -8.52637 17.8564 -21.1758 21.1387 -30.2852c0.0322266 -0.0898438 1.75391 -4.96387 3.00488 -10.3506
c9.48145 0.515625 24.1826 -0.958008 34.0293 -12.959c9.01953 -10.9834 8.28125 -25.291 6.08496 -35.3438c10.5332 -0.733398 24.916 -4.32812 32.8818 -17.415c7.94824 -13.0479 2.43164 -26.3096 -5.19629 -35.7793c10.0225 -4.68555 22.3613 -12.9346 29.0391 -26.2891
c8.28613 -16.5703 0.980469 -34.0527 -6.77734 -45.9795c0 0 24.8154 -0.0898438 27.4375 -0.177734c11.8965 -0.394531 15.0908 -0.332031 19.377 5.34668zM277.734 183.94c14.4883 0 26.2744 -11.791 26.2744 -26.2871c0 -14.4883 -11.7861 -26.2744 -26.2744 -26.2744
c-14.4873 0 -26.2744 11.7861 -26.2744 26.2744c0 14.4961 11.7871 26.2871 26.2744 26.2871zM277.734 148.267c5.17383 0 9.3877 4.21094 9.3877 9.38672c0 5.18164 -4.21387 9.39941 -9.3877 9.39941c-5.17578 0 -9.38672 -4.21777 -9.38672 -9.39941
c0 -5.17578 4.21289 -9.38672 9.38672 -9.38672zM233.015 135.402c14.4854 0 26.2715 -11.792 26.2744 -26.2852c0 -14.4873 -11.7861 -26.2734 -26.2744 -26.2734s-26.2744 11.7861 -26.2744 26.2734c0 14.4932 11.7861 26.2852 26.2744 26.2852zM233.015 99.7305
c5.17383 0 9.38379 4.20605 9.38672 9.38672c0 5.18164 -4.21289 9.39746 -9.38672 9.39746c-5.17676 0 -9.3877 -4.21777 -9.3877 -9.39746c0 -5.17871 4.21094 -9.38672 9.3877 -9.38672zM218.286 207.726c14.498 0 26.2891 -11.7861 26.2871 -26.2773
c0 -14.4932 -11.792 -26.2871 -26.2871 -26.2842c-14.4883 0 -26.2744 11.791 -26.2744 26.2842c0 14.4912 11.7861 26.2773 26.2744 26.2773zM218.291 172.052c5.18359 0 9.39941 4.21777 9.39941 9.39648c0 5.17676 -4.21777 9.39258 -9.39941 9.39258
c-5.17676 0 -9.38672 -4.21875 -9.38672 -9.39258c0 -5.18359 4.20801 -9.39941 9.38672 -9.39648z" />
</font>
</defs></svg>

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,52 @@
/*
Flaticon icon font: Flaticon
Creation date: 11/02/2019 11:47
*/
@font-face {
font-family: "Flaticon";
src: url("./Flaticon.eot");
src: url("./Flaticon.eot?#iefix") format("embedded-opentype"),
url("./Flaticon.woff2") format("woff2"),
url("./Flaticon.woff") format("woff"),
url("./Flaticon.ttf") format("truetype"),
url("./Flaticon.svg#Flaticon") format("svg");
font-weight: normal;
font-style: normal;
}
@media screen and (-webkit-min-device-pixel-ratio:0) {
@font-face {
font-family: "Flaticon";
src: url("./Flaticon.svg#Flaticon") format("svg");
}
}
.fi:before{
display: inline-block;
font-family: "Flaticon";
font-style: normal;
font-weight: normal;
font-variant: normal;
line-height: 1;
text-decoration: inherit;
text-rendering: optimizeLegibility;
text-transform: none;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
font-smoothing: antialiased;
}
.flaticon-mexican-taco:before { content: "\f100"; }
.flaticon-house:before { content: "\f101"; }
.flaticon-guitar:before { content: "\f102"; }
.flaticon-gym:before { content: "\f103"; }
.flaticon-shopping-bag:before { content: "\f104"; }
.flaticon-cocktail:before { content: "\f105"; }
$font-Flaticon-mexican-taco: "\f100";
$font-Flaticon-house: "\f101";
$font-Flaticon-guitar: "\f102";
$font-Flaticon-gym: "\f103";
$font-Flaticon-shopping-bag: "\f104";
$font-Flaticon-cocktail: "\f105";

View File

@ -0,0 +1,44 @@
/*
Flaticon icon font: Flaticon
Creation date: 11/02/2019 11:47
*/
@font-face {
font-family: "Flaticon";
src: url("./Flaticon.eot");
src: url("./Flaticon.eot?#iefix") format("embedded-opentype"),
url("./Flaticon.woff2") format("woff2"),
url("./Flaticon.woff") format("woff"),
url("./Flaticon.ttf") format("truetype"),
url("./Flaticon.svg#Flaticon") format("svg");
font-weight: normal;
font-style: normal;
}
@media screen and (-webkit-min-device-pixel-ratio:0) {
@font-face {
font-family: "Flaticon";
src: url("./Flaticon.svg#Flaticon") format("svg");
}
}
[class^="flaticon-"]:before, [class*=" flaticon-"]:before,
[class^="flaticon-"]:after, [class*=" flaticon-"]:after {
font-family: Flaticon;
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
line-height: 1;
/* Better Font Rendering =========== */
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.flaticon-mexican-taco:before { content: "\f100"; }
.flaticon-house:before { content: "\f101"; }
.flaticon-guitar:before { content: "\f102"; }
.flaticon-gym:before { content: "\f103"; }
.flaticon-shopping-bag:before { content: "\f104"; }
.flaticon-cocktail:before { content: "\f105"; }

View File

@ -0,0 +1,485 @@
<!DOCTYPE html>
<!--
Flaticon icon font: Flaticon
Creation date: 11/02/2019 11:47
-->
<html>
<!DOCTYPE html>
<html>
<head>
<title>Flaticon WebFont</title>
<link href="http://fonts.googleapis.com/css?family=Varela+Round" rel="stylesheet" type="text/css" />
<link rel="stylesheet" type="text/css" href="flaticon.css">
<meta charset="UTF-8">
<style>
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
body {
font-family: 'Varela Round', Helvetica, Arial, sans-serif;
font-size: 16px;
color: #222;
}
a {
color: #333;
border-bottom: 1px solid #a9fd00;
font-weight: bold;
text-decoration: none;
}
* {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
margin: 0;
padding: 0;
}
[class^="flaticon-"]:before, [class*=" flaticon-"]:before, [class^="flaticon-"]:after, [class*=" flaticon-"]:after {
font-family: Flaticon;
font-size: 30px;
font-style: normal;
margin-left: 20px;
color: #333;
}
.wrapper {
max-width: 600px;
margin: auto;
padding: 0 1em;
}
.title {
font-size: 1.25em;
text-align: center;
margin-bottom: 1em;
text-transform: uppercase;
}
header {
text-align: center;
background-color: #222;
color: #fff;
padding: 1em;
}
header .logo {
width: 210px;
height: 38px;
display: inline-block;
vertical-align: middle;
margin-right: 1em;
border: none;
}
header strong {
font-size: 1.95em;
font-weight: bold;
vertical-align: middle;
margin-top: 5px;
display: inline-block;
}
.demo {
margin: 2em auto;
line-height: 1.25em;
}
.demo ul li {
margin-bottom: 1em;
}
.demo ul li .num {
color: #222;
border-radius: 20px;
display: inline-block;
width: 26px;
padding: 3px;
height: 26px;
text-align: center;
margin-right: 0.5em;
border: 1px solid #222;
}
.demo ul li code {
background-color: #222;
border-radius: 4px;
padding: 0.25em 0.5em;
display: inline-block;
color: #fff;
font-family: Consolas,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New, monospace;
font-weight: lighter;
margin-top: 1em;
font-size: 0.8em;
word-break: break-all;
}
.demo ul li code.big {
padding: 1em;
font-size: 0.9em;
}
.demo ul li code .red {
color: #EF3159;
}
.demo ul li code .green {
color: #ACFF65;
}
.demo ul li code .yellow {
color: #FFFF99;
}
.demo ul li code .blue {
color: #99D3FF;
}
.demo ul li code .purple {
color: #A295FF;
}
.demo ul li code .dots {
margin-top: 0.5em;
display: block;
}
#glyphs {
border-bottom: 1px solid #ccc;
padding: 2em 0;
text-align: center;
}
.glyph {
display: inline-block;
width: 9em;
margin: 1em;
text-align: center;
vertical-align: top;
background: #FFF;
}
.glyph .glyph-icon {
padding: 10px;
display: block;
font-family:"Flaticon";
font-size: 64px;
line-height: 1;
}
.glyph .glyph-icon:before {
font-size: 64px;
color: #222;
margin-left: 0;
}
.class-name {
font-size: 0.65em;
background-color: #222;
color: #fff;
border-radius: 4px 4px 0 0;
padding: 0.5em;
color: #FFFF99;
font-family: Consolas,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New, monospace;
}
.author-name {
font-size: 0.6em;
background-color: #fcfcfd;
border: 1px solid #DEDEE4;
border-top: 0;
border-radius: 0 0 4px 4px;
padding: 0.5em;
}
.class-name:last-child {
font-size: 10px;
color:#888;
}
.class-name:last-child a {
font-size: 10px;
color:#555;
}
.class-name:last-child a:hover {
color:#a9fd00;
}
.glyph > input {
display: block;
width: 100px;
margin: 5px auto;
text-align: center;
font-size: 12px;
cursor: text;
}
.glyph > input.icon-input {
font-family:"Flaticon";
font-size: 16px;
margin-bottom: 10px;
}
.attribution .title {
margin-top: 2em;
}
.attribution textarea {
background-color: #fcfcfd;
padding: 1em;
border: none;
box-shadow: none;
border: 1px solid #DEDEE4;
border-radius: 4px;
resize: none;
width: 100%;
height: 150px;
font-size: 0.8em;
font-family: Consolas,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New, monospace;
-webkit-appearance: none;
}
.iconsuse {
margin: 2em auto;
text-align: center;
max-width: 1200px;
}
.iconsuse:after {
content: '';
display: table;
clear: both;
}
.iconsuse .image {
float: left;
width: 25%;
padding: 0 1em;
}
.iconsuse .image p {
margin-bottom: 1em;
}
.iconsuse .image span {
display: block;
font-size: 0.65em;
background-color: #222;
color: #fff;
border-radius: 4px;
padding: 0.5em;
color: #FFFF99;
margin-top: 1em;
font-family: Consolas,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New, monospace;
}
#footer {
text-align: center;
background-color: #4C5B5C;
color: #7c9192;
padding: 1em;
}
#footer a {
border: none;
color: #a9fd00;
font-weight: normal;
}
@media (max-width: 960px) {
.iconsuse .image {
width: 50%;
}
}
@media (max-width: 560px) {
.iconsuse .image {
width: 100%;
}
}
</style>
</head>
<body class="characters-off">
<header>
<a href="https://www.flaticon.com" target="_blank" class="logo">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/" viewBox="0 0 560.875 102.036" enable-background="new 0 0 560.875 102.036" xml:space="preserve">
<defs>
</defs>
<g>
<g class="letters">
<path fill="#ffffff" d="M141.596,29.675c0-3.777,2.985-6.767,6.764-6.767h34.438c3.426,0,6.15,2.728,6.15,6.15
c0,3.43-2.724,6.149-6.15,6.149h-27.674v13.091h23.719c3.429,0,6.151,2.724,6.151,6.15c0,3.43-2.723,6.149-6.151,6.149h-23.719
v17.574c0,3.773-2.986,6.761-6.764,6.761c-3.779,0-6.764-2.989-6.764-6.761V29.675z"></path>
<path fill="#ffffff" d="M193.844,29.149c0-3.781,2.985-6.767,6.764-6.767c3.776,0,6.763,2.985,6.763,6.767v42.957h25.039
c3.426,0,6.149,2.726,6.149,6.153c0,3.425-2.723,6.15-6.149,6.15h-31.802c-3.779,0-6.764-2.986-6.764-6.768V29.149z"></path>
<path fill="#ffffff" d="M241.891,75.71l21.438-48.407c1.492-3.341,4.215-5.357,7.906-5.357h0.792
c3.686,0,6.323,2.017,7.815,5.357l21.439,48.407c0.436,0.967,0.701,1.845,0.701,2.723c0,3.602-2.809,6.501-6.414,6.501
c-3.161,0-5.269-1.845-6.499-4.655l-4.132-9.661h-27.059l-4.301,10.102c-1.144,2.631-3.426,4.214-6.237,4.214
c-3.517,0-6.24-2.81-6.24-6.325C241.1,77.64,241.451,76.677,241.891,75.71z M279.932,58.666l-8.521-20.297l-8.526,20.297H279.932
z"></path>
<path fill="#ffffff" d="M314.864,35.387H301.86c-3.429,0-6.239-2.813-6.239-6.238c0-3.429,2.811-6.24,6.239-6.24h39.533
c3.426,0,6.237,2.811,6.237,6.24c0,3.425-2.811,6.238-6.237,6.238h-13.001v42.785c0,3.773-2.99,6.761-6.764,6.761
c-3.779,0-6.764-2.989-6.764-6.761V35.387z"></path>
<path fill="#A9FD00" d="M352.615,29.149c0-3.781,2.985-6.767,6.767-6.767c3.774,0,6.761,2.985,6.761,6.767v49.024
c0,3.773-2.987,6.761-6.761,6.761c-3.781,0-6.767-2.989-6.767-6.761V29.149z"></path>
<path fill="#A9FD00" d="M374.132,53.836v-0.179c0-17.481,13.178-31.801,32.065-31.801c9.22,0,15.459,2.458,20.557,6.238
c1.402,1.054,2.637,2.985,2.637,5.357c0,3.692-2.985,6.59-6.681,6.59c-1.845,0-3.071-0.702-4.044-1.319
c-3.776-2.813-7.729-4.393-12.562-4.393c-10.364,0-17.831,8.611-17.831,19.154v0.173c0,10.542,7.291,19.329,17.831,19.329
c5.715,0,9.492-1.756,13.359-4.834c1.049-0.874,2.458-1.491,4.039-1.491c3.429,0,6.325,2.813,6.325,6.236
c0,2.106-1.056,3.78-2.282,4.834c-5.539,4.834-12.036,7.733-21.878,7.733C387.572,85.464,374.132,71.493,374.132,53.836z"></path>
<path fill="#A9FD00" d="M433.009,53.836v-0.179c0-17.481,13.79-31.801,32.766-31.801c18.981,0,32.592,14.143,32.592,31.628v0.173
c0,17.483-13.785,31.807-32.769,31.807C446.625,85.464,433.009,71.32,433.009,53.836z M484.224,53.836v-0.179
c0-10.539-7.725-19.326-18.626-19.326c-10.893,0-18.449,8.611-18.449,19.154v0.173c0,10.542,7.73,19.329,18.626,19.329
C476.676,72.986,484.224,64.378,484.224,53.836z"></path>
<path fill="#A9FD00" d="M506.233,29.321c0-3.774,2.99-6.763,6.767-6.763h1.401c3.252,0,5.183,1.583,7.029,3.953l26.093,34.265
V29.059c0-3.692,2.99-6.677,6.681-6.677c3.683,0,6.671,2.985,6.671,6.677v48.934c0,3.78-2.987,6.765-6.764,6.765h-0.436
c-3.257,0-5.188-1.581-7.034-3.953l-27.056-35.492v32.944c0,3.687-2.985,6.676-6.678,6.676c-3.683,0-6.673-2.989-6.673-6.676
V29.321z"></path>
</g>
<g class="insignia">
<path fill="#ffffff" d="M48.372,56.137h12.517l11.156-18.537H37.186L25.688,18.539h57.825L94.668,0H9.271
C5.925,0,2.842,1.801,1.198,4.716c-1.644,2.907-1.593,6.482,0.134,9.343l50.38,83.501c1.678,2.781,4.689,4.476,7.938,4.476
c3.246,0,6.257-1.695,7.935-4.476l2.898-4.804L48.372,56.137z"></path>
<g class="i">
<path fill="#A9FD00" d="M93.575,18.539h0.031v0.004l21.652,0.004l2.705-4.488c1.727-2.861,1.778-6.436,0.133-9.343
C116.454,1.801,113.371,0,110.026,0h-5.294L93.575,18.539z"></path>
<polygon fill="#A9FD00" points="88.291,27.356 64.725,66.486 75.519,84.404 109.942,27.356"></polygon>
</g>
</g>
</g>
</svg>
</a>
<strong>Font Demo</strong>
</header>
<section class="demo wrapper">
<p class="title">Instructions</p>
<ul>
<li>
<span class="num">1</span>Copy the "Fonts" files and CSS files to your website CSS folder.
</li>
<li>
<span class="num">2</span>Add the CSS link to your website source code on header.
<code class="big">
&lt;<span class="red">head</span>&gt;
<br/><span class="dots">...</span>
<br/>&lt;<span class="red">link</span> <span class="green">rel</span>=<span class="yellow">"stylesheet"</span> <span class="green">type</span>=<span class="yellow">"text/css"</span> <span class="green">href</span>=<span class="yellow">"your_website_domain/css_root/flaticon.css"</span>&gt;
<br/><span class="dots">...</span>
<br/>&lt;/<span class="red">head</span>&gt;
</code>
</li>
<li>
<p>
<span class="num">3</span>Use the icon class on <code>"<span class="blue">display</span>:<span class="purple"> inline</span>"</code> elements:
<br />
Use example: <code>&lt;<span class="red">i</span> <span class="green">class</span>=<span class="yellow">&quot;flaticon-airplane49&quot;</span>&gt;&lt;/<span class="red">i</span>&gt;</code> or <code>&lt;<span class="red">span</span> <span class="green">class</span>=<span class="yellow">&quot;flaticon-airplane49&quot;</span>&gt;&lt;/<span class="red">span</span>&gt;</code>
</li>
</ul>
</section>
<section id="glyphs">
<div class="glyph"><div class="glyph-icon flaticon-mexican-taco"></div>
<div class="class-name">.flaticon-mexican-taco</div>
<div class="author-name">Author: <a data-file="001-mexican-taco" href="http://www.freepik.com">Freepik</a> </div>
</div>
<div class="glyph"><div class="glyph-icon flaticon-house"></div>
<div class="class-name">.flaticon-house</div>
<div class="author-name">Author: <a data-file="002-house" href="http://www.freepik.com">Freepik</a> </div>
</div>
<div class="glyph"><div class="glyph-icon flaticon-guitar"></div>
<div class="class-name">.flaticon-guitar</div>
<div class="author-name">Author: <a data-file="003-guitar" href="http://www.freepik.com">Freepik</a> </div>
</div>
<div class="glyph"><div class="glyph-icon flaticon-gym"></div>
<div class="class-name">.flaticon-gym</div>
<div class="author-name">Author: <a data-file="004-gym" href="http://www.freepik.com">Freepik</a> </div>
</div>
<div class="glyph"><div class="glyph-icon flaticon-shopping-bag"></div>
<div class="class-name">.flaticon-shopping-bag</div>
<div class="author-name">Author: <a data-file="005-shopping-bag" href="http://www.freepik.com">Freepik</a> </div>
</div>
<div class="glyph"><div class="glyph-icon flaticon-cocktail"></div>
<div class="class-name">.flaticon-cocktail</div>
<div class="author-name">Author: <a data-file="006-cocktail" href="http://www.freepik.com">Freepik</a> </div>
</div>
</section>
<section class="attribution wrapper" style="text-align:center;">
<div class="title">License and attribution:</div><div class="attrDiv">Font generated by <a href="https://www.flaticon.com">flaticon.com</a>. <div><p>Under <a href="http://creativecommons.org/licenses/by/3.0/">CC</a>: <a data-file="001-mexican-taco" href="http://www.freepik.com">Freepik</a></p> </div>
</div>
<div class="title">Copy the Attribution License:</div>
<textarea onclick="this.focus();this.select();">Font generated by &lt;a href=&quot;https://www.flaticon.com&quot;&gt;flaticon.com&lt;/a&gt;. <p>Under <a href="http://creativecommons.org/licenses/by/3.0/">CC</a>: <a data-file="001-mexican-taco" href="http://www.freepik.com">Freepik</a></p>
</textarea>
</section>
<section class="iconsuse">
<div class="title">Examples:</div>
<div class="image">
<p>
<i class="glyph-icon flaticon-mexican-taco"></i>
<span>&lt;i class=&quot;flaticon-mexican-taco&quot;&gt;&lt;/i&gt;</span>
</p>
</div>
<div class="image">
<p>
<i class="glyph-icon flaticon-house"></i>
<span>&lt;i class=&quot;flaticon-house&quot;&gt;&lt;/i&gt;</span>
</p>
</div>
<div class="image">
<p>
<i class="glyph-icon flaticon-guitar"></i>
<span>&lt;i class=&quot;flaticon-guitar&quot;&gt;&lt;/i&gt;</span>
</p>
</div>
<div class="image">
<p>
<i class="glyph-icon flaticon-gym"></i>
<span>&lt;i class=&quot;flaticon-gym&quot;&gt;&lt;/i&gt;</span>
</p>
</div>
</div>
</section>
<div id="footer">
<div>Generated by <a href="https://www.flaticon.com">flaticon.com</a>
</div>
</div>
</body>
</html>

Binary file not shown.

View File

@ -0,0 +1,7 @@
Open *demo.html* to see a list of all the glyphs in your font along with their codes/ligatures.
To use the generated font in desktop programs, you can install the TTF font. In order to copy the character associated with each icon, refer to the text box at the bottom right corner of each glyph in demo.html. The character inside this text box may be invisible; but it can still be copied. See this guide for more info: https://icomoon.io/#docs/local-fonts
You won't need any of the files located under the *demo-files* directory when including the generated font in your own projects.
You can import *selection.json* back to the IcoMoon app using the *Import Icons* button (or via Main Menu → Manage Projects) to retrieve your icon selection.

View File

@ -0,0 +1,155 @@
body {
padding: 0;
margin: 0;
font-family: sans-serif;
font-size: 1em;
line-height: 1.5;
color: #555;
background: #fff;
}
h1 {
font-size: 1.5em;
font-weight: normal;
}
small {
font-size: .66666667em;
}
a {
color: #e74c3c;
text-decoration: none;
}
a:hover, a:focus {
box-shadow: 0 1px #e74c3c;
}
.bshadow0, input {
box-shadow: inset 0 -2px #e7e7e7;
}
input:hover {
box-shadow: inset 0 -2px #ccc;
}
input, fieldset {
font-family: sans-serif;
font-size: 1em;
margin: 0;
padding: 0;
border: 0;
}
input {
color: inherit;
line-height: 1.5;
height: 1.5em;
padding: .25em 0;
}
input:focus {
outline: none;
box-shadow: inset 0 -2px #449fdb;
}
.glyph {
font-size: 16px;
width: 15em;
padding-bottom: 1em;
margin-right: 4em;
margin-bottom: 1em;
float: left;
overflow: hidden;
}
.liga {
width: 80%;
width: calc(100% - 2.5em);
}
.talign-right {
text-align: right;
}
.talign-center {
text-align: center;
}
.bgc1 {
background: #f1f1f1;
}
.fgc1 {
color: #999;
}
.fgc0 {
color: #000;
}
p {
margin-top: 1em;
margin-bottom: 1em;
}
.mvm {
margin-top: .75em;
margin-bottom: .75em;
}
.mtn {
margin-top: 0;
}
.mtl, .mal {
margin-top: 1.5em;
}
.mbl, .mal {
margin-bottom: 1.5em;
}
.mal, .mhl {
margin-left: 1.5em;
margin-right: 1.5em;
}
.mhmm {
margin-left: 1em;
margin-right: 1em;
}
.mls {
margin-left: .25em;
}
.ptl {
padding-top: 1.5em;
}
.pbs, .pvs {
padding-bottom: .25em;
}
.pvs, .pts {
padding-top: .25em;
}
.unit {
float: left;
}
.unitRight {
float: right;
}
.size1of2 {
width: 50%;
}
.size1of1 {
width: 100%;
}
.clearfix:before, .clearfix:after {
content: " ";
display: table;
}
.clearfix:after {
clear: both;
}
.hidden-true {
display: none;
}
.textbox0 {
width: 3em;
background: #f1f1f1;
padding: .25em .5em;
line-height: 1.5;
height: 1.5em;
}
#testDrive {
display: block;
padding-top: 24px;
line-height: 1.5;
}
.fs0 {
font-size: 16px;
}
.fs1 {
font-size: 28px;
}
.fs2 {
font-size: 24px;
}

View File

@ -0,0 +1,30 @@
if (!('boxShadow' in document.body.style)) {
document.body.setAttribute('class', 'noBoxShadow');
}
document.body.addEventListener("click", function(e) {
var target = e.target;
if (target.tagName === "INPUT" &&
target.getAttribute('class').indexOf('liga') === -1) {
target.select();
}
});
(function() {
var fontSize = document.getElementById('fontSize'),
testDrive = document.getElementById('testDrive'),
testText = document.getElementById('testText');
function updateTest() {
testDrive.innerHTML = testText.value || String.fromCharCode(160);
if (window.icomoonLiga) {
window.icomoonLiga(testDrive);
}
}
function updateSize() {
testDrive.style.fontSize = fontSize.value + 'px';
}
fontSize.addEventListener('change', updateSize, false);
testText.addEventListener('input', updateTest, false);
testText.addEventListener('change', updateTest, false);
updateSize();
}());

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 913 KiB

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,620 @@
/*!
* jQuery blockUI plugin
* Version 2.70.0-2014.11.23
* Requires jQuery v1.7 or later
*
* Examples at: http://malsup.com/jquery/block/
* Copyright (c) 2007-2013 M. Alsup
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
* Thanks to Amir-Hossein Sobhi for some excellent contributions!
*/
;(function() {
/*jshint eqeqeq:false curly:false latedef:false */
"use strict";
function setup($) {
$.fn._fadeIn = $.fn.fadeIn;
var noOp = $.noop || function() {};
// this bit is to ensure we don't call setExpression when we shouldn't (with extra muscle to handle
// confusing userAgent strings on Vista)
var msie = /MSIE/.test(navigator.userAgent);
var ie6 = /MSIE 6.0/.test(navigator.userAgent) && ! /MSIE 8.0/.test(navigator.userAgent);
var mode = document.documentMode || 0;
var setExpr = $.isFunction( document.createElement('div').style.setExpression );
// global $ methods for blocking/unblocking the entire page
$.blockUI = function(opts) { install(window, opts); };
$.unblockUI = function(opts) { remove(window, opts); };
// convenience method for quick growl-like notifications (http://www.google.com/search?q=growl)
$.growlUI = function(title, message, timeout, onClose) {
var $m = $('<div class="growlUI"></div>');
if (title) $m.append('<h1>'+title+'</h1>');
if (message) $m.append('<h2>'+message+'</h2>');
if (timeout === undefined) timeout = 3000;
// Added by konapun: Set timeout to 30 seconds if this growl is moused over, like normal toast notifications
var callBlock = function(opts) {
opts = opts || {};
$.blockUI({
message: $m,
fadeIn : typeof opts.fadeIn !== 'undefined' ? opts.fadeIn : 700,
fadeOut: typeof opts.fadeOut !== 'undefined' ? opts.fadeOut : 1000,
timeout: typeof opts.timeout !== 'undefined' ? opts.timeout : timeout,
centerY: false,
showOverlay: false,
onUnblock: onClose,
css: $.blockUI.defaults.growlCSS
});
};
callBlock();
var nonmousedOpacity = $m.css('opacity');
$m.mouseover(function() {
callBlock({
fadeIn: 0,
timeout: 30000
});
var displayBlock = $('.blockMsg');
displayBlock.stop(); // cancel fadeout if it has started
displayBlock.fadeTo(300, 1); // make it easier to read the message by removing transparency
}).mouseout(function() {
$('.blockMsg').fadeOut(1000);
});
// End konapun additions
};
// plugin method for blocking element content
$.fn.block = function(opts) {
if ( this[0] === window ) {
$.blockUI( opts );
return this;
}
var fullOpts = $.extend({}, $.blockUI.defaults, opts || {});
this.each(function() {
var $el = $(this);
if (fullOpts.ignoreIfBlocked && $el.data('blockUI.isBlocked'))
return;
$el.unblock({ fadeOut: 0 });
});
return this.each(function() {
if ($.css(this,'position') == 'static') {
this.style.position = 'relative';
$(this).data('blockUI.static', true);
}
this.style.zoom = 1; // force 'hasLayout' in ie
install(this, opts);
});
};
// plugin method for unblocking element content
$.fn.unblock = function(opts) {
if ( this[0] === window ) {
$.unblockUI( opts );
return this;
}
return this.each(function() {
remove(this, opts);
});
};
$.blockUI.version = 2.70; // 2nd generation blocking at no extra cost!
// override these in your code to change the default behavior and style
$.blockUI.defaults = {
// message displayed when blocking (use null for no message)
message: '<h1>Please wait...</h1>',
title: null, // title string; only used when theme == true
draggable: true, // only used when theme == true (requires jquery-ui.js to be loaded)
theme: false, // set to true to use with jQuery UI themes
// styles for the message when blocking; if you wish to disable
// these and use an external stylesheet then do this in your code:
// $.blockUI.defaults.css = {};
css: {
padding: 0,
margin: 0,
width: '30%',
top: '40%',
left: '35%',
textAlign: 'center',
color: '#000',
border: '3px solid #aaa',
backgroundColor:'#fff',
cursor: 'wait'
},
// minimal style set used when themes are used
themedCSS: {
width: '30%',
top: '40%',
left: '35%'
},
// styles for the overlay
overlayCSS: {
backgroundColor: '#000',
opacity: 0.6,
cursor: 'wait'
},
// style to replace wait cursor before unblocking to correct issue
// of lingering wait cursor
cursorReset: 'default',
// styles applied when using $.growlUI
growlCSS: {
width: '350px',
top: '10px',
left: '',
right: '10px',
border: 'none',
padding: '5px',
opacity: 0.6,
cursor: 'default',
color: '#fff',
backgroundColor: '#000',
'-webkit-border-radius':'10px',
'-moz-border-radius': '10px',
'border-radius': '10px'
},
// IE issues: 'about:blank' fails on HTTPS and javascript:false is s-l-o-w
// (hat tip to Jorge H. N. de Vasconcelos)
/*jshint scripturl:true */
iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank',
// force usage of iframe in non-IE browsers (handy for blocking applets)
forceIframe: false,
// z-index for the blocking overlay
baseZ: 1000,
// set these to true to have the message automatically centered
centerX: true, // <-- only effects element blocking (page block controlled via css above)
centerY: true,
// allow body element to be stetched in ie6; this makes blocking look better
// on "short" pages. disable if you wish to prevent changes to the body height
allowBodyStretch: true,
// enable if you want key and mouse events to be disabled for content that is blocked
bindEvents: true,
// be default blockUI will supress tab navigation from leaving blocking content
// (if bindEvents is true)
constrainTabKey: true,
// fadeIn time in millis; set to 0 to disable fadeIn on block
fadeIn: 200,
// fadeOut time in millis; set to 0 to disable fadeOut on unblock
fadeOut: 400,
// time in millis to wait before auto-unblocking; set to 0 to disable auto-unblock
timeout: 0,
// disable if you don't want to show the overlay
showOverlay: true,
// if true, focus will be placed in the first available input field when
// page blocking
focusInput: true,
// elements that can receive focus
focusableElements: ':input:enabled:visible',
// suppresses the use of overlay styles on FF/Linux (due to performance issues with opacity)
// no longer needed in 2012
// applyPlatformOpacityRules: true,
// callback method invoked when fadeIn has completed and blocking message is visible
onBlock: null,
// callback method invoked when unblocking has completed; the callback is
// passed the element that has been unblocked (which is the window object for page
// blocks) and the options that were passed to the unblock call:
// onUnblock(element, options)
onUnblock: null,
// callback method invoked when the overlay area is clicked.
// setting this will turn the cursor to a pointer, otherwise cursor defined in overlayCss will be used.
onOverlayClick: null,
// don't ask; if you really must know: http://groups.google.com/group/jquery-en/browse_thread/thread/36640a8730503595/2f6a79a77a78e493#2f6a79a77a78e493
quirksmodeOffsetHack: 4,
// class name of the message block
blockMsgClass: 'blockMsg',
// if it is already blocked, then ignore it (don't unblock and reblock)
ignoreIfBlocked: false
};
// private data and functions follow...
var pageBlock = null;
var pageBlockEls = [];
function install(el, opts) {
var css, themedCSS;
var full = (el == window);
var msg = (opts && opts.message !== undefined ? opts.message : undefined);
opts = $.extend({}, $.blockUI.defaults, opts || {});
if (opts.ignoreIfBlocked && $(el).data('blockUI.isBlocked'))
return;
opts.overlayCSS = $.extend({}, $.blockUI.defaults.overlayCSS, opts.overlayCSS || {});
css = $.extend({}, $.blockUI.defaults.css, opts.css || {});
if (opts.onOverlayClick)
opts.overlayCSS.cursor = 'pointer';
themedCSS = $.extend({}, $.blockUI.defaults.themedCSS, opts.themedCSS || {});
msg = msg === undefined ? opts.message : msg;
// remove the current block (if there is one)
if (full && pageBlock)
remove(window, {fadeOut:0});
// if an existing element is being used as the blocking content then we capture
// its current place in the DOM (and current display style) so we can restore
// it when we unblock
if (msg && typeof msg != 'string' && (msg.parentNode || msg.jquery)) {
var node = msg.jquery ? msg[0] : msg;
var data = {};
$(el).data('blockUI.history', data);
data.el = node;
data.parent = node.parentNode;
data.display = node.style.display;
data.position = node.style.position;
if (data.parent)
data.parent.removeChild(node);
}
$(el).data('blockUI.onUnblock', opts.onUnblock);
var z = opts.baseZ;
// blockUI uses 3 layers for blocking, for simplicity they are all used on every platform;
// layer1 is the iframe layer which is used to supress bleed through of underlying content
// layer2 is the overlay layer which has opacity and a wait cursor (by default)
// layer3 is the message content that is displayed while blocking
var lyr1, lyr2, lyr3, s;
if (msie || opts.forceIframe)
lyr1 = $('<iframe class="blockUI" style="z-index:'+ (z++) +';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="'+opts.iframeSrc+'"></iframe>');
else
lyr1 = $('<div class="blockUI" style="display:none"></div>');
if (opts.theme)
lyr2 = $('<div class="blockUI blockOverlay ui-widget-overlay" style="z-index:'+ (z++) +';display:none"></div>');
else
lyr2 = $('<div class="blockUI blockOverlay" style="z-index:'+ (z++) +';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>');
if (opts.theme && full) {
s = '<div class="blockUI ' + opts.blockMsgClass + ' blockPage ui-dialog ui-widget ui-corner-all" style="z-index:'+(z+10)+';display:none;position:fixed">';
if ( opts.title ) {
s += '<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(opts.title || '&nbsp;')+'</div>';
}
s += '<div class="ui-widget-content ui-dialog-content"></div>';
s += '</div>';
}
else if (opts.theme) {
s = '<div class="blockUI ' + opts.blockMsgClass + ' blockElement ui-dialog ui-widget ui-corner-all" style="z-index:'+(z+10)+';display:none;position:absolute">';
if ( opts.title ) {
s += '<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(opts.title || '&nbsp;')+'</div>';
}
s += '<div class="ui-widget-content ui-dialog-content"></div>';
s += '</div>';
}
else if (full) {
s = '<div class="blockUI ' + opts.blockMsgClass + ' blockPage" style="z-index:'+(z+10)+';display:none;position:fixed"></div>';
}
else {
s = '<div class="blockUI ' + opts.blockMsgClass + ' blockElement" style="z-index:'+(z+10)+';display:none;position:absolute"></div>';
}
lyr3 = $(s);
// if we have a message, style it
if (msg) {
if (opts.theme) {
lyr3.css(themedCSS);
lyr3.addClass('ui-widget-content');
}
else
lyr3.css(css);
}
// style the overlay
if (!opts.theme /*&& (!opts.applyPlatformOpacityRules)*/)
lyr2.css(opts.overlayCSS);
lyr2.css('position', full ? 'fixed' : 'absolute');
// make iframe layer transparent in IE
if (msie || opts.forceIframe)
lyr1.css('opacity',0.0);
//$([lyr1[0],lyr2[0],lyr3[0]]).appendTo(full ? 'body' : el);
var layers = [lyr1,lyr2,lyr3], $par = full ? $('body') : $(el);
$.each(layers, function() {
this.appendTo($par);
});
if (opts.theme && opts.draggable && $.fn.draggable) {
lyr3.draggable({
handle: '.ui-dialog-titlebar',
cancel: 'li'
});
}
// ie7 must use absolute positioning in quirks mode and to account for activex issues (when scrolling)
var expr = setExpr && (!$.support.boxModel || $('object,embed', full ? null : el).length > 0);
if (ie6 || expr) {
// give body 100% height
if (full && opts.allowBodyStretch && $.support.boxModel)
$('html,body').css('height','100%');
// fix ie6 issue when blocked element has a border width
if ((ie6 || !$.support.boxModel) && !full) {
var t = sz(el,'borderTopWidth'), l = sz(el,'borderLeftWidth');
var fixT = t ? '(0 - '+t+')' : 0;
var fixL = l ? '(0 - '+l+')' : 0;
}
// simulate fixed position
$.each(layers, function(i,o) {
var s = o[0].style;
s.position = 'absolute';
if (i < 2) {
if (full)
s.setExpression('height','Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:'+opts.quirksmodeOffsetHack+') + "px"');
else
s.setExpression('height','this.parentNode.offsetHeight + "px"');
if (full)
s.setExpression('width','jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"');
else
s.setExpression('width','this.parentNode.offsetWidth + "px"');
if (fixL) s.setExpression('left', fixL);
if (fixT) s.setExpression('top', fixT);
}
else if (opts.centerY) {
if (full) s.setExpression('top','(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"');
s.marginTop = 0;
}
else if (!opts.centerY && full) {
var top = (opts.css && opts.css.top) ? parseInt(opts.css.top, 10) : 0;
var expression = '((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + '+top+') + "px"';
s.setExpression('top',expression);
}
});
}
// show the message
if (msg) {
if (opts.theme)
lyr3.find('.ui-widget-content').append(msg);
else
lyr3.append(msg);
if (msg.jquery || msg.nodeType)
$(msg).show();
}
if ((msie || opts.forceIframe) && opts.showOverlay)
lyr1.show(); // opacity is zero
if (opts.fadeIn) {
var cb = opts.onBlock ? opts.onBlock : noOp;
var cb1 = (opts.showOverlay && !msg) ? cb : noOp;
var cb2 = msg ? cb : noOp;
if (opts.showOverlay)
lyr2._fadeIn(opts.fadeIn, cb1);
if (msg)
lyr3._fadeIn(opts.fadeIn, cb2);
}
else {
if (opts.showOverlay)
lyr2.show();
if (msg)
lyr3.show();
if (opts.onBlock)
opts.onBlock.bind(lyr3)();
}
// bind key and mouse events
bind(1, el, opts);
if (full) {
pageBlock = lyr3[0];
pageBlockEls = $(opts.focusableElements,pageBlock);
if (opts.focusInput)
setTimeout(focus, 20);
}
else
center(lyr3[0], opts.centerX, opts.centerY);
if (opts.timeout) {
// auto-unblock
var to = setTimeout(function() {
if (full)
$.unblockUI(opts);
else
$(el).unblock(opts);
}, opts.timeout);
$(el).data('blockUI.timeout', to);
}
}
// remove the block
function remove(el, opts) {
var count;
var full = (el == window);
var $el = $(el);
var data = $el.data('blockUI.history');
var to = $el.data('blockUI.timeout');
if (to) {
clearTimeout(to);
$el.removeData('blockUI.timeout');
}
opts = $.extend({}, $.blockUI.defaults, opts || {});
bind(0, el, opts); // unbind events
if (opts.onUnblock === null) {
opts.onUnblock = $el.data('blockUI.onUnblock');
$el.removeData('blockUI.onUnblock');
}
var els;
if (full) // crazy selector to handle odd field errors in ie6/7
els = $('body').children().filter('.blockUI').add('body > .blockUI');
else
els = $el.find('>.blockUI');
// fix cursor issue
if ( opts.cursorReset ) {
if ( els.length > 1 )
els[1].style.cursor = opts.cursorReset;
if ( els.length > 2 )
els[2].style.cursor = opts.cursorReset;
}
if (full)
pageBlock = pageBlockEls = null;
if (opts.fadeOut) {
count = els.length;
els.stop().fadeOut(opts.fadeOut, function() {
if ( --count === 0)
reset(els,data,opts,el);
});
}
else
reset(els, data, opts, el);
}
// move blocking element back into the DOM where it started
function reset(els,data,opts,el) {
var $el = $(el);
if ( $el.data('blockUI.isBlocked') )
return;
els.each(function(i,o) {
// remove via DOM calls so we don't lose event handlers
if (this.parentNode)
this.parentNode.removeChild(this);
});
if (data && data.el) {
data.el.style.display = data.display;
data.el.style.position = data.position;
data.el.style.cursor = 'default'; // #59
if (data.parent)
data.parent.appendChild(data.el);
$el.removeData('blockUI.history');
}
if ($el.data('blockUI.static')) {
$el.css('position', 'static'); // #22
}
if (typeof opts.onUnblock == 'function')
opts.onUnblock(el,opts);
// fix issue in Safari 6 where block artifacts remain until reflow
var body = $(document.body), w = body.width(), cssW = body[0].style.width;
body.width(w-1).width(w);
body[0].style.width = cssW;
}
// bind/unbind the handler
function bind(b, el, opts) {
var full = el == window, $el = $(el);
// don't bother unbinding if there is nothing to unbind
if (!b && (full && !pageBlock || !full && !$el.data('blockUI.isBlocked')))
return;
$el.data('blockUI.isBlocked', b);
// don't bind events when overlay is not in use or if bindEvents is false
if (!full || !opts.bindEvents || (b && !opts.showOverlay))
return;
// bind anchors and inputs for mouse and key events
var events = 'mousedown mouseup keydown keypress keyup touchstart touchend touchmove';
if (b)
$(document).bind(events, opts, handler);
else
$(document).unbind(events, handler);
// former impl...
// var $e = $('a,:input');
// b ? $e.bind(events, opts, handler) : $e.unbind(events, handler);
}
// event handler to suppress keyboard/mouse events when blocking
function handler(e) {
// allow tab navigation (conditionally)
if (e.type === 'keydown' && e.keyCode && e.keyCode == 9) {
if (pageBlock && e.data.constrainTabKey) {
var els = pageBlockEls;
var fwd = !e.shiftKey && e.target === els[els.length-1];
var back = e.shiftKey && e.target === els[0];
if (fwd || back) {
setTimeout(function(){focus(back);},10);
return false;
}
}
}
var opts = e.data;
var target = $(e.target);
if (target.hasClass('blockOverlay') && opts.onOverlayClick)
opts.onOverlayClick(e);
// allow events within the message content
if (target.parents('div.' + opts.blockMsgClass).length > 0)
return true;
// allow events for content that is not being blocked
return target.parents().children().filter('div.blockUI').length === 0;
}
function focus(back) {
if (!pageBlockEls)
return;
var e = pageBlockEls[back===true ? pageBlockEls.length-1 : 0];
if (e)
e.focus();
}
function center(el, x, y) {
var p = el.parentNode, s = el.style;
var l = ((p.offsetWidth - el.offsetWidth)/2) - sz(p,'borderLeftWidth');
var t = ((p.offsetHeight - el.offsetHeight)/2) - sz(p,'borderTopWidth');
if (x) s.left = l > 0 ? (l+'px') : '0';
if (y) s.top = t > 0 ? (t+'px') : '0';
}
function sz(el, p) {
return parseInt($.css(el,p),10)||0;
}
}
/*global define:true */
if (typeof define === 'function' && define.amd && define.amd.jQuery) {
define(['jquery'], setup);
} else {
setup(jQuery);
}
})();

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

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,215 @@
/*! jQuery Migrate v3.0.1 | (c) jQuery Foundation and other contributors | jquery.org/license */
void 0 === jQuery.migrateMute && (jQuery.migrateMute = !0), function(e) {
"function" == typeof define && define.amd ? define([ "jquery" ], window, e) : "object" == typeof module && module.exports ? module.exports = e(require("jquery"), window) : e(jQuery, window);
}(function(e, t) {
"use strict";
function r(r) {
var n = t.console;
o[r] || (o[r] = !0, e.migrateWarnings.push(r), n && n.warn && !e.migrateMute && (n.warn("JQMIGRATE: " + r),
e.migrateTrace && n.trace && n.trace()));
}
function n(e, t, n, a) {
Object.defineProperty(e, t, {
configurable: !0,
enumerable: !0,
get: function() {
return r(a), n;
},
set: function(e) {
r(a), n = e;
}
});
}
function a(e, t, n, a) {
e[t] = function() {
return r(a), n.apply(this, arguments);
};
}
e.migrateVersion = "3.0.1", function() {
var r = /^[12]\./;
t.console && t.console.log && (e && !r.test(e.fn.jquery) || t.console.log("JQMIGRATE: jQuery 3.0.0+ REQUIRED"),
e.migrateWarnings && t.console.log("JQMIGRATE: Migrate plugin loaded multiple times"),
t.console.log("JQMIGRATE: Migrate is installed" + (e.migrateMute ? "" : " with logging active") + ", version " + e.migrateVersion));
}();
var o = {};
e.migrateWarnings = [], void 0 === e.migrateTrace && (e.migrateTrace = !0), e.migrateReset = function() {
o = {}, e.migrateWarnings.length = 0;
}, "BackCompat" === t.document.compatMode && r("jQuery is not compatible with Quirks Mode");
var i = e.fn.init, s = e.isNumeric, u = e.find, c = /\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/, l = /\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/g;
e.fn.init = function(e) {
var t = Array.prototype.slice.call(arguments);
return "string" == typeof e && "#" === e && (r("jQuery( '#' ) is not a valid selector"),
t[0] = []), i.apply(this, t);
}, e.fn.init.prototype = e.fn, e.find = function(e) {
var n = Array.prototype.slice.call(arguments);
if ("string" == typeof e && c.test(e)) try {
t.document.querySelector(e);
} catch (a) {
e = e.replace(l, function(e, t, r, n) {
return "[" + t + r + '"' + n + '"]';
});
try {
t.document.querySelector(e), r("Attribute selector with '#' must be quoted: " + n[0]),
n[0] = e;
} catch (e) {
r("Attribute selector with '#' was not fixed: " + n[0]);
}
}
return u.apply(this, n);
};
var d;
for (d in u) Object.prototype.hasOwnProperty.call(u, d) && (e.find[d] = u[d]);
e.fn.size = function() {
return r("jQuery.fn.size() is deprecated and removed; use the .length property"),
this.length;
}, e.parseJSON = function() {
return r("jQuery.parseJSON is deprecated; use JSON.parse"), JSON.parse.apply(null, arguments);
}, e.isNumeric = function(t) {
var n = s(t), a = function(t) {
var r = t && t.toString();
return !e.isArray(t) && r - parseFloat(r) + 1 >= 0;
}(t);
return n !== a && r("jQuery.isNumeric() should not be called on constructed objects"),
a;
}, a(e, "holdReady", e.holdReady, "jQuery.holdReady is deprecated"), a(e, "unique", e.uniqueSort, "jQuery.unique is deprecated; use jQuery.uniqueSort"),
n(e.expr, "filters", e.expr.pseudos, "jQuery.expr.filters is deprecated; use jQuery.expr.pseudos"),
n(e.expr, ":", e.expr.pseudos, "jQuery.expr[':'] is deprecated; use jQuery.expr.pseudos");
var p = e.ajax;
e.ajax = function() {
var e = p.apply(this, arguments);
return e.promise && (a(e, "success", e.done, "jQXHR.success is deprecated and removed"),
a(e, "error", e.fail, "jQXHR.error is deprecated and removed"), a(e, "complete", e.always, "jQXHR.complete is deprecated and removed")),
e;
};
var f = e.fn.removeAttr, y = e.fn.toggleClass, m = /\S+/g;
e.fn.removeAttr = function(t) {
var n = this;
return e.each(t.match(m), function(t, a) {
e.expr.match.bool.test(a) && (r("jQuery.fn.removeAttr no longer sets boolean properties: " + a),
n.prop(a, !1));
}), f.apply(this, arguments);
}, e.fn.toggleClass = function(t) {
return void 0 !== t && "boolean" != typeof t ? y.apply(this, arguments) : (r("jQuery.fn.toggleClass( boolean ) is deprecated"),
this.each(function() {
var r = this.getAttribute && this.getAttribute("class") || "";
r && e.data(this, "__className__", r), this.setAttribute && this.setAttribute("class", r || !1 === t ? "" : e.data(this, "__className__") || "");
}));
};
var h = !1;
e.swap && e.each([ "height", "width", "reliableMarginRight" ], function(t, r) {
var n = e.cssHooks[r] && e.cssHooks[r].get;
n && (e.cssHooks[r].get = function() {
var e;
return h = !0, e = n.apply(this, arguments), h = !1, e;
});
}), e.swap = function(e, t, n, a) {
var o, i, s = {};
h || r("jQuery.swap() is undocumented and deprecated");
for (i in t) s[i] = e.style[i], e.style[i] = t[i];
o = n.apply(e, a || []);
for (i in t) e.style[i] = s[i];
return o;
};
var g = e.data;
e.data = function(t, n, a) {
var o;
if (n && "object" == typeof n && 2 === arguments.length) {
o = e.hasData(t) && g.call(this, t);
var i = {};
for (var s in n) s !== e.camelCase(s) ? (r("jQuery.data() always sets/gets camelCased names: " + s),
o[s] = n[s]) : i[s] = n[s];
return g.call(this, t, i), n;
}
return n && "string" == typeof n && n !== e.camelCase(n) && (o = e.hasData(t) && g.call(this, t)) && n in o ? (r("jQuery.data() always sets/gets camelCased names: " + n),
arguments.length > 2 && (o[n] = a), o[n]) : g.apply(this, arguments);
};
var v = e.Tween.prototype.run, j = function(e) {
return e;
};
e.Tween.prototype.run = function() {
e.easing[this.easing].length > 1 && (r("'jQuery.easing." + this.easing.toString() + "' should use only one argument"),
e.easing[this.easing] = j), v.apply(this, arguments);
}, e.fx.interval = e.fx.interval || 13, t.requestAnimationFrame && n(e.fx, "interval", e.fx.interval, "jQuery.fx.interval is deprecated");
var Q = e.fn.load, b = e.event.add, w = e.event.fix;
e.event.props = [], e.event.fixHooks = {}, n(e.event.props, "concat", e.event.props.concat, "jQuery.event.props.concat() is deprecated and removed"),
e.event.fix = function(t) {
var n, a = t.type, o = this.fixHooks[a], i = e.event.props;
if (i.length) for (r("jQuery.event.props are deprecated and removed: " + i.join()); i.length; ) e.event.addProp(i.pop());
if (o && !o._migrated_ && (o._migrated_ = !0, r("jQuery.event.fixHooks are deprecated and removed: " + a),
(i = o.props) && i.length)) for (;i.length; ) e.event.addProp(i.pop());
return n = w.call(this, t), o && o.filter ? o.filter(n, t) : n;
}, e.event.add = function(e, n) {
return e === t && "load" === n && "complete" === t.document.readyState && r("jQuery(window).on('load'...) called after load event occurred"),
b.apply(this, arguments);
}, e.each([ "load", "unload", "error" ], function(t, n) {
e.fn[n] = function() {
var e = Array.prototype.slice.call(arguments, 0);
return "load" === n && "string" == typeof e[0] ? Q.apply(this, e) : (r("jQuery.fn." + n + "() is deprecated"),
e.splice(0, 0, n), arguments.length ? this.on.apply(this, e) : (this.triggerHandler.apply(this, e),
this));
};
}), e.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "), function(t, n) {
e.fn[n] = function(e, t) {
return r("jQuery.fn." + n + "() event shorthand is deprecated"), arguments.length > 0 ? this.on(n, null, e, t) : this.trigger(n);
};
}), e(function() {
e(t.document).triggerHandler("ready");
}), e.event.special.ready = {
setup: function() {
this === t.document && r("'ready' event is deprecated");
}
}, e.fn.extend({
bind: function(e, t, n) {
return r("jQuery.fn.bind() is deprecated"), this.on(e, null, t, n);
},
unbind: function(e, t) {
return r("jQuery.fn.unbind() is deprecated"), this.off(e, null, t);
},
delegate: function(e, t, n, a) {
return r("jQuery.fn.delegate() is deprecated"), this.on(t, e, n, a);
},
undelegate: function(e, t, n) {
return r("jQuery.fn.undelegate() is deprecated"), 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", n);
},
hover: function(e, t) {
return r("jQuery.fn.hover() is deprecated"), this.on("mouseenter", e).on("mouseleave", t || e);
}
});
var x = e.fn.offset;
e.fn.offset = function() {
var n, a = this[0], o = {
top: 0,
left: 0
};
return a && a.nodeType ? (n = (a.ownerDocument || t.document).documentElement, e.contains(n, a) ? x.apply(this, arguments) : (r("jQuery.fn.offset() requires an element connected to a document"),
o)) : (r("jQuery.fn.offset() requires a valid DOM element"), o);
};
var k = e.param;
e.param = function(t, n) {
var a = e.ajaxSettings && e.ajaxSettings.traditional;
return void 0 === n && a && (r("jQuery.param() no longer uses jQuery.ajaxSettings.traditional"),
n = a), k.call(this, t, n);
};
var A = e.fn.andSelf || e.fn.addBack;
e.fn.andSelf = function() {
return r("jQuery.fn.andSelf() is deprecated and removed, use jQuery.fn.addBack()"),
A.apply(this, arguments);
};
var S = e.Deferred, q = [ [ "resolve", "done", e.Callbacks("once memory"), e.Callbacks("once memory"), "resolved" ], [ "reject", "fail", e.Callbacks("once memory"), e.Callbacks("once memory"), "rejected" ], [ "notify", "progress", e.Callbacks("memory"), e.Callbacks("memory") ] ];
return e.Deferred = function(t) {
var n = S(), a = n.promise();
return n.pipe = a.pipe = function() {
var t = arguments;
return r("deferred.pipe() is deprecated"), e.Deferred(function(r) {
e.each(q, function(o, i) {
var s = e.isFunction(t[o]) && t[o];
n[i[1]](function() {
var t = s && s.apply(this, arguments);
t && e.isFunction(t.promise) ? t.promise().done(r.resolve).fail(r.reject).progress(r.notify) : r[i[0] + "With"](this === a ? r.promise() : this, s ? [ t ] : arguments);
});
}), t = null;
}).promise();
}, t && t.call(n, n), n;
}, e.Deferred.exceptionHook = S.exceptionHook, e;
});

1735
admin/assets/block/js/jquery-ui.js vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,22 @@
/*!
* The Final Countdown for jQuery v2.2.0 (http://hilios.github.io/jQuery.countdown/)
* Copyright (c) 2016 Edson Hilios
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
!function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){"use strict";function b(a){if(a instanceof Date)return a;if(String(a).match(g))return String(a).match(/^[0-9]*$/)&&(a=Number(a)),String(a).match(/\-/)&&(a=String(a).replace(/\-/g,"/")),new Date(a);throw new Error("Couldn't cast `"+a+"` to a date object.")}function c(a){var b=a.toString().replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1");return new RegExp(b)}function d(a){return function(b){var d=b.match(/%(-|!)?[A-Z]{1}(:[^;]+;)?/gi);if(d)for(var f=0,g=d.length;f<g;++f){var h=d[f].match(/%(-|!)?([a-zA-Z]{1})(:[^;]+;)?/),j=c(h[0]),k=h[1]||"",l=h[3]||"",m=null;h=h[2],i.hasOwnProperty(h)&&(m=i[h],m=Number(a[m])),null!==m&&("!"===k&&(m=e(l,m)),""===k&&m<10&&(m="0"+m.toString()),b=b.replace(j,m.toString()))}return b=b.replace(/%%/,"%")}}function e(a,b){var c="s",d="";return a&&(a=a.replace(/(:|;|\s)/gi,"").split(/\,/),1===a.length?c=a[0]:(d=a[0],c=a[1])),Math.abs(b)>1?c:d}var f=[],g=[],h={precision:100,elapse:!1,defer:!1};g.push(/^[0-9]*$/.source),g.push(/([0-9]{1,2}\/){2}[0-9]{4}( [0-9]{1,2}(:[0-9]{2}){2})?/.source),g.push(/[0-9]{4}([\/\-][0-9]{1,2}){2}( [0-9]{1,2}(:[0-9]{2}){2})?/.source),g=new RegExp(g.join("|"));var i={Y:"years",m:"months",n:"daysToMonth",d:"daysToWeek",w:"weeks",W:"weeksToMonth",H:"hours",M:"minutes",S:"seconds",D:"totalDays",I:"totalHours",N:"totalMinutes",T:"totalSeconds"},j=function(b,c,d){this.el=b,this.$el=a(b),this.interval=null,this.offset={},this.options=a.extend({},h),this.instanceNumber=f.length,f.push(this),this.$el.data("countdown-instance",this.instanceNumber),d&&("function"==typeof d?(this.$el.on("update.countdown",d),this.$el.on("stoped.countdown",d),this.$el.on("finish.countdown",d)):this.options=a.extend({},h,d)),this.setFinalDate(c),this.options.defer===!1&&this.start()};a.extend(j.prototype,{start:function(){null!==this.interval&&clearInterval(this.interval);var a=this;this.update(),this.interval=setInterval(function(){a.update.call(a)},this.options.precision)},stop:function(){clearInterval(this.interval),this.interval=null,this.dispatchEvent("stoped")},toggle:function(){this.interval?this.stop():this.start()},pause:function(){this.stop()},resume:function(){this.start()},remove:function(){this.stop.call(this),f[this.instanceNumber]=null,delete this.$el.data().countdownInstance},setFinalDate:function(a){this.finalDate=b(a)},update:function(){if(0===this.$el.closest("html").length)return void this.remove();var b,c=void 0!==a._data(this.el,"events"),d=new Date;b=this.finalDate.getTime()-d.getTime(),b=Math.ceil(b/1e3),b=!this.options.elapse&&b<0?0:Math.abs(b),this.totalSecsLeft!==b&&c&&(this.totalSecsLeft=b,this.elapsed=d>=this.finalDate,this.offset={seconds:this.totalSecsLeft%60,minutes:Math.floor(this.totalSecsLeft/60)%60,hours:Math.floor(this.totalSecsLeft/60/60)%24,days:Math.floor(this.totalSecsLeft/60/60/24)%7,daysToWeek:Math.floor(this.totalSecsLeft/60/60/24)%7,daysToMonth:Math.floor(this.totalSecsLeft/60/60/24%30.4368),weeks:Math.floor(this.totalSecsLeft/60/60/24/7),weeksToMonth:Math.floor(this.totalSecsLeft/60/60/24/7)%4,months:Math.floor(this.totalSecsLeft/60/60/24/30.4368),years:Math.abs(this.finalDate.getFullYear()-d.getFullYear()),totalDays:Math.floor(this.totalSecsLeft/60/60/24),totalHours:Math.floor(this.totalSecsLeft/60/60),totalMinutes:Math.floor(this.totalSecsLeft/60),totalSeconds:this.totalSecsLeft},this.options.elapse||0!==this.totalSecsLeft?this.dispatchEvent("update"):(this.stop(),this.dispatchEvent("finish")))},dispatchEvent:function(b){var c=a.Event(b+".countdown");c.finalDate=this.finalDate,c.elapsed=this.elapsed,c.offset=a.extend({},this.offset),c.strftime=d(this.offset),this.$el.trigger(c)}}),a.fn.countdown=function(){var b=Array.prototype.slice.call(arguments,0);return this.each(function(){var c=a(this).data("countdown-instance");if(void 0!==c){var d=f[c],e=b[0];j.prototype.hasOwnProperty(e)?d[e].apply(d,b.slice(1)):null===String(e).match(/^[$A-Z_][0-9A-Z_$]*$/i)?(d.setFinalDate.call(d,e),d.start()):a.error("Method %s does not exist on jQuery.countdown".replace(/\%s/gi,e))}else new j(this,b[0],b[1])})}});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,242 @@
AOS.init({
duration: 800,
easing: 'slide',
once: true
});
jQuery(document).ready(function($) {
"use strict";
var siteMenuClone = function() {
$('.js-clone-nav').each(function() {
var $this = $(this);
$this.clone().attr('class', 'site-nav-wrap').appendTo('.site-mobile-menu-body');
});
setTimeout(function() {
var counter = 0;
$('.site-mobile-menu .has-children').each(function(){
var $this = $(this);
$this.prepend('<span class="arrow-collapse collapsed">');
$this.find('.arrow-collapse').attr({
'data-toggle' : 'collapse',
'data-target' : '#collapseItem' + counter,
});
$this.find('> ul').attr({
'class' : 'collapse',
'id' : 'collapseItem' + counter,
});
counter++;
});
}, 1000);
$('body').on('click', '.arrow-collapse', function(e) {
var $this = $(this);
if ( $this.closest('li').find('.collapse').hasClass('show') ) {
$this.removeClass('active');
} else {
$this.addClass('active');
}
e.preventDefault();
});
$(window).resize(function() {
var $this = $(this),
w = $this.width();
if ( w > 768 ) {
if ( $('body').hasClass('offcanvas-menu') ) {
$('body').removeClass('offcanvas-menu');
}
}
})
$('body').on('click', '.js-menu-toggle', function(e) {
var $this = $(this);
e.preventDefault();
if ( $('body').hasClass('offcanvas-menu') ) {
$('body').removeClass('offcanvas-menu');
$this.removeClass('active');
} else {
$('body').addClass('offcanvas-menu');
$this.addClass('active');
}
})
// click outisde offcanvas
$(document).mouseup(function(e) {
var container = $(".site-mobile-menu");
if (!container.is(e.target) && container.has(e.target).length === 0) {
if ( $('body').hasClass('offcanvas-menu') ) {
$('body').removeClass('offcanvas-menu');
}
}
});
};
siteMenuClone();
var sitePlusMinus = function() {
$('.js-btn-minus').on('click', function(e){
e.preventDefault();
if ( $(this).closest('.input-group').find('.form-control').val() != 0 ) {
$(this).closest('.input-group').find('.form-control').val(parseInt($(this).closest('.input-group').find('.form-control').val()) - 1);
} else {
$(this).closest('.input-group').find('.form-control').val(parseInt(0));
}
});
$('.js-btn-plus').on('click', function(e){
e.preventDefault();
$(this).closest('.input-group').find('.form-control').val(parseInt($(this).closest('.input-group').find('.form-control').val()) + 1);
});
};
// sitePlusMinus();
var siteSliderRange = function() {
$( "#slider-range" ).slider({
range: true,
min: 0,
max: 500,
values: [ 75, 300 ],
slide: function( event, ui ) {
$( "#amount" ).val( "$" + ui.values[ 0 ] + " - $" + ui.values[ 1 ] );
}
});
$( "#amount" ).val( "$" + $( "#slider-range" ).slider( "values", 0 ) +
" - $" + $( "#slider-range" ).slider( "values", 1 ) );
};
// siteSliderRange();
var siteMagnificPopup = function() {
$('.image-popup').magnificPopup({
type: 'image',
closeOnContentClick: true,
closeBtnInside: false,
fixedContentPos: true,
mainClass: 'mfp-no-margins mfp-with-zoom', // class to remove default margin from left and right side
gallery: {
enabled: true,
navigateByImgClick: true,
preload: [0,1] // Will preload 0 - before current, and 1 after the current image
},
image: {
verticalFit: true
},
zoom: {
enabled: true,
duration: 300 // don't foget to change the duration also in CSS
}
});
$('.popup-youtube, .popup-vimeo, .popup-gmaps').magnificPopup({
disableOn: 700,
type: 'iframe',
mainClass: 'mfp-fade',
removalDelay: 160,
preloader: false,
fixedContentPos: false
});
};
siteMagnificPopup();
var siteCarousel = function () {
if ( $('.nonloop-block-13').length > 0 ) {
$('.nonloop-block-13').owlCarousel({
center: false,
items: 1,
loop: true,
stagePadding: 0,
margin: 0,
autoplay: true,
nav: true,
navText: ['<span class="icon-arrow_back">', '<span class="icon-arrow_forward">'],
responsive:{
600:{
margin: 0,
nav: true,
items: 2
},
1000:{
margin: 0,
stagePadding: 0,
nav: true,
items: 3
},
1200:{
margin: 0,
stagePadding: 0,
nav: true,
items: 4
}
}
});
}
$('.slide-one-item').owlCarousel({
center: false,
items: 1,
loop: true,
stagePadding: 0,
margin: 0,
autoplay: true,
pauseOnHover: false,
nav: true,
navText: ['<span class="icon-keyboard_arrow_left">', '<span class="icon-keyboard_arrow_right">']
});
};
siteCarousel();
var siteStellar = function() {
$(window).stellar({
responsive: false,
parallaxBackgrounds: true,
parallaxElements: true,
horizontalScrolling: false,
hideDistantElements: false,
scrollProperty: 'scroll'
});
};
siteStellar();
var siteCountDown = function() {
$('#date-countdown').countdown('2020/10/10', function(event) {
var $this = $(this).html(event.strftime(''
+ '<span class="countdown-block"><span class="label">%w</span> weeks </span>'
+ '<span class="countdown-block"><span class="label">%d</span> days </span>'
+ '<span class="countdown-block"><span class="label">%H</span> hr </span>'
+ '<span class="countdown-block"><span class="label">%M</span> min </span>'
+ '<span class="countdown-block"><span class="label">%S</span> sec</span>'));
});
};
siteCountDown();
var siteDatePicker = function() {
if ( $('.datepicker').length > 0 ) {
$('.datepicker').datepicker();
}
};
siteDatePicker();
});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

5
admin/assets/block/js/popper.min.js vendored Normal file

File diff suppressed because one or more lines are too long

1
admin/assets/block/js/slick.min.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

801
admin/laporan.html Normal file
View File

@ -0,0 +1,801 @@
<!doctype html>
<html lang="en">
<head>
<title>Halaman Laporan Admin</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
<meta name="description" content="HexaBit Bootstrap 4x Admin Template">
<meta name="author" content="WrapTheme, www.thememakker.com">
<link rel="icon" href="favicon.ico" type="image/x-icon">
<!-- VENDOR CSS -->
<link rel="stylesheet" href="template_assets/vendor/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" href="template_assets/vendor/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="template_assets/vendor/bootstrap-progressbar/css/bootstrap-progressbar-3.3.4.min.css">
<!-- <link rel="stylesheet" href="template_assets/vendor/chartist/css/chartist.min.css"> -->
<!-- <link rel="stylesheet" href="template_assets/vendor/chartist-plugin-tooltip/chartist-plugin-tooltip.css"> -->
<link rel="stylesheet" href="template_assets/vendor/toastr/toastr.min.css">
<!-- <link rel="stylesheet" href="template_assets/vendor/morrisjs/morris.css" /> -->
<link rel="stylesheet" href="template_assets/vendor/jquery-datatable/dataTables.bootstrap4.min.css">
<link rel="stylesheet" href="assets/dist/css/lightbox.min.css">
<link rel="stylesheet" href="template_assets/vendor/sweetalert/sweetalert.css">
<!-- MAIN CSS -->
<link rel="stylesheet" href="assets/css/main.css">
<link rel="stylesheet" href="assets/css/color_skins.css">
</head>
<body class="theme-cyan">
<!-- Page Loader -->
<div class="page-loader-wrapper">
<div class="loader">
<div class="m-t-30"><img src="template_assets/images/icon-light.svg" width="48" height="48" alt="HexaBit">
</div>
<p>Loading...</p>
</div>
</div>
<!-- Overlay For Sidebars -->
<div class="overlay"></div>
<div id="wrapper">
<nav class="navbar navbar-fixed-top">
<div class="container-fluid">
<div class="navbar-left">
<div class="navbar-btn">
<a href="admin_index.html"><img src="template_assets/images/icon-light.svg" alt="HexaBit Logo"
class="img-fluid logo"></a>
<button type="button" class="btn-toggle-offcanvas"><i
class="lnr lnr-menu fa fa-bars"></i></button>
</div>
<a href="javascript:void(0);" class="icon-menu btn-toggle-fullwidth"><i
class="fa fa-arrow-left"></i></a>
<ul class="nav navbar-nav">
<li class="dropdown dropdown-animated scale-right">
<a href="javascript:void(0);" class="dropdown-toggle icon-menu" data-toggle="dropdown"><i
class="icon-grid"></i></a>
<ul class="dropdown-menu menu-icon app_menu">
<li>
<a class="#">
<i class="icon-envelope"></i>
<span>Halaman Penjualan</span>
</a>
</li>
<li>
<a class="#">
<i class="icon-bubbles"></i>
<span>Laporan </span>
</a>
</li>
</ul>
</li>
</ul>
</div>
<div class="navbar-right">
<!-- <form id="navbar-search" class="navbar-form search-form">
<input value="" class="form-control" placeholder="Search here..." type="text">
<button type="button" class="btn btn-default"><i class="icon-magnifier"></i></button>
</form> -->
<div id="navbar-menu">
<ul class="nav navbar-nav">
<li><a href="page-login.html" class="icon-menu"><i class="icon-power"></i></a></li>
</ul>
</div>
</div>
</div>
</nav>
<div id="left-sidebar" class="sidebar">
<div class="navbar-brand">
<a href="admin_index.html"><img src="template_assets/images/icon-light.svg" alt="HexaBit Logo"
class="img-fluid logo"><span>Kicap Karan</span></a>
<button type="button" class="btn-toggle-offcanvas btn btn-sm btn-default float-right"><i
class="lnr lnr-menu fa fa-chevron-circle-left"></i></button>
</div>
<div class="sidebar-scroll">
<div class="user-account">
<div class="user_div">
<img src="template_assets/images/user.png" class="user-photo" alt="User Profile Picture">
</div>
<div class="dropdown">
<span>Welcome,</span>
<a href="javascript:void(0);" class="dropdown-toggle user-name"
data-toggle="dropdown"><strong>Christy Wert</strong></a>
<ul class="dropdown-menu dropdown-menu-right account">
<li><a href="page-profile.html"><i class="icon-user"></i>My Profile</a></li>
<li><a href="app-inbox.html"><i class="icon-envelope-open"></i>Messages</a></li>
<li><a href="javascript:void(0);"><i class="icon-settings"></i>Settings</a></li>
<li class="divider"></li>
<li><a href="page-login.html"><i class="icon-power"></i>Logout</a></li>
</ul>
</div>
</div>
<nav id="left-sidebar-nav" class="sidebar-nav">
<ul id="main-menu" class="metismenu">
<li class="active"><a href="admin_index.html"><i class="icon-basket-loaded"></i><span>Halaman
Penjualan</span></a></li>
<li><a href="penambahan_produk.html"><i class="fa fa-edit"></i><span>Produk Baru</span></a></li>
<li><a href="list_produk.html"><i class=" icon-list"></i><span>List Produk</span></a></li>
<li><a href="laporan.html"><i class="icon-book-open"></i><span>Log Laporan</span></a></li>
</ul>
</nav>
</div>
</div>
<div id="main-content">
<div class="block-header">
<div class="row clearfix">
<div class="col-md-6 col-sm-12">
<h2>Halaman Laporan</h2>
</div>
<div class="col-md-6 col-sm-12 text-right">
<ul class="breadcrumb">
<li class="breadcrumb-item"><a href="admin_index.html"><i class="icon-home"></i></a></li>
<li class="breadcrumb-item active">Halaman Laporan</li>
</ul>
</div>
</div>
</div>
<div class="container-fluid">
<!-- SINI MAIN NYA -->
<div class="row clearfix">
<div class="col-lg-2 col-md-12"></div>
<div class="col-lg-8 col-md-12">
<div class="card">
<div class="header">
<h2>Filter Laporan</h2>
</div>
<div class="body">
<div class="row clearfix">
<div class="col-lg-6 col-md-6 col-sm-12">
<div class="form-group">
<select name="select_bulan" id="select_bulan" class="form-control">
<option value="" selected disabled>-Pilih Bulan</option>
</select>
<span class="help-block">Pilih Tahun Terlebih Dahulu</span>
</div>
</div>
<div class="col-lg-6 col-md-6 col-sm-12">
<div class="form-group">
<select name="select_tahun" id="select_tahun" class="form-control">
<option value="" selected disabled>-Pilih Tahun</option>
</select>
</div>
</div>
</div>
<div class="text-center"><button class="btn btn-primary text-center"
onclick="filter_laporan('not')">Filter Laporan</button>&nbsp &nbsp<button
class="btn btn-info text-center" onclick="filter_laporan('all')">Tampilkan
Semua</button>&nbsp &nbsp<button class="btn btn-success text-center"
onclick="update_laporan_server()">Update Laporan Server</button></div>
</div>
</div>
</div>
<div class="col-lg-2 col-md-12"></div>
</div>
<div class="row clearfix">
<div class="col-lg-1 col-md-12"></div>
<div class="col-lg-10 col-md-12">
<div class="card">
<div class="header">
<h2 id="title_laporan">Laporan</h2>
</div>
<div class="body">
<div class="table-responsive" style="overflow-x: auto;">
<table
class="table table-bordered table-hover js-basic-example dataTable table-custom"
id="table_laporan">
<thead>
<tr>
<th>Waktu</th>
<th>Status</th>
<th>Kode Barang</th>
<th>Stok Sebelumnya</th>
<th>Stok Terbaru</th>
<th>Keterangan</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
</div>
<div class="col-lg-1 col-md-12"></div>
</div>
</div>
</div>
</div>
<div class="modal fade" id="modal_info_penjualan" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Info Penjualan</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<div class="form-group">
<label for="">Waktu</label>
<input type="text" class="form-control" id="waktu" value="A4567" disabled>
</div>
<div class="form-group">
<label for="">Total Penjualan</label>
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text">Rp.</span>
</div>
<input type="text" class="form-control" id="total" disabled>
</div>
</div>
<div class="form-group">
<label for="">Pembayaran</label>
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text">Rp.</span>
</div>
<input type="text" class="form-control" id="pembayaran" disabled>
</div>
</div>
<div class="form-group">
<label for="">Kembalian</label>
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text">Rp.</span>
</div>
<input type="text" class="form-control" id="baki" disabled>
</div>
</div>
<div class="form-group">
<div class="table-responsive" style="overflow-x: auto;">
<table class="table table-bordered table-hover js-basic-example dataTable table-custom"
id="table_penjualan">
<thead>
<tr>
<th>No</th>
<th>Kode Barang</th>
<th>Jumlah Pembelian</th>
<th>Harga</th>
<th>Total</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<!-- Javascript -->
<script src="assets/bundles/libscripts.bundle.js"></script>
<!-- <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> -->
<script src="assets/bundles/vendorscripts.bundle.js"></script>
<!-- <script src="assets/bundles/chartist.bundle.js"></script> -->
<script src="template_assets/vendor/toastr/toastr.js"></script>
<!--script src="assets/bundles/morrisscripts.bundle.js"></script-->
<!-- Morris Plugin Js -->
<script src="assets/bundles/mainscripts.bundle.js"></script>
<script src="assets/js/index.js"></script>
<script src="assets/dist/js/lightbox.min.js"></script>
<script src="template_assets/vendor/sweetalert/sweetalert.js"></script>
<script src="assets/bundles/datatablescripts.bundle.js"></script>
<script src="template_assets/vendor/jquery-datatable/buttons/dataTables.buttons.min.js"></script>
<script src="template_assets/vendor/jquery-datatable/buttons/buttons.bootstrap4.min.js"></script>
<script src="assets/block/jquery.blockUI.js"></script>
<script src="main.js"></script>
<script>
//select id=select_tahun start from 2021 to current year
var currentYear = new Date().getFullYear();
var startYear = 2021;
var currentMonth = new Date().getMonth() + 1;
var selectTahun = document.getElementById('select_tahun');
for (var i = startYear; i <= currentYear; i++) {
let opt = document.createElement('option');
opt.value = i;
opt.innerHTML = i;
selectTahun.appendChild(opt);
}
//create onchange event for select_tahun, if select_tahun is current year, select_bulan start from 1 to current month, else select_bulan start from 1 to 12
selectTahun.onchange = function () {
let selectBulan = document.getElementById('select_bulan');
let selectedYear = selectTahun.options[selectTahun.selectedIndex].value;
let opt = document.createElement('option');
opt.value = null;
opt.innerHTML = "-Pilih Bulan-";
opt.disabled = true;
opt.selected = true;
if (selectedYear == currentYear) {
selectBulan.innerHTML = "";
//appendChild "-Pilih Bulan-" to select_bulan and make this option selected disabled and value=null
selectBulan.appendChild(opt);
for (let i = 1; i <= currentMonth; i++) {
let opt = document.createElement('option');
opt.value = i;
opt.innerHTML = i;
selectBulan.appendChild(opt);
}
} else {
selectBulan.innerHTML = "";
selectBulan.appendChild(opt);
for (let i = 1; i <= 12; i++) {
let opt = document.createElement('option');
opt.value = i;
opt.innerHTML = i;
selectBulan.appendChild(opt);
}
}
}
async function laporan_umum(bulan = currentMonth, tahun = currentYear, all = "not") {
//h2 id="title_laporan" html="Laporan Bulan " + bulan + ", Tahun " + tahun
let title_laporan = document.getElementById('title_laporan');
if (all == 'not') {
title_laporan.innerHTML = "Laporan Bulan " + nama_bulan(bulan) + ", Tahun " + tahun;
try {
sedang_proses();
//create fetch get with basic auth
const response = await fetch('http://localhost/ilham/server/api/laporan?bulan=' + bulan + '&tahun=' + tahun, {
method: 'GET',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Basic ' + btoa('Kicap_karan:bb10c6d9f01ec0cb16726b59e36c2f73')
}
});
//get response json
const json = await response.json();
// console.log(json)
if (response.status == 200) {
// console.log(json)
let data = json.data;
//destroy table id=table_laporan
if (data.length == 0) {
title_laporan.innerHTML = "Tiada Laporan Bulan " + nama_bulan(bulan) + ", Tahun " + tahun;
}
await $('#table_laporan').DataTable().destroy();
await $('#table_laporan').DataTable({
data: data,
columns: [{
data: 'waktu'
},
{
data: 'status'
},
null,
null,
null,
],
destroy: true,
"columnDefs": [{
"targets": [0],
// "visible": false,
}],
"order": [
[0, 'asc']
],
// paging: false,
"aoColumnDefs": [
{
"aTargets": [5],
"mData": null,
"mRender": function (data, type, row, meta) {
let datanya = JSON.parse(data.ket);
// console.log(datanya)
let returnnya;
if (data.status == "Penambahan Produk Baru") {
returnnya = `Kode Produk : ${datanya.kode_barang}<br>Nama : ${datanya.nama}<br>Stok : ${datanya.jumlah}<br>Harga Pembelian Stok : Rp. ${datanya.pembelian_stok}<br>Harga Jual : Rp. ${datanya.harga_jual}`
} else if (data.status == "Penambahan Stok") {
returnnya = `Penambahan Stok : ${datanya.penambahan_stok}<br>Harga Pembelian Stok : Rp. ${datanya.harga_pembelian_stok}<br>Jumlah Stok Sebelumnya: ${datanya.jumlah_stok_sebelumnya}<br>Jumlah Stok Sekarang: ${datanya.total_stok}`
} else if (data.status == "Edit Detail Produk") {
let nama = (datanya.nama_lama == datanya.nama_baru) ? '' : 'Nama : ' + datanya.nama_lama + ' => ' + datanya.nama_baru;
let harga = (datanya.harga_lama == datanya.harga_baru) ? '' : 'Harga : Rp. ' + datanya.harga_lama + ' => Rp. ' + datanya.harga_baru;
let foto = (datanya.foto_lama == datanya.foto_baru) ? '' : 'Foto : ' + datanya.foto_lama + ' => ' + datanya.foto_baru;
returnnya = nama + ((harga != '') ? '<br>' : '') + harga + ((foto != '') ? '<br>' : '') + foto;
} else if (data.status == "Penjualan Produk") {
returnnya = `<button class="btn btn-primary btn-sm text-center"
onclick="info_penjualan(${data.no_log})">Info Penjualan</button>`
}
return returnnya;
}
}, {
"aTargets": [2],
"mData": 'kode_barang',
"mRender": function (data, type, row, meta) {
return data;
}
}, {
"aTargets": [3],
"mData": null,
"mRender": function (data, type, row, meta) {
let datanya = JSON.parse(data.ket);
// console.log(datanya)
let returnnya;
if (data.status == "Penambahan Stok") {
returnnya = datanya.jumlah_stok_sebelumnya
} else if (data.status == "Edit Detail Produk" || data.status == "Penjualan Produk" || data.status == "Penambahan Produk Baru") {
returnnya = '-'
}
return returnnya;
}
}, {
"aTargets": [4],
"mData": null,
"mRender": function (data, type, row, meta) {
let datanya = JSON.parse(data.ket);
// console.log(datanya)
let returnnya;
if (data.status == "Penambahan Produk Baru") {
returnnya = datanya.jumlah
} else if (data.status == "Penambahan Stok") {
returnnya = datanya.total_stok
} else if (data.status == "Edit Detail Produk" || data.status == "Penjualan Produk") {
returnnya = '-'
}
return returnnya;
}
}
]
});
} else {
swal({
icon: 'error',
title: 'Gagal',
text: 'Silahkan Coba Lagi',
timer: 2000,
button: false
})
}
$.unblockUI();
}
catch (err) {
$.unblockUI();
swal({
icon: 'error',
title: 'Gagal',
text: 'Silahkan Coba Lagi',
timer: 2000,
button: false
})
}
}
else if (all == 'all') {
title_laporan.innerHTML = "Laporan Keseluruhan ";
try {
sedang_proses();
//create fetch get with basic auth
const response = await fetch('http://localhost/ilham/server/api/laporan?bulan=' + bulan + '&tahun=' + tahun, {
method: 'GET',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Basic ' + btoa('Kicap_karan:bb10c6d9f01ec0cb16726b59e36c2f73')
}
});
//get response json
const json = await response.json();
// console.log(json)
if (response.status == 200) {
// console.log(json)
let data = json.data;
//destroy table id=table_laporan
await $('#table_laporan').DataTable().destroy();
$('#table_laporan').DataTable({
"processing": true,
"serverSide": true,
"ajax": {
"url": "http://localhost/ilham/server/",
"type": "POST",
data: { proses: 'get_laporan' },
},
"columnDefs": [
{
"targets": [2, 3, 4, 5],
"orderable": false,
},
],
});
} else {
swal({
icon: 'error',
title: 'Gagal',
text: 'Silahkan Coba Lagi',
timer: 2000,
button: false
})
}
$.unblockUI();
}
catch (err) {
$.unblockUI();
swal({
icon: 'error',
title: 'Gagal',
text: 'Silahkan Coba Lagi',
timer: 2000,
button: false
})
}
}
}
laporan_umum();
function filter_laporan(stat) {
console.log(stat)
if (stat == 'not') {
// create letiables bulan = input id="select_bulan" and tahun = input id="select_tahun"
let bulan = document.getElementById('select_bulan').value;
let tahun = document.getElementById('select_tahun').value;
// console.log(bulan)
// console.log(tahun)
//if bulan and tahun is not null or not empty or not undefined
if (bulan != '' && tahun != '' && bulan != 'null') {
laporan_umum(bulan, tahun, "not");
} else {
//create toastr error position on center top with 2 sec text ="Bulan dan Tahun Harus Dipilih" and focus to select_tahun
toastr.error('Bulan dan Tahun Harus Dipilih', '', {
"positionClass": "toast-top-center",
"closeButton": true,
"progressBar": true,
"preventDuplicates": true,
"showEasing": "swing",
"hideEasing": "linear",
"showMethod": "fadeIn",
"hideMethod": "fadeOut",
"timeOut": 2000
});
$('#select_tahun').focus();
}
}
else if (stat == 'all') {
laporan_umum(null, null, 'all')
}
}
async function info_penjualan(id) {
try {
sedang_proses();
//create fetch get with basic auth
const response = await fetch('http://localhost/ilham/server/api/laporan_detail?id=' + id, {
method: 'GET',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Basic ' + btoa('Kicap_karan:bb10c6d9f01ec0cb16726b59e36c2f73')
}
});
//get response json
const json = await response.json();
// console.log(json)
if (response.status == 200) {
console.log(json)
let data = json.data
// input id=waktu =data.waktu
let json_ket = JSON.parse(data.ket);
console.log(json_ket)
// input id=total =data.total_belanja
// input id=pembayaran =data.pembayaran
// input id=baki =data.baki
document.getElementById('waktu').value = data.waktu;
document.getElementById('total').value = json_ket.total_belanja;
document.getElementById('pembayaran').value = json_ket.pembayaran;
document.getElementById('baki').value = json_ket.baki;
await $('#table_penjualan').DataTable().destroy();
await $('#table_penjualan').DataTable({
data: json_ket.ket,
columns: [
null,
{
data: 'kode_barang'
},
{
data: 'jumlah'
},
null,
null,
],
destroy: true,
"columnDefs": [{
"targets": [0],
// "visible": false,
}],
"order": [
[0, 'asc']
],
// paging: false,
"aoColumnDefs": [
{
"aTargets": [0],
"mData": null,
"mRender": function (data, type, row, meta) {
// console.log(meta.settings)
return meta.row + 1;
}
}, {
"aTargets": [3],
"mData": null,
"mRender": function (data, type, row, meta) {
return 'Rp. ' + data.harga_jual;
}
}, {
"aTargets": [4],
"mData": null,
"mRender": function (data, type, row, meta) {
return 'Rp. ' + add_comma(data.total);
}
}
]
});
//open modal id=modal_info_penjualan
$('#modal_info_penjualan').modal('show');
} else {
swal({
icon: 'error',
title: 'Gagal',
text: 'Silahkan Coba Lagi',
timer: 2000,
button: false
})
}
$.unblockUI();
}
catch (err) {
$.unblockUI();
swal({
icon: 'error',
title: 'Gagal',
text: 'Silahkan Coba Lagi',
timer: 2000,
button: false
})
}
}
async function update_laporan_server() {
//create swal with 2 button "Update" and Tidak, if click "Update" then console.log('ok') else console.log('cancel')
swal({
title: '',
text: "Data Laporan Akan Diperbaharui",
icon: 'info',
buttons: true,
dangerMode: false,
}).then(async (willDelete) => {
if (willDelete) {
//
try {
sedang_proses();
//create fetch get with basic auth
const response = await fetch('http://localhost/ilham/server/api/update_laporan', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Basic ' + btoa('Kicap_karan:bb10c6d9f01ec0cb16726b59e36c2f73')
}
});
//get response json
const json = await response.json();
// console.log(json)
if (response.status == 200) {
// console.log(json)
if(json.stat == "already"){
swal({
icon: 'info',
title: 'Info',
text: 'Data Laporan Sudah Diperbaharui',
timer: 2000,
button: false
})
}else if(json.stat == "success"){
swal({
icon: 'success',
title: 'Berhasil',
text: 'Data Laporan Berhasil Diperbaharui',
timer: 2000,
button: false
})
}
} else {
swal({
icon: 'error',
title: 'Gagal',
text: 'Silahkan Coba Lagi',
timer: 2000,
button: false
})
}
$.unblockUI();
} catch (err) {
$.unblockUI();
swal({
icon: 'error',
title: 'Gagal',
text: 'Silahkan Coba Lagi',
timer: 2000,
button: false
})
}
} else {
// console.log('cancel')
}
});
}
</script>
</body>
</html>

View File

@ -28,6 +28,12 @@
<!-- MAIN CSS -->
<link rel="stylesheet" href="assets/css/main.css">
<link rel="stylesheet" href="assets/css/color_skins.css">
<style>
/* put swal text on center */
.swal-text {
text-align: center;
}
</style>
</head>
<body class="theme-cyan">
@ -50,7 +56,7 @@
<div class="navbar-left">
<div class="navbar-btn">
<a href="index.html"><img src="template_assets/images/icon-light.svg" alt="HexaBit Logo"
<a href="admin_index.html"><img src="template_assets/images/icon-light.svg" alt="HexaBit Logo"
class="img-fluid logo"></a>
<button type="button" class="btn-toggle-offcanvas"><i
class="lnr lnr-menu fa fa-bars"></i></button>
@ -100,7 +106,7 @@
<div id="left-sidebar" class="sidebar">
<div class="navbar-brand">
<a href="index.html"><img src="template_assets/images/icon-light.svg" alt="HexaBit Logo"
<a href="admin_index.html"><img src="template_assets/images/icon-light.svg" alt="HexaBit Logo"
class="img-fluid logo"><span>Kicap Karan</span></a>
<button type="button" class="btn-toggle-offcanvas btn btn-sm btn-default float-right"><i
class="lnr lnr-menu fa fa-chevron-circle-left"></i></button>
@ -126,7 +132,7 @@
</div>
<nav id="left-sidebar-nav" class="sidebar-nav">
<ul id="main-menu" class="metismenu">
<li><a href="index.html"><i class=" icon-basket-loaded"></i><span>Halaman
<li><a href="admin_index.html"><i class=" icon-basket-loaded"></i><span>Halaman
Penjualan</span></a></li>
<li><a href="penambahan_produk.html"><i class="fa fa-edit"></i><span>Produk Baru</span></a></li>
<li class="active"><a href="list_produk.html"><i class=" icon-list"></i><span>List
@ -149,7 +155,7 @@
</div>
<div class="col-md-6 col-sm-12 text-right">
<ul class="breadcrumb">
<li class="breadcrumb-item"><a href="index.html"><i class="icon-home"></i></a></li>
<li class="breadcrumb-item"><a href="admin_index.html"><i class="icon-home"></i></a></li>
<li class="breadcrumb-item active">Halaman List Produk</li>
</ul>
</div>
@ -175,9 +181,10 @@
</ul>
</div>
<div class="body">
<div class="table-responsive">
<div class="table-responsive" style="overflow-x: auto;">
<table
class="table table-bordered table-hover js-basic-example dataTable table-custom">
class="table table-bordered table-hover js-basic-example dataTable table-custom"
id="table_produk">
<thead>
<tr>
<th>Kode</th>
@ -188,100 +195,7 @@
</tr>
</thead>
<tbody>
<tr>
<td>A4567</td>
<td>Adidas Merah</td>
<td>15</td>
<td>Rp. 50,000</td>
<td>
<button class="btn btn-sm round btn-outline-primary"
data-toggle="modal" data-target="#exampleModal"
title="Tambah Stok Produk">
<span class="sr-only"></span>
<i class="fa fa-edit"></i>
</button>
&nbsp;
<a class="example-image-link"
href="template_assets/images/baju/contoh_baju.jpg"
data-lightbox="example-1">
<button class="btn btn-sm round btn-outline-success"
title="Lihat Foto Produk">
<span class="sr-only"></span>
<i class="fa fa-file-image-o"></i>
</button>
</a>
<button class="btn btn-sm round btn-outline-info"
data-toggle="modal" data-target="#exampleModal1"
title="Lihat Laporan Produk">
<span class="sr-only"></span>
<i class="fa fa-list"></i>
</button>
</td>
</tr>
<tr>
<td>A5678</td>
<td>Adidas Putih</td>
<td>15</td>
<td>Rp. 50,000</td>
<td>
<button class="btn btn-sm round btn-outline-primary"
data-toggle="modal" data-target="#exampleModal"
title="Tambah Stok Produk">
<span class="sr-only"></span>
<i class="fa fa-edit"></i>
</button>
&nbsp;
<a class="example-image-link"
href="template_assets/images/baju/contoh_baju.jpg"
data-lightbox="example-1">
<button class="btn btn-sm round btn-outline-success"
title="Lihat Foto Produk">
<span class="sr-only"></span>
<i class="fa fa-file-image-o"></i>
</button>
</a>
<button class="btn btn-sm round btn-outline-info"
data-toggle="modal" data-target="#exampleModal1"
title="Lihat Laporan Produk">
<span class="sr-only"></span>
<i class="fa fa-list"></i>
</button>
</td>
</tr>
<tr>
<td>A6789</td>
<td>Adidas Hijau</td>
<td>15</td>
<td>Rp. 50,000</td>
<td>
<button class="btn btn-sm round btn-outline-primary"
data-toggle="modal" data-target="#exampleModal"
title="Tambah Stok Produk">
<span class="sr-only"></span>
<i class="fa fa-edit"></i>
</button>
&nbsp;
<a class="example-image-link"
href="template_assets/images/baju/contoh_baju.jpg"
data-lightbox="example-1">
<button class="btn btn-sm round btn-outline-success"
title="Lihat Foto Produk">
<span class="sr-only"></span>
<i class="fa fa-file-image-o"></i>
</button>
</a>
<button class="btn btn-sm round btn-outline-info"
data-toggle="modal" data-target="#exampleModal1"
title="Lihat Laporan Produk">
<span class="sr-only"></span>
<i class="fa fa-list"></i>
</button>
</td>
</tr>
</tbody>
</table>
</div>
</div>
@ -296,7 +210,7 @@
</div>
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
<div class="modal fade" id="modal_tambah_stok" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
@ -308,46 +222,109 @@
</div>
<div class="modal-body">
<div class="form-group text-center">
<img src="template_assets/images/baju/contoh_baju.jpg" alt="" width="150px" height="200px">
<img src="template_assets/images/baju/contoh_baju.jpg" id="foto_produk" alt="" width="150px"
height="200px">
</div>
<div class="form-group">
<label for="">Kode</label>
<input type="text" class="form-control" value="A4567" disabled>
<input type="text" class="form-control" value="A4567" id="kode_barang" disabled>
</div>
<div class="form-group">
<label for="">Nama</label>
<input type="text" class="form-control" value="Adidas Merah" disabled>
<input type="text" class="form-control" value="Adidas Merah" id="nama" disabled>
</div>
<div class="form-group">
<label for="">Harga</label>
<input type="text" class="form-control" value="Rp 50,000" disabled>
<input type="text" class="form-control" value="Rp 50,000" id="harga" disabled>
</div>
<div class="form-group">
<label for="">Jumlah Stok Sekarang</label>
<input type="text" class="form-control" placeholder="15" disabled>
<input type="text" class="form-control" placeholder="15" id="jumlah" disabled>
</div>
<div class="form-group">
<label for="">Penambahan Stok</label>
<input type="text" class="form-control" placeholder="Masukkan Jumlah Penambahan Stok">
<input type="text" class="form-control" placeholder="Masukkan Jumlah Penambahan Stok"
id="input_jumlah_penambahan_stok" onkeypress="return isNumberKey(event)" maxlength="4"
oninput="penambahan_stok(value)">
</div>
<div class="form-group">
<label for="">Harga Pembelian Penambahan Stok</label>
<input type="text" class="form-control" placeholder="Masukkan Harga Pembelian Penambahan Stok">
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text">Rp.</span>
</div>
<input type="text" class="form-control" placeholder="Masukkan Harga Pembelian Stok"
id="harga_pembelian_stok" maxlength="10">
</div>
</div>
<div class="form-group">
<label for="">Total Stok</label>
<input type="text" class="form-control" value="25" disabled>
<label for="">Total Stok Terbaru</label>
<input type="text" class="form-control" value="25" id="total_stok" disabled>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" onclick="tambah_stok()">Tambah Stok</button>
<button type="button" class="btn btn-primary" id="button_tambah_stok" onclick="tambah_stok()">Tambah
Stok</button>
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="exampleModal1" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
<div class="modal fade" id="modal_edit_detail_produk" tabindex="-1" role="dialog"
aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Edit Detail Produk</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<div class="form-group text-center">
<img src="template_assets/images/baju/contoh_baju.jpg" id="foto_produk_detail" alt=""
width="150px" height="200px">
</div>
<div class="form-group">
<label for="">Foto Baru <i style="font-size: 10px;">(Kosongkan Jika Tidak Ingin Menganti
Foto)</i></label>
<input type="file" class="form-control" id="foto">
</div>
<div class="form-group">
<label for="">Kode</label>
<input type="text" class="form-control" value="A4567" id="kode_barang_detail" disabled>
</div>
<div class="form-group">
<label for="">Nama</label>
<input type="text" class="form-control" value="Adidas Merah" id="nama_detail">
</div>
<div class="form-group">
<label for="">Harga</label>
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text">Rp.</span>
</div>
<input type="text" class="form-control" placeholder="Masukkan Harga Jual Produk"
id="harga_detail" maxlength="10">
</div>
</div>
<div class="form-group">
<label for="">Jumlah Stok Sekarang</label>
<input type="text" class="form-control" placeholder="15" id="jumlah_detail" disabled>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" id="button_edit_detail">Edit Detail Produk</button>
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="modal_cek_laporan" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
aria-hidden="true">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
@ -359,31 +336,45 @@
</div>
<div class="modal-body">
<div class="form-group text-center">
<img src="template_assets/images/baju/contoh_baju.jpg" alt="" width="150px" height="200px">
<img src="template_assets/images/baju/contoh_baju.jpg" alt="" id="foto_laporan" width="150px"
height="200px">
</div>
<div class="form-group">
<label for="">Kode</label>
<input type="text" class="form-control" value="A4567" disabled>
<input type="text" class="form-control" value="A4567" id="kode_laporan" disabled>
</div>
<div class="form-group">
<label for="">Nama</label>
<input type="text" class="form-control" value="Adidas Merah" disabled>
<input type="text" class="form-control" value="Adidas Merah" id="nama_laporan" disabled>
</div>
<div class="form-group">
<label for="">Harga Jual</label>
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text">Rp.</span>
</div>
<input type="text" class="form-control" placeholder="Masukkan Harga Pembelian Stok"
id="harga_laporan" maxlength="10" disabled>
</div>
</div>
<div class="form-group">
<label for="">Jumlah Stok Sekarang</label>
<input type="text" class="form-control" placeholder="15" id="jumlah_laporan" disabled>
</div>
<hr>
<div class="form-group">
<div class="table-responsive">
<table class="table table-bordered table-hover js-basic-example dataTable table-custom">
<table class="table table-bordered table-hover js-basic-example dataTable table-custom"
id="table_laporan">
<thead>
<tr>
<th>Tanggal</th>
<th>Status</th>
<th>Stok Sebelumnya</th>
<th>Stok Terkini</th>
<th>Keterangan</th>
</tr>
</thead>
<tbody>
<!-- <tbody>
<tr>
<td>Rabu | 21-10-2021</td>
<td>Penjualan</td>
@ -420,7 +411,7 @@
Kembalian : Rp. 25,000
</td>
</tr>
</tbody>
</tbody> -->
</table>
</div>
</div>
@ -451,15 +442,443 @@
<script src="assets/bundles/datatablescripts.bundle.js"></script>
<script src="template_assets/vendor/jquery-datatable/buttons/dataTables.buttons.min.js"></script>
<script src="template_assets/vendor/jquery-datatable/buttons/buttons.bootstrap4.min.js"></script>
<script src="assets/block/jquery.blockUI.js"></script>
<script src="main.js"></script>
<script>
//datatable class table
$(document).ready(function () {
$('.table').DataTable();
});
document.getElementById("foto").onchange = function () {
let foto_produk = document.getElementById('foto').files[0];
check_file(foto_produk)
}
var stok_terkini;
//cretae a datatable on class table and get data from ajax
function datatables_produk() {
$('#table_produk').DataTable({
"processing": true,
"serverSide": true,
"ajax": {
"url": "http://localhost/ilham/server/",
"type": "POST",
data: { proses: 'get_produk' },
},
"columnDefs": [
{
"targets": [4],
"orderable": false,
},
],
});
}
datatables_produk()
//sudden changes delete it
async function cek_stok_produk(id) {
console.log(id);
document.getElementById('input_jumlah_penambahan_stok').value = '';
document.getElementById('harga_pembelian_stok').value = '';
//create try catch
try {
//create fetch get
let response = await fetch('http://localhost/ilham/server/api/get_produk?id=' + id, {
method: 'GET',
headers: {
'Authorization': 'Basic ' + btoa('Kicap_karan:bb10c6d9f01ec0cb16726b59e36c2f73')
},
});
//create json
let data = await response.json();
console.log(data);
// img id foto_produk src=data.data.foto
document.getElementById('foto_produk').src = `http://localhost/ilham/server/img/${data.data.no_barang}/${data.data.foto}`;
document.getElementById('kode_barang').value = data.data.kode_barang;
document.getElementById('nama').value = data.data.nama;
document.getElementById('harga').value = data.data.harga_jual;
document.getElementById('jumlah').value = data.data.jumlah;
document.getElementById('total_stok').value = data.data.jumlah;
stok_terkini = data.data.jumlah
//button id=button_tambah_stok onclick=tambah_stok(data.data.no_barang)
document.getElementById('button_tambah_stok').onclick = function () {
tambah_stok(data.data.no_barang, data.data.jumlah);
}
// open modal id exampleModal
$('#modal_tambah_stok').modal('show');
let elem = document.getElementById("harga_pembelian_stok");
elem.addEventListener("keydown", function (event) {
var key = event.which;
if ((key < 48 || key > 57) && key != 8) event.preventDefault();
});
elem.addEventListener("keyup", function (event) {
var value = this.value.replace(/,/g, "");
this.dataset.currentValue = parseInt(value);
var caret = value.length - 1;
while ((caret - 3) > -1) {
caret -= 3;
value = value.split('');
value.splice(caret + 1, 0, ",");
value = value.join('');
}
this.value = value;
});
}
catch (err) {
console.log(err);
}
}
function penambahan_stok(val) {
let jumlah = parseInt(val) + parseInt(stok_terkini)
//input id total_stok value=jumlah
document.getElementById('total_stok').value = jumlah;
console.log(jumlah)
}
async function tambah_stok(id, jumlah_sebelumnya) {
// check if input id=input_jumlah_penambahan_stok is empty then toastr warning "Jumlah Penambahan Stok Tidak Boleh Kosong" and focus on id=input_jumlah_penambahan_stok else if input id=harga_pembelian_stok is empty then toastr warning "Harga Pembelian Tidak Boleh Kosong" and focus on id=harga_pembelian_stok else console.log("ok")
if (document.getElementById('input_jumlah_penambahan_stok').value == '') {
toastr.warning('Jumlah Penambahan Stok Tidak Boleh Kosong');
document.getElementById('input_jumlah_penambahan_stok').focus();
} else if (document.getElementById('harga_pembelian_stok').value == '') {
toastr.warning('Harga Pembelian Tidak Boleh Kosong');
document.getElementById('harga_pembelian_stok').focus();
} else {
console.log(id)
console.log(jumlah_sebelumnya)
//create swal info text "Yakin ingin menambahkan stok?", with 2 button Ya and Tidak, if Ya then console.log("ok") else if Tidak then console.log("cancel")
swal({
title: "Info",
text: "Yakin Menambah Stok Produk?",
icon: "info",
buttons: {
cancel: {
text: "Tidak",
visible: true,
closeModal: true,
},
ok: {
text: "Ya",
closeModal: true,
visible: true,
value: true,
className: "bg-success",
closeModal: true,
closeOnClick: true
}
}
}).then(async (value) => {
if (value) {
//create try catch
try {
sedang_proses()
//create fetch post
// create let variable data and set it to object
let data_to_db = {
penambahan_stok: document.getElementById('input_jumlah_penambahan_stok').value,
harga_pembelian_stok: document.getElementById('harga_pembelian_stok').value,
total_stok: document.getElementById('total_stok').value,
jumlah_stok_sebelumnya: jumlah_sebelumnya,
bertanggungjawab: localStorage.getItem('no_user')
}
let response = await fetch('http://localhost/ilham/server/api/tambah_stok', {
method: 'PUT',
headers: {
'Authorization': 'Basic ' + btoa('Kicap_karan:bb10c6d9f01ec0cb16726b59e36c2f73'),
'Content-Type': 'application/json'
},
body: JSON.stringify({
id: id,
data: data_to_db
})
});
//create json
let data = await response.json();
console.log(data);
//if response status == 200 then swal success "Berhasil Menambahkan Stok" and close modal
if (response.status == 200) {
$.unblockUI();
swal({
title: "Berhasil Menambahkan Stok",
text: (data.stat == 'success') ? "Laporan Berhasil Terkirim Ke Server Online" : "Laporan Gagal Terkirim Ke Server Online",
icon: "success",
button: "OK",
});
$('#modal_tambah_stok').modal('hide');
// destroy table id=table_produk
$('#table_produk').DataTable().destroy();
datatables_produk()
} else {
$.unblockUI();
swal({
icon: 'error',
title: 'Gagal',
text: 'Silahkan Coba Lagi',
timer: 2000,
button: false
})
}
}
catch (err) {
$.unblockUI();
console.log(err);
swal({
icon: 'error',
title: 'Gagal',
text: 'Silahkan Coba Lagi',
timer: 2000,
button: false
})
}
}
})
}
}
async function cek_detail_barang(id) {
document.getElementById('foto').value=null
try {
sedang_proses()
//create fetch get
let response = await fetch('http://localhost/ilham/server/api/get_produk?id=' + id, {
method: 'GET',
headers: {
'Authorization': 'Basic ' + btoa('Kicap_karan:bb10c6d9f01ec0cb16726b59e36c2f73')
},
});
//create json
let data = await response.json();
console.log(data);
// img id foto_produk src=data.data.foto
document.getElementById('foto_produk_detail').src = `http://localhost/ilham/server/img/${data.data.no_barang}/${data.data.foto}`;
document.getElementById('kode_barang_detail').value = data.data.kode_barang;
document.getElementById('nama_detail').value = data.data.nama;
document.getElementById('harga_detail').value = data.data.harga_jual;
document.getElementById('jumlah_detail').value = data.data.jumlah;
document.getElementById('button_edit_detail').onclick = function () {
edit_detail(data.data.no_barang, `${data.data.nama}`, `${data.data.harga_jual}`, `${data.data.foto}`);
}
let elem = [document.getElementById("harga_detail")];
input_numbers_comma(elem)
$.unblockUI();
// open modal id exampleModal
$('#modal_edit_detail_produk').modal('show');
}
catch (err) {
$.unblockUI();
swal({
icon: 'error',
title: 'Gagal',
text: 'Silahkan Coba Lagi',
timer: 2000,
button: false
})
}
// console.log(id)
//show modal id modal_edit_detail_produk
}
async function edit_detail(id, nama_lama, harga_lama, foto_lama) {
let foto_produk = document.getElementById('foto').files[0];
let nama = document.getElementById('nama_detail').value;
let harga = document.getElementById('harga_detail').value;
//if nama = '' or null or undefined then toastr.warning "Nama Produk Tidak Boleh Kosong" focus id nama_detail, else if harga = '' or null or undefined then toastr.warning "Harga Tidak Boleh Kosong" focus id harga_detail, else if nama == nama_lama or harga == harga_lama then toastr.warning "Tidak Ada Perubahan" focus id nama_detail else console.log("ok")
if (nama == '' || nama == null || nama == undefined) {
toastr.warning('Nama Produk Tidak Boleh Kosong');
document.getElementById('nama_detail').focus();
} else if (harga == '' || harga == null || harga == undefined) {
toastr.warning('Harga Tidak Boleh Kosong');
document.getElementById('harga_detail').focus();
} else if (nama == nama_lama && harga == harga_lama && foto_produk == null) {
toastr.warning('Tidak Ada Perubahan');
document.getElementById('nama_detail').focus();
} else {
//create swal info text "Yakin ingin mengubah detail produk?", with 2 button Ya and Tidak, if Ya then console.log("ok") else if Tidak then console.log("cancel")
swal({
title: "Info",
text: "Yakin Mengubah Detail Produk?",
icon: "info",
buttons: {
cancel: {
text: "Tidak",
visible: true,
closeModal: true,
},
ok: {
text: "Ya",
closeModal: true,
visible: true,
value: true,
className: "bg-success",
closeModal: true,
closeOnClick: true
}
}
}).then(async (value) => {
if (value) {
sedang_proses()
//create let variable data_form = new FormData()
let data_form = new FormData();
data_form.append('id', id);
data_form.append('foto', (foto_produk == null || foto_produk == undefined || foto_produk == "") ? null : foto_produk);
data_form.append('cek_foto', (foto_produk == null || foto_produk == undefined || foto_produk == "") ? 'tiada' : 'ada');
let data_to_db = {
nama_lama: nama_lama,
nama_baru: nama,
harga_lama: harga_lama,
harga_baru: harga,
foto_lama: foto_lama,
foto_baru: (foto_produk == null || foto_produk == undefined || foto_produk == "") ? foto_lama : foto_produk.name,
bertanggungjawab: localStorage.getItem('no_user')
}
data_form.append('data', JSON.stringify(data_to_db));
//create try catch
try {
//create fetch post
// create let variable data and set it to object
let response = await fetch('http://localhost/ilham/server/api/edit_detail_produk', {
method: 'POST',
headers: {
'Authorization': 'Basic ' + btoa('Kicap_karan:bb10c6d9f01ec0cb16726b59e36c2f73'),
// 'Content-Type': 'application/json'
},
body: data_form
});
//create json
let data = await response.json();
console.log(data);
//if response status == 200 then swal success "Berhasil Mengubah Detail Produk" and close modal
if (response.status == 200) {
$.unblockUI()
swal({
title: "Berhasil Mengubah Detail Produk",
text: (data.stat == 'success') ? "Laporan Berhasil Terkirim Ke Server Online" : "Laporan Gagal Terkirim Ke Server Online",
icon: "success",
button: "OK",
});
$('#modal_edit_detail_produk').modal('hide');
// destroy table id=table_produk
$('#table_produk').DataTable().destroy();
datatables_produk()
} else {
$.unblockUI()
swal({
title: "Gagal Mengubah Detail Produk",
icon: "Silahkan Coba Lagi",
button: "OK",
});
}
}
catch (err) {
console.log(err);
$.unblockUI()
swal({
title: "Gagal Mengubah Detail Produk",
icon: "Silahkan Coba Lagi",
button: "OK",
});
}
}
})
}
}
async function cek_laporan(id) {
console.log(id)
//open modal id modal_cek_laporan
try {
sedang_proses()
//create fetch get
let response = await fetch('http://localhost/ilham/server/api/get_produk?id=' + id, {
method: 'GET',
headers: {
'Authorization': 'Basic ' + btoa('Kicap_karan:bb10c6d9f01ec0cb16726b59e36c2f73')
},
});
//create json
let data = await response.json();
console.log(data);
// img id foto_produk src=data.data.foto
document.getElementById('foto_laporan').src = `http://localhost/ilham/server/img/${data.data.no_barang}/${data.data.foto}`;
document.getElementById('kode_laporan').value = data.data.kode_barang;
document.getElementById('nama_laporan').value = data.data.nama;
document.getElementById('harga_laporan').value = data.data.harga_jual;
document.getElementById('jumlah_laporan').value = data.data.jumlah;
//destroy table id=table_laporan
await $('#table_laporan').DataTable().destroy();
// call function datatables_laporan(data.data.no_barang)
await datatables_laporan(data.data.no_barang)
// open modal id exampleModal
$('#modal_cek_laporan').modal('show');
$.unblockUI();
}
catch (err) {
console.log(err)
$.unblockUI();
swal({
icon: 'error',
title: 'Gagal',
text: 'Silahkan Coba Lagi',
timer: 2000,
button: false
})
}
// $('#modal_cek_laporan').modal('show');
}
function datatables_laporan(id) {
$('#table_laporan').DataTable({
"processing": true,
"serverSide": true,
"ajax": {
"url": "http://localhost/ilham/server/",
"type": "POST",
data: {
proses: 'get_produk_laporan',
id: id
},
},
"columnDefs": [
{
"targets": [2],
"orderable": false,
},
],
"order": [[ 0, "desc" ]]
});
}
</script>
</body>

View File

@ -61,35 +61,81 @@ function check_file(file) {
}
}
const elem =[document.getElementById("harga_jual"),document.getElementById("harga_pembelian_stok")] ;
const elem = [document.getElementById("harga_jual"), document.getElementById("harga_pembelian_stok")];
for (let i = 0; i < elem.length; i++) {
let elem1 = elem[i]
elem1.addEventListener("keydown", function (event) {
var key = event.which;
if ((key < 48 || key > 57) && key != 8) event.preventDefault();
});
elem1.addEventListener("keyup", function (event) {
var value = this.value.replace(/,/g, "");
this.dataset.currentValue = parseInt(value);
var caret = value.length - 1;
while ((caret - 3) > -1) {
caret -= 3;
value = value.split('');
value.splice(caret + 1, 0, ",");
value = value.join('');
function input_numbers_comma(elem) {
for (let i = 0; i < elem.length; i++) {
let elem1 = elem[i]
if (elem1) {
elem1.addEventListener("keydown", function (event) {
var key = event.which;
if ((key < 48 || key > 57) && key != 8) event.preventDefault();
});
elem1.addEventListener("keyup", function (event) {
var value = this.value.replace(/,/g, "");
this.dataset.currentValue = parseInt(value);
var caret = value.length - 1;
while ((caret - 3) > -1) {
caret -= 3;
value = value.split('');
value.splice(caret + 1, 0, ",");
value = value.join('');
}
this.value = value;
});
}
this.value = value;
});
}
}
input_numbers_comma(elem)
function isNumberKey(evt){
function isNumberKey(evt) {
var charCode = (evt.which) ? evt.which : evt.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57 ))
return false;
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;
return true;
// console.log(evt.key)
}
function sedang_proses() {
$.blockUI({
message: "Sedang Diproses",
css: {
border: 'none',
padding: '15px',
backgroundColor: '#000',
'-webkit-border-radius': '10px',
'-moz-border-radius': '10px',
opacity: .5,
color: '#fff'
}
});
}
// sedang_proses()
// create function remove_comma from number
function remove_comma(no) {
//create let variable no = no.replace(/,/g, '')
let number = no.replace(/,/g, '')
return number
}
// create function add_comma thousand separator to number
function add_comma(no) {
//create let variable no = no.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")
let number = no.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")
return number
}
//function nama bulan berdasarkan angka
function nama_bulan(no) {
let bulan = ['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember']
return bulan[no - 1] //return bulan[no - 1]
}

View File

@ -26,6 +26,12 @@
<!-- MAIN CSS -->
<link rel="stylesheet" href="assets/css/main.css">
<link rel="stylesheet" href="assets/css/color_skins.css">
<style>
/* put swal text on center */
.swal-text {
text-align: center;
}
</style>
</head>
<body class="theme-cyan">
@ -48,7 +54,7 @@
<div class="navbar-left">
<div class="navbar-btn">
<a href="index.html"><img src="template_assets/images/icon-light.svg" alt="HexaBit Logo"
<a href="admin_index.html"><img src="template_assets/images/icon-light.svg" alt="HexaBit Logo"
class="img-fluid logo"></a>
<button type="button" class="btn-toggle-offcanvas"><i
class="lnr lnr-menu fa fa-bars"></i></button>
@ -98,7 +104,7 @@
<div id="left-sidebar" class="sidebar">
<div class="navbar-brand">
<a href="index.html"><img src="template_assets/images/icon-light.svg" alt="HexaBit Logo"
<a href="admin_index.html"><img src="template_assets/images/icon-light.svg" alt="HexaBit Logo"
class="img-fluid logo"><span>Kicap Karan</span></a>
<button type="button" class="btn-toggle-offcanvas btn btn-sm btn-default float-right"><i
class="lnr lnr-menu fa fa-chevron-circle-left"></i></button>
@ -124,7 +130,7 @@
</div>
<nav id="left-sidebar-nav" class="sidebar-nav">
<ul id="main-menu" class="metismenu">
<li><a href="index.html"><i class=" icon-basket-loaded"></i><span>Halaman
<li><a href="admin_index.html"><i class=" icon-basket-loaded"></i><span>Halaman
Penjualan</span></a></li>
<li class="active"><a href="penambahan_produk.html"><i class="fa fa-edit"></i><span>
Produk Baru</span></a></li>
@ -147,7 +153,7 @@
</div>
<div class="col-md-6 col-sm-12 text-right">
<ul class="breadcrumb">
<li class="breadcrumb-item"><a href="index.html"><i class="icon-home"></i></a></li>
<li class="breadcrumb-item"><a href="admin_index.html"><i class="icon-home"></i></a></li>
<li class="breadcrumb-item active">Halaman Penambahan Produk Baru</li>
</ul>
</div>
@ -165,8 +171,8 @@
<div class="body">
<div class="form-group">
<label>Foto Produk</label>
<input type="file" class="form-control" id="foto" placeholder="Masukkan Kode Produk"
on>
<input type="file" class="form-control" id="foto"
placeholder="Masukkan Kode Produk">
</div>
<div class="form-group">
<label>Kode Produk</label>
@ -242,6 +248,7 @@
<script src="assets/js/index.js"></script>
<script src="assets/dist/js/lightbox.min.js"></script>
<script src="template_assets/vendor/sweetalert/sweetalert.js"></script>
<script src="assets/block/jquery.blockUI.js"></script>
<script src="main.js"></script>
<script>
@ -281,35 +288,133 @@
} else {
//create let variable data = json all data
let data_all = {
kode_produk: kode_produk,
nama_produk: nama_produk,
harga_produk: harga_produk,
jumlah_stok: jumlah_stok,
pembelian_stok: pembelian_stok
foto: foto_produk.name,
kode_barang: kode_produk,
nama: nama_produk,
harga_jual: harga_produk,
jumlah: jumlah_stok,
pembelian_stok: pembelian_stok,
bertanggungjawab: localStorage.getItem('no_user')
}
//create try catch
try {
// create let variable data = new FormData()
let data = new FormData()
data.append('foto', foto_produk)
data.append('data', JSON.stringify(data_all))
//create fetch with headers basic auth and body
let response = await fetch('http://localhost/ilham/server/api/tambah_produk', {
method: 'POST',
headers: {
// 'Content-Type': 'application/json',
'Authorization': 'Basic ' + btoa('Kicap_karan:bb10c6d9f01ec0cb16726b59e36c2f73')
},
body: data
})
//create swal "Yakin Ingin Menambahkan Produk Baru?" with button ok and cancel
swal({
title: "",
text: "Yakin Ingin Menambahkan Produk Baru?",
icon: "info",
buttons: true,
dangerMode: false,
}).then( async (willDelete) => {
if (willDelete) {
//create try catch
try {
// sedang_proses()
// create let variable data = new FormData()
let data = new FormData()
data.append('foto', foto_produk)
data.append('data', JSON.stringify(data_all))
//create fetch with headers basic auth and body
let response = await fetch('http://localhost/ilham/server/api/tambah_produk', {
method: 'POST',
headers: {
// 'Content-Type': 'application/json',
'Authorization': 'Basic ' + btoa('Kicap_karan:bb10c6d9f01ec0cb16726b59e36c2f73')
},
body: data
})
// if response status == 200 console.log('ok') else if response status == 400 console.log('gagal')
if (response.status == 200) {
$.unblockUI();
console.log('ok')
//create let variable response = await response.json()
let response_json = await response.json()
console.log(response_json.stat)
//create swal with title "Sukses" and text "Produk Baru Berhasil Ditambahkan\n Sila Tekan Ok untuk ke halaman 'List Produk'" with ok button that redirect to list_produk.html and cancel button that close swal and do nothing
swal({
title: "Sukses",
text: "Produk Baru Berhasil Ditambahkan\n"+(response_json.stat == 'success') ? "Laporan Berhasil Terkirim Ke Server Online": "Laporan Gagal Terkirim Ke Server Online"+"\n Sila Tekan Ok untuk ke halaman 'List Produk'",
icon: "success",
buttons: {
cancel: {
text: "Tutup",
visible: true,
closeModal: true,
},
ok: {
text: "Ok",
closeModal: true,
visible: true,
value: true,
className: "bg-success",
closeModal: true,
closeOnClick: true
}
}
}).then((value) => {
if (value) {
window.location.href = 'list_produk.html'
}
})
//set all input to empty
document.getElementById('foto').value = null
document.getElementById('kode_barang').value = ''
document.getElementById('nama').value = ''
document.getElementById('harga_jual').value = ''
document.getElementById('jumlah').value = ''
document.getElementById('harga_pembelian_stok').value = ''
} else if (response.status == 400) {
$.unblockUI();
//create swal with title 'gagal' and text 'Kode Produk Sudah Ada' with timer 1500 and no ok button
swal({
icon: 'error',
title: 'Gagal',
text: 'Kode Produk Sudah Ada',
timer: 2000,
button: false
})
//focus on kode_produk
document.getElementById('kode_barang').focus()
}
} catch (err) {
$.unblockUI();
//create swal with title 'Error' and text 'Terjadi Kesalahan \n Sila Refresh Halaman Dengan Button 'OK'' , ok button refresh page and cancel button close swal and do nothing
swal({
icon: 'error',
title: 'Error',
text: 'Terjadi Kesalahan \n Sila Refresh Halaman Dengan Button OK',
buttons: {
cancel: {
text: "Tutup",
visible: true,
closeModal: true,
},
ok: {
text: "Ok",
closeModal: true,
visible: true,
value: true,
className: "bg-success",
closeModal: true,
closeOnClick: true
}
}
}).then((value) => {
if (value) {
window.location.href = 'list_produk.html'
}
})
console.log(err)
}
}
});
//create let variable response = await response.json()
let response_json = await response.json()
console.log(response_json)
} catch (err) {
console.log(err)
}
}