2017-08-18 03:53:10 +08:00
|
|
|
<!doctype html>
|
|
|
|
<html lang="en">
|
2017-06-09 09:02:52 +08:00
|
|
|
<head>
|
2017-08-18 07:26:48 +08:00
|
|
|
<meta charset="utf-8" />
|
|
|
|
<link rel="icon" type="image/png" href="/assets/frontend/img/favicon.png">
|
|
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
2017-08-18 03:53:10 +08:00
|
|
|
|
2017-08-19 01:02:32 +08:00
|
|
|
<title>@yield('title') - phpvms admin</title>
|
2017-08-18 03:53:10 +08:00
|
|
|
|
2017-08-18 07:26:48 +08:00
|
|
|
<meta content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0' name='viewport' />
|
|
|
|
<meta name="viewport" content="width=device-width" />
|
2017-08-18 03:53:10 +08:00
|
|
|
|
2017-12-15 00:38:10 +08:00
|
|
|
<link href="/assets/admin/css/bootstrap.css" rel="stylesheet" />
|
2017-08-18 03:53:10 +08:00
|
|
|
<link href="/assets/admin/css/animate.min.css" rel="stylesheet"/>
|
2017-08-18 07:26:48 +08:00
|
|
|
<link href="/assets/admin/css/paper-dashboard.css" rel="stylesheet"/>
|
2017-12-04 05:29:34 +08:00
|
|
|
|
2017-08-18 03:53:10 +08:00
|
|
|
<link href="//cdnjs.cloudflare.com/ajax/libs/x-editable/1.5.0/bootstrap3-editable/css/bootstrap-editable.css"
|
|
|
|
rel="stylesheet"/>
|
2017-06-09 09:02:52 +08:00
|
|
|
|
2017-08-18 07:26:48 +08:00
|
|
|
<link href="http://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css" rel="stylesheet">
|
|
|
|
<link href='https://fonts.googleapis.com/css?family=Muli:400,300' rel='stylesheet' type='text/css'>
|
2017-08-18 22:51:15 +08:00
|
|
|
<link href="http://fonts.googleapis.com/css?family=Roboto:400,700,300" rel="stylesheet"
|
|
|
|
type="text/css">
|
2017-08-18 07:26:48 +08:00
|
|
|
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.2.0/dist/leaflet.css"/>
|
2017-08-18 22:51:15 +08:00
|
|
|
<link href="/assets/admin/css/pe-icon-7-stroke.css" rel="stylesheet">
|
2017-08-18 07:26:48 +08:00
|
|
|
<link href="/assets/admin/css/themify-icons.css" rel="stylesheet">
|
2017-12-14 23:21:06 +08:00
|
|
|
<link href="/assets/vendor/select2/dist/css/select2.min.css" rel="stylesheet">
|
|
|
|
<link href="/assets/vendor/icheck/skins/flat/orange.css" rel="stylesheet">
|
2017-08-18 07:26:48 +08:00
|
|
|
|
2017-08-18 22:51:15 +08:00
|
|
|
<style type="text/css">
|
2017-08-25 02:37:54 +08:00
|
|
|
/*.card {
|
|
|
|
display: inline-block;
|
|
|
|
position: relative;
|
|
|
|
overflow: hidden;
|
|
|
|
width: 100%;
|
|
|
|
margin-bottom: 20px;
|
|
|
|
!*box-shadow: 0px 5px 25px 0px rgba(0, 0, 0, 0.2);*!
|
|
|
|
}*/
|
|
|
|
|
|
|
|
.border-blue-bottom {
|
|
|
|
border-bottom: 3px solid #067ec1;
|
|
|
|
}
|
2017-08-18 07:26:48 +08:00
|
|
|
@yield('css')
|
2017-08-18 22:51:15 +08:00
|
|
|
</style>
|
|
|
|
|
2017-08-18 03:53:10 +08:00
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
|
|
|
|
<div class="wrapper">
|
|
|
|
@include('admin.sidebar')
|
|
|
|
|
|
|
|
<div class="main-panel">
|
2017-08-18 07:26:48 +08:00
|
|
|
<nav class="navbar navbar-default">
|
2017-08-18 03:53:10 +08:00
|
|
|
<div class="container-fluid">
|
2017-08-19 01:02:32 +08:00
|
|
|
<div class="navbar-header">
|
2017-08-18 07:26:48 +08:00
|
|
|
<button type="button" class="navbar-toggle">
|
2017-08-18 03:53:10 +08:00
|
|
|
<span class="sr-only">Toggle navigation</span>
|
2017-08-18 07:26:48 +08:00
|
|
|
<span class="icon-bar bar1"></span>
|
|
|
|
<span class="icon-bar bar2"></span>
|
|
|
|
<span class="icon-bar bar3"></span>
|
2017-08-18 03:53:10 +08:00
|
|
|
</button>
|
2017-08-19 01:02:32 +08:00
|
|
|
<a class="navbar-brand" href="#">@yield('title')</a>
|
|
|
|
</div>
|
2017-08-18 03:53:10 +08:00
|
|
|
<div class="collapse navbar-collapse">
|
2017-08-18 07:26:48 +08:00
|
|
|
<ul class="nav navbar-nav navbar-right">
|
2017-08-19 01:02:32 +08:00
|
|
|
@yield('actions')
|
2017-08-18 03:53:10 +08:00
|
|
|
</ul>
|
2017-08-18 07:26:48 +08:00
|
|
|
|
2017-08-18 03:53:10 +08:00
|
|
|
</div>
|
2017-06-09 09:02:52 +08:00
|
|
|
</div>
|
2017-08-18 03:53:10 +08:00
|
|
|
</nav>
|
2017-06-09 09:02:52 +08:00
|
|
|
|
|
|
|
|
2017-08-18 03:53:10 +08:00
|
|
|
<div class="content">
|
|
|
|
<div class="container-fluid">
|
|
|
|
<div class="row">
|
2017-11-23 01:52:02 +08:00
|
|
|
<div class="col-12">
|
|
|
|
@include('flash::message')
|
|
|
|
@yield('content')
|
|
|
|
</div>
|
2017-06-09 09:02:52 +08:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2017-08-18 03:53:10 +08:00
|
|
|
|
2017-06-09 09:02:52 +08:00
|
|
|
</div>
|
2017-08-18 03:53:10 +08:00
|
|
|
</div>
|
|
|
|
|
|
|
|
|
2017-06-09 09:02:52 +08:00
|
|
|
</body>
|
2017-08-18 03:53:10 +08:00
|
|
|
|
|
|
|
<script src="https://cdn.jsdelivr.net/lodash/4.17.4/lodash.min.js"></script>
|
|
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
|
|
|
|
<script src="/assets/admin/js/bootstrap.min.js" type="text/javascript"></script>
|
|
|
|
<script src="/assets/admin/js/chartist.min.js"></script>
|
|
|
|
<script src="/assets/admin/js/bootstrap-notify.js"></script>
|
2017-12-14 23:21:06 +08:00
|
|
|
<script src="/assets/vendor/select2/dist/js/select2.js"></script>
|
|
|
|
<script src="/assets/vendor/pjax/jquery.pjax.js"></script>
|
|
|
|
<script src="/assets/vendor/icheck/icheck.js"></script>
|
|
|
|
<script src="/assets/vendor/rivets/dist/rivets.bundled.min.js"></script>
|
2017-08-18 07:26:48 +08:00
|
|
|
<script src="//cdnjs.cloudflare.com/ajax/libs/x-editable/1.5.0/bootstrap3-editable/js/bootstrap-editable.min.js"></script>
|
|
|
|
<script src="https://unpkg.com/leaflet@1.2.0/dist/leaflet.js"></script>
|
|
|
|
|
2017-08-18 03:53:10 +08:00
|
|
|
<script src="/js/admin/admin.js"></script>
|
|
|
|
|
|
|
|
<script>
|
2017-12-03 14:48:33 +08:00
|
|
|
rivets.configure({
|
|
|
|
prefix: 'rv',
|
|
|
|
preloadData: true,
|
|
|
|
rootInterface: '.',
|
|
|
|
templateDelimiters: ['{', '}'],
|
|
|
|
iterationAlias: function (modelName) {
|
|
|
|
return '%' + modelName + '%';
|
|
|
|
},
|
|
|
|
// Augment the event handler of the on-* binder
|
|
|
|
handler: function (target, event, binding) {
|
|
|
|
this.call(target, event, binding.view.models)
|
|
|
|
},
|
|
|
|
executeFunctions: false
|
|
|
|
|
|
|
|
});
|
|
|
|
|
2017-08-22 02:06:10 +08:00
|
|
|
var getStorage = function(key) {
|
|
|
|
var st = window.localStorage.getItem(key);
|
|
|
|
console.log('storage: ', key, st);
|
|
|
|
if(_.isNil(st)) {
|
|
|
|
return {
|
|
|
|
"menu": [],
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
return JSON.parse(st);
|
|
|
|
};
|
|
|
|
|
|
|
|
var saveStorage = function(key, obj) {
|
|
|
|
console.log('save: ', key, obj);
|
|
|
|
window.localStorage.setItem(key, JSON.stringify(obj));
|
|
|
|
};
|
|
|
|
|
|
|
|
var addItem = function(obj, item) {
|
|
|
|
if (_.isNil(obj)) {
|
|
|
|
obj = [];
|
|
|
|
}
|
|
|
|
|
|
|
|
var index = _.indexOf(obj, item);
|
|
|
|
if(index === -1) {
|
|
|
|
obj.push(item);
|
|
|
|
}
|
|
|
|
|
|
|
|
return obj;
|
|
|
|
};
|
|
|
|
|
|
|
|
var removeItem = function (obj, item) {
|
|
|
|
if (_.isNil(obj)) {
|
|
|
|
obj = [];
|
|
|
|
}
|
|
|
|
var index = _.indexOf(obj, item);
|
|
|
|
if (index !== -1) {
|
|
|
|
console.log("removing", item);
|
|
|
|
obj.splice(index, 1);
|
|
|
|
}
|
|
|
|
|
|
|
|
return obj;
|
|
|
|
};
|
|
|
|
|
|
|
|
$(document).ready(function () {
|
|
|
|
|
2017-11-23 10:03:49 +08:00
|
|
|
$(".select2").select2();
|
2017-08-22 02:06:10 +08:00
|
|
|
|
2017-11-23 10:03:49 +08:00
|
|
|
$('input').iCheck({
|
|
|
|
checkboxClass: 'icheckbox_flat-orange',
|
|
|
|
radioClass: 'iradio_flat-orange'
|
2017-11-01 23:08:36 +08:00
|
|
|
});
|
2017-08-22 02:06:10 +08:00
|
|
|
|
|
|
|
var storage = getStorage("phpvms.admin");
|
|
|
|
|
|
|
|
// see what menu items should be open
|
|
|
|
for(var idx = 0; idx < storage.menu.length; idx++) {
|
|
|
|
var id = storage.menu[idx];
|
|
|
|
var elem = $(".collapse#" + id);
|
|
|
|
elem.addClass("in").trigger("show.bs.collapse");
|
|
|
|
|
|
|
|
var caret = $("a." + id + " b");
|
|
|
|
caret.addClass("pe-7s-angle-down");
|
|
|
|
caret.removeClass("pe-7s-angle-up");
|
|
|
|
}
|
|
|
|
|
|
|
|
$(".collapse").on("hide.bs.collapse", function () {
|
|
|
|
console.log('hiding');
|
|
|
|
var id = $(this).attr('id');
|
|
|
|
var elem = $("a." + id + " b");
|
|
|
|
elem.removeClass("pe-7s-angle-down");
|
|
|
|
elem.addClass("pe-7s-angle-up");
|
|
|
|
|
|
|
|
removeItem(storage.menu, id);
|
|
|
|
saveStorage("phpvms.admin", storage);
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
$(".collapse").on("show.bs.collapse", function () {
|
|
|
|
console.log('showing');
|
|
|
|
var id = $(this).attr('id');
|
|
|
|
var caret = $("a." + id + " b");
|
|
|
|
caret.addClass("pe-7s-angle-down");
|
|
|
|
caret.removeClass("pe-7s-angle-up");
|
|
|
|
|
|
|
|
addItem(storage.menu, id);
|
|
|
|
saveStorage("phpvms.admin", storage);
|
2017-08-18 03:53:10 +08:00
|
|
|
});
|
2017-08-22 02:06:10 +08:00
|
|
|
|
|
|
|
});
|
2017-08-18 03:53:10 +08:00
|
|
|
</script>
|
|
|
|
@yield('scripts')
|
2017-06-09 09:02:52 +08:00
|
|
|
</html>
|