feat: calendar and statistics in overview page
This commit is contained in:
parent
46261e7412
commit
0bd398b3a0
@ -3,13 +3,61 @@
|
||||
namespace App\Http\Controllers\Dashboard;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Cooperation;
|
||||
use App\Models\Media;
|
||||
use App\Models\Order;
|
||||
use App\Models\User;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
class OverviewController extends Controller
|
||||
{
|
||||
public function index(){
|
||||
return view('dashboard.overview.index', [
|
||||
'title' => 'Ikhtisar',
|
||||
]);
|
||||
|
||||
$data = [
|
||||
'title' => 'Ikhtisar'
|
||||
];
|
||||
|
||||
if(is_role(['3'])){
|
||||
$mediaId = Auth::user()->company->media->id;
|
||||
$media = Media::with('cooperations')->findOrFail($mediaId);
|
||||
$user = User::with(['announcements'])->find(Auth::id());
|
||||
|
||||
// Data pengumuman
|
||||
$data['announcements'] = $user->announcements()
|
||||
->where(function ($query) {
|
||||
$query->where('announcements_users.category', '=', 'general');
|
||||
})
|
||||
->get();
|
||||
|
||||
// Data pengajuan kerjasama
|
||||
$data['cooperationRequests'] = $media->cooperations()
|
||||
->where(function ($query) {
|
||||
$query->where('media_cooperations.status', '=', '0');
|
||||
})
|
||||
->get();
|
||||
|
||||
// Data Kerjasama
|
||||
$data['cooperationMedia'] = $media->cooperations->filter(function ($cooperation) use ($mediaId){
|
||||
return $cooperation->proposals->where('status', 1)->where('media_id', $mediaId)->isNotEmpty();
|
||||
});
|
||||
|
||||
// Data media order
|
||||
$data['mediaOrders'] = $media->orders()
|
||||
->where(function ($query) {
|
||||
$query->where('media_orders.status', '=', '1');
|
||||
})
|
||||
->get();
|
||||
|
||||
}else if(is_role(['1'])){
|
||||
// Data pengajuan kerjasama
|
||||
$data['cooperationRequests'] = Cooperation::all();
|
||||
|
||||
// Data media order
|
||||
$data['mediaOrders'] = Order::with(['cooperation'])->get();
|
||||
|
||||
}
|
||||
|
||||
return view('dashboard.overview.index', $data);
|
||||
}
|
||||
}
|
||||
|
||||
@ -11,6 +11,7 @@
|
||||
<div class="nk-block-head-content">
|
||||
<h3 class="nk-block-title page-title">Ikhtisar</h3>
|
||||
</div><!-- .nk-block-head-content -->
|
||||
{{-- {{dd($cooperationRequests)}} --}}
|
||||
<div class="nk-block-head-content">
|
||||
<div class="toggle-wrap nk-block-tools-toggle">
|
||||
<a href="#" class="btn btn-icon btn-trigger toggle-expand me-n1" data-target="pageMenu"><em class="icon ni ni-more-v"></em></a>
|
||||
@ -18,17 +19,9 @@
|
||||
<ul class="nk-block-tools g-3">
|
||||
<li>
|
||||
<div class="drodown">
|
||||
<a href="#" class="dropdown-toggle btn btn-white btn-dim btn-outline-light" data-bs-toggle="dropdown"><em class="d-none d-sm-inline icon ni ni-calender-date"></em><span><span class="d-none d-md-inline">Last</span> 30 Days</span><em class="dd-indc icon ni ni-chevron-right"></em></a>
|
||||
<div class="dropdown-menu dropdown-menu-end">
|
||||
<ul class="link-list-opt no-bdr">
|
||||
<li><a href="#"><span>Last 30 Days</span></a></li>
|
||||
<li><a href="#"><span>Last 6 Months</span></a></li>
|
||||
<li><a href="#"><span>Last 1 Years</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<a href="javascript:void(0);" class="btn btn-white btn-dim btn-outline-light"><em class="d-none d-sm-inline icon ni ni-calender-date"></em><span>{{idn_date(now(), 'l, d F Y')}}</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nk-block-tools-opt"><a href="#" class="btn btn-primary"><em class="icon ni ni-reports"></em><span>Reports</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@ -37,136 +30,44 @@
|
||||
</div><!-- .nk-block-head -->
|
||||
<div class="nk-block">
|
||||
<div class="row g-gs">
|
||||
<div class="col-xxl-3 col-sm-6">
|
||||
<div class="card">
|
||||
<div class="nk-ecwg nk-ecwg6">
|
||||
<div class="card-inner">
|
||||
<div class="card-title-group">
|
||||
<div class="col-xxl-3 col-md-6">
|
||||
<div class="card card-full overflow-hidden">
|
||||
<div class="nk-ecwg nk-ecwg7 h-100">
|
||||
<div class="card-inner flex-grow-1">
|
||||
<div class="card-title-group mb-4">
|
||||
<div class="card-title">
|
||||
<h6 class="title">Today Orders</h6>
|
||||
<h6 class="title">Statistik Isu</h6>
|
||||
</div>
|
||||
</div>
|
||||
<div class="data">
|
||||
<div class="data-group">
|
||||
<div class="amount">1,945</div>
|
||||
<div class="nk-ecwg6-ck">
|
||||
<canvas class="ecommerce-line-chart-s3" id="todayOrders"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><span class="change up text-danger"><em class="icon ni ni-arrow-long-up"></em>4.63%</span><span> vs. last week</span></div>
|
||||
<div class="nk-ecwg7-ck">
|
||||
<canvas class="ecommerce-doughnut-s1" id="issueStatistics"></canvas>
|
||||
</div>
|
||||
</div><!-- .card-inner -->
|
||||
</div><!-- .nk-ecwg -->
|
||||
</div><!-- .card -->
|
||||
</div><!-- .col -->
|
||||
<div class="col-xxl-3 col-sm-6">
|
||||
<div class="card">
|
||||
<div class="nk-ecwg nk-ecwg6">
|
||||
<div class="card-inner">
|
||||
<div class="card-title-group">
|
||||
<div class="card-title">
|
||||
<h6 class="title">Today Revenue</h6>
|
||||
</div>
|
||||
</div>
|
||||
<div class="data">
|
||||
<div class="data-group">
|
||||
<div class="amount">$2,338</div>
|
||||
<div class="nk-ecwg6-ck">
|
||||
<canvas class="ecommerce-line-chart-s3" id="todayRevenue"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><span class="change down text-danger"><em class="icon ni ni-arrow-long-down"></em>2.34%</span><span> vs. last week</span></div>
|
||||
</div>
|
||||
</div><!-- .card-inner -->
|
||||
</div><!-- .nk-ecwg -->
|
||||
</div><!-- .card -->
|
||||
</div><!-- .col -->
|
||||
<div class="col-xxl-3 col-sm-6">
|
||||
<div class="card">
|
||||
<div class="nk-ecwg nk-ecwg6">
|
||||
<div class="card-inner">
|
||||
<div class="card-title-group">
|
||||
<div class="card-title">
|
||||
<h6 class="title">Today Customers</h6>
|
||||
</div>
|
||||
</div>
|
||||
<div class="data">
|
||||
<div class="data-group">
|
||||
<div class="amount">847</div>
|
||||
<div class="nk-ecwg6-ck">
|
||||
<canvas class="ecommerce-line-chart-s3" id="todayCustomers"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><span class="change up text-danger"><em class="icon ni ni-arrow-long-up"></em>4.63%</span><span> vs. last week</span></div>
|
||||
</div>
|
||||
</div><!-- .card-inner -->
|
||||
</div><!-- .nk-ecwg -->
|
||||
</div><!-- .card -->
|
||||
</div><!-- .col -->
|
||||
<div class="col-xxl-3 col-sm-6">
|
||||
<div class="card">
|
||||
<div class="nk-ecwg nk-ecwg6">
|
||||
<div class="card-inner">
|
||||
<div class="card-title-group">
|
||||
<div class="card-title">
|
||||
<h6 class="title">Today Visitors</h6>
|
||||
</div>
|
||||
</div>
|
||||
<div class="data">
|
||||
<div class="data-group">
|
||||
<div class="amount">23,485</div>
|
||||
<div class="nk-ecwg6-ck">
|
||||
<canvas class="ecommerce-line-chart-s3" id="todayVisitors"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"><span class="change down text-danger"><em class="icon ni ni-arrow-long-down"></em>2.34%</span><span> vs. last week</span></div>
|
||||
</div>
|
||||
</div><!-- .card-inner -->
|
||||
</div><!-- .nk-ecwg -->
|
||||
</div><!-- .card -->
|
||||
</div><!-- .col -->
|
||||
<div class="col-xxl-6">
|
||||
<div class="card card-full">
|
||||
<div class="nk-ecwg nk-ecwg8 h-100">
|
||||
<div class="card-inner">
|
||||
<div class="card-title-group mb-3">
|
||||
<div class="card-title">
|
||||
<h6 class="title">Sales Statistics</h6>
|
||||
</div>
|
||||
<div class="card-tools">
|
||||
<div class="dropdown">
|
||||
<a href="#" class="dropdown-toggle link link-light link-sm dropdown-indicator" data-bs-toggle="dropdown">Weekly</a>
|
||||
<div class="dropdown-menu dropdown-menu-sm dropdown-menu-end">
|
||||
<ul class="link-list-opt no-bdr">
|
||||
<li><a href="#"><span>Daily</span></a></li>
|
||||
<li><a href="#" class="active"><span>Weekly</span></a></li>
|
||||
<li><a href="#"><span>Monthly</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="nk-ecwg8-legends">
|
||||
<ul class="nk-ecwg7-legends">
|
||||
<li>
|
||||
<div class="title">
|
||||
<span class="dot dot-lg sq" data-bg="#6576ff"></span>
|
||||
<span>Total Order</span>
|
||||
<span class="dot dot-lg sq" data-bg="#FE4F2D"></span>
|
||||
<span>Krisis</span>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="title">
|
||||
<span class="dot dot-lg sq" data-bg="#eb6459"></span>
|
||||
<span>Cancelled Order</span>
|
||||
<span class="dot dot-lg sq" data-bg="#E50046"></span>
|
||||
<span>Negatif</span>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="title">
|
||||
<span class="dot dot-lg sq" data-bg="#5CB338"></span>
|
||||
<span>Netral</span>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="title">
|
||||
<span class="dot dot-lg sq" data-bg="#3572EF"></span>
|
||||
<span>Positif</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="nk-ecwg8-ck">
|
||||
<canvas class="ecommerce-line-chart-s4" id="salesStatistics"></canvas>
|
||||
</div>
|
||||
<div class="chart-label-group ps-5">
|
||||
<div class="chart-label">01 Jul, 2020</div>
|
||||
<div class="chart-label">30 Jul, 2020</div>
|
||||
</div>
|
||||
</div><!-- .card-inner -->
|
||||
</div>
|
||||
</div><!-- .card -->
|
||||
@ -177,29 +78,53 @@
|
||||
<div class="card-inner flex-grow-1">
|
||||
<div class="card-title-group mb-4">
|
||||
<div class="card-title">
|
||||
<h6 class="title">Order Statistics</h6>
|
||||
<h6 class="title">Statistik Kanal Monitoring Media</h6>
|
||||
</div>
|
||||
</div>
|
||||
<div class="nk-ecwg7-ck">
|
||||
<canvas class="ecommerce-doughnut-s1" id="orderStatistics"></canvas>
|
||||
<canvas class="ecommerce-doughnut-s1" id="mediaMonitoringStatistics"></canvas>
|
||||
</div>
|
||||
<ul class="nk-ecwg7-legends">
|
||||
<li>
|
||||
<div class="title">
|
||||
<span class="dot dot-lg sq" data-bg="#816bff"></span>
|
||||
<span>Completed</span>
|
||||
<span class="dot dot-lg sq" data-bg="#1877F2"></span>
|
||||
<span>Facebook</span>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="title">
|
||||
<span class="dot dot-lg sq" data-bg="#13c9f2"></span>
|
||||
<span>Processing</span>
|
||||
<span class="dot dot-lg sq" data-bg="#1DA1F2"></span>
|
||||
<span>Twitter</span>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="title">
|
||||
<span class="dot dot-lg sq" data-bg="#ff82b7"></span>
|
||||
<span>Cancelled</span>
|
||||
<span class="dot dot-lg sq" data-bg="#28A745"></span>
|
||||
<span>Website</span>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="title">
|
||||
<span class="dot dot-lg sq" data-bg="#FF0000"></span>
|
||||
<span>YouTube</span>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="title">
|
||||
<span class="dot dot-lg sq" data-bg="#E4405F"></span>
|
||||
<span>Instagram</span>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="title">
|
||||
<span class="dot dot-lg sq" data-bg="#00F2EA"></span>
|
||||
<span>TikTok</span>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="title">
|
||||
<span class="dot dot-lg sq" data-bg="#333333"></span>
|
||||
<span>Cetak</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
@ -208,281 +133,95 @@
|
||||
</div><!-- .card -->
|
||||
</div><!-- .col -->
|
||||
<div class="col-xxl-3 col-md-6">
|
||||
<div class="card h-100">
|
||||
<div class="card-inner">
|
||||
<div class="card-title-group mb-2">
|
||||
<div class="card-title">
|
||||
<h6 class="title">Store Statistics</h6>
|
||||
<div class="card card-full overflow-hidden">
|
||||
<div class="nk-ecwg nk-ecwg7 h-100">
|
||||
<div class="card-inner flex-grow-1">
|
||||
<div class="card-title-group mb-4">
|
||||
<div class="card-title">
|
||||
<h6 class="title">Statistik Media Order</h6>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="nk-store-statistics">
|
||||
<li class="item">
|
||||
<div class="info">
|
||||
<div class="title">Orders</div>
|
||||
<div class="count">1,795</div>
|
||||
</div>
|
||||
<em class="icon bg-primary-dim ni ni-bag"></em>
|
||||
</li>
|
||||
<li class="item">
|
||||
<div class="info">
|
||||
<div class="title">Customers</div>
|
||||
<div class="count">2,327</div>
|
||||
</div>
|
||||
<em class="icon bg-info-dim ni ni-users"></em>
|
||||
</li>
|
||||
<li class="item">
|
||||
<div class="info">
|
||||
<div class="title">Products</div>
|
||||
<div class="count">674</div>
|
||||
</div>
|
||||
<em class="icon bg-pink-dim ni ni-box"></em>
|
||||
</li>
|
||||
<li class="item">
|
||||
<div class="info">
|
||||
<div class="title">Categories</div>
|
||||
<div class="count">68</div>
|
||||
</div>
|
||||
<em class="icon bg-purple-dim ni ni-server"></em>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- .card-inner -->
|
||||
<div class="nk-ecwg7-ck">
|
||||
<canvas class="ecommerce-doughnut-s1" id="mediaOrderStatistics"></canvas>
|
||||
</div>
|
||||
<ul class="nk-ecwg7-legends">
|
||||
<li>
|
||||
<div class="title">
|
||||
<span class="dot dot-lg sq" data-bg="#FFB200"></span>
|
||||
<span>Menunggu</span>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="title">
|
||||
<span class="dot dot-lg sq" data-bg="#4F75FF"></span>
|
||||
<span>Diterima</span>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="title">
|
||||
<span class="dot dot-lg sq" data-bg="#E50046"></span>
|
||||
<span>Ditolak</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- .card-inner -->
|
||||
</div>
|
||||
</div><!-- .card -->
|
||||
</div><!-- .col -->
|
||||
<div class="col-xxl-8">
|
||||
<div class="card card-full">
|
||||
<div class="card-inner">
|
||||
<div class="card-title-group">
|
||||
<div class="card-title">
|
||||
<h6 class="title">Recent Orders</h6>
|
||||
<div class="col-xxl-3 col-md-6">
|
||||
<div class="card card-full overflow-hidden">
|
||||
<div class="nk-ecwg nk-ecwg7 h-100">
|
||||
<div class="card-inner flex-grow-1">
|
||||
<div class="card-title-group mb-4">
|
||||
<div class="card-title">
|
||||
<h6 class="title">Statistik Kanal Rekap Konten</h6>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="nk-ecwg7-ck">
|
||||
<canvas class="ecommerce-doughnut-s1" id="recapContentChannelStatistics"></canvas>
|
||||
</div>
|
||||
<ul class="nk-ecwg7-legends">
|
||||
<li>
|
||||
<div class="title">
|
||||
<span class="dot dot-lg sq" data-bg="#1877F2"></span>
|
||||
<span>Facebook</span>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="title">
|
||||
<span class="dot dot-lg sq" data-bg="#E4405F"></span>
|
||||
<span>Instagram</span>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="title">
|
||||
<span class="dot dot-lg sq" data-bg="#00F2EA"></span>
|
||||
<span>TikTok</span>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="title">
|
||||
<span class="dot dot-lg sq" data-bg="#1DA1F2"></span>
|
||||
<span>Twitter</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- .card-inner -->
|
||||
</div>
|
||||
<div class="nk-tb-list mt-n2">
|
||||
<div class="nk-tb-item nk-tb-head">
|
||||
<div class="nk-tb-col"><span>Order No.</span></div>
|
||||
<div class="nk-tb-col tb-col-sm"><span>Customer</span></div>
|
||||
<div class="nk-tb-col tb-col-md"><span>Date</span></div>
|
||||
<div class="nk-tb-col"><span>Amount</span></div>
|
||||
<div class="nk-tb-col"><span class="d-none d-sm-inline">Status</span></div>
|
||||
</div>
|
||||
<div class="nk-tb-item">
|
||||
<div class="nk-tb-col">
|
||||
<span class="tb-lead"><a href="#">#95954</a></span>
|
||||
</div>
|
||||
<div class="nk-tb-col tb-col-sm">
|
||||
<div class="user-card">
|
||||
<div class="user-avatar sm bg-purple-dim">
|
||||
<span>AB</span>
|
||||
</div>
|
||||
<div class="user-name">
|
||||
<span class="tb-lead">Abu Bin Ishtiyak</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="nk-tb-col tb-col-md">
|
||||
<span class="tb-sub">02/11/2020</span>
|
||||
</div>
|
||||
<div class="nk-tb-col">
|
||||
<span class="tb-sub tb-amount">4,596.75 <span>USD</span></span>
|
||||
</div>
|
||||
<div class="nk-tb-col">
|
||||
<span class="badge badge-dot badge-dot-xs bg-success">Paid</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="nk-tb-item">
|
||||
<div class="nk-tb-col">
|
||||
<span class="tb-lead"><a href="#">#95850</a></span>
|
||||
</div>
|
||||
<div class="nk-tb-col tb-col-sm">
|
||||
<div class="user-card">
|
||||
<div class="user-avatar sm bg-azure-dim">
|
||||
<span>DE</span>
|
||||
</div>
|
||||
<div class="user-name">
|
||||
<span class="tb-lead">Desiree Edwards</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="nk-tb-col tb-col-md">
|
||||
<span class="tb-sub">02/02/2020</span>
|
||||
</div>
|
||||
<div class="nk-tb-col">
|
||||
<span class="tb-sub tb-amount">596.75 <span>USD</span></span>
|
||||
</div>
|
||||
<div class="nk-tb-col">
|
||||
<span class="badge badge-dot badge-dot-xs bg-danger">Cancelled</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="nk-tb-item">
|
||||
<div class="nk-tb-col">
|
||||
<span class="tb-lead"><a href="#">#95812</a></span>
|
||||
</div>
|
||||
<div class="nk-tb-col tb-col-sm">
|
||||
<div class="user-card">
|
||||
<div class="user-avatar sm bg-warning-dim">
|
||||
<img src="./images/avatar/b-sm.jpg" alt="">
|
||||
</div>
|
||||
<div class="user-name">
|
||||
<span class="tb-lead">Blanca Schultz</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="nk-tb-col tb-col-md">
|
||||
<span class="tb-sub">02/01/2020</span>
|
||||
</div>
|
||||
<div class="nk-tb-col">
|
||||
<span class="tb-sub tb-amount">199.99 <span>USD</span></span>
|
||||
</div>
|
||||
<div class="nk-tb-col">
|
||||
<span class="badge badge-dot badge-dot-xs bg-success">Paid</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="nk-tb-item">
|
||||
<div class="nk-tb-col">
|
||||
<span class="tb-lead"><a href="#">#95256</a></span>
|
||||
</div>
|
||||
<div class="nk-tb-col tb-col-sm">
|
||||
<div class="user-card">
|
||||
<div class="user-avatar sm bg-purple-dim">
|
||||
<span>NL</span>
|
||||
</div>
|
||||
<div class="user-name">
|
||||
<span class="tb-lead">Naomi Lawrence</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="nk-tb-col tb-col-md">
|
||||
<span class="tb-sub">01/29/2020</span>
|
||||
</div>
|
||||
<div class="nk-tb-col">
|
||||
<span class="tb-sub tb-amount">1099.99 <span>USD</span></span>
|
||||
</div>
|
||||
<div class="nk-tb-col">
|
||||
<span class="badge badge-dot badge-dot-xs bg-success">Paid</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="nk-tb-item">
|
||||
<div class="nk-tb-col">
|
||||
<span class="tb-lead"><a href="#">#95135</a></span>
|
||||
</div>
|
||||
<div class="nk-tb-col tb-col-sm">
|
||||
<div class="user-card">
|
||||
<div class="user-avatar sm bg-success-dim">
|
||||
<span>CH</span>
|
||||
</div>
|
||||
<div class="user-name">
|
||||
<span class="tb-lead">Cassandra Hogan</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="nk-tb-col tb-col-md">
|
||||
<span class="tb-sub">01/29/2020</span>
|
||||
</div>
|
||||
<div class="nk-tb-col">
|
||||
<span class="tb-sub tb-amount">1099.99 <span>USD</span></span>
|
||||
</div>
|
||||
<div class="nk-tb-col">
|
||||
<span class="badge badge-dot badge-dot-xs bg-warning">Due</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- .card -->
|
||||
</div>
|
||||
<div class="col-xxl-4 col-md-8 col-lg-6">
|
||||
<div class="card h-100">
|
||||
<div class="card-inner">
|
||||
<div class="card-title-group mb-2">
|
||||
<div class="card-title">
|
||||
<h6 class="title">Top products</h6>
|
||||
</div>
|
||||
<div class="card-tools">
|
||||
<div class="dropdown">
|
||||
<a href="#" class="dropdown-toggle link link-light link-sm dropdown-indicator" data-bs-toggle="dropdown">Weekly</a>
|
||||
<div class="dropdown-menu dropdown-menu-sm dropdown-menu-end">
|
||||
<ul class="link-list-opt no-bdr">
|
||||
<li><a href="#"><span>Daily</span></a></li>
|
||||
<li><a href="#" class="active"><span>Weekly</span></a></li>
|
||||
<li><a href="#"><span>Monthly</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="nk-top-products">
|
||||
<li class="item">
|
||||
<div class="thumb">
|
||||
<img src="./images/product/a.png" alt="">
|
||||
</div>
|
||||
<div class="info">
|
||||
<div class="title">Pink Fitness Tracker</div>
|
||||
<div class="price">$99.00</div>
|
||||
</div>
|
||||
<div class="total">
|
||||
<div class="amount">$990.00</div>
|
||||
<div class="count">10 Sold</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="item">
|
||||
<div class="thumb">
|
||||
<img src="./images/product/b.png" alt="">
|
||||
</div>
|
||||
<div class="info">
|
||||
<div class="title">Purple Smartwatch</div>
|
||||
<div class="price">$99.00</div>
|
||||
</div>
|
||||
<div class="total">
|
||||
<div class="amount">$990.00</div>
|
||||
<div class="count">10 Sold</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="item">
|
||||
<div class="thumb">
|
||||
<img src="./images/product/c.png" alt="">
|
||||
</div>
|
||||
<div class="info">
|
||||
<div class="title">Black Smartwatch</div>
|
||||
<div class="price">$99.00</div>
|
||||
</div>
|
||||
<div class="total">
|
||||
<div class="amount">$990.00</div>
|
||||
<div class="count">10 Sold</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="item">
|
||||
<div class="thumb">
|
||||
<img src="./images/product/d.png" alt="">
|
||||
</div>
|
||||
<div class="info">
|
||||
<div class="title">Black Headphones</div>
|
||||
<div class="price">$99.00</div>
|
||||
</div>
|
||||
<div class="total">
|
||||
<div class="amount">$990.00</div>
|
||||
<div class="count">10 Sold</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="item">
|
||||
<div class="thumb">
|
||||
<img src="./images/product/e.png" alt="">
|
||||
</div>
|
||||
<div class="info">
|
||||
<div class="title">iPhone 7 Headphones</div>
|
||||
<div class="price">$99.00</div>
|
||||
</div>
|
||||
<div class="total">
|
||||
<div class="amount">$990.00</div>
|
||||
<div class="count">10 Sold</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- .card-inner -->
|
||||
</div><!-- .card -->
|
||||
</div><!-- .col -->
|
||||
</div><!-- .row -->
|
||||
</div><!-- .nk-block -->
|
||||
<div class="nk-block">
|
||||
<div class="card">
|
||||
<div class="card-inner">
|
||||
<div id="calendar" class="nk-calendar"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- content @e -->
|
||||
@include('partials.dashboard.footer')
|
||||
@include('partials.dashboard.footer', ['overview_page' => true])
|
||||
|
||||
238
resources/views/partials/app/calendars/admin.blade.php
Normal file
238
resources/views/partials/app/calendars/admin.blade.php
Normal file
@ -0,0 +1,238 @@
|
||||
<script>
|
||||
"use strict";
|
||||
|
||||
!function (NioApp, $) {
|
||||
"use strict"; // Variable
|
||||
|
||||
var $win = $(window),
|
||||
$body = $('body'),
|
||||
breaks = NioApp.Break;
|
||||
|
||||
NioApp.Calendar = function () {
|
||||
var today = new Date();
|
||||
var dd = String(today.getDate()).padStart(2, '0');
|
||||
var mm = String(today.getMonth() + 1).padStart(2, '0');
|
||||
var yyyy = today.getFullYear();
|
||||
var tomorrow = new Date(today);
|
||||
tomorrow.setDate(today.getDate() + 1);
|
||||
var t_dd = String(tomorrow.getDate()).padStart(2, '0');
|
||||
var t_mm = String(tomorrow.getMonth() + 1).padStart(2, '0');
|
||||
var t_yyyy = tomorrow.getFullYear();
|
||||
var yesterday = new Date(today);
|
||||
yesterday.setDate(today.getDate() - 1);
|
||||
var y_dd = String(yesterday.getDate()).padStart(2, '0');
|
||||
var y_mm = String(yesterday.getMonth() + 1).padStart(2, '0');
|
||||
var y_yyyy = yesterday.getFullYear();
|
||||
var YM = yyyy + '-' + mm;
|
||||
var YESTERDAY = y_yyyy + '-' + y_mm + '-' + y_dd;
|
||||
var TODAY = yyyy + '-' + mm + '-' + dd;
|
||||
var TOMORROW = t_yyyy + '-' + t_mm + '-' + t_dd;
|
||||
var month = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
|
||||
var calendarEl = document.getElementById('calendar');
|
||||
var eventsEl = document.getElementById('externalEvents');
|
||||
var removeEvent = document.getElementById('removeEvent');
|
||||
var addEventBtn = $('#addEvent');
|
||||
var addEventForm = $('#addEventForm');
|
||||
var addEventPopup = $('#addEventPopup');
|
||||
var updateEventBtn = $('#updateEvent');
|
||||
var editEventForm = $('#editEventForm');
|
||||
var editEventPopup = $('#editEventPopup');
|
||||
var previewEventPopup = $('#previewEventPopup');
|
||||
var deleteEventBtn = $('#deleteEvent');
|
||||
var mobileView = NioApp.Win.width < NioApp.Break.md ? true : false;
|
||||
var calendar = new FullCalendar.Calendar(calendarEl, {
|
||||
timeZone: 'UTC',
|
||||
initialView: mobileView ? 'listWeek' : 'dayGridMonth',
|
||||
themeSystem: 'bootstrap',
|
||||
headerToolbar: {
|
||||
left: 'title prev,next',
|
||||
center: null,
|
||||
right: 'today dayGridMonth,timeGridWeek,timeGridDay,listWeek'
|
||||
},
|
||||
height: 800,
|
||||
contentHeight: 780,
|
||||
aspectRatio: 3,
|
||||
editable: true,
|
||||
droppable: true,
|
||||
views: {
|
||||
dayGridMonth: {
|
||||
dayMaxEventRows: false
|
||||
}
|
||||
},
|
||||
direction: NioApp.State.isRTL ? "rtl" : "ltr",
|
||||
nowIndicator: true,
|
||||
now: TODAY + 'T09:25:00',
|
||||
eventDragStart: function eventDragStart(info) {
|
||||
$('.popover').popover('hide');
|
||||
},
|
||||
eventMouseEnter: function eventMouseEnter(info) {
|
||||
$(info.el).popover({
|
||||
template: '<div class="popover"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',
|
||||
title: info.event._def.title,
|
||||
content: info.event._def.extendedProps.description,
|
||||
placement: 'top'
|
||||
});
|
||||
info.event._def.extendedProps.description ? $(info.el).popover('show') : $(info.el).popover('hide');
|
||||
},
|
||||
eventMouseLeave: function eventMouseLeave(info) {
|
||||
$(info.el).popover('hide');
|
||||
},
|
||||
eventClick: function eventClick(info) {
|
||||
// Get data
|
||||
var title = info.event._def.title;
|
||||
var description = info.event._def.extendedProps.description;
|
||||
var start = info.event._instance.range.start;
|
||||
var startDate = start.getFullYear() + '-' + String(start.getMonth() + 1).padStart(2, '0') + '-' + String(start.getDate()).padStart(2, '0');
|
||||
var startTime = start.toUTCString().split(' ');
|
||||
startTime = startTime[startTime.length - 2];
|
||||
startTime = startTime == '00:00:00' ? '' : startTime;
|
||||
var end = info.event._instance.range.end;
|
||||
var endDate = end.getFullYear() + '-' + String(end.getMonth() + 1).padStart(2, '0') + '-' + String(end.getDate()).padStart(2, '0');
|
||||
var endTime = end.toUTCString().split(' ');
|
||||
endTime = endTime[endTime.length - 2];
|
||||
endTime = endTime == '00:00:00' ? '' : endTime;
|
||||
|
||||
var className = info.event._def.ui.classNames[0].slice(3);
|
||||
|
||||
var eventId = info.event._def.publicId; //Set data in eidt form
|
||||
|
||||
$('#edit-event-title').val(title);
|
||||
$('#edit-event-start-date').val(startDate).datepicker('update');
|
||||
$('#edit-event-end-date').val(endDate).datepicker('update');
|
||||
$('#edit-event-start-time').val(startTime);
|
||||
$('#edit-event-end-time').val(endTime);
|
||||
$('#edit-event-description').val(description);
|
||||
$('#edit-event-theme').val(className);
|
||||
$('#edit-event-theme').trigger('change.select2');
|
||||
editEventForm.attr('data-id', eventId); // Set data in preview
|
||||
|
||||
var previewStart = String(start.getDate()).padStart(2, '0') + ' ' + month[start.getMonth()] + ' ' + start.getFullYear() + (startTime ? ' - ' + to12(startTime) : '');
|
||||
var previewEnd = String(end.getDate()).padStart(2, '0') + ' ' + month[end.getMonth()] + ' ' + end.getFullYear() + (endTime ? ' - ' + to12(endTime) : '');
|
||||
$('#preview-event-title').text(title);
|
||||
$('#preview-event-header').addClass('fc-' + className);
|
||||
$('#preview-event-start').text(previewStart);
|
||||
$('#preview-event-end').text(previewEnd);
|
||||
$('#preview-event-description').text(description);
|
||||
!description ? $('#preview-event-description-check').css('display', 'none') : null;
|
||||
previewEventPopup.modal('show');
|
||||
$('.popover').popover('hide');
|
||||
},
|
||||
events: [
|
||||
@foreach($cooperationRequests as $cm)
|
||||
{
|
||||
id: 'default-event-id-' + Math.floor(Math.random() * 9999999),
|
||||
title: "Pengajuan Kerjasama: {{$cm->name}}",
|
||||
start: "{{idn_date($cm->start_date, 'Y-m-d')}}",
|
||||
end: "{{idn_date(\Carbon\Carbon::parse($cm->end_date)->addDay(), 'Y-m-d')}}",
|
||||
className: "fc-event-info",
|
||||
description: "Periode pengajuan: {{idn_date($cm->start_date, 'd F Y')}} s.d. {{idn_date($cm->end_date, 'd F Y')}}. Mengajukan kepada {{$cm->media->count()}} media."
|
||||
},
|
||||
@endforeach
|
||||
@foreach($mediaOrders as $mo)
|
||||
{
|
||||
id: 'default-event-id-' + Math.floor(Math.random() * 9999999),
|
||||
title: "Media Order Kerjasama: {{$mo->cooperation->name}}",
|
||||
start: "{{idn_date($mo->start_date, 'Y-m-d')}}",
|
||||
end: "{{idn_date(\Carbon\Carbon::parse($mo->end_date)->addDay(), 'Y-m-d')}}",
|
||||
className: "fc-event-primary",
|
||||
description: "Periode kegiatan media order: {{idn_date($mo->start_date, 'd F Y')}} s.d. {{idn_date($mo->end_date, 'd F Y')}}."
|
||||
},
|
||||
@endforeach
|
||||
]
|
||||
});
|
||||
calendar.render(); //Add event
|
||||
|
||||
addEventBtn.on("click", function (e) {
|
||||
e.preventDefault();
|
||||
var eventTitle = $('#event-title').val();
|
||||
var eventStartDate = $('#event-start-date').val();
|
||||
var eventEndDate = $('#event-end-date').val();
|
||||
var eventStartTime = $('#event-start-time').val();
|
||||
var eventEndTime = $('#event-end-time').val();
|
||||
var eventDescription = $('#event-description').val();
|
||||
var eventTheme = $('#event-theme').val();
|
||||
var eventStartTimeCheck = eventStartTime ? 'T' + eventStartTime + 'Z' : '';
|
||||
var eventEndTimeCheck = eventEndTime ? 'T' + eventEndTime + 'Z' : '';
|
||||
console.log(eventStartTime);
|
||||
calendar.addEvent({
|
||||
id: 'added-event-id-' + Math.floor(Math.random() * 9999999),
|
||||
title: eventTitle,
|
||||
start: eventStartDate + eventStartTimeCheck,
|
||||
end: eventEndDate + eventEndTimeCheck,
|
||||
className: "fc-" + eventTheme,
|
||||
description: eventDescription
|
||||
});
|
||||
addEventPopup.modal('hide');
|
||||
});
|
||||
updateEventBtn.on("click", function (e) {
|
||||
e.preventDefault();
|
||||
var eventTitle = $('#edit-event-title').val();
|
||||
var eventStartDate = $('#edit-event-start-date').val();
|
||||
var eventEndDate = $('#edit-event-end-date').val();
|
||||
var eventStartTime = $('#edit-event-start-time').val();
|
||||
var eventEndTime = $('#edit-event-end-time').val();
|
||||
var eventDescription = $('#edit-event-description').val();
|
||||
var eventTheme = $('#edit-event-theme').val();
|
||||
var eventStartTimeCheck = eventStartTime ? 'T' + eventStartTime + 'Z' : '';
|
||||
var eventEndTimeCheck = eventEndTime ? 'T' + eventEndTime + 'Z' : '';
|
||||
var selectEvent = calendar.getEventById(editEventForm[0].dataset.id);
|
||||
selectEvent.remove();
|
||||
calendar.addEvent({
|
||||
id: editEventForm[0].dataset.id,
|
||||
title: eventTitle,
|
||||
start: eventStartDate + eventStartTimeCheck,
|
||||
end: eventEndDate + eventEndTimeCheck,
|
||||
className: "fc-" + eventTheme,
|
||||
description: eventDescription
|
||||
});
|
||||
editEventPopup.modal('hide');
|
||||
});
|
||||
deleteEventBtn.on("click", function (e) {
|
||||
e.preventDefault();
|
||||
var selectEvent = calendar.getEventById(editEventForm[0].dataset.id);
|
||||
selectEvent.remove();
|
||||
});
|
||||
|
||||
function to12(time) {
|
||||
time = time.toString().match(/^([01]\d|2[0-3])(:)([0-5]\d)(:[0-5]\d)?$/) || [time];
|
||||
|
||||
if (time.length > 1) {
|
||||
time = time.slice(1);
|
||||
time.pop();
|
||||
time[5] = +time[0] < 12 ? ' AM' : ' PM'; // Set AM/PM
|
||||
|
||||
time[0] = +time[0] % 12 || 12;
|
||||
}
|
||||
|
||||
time = time.join('');
|
||||
return time;
|
||||
}
|
||||
|
||||
function customCalSelect(cat) {
|
||||
if (!cat.id) {
|
||||
return cat.text;
|
||||
}
|
||||
|
||||
var $cat = $('<span class="fc-' + cat.element.value + '"> <span class="dot"></span>' + cat.text + '</span>');
|
||||
return $cat;
|
||||
}
|
||||
|
||||
;
|
||||
NioApp.Select2('.select-calendar-theme', {
|
||||
templateResult: customCalSelect
|
||||
});
|
||||
addEventPopup.on('hidden.bs.modal', function (e) {
|
||||
setTimeout(function () {
|
||||
$('#addEventForm input,#addEventForm textarea').val('');
|
||||
$('#event-theme').val('event-primary');
|
||||
$('#event-theme').trigger('change.select2');
|
||||
}, 1000);
|
||||
});
|
||||
previewEventPopup.on('hidden.bs.modal', function (e) {
|
||||
$('#preview-event-header').removeClass().addClass('modal-header');
|
||||
});
|
||||
};
|
||||
|
||||
NioApp.coms.docReady.push(NioApp.Calendar);
|
||||
}(NioApp, jQuery);
|
||||
</script>
|
||||
248
resources/views/partials/app/calendars/media.blade.php
Normal file
248
resources/views/partials/app/calendars/media.blade.php
Normal file
@ -0,0 +1,248 @@
|
||||
<script>
|
||||
"use strict";
|
||||
|
||||
!function (NioApp, $) {
|
||||
"use strict"; // Variable
|
||||
|
||||
var $win = $(window),
|
||||
$body = $('body'),
|
||||
breaks = NioApp.Break;
|
||||
|
||||
NioApp.Calendar = function () {
|
||||
var today = new Date();
|
||||
var dd = String(today.getDate()).padStart(2, '0');
|
||||
var mm = String(today.getMonth() + 1).padStart(2, '0');
|
||||
var yyyy = today.getFullYear();
|
||||
var tomorrow = new Date(today);
|
||||
tomorrow.setDate(today.getDate() + 1);
|
||||
var t_dd = String(tomorrow.getDate()).padStart(2, '0');
|
||||
var t_mm = String(tomorrow.getMonth() + 1).padStart(2, '0');
|
||||
var t_yyyy = tomorrow.getFullYear();
|
||||
var yesterday = new Date(today);
|
||||
yesterday.setDate(today.getDate() - 1);
|
||||
var y_dd = String(yesterday.getDate()).padStart(2, '0');
|
||||
var y_mm = String(yesterday.getMonth() + 1).padStart(2, '0');
|
||||
var y_yyyy = yesterday.getFullYear();
|
||||
var YM = yyyy + '-' + mm;
|
||||
var YESTERDAY = y_yyyy + '-' + y_mm + '-' + y_dd;
|
||||
var TODAY = yyyy + '-' + mm + '-' + dd;
|
||||
var TOMORROW = t_yyyy + '-' + t_mm + '-' + t_dd;
|
||||
var month = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
|
||||
var calendarEl = document.getElementById('calendar');
|
||||
var eventsEl = document.getElementById('externalEvents');
|
||||
var removeEvent = document.getElementById('removeEvent');
|
||||
var addEventBtn = $('#addEvent');
|
||||
var addEventForm = $('#addEventForm');
|
||||
var addEventPopup = $('#addEventPopup');
|
||||
var updateEventBtn = $('#updateEvent');
|
||||
var editEventForm = $('#editEventForm');
|
||||
var editEventPopup = $('#editEventPopup');
|
||||
var previewEventPopup = $('#previewEventPopup');
|
||||
var deleteEventBtn = $('#deleteEvent');
|
||||
var mobileView = NioApp.Win.width < NioApp.Break.md ? true : false;
|
||||
var calendar = new FullCalendar.Calendar(calendarEl, {
|
||||
timeZone: 'UTC',
|
||||
initialView: mobileView ? 'listWeek' : 'dayGridMonth',
|
||||
themeSystem: 'bootstrap',
|
||||
headerToolbar: {
|
||||
left: 'title prev,next',
|
||||
center: null,
|
||||
right: 'today dayGridMonth,timeGridWeek,timeGridDay,listWeek'
|
||||
},
|
||||
height: 800,
|
||||
contentHeight: 780,
|
||||
aspectRatio: 3,
|
||||
editable: true,
|
||||
droppable: true,
|
||||
views: {
|
||||
dayGridMonth: {
|
||||
dayMaxEventRows: false
|
||||
}
|
||||
},
|
||||
direction: NioApp.State.isRTL ? "rtl" : "ltr",
|
||||
nowIndicator: true,
|
||||
now: TODAY + 'T09:25:00',
|
||||
eventDragStart: function eventDragStart(info) {
|
||||
$('.popover').popover('hide');
|
||||
},
|
||||
eventMouseEnter: function eventMouseEnter(info) {
|
||||
$(info.el).popover({
|
||||
template: '<div class="popover"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',
|
||||
title: info.event._def.title,
|
||||
content: info.event._def.extendedProps.description,
|
||||
placement: 'top'
|
||||
});
|
||||
info.event._def.extendedProps.description ? $(info.el).popover('show') : $(info.el).popover('hide');
|
||||
},
|
||||
eventMouseLeave: function eventMouseLeave(info) {
|
||||
$(info.el).popover('hide');
|
||||
},
|
||||
eventClick: function eventClick(info) {
|
||||
// Get data
|
||||
var title = info.event._def.title;
|
||||
var description = info.event._def.extendedProps.description;
|
||||
var start = info.event._instance.range.start;
|
||||
var startDate = start.getFullYear() + '-' + String(start.getMonth() + 1).padStart(2, '0') + '-' + String(start.getDate()).padStart(2, '0');
|
||||
var startTime = start.toUTCString().split(' ');
|
||||
startTime = startTime[startTime.length - 2];
|
||||
startTime = startTime == '00:00:00' ? '' : startTime;
|
||||
var end = info.event._instance.range.end;
|
||||
var endDate = end.getFullYear() + '-' + String(end.getMonth() + 1).padStart(2, '0') + '-' + String(end.getDate()).padStart(2, '0');
|
||||
var endTime = end.toUTCString().split(' ');
|
||||
endTime = endTime[endTime.length - 2];
|
||||
endTime = endTime == '00:00:00' ? '' : endTime;
|
||||
|
||||
var className = info.event._def.ui.classNames[0].slice(3);
|
||||
|
||||
var eventId = info.event._def.publicId; //Set data in eidt form
|
||||
|
||||
$('#edit-event-title').val(title);
|
||||
$('#edit-event-start-date').val(startDate).datepicker('update');
|
||||
$('#edit-event-end-date').val(endDate).datepicker('update');
|
||||
$('#edit-event-start-time').val(startTime);
|
||||
$('#edit-event-end-time').val(endTime);
|
||||
$('#edit-event-description').val(description);
|
||||
$('#edit-event-theme').val(className);
|
||||
$('#edit-event-theme').trigger('change.select2');
|
||||
editEventForm.attr('data-id', eventId); // Set data in preview
|
||||
|
||||
var previewStart = String(start.getDate()).padStart(2, '0') + ' ' + month[start.getMonth()] + ' ' + start.getFullYear() + (startTime ? ' - ' + to12(startTime) : '');
|
||||
var previewEnd = String(end.getDate()).padStart(2, '0') + ' ' + month[end.getMonth()] + ' ' + end.getFullYear() + (endTime ? ' - ' + to12(endTime) : '');
|
||||
$('#preview-event-title').text(title);
|
||||
$('#preview-event-header').addClass('fc-' + className);
|
||||
$('#preview-event-start').text(previewStart);
|
||||
$('#preview-event-end').text(previewEnd);
|
||||
$('#preview-event-description').text(description);
|
||||
!description ? $('#preview-event-description-check').css('display', 'none') : null;
|
||||
previewEventPopup.modal('show');
|
||||
$('.popover').popover('hide');
|
||||
},
|
||||
events: [
|
||||
@foreach($announcements as $announcement)
|
||||
{
|
||||
id: 'default-event-id-' + Math.floor(Math.random() * 9999999),
|
||||
title: "Pengumuman",
|
||||
start: "{{idn_date($announcement->created_at, 'Y-m-d')}}",
|
||||
className: "fc-event-danger-dim",
|
||||
description: "Pengumuman: {{$announcement->headline}}. Selengkapnya Anda bisa baca pada menu pengumuman."
|
||||
},
|
||||
@endforeach
|
||||
@foreach($cooperationRequests as $cm)
|
||||
{
|
||||
id: 'default-event-id-' + Math.floor(Math.random() * 9999999),
|
||||
title: "Ajuan Kerjasama: {{$cm->name}}",
|
||||
start: "{{idn_date($cm->start_date, 'Y-m-d')}}",
|
||||
end: "{{idn_date(\Carbon\Carbon::parse($cm->end_date)->addDay(), 'Y-m-d')}}",
|
||||
className: "fc-event-info",
|
||||
description: "Simedkom mengajukan kerjasama. Periode pengajuan: {{idn_date($cm->start_date, 'd F Y')}} s.d. {{idn_date($cm->end_date, 'd F Y')}}. Selengkapnya lihat pada menu 'Ajuan Kerjasama'."
|
||||
},
|
||||
@endforeach
|
||||
@foreach($mediaOrders as $mo)
|
||||
{
|
||||
id: 'default-event-id-' + Math.floor(Math.random() * 9999999),
|
||||
title: "Media Order Kerjasama: {{$mo->cooperation->name}}",
|
||||
start: "{{idn_date($mo->start_date, 'Y-m-d')}}",
|
||||
end: "{{idn_date(\Carbon\Carbon::parse($mo->end_date)->addDay(), 'Y-m-d')}}",
|
||||
className: "fc-event-primary",
|
||||
description: "Periode kegiatan media order: {{idn_date($mo->start_date, 'd F Y')}} s.d. {{idn_date($mo->end_date, 'd F Y')}}."
|
||||
},
|
||||
@endforeach
|
||||
|
||||
]
|
||||
});
|
||||
calendar.render(); //Add event
|
||||
|
||||
addEventBtn.on("click", function (e) {
|
||||
e.preventDefault();
|
||||
var eventTitle = $('#event-title').val();
|
||||
var eventStartDate = $('#event-start-date').val();
|
||||
var eventEndDate = $('#event-end-date').val();
|
||||
var eventStartTime = $('#event-start-time').val();
|
||||
var eventEndTime = $('#event-end-time').val();
|
||||
var eventDescription = $('#event-description').val();
|
||||
var eventTheme = $('#event-theme').val();
|
||||
var eventStartTimeCheck = eventStartTime ? 'T' + eventStartTime + 'Z' : '';
|
||||
var eventEndTimeCheck = eventEndTime ? 'T' + eventEndTime + 'Z' : '';
|
||||
console.log(eventStartTime);
|
||||
calendar.addEvent({
|
||||
id: 'added-event-id-' + Math.floor(Math.random() * 9999999),
|
||||
title: eventTitle,
|
||||
start: eventStartDate + eventStartTimeCheck,
|
||||
end: eventEndDate + eventEndTimeCheck,
|
||||
className: "fc-" + eventTheme,
|
||||
description: eventDescription
|
||||
});
|
||||
addEventPopup.modal('hide');
|
||||
});
|
||||
updateEventBtn.on("click", function (e) {
|
||||
e.preventDefault();
|
||||
var eventTitle = $('#edit-event-title').val();
|
||||
var eventStartDate = $('#edit-event-start-date').val();
|
||||
var eventEndDate = $('#edit-event-end-date').val();
|
||||
var eventStartTime = $('#edit-event-start-time').val();
|
||||
var eventEndTime = $('#edit-event-end-time').val();
|
||||
var eventDescription = $('#edit-event-description').val();
|
||||
var eventTheme = $('#edit-event-theme').val();
|
||||
var eventStartTimeCheck = eventStartTime ? 'T' + eventStartTime + 'Z' : '';
|
||||
var eventEndTimeCheck = eventEndTime ? 'T' + eventEndTime + 'Z' : '';
|
||||
var selectEvent = calendar.getEventById(editEventForm[0].dataset.id);
|
||||
selectEvent.remove();
|
||||
calendar.addEvent({
|
||||
id: editEventForm[0].dataset.id,
|
||||
title: eventTitle,
|
||||
start: eventStartDate + eventStartTimeCheck,
|
||||
end: eventEndDate + eventEndTimeCheck,
|
||||
className: "fc-" + eventTheme,
|
||||
description: eventDescription
|
||||
});
|
||||
editEventPopup.modal('hide');
|
||||
});
|
||||
deleteEventBtn.on("click", function (e) {
|
||||
e.preventDefault();
|
||||
var selectEvent = calendar.getEventById(editEventForm[0].dataset.id);
|
||||
selectEvent.remove();
|
||||
});
|
||||
|
||||
function to12(time) {
|
||||
time = time.toString().match(/^([01]\d|2[0-3])(:)([0-5]\d)(:[0-5]\d)?$/) || [time];
|
||||
|
||||
if (time.length > 1) {
|
||||
time = time.slice(1);
|
||||
time.pop();
|
||||
time[5] = +time[0] < 12 ? ' AM' : ' PM'; // Set AM/PM
|
||||
|
||||
time[0] = +time[0] % 12 || 12;
|
||||
}
|
||||
|
||||
time = time.join('');
|
||||
return time;
|
||||
}
|
||||
|
||||
function customCalSelect(cat) {
|
||||
if (!cat.id) {
|
||||
return cat.text;
|
||||
}
|
||||
|
||||
var $cat = $('<span class="fc-' + cat.element.value + '"> <span class="dot"></span>' + cat.text + '</span>');
|
||||
return $cat;
|
||||
}
|
||||
|
||||
;
|
||||
NioApp.Select2('.select-calendar-theme', {
|
||||
templateResult: customCalSelect
|
||||
});
|
||||
addEventPopup.on('hidden.bs.modal', function (e) {
|
||||
setTimeout(function () {
|
||||
$('#addEventForm input,#addEventForm textarea').val('');
|
||||
$('#event-theme').val('event-primary');
|
||||
$('#event-theme').trigger('change.select2');
|
||||
}, 1000);
|
||||
});
|
||||
previewEventPopup.on('hidden.bs.modal', function (e) {
|
||||
$('#preview-event-header').removeClass().addClass('modal-header');
|
||||
});
|
||||
};
|
||||
|
||||
NioApp.coms.docReady.push(NioApp.Calendar);
|
||||
}(NioApp, jQuery);
|
||||
</script>
|
||||
818
resources/views/partials/app/overview-statistics.blade.php
Normal file
818
resources/views/partials/app/overview-statistics.blade.php
Normal file
@ -0,0 +1,818 @@
|
||||
<script>
|
||||
"use strict";
|
||||
|
||||
!function (NioApp, $) {
|
||||
"use strict";
|
||||
|
||||
var totalSales = {
|
||||
labels: ["01 Jan", "02 Jan", "03 Jan", "04 Jan", "05 Jan", "06 Jan", "07 Jan", "08 Jan", "09 Jan", "10 Jan", "11 Jan", "12 Jan", "13 Jan", "14 Jan", "15 Jan", "16 Jan", "17 Jan", "18 Jan", "19 Jan", "20 Jan", "21 Jan", "22 Jan", "23 Jan", "24 Jan", "25 Jan", "26 Jan", "27 Jan", "28 Jan", "29 Jan", "30 Jan"],
|
||||
dataUnit: 'Sales',
|
||||
lineTension: .3,
|
||||
datasets: [{
|
||||
label: "Sales",
|
||||
color: "#9d72ff",
|
||||
background: NioApp.hexRGB('#9d72ff', .25),
|
||||
data: [130, 105, 125, 115, 110, 95, 131, 110, 115, 120, 111, 97, 113, 107, 122, 100, 85, 110, 130, 107, 90, 105, 123, 115, 100, 117, 125, 95, 137, 101]
|
||||
}]
|
||||
};
|
||||
var totalOrders = {
|
||||
labels: ["01 Jan", "02 Jan", "03 Jan", "04 Jan", "05 Jan", "06 Jan", "07 Jan", "08 Jan", "09 Jan", "10 Jan", "11 Jan", "12 Jan", "13 Jan", "14 Jan", "15 Jan", "16 Jan", "17 Jan", "18 Jan", "19 Jan", "20 Jan", "21 Jan", "22 Jan", "23 Jan", "24 Jan", "25 Jan", "26 Jan", "27 Jan", "28 Jan", "29 Jan", "30 Jan"],
|
||||
dataUnit: 'Orders',
|
||||
lineTension: .3,
|
||||
datasets: [{
|
||||
label: "Orders",
|
||||
color: "#7de1f8",
|
||||
background: NioApp.hexRGB('#7de1f8', .25),
|
||||
data: [85, 125, 105, 115, 130, 106, 141, 110, 95, 120, 111, 105, 113, 107, 122, 100, 95, 110, 120, 107, 100, 105, 123, 115, 110, 117, 125, 75, 95, 101]
|
||||
}]
|
||||
};
|
||||
var totalCustomers = {
|
||||
labels: ["01 Jan", "02 Jan", "03 Jan", "04 Jan", "05 Jan", "06 Jan", "07 Jan", "08 Jan", "09 Jan", "10 Jan", "11 Jan", "12 Jan", "13 Jan", "14 Jan", "15 Jan", "16 Jan", "17 Jan", "18 Jan", "19 Jan", "20 Jan", "21 Jan", "22 Jan", "23 Jan", "24 Jan", "25 Jan", "26 Jan", "27 Jan", "28 Jan", "29 Jan", "30 Jan"],
|
||||
dataUnit: 'Customers',
|
||||
lineTension: .3,
|
||||
datasets: [{
|
||||
label: "Customers",
|
||||
color: "#83bcff",
|
||||
background: NioApp.hexRGB('#83bcff', .25),
|
||||
data: [92, 105, 125, 85, 110, 106, 131, 105, 110, 115, 135, 105, 120, 85, 122, 100, 125, 110, 120, 125, 85, 105, 123, 115, 90, 117, 125, 100, 95, 65]
|
||||
}]
|
||||
};
|
||||
|
||||
function ecommerceLineS1(selector, set_data) {
|
||||
var $selector = selector ? $(selector) : $('.ecommerce-line-chart-s1');
|
||||
$selector.each(function () {
|
||||
var $self = $(this),
|
||||
_self_id = $self.attr('id'),
|
||||
_get_data = typeof set_data === 'undefined' ? eval(_self_id) : set_data;
|
||||
|
||||
var selectCanvas = document.getElementById(_self_id).getContext("2d");
|
||||
var chart_data = [];
|
||||
|
||||
for (var i = 0; i < _get_data.datasets.length; i++) {
|
||||
chart_data.push({
|
||||
label: _get_data.datasets[i].label,
|
||||
tension: _get_data.lineTension,
|
||||
backgroundColor: _get_data.datasets[i].background,
|
||||
borderWidth: 2,
|
||||
borderColor: _get_data.datasets[i].color,
|
||||
pointBorderColor: 'transparent',
|
||||
pointBackgroundColor: 'transparent',
|
||||
pointHoverBackgroundColor: "#fff",
|
||||
pointHoverBorderColor: _get_data.datasets[i].color,
|
||||
pointBorderWidth: 2,
|
||||
pointHoverRadius: 4,
|
||||
pointHoverBorderWidth: 2,
|
||||
pointRadius: 4,
|
||||
pointHitRadius: 4,
|
||||
data: _get_data.datasets[i].data
|
||||
});
|
||||
}
|
||||
|
||||
var chart = new Chart(selectCanvas, {
|
||||
type: 'line',
|
||||
data: {
|
||||
labels: _get_data.labels,
|
||||
datasets: chart_data
|
||||
},
|
||||
options: {
|
||||
legend: {
|
||||
display: _get_data.legend ? _get_data.legend : false,
|
||||
rtl: NioApp.State.isRTL,
|
||||
labels: {
|
||||
boxWidth: 12,
|
||||
padding: 20,
|
||||
fontColor: '#6783b8'
|
||||
}
|
||||
},
|
||||
maintainAspectRatio: false,
|
||||
tooltips: {
|
||||
enabled: true,
|
||||
rtl: NioApp.State.isRTL,
|
||||
callbacks: {
|
||||
title: function title(tooltipItem, data) {
|
||||
return data['labels'][tooltipItem[0]['index']];
|
||||
},
|
||||
label: function label(tooltipItem, data) {
|
||||
return data.datasets[tooltipItem.datasetIndex]['data'][tooltipItem['index']] + ' ' + _get_data.dataUnit;
|
||||
}
|
||||
},
|
||||
backgroundColor: '#1c2b46',
|
||||
titleFontSize: 10,
|
||||
titleFontColor: '#fff',
|
||||
titleMarginBottom: 4,
|
||||
bodyFontColor: '#fff',
|
||||
bodyFontSize: 10,
|
||||
bodySpacing: 4,
|
||||
yPadding: 6,
|
||||
xPadding: 6,
|
||||
footerMarginTop: 0,
|
||||
displayColors: false
|
||||
},
|
||||
scales: {
|
||||
yAxes: [{
|
||||
display: false,
|
||||
ticks: {
|
||||
beginAtZero: true,
|
||||
fontSize: 12,
|
||||
fontColor: '#9eaecf',
|
||||
padding: 0
|
||||
},
|
||||
gridLines: {
|
||||
color: NioApp.hexRGB("#526484", .2),
|
||||
tickMarkLength: 0,
|
||||
zeroLineColor: NioApp.hexRGB("#526484", .2)
|
||||
}
|
||||
}],
|
||||
xAxes: [{
|
||||
display: false,
|
||||
ticks: {
|
||||
fontSize: 12,
|
||||
fontColor: '#9eaecf',
|
||||
source: 'auto',
|
||||
padding: 0,
|
||||
reverse: NioApp.State.isRTL
|
||||
},
|
||||
gridLines: {
|
||||
color: "transparent",
|
||||
tickMarkLength: 0,
|
||||
zeroLineColor: NioApp.hexRGB("#526484", .2),
|
||||
offsetGridLines: true
|
||||
}
|
||||
}]
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
} // init chart
|
||||
|
||||
|
||||
NioApp.coms.docReady.push(function () {
|
||||
ecommerceLineS1();
|
||||
});
|
||||
var storeVisitors = {
|
||||
labels: ["01 Jan", "02 Jan", "03 Jan", "04 Jan", "05 Jan", "06 Jan", "07 Jan", "08 Jan", "09 Jan", "10 Jan", "11 Jan", "12 Jan", "13 Jan", "14 Jan", "15 Jan", "16 Jan", "17 Jan", "18 Jan", "19 Jan", "20 Jan", "21 Jan", "22 Jan", "23 Jan", "24 Jan", "25 Jan", "26 Jan", "27 Jan", "28 Jan", "29 Jan", "30 Jan"],
|
||||
dataUnit: 'People',
|
||||
lineTension: .1,
|
||||
datasets: [{
|
||||
label: "Current Month",
|
||||
color: "#9d72ff",
|
||||
dash: 0,
|
||||
background: "transparent",
|
||||
data: [4110, 4220, 4810, 5480, 4600, 5670, 6660, 4830, 5590, 5730, 4790, 4950, 5100, 5800, 5950, 5850, 5950, 4450, 4900, 8000, 7200, 7250, 7900, 8950, 6300, 7200, 7250, 7650, 6950, 4750]
|
||||
}]
|
||||
};
|
||||
|
||||
function ecommerceLineS2(selector, set_data) {
|
||||
var $selector = selector ? $(selector) : $('.ecommerce-line-chart-s2');
|
||||
$selector.each(function () {
|
||||
var $self = $(this),
|
||||
_self_id = $self.attr('id'),
|
||||
_get_data = typeof set_data === 'undefined' ? eval(_self_id) : set_data;
|
||||
|
||||
var selectCanvas = document.getElementById(_self_id).getContext("2d");
|
||||
var chart_data = [];
|
||||
|
||||
for (var i = 0; i < _get_data.datasets.length; i++) {
|
||||
chart_data.push({
|
||||
label: _get_data.datasets[i].label,
|
||||
tension: _get_data.lineTension,
|
||||
backgroundColor: _get_data.datasets[i].background,
|
||||
borderWidth: 2,
|
||||
borderDash: _get_data.datasets[i].dash,
|
||||
borderColor: _get_data.datasets[i].color,
|
||||
pointBorderColor: 'transparent',
|
||||
pointBackgroundColor: 'transparent',
|
||||
pointHoverBackgroundColor: "#fff",
|
||||
pointHoverBorderColor: _get_data.datasets[i].color,
|
||||
pointBorderWidth: 2,
|
||||
pointHoverRadius: 4,
|
||||
pointHoverBorderWidth: 2,
|
||||
pointRadius: 4,
|
||||
pointHitRadius: 4,
|
||||
data: _get_data.datasets[i].data
|
||||
});
|
||||
}
|
||||
|
||||
var chart = new Chart(selectCanvas, {
|
||||
type: 'line',
|
||||
data: {
|
||||
labels: _get_data.labels,
|
||||
datasets: chart_data
|
||||
},
|
||||
options: {
|
||||
legend: {
|
||||
display: _get_data.legend ? _get_data.legend : false,
|
||||
rtl: NioApp.State.isRTL,
|
||||
labels: {
|
||||
boxWidth: 12,
|
||||
padding: 20,
|
||||
fontColor: '#6783b8'
|
||||
}
|
||||
},
|
||||
maintainAspectRatio: false,
|
||||
tooltips: {
|
||||
enabled: true,
|
||||
rtl: NioApp.State.isRTL,
|
||||
callbacks: {
|
||||
title: function title(tooltipItem, data) {
|
||||
return data['labels'][tooltipItem[0]['index']];
|
||||
},
|
||||
label: function label(tooltipItem, data) {
|
||||
return data.datasets[tooltipItem.datasetIndex]['data'][tooltipItem['index']];
|
||||
}
|
||||
},
|
||||
backgroundColor: '#1c2b46',
|
||||
titleFontSize: 13,
|
||||
titleFontColor: '#fff',
|
||||
titleMarginBottom: 6,
|
||||
bodyFontColor: '#fff',
|
||||
bodyFontSize: 12,
|
||||
bodySpacing: 4,
|
||||
yPadding: 10,
|
||||
xPadding: 10,
|
||||
footerMarginTop: 0,
|
||||
displayColors: false
|
||||
},
|
||||
scales: {
|
||||
yAxes: [{
|
||||
display: true,
|
||||
position: NioApp.State.isRTL ? "right" : "left",
|
||||
ticks: {
|
||||
fontSize: 12,
|
||||
fontColor: '#9eaecf',
|
||||
padding: 8,
|
||||
stepSize: 2400,
|
||||
display: false
|
||||
},
|
||||
gridLines: {
|
||||
color: NioApp.hexRGB("#526484", .2),
|
||||
tickMarkLength: 0,
|
||||
zeroLineColor: NioApp.hexRGB("#526484", .2)
|
||||
}
|
||||
}],
|
||||
xAxes: [{
|
||||
display: false,
|
||||
ticks: {
|
||||
fontSize: 12,
|
||||
fontColor: '#9eaecf',
|
||||
source: 'auto',
|
||||
padding: 0,
|
||||
reverse: NioApp.State.isRTL
|
||||
},
|
||||
gridLines: {
|
||||
color: "transparent",
|
||||
tickMarkLength: 0,
|
||||
zeroLineColor: 'transparent',
|
||||
offsetGridLines: true
|
||||
}
|
||||
}]
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
} // init chart
|
||||
|
||||
|
||||
NioApp.coms.docReady.push(function () {
|
||||
ecommerceLineS2();
|
||||
});
|
||||
var todayOrders = {
|
||||
labels: ["12AM - 02AM", "02AM - 04AM", "04AM - 06AM", "06AM - 08AM", "08AM - 10AM", "10AM - 12PM", "12PM - 02PM", "02PM - 04PM", "04PM - 06PM", "06PM - 08PM", "08PM - 10PM", "10PM - 12PM"],
|
||||
dataUnit: 'Orders',
|
||||
lineTension: .3,
|
||||
datasets: [{
|
||||
label: "Orders",
|
||||
color: "#854fff",
|
||||
background: "transparent",
|
||||
data: [92, 105, 125, 85, 110, 106, 131, 105, 110, 131, 105, 110]
|
||||
}]
|
||||
};
|
||||
var todayRevenue = {
|
||||
labels: ["12AM - 02AM", "02AM - 04AM", "04AM - 06AM", "06AM - 08AM", "08AM - 10AM", "10AM - 12PM", "12PM - 02PM", "02PM - 04PM", "04PM - 06PM", "06PM - 08PM", "08PM - 10PM", "10PM - 12PM"],
|
||||
dataUnit: 'Orders',
|
||||
lineTension: .3,
|
||||
datasets: [{
|
||||
label: "Revenue",
|
||||
color: "#33d895",
|
||||
background: "transparent",
|
||||
data: [92, 105, 125, 85, 110, 106, 131, 105, 110, 131, 105, 110]
|
||||
}]
|
||||
};
|
||||
var todayCustomers = {
|
||||
labels: ["12AM - 02AM", "02AM - 04AM", "04AM - 06AM", "06AM - 08AM", "08AM - 10AM", "10AM - 12PM", "12PM - 02PM", "02PM - 04PM", "04PM - 06PM", "06PM - 08PM", "08PM - 10PM", "10PM - 12PM"],
|
||||
dataUnit: 'Orders',
|
||||
lineTension: .3,
|
||||
datasets: [{
|
||||
label: "Customers",
|
||||
color: "#ff63a5",
|
||||
background: "transparent",
|
||||
data: [92, 105, 125, 85, 110, 106, 131, 105, 110, 131, 105, 110]
|
||||
}]
|
||||
};
|
||||
var todayVisitors = {
|
||||
labels: ["12AM - 02AM", "02AM - 04AM", "04AM - 06AM", "06AM - 08AM", "08AM - 10AM", "10AM - 12PM", "12PM - 02PM", "02PM - 04PM", "04PM - 06PM", "06PM - 08PM", "08PM - 10PM", "10PM - 12PM"],
|
||||
dataUnit: 'Orders',
|
||||
lineTension: .3,
|
||||
datasets: [{
|
||||
label: "Visitors",
|
||||
color: "#559bfb",
|
||||
background: "transparent",
|
||||
data: [92, 105, 125, 85, 110, 106, 131, 105, 110, 131, 105, 110]
|
||||
}]
|
||||
};
|
||||
|
||||
function ecommerceLineS3(selector, set_data) {
|
||||
var $selector = selector ? $(selector) : $('.ecommerce-line-chart-s3');
|
||||
$selector.each(function () {
|
||||
var $self = $(this),
|
||||
_self_id = $self.attr('id'),
|
||||
_get_data = typeof set_data === 'undefined' ? eval(_self_id) : set_data;
|
||||
|
||||
var selectCanvas = document.getElementById(_self_id).getContext("2d");
|
||||
var chart_data = [];
|
||||
|
||||
for (var i = 0; i < _get_data.datasets.length; i++) {
|
||||
chart_data.push({
|
||||
label: _get_data.datasets[i].label,
|
||||
tension: _get_data.lineTension,
|
||||
backgroundColor: _get_data.datasets[i].background,
|
||||
borderWidth: 2,
|
||||
borderColor: _get_data.datasets[i].color,
|
||||
pointBorderColor: 'transparent',
|
||||
pointBackgroundColor: 'transparent',
|
||||
pointHoverBackgroundColor: "#fff",
|
||||
pointHoverBorderColor: _get_data.datasets[i].color,
|
||||
pointBorderWidth: 2,
|
||||
pointHoverRadius: 4,
|
||||
pointHoverBorderWidth: 2,
|
||||
pointRadius: 4,
|
||||
pointHitRadius: 4,
|
||||
data: _get_data.datasets[i].data
|
||||
});
|
||||
}
|
||||
|
||||
var chart = new Chart(selectCanvas, {
|
||||
type: 'line',
|
||||
data: {
|
||||
labels: _get_data.labels,
|
||||
datasets: chart_data
|
||||
},
|
||||
options: {
|
||||
legend: {
|
||||
display: _get_data.legend ? _get_data.legend : false,
|
||||
rtl: NioApp.State.isRTL,
|
||||
labels: {
|
||||
boxWidth: 12,
|
||||
padding: 20,
|
||||
fontColor: '#6783b8'
|
||||
}
|
||||
},
|
||||
maintainAspectRatio: false,
|
||||
tooltips: {
|
||||
enabled: true,
|
||||
rtl: NioApp.State.isRTL,
|
||||
callbacks: {
|
||||
title: function title(tooltipItem, data) {
|
||||
return false;
|
||||
},
|
||||
label: function label(tooltipItem, data) {
|
||||
return data.datasets[tooltipItem.datasetIndex]['data'][tooltipItem['index']] + ' ' + _get_data.dataUnit;
|
||||
}
|
||||
},
|
||||
backgroundColor: '#1c2b46',
|
||||
titleFontSize: 8,
|
||||
titleFontColor: '#fff',
|
||||
titleMarginBottom: 4,
|
||||
bodyFontColor: '#fff',
|
||||
bodyFontSize: 8,
|
||||
bodySpacing: 4,
|
||||
yPadding: 6,
|
||||
xPadding: 6,
|
||||
footerMarginTop: 0,
|
||||
displayColors: false
|
||||
},
|
||||
scales: {
|
||||
yAxes: [{
|
||||
display: false,
|
||||
ticks: {
|
||||
beginAtZero: false,
|
||||
fontSize: 12,
|
||||
fontColor: '#9eaecf',
|
||||
padding: 0
|
||||
},
|
||||
gridLines: {
|
||||
color: NioApp.hexRGB("#526484", .2),
|
||||
tickMarkLength: 0,
|
||||
zeroLineColor: NioApp.hexRGB("#526484", .2)
|
||||
}
|
||||
}],
|
||||
xAxes: [{
|
||||
display: false,
|
||||
ticks: {
|
||||
fontSize: 12,
|
||||
fontColor: '#9eaecf',
|
||||
source: 'auto',
|
||||
padding: 0,
|
||||
reverse: NioApp.State.isRTL
|
||||
},
|
||||
gridLines: {
|
||||
color: "transparent",
|
||||
tickMarkLength: 0,
|
||||
zeroLineColor: NioApp.hexRGB("#526484", .2),
|
||||
offsetGridLines: true
|
||||
}
|
||||
}]
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
} // init chart
|
||||
|
||||
|
||||
NioApp.coms.docReady.push(function () {
|
||||
ecommerceLineS3();
|
||||
});
|
||||
var salesStatistics = {
|
||||
labels: ["01 Jan", "02 Jan", "03 Jan", "04 Jan", "05 Jan", "06 Jan", "07 Jan", "08 Jan", "09 Jan", "10 Jan", "11 Jan", "12 Jan", "13 Jan", "14 Jan", "15 Jan", "16 Jan", "17 Jan", "18 Jan", "19 Jan", "20 Jan", "21 Jan", "22 Jan", "23 Jan", "24 Jan", "25 Jan", "26 Jan", "27 Jan", "28 Jan", "29 Jan", "30 Jan"],
|
||||
dataUnit: 'People',
|
||||
lineTension: .4,
|
||||
datasets: [{
|
||||
label: "Total orders",
|
||||
color: "#9d72ff",
|
||||
dash: 0,
|
||||
background: NioApp.hexRGB('#9d72ff', .15),
|
||||
data: [3710, 4820, 4810, 5480, 5300, 5670, 6660, 4830, 5590, 5730, 4790, 4950, 5100, 5800, 5950, 5850, 5950, 4450, 4900, 8000, 7200, 7250, 7900, 8950, 6300, 7200, 7250, 7650, 6950, 4750]
|
||||
}, {
|
||||
label: "Canceled orders",
|
||||
color: "#eb6459",
|
||||
dash: [5],
|
||||
background: "transparent",
|
||||
data: [110, 220, 810, 480, 600, 670, 660, 830, 590, 730, 790, 950, 100, 800, 950, 850, 950, 450, 900, 0, 200, 250, 900, 950, 300, 200, 250, 650, 950, 750]
|
||||
}]
|
||||
};
|
||||
|
||||
function ecommerceLineS4(selector, set_data) {
|
||||
var $selector = selector ? $(selector) : $('.ecommerce-line-chart-s4');
|
||||
$selector.each(function () {
|
||||
var $self = $(this),
|
||||
_self_id = $self.attr('id'),
|
||||
_get_data = typeof set_data === 'undefined' ? eval(_self_id) : set_data;
|
||||
|
||||
var selectCanvas = document.getElementById(_self_id).getContext("2d");
|
||||
var chart_data = [];
|
||||
|
||||
for (var i = 0; i < _get_data.datasets.length; i++) {
|
||||
chart_data.push({
|
||||
label: _get_data.datasets[i].label,
|
||||
tension: _get_data.lineTension,
|
||||
backgroundColor: _get_data.datasets[i].background,
|
||||
borderWidth: 2,
|
||||
borderDash: _get_data.datasets[i].dash,
|
||||
borderColor: _get_data.datasets[i].color,
|
||||
pointBorderColor: 'transparent',
|
||||
pointBackgroundColor: 'transparent',
|
||||
pointHoverBackgroundColor: "#fff",
|
||||
pointHoverBorderColor: _get_data.datasets[i].color,
|
||||
pointBorderWidth: 2,
|
||||
pointHoverRadius: 4,
|
||||
pointHoverBorderWidth: 2,
|
||||
pointRadius: 4,
|
||||
pointHitRadius: 4,
|
||||
data: _get_data.datasets[i].data
|
||||
});
|
||||
}
|
||||
|
||||
var chart = new Chart(selectCanvas, {
|
||||
type: 'line',
|
||||
data: {
|
||||
labels: _get_data.labels,
|
||||
datasets: chart_data
|
||||
},
|
||||
options: {
|
||||
legend: {
|
||||
display: _get_data.legend ? _get_data.legend : false,
|
||||
rtl: NioApp.State.isRTL,
|
||||
labels: {
|
||||
boxWidth: 12,
|
||||
padding: 20,
|
||||
fontColor: '#6783b8'
|
||||
}
|
||||
},
|
||||
maintainAspectRatio: false,
|
||||
tooltips: {
|
||||
enabled: true,
|
||||
rtl: NioApp.State.isRTL,
|
||||
callbacks: {
|
||||
title: function title(tooltipItem, data) {
|
||||
return data['labels'][tooltipItem[0]['index']];
|
||||
},
|
||||
label: function label(tooltipItem, data) {
|
||||
return data.datasets[tooltipItem.datasetIndex]['data'][tooltipItem['index']];
|
||||
}
|
||||
},
|
||||
backgroundColor: '#1c2b46',
|
||||
titleFontSize: 13,
|
||||
titleFontColor: '#fff',
|
||||
titleMarginBottom: 6,
|
||||
bodyFontColor: '#fff',
|
||||
bodyFontSize: 12,
|
||||
bodySpacing: 4,
|
||||
yPadding: 10,
|
||||
xPadding: 10,
|
||||
footerMarginTop: 0,
|
||||
displayColors: false
|
||||
},
|
||||
scales: {
|
||||
yAxes: [{
|
||||
display: true,
|
||||
stacked: _get_data.stacked ? _get_data.stacked : false,
|
||||
position: NioApp.State.isRTL ? "right" : "left",
|
||||
ticks: {
|
||||
beginAtZero: true,
|
||||
fontSize: 11,
|
||||
fontColor: '#9eaecf',
|
||||
padding: 10,
|
||||
callback: function callback(value, index, values) {
|
||||
return '$ ' + value;
|
||||
},
|
||||
min: 0,
|
||||
stepSize: 3000
|
||||
},
|
||||
gridLines: {
|
||||
color: NioApp.hexRGB("#526484", .2),
|
||||
tickMarkLength: 0,
|
||||
zeroLineColor: NioApp.hexRGB("#526484", .2)
|
||||
}
|
||||
}],
|
||||
xAxes: [{
|
||||
display: false,
|
||||
stacked: _get_data.stacked ? _get_data.stacked : false,
|
||||
ticks: {
|
||||
fontSize: 9,
|
||||
fontColor: '#9eaecf',
|
||||
source: 'auto',
|
||||
padding: 10,
|
||||
reverse: NioApp.State.isRTL
|
||||
},
|
||||
gridLines: {
|
||||
color: "transparent",
|
||||
tickMarkLength: 0,
|
||||
zeroLineColor: 'transparent'
|
||||
}
|
||||
}]
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
} // init chart
|
||||
|
||||
|
||||
NioApp.coms.docReady.push(function () {
|
||||
ecommerceLineS4();
|
||||
});
|
||||
var averargeOrder = {
|
||||
labels: ["01 Jan", "02 Jan", "03 Jan", "04 Jan", "05 Jan", "06 Jan", "07 Jan", "08 Jan", "09 Jan", "10 Jan", "11 Jan", "12 Jan", "13 Jan", "14 Jan", "15 Jan", "16 Jan", "17 Jan", "18 Jan", "19 Jan", "20 Jan", "21 Jan", "22 Jan", "23 Jan", "24 Jan", "25 Jan", "26 Jan", "27 Jan", "28 Jan", "29 Jan", "30 Jan"],
|
||||
dataUnit: 'People',
|
||||
lineTension: .1,
|
||||
datasets: [{
|
||||
label: "Active Users",
|
||||
color: "#b695ff",
|
||||
background: "#b695ff",
|
||||
data: [1110, 1220, 1310, 980, 900, 770, 1060, 830, 690, 730, 790, 950, 1100, 800, 1250, 850, 950, 450, 900, 1000, 1200, 1250, 900, 950, 1300, 1200, 1250, 650, 950, 750]
|
||||
}]
|
||||
};
|
||||
|
||||
function ecommerceBarS1(selector, set_data) {
|
||||
var $selector = selector ? $(selector) : $('.ecommerce-bar-chart-s1');
|
||||
$selector.each(function () {
|
||||
var $self = $(this),
|
||||
_self_id = $self.attr('id'),
|
||||
_get_data = typeof set_data === 'undefined' ? eval(_self_id) : set_data;
|
||||
|
||||
var selectCanvas = document.getElementById(_self_id).getContext("2d");
|
||||
var chart_data = [];
|
||||
|
||||
for (var i = 0; i < _get_data.datasets.length; i++) {
|
||||
chart_data.push({
|
||||
label: _get_data.datasets[i].label,
|
||||
tension: _get_data.lineTension,
|
||||
backgroundColor: _get_data.datasets[i].background,
|
||||
borderWidth: 2,
|
||||
borderColor: _get_data.datasets[i].color,
|
||||
data: _get_data.datasets[i].data,
|
||||
barPercentage: .7,
|
||||
categoryPercentage: .7
|
||||
});
|
||||
}
|
||||
|
||||
var chart = new Chart(selectCanvas, {
|
||||
type: 'bar',
|
||||
data: {
|
||||
labels: _get_data.labels,
|
||||
datasets: chart_data
|
||||
},
|
||||
options: {
|
||||
legend: {
|
||||
display: _get_data.legend ? _get_data.legend : false,
|
||||
rtl: NioApp.State.isRTL,
|
||||
labels: {
|
||||
boxWidth: 12,
|
||||
padding: 20,
|
||||
fontColor: '#6783b8'
|
||||
}
|
||||
},
|
||||
maintainAspectRatio: false,
|
||||
tooltips: {
|
||||
enabled: true,
|
||||
rtl: NioApp.State.isRTL,
|
||||
callbacks: {
|
||||
title: function title(tooltipItem, data) {
|
||||
return false; //data['labels'][tooltipItem[0]['index']];
|
||||
},
|
||||
label: function label(tooltipItem, data) {
|
||||
return data.datasets[tooltipItem.datasetIndex]['data'][tooltipItem['index']];
|
||||
}
|
||||
},
|
||||
backgroundColor: '#1c2b46',
|
||||
titleFontSize: 9,
|
||||
titleFontColor: '#fff',
|
||||
titleMarginBottom: 6,
|
||||
bodyFontColor: '#fff',
|
||||
bodyFontSize: 9,
|
||||
bodySpacing: 4,
|
||||
yPadding: 6,
|
||||
xPadding: 6,
|
||||
footerMarginTop: 0,
|
||||
displayColors: false
|
||||
},
|
||||
scales: {
|
||||
yAxes: [{
|
||||
display: true,
|
||||
position: NioApp.State.isRTL ? "right" : "left",
|
||||
ticks: {
|
||||
beginAtZero: false,
|
||||
fontSize: 12,
|
||||
fontColor: '#9eaecf',
|
||||
padding: 0,
|
||||
display: false,
|
||||
stepSize: 100
|
||||
},
|
||||
gridLines: {
|
||||
color: NioApp.hexRGB("#526484", .2),
|
||||
tickMarkLength: 0,
|
||||
zeroLineColor: NioApp.hexRGB("#526484", .2)
|
||||
}
|
||||
}],
|
||||
xAxes: [{
|
||||
display: false,
|
||||
ticks: {
|
||||
fontSize: 12,
|
||||
fontColor: '#9eaecf',
|
||||
source: 'auto',
|
||||
padding: 0,
|
||||
reverse: NioApp.State.isRTL
|
||||
},
|
||||
gridLines: {
|
||||
color: "transparent",
|
||||
tickMarkLength: 0,
|
||||
zeroLineColor: 'transparent',
|
||||
offsetGridLines: true
|
||||
}
|
||||
}]
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
} // init chart
|
||||
|
||||
|
||||
NioApp.coms.docReady.push(function () {
|
||||
ecommerceBarS1();
|
||||
});
|
||||
var trafficSources = {
|
||||
labels: ["Organic Search", "Social Media", "Referrals", "Others"],
|
||||
dataUnit: 'People',
|
||||
legend: false,
|
||||
datasets: [{
|
||||
borderColor: "#fff",
|
||||
background: ["#b695ff", "#b8acff", "#ffa9ce", "#f9db7b"],
|
||||
data: [4305, 859, 482, 138]
|
||||
}]
|
||||
};
|
||||
var issueStatistics = {
|
||||
labels: ["Krisis", "Negatif", "Netral", "Positif"],
|
||||
dataUnit: 'Data',
|
||||
legend: false,
|
||||
datasets: [{
|
||||
borderColor: "#fff",
|
||||
background: ["#FE4F2D", "#E50046", "#5CB338", "#3572EF"],
|
||||
data: [100, 100, 100, 100]
|
||||
}]
|
||||
};
|
||||
|
||||
var mediaMonitoringStatistics = {
|
||||
labels: ["Facebook", "Twitter", "Website", "YouTube", "Intagram", "TikTok", "Cetak"],
|
||||
dataUnit: 'Data',
|
||||
legend: false,
|
||||
datasets: [{
|
||||
borderColor: "#fff",
|
||||
background: ["#1877F2", "#1DA1F2", "#28A745", "#FF0000", "#E4405F", "#00F2EA", "#333333"],
|
||||
data: [100, 100, 100, 100, 100, 100, 100]
|
||||
}]
|
||||
};
|
||||
|
||||
var mediaOrderStatistics = {
|
||||
labels: ["Menunggu", "Diterima", "Ditolak"],
|
||||
dataUnit: 'Data',
|
||||
legend: false,
|
||||
datasets: [{
|
||||
borderColor: "#fff",
|
||||
background: ["#FFB200", "#4F75FF", "#E50046"],
|
||||
data: [100, 100, 100]
|
||||
}]
|
||||
};
|
||||
|
||||
var recapContentChannelStatistics = {
|
||||
labels: ["Facebook", "Twitter", "Website", "YouTube", "Intagram", "TikTok", "Cetak"],
|
||||
dataUnit: 'Data',
|
||||
legend: false,
|
||||
datasets: [{
|
||||
borderColor: "#fff",
|
||||
background: ["#1877F2", "#1DA1F2", "#28A745", "#FF0000", "#E4405F", "#00F2EA", "#333333"],
|
||||
data: [100, 100, 100, 100, 100, 100, 100]
|
||||
}]
|
||||
};
|
||||
|
||||
function ecommerceDoughnutS1(selector, set_data) {
|
||||
var $selector = selector ? $(selector) : $('.ecommerce-doughnut-s1');
|
||||
$selector.each(function () {
|
||||
var $self = $(this),
|
||||
_self_id = $self.attr('id'),
|
||||
_get_data = typeof set_data === 'undefined' ? eval(_self_id) : set_data;
|
||||
|
||||
var selectCanvas = document.getElementById(_self_id).getContext("2d");
|
||||
var chart_data = [];
|
||||
|
||||
for (var i = 0; i < _get_data.datasets.length; i++) {
|
||||
chart_data.push({
|
||||
backgroundColor: _get_data.datasets[i].background,
|
||||
borderWidth: 2,
|
||||
borderColor: _get_data.datasets[i].borderColor,
|
||||
hoverBorderColor: _get_data.datasets[i].borderColor,
|
||||
data: _get_data.datasets[i].data
|
||||
});
|
||||
}
|
||||
|
||||
var chart = new Chart(selectCanvas, {
|
||||
type: 'doughnut',
|
||||
data: {
|
||||
labels: _get_data.labels,
|
||||
datasets: chart_data
|
||||
},
|
||||
options: {
|
||||
legend: {
|
||||
display: _get_data.legend ? _get_data.legend : false,
|
||||
rtl: NioApp.State.isRTL,
|
||||
labels: {
|
||||
boxWidth: 12,
|
||||
padding: 20,
|
||||
fontColor: '#6783b8'
|
||||
}
|
||||
},
|
||||
rotation: -1.5,
|
||||
cutoutPercentage: 70,
|
||||
maintainAspectRatio: false,
|
||||
tooltips: {
|
||||
enabled: true,
|
||||
rtl: NioApp.State.isRTL,
|
||||
callbacks: {
|
||||
title: function title(tooltipItem, data) {
|
||||
return data['labels'][tooltipItem[0]['index']];
|
||||
},
|
||||
label: function label(tooltipItem, data) {
|
||||
return data.datasets[tooltipItem.datasetIndex]['data'][tooltipItem['index']] + ' ' + _get_data.dataUnit;
|
||||
}
|
||||
},
|
||||
backgroundColor: '#1c2b46',
|
||||
titleFontSize: 13,
|
||||
titleFontColor: '#fff',
|
||||
titleMarginBottom: 6,
|
||||
bodyFontColor: '#fff',
|
||||
bodyFontSize: 12,
|
||||
bodySpacing: 4,
|
||||
yPadding: 10,
|
||||
xPadding: 10,
|
||||
footerMarginTop: 0,
|
||||
displayColors: false
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
} // init chart
|
||||
|
||||
|
||||
NioApp.coms.docReady.push(function () {
|
||||
ecommerceDoughnutS1();
|
||||
});
|
||||
}(NioApp, jQuery);
|
||||
</script>
|
||||
@ -113,6 +113,17 @@
|
||||
@include('partials.app.datatable', ['datatable' => $datatable])
|
||||
@endif
|
||||
|
||||
@if (isset($overview_page))
|
||||
<script src="{{asset('assets/dashboard/js/libs/fullcalendar.js?ver=3.0.3')}}"></script>
|
||||
@include('partials.app.overview-statistics')
|
||||
|
||||
@if(is_role(['1']))
|
||||
@include('partials.app.calendars.admin')
|
||||
@elseif (is_role(['3']))
|
||||
@include('partials.app.calendars.media')
|
||||
@endif
|
||||
@endif
|
||||
|
||||
@if (isset($rich_editor))
|
||||
<link rel="stylesheet" href="{{asset('assets/dashboard/css/editors/tinymce.css?ver=3.0.3')}}">
|
||||
<script src="{{asset('assets/dashboard/js/libs/editors/tinymce.js?ver=3.0.3')}}"></script>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user