Commit bfe0ed70 authored by hbcui1984's avatar hbcui1984

完善页面关闭说明

parent ac1f7874
......@@ -11,8 +11,8 @@
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="stylesheet" href="http://dcloudio.github.io/mui/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="http://dcloudio.github.io/mui/dist/css/mui.min.css?v=2014-12-01 19:07:11 +0800">
<link rel="stylesheet" href="http://dcloudio.github.io/mui/assets/css/docs.css?v=2014-12-01 19:07:11 +0800">
<link rel="stylesheet" href="http://dcloudio.github.io/mui/dist/css/mui.min.css?v=2014-12-16 17:23:30 +0800">
<link rel="stylesheet" href="http://dcloudio.github.io/mui/assets/css/docs.css?v=2014-12-16 17:23:30 +0800">
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="http://dcloudio.github.io/mui/assets/img/apple-touch-icon-114x114.png">
......@@ -133,7 +133,7 @@
<p class="docs-footer-text">mui遵循 <a href="https://github.com/dcloudio/mui/blob/master/LICENSE">MIT License</a>
</p>
<ul class="docs-footer-links">
<li>最新版本 v0.8.0</li>
<li>最新版本 v0.9.0</li>
<li>&middot;</li>
<li><a href="http://ask.dcloud.net.cn">问答社区</a></li>
<li>&middot;</li>
......@@ -147,8 +147,8 @@
</div>
<script src="http://dcloudio.github.io/mui/dist/js/jquery-2.1.1.js"></script>
<script src="http://dcloudio.github.io/mui/dist/js/bootstrap.min.js"></script>
<script src="http://dcloudio.github.io/mui/dist/js/mui.min.js?v=2014-12-01 19:07:11 +0800"></script>
<script src="http://dcloudio.github.io/mui/assets/js/docs.min.js?v=2014-12-01 19:07:11 +0800"></script>
<script src="http://dcloudio.github.io/mui/dist/js/mui.min.js?v=2014-12-16 17:23:30 +0800"></script>
<script src="http://dcloudio.github.io/mui/assets/js/docs.min.js?v=2014-12-16 17:23:30 +0800"></script>
<script type="text/javascript">
var _bdhmProtocol = (("https:" == document.location.protocol) ? " https://" : " http://");
document.write(unescape("%3Cscript src='" + _bdhmProtocol + "hm.baidu.com/h.js%3Ffff299fda9ff2d5ac97d9e621f738e52' type='text/javascript'%3E%3C/script%3E"));
......
......@@ -11,8 +11,8 @@
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="stylesheet" href="http://dcloudio.github.io/mui/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="http://dcloudio.github.io/mui/dist/css/mui.min.css?v=2014-12-01 19:07:11 +0800">
<link rel="stylesheet" href="http://dcloudio.github.io/mui/assets/css/docs.css?v=2014-12-01 19:07:11 +0800">
<link rel="stylesheet" href="http://dcloudio.github.io/mui/dist/css/mui.min.css?v=2014-12-16 17:23:30 +0800">
<link rel="stylesheet" href="http://dcloudio.github.io/mui/assets/css/docs.css?v=2014-12-16 17:23:30 +0800">
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="http://dcloudio.github.io/mui/assets/img/apple-touch-icon-114x114.png">
......@@ -3630,7 +3630,7 @@
<p class="docs-footer-text">mui遵循 <a href="https://github.com/dcloudio/mui/blob/master/LICENSE">MIT License</a>
</p>
<ul class="docs-footer-links">
<li>最新版本 v0.8.0</li>
<li>最新版本 v0.9.0</li>
<li>&middot;</li>
<li><a href="http://ask.dcloud.net.cn">问答社区</a></li>
<li>&middot;</li>
......@@ -3644,8 +3644,8 @@
</div>
<script src="http://dcloudio.github.io/mui/dist/js/jquery-2.1.1.js"></script>
<script src="http://dcloudio.github.io/mui/dist/js/bootstrap.min.js"></script>
<script src="http://dcloudio.github.io/mui/dist/js/mui.min.js?v=2014-12-01 19:07:11 +0800"></script>
<script src="http://dcloudio.github.io/mui/assets/js/docs.min.js?v=2014-12-01 19:07:11 +0800"></script>
<script src="http://dcloudio.github.io/mui/dist/js/mui.min.js?v=2014-12-16 17:23:30 +0800"></script>
<script src="http://dcloudio.github.io/mui/assets/js/docs.min.js?v=2014-12-16 17:23:30 +0800"></script>
<script type="text/javascript">
var _bdhmProtocol = (("https:" == document.location.protocol) ? " https://" : " http://");
document.write(unescape("%3Cscript src='" + _bdhmProtocol + "hm.baidu.com/h.js%3Ffff299fda9ff2d5ac97d9e621f738e52' type='text/javascript'%3E%3C/script%3E"));
......
/*!
* =====================================================
* Mui v0.8.0 (https://github.com/dcloudio/mui)
* Mui v0.9.0 (https://github.com/dcloudio/mui)
* =====================================================
*/
......@@ -398,6 +398,13 @@ a:active {
background-color: #dd524d;
}
.mui-error {
padding: 10px;
margin: 88px 35px;
background-color: #bbb;
border-radius: 6px;
}
h1, h2, h3, h4, h5, h6 {
margin-top: 5px;
margin-bottom: 5px;
......@@ -940,6 +947,17 @@ input[type="submit"]:active, input[type="submit"].mui-active,
border: 1px solid #6641e2;
}
.mui-btn-grey {
color: #fff;
background-color: #c7c7cc;
border: 1px solid #c7c7cc;
}
.mui-btn-grey:active, .mui-btn-grey.mui-active {
color: #fff;
background-color: #acacb4;
border: 1px solid #acacb4;
}
.mui-btn-outlined {
background-color: transparent;
}
......@@ -1129,6 +1147,8 @@ input[type="submit"]:active, input[type="submit"].mui-active,
table-layout: fixed;
border-top: 0;
border-bottom: 0;
-webkit-touch-callout: none;
}
.mui-bar-tab .mui-tab-item {
display: table-cell;
......@@ -1317,6 +1337,18 @@ input[type="submit"]:active, input[type="submit"].mui-active,
background-color: transparent;
}
.mui-icon .mui-badge {
position: absolute;
top: -2px;
left: 100%;
padding: 1px 5px;
margin-left: -10px;
font-size: 10px;
line-height: 1.4;
color: white;
background: red;
}
.mui-card {
margin: 0 15px;
overflow: hidden;
......@@ -1376,6 +1408,8 @@ input[type="submit"]:active, input[type="submit"].mui-active,
height: 1px;
content: '';
background-color: #c8c7cc;
-webkit-transform: scaleY(.5);
transform: scaleY(.5);
}
.mui-table-view:before {
position: absolute;
......@@ -1385,13 +1419,8 @@ input[type="submit"]:active, input[type="submit"].mui-active,
height: 1px;
content: '';
background-color: #c8c7cc;
}
.mui-table-view-striped > li:nth-child(odd) {
background-color: #f9f9f9;
}
.mui-table-view-striped > li:nth-child(odd) > .mui-slider-cell > .mui-slider-left ~ .mui-slider-handle, .mui-table-view-striped > li:nth-child(odd) > .mui-slider-cell > .mui-slider-right ~ .mui-slider-handle {
background-color: #f9f9f9;
-webkit-transform: scaleY(.5);
transform: scaleY(.5);
}
.mui-table-view-chevron .mui-table-view-cell {
......@@ -1401,13 +1430,6 @@ input[type="submit"]:active, input[type="submit"].mui-active,
margin-right: -65px;
}
.mui-table-view-slider .mui-table-view-cell {
padding: 11px 0;
}
.mui-table-view-slider .mui-table-view-cell > a:not(.mui-btn) {
margin-right: 0;
}
.mui-table-view-inverted {
color: #fff;
background: #333;
......@@ -1420,6 +1442,8 @@ input[type="submit"]:active, input[type="submit"].mui-active,
height: 1px;
content: '';
background-color: #222;
-webkit-transform: scaleY(.5);
transform: scaleY(.5);
}
.mui-table-view-inverted:before {
position: absolute;
......@@ -1429,6 +1453,8 @@ input[type="submit"]:active, input[type="submit"].mui-active,
height: 1px;
content: '';
background-color: #222;
-webkit-transform: scaleY(.5);
transform: scaleY(.5);
}
.mui-table-view-inverted .mui-table-view-cell:after {
position: absolute;
......@@ -1438,6 +1464,8 @@ input[type="submit"]:active, input[type="submit"].mui-active,
height: 1px;
content: '';
background-color: #222;
-webkit-transform: scaleY(.5);
transform: scaleY(.5);
}
.mui-table-view-inverted .mui-table-view-cell.mui-active {
background-color: #242424;
......@@ -1461,6 +1489,8 @@ input[type="submit"]:active, input[type="submit"].mui-active,
height: 1px;
content: '';
background-color: #c8c7cc;
-webkit-transform: scaleY(.5);
transform: scaleY(.5);
}
.mui-table-view-cell.mui-radio input[type=radio], .mui-table-view-cell.mui-checkbox input[type=checkbox] {
top: 8px;
......@@ -1471,9 +1501,6 @@ input[type="submit"]:active, input[type="submit"].mui-active,
.mui-table-view-cell.mui-active {
background-color: #eee;
}
.mui-table-view-cell.mui-active > .mui-slider-cell > .mui-slider-left ~ .mui-slider-handle, .mui-table-view-cell.mui-active > .mui-slider-cell > .mui-slider-right ~ .mui-slider-handle {
background-color: #eee;
}
.mui-table-view-cell:last-child:before, .mui-table-view-cell:last-child:after {
height: 0;
}
......@@ -1496,34 +1523,63 @@ input[type="submit"]:active, input[type="submit"].mui-active,
.mui-table-view-cell p {
margin-bottom: 0;
}
.mui-table-view-cell > .mui-slider-cell {
margin-top: 1px;
margin-bottom: 1px;
.mui-table-view-cell.mui-transitioning > .mui-slider-handle, .mui-table-view-cell.mui-transitioning > .mui-slider-left .mui-btn, .mui-table-view-cell.mui-transitioning > .mui-slider-right .mui-btn {
-webkit-transition: 300ms;
transition: 300ms;
}
.mui-table-view-cell > .mui-slider-handle, .mui-table-view-cell > .mui-slider-left .mui-btn, .mui-table-view-cell > .mui-slider-right .mui-btn {
-webkit-transition: 0ms;
transition: 0ms;
}
.mui-table-view-cell > .mui-slider-cell > .mui-slider-handle {
.mui-table-view-cell > .mui-slider-left, .mui-table-view-cell > .mui-slider-right {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
-webkit-transform: translate3d(100%, 0px, 0px);
transform: translate3d(100%, 0px, 0px);
display: -webkit-box;
display: -webkit-flex;
display: flex;
height: 100%;
}
.mui-table-view-cell > .mui-slider-cell > .mui-slider-left ~ .mui-slider-handle, .mui-table-view-cell > .mui-slider-cell > .mui-slider-right ~ .mui-slider-handle {
.mui-table-view-cell > .mui-slider-left > .mui-btn, .mui-table-view-cell > .mui-slider-right > .mui-btn {
position: relative;
top: auto;
right: auto;
bottom: auto;
left: auto;
z-index: 1;
padding-left: 15px;
background-color: #fff;
-webkit-transform: translate3d(0px, 0px, 0px);
transform: translate3d(0px, 0px, 0px);
left: 0;
display: -webkit-box;
display: -webkit-flex;
display: flex;
padding: 0 30px;
color: #fff;
border: 0;
border-radius: 0;
-webkit-box-align: center;
-webkit-align-items: center;
align-items: center;
}
.mui-table-view-cell > .mui-slider-left > .mui-btn:after, .mui-table-view-cell > .mui-slider-right > .mui-btn:after {
position: absolute;
top: 0;
z-index: -1;
width: 600%;
height: 100%;
content: '';
background: inherit;
}
.mui-table-view-cell > .mui-slider-cell > .mui-slider-left, .mui-table-view-cell > .mui-slider-cell > .mui-slider-right {
top: 1px;
bottom: 1px;
.mui-table-view-cell > .mui-slider-left > .mui-btn.mui-icon, .mui-table-view-cell > .mui-slider-right > .mui-btn.mui-icon {
font-size: 30px;
}
.mui-table-view-cell > .mui-slider-right {
right: 0;
-webkit-transform: translateX(100%);
transform: translateX(100%);
}
.mui-table-view-cell > .mui-slider-left {
left: 0;
-webkit-transform: translateX(-100%);
transform: translateX(-100%);
}
.mui-table-view-cell > .mui-slider-left > .mui-btn:after {
right: 100%;
margin-right: -1px;
}
.mui-table-view-divider {
......@@ -1545,6 +1601,8 @@ input[type="submit"]:active, input[type="submit"].mui-active,
height: 1px;
content: '';
background-color: #c8c7cc;
-webkit-transform: scaleY(.5);
transform: scaleY(.5);
}
.mui-table-view-divider:before {
position: absolute;
......@@ -1554,6 +1612,8 @@ input[type="submit"]:active, input[type="submit"].mui-active,
height: 1px;
content: '';
background-color: #c8c7cc;
-webkit-transform: scaleY(.5);
transform: scaleY(.5);
}
.mui-table-view .mui-media,
......@@ -1564,6 +1624,7 @@ input[type="submit"]:active, input[type="submit"].mui-active,
.mui-table-view .mui-media-object {
max-width: 42px;
height: 42px;
line-height: 42px;
}
.mui-table-view .mui-media-object.mui-pull-left {
margin-right: 10px;
......@@ -1571,6 +1632,55 @@ input[type="submit"]:active, input[type="submit"].mui-active,
.mui-table-view .mui-media-object.mui-pull-right {
margin-left: 10px;
}
.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object {
max-width: 29px;
height: 29px;
margin: -4px 0;
line-height: 29px;
}
.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object img {
max-width: 29px;
height: 29px;
line-height: 29px;
}
.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object.mui-pull-left {
margin-right: 10px;
}
.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object .mui-icon {
font-size: 29px;
}
.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-body:after {
position: absolute;
right: 0;
bottom: 0;
left: 55px;
height: 1px;
content: '';
background-color: #c8c7cc;
-webkit-transform: scaleY(.5);
transform: scaleY(.5);
}
.mui-table-view .mui-table-view-cell.mui-media-icon:after {
height: 0 !important;
}
.mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view {
display: block;
}
.mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view:before, .mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view:after {
height: 0 !important;
}
.mui-table-view.mui-unfold .mui-table-view-cell.mui-media-icon.mui-collapse .mui-media-body:after {
position: absolute;
right: 0;
bottom: 0;
left: 70px;
height: 1px;
content: '';
background-color: #c8c7cc;
-webkit-transform: scaleY(.5);
transform: scaleY(.5);
}
.mui-table-view-cell > .mui-btn,
.mui-table-view-cell > .mui-badge,
......@@ -1667,6 +1777,8 @@ input[type="submit"]:active, input[type="submit"].mui-active,
height: 1px;
content: '';
background-color: #c8c7cc;
-webkit-transform: scaleY(.5);
transform: scaleY(.5);
}
.mui-table-view.mui-grid-view {
......@@ -1735,14 +1847,6 @@ input[type="submit"]:active, input[type="submit"].mui-active,
position: relative;
font-size: 2.4em;
}
.mui-grid-view.mui-grid-9 .mui-media .mui-icon .mui-badge {
position: absolute;
top: 1px;
right: 0;
color: white;
background: red;
opacity: .9;
}
.mui-slider-cell {
position: relative;
......@@ -1854,6 +1958,8 @@ select:focus {
height: 1px;
content: '';
background-color: #c8c7cc;
-webkit-transform: scaleY(.5);
transform: scaleY(.5);
}
.mui-input-group:before {
position: absolute;
......@@ -1863,6 +1969,8 @@ select:focus {
height: 1px;
content: '';
background-color: #c8c7cc;
-webkit-transform: scaleY(.5);
transform: scaleY(.5);
}
.mui-input-group input[type=text],
......@@ -1883,6 +1991,8 @@ select:focus {
height: 1px;
content: '';
background-color: #c8c7cc;
-webkit-transform: scaleY(.5);
transform: scaleY(.5);
}
.mui-input-group input[type="search"] {
......@@ -1918,6 +2028,8 @@ select:focus {
height: 1px;
content: '';
background-color: #c8c7cc;
-webkit-transform: scaleY(.5);
transform: scaleY(.5);
}
.mui-input-row label {
......@@ -2208,6 +2320,8 @@ select:focus {
background-color: transparent;
border: 1px solid #007aff;
border-radius: 3px;
-webkit-touch-callout: none;
}
.mui-segmented-control .mui-control-item {
display: table-cell;
......@@ -2308,10 +2422,12 @@ select:focus {
-webkit-box-shadow: 0 0 15px rgba(0, 0, 0, .1);
box-shadow: 0 0 15px rgba(0, 0, 0, .1);
opacity: 0;
-webkit-transition: -webkit-transform .2s ease-in-out, opacity .2s ease-in-out;
transition: -webkit-transform .2s ease-in-out, opacity .2s ease-in-out;
-webkit-transform: translate3d(0, -15px, 0);
transform: translate3d(0, -15px, 0);
-webkit-transition: opacity .3s;
transition: opacity .3s;
-webkit-transition-property: opacity;
transition-property: opacity;
-webkit-transform: none;
transform: none;
}
.mui-popover .mui-popover-arrow {
position: absolute;
......@@ -2344,25 +2460,49 @@ select:focus {
left: 0;
}
.mui-popover.mui-popover-action {
bottom: 0;
width: 100%;
background: none;
border-radius: 0;
-webkit-transition: -webkit-transform .25s, opacity 1ms .25s;
transition: transform .25s, opacity 1ms .25s;
-webkit-box-shadow: none;
box-shadow: none;
-webkit-transition: -webkit-transform .3s, opacity .3s;
transition: transform .3s, opacity .3s;
-webkit-transform: translate3d(0, 100%, 0);
transform: translate3d(0, 100%, 0);
}
.mui-popover.mui-popover-action .mui-popover-arrow {
display: none;
}
.mui-popover.mui-popover-action.mui-active {
opacity: 1;
-webkit-transition: -webkit-transform .25s;
transition: transform .25s;
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
.mui-popover.mui-popover-action .mui-table-view {
margin: 8px;
color: #007aff;
text-align: center;
border-radius: 4px;
}
.mui-popover.mui-popover-action .mui-table-view .mui-table-view-cell:after {
position: absolute;
right: 0;
bottom: 0;
left: 0;
height: 1px;
content: '';
background-color: #c8c7cc;
-webkit-transform: scaleY(.5);
transform: scaleY(.5);
}
.mui-popover.mui-popover-action .mui-table-view small {
display: block;
font-weight: 400;
line-height: 1.3;
}
.mui-popover.mui-active {
display: block;
opacity: 1;
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
.mui-popover .mui-bar ~ .mui-table-view {
padding-top: 44px;
......@@ -2384,7 +2524,6 @@ select:focus {
}
.mui-backdrop-action.mui-backdrop {
bottom: 50px;
background-color: rgba(0, 0, 0, .3);
}
......@@ -2393,8 +2532,8 @@ select:focus {
}
.mui-bar-backdrop.mui-backdrop.mui-active, .mui-backdrop-action.mui-backdrop.mui-active {
opacity: 1;
-webkit-transition: all .25s ease;
transition: all .25s ease;
-webkit-transition: all .4s ease;
transition: all .4s ease;
}
.mui-popover .mui-btn-block {
......@@ -2614,23 +2753,9 @@ select:focus {
.mui-slider .mui-segmented-control.mui-segmented-control-inverted .mui-control-item.mui-active {
border-bottom: 0;
}
.mui-slider .mui-segmented-control.mui-segmented-control-inverted ~ .mui-slider-group .mui-slider-item:after {
position: absolute;
right: 0;
bottom: 0;
left: 0;
height: 1px;
content: '';
background-color: #c8c7cc;
}
.mui-slider .mui-segmented-control.mui-segmented-control-inverted ~ .mui-slider-group .mui-slider-item:before {
position: absolute;
top: 0;
right: 0;
left: 0;
height: 1px;
content: '';
background-color: #c8c7cc;
.mui-slider .mui-segmented-control.mui-segmented-control-inverted ~ .mui-slider-group .mui-slider-item {
border-top: 1px solid #c8c7cc;
border-bottom: 1px solid #c8c7cc;
}
.mui-slider .mui-slider-group {
position: relative;
......@@ -2655,6 +2780,9 @@ select:focus {
.mui-slider .mui-slider-group .mui-slider-item img {
width: 100%;
}
.mui-slider .mui-slider-group .mui-slider-item .mui-table-view:before, .mui-slider .mui-slider-group .mui-slider-item .mui-table-view:after {
height: 0;
}
.mui-slider .mui-slider-group.mui-slider-loop {
-webkit-transform: translate(-100%, 0px);
transform: translate(-100%, 0px);
......
This source diff could not be displayed because it is too large. You can view the blob instead.
/*!
* =====================================================
* Mui v0.8.0 (https://github.com/dcloudio/mui)
* Mui v0.9.0 (https://github.com/dcloudio/mui)
* =====================================================
*/
/**
......@@ -543,8 +543,11 @@ var mui = (function(document, undefined) {
// document.body.insertBefore(content, document.body.firstElementChild);
// }
document.addEventListener('focusin', function(e) {
document.body.classList.add(CLASS_FOCUSIN);
var target = e.target;
if (target.tagName && target.tagName !== 'INPUT') {
return;
}
document.body.classList.add(CLASS_FOCUSIN);
var isFooter = false;
for (; target && target !== document; target = target.parentNode) {
var classList = target.classList;
......@@ -562,10 +565,13 @@ var mui = (function(document, undefined) {
}
});
document.addEventListener('focusout', function(e) {
document.body.classList.remove(CLASS_FOCUSIN);
setTimeout(function() {
window.scrollTo(document.body.scrollLeft, document.body.scrollTop);
}, 20);
var classList = document.body.classList;
if (classList.contains(CLASS_FOCUSIN)) {
classList.remove(CLASS_FOCUSIN);
setTimeout(function() {
window.scrollTo(document.body.scrollLeft, document.body.scrollTop);
}, 20);
}
});
});
})(mui, document);
......@@ -863,7 +869,7 @@ var mui = (function(document, undefined) {
index: 5,
handle: handle,
options: {
flickMaxTime: 300,
flickMaxTime: 200,
flickMinDistince: 10
}
});
......@@ -1506,26 +1512,45 @@ var mui = (function(document, undefined) {
handle: function() {
var options = $.options;
var subpages = options.subpages || [];
$.plusReady(function() {
//TODO 这里需要判断一下,最好等子窗口加载完毕后,再调用主窗口的show方法;
//或者:在openwindow方法中,监听实现;
$.each(subpages, function(index, subpage) {
$.appendWebview(subpage);
if($.os.plus){
$.plusReady(function() {
//TODO 这里需要判断一下,最好等子窗口加载完毕后,再调用主窗口的show方法;
//或者:在openwindow方法中,监听实现;
$.each(subpages, function(index, subpage) {
$.appendWebview(subpage);
});
//判断是否首页
if ($.currentWebview === plus.webview.getWebviewById(plus.runtime.appid)) {
$.isHomePage = true;
//首页需要自己激活预加载;
//timeout因为子页面loaded之后才append的,防止子页面尚未append、从而导致其preload未触发的问题;
setTimeout(function() {
triggerPreload($.currentWebview);
}, 300);
}
//设置ios顶部状态栏颜色;
if ($.os.ios&&$.options.statusBarBackground) {
plus.navigator.setStatusBarBackground($.options.statusBarBackground);
}
});
//判断是否首页
if ($.currentWebview === plus.webview.getWebviewById(plus.runtime.appid)) {
$.isHomePage = true;
//首页需要自己激活预加载;
//timeout因为子页面loaded之后才append的,防止子页面尚未append、从而导致其preload未触发的问题;
setTimeout(function() {
triggerPreload($.currentWebview);
}, 300);
}
//设置ios顶部状态栏颜色;
if ($.os.ios&&$.options.statusBarBackground) {
plus.navigator.setStatusBarBackground($.options.statusBarBackground);
}else{
if(subpages.length>0){
var err = document.createElement('div');
err.className = 'mui-error';
//文字描述
var span = document.createElement('span');
span.innerHTML = '在该浏览器下,不支持创建子页面,具体参考';
err.appendChild(span);
var a = document.createElement('a');
a.innerHTML = '"mui框架适用场景"';
a.href = 'http://ask.dcloud.net.cn/article/113';
err.appendChild(a);
document.body.appendChild(err);
console.log('在该浏览器下,不支持创建子页面');
}
});
}
}
});
window.addEventListener('preload', function() {
......@@ -1591,7 +1616,7 @@ var mui = (function(document, undefined) {
});
window.addEventListener('swiperight', function(e) {
var detail = e.detail;
if ($.options.swipeBack === true && Math.abs(detail.angle)< 6) {
if ($.options.swipeBack === true && Math.abs(detail.angle)< 3) {
$.back();
}
});
......@@ -2420,6 +2445,7 @@ var mui = (function(document, undefined) {
this.resetPosition();
return;
}
switch (e.type) {
case 'touchstart':
this._start(e);
......@@ -3276,7 +3302,7 @@ var mui = (function(document, undefined) {
return result ? result.x : 0;
},
_getSlideNumber: function() {
return Math.abs(Math.round(this.x / this.wrapperWidth));
return Math.abs(Math.round(Math.abs(this.x) / this.wrapperWidth));
},
_transitionEnd: function(e) {
if (e.target !== this.scroller || !this.isInTransition) {
......@@ -3296,7 +3322,9 @@ var mui = (function(document, undefined) {
return;
}
if (e.type === 'flick') {
this.x = -(this.slideNumber + (direction === 'left' ? 1 : -1)) * this.wrapperWidth;
if (detail.touchTime < 200) { //flick,太容易触发,额外校验一下touchtime
this.x = -(this.slideNumber + (direction === 'left' ? 1 : -1)) * this.wrapperWidth;
}
this.resetPosition(this.options.bounceTime);
} else if (e.type === 'dragend' && !detail.flick) {
this.resetPosition(this.options.bounceTime);
......@@ -3350,9 +3378,9 @@ var mui = (function(document, undefined) {
}
}
this._gotoItem(slideNumber, bounceTime);
// if (!auto) { //TODO 这个设置后续还得仔细过一遍
// this.isInTransition = false;
// }
// if (!auto) { //TODO 这个设置后续还得仔细过一遍
// this.isInTransition = false;
// }
},
prevItem: function() {
this._gotoItem(this._fixedSlideNumber(this.slideNumber - 1), this.options.bounceTime);
......@@ -3547,8 +3575,8 @@ var mui = (function(document, undefined) {
self.isLoading = false;
if (finished) {
self.pullCaption.innerHTML = self.options.up.contentnomore;
// self.bottomPocket.classList.remove(CLASS_BLOCK);
// self.bottomPocket.classList.add(CLASS_HIDDEN);
// self.bottomPocket.classList.remove(CLASS_BLOCK);
// self.bottomPocket.classList.add(CLASS_HIDDEN);
document.removeEventListener('plusscrollbottom', self);
} else { //初始化时隐藏,后续不再隐藏
self.pullCaption.innerHTML = self.options.up.contentdown;
......@@ -3571,23 +3599,28 @@ var mui = (function(document, undefined) {
//override h5 pullRefresh
$.fn.pullRefresh = function(options) {
if (this.length === 1) {
if (typeof options === 'string') {
options = $.parseJSON(options);
}
var self = this[0];
var pullRefreshApi = null;
var id = self.getAttribute('data-pullrefresh-plus');
if (!id) { //避免重复初始化5+ pullrefresh
document.body.classList.add(CLASS_PLUS_PULLREFRESH);
id = ++$.uuid;
$.data[id] = pullRefreshApi = new PlusPullRefresh(self, options);
self.setAttribute('data-pullrefresh-plus', id);
} else {
pullRefreshApi = $.data[id];
}
return pullRefreshApi;
var self;
if (this.length === 0) {
self = document.createElement('div');
self.className = 'mui-content';
document.body.appendChild(self);
} else {
self = this[0];
}
if (typeof options === 'string') {
options = $.parseJSON(options);
}
var pullRefreshApi = null;
var id = self.getAttribute('data-pullrefresh-plus');
if (!id) { //避免重复初始化5+ pullrefresh
document.body.classList.add(CLASS_PLUS_PULLREFRESH);
id = ++$.uuid;
$.data[id] = pullRefreshApi = new PlusPullRefresh(self, options);
self.setAttribute('data-pullrefresh-plus', id);
} else {
pullRefreshApi = $.data[id];
}
return pullRefreshApi;
};
})(mui, document);
/**
......@@ -4025,11 +4058,11 @@ var mui = (function(document, undefined) {
});
var fixedPopoverScroll = function(isPopoverScroll) {
if (isPopoverScroll) {
document.body.setAttribute('style', 'overflow:hidden;');
} else {
document.body.setAttribute('style', '');
}
// if (isPopoverScroll) {
// document.body.setAttribute('style', 'overflow:hidden;');
// } else {
// document.body.setAttribute('style', '');
// }
};
var onPopoverHidden = function(e) {
this.setAttribute('style', '');
......@@ -4057,8 +4090,8 @@ var mui = (function(document, undefined) {
backdrop.setAttribute('style', 'opacity:0');
$.targets.popover = $.targets._popover = null; //reset
setTimeout(function() {
if (!popover.classList.contains(CLASS_ACTIVE) && backdrop.parentNode && backdrop.parentNode === popover.parentNode) {
popover.parentNode.removeChild(backdrop);
if (!popover.classList.contains(CLASS_ACTIVE) && backdrop.parentNode && backdrop.parentNode === document.body) {
document.body.removeChild(backdrop);
}
}, 350);
};
......@@ -4074,18 +4107,21 @@ var mui = (function(document, undefined) {
backdrop.classList.remove(CLASS_ACTION_BACKDROP);
var _popover = document.querySelector('.mui-popover.mui-active');
if (_popover) {
_popover.setAttribute('style', '');
// _popover.setAttribute('style', '');
_popover.addEventListener('webkitTransitionEnd', onPopoverHidden);
_popover.classList.remove(CLASS_ACTIVE);
_popover.removeEventListener('webkitTransitionEnd', onPopoverHidden);
fixedPopoverScroll(false);
// _popover.removeEventListener('webkitTransitionEnd', onPopoverHidden);
// fixedPopoverScroll(false);
//同一个弹出则直接返回,解决同一个popover的toggle
if (popover === _popover) {
removeBackdrop(_popover);
return;
}
}
var isActionSheet = false;
if (popover.classList.contains(CLASS_BAR_POPOVER) || popover.classList.contains(CLASS_ACTION_POPOVER)) { //navBar
if (popover.classList.contains(CLASS_ACTION_POPOVER)) { //action sheet popover
isActionSheet = true;
backdrop.classList.add(CLASS_ACTION_BACKDROP);
} else { //bar popover
backdrop.classList.add(CLASS_BAR_BACKDROP);
......@@ -4101,30 +4137,41 @@ var mui = (function(document, undefined) {
// }
}
}
popover.offsetHeight
popover.setAttribute('style', 'display:block'); //actionsheet transform
popover.offsetHeight;
popover.classList.add(CLASS_ACTIVE);
backdrop.setAttribute('style', '');
popover.parentNode.appendChild(backdrop);
document.body.appendChild(backdrop);
fixedPopoverScroll(true);
calPosition(popover, anchor); //position
calPosition(popover, anchor, isActionSheet); //position
backdrop.classList.add(CLASS_ACTIVE);
};
var calPosition = function(popover, anchor) {
var calPosition = function(popover, anchor, isActionSheet) {
if (!popover || !anchor) {
return;
}
var wWidth = window.innerWidth;
var wHeight = window.innerHeight;
var pWidth = popover.offsetWidth;
var pHeight = popover.offsetHeight;
if (isActionSheet) { //actionsheet
popover.setAttribute('style', 'display:block;top:' + (wHeight - pHeight + window.pageYOffset) + 'px;left:' + (wWidth - pWidth) / 2 + 'px;');
return;
}
var aWidth = anchor.offsetWidth;
var aHeight = anchor.offsetHeight;
var offset = $.offset(anchor);
var arrow = popover.querySelector('.' + CLASS_POPOVER_ARROW);
if (!arrow) {
arrow = document.createElement('div');
arrow.className = CLASS_POPOVER_ARROW;
popover.appendChild(arrow);
}
var arrowSize = arrow && arrow.offsetWidth / 2 || 0;
var wWidth = window.innerWidth;
var wHeight = window.innerHeight;
var pTop = 0;
var pLeft = 0;
......@@ -4133,22 +4180,15 @@ var mui = (function(document, undefined) {
var defaultPadding = popover.classList.contains(CLASS_ACTION_POPOVER) ? 0 : 5;
var position = 'top';
if ((pHeight + arrowSize) < offset.top) { //top
if ((pHeight + arrowSize) < (offset.top - window.pageYOffset)) { //top
pTop = offset.top - pHeight - arrowSize;
} else if ((pHeight + arrowSize) < (wHeight - offset.top - aHeight)) { //bottom
} else if ((pHeight + arrowSize) < (wHeight - (offset.top - window.pageYOffset) - aHeight)) { //bottom
position = 'bottom';
pTop = offset.top + aHeight + arrowSize;
} else { //middle
position = 'middle';
pTop = aHeight / 2 + offset.top - pHeight / 2;
diff = pTop;
if (pTop < 0) {
pTop = defaultPadding;
} else if (pTop + pHeight > wHeight) {
pTop = wHeight - pHeight - defaultPadding;
}
diff = diff - pTop;
pTop = Math.max((wHeight - pHeight) / 2 + window.pageYOffset, 0);
pLeft = Math.max((wWidth - pWidth) / 2 + window.pageXOffset, 0);
}
if (position === 'top' || position === 'bottom') {
pLeft = aWidth / 2 + offset.left - pWidth / 2;
......@@ -4167,9 +4207,8 @@ var mui = (function(document, undefined) {
arrowLeft = Math.max(Math.min(arrowLeft, pWidth - arrowSize * 2 - 6), 6);
arrow.setAttribute('style', 'left:' + arrowLeft + 'px');
}
} else if (position === 'middle') {
//TODO hide angle
arrow.setAttribute('style', 'display:none');
}
popover.setAttribute('style', 'display:block;top:' + pTop + 'px;left:' + pLeft + 'px;');
};
......@@ -4413,21 +4452,25 @@ var mui = (function(document, undefined) {
var CLASS_TOGGLE = 'mui-switch';
var CLASS_BTN = 'mui-btn';
var CLASS_SLIDER_CELL = 'mui-slider-cell';
var CLASS_SLIDER_HANDLE = 'mui-slider-handle';
var CLASS_SLIDER_LEFT = 'mui-slider-left';
var CLASS_SLIDER_RIGHT = 'mui-slider-right';
var CLASS_BOUNCE = 'mui-bounce';
var CLASS_TRANSITIONING = 'mui-transitioning';
var SELECTOR_SLIDER_CELL = '.' + CLASS_SLIDER_CELL;
var SELECTOR_SLIDER_HANDLE = '.' + CLASS_SLIDER_HANDLE;
var SELECTOR_SLIDER_LEFT = '.' + CLASS_SLIDER_LEFT;
var SELECTOR_SLIDER_RIGHT = '.' + CLASS_SLIDER_RIGHT;
var bounceFactor = 0.4;
var drawerFactor = 1;
var factor = 1;
var SELECTOR_SELECTED = '.' + CLASS_SELECTED;
var SELECTOR_BUTTON = '.' + CLASS_BTN;
var overFactor = 0.8;
var cell, a;
var sliderCell, sliderHandle, sliderTranslateX, sliderHandleWidth, sliderHandleLeft, sliderLeft, sliderLeftBg, sliderLeftWidth, sliderRight, sliderRightBg, sliderRightWidth, isDraging, sliderRequestAnimationFrame, translateX, lastTranslateX;
var isMoved = isOpened = openedActions = progress = false;
var sliderHandle = sliderActionLeft = sliderActionRight = buttonsLeft = buttonsRight = sliderDirection = sliderRequestAnimationFrame = false;
var translateX = lastTranslateX = sliderActionLeftWidth = sliderActionRightWidth = 0;
var toggleActive = function(isActive) {
if (isActive) {
......@@ -4447,65 +4490,38 @@ var mui = (function(document, undefined) {
var updateTranslate = function() {
if (translateX !== lastTranslateX) {
if (sliderLeft || sliderRight) {
if (sliderLeft && sliderRight) { //both
if (sliderTranslateX === 0) {
setTranslate(sliderHandle, translateX);
} else {
setTranslate(sliderHandle, sliderTranslateX + translateX);
}
} else if (sliderLeft) { //only left
if (sliderTranslateX === 0) {
setTranslate(sliderHandle, Math.max(translateX, 0));
} else {
setTranslate(sliderHandle, Math.max(sliderTranslateX + translateX, 0));
}
} else if (sliderRight) { //only right
if (sliderTranslateX === 0) {
setTranslate(sliderHandle, Math.min(translateX, 0));
} else {
setTranslate(sliderHandle, Math.min(sliderTranslateX + translateX, 0));
}
if (buttonsRight && buttonsRight.length > 0) {
progress = translateX / sliderActionRightWidth;
if (translateX < -sliderActionRightWidth) {
translateX = -sliderActionRightWidth - Math.pow(-translateX - sliderActionRightWidth, overFactor);
}
if (sliderLeft) { //left
if (sliderTranslateX === 0) {
if (translateX > sliderLeftWidth) {
sliderCell.style.backgroundColor = sliderLeftBg;
setTranslate(sliderLeft, Math.max((translateX - sliderLeftWidth), 0));
}
} else {
if (translateX > 0) {
sliderCell.style.backgroundColor = sliderLeftBg;
} else {
sliderCell.style.backgroundColor = '';
}
setTranslate(sliderLeft, Math.max(translateX, 0));
for (var i = 0, len = buttonsRight.length; i < len; i++) {
var buttonRight = buttonsRight[i];
if (typeof buttonRight._buttonOffset === 'undefined') {
buttonRight._buttonOffset = buttonRight.offsetLeft;
}
buttonOffset = buttonRight._buttonOffset;
setTranslate(buttonRight, (translateX - buttonOffset * (1 + Math.max(progress, -1))));
}
if (sliderRight) { //right
if (sliderTranslateX === 0) {
if (-translateX > sliderRightWidth) {
sliderCell.style.backgroundColor = sliderRightBg;
setTranslate(sliderRight, Math.min(-((-translateX) - sliderRightWidth), 0));
}
} else {
if (translateX > 0 && !sliderLeft) {
sliderCell.style.backgroundColor = '';
} else {
sliderCell.style.backgroundColor = sliderRightBg;
}
setTranslate(sliderRight, Math.min(translateX, 0));
}
}
if (buttonsLeft && buttonsLeft.length > 0) {
progress = translateX / sliderActionLeftWidth;
if (translateX > sliderActionLeftWidth) {
translateX = sliderActionLeftWidth + Math.pow(translateX - sliderActionLeftWidth, overFactor);
}
} else if (sliderHandle) { //抽屉式功能菜单
//打开状态不允许translateX小于0,关闭状态不允许translateX大于0
if ((sliderTranslateX === 0 && translateX > 0) || (sliderTranslateX === sliderHandleWidth && translateX < 0)) {
if (Math.abs(translateX) <= sliderHandleWidth) {
setTranslate(sliderHandle, sliderTranslateX + translateX);
for (i = 0, len = buttonsLeft.length; i < len; i++) {
var buttonLeft = buttonsLeft[i];
if (typeof buttonLeft._buttonOffset === 'undefined') {
buttonLeft._buttonOffset = sliderActionLeftWidth - buttonLeft.offsetLeft - buttonLeft.offsetWidth;
}
buttonOffset = buttonLeft._buttonOffset;
if (buttonsLeft.length > 1) {
buttonLeft.style.zIndex = buttonsLeft.length - i;
}
setTranslate(buttonLeft, (translateX + buttonOffset * (1 - Math.min(progress, 1))));
}
}
setTranslate(sliderHandle, translateX);
lastTranslateX = translateX;
}
sliderRequestAnimationFrame = requestAnimationFrame(function() {
......@@ -4518,116 +4534,12 @@ var mui = (function(document, undefined) {
}
};
var toggleSliderLeftAction = function(show, trigger) {
if (sliderLeft) { //显示
sliderLeft.setAttribute('style', '');
sliderRight && sliderRight.setAttribute('style', '');
if (show) {
setTranslate(sliderHandle, sliderLeftWidth);
if (trigger) {
$.trigger(sliderHandle, 'slideright');
}
cell.classList.add(CLASS_SELECTED);
} else {
setTranslate(sliderHandle, 0);
cell.classList.remove(CLASS_SELECTED);
}
}
};
var toggleSliderRightAction = function(show, trigger) {
if (sliderRight) { //显示
sliderRight.setAttribute('style', '');
sliderLeft && sliderLeft.setAttribute('style', '');
if (show) {
setTranslate(sliderHandle, -sliderRightWidth);
if (trigger) {
$.trigger(sliderHandle, 'slideleft');
}
cell.classList.add(CLASS_SELECTED);
} else {
setTranslate(sliderHandle, 0);
cell.classList.remove(CLASS_SELECTED);
}
}
};
var toggleSliderHandle = function(show) {
if (sliderHandle) {
if (show) {
setTranslate(sliderHandle, 0);
cell.classList.add(CLASS_SELECTED);
} else {
setTranslate(sliderHandle, sliderHandleWidth);
cell.classList.remove(CLASS_SELECTED);
}
}
};
var endDraging = function(isSwipe, detail) {
isDraging = false;
if (sliderRequestAnimationFrame) {
cancelAnimationFrame(sliderRequestAnimationFrame);
sliderRequestAnimationFrame = null;
}
sliderCell.setAttribute('style', '');
var absTranslateX = Math.abs(translateX);
if (!isSwipe && (sliderLeft || sliderRight)) { //bounce
if (translateX > 0) { //dragright
var distance = sliderLeftWidth / 2;
if (sliderTranslateX !== 0) {
if (sliderRight) { //关闭
//trigger is false
toggleSliderRightAction(!(absTranslateX >= sliderRightWidth / 2), false);
distance = sliderLeftWidth / 2 + sliderRightWidth;
}
}
if (sliderLeft) {
var isShow = (absTranslateX >= distance);
if (sliderLeft.classList.contains(CLASS_BOUNCE)) { //bounce
sliderLeft.setAttribute('style', '');
setTranslate(sliderHandle, 0);
if (isShow && !detail.swipe) {
$.trigger(sliderHandle, 'slideright');
}
} else {
toggleSliderLeftAction(isShow, true);
}
}
} else {
var distance = sliderLeftWidth / 2;
if (sliderTranslateX !== 0) {
if (sliderLeft) { //关闭
//trigger is false
toggleSliderLeftAction(!(absTranslateX >= sliderLeftWidth / 2), false);
distance = sliderRightWidth / 2 + sliderLeftWidth;
}
}
if (sliderRight) { //显示
var isShow = (absTranslateX >= distance);
if (sliderRight.classList.contains(CLASS_BOUNCE)) { //bounce
sliderRight.setAttribute('style', '');
setTranslate(sliderHandle, 0);
if (isShow && !detail.swipe) {
$.trigger(sliderHandle, 'slideleft');
}
} else {
toggleSliderRightAction(isShow, true);
}
}
}
} else if (!(sliderLeft || sliderRight)) {
if (sliderTranslateX === 0) { //关闭
toggleSliderHandle(!(absTranslateX > (sliderHandleWidth / 2)));
} else { //拉开
toggleSliderHandle((absTranslateX > (sliderHandleWidth / 2)));
}
}
};
window.addEventListener('touchstart', function(event) {
if (cell) {
toggleActive(false);
}
cell = a = sliderHandle = sliderLeft = sliderRight = isDraging = sliderRequestAnimationFrame = false;
translateX = lastTranslateX = sliderTranslateX = sliderHandleWidth = sliderLeftWidth = sliderRightWidth = 0;
sliderLeftBg = sliderRightBg = '';
cell = a = false;
isMoved = isOpened = openedActions = false;
var target = event.target;
var isDisabled = false;
......@@ -4642,25 +4554,12 @@ var mui = (function(document, undefined) {
}
if (classList.contains(CLASS_TABLE_VIEW_CELL)) {
cell = target;
var selected = cell.parentNode.querySelector('.' + CLASS_SELECTED);
//TODO swipe to delete close
var selected = cell.parentNode.querySelector(SELECTOR_SELECTED);
if (selected && selected !== cell) {
selected.classList.remove(CLASS_SELECTED);
var selectedSliderHandle = selected.querySelector(SELECTOR_SLIDER_HANDLE);
if (selectedSliderHandle) {
var selectedLeft = selected.querySelector(SELECTOR_SLIDER_LEFT);
if (selectedLeft) {
selectedLeft.setAttribute('style', '');
}
var selectedRight = selected.querySelector(SELECTOR_SLIDER_RIGHT);
if (selectedRight) {
selectedRight.setAttribute('style', '');
}
if (selectedLeft || selectedRight) {
setTranslate(selectedSliderHandle, 0);
} else {
setTranslate(selectedSliderHandle, selectedSliderHandle.offsetWidth);
}
}
$.swipeoutClose(selected);
cell = isDisabled = false;
return;
}
if (!cell.parentNode.classList.contains(CLASS_GRID_VIEW)) {
var link = cell.querySelector('a');
......@@ -4668,36 +4567,10 @@ var mui = (function(document, undefined) {
a = link;
}
}
sliderCell = cell.querySelector(SELECTOR_SLIDER_CELL);
if (sliderCell && sliderCell.parentNode === cell) {
var handle = sliderCell.querySelector(SELECTOR_SLIDER_HANDLE);
if (handle) { //slider
toggleEvents(cell);
sliderHandle = handle;
sliderHandleWidth = sliderHandle.offsetWidth;
sliderHandleLeft = $.getStyles(sliderHandle, 'margin-left');
factor = drawerFactor;
var left = sliderCell.querySelector(SELECTOR_SLIDER_LEFT);
if (left) { //li>.left
sliderLeft = left;
sliderLeftBg = $.getStyles(left, 'background-color');
sliderLeftWidth = left.offsetWidth;
}
var right = sliderCell.querySelector(SELECTOR_SLIDER_RIGHT);
if (right) { //li>.right
sliderRight = right;
sliderRightBg = $.getStyles(right, 'background-color');
sliderRightWidth = right.offsetWidth;
}
if (sliderLeft || sliderRight) {
factor = bounceFactor;
}
var matrix = $.getStyles(sliderHandle, 'webkitTransform');
var result = $.parseTranslateMatrix(matrix);
sliderTranslateX = result ? result.x : 0;
}
if (cell.querySelector(SELECTOR_SLIDER_HANDLE)) {
toggleEvents(cell);
event.stopPropagation();
}
if (!isDisabled) {
toggleActive(true);
}
......@@ -4713,15 +4586,15 @@ var mui = (function(document, undefined) {
var handleEvent = {
handleEvent: function(event) {
switch (event.type) {
case 'dragstart':
this.dragstart(event);
break;
case 'drag':
this.drag(event);
break;
case 'dragend':
this.dragend(event);
break;
case 'flick':
this.flick(event);
break;
case 'swiperight':
this.swiperight(event);
break;
......@@ -4730,99 +4603,238 @@ var mui = (function(document, undefined) {
break;
}
},
dragstart: function(event) {
drag: function(event) {
if (!cell) {
return;
}
if (!isMoved) { //init
sliderHandle = sliderActionLeft = sliderActionRight = buttonsLeft = buttonsRight = sliderDirection = sliderRequestAnimationFrame = false;
sliderHandle = cell.querySelector(SELECTOR_SLIDER_HANDLE);
if (sliderHandle) {
sliderActionLeft = cell.querySelector(SELECTOR_SLIDER_LEFT);
sliderActionRight = cell.querySelector(SELECTOR_SLIDER_RIGHT);
if (sliderActionLeft) {
sliderActionLeftWidth = sliderActionLeft.offsetWidth;
buttonsLeft = sliderActionLeft.querySelectorAll(SELECTOR_BUTTON);
}
if (sliderActionRight) {
sliderActionRightWidth = sliderActionRight.offsetWidth;
buttonsRight = sliderActionRight.querySelectorAll(SELECTOR_BUTTON);
}
cell.classList.remove(CLASS_TRANSITIONING);
isOpened = cell.classList.contains(CLASS_SELECTED);
if (isOpened) {
openedActions = cell.querySelector(SELECTOR_SLIDER_LEFT + SELECTOR_SELECTED) ? 'left' : 'right';
}
}
}
var detail = event.detail;
var direction = detail.direction;
var angle = detail.angle;
if (direction === 'left') {
if ((sliderRight || sliderHandle) && (angle > 150 || angle < -150)) {
if (!sliderRight && sliderLeft && sliderTranslateX === 0) { //仅有左侧按钮时不允许左拖
return;
}
if (sliderHandle && !sliderRight && !sliderLeft && sliderTranslateX === 0) { //抽屉式已展开,不允许左拖
return;
if (direction === 'left' && (angle > 150 || angle < -150)) {
if (buttonsRight || (buttonsLeft && isOpened)) { //存在右侧按钮或存在左侧按钮且是已打开状态
isMoved = true;
}
} else if (direction === 'right' && (angle > -30 && angle < 30)) {
if (buttonsLeft || (buttonsRight && isOpened)) { //存在左侧按钮或存在右侧按钮且是已打开状态
isMoved = true;
}
}
if (isMoved) {
event.stopPropagation();
event.detail.gesture.preventDefault();
var translate = event.detail.deltaX;
if (isOpened) {
if (openedActions === 'right') {
translate = translate - sliderActionRightWidth;
} else {
translate = translate + sliderActionLeftWidth;
}
isDraging = true;
}
} else if (direction === 'right') {
if ((sliderLeft || sliderHandle) && angle > -30 && angle < 30) {
if (!sliderLeft && sliderRight && sliderTranslateX === 0) { //仅有右侧按钮时不允许右拖
if ((translate > 0 && !buttonsLeft) || (translate < 0 && !buttonsRight)) {
if (!isOpened) {
return;
}
if (sliderHandle && !sliderRight && !sliderLeft && sliderTranslateX === sliderHandleWidth) { //抽屉式已关闭,不允许右拖
return;
translate = 0;
}
if (translate < 0) {
sliderDirection = 'toLeft';
} else if (translate > 0) {
sliderDirection = 'toRight';
} else {
if (!sliderDirection) {
sliderDirection = 'toLeft';
}
isDraging = true;
}
}
if (isDraging) {
event.stopPropagation();
}
},
drag: function(event) {
if (isDraging) {
if (!sliderRequestAnimationFrame) {
updateTranslate();
}
translateX = event.detail.deltaX * factor;
event.detail.gesture.preventDefault();
translateX = translate;
}
},
dragend: function(event) {
if (isDraging) {
endDraging(false, event.detail);
flick: function(event) {
if (isMoved) {
event.stopPropagation();
}
},
swipeleft: function(event) {
if (isMoved) {
event.stopPropagation();
}
},
swiperight: function(event) {
var isSwipeable = false;
if (sliderLeft && !sliderLeft.classList.contains(CLASS_BOUNCE) && sliderTranslateX === 0) {
//left show
toggleSliderLeftAction(true, true);
isSwipeable = true;
} else if (sliderRight && sliderTranslateX < 0) {
//right hide
toggleSliderRightAction(false, false);
isSwipeable = true;
} else if (!sliderLeft && !sliderRight) {
isSwipeable = true;
}
if (isSwipeable) {
$.gestures.stoped = true;
endDraging(true, event.detail);
if (isMoved) {
event.stopPropagation();
}
event.stopPropagation();
},
swipeleft: function(event) {
var isSwipeable = false;
if (sliderRight && !sliderRight.classList.contains(CLASS_BOUNCE) && sliderTranslateX === 0) {
//right show
toggleSliderRightAction(true, true);
isSwipeable = true;
} else if (sliderLeft && sliderTranslateX > 0) {
//left hide
toggleSliderLeftAction(false, false);
isSwipeable = true;
} else if (!sliderLeft && !sliderRight) {
isSwipeable = true;
}
if (isSwipeable) {
$.gestures.stoped = true;
endDraging(true, event.detail);
dragend: function(event) {
if (!isMoved) {
return;
}
event.stopPropagation();
if (sliderRequestAnimationFrame) {
cancelAnimationFrame(sliderRequestAnimationFrame);
sliderRequestAnimationFrame = null;
}
var detail = event.detail;
isMoved = false;
var action = 'close';
var actionsWidth = sliderDirection === 'toLeft' ? sliderActionRightWidth : sliderActionLeftWidth;
var isToggle = detail.swipe || (Math.abs(translateX) > actionsWidth / 2);
if (isToggle) {
if (!isOpened) {
action = 'open';
} else if (detail.direction === 'left' && openedActions === 'right') {
action = 'open';
} else if (detail.direction === 'right' && openedActions === 'left') {
action = 'open';
}
}
cell.classList.add(CLASS_TRANSITIONING);
var buttons;
if (action === 'open') {
var newTranslate = sliderDirection === 'toLeft' ? -actionsWidth : actionsWidth;
setTranslate(sliderHandle, newTranslate);
buttons = sliderDirection === 'toLeft' ? buttonsRight : buttonsLeft;
if (typeof buttons !== 'undefined') {
var button = null;
for (i = 0; i < buttons.length; i++) {
button = buttons[i];
setTranslate(button, newTranslate);
}
button.parentNode.classList.add(CLASS_SELECTED);
cell.classList.add(CLASS_SELECTED);
if (!isOpened) {
$.trigger(cell, sliderDirection === 'toLeft' ? 'slideleft' : 'slideright');
}
}
} else {
setTranslate(sliderHandle, 0);
sliderActionLeft && sliderActionLeft.classList.remove(CLASS_SELECTED);
sliderActionRight && sliderActionRight.classList.remove(CLASS_SELECTED);
cell.classList.remove(CLASS_SELECTED);
}
var buttonOffset;
if (buttonsLeft && buttonsLeft.length > 0 && buttonsLeft !== buttons) {
for (var i = 0, len = buttonsLeft.length; i < len; i++) {
var buttonLeft = buttonsLeft[i];
buttonOffset = buttonLeft._buttonOffset;
if (typeof buttonOffset === 'undefined') {
buttonLeft._buttonOffset = sliderActionLeftWidth - buttonLeft.offsetLeft - buttonLeft.offsetWidth;
}
setTranslate(buttonLeft, buttonOffset);
}
}
if (buttonsRight && buttonsRight.length > 0 && buttonsRight !== buttons) {
for (var i = 0, len = buttonsRight.length; i < len; i++) {
var buttonRight = buttonsRight[i];
buttonOffset = buttonRight._buttonOffset;
if (typeof buttonOffset === 'undefined') {
buttonRight._buttonOffset = buttonRight.offsetLeft;
}
setTranslate(buttonRight, -buttonOffset);
}
}
}
};
function toggleEvents(element, isRemove) {
var method = !!isRemove ? 'removeEventListener' : 'addEventListener';
element[method]('dragstart', handleEvent);
element[method]('drag', handleEvent);
element[method]('dragend', handleEvent);
element[method]('swiperight', handleEvent);
element[method]('swipeleft', handleEvent);
}
element[method]('flick', handleEvent);
};
/**
* 打开滑动菜单
* @param {Object} el
* @param {Object} direction
*/
$.swipeoutOpen = function(el, direction) {
if (!el) return;
var classList = el.classList;
if (classList.contains(CLASS_SELECTED)) return;
if (!direction) {
if (el.querySelector(SELECTOR_SLIDER_RIGHT)) {
direction = 'right';
} else {
direction = 'left';
}
}
var swipeoutAction = el.querySelector($.classSelector(".slider-" + direction));
if (!swipeoutAction) return;
swipeoutAction.classList.add(CLASS_SELECTED);
classList.add(CLASS_SELECTED);
classList.remove(CLASS_TRANSITIONING);
var buttons = swipeoutAction.querySelectorAll(SELECTOR_BUTTON);
var swipeoutWidth = swipeoutAction.offsetWidth;
var translate = (direction === 'right') ? -swipeoutWidth : swipeoutWidth;
var length = buttons.length;
var button;
for (var i = 0; i < length; i++) {
button = buttons[i];
if (direction === 'right') {
setTranslate(button, -button.offsetLeft);
} else {
setTranslate(button, (swipeoutWidth - button.offsetWidth - button.offsetLeft));
}
}
classList.add(CLASS_TRANSITIONING);
for (var i = 0; i < length; i++) {
setTranslate(buttons[i], translate);
}
setTranslate(el.querySelector(SELECTOR_SLIDER_HANDLE), translate);
};
/**
* 关闭滑动菜单
* @param {Object} el
*/
$.swipeoutClose = function(el) {
if (!el) return;
var classList = el.classList;
if (!classList.contains(CLASS_SELECTED)) return;
var direction = el.querySelector(SELECTOR_SLIDER_RIGHT + SELECTOR_SELECTED) ? 'right' : 'left';
var swipeoutAction = el.querySelector($.classSelector(".slider-" + direction));
if (!swipeoutAction) return;
swipeoutAction.classList.remove(CLASS_SELECTED);
classList.remove(CLASS_SELECTED);
classList.add(CLASS_TRANSITIONING);
var buttons = swipeoutAction.querySelectorAll(SELECTOR_BUTTON);
var swipeoutWidth = swipeoutAction.offsetWidth;
var length = buttons.length;
var button;
setTranslate(el.querySelector(SELECTOR_SLIDER_HANDLE), 0);
for (var i = 0; i < length; i++) {
button = buttons[i];
if (direction === 'right') {
setTranslate(button, (-button.offsetLeft));
} else {
setTranslate(button, (swipeoutWidth - button.offsetWidth - button.offsetLeft));
}
}
};
window.addEventListener('touchend', function(event) { //使用touchend来取消高亮,避免一次点击既不触发tap,doubletap,longtap的事件
if (!cell) {
......@@ -4869,7 +4881,7 @@ var mui = (function(document, undefined) {
}
var isExpand = false;
var classList = cell.classList;
if (classList.contains('mui-collapse')) {
if (classList.contains('mui-collapse') && !cell.parentNode.classList.contains('mui-unfold')) {
event.detail.gesture.preventDefault();
if (!classList.contains(CLASS_ACTIVE)) { //展开时,需要收缩其他同类
var collapse = cell.parentNode.querySelector('.mui-collapse.mui-active');
......
This source diff could not be displayed because it is too large. You can view the blob instead.
/*!
* =====================================================
* Mui v0.8.0 (https://github.com/dcloudio/mui)
* Mui v0.9.0 (https://github.com/dcloudio/mui)
* =====================================================
*/
/*!
......
/*!
* =====================================================
* Mui v0.8.0 (https://github.com/dcloudio/mui)
* Mui v0.9.0 (https://github.com/dcloudio/mui)
* =====================================================
*/
!function(a,b){"function"==typeof define&&define.amd?define([],b):"object"==typeof exports?module.exports=b():a.Handlebars=a.Handlebars||b()}(this,function(){var a=function(){"use strict";function a(a){this.string=a}var b;return a.prototype.toString=function(){return""+this.string},b=a}(),b=function(a){"use strict";function b(a){return i[a]}function c(a){for(var b=1;b<arguments.length;b++)for(var c in arguments[b])Object.prototype.hasOwnProperty.call(arguments[b],c)&&(a[c]=arguments[b][c]);return a}function d(a){return a instanceof h?a.toString():null==a?"":a?(a=""+a,k.test(a)?a.replace(j,b):a):a+""}function e(a){return a||0===a?n(a)&&0===a.length?!0:!1:!0}function f(a,b){return(a?a+".":"")+b}var g={},h=a,i={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},j=/[&<>"'`]/g,k=/[&<>"'`]/;g.extend=c;var l=Object.prototype.toString;g.toString=l;var m=function(a){return"function"==typeof a};m(/x/)&&(m=function(a){return"function"==typeof a&&"[object Function]"===l.call(a)});var m;g.isFunction=m;var n=Array.isArray||function(a){return a&&"object"==typeof a?"[object Array]"===l.call(a):!1};return g.isArray=n,g.escapeExpression=d,g.isEmpty=e,g.appendContextPath=f,g}(a),c=function(){"use strict";function a(a,b){var d;b&&b.firstLine&&(d=b.firstLine,a+=" - "+d+":"+b.firstColumn);for(var e=Error.prototype.constructor.call(this,a),f=0;f<c.length;f++)this[c[f]]=e[c[f]];d&&(this.lineNumber=d,this.column=b.firstColumn)}var b,c=["description","fileName","lineNumber","message","name","number","stack"];return a.prototype=new Error,b=a}(),d=function(a,b){"use strict";function c(a,b){this.helpers=a||{},this.partials=b||{},d(this)}function d(a){a.registerHelper("helperMissing",function(){if(1===arguments.length)return void 0;throw new g("Missing helper: '"+arguments[arguments.length-1].name+"'")}),a.registerHelper("blockHelperMissing",function(b,c){var d=c.inverse,e=c.fn;if(b===!0)return e(this);if(b===!1||null==b)return d(this);if(k(b))return b.length>0?(c.ids&&(c.ids=[c.name]),a.helpers.each(b,c)):d(this);if(c.data&&c.ids){var g=q(c.data);g.contextPath=f.appendContextPath(c.data.contextPath,c.name),c={data:g}}return e(b,c)}),a.registerHelper("each",function(a,b){if(!b)throw new g("Must pass iterator to #each");var c,d,e=b.fn,h=b.inverse,i=0,j="";if(b.data&&b.ids&&(d=f.appendContextPath(b.data.contextPath,b.ids[0])+"."),l(a)&&(a=a.call(this)),b.data&&(c=q(b.data)),a&&"object"==typeof a)if(k(a))for(var m=a.length;m>i;i++)c&&(c.index=i,c.first=0===i,c.last=i===a.length-1,d&&(c.contextPath=d+i)),j+=e(a[i],{data:c});else for(var n in a)a.hasOwnProperty(n)&&(c&&(c.key=n,c.index=i,c.first=0===i,d&&(c.contextPath=d+n)),j+=e(a[n],{data:c}),i++);return 0===i&&(j=h(this)),j}),a.registerHelper("if",function(a,b){return l(a)&&(a=a.call(this)),!b.hash.includeZero&&!a||f.isEmpty(a)?b.inverse(this):b.fn(this)}),a.registerHelper("unless",function(b,c){return a.helpers["if"].call(this,b,{fn:c.inverse,inverse:c.fn,hash:c.hash})}),a.registerHelper("with",function(a,b){l(a)&&(a=a.call(this));var c=b.fn;if(f.isEmpty(a))return b.inverse(this);if(b.data&&b.ids){var d=q(b.data);d.contextPath=f.appendContextPath(b.data.contextPath,b.ids[0]),b={data:d}}return c(a,b)}),a.registerHelper("log",function(b,c){var d=c.data&&null!=c.data.level?parseInt(c.data.level,10):1;a.log(d,b)}),a.registerHelper("lookup",function(a,b){return a&&a[b]})}var e={},f=a,g=b,h="2.0.0";e.VERSION=h;var i=6;e.COMPILER_REVISION=i;var j={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1"};e.REVISION_CHANGES=j;var k=f.isArray,l=f.isFunction,m=f.toString,n="[object Object]";e.HandlebarsEnvironment=c,c.prototype={constructor:c,logger:o,log:p,registerHelper:function(a,b){if(m.call(a)===n){if(b)throw new g("Arg not supported with multiple helpers");f.extend(this.helpers,a)}else this.helpers[a]=b},unregisterHelper:function(a){delete this.helpers[a]},registerPartial:function(a,b){m.call(a)===n?f.extend(this.partials,a):this.partials[a]=b},unregisterPartial:function(a){delete this.partials[a]}};var o={methodMap:{0:"debug",1:"info",2:"warn",3:"error"},DEBUG:0,INFO:1,WARN:2,ERROR:3,level:3,log:function(a,b){if(o.level<=a){var c=o.methodMap[a];"undefined"!=typeof console&&console[c]&&console[c].call(console,b)}}};e.logger=o;var p=o.log;e.log=p;var q=function(a){var b=f.extend({},a);return b._parent=a,b};return e.createFrame=q,e}(b,c),e=function(a,b,c){"use strict";function d(a){var b=a&&a[0]||1,c=m;if(b!==c){if(c>b){var d=n[c],e=n[b];throw new l("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+d+") or downgrade your runtime to an older version ("+e+").")}throw new l("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+a[1]+").")}}function e(a,b){if(!b)throw new l("No environment passed to template");if(!a||!a.main)throw new l("Unknown template object: "+typeof a);b.VM.checkRevision(a.compiler);var c=function(c,d,e,f,g,h,i,j,m){g&&(f=k.extend({},f,g));var n=b.VM.invokePartial.call(this,c,e,f,h,i,j,m);if(null==n&&b.compile){var o={helpers:h,partials:i,data:j,depths:m};i[e]=b.compile(c,{data:void 0!==j,compat:a.compat},b),n=i[e](f,o)}if(null!=n){if(d){for(var p=n.split("\n"),q=0,r=p.length;r>q&&(p[q]||q+1!==r);q++)p[q]=d+p[q];n=p.join("\n")}return n}throw new l("The partial "+e+" could not be compiled when running in runtime-only mode")},d={lookup:function(a,b){for(var c=a.length,d=0;c>d;d++)if(a[d]&&null!=a[d][b])return a[d][b]},lambda:function(a,b){return"function"==typeof a?a.call(b):a},escapeExpression:k.escapeExpression,invokePartial:c,fn:function(b){return a[b]},programs:[],program:function(a,b,c){var d=this.programs[a],e=this.fn(a);return b||c?d=f(this,a,e,b,c):d||(d=this.programs[a]=f(this,a,e)),d},data:function(a,b){for(;a&&b--;)a=a._parent;return a},merge:function(a,b){var c=a||b;return a&&b&&a!==b&&(c=k.extend({},b,a)),c},noop:b.VM.noop,compilerInfo:a.compiler},e=function(b,c){c=c||{};var f=c.data;e._setup(c),!c.partial&&a.useData&&(f=i(b,f));var g;return a.useDepths&&(g=c.depths?[b].concat(c.depths):[b]),a.main.call(d,b,d.helpers,d.partials,f,g)};return e.isTop=!0,e._setup=function(c){c.partial?(d.helpers=c.helpers,d.partials=c.partials):(d.helpers=d.merge(c.helpers,b.helpers),a.usePartial&&(d.partials=d.merge(c.partials,b.partials)))},e._child=function(b,c,e){if(a.useDepths&&!e)throw new l("must pass parent depths");return f(d,b,a[b],c,e)},e}function f(a,b,c,d,e){var f=function(b,f){return f=f||{},c.call(a,b,a.helpers,a.partials,f.data||d,e&&[b].concat(e))};return f.program=b,f.depth=e?e.length:0,f}function g(a,b,c,d,e,f,g){var h={partial:!0,helpers:d,partials:e,data:f,depths:g};if(void 0===a)throw new l("The partial "+b+" could not be found");return a instanceof Function?a(c,h):void 0}function h(){return""}function i(a,b){return b&&"root"in b||(b=b?o(b):{},b.root=a),b}var j={},k=a,l=b,m=c.COMPILER_REVISION,n=c.REVISION_CHANGES,o=c.createFrame;return j.checkRevision=d,j.template=e,j.program=f,j.invokePartial=g,j.noop=h,j}(b,c,d),f=function(a,b,c,d,e){"use strict";var f,g=a,h=b,i=c,j=d,k=e,l=function(){var a=new g.HandlebarsEnvironment;return j.extend(a,g),a.SafeString=h,a.Exception=i,a.Utils=j,a.escapeExpression=j.escapeExpression,a.VM=k,a.template=function(b){return k.template(b,a)},a},m=l();return m.create=l,m["default"]=m,f=m}(d,a,c,b,e),g=function(a){"use strict";function b(a){a=a||{},this.firstLine=a.first_line,this.firstColumn=a.first_column,this.lastColumn=a.last_column,this.lastLine=a.last_line}var c,d=a,e={ProgramNode:function(a,c,d){b.call(this,d),this.type="program",this.statements=a,this.strip=c},MustacheNode:function(a,c,d,f,g){if(b.call(this,g),this.type="mustache",this.strip=f,null!=d&&d.charAt){var h=d.charAt(3)||d.charAt(2);this.escaped="{"!==h&&"&"!==h}else this.escaped=!!d;this.sexpr=a instanceof e.SexprNode?a:new e.SexprNode(a,c),this.id=this.sexpr.id,this.params=this.sexpr.params,this.hash=this.sexpr.hash,this.eligibleHelper=this.sexpr.eligibleHelper,this.isHelper=this.sexpr.isHelper},SexprNode:function(a,c,d){b.call(this,d),this.type="sexpr",this.hash=c;var e=this.id=a[0],f=this.params=a.slice(1);this.isHelper=!(!f.length&&!c),this.eligibleHelper=this.isHelper||e.isSimple},PartialNode:function(a,c,d,e,f){b.call(this,f),this.type="partial",this.partialName=a,this.context=c,this.hash=d,this.strip=e,this.strip.inlineStandalone=!0},BlockNode:function(a,c,d,e,f){b.call(this,f),this.type="block",this.mustache=a,this.program=c,this.inverse=d,this.strip=e,d&&!c&&(this.isInverse=!0)},RawBlockNode:function(a,c,f,g){if(b.call(this,g),a.sexpr.id.original!==f)throw new d(a.sexpr.id.original+" doesn't match "+f,this);c=new e.ContentNode(c,g),this.type="block",this.mustache=a,this.program=new e.ProgramNode([c],{},g)},ContentNode:function(a,c){b.call(this,c),this.type="content",this.original=this.string=a},HashNode:function(a,c){b.call(this,c),this.type="hash",this.pairs=a},IdNode:function(a,c){b.call(this,c),this.type="ID";for(var e="",f=[],g=0,h="",i=0,j=a.length;j>i;i++){var k=a[i].part;if(e+=(a[i].separator||"")+k,".."===k||"."===k||"this"===k){if(f.length>0)throw new d("Invalid path: "+e,this);".."===k?(g++,h+="../"):this.isScoped=!0}else f.push(k)}this.original=e,this.parts=f,this.string=f.join("."),this.depth=g,this.idName=h+this.string,this.isSimple=1===a.length&&!this.isScoped&&0===g,this.stringModeValue=this.string},PartialNameNode:function(a,c){b.call(this,c),this.type="PARTIAL_NAME",this.name=a.original},DataNode:function(a,c){b.call(this,c),this.type="DATA",this.id=a,this.stringModeValue=a.stringModeValue,this.idName="@"+a.stringModeValue},StringNode:function(a,c){b.call(this,c),this.type="STRING",this.original=this.string=this.stringModeValue=a},NumberNode:function(a,c){b.call(this,c),this.type="NUMBER",this.original=this.number=a,this.stringModeValue=Number(a)},BooleanNode:function(a,c){b.call(this,c),this.type="BOOLEAN",this.bool=a,this.stringModeValue="true"===a},CommentNode:function(a,c){b.call(this,c),this.type="comment",this.comment=a,this.strip={inlineStandalone:!0}}};return c=e}(c),h=function(){"use strict";var a,b=function(){function a(){this.yy={}}var b={trace:function(){},yy:{},symbols_:{error:2,root:3,program:4,EOF:5,program_repetition0:6,statement:7,mustache:8,block:9,rawBlock:10,partial:11,CONTENT:12,COMMENT:13,openRawBlock:14,END_RAW_BLOCK:15,OPEN_RAW_BLOCK:16,sexpr:17,CLOSE_RAW_BLOCK:18,openBlock:19,block_option0:20,closeBlock:21,openInverse:22,block_option1:23,OPEN_BLOCK:24,CLOSE:25,OPEN_INVERSE:26,inverseAndProgram:27,INVERSE:28,OPEN_ENDBLOCK:29,path:30,OPEN:31,OPEN_UNESCAPED:32,CLOSE_UNESCAPED:33,OPEN_PARTIAL:34,partialName:35,param:36,partial_option0:37,partial_option1:38,sexpr_repetition0:39,sexpr_option0:40,dataName:41,STRING:42,NUMBER:43,BOOLEAN:44,OPEN_SEXPR:45,CLOSE_SEXPR:46,hash:47,hash_repetition_plus0:48,hashSegment:49,ID:50,EQUALS:51,DATA:52,pathSegments:53,SEP:54,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",12:"CONTENT",13:"COMMENT",15:"END_RAW_BLOCK",16:"OPEN_RAW_BLOCK",18:"CLOSE_RAW_BLOCK",24:"OPEN_BLOCK",25:"CLOSE",26:"OPEN_INVERSE",28:"INVERSE",29:"OPEN_ENDBLOCK",31:"OPEN",32:"OPEN_UNESCAPED",33:"CLOSE_UNESCAPED",34:"OPEN_PARTIAL",42:"STRING",43:"NUMBER",44:"BOOLEAN",45:"OPEN_SEXPR",46:"CLOSE_SEXPR",50:"ID",51:"EQUALS",52:"DATA",54:"SEP"},productions_:[0,[3,2],[4,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[10,3],[14,3],[9,4],[9,4],[19,3],[22,3],[27,2],[21,3],[8,3],[8,3],[11,5],[11,4],[17,3],[17,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,3],[47,1],[49,3],[35,1],[35,1],[35,1],[41,2],[30,1],[53,3],[53,1],[6,0],[6,2],[20,0],[20,1],[23,0],[23,1],[37,0],[37,1],[38,0],[38,1],[39,0],[39,2],[40,0],[40,1],[48,1],[48,2]],performAction:function(a,b,c,d,e,f){var g=f.length-1;switch(e){case 1:return d.prepareProgram(f[g-1].statements,!0),f[g-1];case 2:this.$=new d.ProgramNode(d.prepareProgram(f[g]),{},this._$);break;case 3:this.$=f[g];break;case 4:this.$=f[g];break;case 5:this.$=f[g];break;case 6:this.$=f[g];break;case 7:this.$=new d.ContentNode(f[g],this._$);break;case 8:this.$=new d.CommentNode(f[g],this._$);break;case 9:this.$=new d.RawBlockNode(f[g-2],f[g-1],f[g],this._$);break;case 10:this.$=new d.MustacheNode(f[g-1],null,"","",this._$);break;case 11:this.$=d.prepareBlock(f[g-3],f[g-2],f[g-1],f[g],!1,this._$);break;case 12:this.$=d.prepareBlock(f[g-3],f[g-2],f[g-1],f[g],!0,this._$);break;case 13:this.$=new d.MustacheNode(f[g-1],null,f[g-2],d.stripFlags(f[g-2],f[g]),this._$);break;case 14:this.$=new d.MustacheNode(f[g-1],null,f[g-2],d.stripFlags(f[g-2],f[g]),this._$);break;case 15:this.$={strip:d.stripFlags(f[g-1],f[g-1]),program:f[g]};break;case 16:this.$={path:f[g-1],strip:d.stripFlags(f[g-2],f[g])};break;case 17:this.$=new d.MustacheNode(f[g-1],null,f[g-2],d.stripFlags(f[g-2],f[g]),this._$);break;case 18:this.$=new d.MustacheNode(f[g-1],null,f[g-2],d.stripFlags(f[g-2],f[g]),this._$);break;case 19:this.$=new d.PartialNode(f[g-3],f[g-2],f[g-1],d.stripFlags(f[g-4],f[g]),this._$);break;case 20:this.$=new d.PartialNode(f[g-2],void 0,f[g-1],d.stripFlags(f[g-3],f[g]),this._$);break;case 21:this.$=new d.SexprNode([f[g-2]].concat(f[g-1]),f[g],this._$);break;case 22:this.$=new d.SexprNode([f[g]],null,this._$);break;case 23:this.$=f[g];break;case 24:this.$=new d.StringNode(f[g],this._$);break;case 25:this.$=new d.NumberNode(f[g],this._$);break;case 26:this.$=new d.BooleanNode(f[g],this._$);break;case 27:this.$=f[g];break;case 28:f[g-1].isHelper=!0,this.$=f[g-1];break;case 29:this.$=new d.HashNode(f[g],this._$);break;case 30:this.$=[f[g-2],f[g]];break;case 31:this.$=new d.PartialNameNode(f[g],this._$);break;case 32:this.$=new d.PartialNameNode(new d.StringNode(f[g],this._$),this._$);break;case 33:this.$=new d.PartialNameNode(new d.NumberNode(f[g],this._$));break;case 34:this.$=new d.DataNode(f[g],this._$);break;case 35:this.$=new d.IdNode(f[g],this._$);break;case 36:f[g-2].push({part:f[g],separator:f[g-1]}),this.$=f[g-2];break;case 37:this.$=[{part:f[g]}];break;case 38:this.$=[];break;case 39:f[g-1].push(f[g]);break;case 48:this.$=[];break;case 49:f[g-1].push(f[g]);break;case 52:this.$=[f[g]];break;case 53:f[g-1].push(f[g])}},table:[{3:1,4:2,5:[2,38],6:3,12:[2,38],13:[2,38],16:[2,38],24:[2,38],26:[2,38],31:[2,38],32:[2,38],34:[2,38]},{1:[3]},{5:[1,4]},{5:[2,2],7:5,8:6,9:7,10:8,11:9,12:[1,10],13:[1,11],14:16,16:[1,20],19:14,22:15,24:[1,18],26:[1,19],28:[2,2],29:[2,2],31:[1,12],32:[1,13],34:[1,17]},{1:[2,1]},{5:[2,39],12:[2,39],13:[2,39],16:[2,39],24:[2,39],26:[2,39],28:[2,39],29:[2,39],31:[2,39],32:[2,39],34:[2,39]},{5:[2,3],12:[2,3],13:[2,3],16:[2,3],24:[2,3],26:[2,3],28:[2,3],29:[2,3],31:[2,3],32:[2,3],34:[2,3]},{5:[2,4],12:[2,4],13:[2,4],16:[2,4],24:[2,4],26:[2,4],28:[2,4],29:[2,4],31:[2,4],32:[2,4],34:[2,4]},{5:[2,5],12:[2,5],13:[2,5],16:[2,5],24:[2,5],26:[2,5],28:[2,5],29:[2,5],31:[2,5],32:[2,5],34:[2,5]},{5:[2,6],12:[2,6],13:[2,6],16:[2,6],24:[2,6],26:[2,6],28:[2,6],29:[2,6],31:[2,6],32:[2,6],34:[2,6]},{5:[2,7],12:[2,7],13:[2,7],16:[2,7],24:[2,7],26:[2,7],28:[2,7],29:[2,7],31:[2,7],32:[2,7],34:[2,7]},{5:[2,8],12:[2,8],13:[2,8],16:[2,8],24:[2,8],26:[2,8],28:[2,8],29:[2,8],31:[2,8],32:[2,8],34:[2,8]},{17:21,30:22,41:23,50:[1,26],52:[1,25],53:24},{17:27,30:22,41:23,50:[1,26],52:[1,25],53:24},{4:28,6:3,12:[2,38],13:[2,38],16:[2,38],24:[2,38],26:[2,38],28:[2,38],29:[2,38],31:[2,38],32:[2,38],34:[2,38]},{4:29,6:3,12:[2,38],13:[2,38],16:[2,38],24:[2,38],26:[2,38],28:[2,38],29:[2,38],31:[2,38],32:[2,38],34:[2,38]},{12:[1,30]},{30:32,35:31,42:[1,33],43:[1,34],50:[1,26],53:24},{17:35,30:22,41:23,50:[1,26],52:[1,25],53:24},{17:36,30:22,41:23,50:[1,26],52:[1,25],53:24},{17:37,30:22,41:23,50:[1,26],52:[1,25],53:24},{25:[1,38]},{18:[2,48],25:[2,48],33:[2,48],39:39,42:[2,48],43:[2,48],44:[2,48],45:[2,48],46:[2,48],50:[2,48],52:[2,48]},{18:[2,22],25:[2,22],33:[2,22],46:[2,22]},{18:[2,35],25:[2,35],33:[2,35],42:[2,35],43:[2,35],44:[2,35],45:[2,35],46:[2,35],50:[2,35],52:[2,35],54:[1,40]},{30:41,50:[1,26],53:24},{18:[2,37],25:[2,37],33:[2,37],42:[2,37],43:[2,37],44:[2,37],45:[2,37],46:[2,37],50:[2,37],52:[2,37],54:[2,37]},{33:[1,42]},{20:43,27:44,28:[1,45],29:[2,40]},{23:46,27:47,28:[1,45],29:[2,42]},{15:[1,48]},{25:[2,46],30:51,36:49,38:50,41:55,42:[1,52],43:[1,53],44:[1,54],45:[1,56],47:57,48:58,49:60,50:[1,59],52:[1,25],53:24},{25:[2,31],42:[2,31],43:[2,31],44:[2,31],45:[2,31],50:[2,31],52:[2,31]},{25:[2,32],42:[2,32],43:[2,32],44:[2,32],45:[2,32],50:[2,32],52:[2,32]},{25:[2,33],42:[2,33],43:[2,33],44:[2,33],45:[2,33],50:[2,33],52:[2,33]},{25:[1,61]},{25:[1,62]},{18:[1,63]},{5:[2,17],12:[2,17],13:[2,17],16:[2,17],24:[2,17],26:[2,17],28:[2,17],29:[2,17],31:[2,17],32:[2,17],34:[2,17]},{18:[2,50],25:[2,50],30:51,33:[2,50],36:65,40:64,41:55,42:[1,52],43:[1,53],44:[1,54],45:[1,56],46:[2,50],47:66,48:58,49:60,50:[1,59],52:[1,25],53:24},{50:[1,67]},{18:[2,34],25:[2,34],33:[2,34],42:[2,34],43:[2,34],44:[2,34],45:[2,34],46:[2,34],50:[2,34],52:[2,34]},{5:[2,18],12:[2,18],13:[2,18],16:[2,18],24:[2,18],26:[2,18],28:[2,18],29:[2,18],31:[2,18],32:[2,18],34:[2,18]},{21:68,29:[1,69]},{29:[2,41]},{4:70,6:3,12:[2,38],13:[2,38],16:[2,38],24:[2,38],26:[2,38],29:[2,38],31:[2,38],32:[2,38],34:[2,38]},{21:71,29:[1,69]},{29:[2,43]},{5:[2,9],12:[2,9],13:[2,9],16:[2,9],24:[2,9],26:[2,9],28:[2,9],29:[2,9],31:[2,9],32:[2,9],34:[2,9]},{25:[2,44],37:72,47:73,48:58,49:60,50:[1,74]},{25:[1,75]},{18:[2,23],25:[2,23],33:[2,23],42:[2,23],43:[2,23],44:[2,23],45:[2,23],46:[2,23],50:[2,23],52:[2,23]},{18:[2,24],25:[2,24],33:[2,24],42:[2,24],43:[2,24],44:[2,24],45:[2,24],46:[2,24],50:[2,24],52:[2,24]},{18:[2,25],25:[2,25],33:[2,25],42:[2,25],43:[2,25],44:[2,25],45:[2,25],46:[2,25],50:[2,25],52:[2,25]},{18:[2,26],25:[2,26],33:[2,26],42:[2,26],43:[2,26],44:[2,26],45:[2,26],46:[2,26],50:[2,26],52:[2,26]},{18:[2,27],25:[2,27],33:[2,27],42:[2,27],43:[2,27],44:[2,27],45:[2,27],46:[2,27],50:[2,27],52:[2,27]},{17:76,30:22,41:23,50:[1,26],52:[1,25],53:24},{25:[2,47]},{18:[2,29],25:[2,29],33:[2,29],46:[2,29],49:77,50:[1,74]},{18:[2,37],25:[2,37],33:[2,37],42:[2,37],43:[2,37],44:[2,37],45:[2,37],46:[2,37],50:[2,37],51:[1,78],52:[2,37],54:[2,37]},{18:[2,52],25:[2,52],33:[2,52],46:[2,52],50:[2,52]},{12:[2,13],13:[2,13],16:[2,13],24:[2,13],26:[2,13],28:[2,13],29:[2,13],31:[2,13],32:[2,13],34:[2,13]},{12:[2,14],13:[2,14],16:[2,14],24:[2,14],26:[2,14],28:[2,14],29:[2,14],31:[2,14],32:[2,14],34:[2,14]},{12:[2,10]},{18:[2,21],25:[2,21],33:[2,21],46:[2,21]},{18:[2,49],25:[2,49],33:[2,49],42:[2,49],43:[2,49],44:[2,49],45:[2,49],46:[2,49],50:[2,49],52:[2,49]},{18:[2,51],25:[2,51],33:[2,51],46:[2,51]},{18:[2,36],25:[2,36],33:[2,36],42:[2,36],43:[2,36],44:[2,36],45:[2,36],46:[2,36],50:[2,36],52:[2,36],54:[2,36]},{5:[2,11],12:[2,11],13:[2,11],16:[2,11],24:[2,11],26:[2,11],28:[2,11],29:[2,11],31:[2,11],32:[2,11],34:[2,11]},{30:79,50:[1,26],53:24},{29:[2,15]},{5:[2,12],12:[2,12],13:[2,12],16:[2,12],24:[2,12],26:[2,12],28:[2,12],29:[2,12],31:[2,12],32:[2,12],34:[2,12]},{25:[1,80]},{25:[2,45]},{51:[1,78]},{5:[2,20],12:[2,20],13:[2,20],16:[2,20],24:[2,20],26:[2,20],28:[2,20],29:[2,20],31:[2,20],32:[2,20],34:[2,20]},{46:[1,81]},{18:[2,53],25:[2,53],33:[2,53],46:[2,53],50:[2,53]},{30:51,36:82,41:55,42:[1,52],43:[1,53],44:[1,54],45:[1,56],50:[1,26],52:[1,25],53:24},{25:[1,83]},{5:[2,19],12:[2,19],13:[2,19],16:[2,19],24:[2,19],26:[2,19],28:[2,19],29:[2,19],31:[2,19],32:[2,19],34:[2,19]},{18:[2,28],25:[2,28],33:[2,28],42:[2,28],43:[2,28],44:[2,28],45:[2,28],46:[2,28],50:[2,28],52:[2,28]},{18:[2,30],25:[2,30],33:[2,30],46:[2,30],50:[2,30]},{5:[2,16],12:[2,16],13:[2,16],16:[2,16],24:[2,16],26:[2,16],28:[2,16],29:[2,16],31:[2,16],32:[2,16],34:[2,16]}],defaultActions:{4:[2,1],44:[2,41],47:[2,43],57:[2,47],63:[2,10],70:[2,15],73:[2,45]},parseError:function(a){throw new Error(a)},parse:function(a){function b(){var a;return a=c.lexer.lex()||1,"number"!=typeof a&&(a=c.symbols_[a]||a),a}var c=this,d=[0],e=[null],f=[],g=this.table,h="",i=0,j=0,k=0;this.lexer.setInput(a),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,this.yy.parser=this,"undefined"==typeof this.lexer.yylloc&&(this.lexer.yylloc={});var l=this.lexer.yylloc;f.push(l);var m=this.lexer.options&&this.lexer.options.ranges;"function"==typeof this.yy.parseError&&(this.parseError=this.yy.parseError);for(var n,o,p,q,r,s,t,u,v,w={};;){if(p=d[d.length-1],this.defaultActions[p]?q=this.defaultActions[p]:((null===n||"undefined"==typeof n)&&(n=b()),q=g[p]&&g[p][n]),"undefined"==typeof q||!q.length||!q[0]){var x="";if(!k){v=[];for(s in g[p])this.terminals_[s]&&s>2&&v.push("'"+this.terminals_[s]+"'");x=this.lexer.showPosition?"Parse error on line "+(i+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[n]||n)+"'":"Parse error on line "+(i+1)+": Unexpected "+(1==n?"end of input":"'"+(this.terminals_[n]||n)+"'"),this.parseError(x,{text:this.lexer.match,token:this.terminals_[n]||n,line:this.lexer.yylineno,loc:l,expected:v})}}if(q[0]instanceof Array&&q.length>1)throw new Error("Parse Error: multiple actions possible at state: "+p+", token: "+n);switch(q[0]){case 1:d.push(n),e.push(this.lexer.yytext),f.push(this.lexer.yylloc),d.push(q[1]),n=null,o?(n=o,o=null):(j=this.lexer.yyleng,h=this.lexer.yytext,i=this.lexer.yylineno,l=this.lexer.yylloc,k>0&&k--);break;case 2:if(t=this.productions_[q[1]][1],w.$=e[e.length-t],w._$={first_line:f[f.length-(t||1)].first_line,last_line:f[f.length-1].last_line,first_column:f[f.length-(t||1)].first_column,last_column:f[f.length-1].last_column},m&&(w._$.range=[f[f.length-(t||1)].range[0],f[f.length-1].range[1]]),r=this.performAction.call(w,h,j,i,this.yy,q[1],e,f),"undefined"!=typeof r)return r;t&&(d=d.slice(0,-1*t*2),e=e.slice(0,-1*t),f=f.slice(0,-1*t)),d.push(this.productions_[q[1]][0]),e.push(w.$),f.push(w._$),u=g[d[d.length-2]][d[d.length-1]],d.push(u);break;case 3:return!0}}return!0}},c=function(){var a={EOF:1,parseError:function(a,b){if(!this.yy.parser)throw new Error(a);this.yy.parser.parseError(a,b)},setInput:function(a){return this._input=a,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a;var b=a.match(/(?:\r\n?|\n).*/g);return b?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},unput:function(a){var b=a.length,c=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-b-1),this.offset-=b;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var e=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===d.length?this.yylloc.first_column:0)+d[d.length-c.length].length-c[0].length:this.yylloc.first_column-b},this.options.ranges&&(this.yylloc.range=[e[0],e[0]+this.yyleng-b]),this},more:function(){return this._more=!0,this},less:function(a){this.unput(this.match.slice(a))},pastInput:function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var a=this.pastInput(),b=new Array(a.length+1).join("-");return a+this.upcomingInput()+"\n"+b+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var a,b,c,d,e;this._more||(this.yytext="",this.match="");for(var f=this._currentRules(),g=0;g<f.length&&(c=this._input.match(this.rules[f[g]]),!c||b&&!(c[0].length>b[0].length)||(b=c,d=g,this.options.flex));g++);return b?(e=b[0].match(/(?:\r\n?|\n).*/g),e&&(this.yylineno+=e.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:e?e[e.length-1].length-e[e.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+b[0].length},this.yytext+=b[0],this.match+=b[0],this.matches=b,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(b[0].length),this.matched+=b[0],a=this.performAction.call(this,this.yy,this,f[d],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),a?a:void 0):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var a=this.next();return"undefined"!=typeof a?a:this.lex()},begin:function(a){this.conditionStack.push(a)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(a){this.begin(a)}};return a.options={},a.performAction=function(a,b,c,d){function e(a,c){return b.yytext=b.yytext.substr(a,b.yyleng-c)}switch(c){case 0:if("\\\\"===b.yytext.slice(-2)?(e(0,1),this.begin("mu")):"\\"===b.yytext.slice(-1)?(e(0,1),this.begin("emu")):this.begin("mu"),b.yytext)return 12;break;case 1:return 12;case 2:return this.popState(),12;case 3:return b.yytext=b.yytext.substr(5,b.yyleng-9),this.popState(),15;case 4:return 12;case 5:return e(0,4),this.popState(),13;case 6:return 45;case 7:return 46;case 8:return 16;case 9:return this.popState(),this.begin("raw"),18;case 10:return 34;case 11:return 24;case 12:return 29;case 13:return this.popState(),28;case 14:return this.popState(),28;case 15:return 26;case 16:return 26;case 17:return 32;case 18:return 31;case 19:this.popState(),this.begin("com");break;case 20:return e(3,5),this.popState(),13;case 21:return 31;case 22:return 51;case 23:return 50;case 24:return 50;case 25:return 54;case 26:break;case 27:return this.popState(),33;case 28:return this.popState(),25;case 29:return b.yytext=e(1,2).replace(/\\"/g,'"'),42;case 30:return b.yytext=e(1,2).replace(/\\'/g,"'"),42;case 31:return 52;case 32:return 44;case 33:return 44;case 34:return 43;case 35:return 50;case 36:return b.yytext=e(1,2),50;case 37:return"INVALID";case 38:return 5}},a.rules=[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]*?(?=(\{\{\{\{\/)))/,/^(?:[\s\S]*?--\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{!--)/,/^(?:\{\{![\s\S]*?\}\})/,/^(?:\{\{(~)?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)]))))/,/^(?:\[[^\]]*\])/,/^(?:.)/,/^(?:$)/],a.conditions={mu:{rules:[6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[5],inclusive:!1},raw:{rules:[3,4],inclusive:!1},INITIAL:{rules:[0,1,38],inclusive:!0}},a}();return b.lexer=c,a.prototype=b,b.Parser=a,new a}();return a=b}(),i=function(a){"use strict";function b(a,b){return{left:"~"===a.charAt(2),right:"~"===b.charAt(b.length-3)}}function c(a,b,c,d,i,k){if(a.sexpr.id.original!==d.path.original)throw new j(a.sexpr.id.original+" doesn't match "+d.path.original,a);var l=c&&c.program,m={left:a.strip.left,right:d.strip.right,openStandalone:f(b.statements),closeStandalone:e((l||b).statements)};if(a.strip.right&&g(b.statements,null,!0),l){var n=c.strip;n.left&&h(b.statements,null,!0),n.right&&g(l.statements,null,!0),d.strip.left&&h(l.statements,null,!0),e(b.statements)&&f(l.statements)&&(h(b.statements),g(l.statements))}else d.strip.left&&h(b.statements,null,!0);return i?new this.BlockNode(a,l,b,m,k):new this.BlockNode(a,b,l,m,k)}function d(a,b){for(var c=0,d=a.length;d>c;c++){var i=a[c],j=i.strip;if(j){var k=e(a,c,b,"partial"===i.type),l=f(a,c,b),m=j.openStandalone&&k,n=j.closeStandalone&&l,o=j.inlineStandalone&&k&&l;j.right&&g(a,c,!0),j.left&&h(a,c,!0),o&&(g(a,c),h(a,c)&&"partial"===i.type&&(i.indent=/([ \t]+$)/.exec(a[c-1].original)?RegExp.$1:"")),m&&(g((i.program||i.inverse).statements),h(a,c)),n&&(g(a,c),h((i.inverse||i.program).statements))}}return a}function e(a,b,c){void 0===b&&(b=a.length);var d=a[b-1],e=a[b-2];return d?"content"===d.type?(e||!c?/\r?\n\s*?$/:/(^|\r?\n)\s*?$/).test(d.original):void 0:c}function f(a,b,c){void 0===b&&(b=-1);var d=a[b+1],e=a[b+2];return d?"content"===d.type?(e||!c?/^\s*?\r?\n/:/^\s*?(\r?\n|$)/).test(d.original):void 0:c}function g(a,b,c){var d=a[null==b?0:b+1];if(d&&"content"===d.type&&(c||!d.rightStripped)){var e=d.string;d.string=d.string.replace(c?/^\s+/:/^[ \t]*\r?\n?/,""),d.rightStripped=d.string!==e}}function h(a,b,c){var d=a[null==b?a.length-1:b-1];if(d&&"content"===d.type&&(c||!d.leftStripped)){var e=d.string;return d.string=d.string.replace(c?/\s+$/:/[ \t]+$/,""),d.leftStripped=d.string!==e,d.leftStripped}}var i={},j=a;return i.stripFlags=b,i.prepareBlock=c,i.prepareProgram=d,i}(c),j=function(a,b,c,d){"use strict";function e(a){return a.constructor===h.ProgramNode?a:(g.yy=k,g.parse(a))}var f={},g=a,h=b,i=c,j=d.extend;f.parser=g;var k={};return j(k,i,h),f.parse=e,f}(h,g,i,b),k=function(a,b){"use strict";function c(){}function d(a,b,c){if(null==a||"string"!=typeof a&&a.constructor!==c.AST.ProgramNode)throw new h("You must pass a string or Handlebars AST to Handlebars.precompile. You passed "+a);b=b||{},"data"in b||(b.data=!0),b.compat&&(b.useDepths=!0);var d=c.parse(a),e=(new c.Compiler).compile(d,b);return(new c.JavaScriptCompiler).compile(e,b)}function e(a,b,c){function d(){var d=c.parse(a),e=(new c.Compiler).compile(d,b),f=(new c.JavaScriptCompiler).compile(e,b,void 0,!0);return c.template(f)}if(null==a||"string"!=typeof a&&a.constructor!==c.AST.ProgramNode)throw new h("You must pass a string or Handlebars AST to Handlebars.compile. You passed "+a);b=b||{},"data"in b||(b.data=!0),b.compat&&(b.useDepths=!0);var e,f=function(a,b){return e||(e=d()),e.call(this,a,b)};return f._setup=function(a){return e||(e=d()),e._setup(a)},f._child=function(a,b,c){return e||(e=d()),e._child(a,b,c)},f}function f(a,b){if(a===b)return!0;if(i(a)&&i(b)&&a.length===b.length){for(var c=0;c<a.length;c++)if(!f(a[c],b[c]))return!1;return!0}}var g={},h=a,i=b.isArray,j=[].slice;return g.Compiler=c,c.prototype={compiler:c,equals:function(a){var b=this.opcodes.length;if(a.opcodes.length!==b)return!1;for(var c=0;b>c;c++){var d=this.opcodes[c],e=a.opcodes[c];if(d.opcode!==e.opcode||!f(d.args,e.args))return!1}for(b=this.children.length,c=0;b>c;c++)if(!this.children[c].equals(a.children[c]))return!1;return!0},guid:0,compile:function(a,b){this.opcodes=[],this.children=[],this.depths={list:[]},this.options=b,this.stringParams=b.stringParams,this.trackIds=b.trackIds;var c=this.options.knownHelpers;if(this.options.knownHelpers={helperMissing:!0,blockHelperMissing:!0,each:!0,"if":!0,unless:!0,"with":!0,log:!0,lookup:!0},c)for(var d in c)this.options.knownHelpers[d]=c[d];return this.accept(a)},accept:function(a){return this[a.type](a)},program:function(a){for(var b=a.statements,c=0,d=b.length;d>c;c++)this.accept(b[c]);return this.isSimple=1===d,this.depths.list=this.depths.list.sort(function(a,b){return a-b}),this},compileProgram:function(a){var b,c=(new this.compiler).compile(a,this.options),d=this.guid++;
......
......@@ -11,8 +11,8 @@
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="stylesheet" href="http://dcloudio.github.io/mui/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="http://dcloudio.github.io/mui/dist/css/mui.min.css?v=2014-12-01 19:07:11 +0800">
<link rel="stylesheet" href="http://dcloudio.github.io/mui/assets/css/docs.css?v=2014-12-01 19:07:11 +0800">
<link rel="stylesheet" href="http://dcloudio.github.io/mui/dist/css/mui.min.css?v=2014-12-16 17:23:30 +0800">
<link rel="stylesheet" href="http://dcloudio.github.io/mui/assets/css/docs.css?v=2014-12-16 17:23:30 +0800">
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="http://dcloudio.github.io/mui/assets/img/apple-touch-icon-114x114.png">
......@@ -127,7 +127,7 @@
<p class="docs-footer-text">mui遵循 <a href="https://github.com/dcloudio/mui/blob/master/LICENSE">MIT License</a>
</p>
<ul class="docs-footer-links">
<li>最新版本 v0.8.0</li>
<li>最新版本 v0.9.0</li>
<li>&middot;</li>
<li><a href="http://ask.dcloud.net.cn">问答社区</a></li>
<li>&middot;</li>
......@@ -141,8 +141,8 @@
</div>
<script src="http://dcloudio.github.io/mui/dist/js/jquery-2.1.1.js"></script>
<script src="http://dcloudio.github.io/mui/dist/js/bootstrap.min.js"></script>
<script src="http://dcloudio.github.io/mui/dist/js/mui.min.js?v=2014-12-01 19:07:11 +0800"></script>
<script src="http://dcloudio.github.io/mui/assets/js/docs.min.js?v=2014-12-01 19:07:11 +0800"></script>
<script src="http://dcloudio.github.io/mui/dist/js/mui.min.js?v=2014-12-16 17:23:30 +0800"></script>
<script src="http://dcloudio.github.io/mui/assets/js/docs.min.js?v=2014-12-16 17:23:30 +0800"></script>
<script type="text/javascript">
var _bdhmProtocol = (("https:" == document.location.protocol) ? " https://" : " http://");
document.write(unescape("%3Cscript src='" + _bdhmProtocol + "hm.baidu.com/h.js%3Ffff299fda9ff2d5ac97d9e621f738e52' type='text/javascript'%3E%3C/script%3E"));
......
......@@ -11,8 +11,8 @@
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="stylesheet" href="http://dcloudio.github.io/mui/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="http://dcloudio.github.io/mui/dist/css/mui.min.css?v=2014-12-01 19:07:11 +0800">
<link rel="stylesheet" href="http://dcloudio.github.io/mui/assets/css/docs.css?v=2014-12-01 19:07:11 +0800">
<link rel="stylesheet" href="http://dcloudio.github.io/mui/dist/css/mui.min.css?v=2014-12-16 17:23:30 +0800">
<link rel="stylesheet" href="http://dcloudio.github.io/mui/assets/css/docs.css?v=2014-12-16 17:23:30 +0800">
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="http://dcloudio.github.io/mui/assets/img/apple-touch-icon-114x114.png">
......@@ -107,7 +107,7 @@
<p class="docs-footer-text">mui遵循 <a href="https://github.com/dcloudio/mui/blob/master/LICENSE">MIT License</a>
</p>
<ul class="docs-footer-links">
<li>最新版本 v0.8.0</li>
<li>最新版本 v0.9.0</li>
<li>&middot;</li>
<li><a href="http://ask.dcloud.net.cn">问答社区</a></li>
<li>&middot;</li>
......@@ -121,8 +121,8 @@
</div>
<script src="http://dcloudio.github.io/mui/dist/js/jquery-2.1.1.js"></script>
<script src="http://dcloudio.github.io/mui/dist/js/bootstrap.min.js"></script>
<script src="http://dcloudio.github.io/mui/dist/js/mui.min.js?v=2014-12-01 19:07:11 +0800"></script>
<script src="http://dcloudio.github.io/mui/assets/js/docs.min.js?v=2014-12-01 19:07:11 +0800"></script>
<script src="http://dcloudio.github.io/mui/dist/js/mui.min.js?v=2014-12-16 17:23:30 +0800"></script>
<script src="http://dcloudio.github.io/mui/assets/js/docs.min.js?v=2014-12-16 17:23:30 +0800"></script>
<script type="text/javascript">
var _bdhmProtocol = (("https:" == document.location.protocol) ? " https://" : " http://");
document.write(unescape("%3Cscript src='" + _bdhmProtocol + "hm.baidu.com/h.js%3Ffff299fda9ff2d5ac97d9e621f738e52' type='text/javascript'%3E%3C/script%3E"));
......
......@@ -11,8 +11,8 @@
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="stylesheet" href="http://dcloudio.github.io/mui/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="http://dcloudio.github.io/mui/dist/css/mui.min.css?v=2014-12-01 19:07:11 +0800">
<link rel="stylesheet" href="http://dcloudio.github.io/mui/assets/css/docs.css?v=2014-12-01 19:07:11 +0800">
<link rel="stylesheet" href="http://dcloudio.github.io/mui/dist/css/mui.min.css?v=2014-12-16 17:23:30 +0800">
<link rel="stylesheet" href="http://dcloudio.github.io/mui/assets/css/docs.css?v=2014-12-16 17:23:30 +0800">
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="http://dcloudio.github.io/mui/assets/img/apple-touch-icon-114x114.png">
......@@ -287,15 +287,38 @@ mui的解决思路是:单webview只承载单个页面的dom,减少dom层级
</article>
<!-- 关闭页面 -->
<article id="closewindow" class="component mui-active">
<h3 class="component-title">关闭页面</h3>
<p class="component-description">mui框架已封装好窗口关闭逻辑,hbuilder中敲<code>mheader</code>自动生成的代码块,会自动生成带有返回导航箭头的标题栏,点击返回箭头可关闭当前页面。mui会监听包含<code>.mui-action-back</code>类的控件的点击事件,点击后会执行关闭窗口逻辑;因此,若希望在顶部导航栏之外的其它区域添加关闭页面的控件,只需要在对应控件上添加<code>.mui-action-back</code>类即可,如下为一个关闭按钮示例:</p>
<h3 class="component-title">关闭页面</h3>
<p class="component-description" style="margin-bottom:0.8em">mui框架将窗口关闭功能封装在<code>mui.back</code>方法中,具体执行逻辑是:</p>
<ul>
<li>若当前webview为预加载页面,则hide当前webview;</li>
<li>否则,close当前webview;</li>
</ul>
<p class="component-description" style="margin-bottom:0.8em">在mui框架中,有三种操作会触发页面关闭(执行mui.back方法):</p>
<ul>
<li>点击包含<code>.mui-action-back</code>类的控件</li>
<li>在页面上,向右快速滑动</li>
<li>Android手机按下back按键</li>
</ul>
<p class="component-description">hbuilder中敲<code>mheader</code>生成的代码块,会自动生成带有返回导航箭头的标题栏,点击返回箭头可关闭当前页面,原因就是因为该返回箭头包含<code>.mui-action-back</code>类,代码如下:</p>
<div class="highlight"><pre><code class="language-html" data-lang="html"><span class="nt">&lt;header</span> <span class="na">class=</span><span class="s">&quot;mui-bar mui-bar-nav&quot;</span><span class="nt">&gt;</span>
<span class="nt">&lt;a</span> <span class="na">class=</span><span class="s">&quot;mui-action-back mui-icon mui-icon-left-nav mui-pull-left&quot;</span><span class="nt">&gt;&lt;/a&gt;</span>
<span class="nt">&lt;h1</span> <span class="na">class=</span><span class="s">&quot;mui-title&quot;</span><span class="nt">&gt;</span>标题<span class="nt">&lt;/h1&gt;</span>
<span class="nt">&lt;/header&gt;</span></code></pre></div>
<p class="component-description">若希望在顶部导航栏之外的其它区域添加关闭页面的控件,只需要在对应控件上添加<code>.mui-action-back</code>类即可,如下为一个关闭按钮示例:</p>
<div class="highlight"><pre><code class="language-html" data-lang="html"><span class="nt">&lt;button</span> <span class="na">class=</span><span class="s">&#39;mui-btn mui-btn-danger mui-action-back&#39;</span><span class="nt">&gt;</span>关闭<span class="nt">&lt;/button&gt;</span></code></pre></div>
<p class="component-description">另一方面,也可以直接调用<code>mui.back()</code>方法,执行mui已封装好的窗口关闭逻辑;</p>
<p class="component-description">mui框架同时实现了页面的右滑关闭功能,默认未启用,若要使用右滑关闭功能,需要在<code>mui.init();</code>方法中设置swipeBack参数,如下:</p>
<p class="component-description">mui框架封装的页面右滑关闭功能,默认未启用,若要使用右滑关闭功能,需要在<code>mui.init();</code>方法中设置swipeBack参数,如下:</p>
<div class="highlight"><pre><code class="language-js" data-lang="js"><span class="nx">mui</span><span class="p">.</span><span class="nx">init</span><span class="p">({</span>
<span class="nx">swipeBack</span><span class="o">:</span><span class="kc">true</span> <span class="c1">//启用右滑关闭功能</span>
<span class="p">});</span></code></pre></div>
<p class="component-description">若希望自定义关闭事件,则可以通过复写<code>mui.back()</code>方法实现,如下为一个自定义示例,每次都需要用户确认后,才会关闭当前页面。 </p>
<p class="component-description">mui框架默认会监听Android手机的back按键,然后执行页面关闭逻辑;
若不希望mui自动处理back按键,可通过如下方式关闭mui的back按键监听;</p>
<div class="highlight"><pre><code class="language-js" data-lang="js"><span class="nx">mui</span><span class="p">.</span><span class="nx">init</span><span class="p">({</span>
<span class="nx">keyEventBind</span><span class="o">:</span> <span class="p">{</span>
<span class="nx">backbutton</span><span class="o">:</span> <span class="kc">false</span> <span class="c1">//关闭back按键监听</span>
<span class="p">}</span>
<span class="p">});</span></code></pre></div>
<p class="component-description">除了如上三种操作外,也可以直接调用<code>mui.back()</code>方法,执行窗口关闭逻辑;</p>
<p class="component-description">若希望自定义关闭逻辑,则可以通过复写<code>mui.back()</code>方法实现,如下为一个自定义示例,每次都需要用户确认后,才会关闭当前页面。 </p>
<div class="highlight"><pre><code class="language-js" data-lang="js"><span class="nx">mui</span><span class="p">.</span><span class="nx">back</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(){</span>
<span class="kd">var</span> <span class="nx">btn</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;确定&quot;</span><span class="p">,</span><span class="s2">&quot;取消&quot;</span><span class="p">];</span>
......@@ -305,7 +328,10 @@ mui的解决思路是:单webview只承载单个页面的dom,减少dom层级
<span class="p">}</span>
<span class="p">});</span>
<span class="p">}</span></code></pre></div>
<p class="component-description">
<strong>注意:</strong>自定义关闭逻辑时,一定要重写mui.back,不能简单通过addEventListener增加back按键监听,
因为addEventListener只会增加新的执行逻辑,老的监听逻辑依然会执行;
</p>
</article>
<!-- 手势事件 -->
<article id="gesture" class="component mui-active">
......@@ -756,7 +782,7 @@ mui的解决思路是:单webview只承载单个页面的dom,减少dom层级
<p class="docs-footer-text">mui遵循 <a href="https://github.com/dcloudio/mui/blob/master/LICENSE">MIT License</a>
</p>
<ul class="docs-footer-links">
<li>最新版本 v0.8.0</li>
<li>最新版本 v0.9.0</li>
<li>&middot;</li>
<li><a href="http://ask.dcloud.net.cn">问答社区</a></li>
<li>&middot;</li>
......@@ -770,8 +796,8 @@ mui的解决思路是:单webview只承载单个页面的dom,减少dom层级
</div>
<script src="http://dcloudio.github.io/mui/dist/js/jquery-2.1.1.js"></script>
<script src="http://dcloudio.github.io/mui/dist/js/bootstrap.min.js"></script>
<script src="http://dcloudio.github.io/mui/dist/js/mui.min.js?v=2014-12-01 19:07:11 +0800"></script>
<script src="http://dcloudio.github.io/mui/assets/js/docs.min.js?v=2014-12-01 19:07:11 +0800"></script>
<script src="http://dcloudio.github.io/mui/dist/js/mui.min.js?v=2014-12-16 17:23:30 +0800"></script>
<script src="http://dcloudio.github.io/mui/assets/js/docs.min.js?v=2014-12-16 17:23:30 +0800"></script>
<script type="text/javascript">
var _bdhmProtocol = (("https:" == document.location.protocol) ? " https://" : " http://");
document.write(unescape("%3Cscript src='" + _bdhmProtocol + "hm.baidu.com/h.js%3Ffff299fda9ff2d5ac97d9e621f738e52' type='text/javascript'%3E%3C/script%3E"));
......
......@@ -2,7 +2,7 @@
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://dcloudio.github.io/mui/</loc>
<lastmod>2014-12-01T19:07:11+08:00</lastmod>
<lastmod>2014-12-16T17:23:30+08:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
......@@ -10,7 +10,7 @@
<url>
<loc>http://dcloudio.github.io/mui/about/</loc>
<lastmod>2014-12-01T19:07:11+08:00</lastmod>
<lastmod>2014-12-16T17:23:30+08:00</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
......@@ -19,7 +19,7 @@
<url>
<loc>http://dcloudio.github.io/mui/components/</loc>
<lastmod>2014-12-01T19:07:11+08:00</lastmod>
<lastmod>2014-12-16T17:23:30+08:00</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
......@@ -28,7 +28,7 @@
<url>
<loc>http://dcloudio.github.io/mui/getting-started/</loc>
<lastmod>2014-12-01T19:07:11+08:00</lastmod>
<lastmod>2014-12-16T17:23:30+08:00</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
......@@ -39,7 +39,7 @@
<url>
<loc>http://dcloudio.github.io/mui/javascript/</loc>
<lastmod>2014-12-01T19:07:11+08:00</lastmod>
<lastmod>2014-12-16T17:23:30+08:00</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment