From 3a6eaca0a2374a17a10a0d5f15541dcb1697f0ae Mon Sep 17 00:00:00 2001
From: sgj <1442489573@qq.com>
Date: 星期六, 11 四月 2026 16:58:22 +0800
Subject: [PATCH] 添加第一版H5,微信绑定,解绑页面
---
fzzy-igdss-web/src/main/resources/static/img/login-left.png | 0
fzzy-igdss-web/src/main/java/com/fzzy/appwx/manager/WeChatManager.java | 153
fzzy-igdss-web/src/main/resources/static/ajax/libs/mui/js/mui.js | 8390 ++++++++++++++++++++++++++++++++
fzzy-igdss-web/src/main/resources/application-dev.yml | 7
fzzy-igdss-web/src/main/resources/templates/wx/bind.html | 170
fzzy-igdss-web/src/main/resources/static/ajax/libs/mui/css/mui.css | 5649 +++++++++++++++++++++
fzzy-igdss-web/src/main/resources/static/ajax/libs/mui/js/mui.min.js | 6
fzzy-igdss-web/src/main/resources/static/img/ico_user.png | 0
fzzy-igdss-web/src/main/resources/static/css/iconfont.css | 221
fzzy-igdss-web/src/main/resources/static/ajax/libs/mui/css/mui.min.css | 5
fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/service/ApiV1Service3031.java | 2
fzzy-igdss-web/src/main/resources/templates/wx/unbind.html | 174
fzzy-igdss-web/src/main/java/com/fzzy/appwx/util/WeChatUtil.java | 58
fzzy-igdss-web/src/main/resources/static/ajax/libs/mui/fonts/mui.ttf | 0
fzzy-igdss-web/src/main/resources/templates/wx/warn-list.html | 189
fzzy-igdss-web/src/main/resources/static/ajax/libs/mui/css/icons-extra.css | 63
fzzy-igdss-core/src/main/java/com/fzzy/igds/data/ConfigData.java | 33
fzzy-igdss-web/src/main/resources/static/wx/wx-common.js | 32
fzzy-igdss-web/src/main/java/com/fzzy/appwx/controller/WeChatController.java | 156
fzzy-igdss-web/src/main/java/com/fzzy/appwx/param/WeChatBaseParam.java | 35
fzzy-igdss-web/src/main/resources/static/ajax/libs/mui/fonts/mui-icons-extra.ttf | 0
fzzy-igdss-web/src/main/resources/application-pro.yml | 5
fzzy-igdss-web/src/main/resources/application.yml | 5
fzzy-igdss-web/src/main/resources/application-pro5372.yml | 5
fzzy-igdss-web/src/main/resources/templates/wx/home.html | 256
fzzy-igdss-web/src/main/java/com/fzzy/appwx/constant/WeChatConst.java | 17
26 files changed, 15,629 insertions(+), 2 deletions(-)
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/data/ConfigData.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/data/ConfigData.java
new file mode 100644
index 0000000..21c4875
--- /dev/null
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/data/ConfigData.java
@@ -0,0 +1,33 @@
+package com.fzzy.igds.data;
+
+import lombok.Data;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+
+/**
+ * 绯荤粺閰嶇疆鏂囦欢涓殑鍙傛暟
+ *
+ * @author sgj
+ * @since 2026/04/10
+ */
+@Component
+@Data
+public class ConfigData {
+
+
+ @Value("${framework.weChat.wxServeUrl}")
+ private String wxServeUrl;
+
+ @Value("${framework.weChat.wxAppId}")
+ private String wxAppId;
+
+ @Value("${framework.weChat.wxSecret}")
+ private String wxSecret;
+
+ /**
+ * 鍏紬鍙锋秷鎭ā鏉縤d---鍛婅妯℃澘
+ */
+ @Value("${framework.weChat.template-id}")
+ private String wxTempId;
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/service/ApiV1Service3031.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/service/ApiV1Service3031.java
index 8a40905..742815a 100644
--- a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/service/ApiV1Service3031.java
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/service/ApiV1Service3031.java
@@ -107,7 +107,7 @@
BaseResp baseResp = snapReplyService.addData(snapReply);
if(BaseResp.isSuccess(baseResp)){
log.info("鐢熸垚鍥炲鍛婅鎴愬姛锛�");
- // todo 鎺ㄩ�佸叕浼楀彿淇℃伅
+ // todo 鎺ㄩ�佸叕浼楀彿鎵瑰鍛婅鎻愰啋淇℃伅
}
}
}
diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/appwx/constant/WeChatConst.java b/fzzy-igdss-web/src/main/java/com/fzzy/appwx/constant/WeChatConst.java
new file mode 100644
index 0000000..7cf3bcb
--- /dev/null
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/appwx/constant/WeChatConst.java
@@ -0,0 +1,17 @@
+package com.fzzy.appwx.constant;
+
+public class WeChatConst {
+
+ /**
+ * 寰俊鍏紬鍙风櫥褰�
+ */
+ public static final String LOGIN_TYPE_WECHAT = "WECHAT";
+ // 鐢ㄦ埛鎺堟潈
+ public static final String USER_AUTH_UPR =
+ "https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect";
+ /**
+ * 閫氳繃code鎹㈠彇鐢ㄦ埛淇℃伅
+ */
+ public static final String OAUTH2_CODE_ACCESS_TOKEN_URL =
+ "https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code";
+}
diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/appwx/controller/WeChatController.java b/fzzy-igdss-web/src/main/java/com/fzzy/appwx/controller/WeChatController.java
new file mode 100644
index 0000000..9c2c2a0
--- /dev/null
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/appwx/controller/WeChatController.java
@@ -0,0 +1,156 @@
+package com.fzzy.appwx.controller;
+
+
+import com.fzzy.appwx.constant.WeChatConst;
+import com.fzzy.appwx.manager.WeChatManager;
+import com.fzzy.appwx.param.WeChatBaseParam;
+import com.fzzy.igds.data.ConfigData;
+import com.fzzy.igds.data.PageResponse;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.annotation.Resource;
+
+@Slf4j
+@Controller
+@RequestMapping("/wx")
+public class WeChatController {
+
+ @Resource
+ private ConfigData configData;
+ @Resource
+ private WeChatManager weChatManager;
+
+
+ /**
+ * 寰俊鑿滃崟閲嶅畾鍚戣幏鍙朿ode
+ *
+ * @param tag
+ * @return
+ * @throws Exception
+ */
+ @RequestMapping
+ public String redirect(
+ @RequestParam(value = "tag", required = false) String tag) throws Exception {
+
+ String url = configData.getWxServeUrl() + "/wx/view-gateway";
+
+ if (StringUtils.isEmpty(tag)) {
+ tag = "home";
+ }
+//
+ String newUrl = WeChatConst.USER_AUTH_UPR
+ .replace("APPID", configData.getWxAppId())
+ .replace("REDIRECT_URI", URLEncoder.encode(url, "UTF-8"))
+ .replace("STATE", tag);
+
+ return "redirect:" + newUrl;
+// return "redirect:" + url + "?state=" + tag;
+ }
+
+
+ /**
+ * 椤甸潰鍒嗗彂
+ *
+ * @param
+ * @return
+ */
+ @RequestMapping("/view-gateway")
+ public ModelAndView viewGateway(
+ @RequestParam(value = "code", required = false) String code,
+ @RequestParam(value = "state") String state,
+ @RequestParam(value = "id", required = false) String id,
+ @RequestParam(value = "companyId", required = false) String companyId,
+ @RequestParam(value = "loginType", required = false) String loginType,
+ @RequestParam(value = "userName", required = false) String userName) {
+
+ ModelAndView mv = new ModelAndView();
+
+ //code涓嶄负绌哄垯鑾峰彇openid
+ if (StringUtils.isNotEmpty(code)) {
+ String openid = weChatManager.getOpenid(code);
+ mv.addObject("openid", openid);
+ SysUser user = weChatManager.getUser(openid);
+ if (StringUtils.isEmpty(userName)) {
+ if (user != null) {
+ userName = user.getUserName();
+ }
+ }
+
+ }
+
+ if (StringUtils.isNotEmpty(id)) {
+ mv.addObject("id", id);
+ mv.addObject("companyId", companyId);
+ }
+ //鍒ゆ柇鏄叕浼楀彿杩樻槸APP,榛樿涓哄叕浼楀彿
+ if (StringUtils.isEmpty(loginType)) {
+ loginType = WeChatConst.LOGIN_TYPE_WECHAT;
+ }
+ mv.addObject("loginType", loginType);
+
+ if (StringUtils.isNotEmpty(userName)) {
+ mv.addObject("userName", userName);
+ }
+ mv.setViewName("/wx/" + state);
+
+// //娴嬭瘯浠g爜寮�鍚�
+// String openid = "testOpenId";
+// mv.addObject("openid", openid);
+// SysUser user = weChatManager.getUser(openid);
+// if (StringUtils.isEmpty(userName)) {
+// if (user != null) {
+// userName = user.getUserName();
+// }
+// }
+// //娴嬭瘯浠g爜缁撴潫
+
+ return mv;
+ }
+
+
+ /**
+ * 鑾峰彇鐢ㄦ埛鐨勭粦瀹氫俊鎭�
+ *
+ * @param param
+ * @author sgj
+ * @since 2026/04/11
+ */
+ @PostMapping(value = "/getUserBindInfo")
+ @ResponseBody
+ public PageResponse<SysUser> getUserBindInfo( @RequestBody WeChatBaseParam param) {
+ return weChatManager.getUserBindInfo(param);
+ }
+
+
+ /**
+ * 缁戝畾openId
+ *
+ * @param param
+ * @author sgj
+ * @since 2026/04/11
+ */
+ @PostMapping(value = "/bandOpenId")
+ @ResponseBody
+ public PageResponse<String> bandOpenId( @RequestBody WeChatBaseParam param) {
+ return weChatManager.bandOpenId(param);
+ }
+
+ /**
+ * 瑙g粦openId
+ *
+ * @param param
+ * @author sgj
+ * @since 2026/04/11
+ */
+ @PostMapping(value = "/unBandOpenId")
+ @ResponseBody
+ public PageResponse<String> unBandOpenId( @RequestBody WeChatBaseParam param) {
+ return weChatManager.unBandOpenId(param);
+ }
+
+}
diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/appwx/manager/WeChatManager.java b/fzzy-igdss-web/src/main/java/com/fzzy/appwx/manager/WeChatManager.java
new file mode 100644
index 0000000..4361ee3
--- /dev/null
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/appwx/manager/WeChatManager.java
@@ -0,0 +1,153 @@
+package com.fzzy.appwx.manager;
+
+import com.fzzy.appwx.param.WeChatBaseParam;
+import com.fzzy.appwx.util.WeChatUtil;
+import com.fzzy.igds.constant.RespCodeEnum;
+import com.fzzy.igds.data.PageResponse;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.system.service.ISysUserService;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Component
+public class WeChatManager {
+
+ @Autowired
+ private WeChatUtil weChatUtil;
+ @Autowired
+ private ISysUserService sysUserService;
+
+
+ public String getOpenid(String code) {
+ //鏍规嵁code鑾峰彇鐢ㄦ埛openid
+ return weChatUtil.getOpenid(code);
+ }
+
+
+ public SysUser getUser(String openid) {
+ //鏍规嵁openid鑾峰彇鐢ㄦ埛淇℃伅
+ return sysUserService.selectUserByOpenId(openid);
+ }
+
+ //鑾峰彇鐢ㄦ埛缁戝畾淇℃伅
+ public PageResponse<SysUser> getUserBindInfo(WeChatBaseParam param) {
+ //鍒ゆ柇鍙傛暟
+ if (null == param) {
+ return new PageResponse<SysUser>(RespCodeEnum.CODE_1007.getCode(), "鍙傛暟涓嶅畬鏁达紝璇锋牳鏌�");
+ }
+
+ SysUser user = null;
+
+ //寰俊鍏紬鍙�
+ if (StringUtils.isEmpty(param.getOpenid())) {
+ return new PageResponse<SysUser>(RespCodeEnum.CODE_1007.getCode(), "鍙傛暟涓嶅畬鏁达紝璇锋牳鏌�");
+
+ }
+ //鏍规嵁openid鏌ヨ鐢ㄦ埛鏄惁宸茬粡缁戝畾
+ user = sysUserService.selectUserByOpenId(param.getOpenid());
+ if (user == null) {
+ return new PageResponse<SysUser>(RespCodeEnum.CODE_1008.getCode(), "涓氬姟鏁版嵁杩斿洖涓虹┖");
+
+ }
+
+ Long deptId = user.getDeptId();
+ if (deptId == null) {
+ deptId = Long.valueOf(user.getCompanyId());
+ user.setDeptId(deptId);
+ }
+ return new PageResponse(RespCodeEnum.CODE_0000.getCode(), "鏌ヨ鎴愬姛",user);
+ }
+
+ //缁戝畾openId
+ public PageResponse<String> bandOpenId(WeChatBaseParam param) {
+
+ //鍒ゆ柇鍙傛暟
+ if (null == param || StringUtils.isEmpty(param.getOpenid())) {
+ return new PageResponse<String>(RespCodeEnum.CODE_1007.getCode(), "鍙傛暟涓嶅畬鏁达紝璇锋牳鏌�");
+
+ }
+ if (StringUtils.isEmpty(param.getMobile())) {
+ return new PageResponse<String>(RespCodeEnum.CODE_1007.getCode(), "鎵嬫満鍙蜂负绌猴紝璇峰~鍐�");
+
+ }
+// if (StringUtils.isEmpty(param.getMsgCode())) {
+// return new PageResponse<String>(RespCodeEnum.CODE_1007.getCode(), "楠岃瘉鐮佷笉鑳戒负绌�");
+//
+// }
+//
+// String code = (String) redisService.getCacheObject(WeChatConst.WX_MOBILE_CODE + param.getMobile());
+// if(StringUtils.isEmpty(code)){
+// res.put("code","1007");
+// res.put("msg","楠岃瘉鐮佸凡澶辨晥锛岃閲嶆柊鑾峰彇");
+// return res;
+// }
+// if(! code.equals(param.getMsgCode())){
+// res.put("code","1007");
+// res.put("msg","楠岃瘉鐮侀敊璇�");
+// return res;
+// }
+
+ //鏍规嵁鎵嬫満鍙锋煡鐪嬬敤鎴锋槸鍚︽槸绯荤粺鐢ㄦ埛
+ SysUser user = sysUserService.selectUserByPhoneNumber(param.getMobile());
+ if(user == null || StringUtils.isEmpty(user.getPhonenumber())){
+ return new PageResponse<String>(RespCodeEnum.CODE_1006.getCode(), "鎵嬫満鍙蜂笉鍦ㄧ郴缁熷唴锛岃鑱旂郴绠$悊鍛橈紒");
+ }
+
+ //鏇存柊鏁版嵁搴擄紝鐢ㄦ埛淇℃伅鍔犲叆寰俊璁よ瘉ID
+ user.setOpenId(param.getOpenid());
+ sysUserService.updateUserInfo(user);
+
+// redisService.deleteObject(WeChatConst.WX_MOBILE_CODE + param.getMobile());
+
+ return new PageResponse<String>(RespCodeEnum.CODE_0000.getCode(), "璇锋眰鎴愬姛");
+
+ }
+
+
+ //瑙g粦openId
+ public PageResponse<String> unBandOpenId(WeChatBaseParam param) {
+
+ //鍒ゆ柇鍙傛暟
+ if (null == param || StringUtils.isEmpty(param.getOpenid())) {
+ return new PageResponse<String>(RespCodeEnum.CODE_1007.getCode(), "鍙傛暟涓嶅畬鏁达紝璇锋牳鏌�");
+
+ }
+ if (StringUtils.isEmpty(param.getMobile())) {
+ return new PageResponse<String>(RespCodeEnum.CODE_1007.getCode(), "鎵嬫満鍙蜂负绌猴紝璇峰~鍐�");
+ }
+ if (StringUtils.isEmpty(param.getMsgCode())) {
+ return new PageResponse<String>(RespCodeEnum.CODE_1007.getCode(), "楠岃瘉鐮佷笉鑳戒负绌�");
+
+ }
+
+// String code = (String) redisService.getCacheObject(WeChatConst.WX_MOBILE_CODE + param.getMobile());
+// if(StringUtils.isEmpty(code)){
+// res.put("code","1007");
+// res.put("msg","楠岃瘉鐮佸凡澶辨晥锛岃閲嶆柊鑾峰彇");
+// return res;
+//
+// }
+// if(! code.equals(param.getMsgCode())){
+// res.put("code","1007");
+// res.put("msg","楠岃瘉鐮侀敊璇�");
+// return res;
+// }
+
+ //鏍规嵁鎵嬫満鍙锋煡璇㈢敤鎴锋槸鍚﹀凡缁忕粦瀹�
+ SysUser user = sysUserService.selectUserByPhoneNumber(param.getMobile());
+ if(user == null || StringUtils.isEmpty(user.getPhonenumber())){
+ return new PageResponse<String>(RespCodeEnum.CODE_1006.getCode(), "鎵嬫満鍙蜂笉鍦ㄧ郴缁熷唴锛岃鑱旂郴绠$悊鍛橈紒");
+
+ }
+
+ user.setOpenId("");
+ sysUserService.updateUserInfo(user);
+
+// redisService.deleteObject(WeChatConst.WX_MOBILE_CODE + param.getMobile());
+
+ return new PageResponse<String>(RespCodeEnum.CODE_0000.getCode(), "璇锋眰鎴愬姛");
+
+ }
+
+}
diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/appwx/param/WeChatBaseParam.java b/fzzy-igdss-web/src/main/java/com/fzzy/appwx/param/WeChatBaseParam.java
new file mode 100644
index 0000000..0d4ab4a
--- /dev/null
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/appwx/param/WeChatBaseParam.java
@@ -0,0 +1,35 @@
+package com.fzzy.appwx.param;
+import lombok.Data;
+
+
+@Data
+public class WeChatBaseParam {
+
+ private String openid;
+
+ private String companyId;
+
+ private String mobile;
+
+ private String msgCode;
+
+ private int pageSize = 10;
+
+ private int pageNo = 1;
+
+ /**
+ * 鐧诲綍绫诲瀷锛氬垎涓篈PP鍜學ECHAT涓ょ
+ */
+ private String loginType;
+
+ /**
+ * 鎵嬫満APP鐧诲綍鏃剁殑鐢ㄦ埛鍚�
+ */
+ private String userName;
+
+ /**
+ * 棰濆浼犲弬銆傝澶囧垪琛ㄩ〉闈㈡媶鍒嗕负鍒嗙粍鍒楄〃鍜岃澶囧垪琛紝浼犲弬鍒嗙粍id
+ */
+ private String id;
+
+}
diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/appwx/util/WeChatUtil.java b/fzzy-igdss-web/src/main/java/com/fzzy/appwx/util/WeChatUtil.java
new file mode 100644
index 0000000..38fad8c
--- /dev/null
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/appwx/util/WeChatUtil.java
@@ -0,0 +1,58 @@
+package com.fzzy.appwx.util;
+
+
+import com.alibaba.fastjson.JSONObject;
+import com.fzzy.appwx.constant.WeChatConst;
+import com.fzzy.igds.data.ConfigData;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.web.client.RestTemplate;
+
+/**
+ * 寰俊宸ュ叿绫�
+ *
+ * @author chen
+ */
+@Slf4j
+@Component
+public class WeChatUtil {
+
+ @Autowired
+ private RestTemplate restTemplate;
+
+ @Autowired
+ private ConfigData configData;
+
+ /**
+ * get璇锋眰
+ *
+ * @param url
+ * @return
+ */
+ public String doGet(String url) {
+ return restTemplate.getForObject(url, String.class);
+ }
+
+
+ /**
+ * 鏍规嵁缃戦〉鎺堟潈code鑾峰彇openid
+ *
+ * @param code
+ * @return
+ */
+ public String getOpenid(String code) {
+
+ String url = WeChatConst.OAUTH2_CODE_ACCESS_TOKEN_URL
+ .replace("APPID", configData.getWxAppId())
+ .replace("SECRET", configData.getWxSecret()).replace("CODE", code);
+
+ String result = this.doGet(url);
+ if (null == result) {
+ return null;
+ }
+ JSONObject jsonObject = JSONObject.parseObject(result);
+ return jsonObject.getString("openid");
+ }
+
+}
diff --git a/fzzy-igdss-web/src/main/resources/application-dev.yml b/fzzy-igdss-web/src/main/resources/application-dev.yml
index ea067a0..6ef6c1c 100644
--- a/fzzy-igdss-web/src/main/resources/application-dev.yml
+++ b/fzzy-igdss-web/src/main/resources/application-dev.yml
@@ -116,4 +116,9 @@
email: business@fzzygf.com
phone: 400-627-1116
website: http://www.fzzygf.com
- address: 閮戝窞甯傞珮鏂板尯闀挎た璺�11鍙锋渤鍗楃渷鍥藉澶у绉戞妧鍥鍖�1鍙锋ゼ
\ No newline at end of file
+ address: 閮戝窞甯傞珮鏂板尯闀挎た璺�11鍙锋渤鍗楃渷鍥藉澶у绉戞妧鍥鍖�1鍙锋ゼ
+ weChat:
+ wxServeUrl: http://192.168.1.215:18081
+ wxAppId: wx0ba61024c55da10c
+ wxSecret: 2a66186368be54b5a48552b5fce716dd
+ template-id: Ggt45UcVy2OWfDCzgbSun6u24hv__wwwzx9yEyo58X4
\ No newline at end of file
diff --git a/fzzy-igdss-web/src/main/resources/application-pro.yml b/fzzy-igdss-web/src/main/resources/application-pro.yml
index 0cff128..581a475 100644
--- a/fzzy-igdss-web/src/main/resources/application-pro.yml
+++ b/fzzy-igdss-web/src/main/resources/application-pro.yml
@@ -117,6 +117,11 @@
phone: 400-627-1116
website: http://www.fzzygf.com
address: 閮戝窞甯傞珮鏂板尯闀挎た璺�11鍙锋渤鍗楃渷鍥藉澶у绉戞妧鍥鍖�1鍙锋ゼ
+ weChat:
+ wxServeUrl: http://192.168.1.215:18081
+ wxAppId: wx0ba61024c55da10c
+ wxSecret: 2a66186368be54b5a48552b5fce716dd
+ template-id: Ggt45UcVy2OWfDCzgbSun6u24hv__wwwzx9yEyo58X4
# Shiro
shiro:
diff --git a/fzzy-igdss-web/src/main/resources/application-pro5372.yml b/fzzy-igdss-web/src/main/resources/application-pro5372.yml
index 0cff128..581a475 100644
--- a/fzzy-igdss-web/src/main/resources/application-pro5372.yml
+++ b/fzzy-igdss-web/src/main/resources/application-pro5372.yml
@@ -117,6 +117,11 @@
phone: 400-627-1116
website: http://www.fzzygf.com
address: 閮戝窞甯傞珮鏂板尯闀挎た璺�11鍙锋渤鍗楃渷鍥藉澶у绉戞妧鍥鍖�1鍙锋ゼ
+ weChat:
+ wxServeUrl: http://192.168.1.215:18081
+ wxAppId: wx0ba61024c55da10c
+ wxSecret: 2a66186368be54b5a48552b5fce716dd
+ template-id: Ggt45UcVy2OWfDCzgbSun6u24hv__wwwzx9yEyo58X4
# Shiro
shiro:
diff --git a/fzzy-igdss-web/src/main/resources/application.yml b/fzzy-igdss-web/src/main/resources/application.yml
index 2442184..ed21e63 100644
--- a/fzzy-igdss-web/src/main/resources/application.yml
+++ b/fzzy-igdss-web/src/main/resources/application.yml
@@ -104,6 +104,11 @@
website: http://www.fzzygf.com
address: 閮戝窞甯傞珮鏂板尯闀挎た璺�11鍙锋渤鍗楃渷鍥藉澶у绉戞妧鍥鍖�1鍙锋ゼ
doradoMode:
+ weChat:
+ wxServeUrl: http://192.168.1.215:18081
+ wxAppId: wx0ba61024c55da10c
+ wxSecret: 2a66186368be54b5a48552b5fce716dd
+ template-id: Ggt45UcVy2OWfDCzgbSun6u24hv__wwwzx9yEyo58X4
# 鏃ュ織閰嶇疆
diff --git a/fzzy-igdss-web/src/main/resources/static/ajax/libs/mui/css/icons-extra.css b/fzzy-igdss-web/src/main/resources/static/ajax/libs/mui/css/icons-extra.css
new file mode 100644
index 0000000..94ea3e5
--- /dev/null
+++ b/fzzy-igdss-web/src/main/resources/static/ajax/libs/mui/css/icons-extra.css
@@ -0,0 +1,63 @@
+@font-face {
+ font-family: MuiiconSpread;
+ font-weight: normal;
+ font-style: normal;
+ src: url('../fonts/mui-icons-extra.ttf') format('truetype'); /* iOS 4.1- */
+}
+.mui-icon-extra
+{
+ font-family: MuiiconSpread;
+ font-size: 24px;
+ font-weight: normal;
+ font-style: normal;
+ line-height: 1;
+ display: inline-block;
+ text-decoration: none;
+ -webkit-font-smoothing: antialiased;
+}
+.mui-icon-extra-cold:before { content: "\e500"; }
+.mui-icon-extra-share:before { content: "\e200"; }
+.mui-icon-extra-class:before { content: "\e118"; }
+.mui-icon-extra-custom:before { content: "\e117"; }
+.mui-icon-extra-new:before { content: "\e103"; }
+.mui-icon-extra-card:before { content: "\e104"; }
+.mui-icon-extra-grech:before { content: "\e105"; }
+.mui-icon-extra-trend:before { content: "\e106"; }
+.mui-icon-extra-filter:before { content: "\e207"; }
+.mui-icon-extra-holiday:before { content: "\e300"; }
+.mui-icon-extra-cart:before { content: "\e107"; }
+.mui-icon-extra-heart:before { content: "\e180"; }
+.mui-icon-extra-computer:before { content: "\e600"; }
+.mui-icon-extra-express:before { content: "\e108"; }
+.mui-icon-extra-gift:before { content: "\e109"; }
+.mui-icon-extra-gold:before { content: "\e102"; }
+.mui-icon-extra-lamp:before { content: "\e601"; }
+.mui-icon-extra-rank:before { content: "\e110"; }
+.mui-icon-extra-notice:before { content: "\e111"; }
+.mui-icon-extra-sweep:before { content: "\e202"; }
+.mui-icon-extra-arrowleftcricle:before { content: "\e401"; }
+.mui-icon-extra-dictionary:before { content: "\e602"; }
+.mui-icon-extra-heart-filled:before { content: "\e119"; }
+.mui-icon-extra-xiaoshuo:before { content: "\e607"; }
+.mui-icon-extra-top:before { content: "\e403"; }
+.mui-icon-extra-people:before { content: "\e203"; }
+.mui-icon-extra-topic:before { content: "\e603"; }
+.mui-icon-extra-hotel:before { content: "\e301"; }
+.mui-icon-extra-like:before { content: "\e206"; }
+.mui-icon-extra-regist:before { content: "\e201"; }
+.mui-icon-extra-order:before { content: "\e113"; }
+.mui-icon-extra-alipay:before { content: "\e114"; }
+.mui-icon-extra-find:before { content: "\e400"; }
+.mui-icon-extra-arrowrightcricle:before { content: "\e402"; }
+.mui-icon-extra-calendar:before { content: "\e115"; }
+.mui-icon-extra-prech:before { content: "\e116"; }
+.mui-icon-extra-cate:before { content: "\e501"; }
+.mui-icon-extra-comment:before { content: "\e209"; }
+.mui-icon-extra-at:before { content: "\e208"; }
+.mui-icon-extra-addpeople:before { content: "\e204"; }
+.mui-icon-extra-peoples:before { content: "\e205"; }
+.mui-icon-extra-calc:before { content: "\e101"; }
+.mui-icon-extra-classroom:before { content: "\e604"; }
+.mui-icon-extra-phone:before { content: "\e404"; }
+.mui-icon-extra-university:before { content: "\e605"; }
+.mui-icon-extra-outline:before { content: "\e606"; }
diff --git a/fzzy-igdss-web/src/main/resources/static/ajax/libs/mui/css/mui.css b/fzzy-igdss-web/src/main/resources/static/ajax/libs/mui/css/mui.css
new file mode 100644
index 0000000..ab71e75
--- /dev/null
+++ b/fzzy-igdss-web/src/main/resources/static/ajax/libs/mui/css/mui.css
@@ -0,0 +1,5649 @@
+/*!
+ * =====================================================
+ * Mui v3.7.3 (http://dev.dcloud.net.cn/mui)
+ * =====================================================
+ */
+
+/*! normalize.css v3.0.1 | MIT License | git.io/normalize */
+html
+{
+ font-family: sans-serif;
+
+ -webkit-text-size-adjust: 100%;
+}
+
+body
+{
+ margin: 0;
+}
+
+body::after
+{
+ position: fixed;
+ top: -1000px;
+ left: -1000px;
+
+ content: '';
+ -webkit-animation: shadow-preload .1s;
+ animation: shadow-preload .1s;
+ -webkit-animation-delay: 3s;
+ animation-delay: 3s;
+}
+
+@-webkit-keyframes shadow-preload
+{
+ 0%
+ {
+ background-image: url(https://cdn.dcloud.net.cn/img/mui-shadow-grey.png);
+ }
+
+ 100%
+ {
+ background-image: url(https://cdn.dcloud.net.cn/img/mui-shadow-grey.png);
+ }
+}
+@keyframes shadow-preload
+{
+ 0%
+ {
+ background-image: url(https://cdn.dcloud.net.cn/img/mui-shadow-grey.png);
+ }
+
+ 100%
+ {
+ background-image: url(https://cdn.dcloud.net.cn/img/mui-shadow-grey.png);
+ }
+}
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+nav,
+section,
+summary
+{
+ display: block;
+}
+
+audio,
+canvas,
+progress,
+video
+{
+ display: inline-block;
+
+ vertical-align: baseline;
+}
+
+audio:not([controls])
+{
+ display: none;
+
+ height: 0;
+}
+
+[hidden],
+template
+{
+ display: none;
+}
+
+a
+{
+ background: transparent;
+}
+
+a:active,
+a:hover
+{
+ outline: 0;
+}
+
+abbr[title]
+{
+ border-bottom: 1px dotted;
+}
+
+b,
+strong
+{
+ font-weight: bold;
+}
+
+dfn
+{
+ font-style: italic;
+}
+
+h1
+{
+ font-size: 2em;
+
+ margin: .67em 0;
+}
+
+mark
+{
+ color: #000;
+ background: #ff0;
+}
+
+small
+{
+ font-size: 80%;
+}
+
+sub,
+sup
+{
+ font-size: 75%;
+ line-height: 0;
+
+ position: relative;
+
+ vertical-align: baseline;
+}
+
+sup
+{
+ top: -.5em;
+}
+
+sub
+{
+ bottom: -.25em;
+}
+
+img
+{
+ border: 0;
+}
+
+svg:not(:root)
+{
+ overflow: hidden;
+}
+
+figure
+{
+ margin: 1em 40px;
+}
+
+hr
+{
+ box-sizing: content-box;
+ height: 0;
+}
+
+pre
+{
+ overflow: auto;
+}
+
+code,
+kbd,
+pre,
+samp
+{
+ font-family: monospace, monospace;
+ font-size: 1em;
+}
+
+button,
+input,
+optgroup,
+select,
+textarea
+{
+ font: inherit;
+
+ margin: 0;
+
+ color: inherit;
+}
+
+button
+{
+ overflow: visible;
+}
+
+button,
+select
+{
+ text-transform: none;
+}
+
+button,
+html input[type='button'],
+input[type='reset'],
+input[type='submit']
+{
+ cursor: pointer;
+
+ -webkit-appearance: button;
+}
+
+button[disabled],
+html input[disabled]
+{
+ cursor: default;
+}
+
+input
+{
+ line-height: normal;
+}
+
+input[type='checkbox'],
+input[type='radio']
+{
+ box-sizing: border-box;
+ padding: 0;
+}
+
+input[type='number']::-webkit-inner-spin-button,
+input[type='number']::-webkit-outer-spin-button
+{
+ height: auto;
+}
+
+input[type='search']
+{
+ -webkit-box-sizing: content-box;
+ box-sizing: content-box;
+
+ -webkit-appearance: textfield;
+}
+
+input[type='search']::-webkit-search-cancel-button,
+input[type='search']::-webkit-search-decoration
+{
+ -webkit-appearance: none;
+}
+
+fieldset
+{
+ margin: 0 2px;
+ padding: .35em .625em .75em;
+
+ border: 1px solid #c0c0c0;
+}
+
+legend
+{
+ padding: 0;
+
+ border: 0;
+}
+
+textarea
+{
+ overflow: auto;
+}
+
+optgroup
+{
+ font-weight: bold;
+}
+
+table
+{
+ border-spacing: 0;
+ border-collapse: collapse;
+}
+
+td,
+th
+{
+ padding: 0;
+}
+
+*
+{
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+
+ -webkit-user-select: none;
+
+ outline: none;
+
+ -webkit-tap-highlight-color: transparent;
+ -webkit-tap-highlight-color: transparent;
+}
+
+body
+{
+ font-family: 'Helvetica Neue', Helvetica, sans-serif;
+ font-size: 17px;
+ line-height: 21px;
+
+ color: #000;
+ background-color: #efeff4;
+
+ -webkit-overflow-scrolling: touch;
+}
+
+a
+{
+ text-decoration: none;
+
+ color: #007aff;
+}
+a:active
+{
+ color: #0062cc;
+}
+
+.mui-content
+{
+ background-color: #efeff4;
+
+ -webkit-overflow-scrolling: touch;
+}
+
+.mui-bar-nav ~ .mui-content
+{
+ padding-top: 44px;
+}
+.mui-bar-nav ~ .mui-content.mui-scroll-wrapper .mui-scrollbar-vertical
+{
+ top: 44px;
+}
+
+.mui-bar-header-secondary ~ .mui-content
+{
+ padding-top: 88px;
+}
+.mui-bar-header-secondary ~ .mui-content.mui-scroll-wrapper .mui-scrollbar-vertical
+{
+ top: 88px;
+}
+
+.mui-bar-footer ~ .mui-content
+{
+ padding-bottom: 44px;
+}
+.mui-bar-footer ~ .mui-content.mui-scroll-wrapper .mui-scrollbar-vertical
+{
+ bottom: 44px;
+}
+
+.mui-bar-footer-secondary ~ .mui-content
+{
+ padding-bottom: 88px;
+}
+.mui-bar-footer-secondary ~ .mui-content.mui-scroll-wrapper .mui-scrollbar-vertical
+{
+ bottom: 88px;
+}
+
+.mui-bar-tab ~ .mui-content
+{
+ padding-bottom: 50px;
+}
+.mui-bar-tab ~ .mui-content.mui-scroll-wrapper .mui-scrollbar-vertical
+{
+ bottom: 50px;
+}
+
+.mui-bar-footer-secondary-tab ~ .mui-content
+{
+ padding-bottom: 94px;
+}
+.mui-bar-footer-secondary-tab ~ .mui-content.mui-scroll-wrapper .mui-scrollbar-vertical
+{
+ bottom: 94px;
+}
+
+.mui-content-padded
+{
+ margin: 10px;
+}
+
+.mui-inline
+{
+ display: inline-block;
+
+ vertical-align: top;
+}
+
+.mui-block
+{
+ display: block !important;
+}
+
+.mui-visibility
+{
+ visibility: visible !important;
+}
+
+.mui-hidden
+{
+ display: none !important;
+}
+
+.mui-ellipsis
+{
+ overflow: hidden;
+
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+
+.mui-ellipsis-2
+{
+ display: -webkit-box;
+ overflow: hidden;
+
+ white-space: normal !important;
+ text-overflow: ellipsis;
+ word-wrap: break-word;
+
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.mui-table
+{
+ display: table;
+
+ width: 100%;
+
+ table-layout: fixed;
+}
+
+.mui-table-cell
+{
+ position: relative;
+
+ display: table-cell;
+}
+
+.mui-text-left
+{
+ text-align: left !important;
+}
+
+.mui-text-center
+{
+ text-align: center !important;
+}
+
+.mui-text-justify
+{
+ text-align: justify !important;
+}
+
+.mui-text-right
+{
+ text-align: right !important;
+}
+
+.mui-pull-left
+{
+ float: left;
+}
+
+.mui-pull-right
+{
+ float: right;
+}
+
+.mui-list-unstyled
+{
+ padding-left: 0;
+
+ list-style: none;
+}
+
+.mui-list-inline
+{
+ margin-left: -5px;
+ padding-left: 0;
+
+ list-style: none;
+}
+
+.mui-list-inline > li
+{
+ display: inline-block;
+
+ padding-right: 5px;
+ padding-left: 5px;
+}
+
+.mui-clearfix:before, .mui-clearfix:after
+{
+ display: table;
+
+ content: ' ';
+}
+.mui-clearfix:after
+{
+ clear: both;
+}
+
+.mui-bg-primary
+{
+ background-color: #007aff;
+}
+
+.mui-bg-positive
+{
+ background-color: #4cd964;
+}
+
+.mui-bg-negative
+{
+ background-color: #dd524d;
+}
+
+.mui-error
+{
+ margin: 88px 35px;
+ padding: 10px;
+
+ border-radius: 6px;
+ background-color: #bbb;
+}
+
+.mui-subtitle
+{
+ font-size: 15px;
+}
+
+h1, h2, h3, h4, h5, h6
+{
+ line-height: 1;
+
+ margin-top: 5px;
+ margin-bottom: 5px;
+}
+
+h1, .mui-h1
+{
+ font-size: 36px;
+}
+
+h2, .mui-h2
+{
+ font-size: 30px;
+}
+
+h3, .mui-h3
+{
+ font-size: 24px;
+}
+
+h4, .mui-h4
+{
+ font-size: 18px;
+}
+
+h5, .mui-h5
+{
+ font-size: 14px;
+ font-weight: normal;
+
+ color: #8f8f94;
+}
+
+h6, .mui-h6
+{
+ font-size: 12px;
+ font-weight: normal;
+
+ color: #8f8f94;
+}
+
+p
+{
+ font-size: 14px;
+
+ margin-top: 0;
+ margin-bottom: 10px;
+
+ color: #8f8f94;
+}
+
+.mui-row:before, .mui-row:after
+{
+ display: table;
+
+ content: ' ';
+}
+.mui-row:after
+{
+ clear: both;
+}
+
+.mui-col-xs-1, .mui-col-sm-1, .mui-col-xs-2, .mui-col-sm-2, .mui-col-xs-3, .mui-col-sm-3, .mui-col-xs-4, .mui-col-sm-4, .mui-col-xs-5, .mui-col-sm-5, .mui-col-xs-6, .mui-col-sm-6, .mui-col-xs-7, .mui-col-sm-7, .mui-col-xs-8, .mui-col-sm-8, .mui-col-xs-9, .mui-col-sm-9, .mui-col-xs-10, .mui-col-sm-10, .mui-col-xs-11, .mui-col-sm-11, .mui-col-xs-12, .mui-col-sm-12
+{
+ position: relative;
+
+ min-height: 1px;
+}
+
+.mui-row > [class*='mui-col-']
+{
+ float: left;
+}
+
+.mui-col-xs-12
+{
+ width: 100%;
+}
+
+.mui-col-xs-11
+{
+ width: 91.66666667%;
+}
+
+.mui-col-xs-10
+{
+ width: 83.33333333%;
+}
+
+.mui-col-xs-9
+{
+ width: 75%;
+}
+
+.mui-col-xs-8
+{
+ width: 66.66666667%;
+}
+
+.mui-col-xs-7
+{
+ width: 58.33333333%;
+}
+
+.mui-col-xs-6
+{
+ width: 50%;
+}
+
+.mui-col-xs-5
+{
+ width: 41.66666667%;
+}
+
+.mui-col-xs-4
+{
+ width: 33.33333333%;
+}
+
+.mui-col-xs-3
+{
+ width: 25%;
+}
+
+.mui-col-xs-2
+{
+ width: 16.66666667%;
+}
+
+.mui-col-xs-1
+{
+ width: 8.33333333%;
+}
+
+@media (min-width: 400px)
+{
+ .mui-col-sm-12
+ {
+ width: 100%;
+ }
+
+ .mui-col-sm-11
+ {
+ width: 91.66666667%;
+ }
+
+ .mui-col-sm-10
+ {
+ width: 83.33333333%;
+ }
+
+ .mui-col-sm-9
+ {
+ width: 75%;
+ }
+
+ .mui-col-sm-8
+ {
+ width: 66.66666667%;
+ }
+
+ .mui-col-sm-7
+ {
+ width: 58.33333333%;
+ }
+
+ .mui-col-sm-6
+ {
+ width: 50%;
+ }
+
+ .mui-col-sm-5
+ {
+ width: 41.66666667%;
+ }
+
+ .mui-col-sm-4
+ {
+ width: 33.33333333%;
+ }
+
+ .mui-col-sm-3
+ {
+ width: 25%;
+ }
+
+ .mui-col-sm-2
+ {
+ width: 16.66666667%;
+ }
+
+ .mui-col-sm-1
+ {
+ width: 8.33333333%;
+ }
+}
+.mui-scroll-wrapper
+{
+ position: absolute;
+ z-index: 2;
+ top: 0;
+ bottom: 0;
+ left: 0;
+
+ overflow: hidden;
+
+ width: 100%;
+}
+
+.mui-scroll
+{
+ position: absolute;
+ z-index: 1;
+
+ width: 100%;
+}
+
+.mui-scrollbar
+{
+ position: absolute;
+ z-index: 9998;
+
+ overflow: hidden;
+
+ -webkit-transition: 500ms;
+ transition: 500ms;
+ transform: translateZ(0px);
+ pointer-events: none;
+
+ opacity: 0;
+}
+
+.mui-scrollbar-vertical
+{
+ top: 0;
+ right: 1px;
+ bottom: 2px;
+
+ width: 4px;
+}
+.mui-scrollbar-vertical .mui-scrollbar-indicator
+{
+ width: 100%;
+}
+
+.mui-scrollbar-horizontal
+{
+ right: 2px;
+ bottom: 0;
+ left: 2px;
+
+ height: 4px;
+}
+.mui-scrollbar-horizontal .mui-scrollbar-indicator
+{
+ height: 100%;
+}
+
+.mui-scrollbar-indicator
+{
+ position: absolute;
+
+ display: block;
+
+ box-sizing: border-box;
+
+ -webkit-transition: .01s cubic-bezier(.1, .57, .1, 1);
+ transition: .01s cubic-bezier(.1, .57, .1, 1);
+ transform: translate(0px, 0px) translateZ(0px);
+
+ border: 1px solid rgba(255, 255, 255, .80196);
+ border-radius: 2px;
+ background: rgba(0, 0, 0, .39804);
+}
+
+.mui-plus-pullrefresh .mui-fullscreen .mui-scroll-wrapper .mui-scroll-wrapper, .mui-plus-pullrefresh .mui-fullscreen .mui-slider-group .mui-scroll-wrapper
+{
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+
+ overflow: hidden;
+
+ width: 100%;
+}
+.mui-plus-pullrefresh .mui-fullscreen .mui-scroll-wrapper .mui-scroll, .mui-plus-pullrefresh .mui-fullscreen .mui-slider-group .mui-scroll
+{
+ position: absolute;
+
+ width: 100%;
+}
+.mui-plus-pullrefresh .mui-scroll-wrapper, .mui-plus-pullrefresh .mui-slider-group
+{
+ position: static;
+ top: auto;
+ bottom: auto;
+ left: auto;
+
+ overflow: auto;
+
+ width: auto;
+}
+.mui-plus-pullrefresh .mui-slider-group
+{
+ overflow: visible;
+}
+.mui-plus-pullrefresh .mui-scroll
+{
+ position: static;
+
+ width: auto;
+}
+
+.mui-off-canvas-wrap .mui-bar
+{
+ position: absolute !important;
+
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+
+.mui-off-canvas-wrap
+{
+ position: relative;
+ z-index: 1;
+
+ overflow: hidden;
+
+ width: 100%;
+ height: 100%;
+}
+.mui-off-canvas-wrap .mui-inner-wrap
+{
+ position: relative;
+ z-index: 1;
+
+ width: 100%;
+ height: 100%;
+}
+.mui-off-canvas-wrap .mui-inner-wrap.mui-transitioning
+{
+ -webkit-transition: -webkit-transform 350ms;
+ transition: transform 350ms cubic-bezier(.165, .84, .44, 1);
+}
+.mui-off-canvas-wrap .mui-inner-wrap .mui-off-canvas-left
+{
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0);
+}
+.mui-off-canvas-wrap .mui-inner-wrap .mui-off-canvas-right
+{
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+}
+.mui-off-canvas-wrap.mui-active
+{
+ overflow: hidden;
+
+ height: 100%;
+}
+.mui-off-canvas-wrap.mui-active .mui-off-canvas-backdrop
+{
+ position: absolute;
+ z-index: 998;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+
+ display: block;
+
+ transition: background 350ms cubic-bezier(.165, .84, .44, 1);
+
+ background: rgba(0, 0, 0, .4);
+ box-shadow: -4px 0 4px rgba(0, 0, 0, .5), 4px 0 4px rgba(0, 0, 0, .5);
+
+ -webkit-tap-highlight-color: transparent;
+}
+.mui-off-canvas-wrap.mui-slide-in .mui-off-canvas-right
+{
+ z-index: 10000 !important;
+
+ -webkit-transform: translate3d(100%, 0px, 0px);
+}
+.mui-off-canvas-wrap.mui-slide-in .mui-off-canvas-left
+{
+ z-index: 10000 !important;
+
+ -webkit-transform: translate3d(-100%, 0px, 0px);
+}
+
+.mui-off-canvas-left, .mui-off-canvas-right
+{
+ position: absolute;
+ z-index: -1;
+ top: 0;
+ bottom: 0;
+
+ visibility: hidden;
+
+ box-sizing: content-box;
+ width: 70%;
+ min-height: 100%;
+
+ background: #333;
+
+ -webkit-overflow-scrolling: touch;
+}
+.mui-off-canvas-left.mui-transitioning, .mui-off-canvas-right.mui-transitioning
+{
+ -webkit-transition: -webkit-transform 350ms cubic-bezier(.165, .84, .44, 1);
+ transition: transform 350ms cubic-bezier(.165, .84, .44, 1);
+}
+
+.mui-off-canvas-left
+{
+ left: 0;
+}
+
+.mui-off-canvas-right
+{
+ right: 0;
+}
+
+.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable
+{
+ background-color: #333;
+}
+.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable > .mui-off-canvas-left, .mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable > .mui-off-canvas-right
+{
+ width: 80%;
+
+ -webkit-transform: scale(.8);
+ transform: scale(.8);
+
+ opacity: .1;
+}
+.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable > .mui-off-canvas-left.mui-transitioning, .mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable > .mui-off-canvas-right.mui-transitioning
+{
+ -webkit-transition: -webkit-transform 350ms cubic-bezier(.165, .84, .44, 1), opacity 350ms cubic-bezier(.165, .84, .44, 1);
+ transition: transform 350ms cubic-bezier(.165, .84, .44, 1), opacity 350ms cubic-bezier(.165, .84, .44, 1);
+}
+.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable > .mui-off-canvas-left
+{
+ -webkit-transform-origin: -100%;
+ transform-origin: -100%;
+}
+.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable > .mui-off-canvas-right
+{
+ -webkit-transform-origin: 200%;
+ transform-origin: 200%;
+}
+.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active > .mui-inner-wrap
+{
+ -webkit-transform: scale(.8);
+ transform: scale(.8);
+}
+.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active > .mui-off-canvas-left, .mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active > .mui-off-canvas-right
+{
+ -webkit-transform: scale(1);
+ transform: scale(1);
+
+ opacity: 1;
+}
+
+.mui-loading .mui-spinner
+{
+ display: block;
+
+ margin: 0 auto;
+}
+
+.mui-spinner
+{
+ display: inline-block;
+
+ width: 24px;
+ height: 24px;
+
+ -webkit-transform-origin: 50%;
+ transform-origin: 50%;
+ -webkit-animation: spinner-spin 1s step-end infinite;
+ animation: spinner-spin 1s step-end infinite;
+}
+
+.mui-spinner:after
+{
+ display: block;
+
+ width: 100%;
+ height: 100%;
+
+ content: '';
+
+ background-image: url('data:image/svg+xml;charset=utf-8,<svg viewBox=\'0 0 120 120\' xmlns=\'http://www.w3.org/2000/svg\' xmlns:xlink=\'http://www.w3.org/1999/xlink\'><defs><line id=\'l\' x1=\'60\' x2=\'60\' y1=\'7\' y2=\'27\' stroke=\'%236c6c6c\' stroke-width=\'11\' stroke-linecap=\'round\'/></defs><g><use xlink:href=\'%23l\' opacity=\'.27\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(30 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(60 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(90 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(120 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(150 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.37\' transform=\'rotate(180 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.46\' transform=\'rotate(210 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.56\' transform=\'rotate(240 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.66\' transform=\'rotate(270 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.75\' transform=\'rotate(300 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.85\' transform=\'rotate(330 60,60)\'/></g></svg>');
+ background-repeat: no-repeat;
+ background-position: 50%;
+ background-size: 100%;
+}
+
+.mui-spinner-white:after
+{
+ background-image: url('data:image/svg+xml;charset=utf-8,<svg viewBox=\'0 0 120 120\' xmlns=\'http://www.w3.org/2000/svg\' xmlns:xlink=\'http://www.w3.org/1999/xlink\'><defs><line id=\'l\' x1=\'60\' x2=\'60\' y1=\'7\' y2=\'27\' stroke=\'%23fff\' stroke-width=\'11\' stroke-linecap=\'round\'/></defs><g><use xlink:href=\'%23l\' opacity=\'.27\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(30 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(60 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(90 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(120 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(150 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.37\' transform=\'rotate(180 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.46\' transform=\'rotate(210 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.56\' transform=\'rotate(240 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.66\' transform=\'rotate(270 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.75\' transform=\'rotate(300 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.85\' transform=\'rotate(330 60,60)\'/></g></svg>');
+}
+
+@-webkit-keyframes spinner-spin
+{
+ 0%
+ {
+ -webkit-transform: rotate(0deg);
+ }
+
+ 8.33333333%
+ {
+ -webkit-transform: rotate(30deg);
+ }
+
+ 16.66666667%
+ {
+ -webkit-transform: rotate(60deg);
+ }
+
+ 25%
+ {
+ -webkit-transform: rotate(90deg);
+ }
+
+ 33.33333333%
+ {
+ -webkit-transform: rotate(120deg);
+ }
+
+ 41.66666667%
+ {
+ -webkit-transform: rotate(150deg);
+ }
+
+ 50%
+ {
+ -webkit-transform: rotate(180deg);
+ }
+
+ 58.33333333%
+ {
+ -webkit-transform: rotate(210deg);
+ }
+
+ 66.66666667%
+ {
+ -webkit-transform: rotate(240deg);
+ }
+
+ 75%
+ {
+ -webkit-transform: rotate(270deg);
+ }
+
+ 83.33333333%
+ {
+ -webkit-transform: rotate(300deg);
+ }
+
+ 91.66666667%
+ {
+ -webkit-transform: rotate(330deg);
+ }
+
+ 100%
+ {
+ -webkit-transform: rotate(360deg);
+ }
+}
+@keyframes spinner-spin
+{
+ 0%
+ {
+ transform: rotate(0deg);
+ }
+
+ 8.33333333%
+ {
+ transform: rotate(30deg);
+ }
+
+ 16.66666667%
+ {
+ transform: rotate(60deg);
+ }
+
+ 25%
+ {
+ transform: rotate(90deg);
+ }
+
+ 33.33333333%
+ {
+ transform: rotate(120deg);
+ }
+
+ 41.66666667%
+ {
+ transform: rotate(150deg);
+ }
+
+ 50%
+ {
+ transform: rotate(180deg);
+ }
+
+ 58.33333333%
+ {
+ transform: rotate(210deg);
+ }
+
+ 66.66666667%
+ {
+ transform: rotate(240deg);
+ }
+
+ 75%
+ {
+ transform: rotate(270deg);
+ }
+
+ 83.33333333%
+ {
+ transform: rotate(300deg);
+ }
+
+ 91.66666667%
+ {
+ transform: rotate(330deg);
+ }
+
+ 100%
+ {
+ transform: rotate(360deg);
+ }
+}
+input[type='button'],
+input[type='submit'],
+input[type='reset'],
+button,
+.mui-btn
+{
+ font-size: 14px;
+ font-weight: 400;
+ line-height: 1.42;
+
+ position: relative;
+
+ display: inline-block;
+
+ margin-bottom: 0;
+ padding: 6px 12px;
+
+ cursor: pointer;
+ -webkit-transition: all;
+ transition: all;
+ -webkit-transition-timing-function: linear;
+ transition-timing-function: linear;
+ -webkit-transition-duration: .2s;
+ transition-duration: .2s;
+ text-align: center;
+ vertical-align: top;
+ white-space: nowrap;
+
+ color: #333;
+ border: 1px solid #ccc;
+ border-radius: 3px;
+ border-top-left-radius: 3px;
+ border-top-right-radius: 3px;
+ border-bottom-right-radius: 3px;
+ border-bottom-left-radius: 3px;
+ background-color: #fff;
+ background-clip: padding-box;
+}
+input[type='button']:enabled:active, input[type='button'].mui-active:enabled,
+input[type='submit']:enabled:active,
+input[type='submit'].mui-active:enabled,
+input[type='reset']:enabled:active,
+input[type='reset'].mui-active:enabled,
+button:enabled:active,
+button.mui-active:enabled,
+.mui-btn:enabled:active,
+.mui-btn.mui-active:enabled
+{
+ color: #fff;
+ background-color: #929292;
+}
+input[type='button']:disabled, input[type='button'].mui-disabled,
+input[type='submit']:disabled,
+input[type='submit'].mui-disabled,
+input[type='reset']:disabled,
+input[type='reset'].mui-disabled,
+button:disabled,
+button.mui-disabled,
+.mui-btn:disabled,
+.mui-btn.mui-disabled
+{
+ opacity: .6;
+}
+
+input[type='submit'],
+.mui-btn-primary,
+.mui-btn-blue
+{
+ color: #fff;
+ border: 1px solid #007aff;
+ background-color: #007aff;
+}
+input[type='submit']:enabled:active, input[type='submit'].mui-active:enabled,
+.mui-btn-primary:enabled:active,
+.mui-btn-primary.mui-active:enabled,
+.mui-btn-blue:enabled:active,
+.mui-btn-blue.mui-active:enabled
+{
+ color: #fff;
+ border: 1px solid #0062cc;
+ background-color: #0062cc;
+}
+
+.mui-btn-positive,
+.mui-btn-success,
+.mui-btn-green
+{
+ color: #fff;
+ border: 1px solid #4cd964;
+ background-color: #4cd964;
+}
+.mui-btn-positive:enabled:active, .mui-btn-positive.mui-active:enabled,
+.mui-btn-success:enabled:active,
+.mui-btn-success.mui-active:enabled,
+.mui-btn-green:enabled:active,
+.mui-btn-green.mui-active:enabled
+{
+ color: #fff;
+ border: 1px solid #2ac845;
+ background-color: #2ac845;
+}
+
+.mui-btn-warning,
+.mui-btn-yellow
+{
+ color: #fff;
+ border: 1px solid #f0ad4e;
+ background-color: #f0ad4e;
+}
+.mui-btn-warning:enabled:active, .mui-btn-warning.mui-active:enabled,
+.mui-btn-yellow:enabled:active,
+.mui-btn-yellow.mui-active:enabled
+{
+ color: #fff;
+ border: 1px solid #ec971f;
+ background-color: #ec971f;
+}
+
+.mui-btn-negative,
+.mui-btn-danger,
+.mui-btn-red
+{
+ color: #fff;
+ border: 1px solid #dd524d;
+ background-color: #dd524d;
+}
+.mui-btn-negative:enabled:active, .mui-btn-negative.mui-active:enabled,
+.mui-btn-danger:enabled:active,
+.mui-btn-danger.mui-active:enabled,
+.mui-btn-red:enabled:active,
+.mui-btn-red.mui-active:enabled
+{
+ color: #fff;
+ border: 1px solid #cf2d28;
+ background-color: #cf2d28;
+}
+
+.mui-btn-royal,
+.mui-btn-purple
+{
+ color: #fff;
+ border: 1px solid #8a6de9;
+ background-color: #8a6de9;
+}
+.mui-btn-royal:enabled:active, .mui-btn-royal.mui-active:enabled,
+.mui-btn-purple:enabled:active,
+.mui-btn-purple.mui-active:enabled
+{
+ color: #fff;
+ border: 1px solid #6641e2;
+ background-color: #6641e2;
+}
+
+.mui-btn-grey
+{
+ color: #fff;
+ border: 1px solid #c7c7cc;
+ background-color: #c7c7cc;
+}
+.mui-btn-grey:enabled:active, .mui-btn-grey.mui-active:enabled
+{
+ color: #fff;
+ border: 1px solid #acacb4;
+ background-color: #acacb4;
+}
+
+.mui-btn-outlined
+{
+ background-color: transparent;
+}
+.mui-btn-outlined.mui-btn-primary, .mui-btn-outlined.mui-btn-blue
+{
+ color: #007aff;
+}
+.mui-btn-outlined.mui-btn-positive, .mui-btn-outlined.mui-btn-success, .mui-btn-outlined.mui-btn-green
+{
+ color: #4cd964;
+}
+.mui-btn-outlined.mui-btn-warning, .mui-btn-outlined.mui-btn-yellow
+{
+ color: #f0ad4e;
+}
+.mui-btn-outlined.mui-btn-negative, .mui-btn-outlined.mui-btn-danger, .mui-btn-outlined.mui-btn-red
+{
+ color: #dd524d;
+}
+.mui-btn-outlined.mui-btn-royal, .mui-btn-outlined.mui-btn-purple
+{
+ color: #8a6de9;
+}
+.mui-btn-outlined.mui-btn-primary:enabled:active, .mui-btn-outlined.mui-btn-blue:enabled:active, .mui-btn-outlined.mui-btn-positive:enabled:active, .mui-btn-outlined.mui-btn-success:enabled:active, .mui-btn-outlined.mui-btn-green:enabled:active, .mui-btn-outlined.mui-btn-warning:enabled:active, .mui-btn-outlined.mui-btn-yellow:enabled:active, .mui-btn-outlined.mui-btn-negative:enabled:active, .mui-btn-outlined.mui-btn-danger:enabled:active, .mui-btn-outlined.mui-btn-red:enabled:active, .mui-btn-outlined.mui-btn-royal:enabled:active, .mui-btn-outlined.mui-btn-purple:enabled:active
+{
+ color: #fff;
+}
+
+.mui-btn-link
+{
+ padding-top: 6px;
+ padding-bottom: 6px;
+
+ color: #007aff;
+ border: 0;
+ background-color: transparent;
+}
+.mui-btn-link:enabled:active, .mui-btn-link.mui-active:enabled
+{
+ color: #0062cc;
+ background-color: transparent;
+}
+
+.mui-btn-block
+{
+ font-size: 18px;
+
+ display: block;
+
+ width: 100%;
+ margin-bottom: 10px;
+ padding: 15px 0;
+}
+
+.mui-btn .mui-badge
+{
+ font-size: 14px;
+
+ margin: -2px -4px -2px 4px;
+
+ background-color: rgba(0, 0, 0, .15);
+}
+
+.mui-btn .mui-badge-inverted,
+.mui-btn:enabled:active .mui-badge-inverted
+{
+ background-color: transparent;
+}
+
+.mui-btn-primary:enabled:active .mui-badge-inverted,
+.mui-btn-positive:enabled:active .mui-badge-inverted,
+.mui-btn-negative:enabled:active .mui-badge-inverted
+{
+ color: #fff;
+}
+
+.mui-btn-block .mui-badge
+{
+ position: absolute;
+ right: 0;
+
+ margin-right: 10px;
+}
+
+.mui-btn .mui-icon
+{
+ font-size: inherit;
+}
+
+.mui-btn.mui-icon
+{
+ font-size: 14px;
+ line-height: 1.42;
+}
+
+.mui-btn.mui-fab
+{
+ width: 56px;
+ height: 56px;
+ padding: 16px;
+
+ border-radius: 50%;
+ outline: none;
+}
+.mui-btn.mui-fab.mui-btn-mini
+{
+ width: 40px;
+ height: 40px;
+ padding: 8px;
+}
+.mui-btn.mui-fab .mui-icon
+{
+ font-size: 24px;
+ line-height: 24px;
+
+ width: 24px;
+ height: 24px;
+}
+
+.mui-btn .mui-spinner
+{
+ width: 14px;
+ height: 14px;
+
+ vertical-align: text-bottom;
+}
+
+.mui-btn-block .mui-spinner
+{
+ width: 22px;
+ height: 22px;
+}
+
+.mui-bar
+{
+ position: fixed;
+ z-index: 10;
+ right: 0;
+ left: 0;
+
+ height: 44px;
+ padding-right: 10px;
+ padding-left: 10px;
+
+ border-bottom: 0;
+ background-color: #f7f7f7;
+ -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, .85);
+ box-shadow: 0 0 1px rgba(0, 0, 0, .85);
+
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+}
+
+.mui-bar .mui-title
+{
+ right: 40px;
+ left: 40px;
+
+ display: inline-block;
+ overflow: hidden;
+
+ width: auto;
+ margin: 0;
+
+ text-overflow: ellipsis;
+}
+.mui-bar .mui-backdrop
+{
+ background: none;
+}
+
+.mui-bar-header-secondary
+{
+ top: 44px;
+}
+
+.mui-bar-footer
+{
+ bottom: 0;
+}
+
+.mui-bar-footer-secondary
+{
+ bottom: 44px;
+}
+
+.mui-bar-footer-secondary-tab
+{
+ bottom: 50px;
+}
+
+.mui-bar-footer,
+.mui-bar-footer-secondary,
+.mui-bar-footer-secondary-tab
+{
+ border-top: 0;
+}
+
+.mui-bar-transparent
+{
+ top: 0;
+
+ background-color: rgba(247, 247, 247, 0);
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+
+.mui-bar-nav
+{
+ top: 0;
+
+ -webkit-box-shadow: 0 1px 6px #ccc;
+ box-shadow: 0 1px 6px #ccc;
+}
+.mui-bar-nav ~ .mui-content .mui-anchor
+{
+ display: block;
+ visibility: hidden;
+
+ height: 45px;
+ margin-top: -45px;
+}
+.mui-bar-nav.mui-bar .mui-icon
+{
+ margin-right: -10px;
+ margin-left: -10px;
+ padding-right: 10px;
+ padding-left: 10px;
+}
+
+.mui-title
+{
+ font-size: 17px;
+ font-weight: 500;
+ line-height: 44px;
+
+ position: absolute;
+
+ display: block;
+
+ width: 100%;
+ margin: 0 -10px;
+ padding: 0;
+
+ text-align: center;
+ white-space: nowrap;
+
+ color: #000;
+}
+
+.mui-title a
+{
+ color: inherit;
+}
+
+.mui-bar-tab
+{
+ bottom: 0;
+
+ display: table;
+
+ width: 100%;
+ height: 50px;
+ padding: 0;
+
+ table-layout: fixed;
+
+ border-top: 0;
+ border-bottom: 0;
+
+ -webkit-touch-callout: none;
+}
+.mui-bar-tab .mui-tab-item
+{
+ display: table-cell;
+ overflow: hidden;
+
+ width: 1%;
+ height: 50px;
+
+ text-align: center;
+ vertical-align: middle;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+
+ color: #929292;
+}
+.mui-bar-tab .mui-tab-item.mui-active
+{
+ color: #007aff;
+}
+.mui-bar-tab .mui-tab-item .mui-icon
+{
+ top: 3px;
+
+ width: 24px;
+ height: 24px;
+ padding-top: 0;
+ padding-bottom: 0;
+}
+.mui-bar-tab .mui-tab-item .mui-icon ~ .mui-tab-label
+{
+ font-size: 11px;
+
+ display: block;
+ overflow: hidden;
+
+ text-overflow: ellipsis;
+}
+.mui-bar-tab .mui-tab-item .mui-icon:active
+{
+ background: none;
+}
+
+.mui-focusin > .mui-bar-nav,
+.mui-focusin > .mui-bar-header-secondary
+{
+ position: absolute;
+}
+
+.mui-focusin > .mui-bar ~ .mui-content
+{
+ padding-bottom: 0;
+}
+
+.mui-bar .mui-btn
+{
+ font-weight: 400;
+
+ position: relative;
+ z-index: 20;
+ top: 7px;
+
+ margin-top: 0;
+ padding: 6px 12px 7px;
+}
+.mui-bar .mui-btn.mui-pull-right
+{
+ margin-left: 10px;
+}
+.mui-bar .mui-btn.mui-pull-left
+{
+ margin-right: 10px;
+}
+
+.mui-bar .mui-btn-link
+{
+ font-size: 16px;
+ line-height: 44px;
+
+ top: 0;
+
+ padding: 0;
+
+ color: #007aff;
+ border: 0;
+}
+.mui-bar .mui-btn-link:active, .mui-bar .mui-btn-link.mui-active
+{
+ color: #0062cc;
+}
+
+.mui-bar .mui-btn-block
+{
+ font-size: 16px;
+
+ top: 6px;
+
+ margin-bottom: 0;
+ padding: 5px 0;
+}
+
+.mui-bar .mui-btn-nav.mui-pull-left
+{
+ margin-left: -5px;
+}
+.mui-bar .mui-btn-nav.mui-pull-left .mui-icon-left-nav
+{
+ margin-right: -3px;
+}
+.mui-bar .mui-btn-nav.mui-pull-right
+{
+ margin-right: -5px;
+}
+.mui-bar .mui-btn-nav.mui-pull-right .mui-icon-right-nav
+{
+ margin-left: -3px;
+}
+.mui-bar .mui-btn-nav:active
+{
+ opacity: .3;
+}
+
+.mui-bar .mui-icon
+{
+ font-size: 24px;
+
+ position: relative;
+ z-index: 20;
+
+ padding-top: 10px;
+ padding-bottom: 10px;
+}
+.mui-bar .mui-icon:active
+{
+ opacity: .3;
+}
+.mui-bar .mui-btn .mui-icon
+{
+ top: 1px;
+
+ margin: 0;
+ padding: 0;
+}
+.mui-bar .mui-title .mui-icon
+{
+ margin: 0;
+ padding: 0;
+}
+.mui-bar .mui-title .mui-icon.mui-icon-caret
+{
+ top: 4px;
+
+ margin-left: -5px;
+}
+
+.mui-bar input[type='search']
+{
+ height: 29px;
+ margin: 6px 0;
+}
+
+.mui-bar .mui-input-row .mui-btn
+{
+ padding: 12px 10px;
+}
+
+.mui-bar .mui-search:before
+{
+ margin-top: -10px;
+}
+
+.mui-bar .mui-input-row .mui-input-clear ~ .mui-icon-clear,
+.mui-bar .mui-input-row .mui-input-speech ~ .mui-icon-speech
+{
+ top: 0;
+ right: 12px;
+}
+
+.mui-bar.mui-bar-header-secondary .mui-input-row .mui-input-clear ~ .mui-icon-clear,
+.mui-bar.mui-bar-header-secondary .mui-input-row .mui-input-speech ~ .mui-icon-speech
+{
+ top: 0;
+ right: 0;
+}
+
+.mui-bar .mui-segmented-control
+{
+ top: 7px;
+
+ width: auto;
+ margin: 0 auto;
+}
+
+.mui-bar.mui-bar-header-secondary .mui-segmented-control
+{
+ top: 0;
+}
+
+.mui-badge
+{
+ font-size: 12px;
+ line-height: 1;
+
+ display: inline-block;
+
+ padding: 3px 6px;
+
+ color: #333;
+ border-radius: 100px;
+ background-color: rgba(0, 0, 0, .15);
+}
+.mui-badge.mui-badge-inverted
+{
+ padding: 0 5px 0 0;
+
+ color: #929292;
+ background-color: transparent;
+}
+
+.mui-badge-primary, .mui-badge-blue
+{
+ color: #fff;
+ background-color: #007aff;
+}
+.mui-badge-primary.mui-badge-inverted, .mui-badge-blue.mui-badge-inverted
+{
+ color: #007aff;
+ background-color: transparent;
+}
+
+.mui-badge-success, .mui-badge-green
+{
+ color: #fff;
+ background-color: #4cd964;
+}
+.mui-badge-success.mui-badge-inverted, .mui-badge-green.mui-badge-inverted
+{
+ color: #4cd964;
+ background-color: transparent;
+}
+
+.mui-badge-warning, .mui-badge-yellow
+{
+ color: #fff;
+ background-color: #f0ad4e;
+}
+.mui-badge-warning.mui-badge-inverted, .mui-badge-yellow.mui-badge-inverted
+{
+ color: #f0ad4e;
+ background-color: transparent;
+}
+
+.mui-badge-danger, .mui-badge-red
+{
+ color: #fff;
+ background-color: #dd524d;
+}
+.mui-badge-danger.mui-badge-inverted, .mui-badge-red.mui-badge-inverted
+{
+ color: #dd524d;
+ background-color: transparent;
+}
+
+.mui-badge-royal, .mui-badge-purple
+{
+ color: #fff;
+ background-color: #8a6de9;
+}
+.mui-badge-royal.mui-badge-inverted, .mui-badge-purple.mui-badge-inverted
+{
+ color: #8a6de9;
+ background-color: transparent;
+}
+
+.mui-icon .mui-badge
+{
+ font-size: 10px;
+ line-height: 1.4;
+
+ position: absolute;
+ top: -2px;
+ left: 100%;
+
+ margin-left: -10px;
+ padding: 1px 5px;
+
+ color: white;
+ background: red;
+}
+
+.mui-card
+{
+ font-size: 14px;
+
+ position: relative;
+
+ overflow: hidden;
+
+ margin: 10px;
+
+ border-radius: 2px;
+ background-color: white;
+ background-clip: padding-box;
+ box-shadow: 0 1px 2px rgba(0, 0, 0, .3);
+}
+
+.mui-content > .mui-card:first-child
+{
+ margin-top: 15px;
+}
+
+.mui-card .mui-input-group:before, .mui-card .mui-input-group:after
+{
+ height: 0;
+}
+.mui-card .mui-input-group .mui-input-row:last-child:before, .mui-card .mui-input-group .mui-input-row:last-child:after
+{
+ height: 0;
+}
+
+.mui-card .mui-table-view
+{
+ margin-bottom: 0;
+
+ border-top: 0;
+ border-bottom: 0;
+ border-radius: 6px;
+}
+.mui-card .mui-table-view .mui-table-view-divider:first-child, .mui-card .mui-table-view .mui-table-view-cell:first-child
+{
+ top: 0;
+
+ border-top-left-radius: 6px;
+ border-top-right-radius: 6px;
+}
+.mui-card .mui-table-view .mui-table-view-divider:last-child, .mui-card .mui-table-view .mui-table-view-cell:last-child
+{
+ border-bottom-right-radius: 6px;
+ border-bottom-left-radius: 6px;
+}
+.mui-card .mui-table-view:before, .mui-card .mui-table-view:after
+{
+ height: 0;
+}
+
+.mui-card > .mui-table-view > .mui-table-view-cell:last-child:before, .mui-card > .mui-table-view > .mui-table-view-cell:last-child:after
+{
+ height: 0;
+}
+
+.mui-card-header,
+.mui-card-footer
+{
+ position: relative;
+
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: flex;
+
+ min-height: 44px;
+ padding: 10px 15px;
+
+ -webkit-box-pack: justify;
+ -webkit-justify-content: space-between;
+ justify-content: space-between;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ align-items: center;
+}
+.mui-card-header .mui-card-link,
+.mui-card-footer .mui-card-link
+{
+ line-height: 44px;
+
+ position: relative;
+
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: flex;
+
+ height: 44px;
+ margin-top: -10px;
+ margin-bottom: -10px;
+
+ -webkit-transition-duration: .3s;
+ transition-duration: .3s;
+ text-decoration: none;
+
+ -webkit-box-pack: start;
+ -webkit-justify-content: flex-start;
+ justify-content: flex-start;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ align-items: center;
+}
+
+.mui-card-header:after,
+.mui-card-footer:before
+{
+ position: absolute;
+ top: 0;
+ right: 0;
+ left: 0;
+
+ height: 1px;
+
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+
+ background-color: #c8c7cc;
+}
+
+.mui-card-header
+{
+ font-size: 17px;
+
+ border-radius: 2px 2px 0 0;
+}
+.mui-card-header:after
+{
+ top: auto;
+ bottom: 0;
+}
+.mui-card-header > img:first-child
+{
+ font-size: 0;
+ line-height: 0;
+
+ float: left;
+
+ width: 34px;
+ height: 34px;
+}
+
+.mui-card-footer
+{
+ color: #6d6d72;
+ border-radius: 0 0 2px 2px;
+}
+
+.mui-card-content
+{
+ font-size: 14px;
+
+ position: relative;
+}
+
+.mui-card-content-inner
+{
+ position: relative;
+
+ padding: 15px;
+}
+
+.mui-card-media
+{
+ vertical-align: bottom;
+
+ color: #fff;
+ background-position: center;
+ background-size: cover;
+}
+
+.mui-card-header.mui-card-media
+{
+ display: block;
+
+ padding: 10px;
+}
+.mui-card-header.mui-card-media .mui-media-body
+{
+ font-size: 14px;
+ font-weight: 500;
+ line-height: 17px;
+
+ margin-bottom: 0;
+ margin-left: 44px;
+
+ color: #333;
+}
+.mui-card-header.mui-card-media .mui-media-body p
+{
+ font-size: 13px;
+
+ margin-bottom: 0;
+}
+
+.mui-table-view
+{
+ position: relative;
+
+ margin-top: 0;
+ margin-bottom: 0;
+ padding-left: 0;
+
+ list-style: none;
+
+ background-color: #fff;
+}
+.mui-table-view:after
+{
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ left: 0;
+
+ height: 1px;
+
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+
+ background-color: #c8c7cc;
+}
+.mui-table-view:before
+{
+ position: absolute;
+ top: 0;
+ right: 0;
+ left: 0;
+
+ height: 1px;
+
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+
+ background-color: #c8c7cc;
+}
+.mui-table-view:before
+{
+ top: -1px;
+}
+
+.mui-table-view-icon .mui-table-view-cell .mui-navigate-right .mui-icon
+{
+ font-size: 20px;
+
+ margin-top: -1px;
+ margin-right: 5px;
+ margin-left: -5px;
+}
+.mui-table-view-icon .mui-table-view-cell:after
+{
+ left: 40px;
+}
+
+.mui-table-view-chevron .mui-table-view-cell
+{
+ padding-right: 65px;
+}
+.mui-table-view-chevron .mui-table-view-cell > a:not(.mui-btn)
+{
+ margin-right: -65px;
+}
+
+.mui-table-view-radio .mui-table-view-cell
+{
+ padding-right: 65px;
+}
+.mui-table-view-radio .mui-table-view-cell > a:not(.mui-btn)
+{
+ margin-right: -65px;
+}
+.mui-table-view-radio .mui-table-view-cell .mui-navigate-right:after
+{
+ font-size: 30px;
+ font-weight: 600;
+
+ right: 9px;
+
+ content: '';
+
+ color: #007aff;
+}
+.mui-table-view-radio .mui-table-view-cell.mui-selected .mui-navigate-right:after
+{
+ content: '\e472';
+}
+
+.mui-table-view-inverted
+{
+ color: #fff;
+ background: #333;
+}
+.mui-table-view-inverted:after
+{
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ left: 0;
+
+ height: 1px;
+
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+
+ background-color: #222;
+}
+.mui-table-view-inverted:before
+{
+ position: absolute;
+ top: 0;
+ right: 0;
+ left: 0;
+
+ height: 1px;
+
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+
+ background-color: #222;
+}
+.mui-table-view-inverted .mui-table-view-cell:after
+{
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ left: 15px;
+
+ height: 1px;
+
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+
+ background-color: #222;
+}
+.mui-table-view-inverted .mui-table-view-cell.mui-active
+{
+ background-color: #242424;
+}
+.mui-table-view-inverted .mui-table-view-cell > a:not(.mui-btn).mui-active
+{
+ background-color: #242424;
+}
+
+.mui-table-view-cell
+{
+ position: relative;
+
+ overflow: hidden;
+
+ padding: 11px 15px;
+
+ -webkit-touch-callout: none;
+}
+.mui-table-view-cell:after
+{
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ left: 15px;
+
+ height: 1px;
+
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+
+ background-color: #c8c7cc;
+}
+.mui-table-view-cell.mui-radio input[type=radio], .mui-table-view-cell.mui-checkbox input[type=checkbox]
+{
+ top: 8px;
+}
+.mui-table-view-cell.mui-radio.mui-left, .mui-table-view-cell.mui-checkbox.mui-left
+{
+ padding-left: 58px;
+}
+.mui-table-view-cell.mui-active
+{
+ background-color: #eee;
+}
+.mui-table-view-cell:last-child:before, .mui-table-view-cell:last-child:after
+{
+ height: 0;
+}
+.mui-table-view-cell > a:not(.mui-btn)
+{
+ position: relative;
+
+ display: block;
+ overflow: hidden;
+
+ margin: -11px -15px;
+ padding: inherit;
+
+ white-space: nowrap;
+ text-overflow: ellipsis;
+
+ color: inherit;
+ /*&:active {
+ background-color: #eee;
+ }*/
+}
+.mui-table-view-cell > a:not(.mui-btn).mui-active
+{
+ background-color: #eee;
+}
+.mui-table-view-cell p
+{
+ margin-bottom: 0;
+}
+
+.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: -webkit-transform 300ms ease;
+ transition: transform 300ms ease;
+}
+.mui-table-view-cell.mui-active > .mui-slider-handle
+{
+ background-color: #eee;
+}
+.mui-table-view-cell > .mui-slider-handle
+{
+ position: relative;
+
+ background-color: #fff;
+}
+.mui-table-view-cell > .mui-slider-handle.mui-navigate-right:after, .mui-table-view-cell > .mui-slider-handle .mui-navigate-right:after
+{
+ right: 0;
+}
+.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: -webkit-transform 0ms ease;
+ transition: transform 0ms ease;
+}
+.mui-table-view-cell > .mui-slider-left, .mui-table-view-cell > .mui-slider-right
+{
+ position: absolute;
+ top: 0;
+
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: flex;
+
+ height: 100%;
+}
+.mui-table-view-cell > .mui-slider-left > .mui-btn, .mui-table-view-cell > .mui-slider-right > .mui-btn
+{
+ position: relative;
+ 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;
+ z-index: -1;
+ top: 0;
+
+ width: 600%;
+ height: 100%;
+
+ content: '';
+
+ background: inherit;
+}
+.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-transition: -webkit-transform 0ms ease;
+ transition: transform 0ms ease;
+ -webkit-transform: translateX(100%);
+ transform: translateX(100%);
+}
+.mui-table-view-cell > .mui-slider-left
+{
+ left: 0;
+
+ -webkit-transition: -webkit-transform 0ms ease;
+ transition: transform 0ms ease;
+ -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
+{
+ font-weight: 500;
+
+ position: relative;
+
+ margin-top: -1px;
+ margin-left: 0;
+ padding-top: 6px;
+ padding-bottom: 6px;
+ padding-left: 15px;
+
+ color: #999;
+ background-color: #fafafa;
+}
+.mui-table-view-divider:after
+{
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ left: 0;
+
+ height: 1px;
+
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+
+ background-color: #c8c7cc;
+}
+.mui-table-view-divider:before
+{
+ position: absolute;
+ top: 0;
+ right: 0;
+ left: 0;
+
+ height: 1px;
+
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+
+ background-color: #c8c7cc;
+}
+
+.mui-table-view .mui-media,
+.mui-table-view .mui-media-body
+{
+ overflow: hidden;
+}
+
+.mui-table-view .mui-media-large .mui-media-object
+{
+ line-height: 80px;
+
+ max-width: 80px;
+ height: 80px;
+}
+.mui-table-view .mui-media .mui-subtitle
+{
+ color: #000;
+}
+.mui-table-view .mui-media-object
+{
+ line-height: 42px;
+
+ max-width: 42px;
+ height: 42px;
+}
+.mui-table-view .mui-media-object.mui-pull-left
+{
+ margin-right: 10px;
+}
+.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
+{
+ line-height: 29px;
+
+ max-width: 29px;
+ height: 29px;
+ margin: -4px 0;
+}
+.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object img
+{
+ line-height: 29px;
+
+ max-width: 29px;
+ 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: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+
+ background-color: #c8c7cc;
+}
+.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: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+
+ background-color: #c8c7cc;
+}
+
+.mui-table-view-cell > .mui-btn,
+.mui-table-view-cell > .mui-badge,
+.mui-table-view-cell > .mui-switch,
+.mui-table-view-cell > a > .mui-btn,
+.mui-table-view-cell > a > .mui-badge,
+.mui-table-view-cell > a > .mui-switch
+{
+ position: absolute;
+ top: 50%;
+ right: 15px;
+
+ -webkit-transform: translateY(-50%);
+ transform: translateY(-50%);
+}
+.mui-table-view-cell .mui-navigate-right > .mui-btn,
+.mui-table-view-cell .mui-navigate-right > .mui-badge,
+.mui-table-view-cell .mui-navigate-right > .mui-switch,
+.mui-table-view-cell .mui-push-left > .mui-btn,
+.mui-table-view-cell .mui-push-left > .mui-badge,
+.mui-table-view-cell .mui-push-left > .mui-switch,
+.mui-table-view-cell .mui-push-right > .mui-btn,
+.mui-table-view-cell .mui-push-right > .mui-badge,
+.mui-table-view-cell .mui-push-right > .mui-switch,
+.mui-table-view-cell > a .mui-navigate-right > .mui-btn,
+.mui-table-view-cell > a .mui-navigate-right > .mui-badge,
+.mui-table-view-cell > a .mui-navigate-right > .mui-switch,
+.mui-table-view-cell > a .mui-push-left > .mui-btn,
+.mui-table-view-cell > a .mui-push-left > .mui-badge,
+.mui-table-view-cell > a .mui-push-left > .mui-switch,
+.mui-table-view-cell > a .mui-push-right > .mui-btn,
+.mui-table-view-cell > a .mui-push-right > .mui-badge,
+.mui-table-view-cell > a .mui-push-right > .mui-switch
+{
+ right: 35px;
+}
+
+.mui-content > .mui-table-view:first-child
+{
+ margin-top: 15px;
+}
+
+.mui-table-view-cell.mui-collapse .mui-table-view:before, .mui-table-view-cell.mui-collapse .mui-table-view:after
+{
+ height: 0;
+}
+.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell:last-child:after
+{
+ height: 0;
+}
+.mui-table-view-cell.mui-collapse > .mui-navigate-right:after, .mui-table-view-cell.mui-collapse > .mui-push-right:after
+{
+ content: '\e581';
+}
+.mui-table-view-cell.mui-collapse.mui-active
+{
+ margin-top: -1px;
+}
+.mui-table-view-cell.mui-collapse.mui-active .mui-table-view, .mui-table-view-cell.mui-collapse.mui-active .mui-collapse-content
+{
+ display: block;
+}
+.mui-table-view-cell.mui-collapse.mui-active > .mui-navigate-right:after, .mui-table-view-cell.mui-collapse.mui-active > .mui-push-right:after
+{
+ content: '\e580';
+}
+.mui-table-view-cell.mui-collapse.mui-active .mui-table-view-cell > a:not(.mui-btn).mui-active
+{
+ margin-left: -31px;
+ padding-left: 47px;
+}
+.mui-table-view-cell.mui-collapse .mui-collapse-content
+{
+ position: relative;
+
+ display: none;
+ overflow: hidden;
+
+ margin: 11px -15px -11px;
+ padding: 8px 15px;
+
+ -webkit-transition: height .35s ease;
+ -o-transition: height .35s ease;
+ transition: height .35s ease;
+
+ background: white;
+}
+.mui-table-view-cell.mui-collapse .mui-collapse-content > .mui-input-group, .mui-table-view-cell.mui-collapse .mui-collapse-content > .mui-slider
+{
+ width: auto;
+ height: auto;
+ margin: -8px -15px;
+}
+.mui-table-view-cell.mui-collapse .mui-collapse-content > .mui-slider
+{
+ margin: -8px -16px;
+}
+.mui-table-view-cell.mui-collapse .mui-table-view
+{
+ display: none;
+
+ margin-top: 11px;
+ margin-right: -15px;
+ margin-bottom: -11px;
+ margin-left: -15px;
+
+ border: 0;
+}
+.mui-table-view-cell.mui-collapse .mui-table-view.mui-table-view-chevron
+{
+ margin-right: -65px;
+}
+.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell
+{
+ padding-left: 31px;
+
+ background-position: 31px 100%;
+}
+.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell:after
+{
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ left: 30px;
+
+ height: 1px;
+
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+
+ background-color: #c8c7cc;
+}
+
+.mui-table-view.mui-grid-view
+{
+ font-size: 0;
+
+ display: block;
+
+ width: 100%;
+ padding: 0 10px 10px 0;
+
+ white-space: normal;
+}
+.mui-table-view.mui-grid-view .mui-table-view-cell
+{
+ font-size: 17px;
+
+ display: inline-block;
+
+ margin-right: -4px;
+ padding: 10px 0 0 14px;
+
+ text-align: center;
+ vertical-align: middle;
+
+ background: none;
+}
+.mui-table-view.mui-grid-view .mui-table-view-cell .mui-media-object
+{
+ width: 100%;
+ max-width: 100%;
+ height: auto;
+}
+.mui-table-view.mui-grid-view .mui-table-view-cell > a:not(.mui-btn)
+{
+ margin: -10px 0 0 -14px;
+}
+.mui-table-view.mui-grid-view .mui-table-view-cell > a:not(.mui-btn):active, .mui-table-view.mui-grid-view .mui-table-view-cell > a:not(.mui-btn).mui-active
+{
+ background: none;
+}
+.mui-table-view.mui-grid-view .mui-table-view-cell .mui-media-body
+{
+ font-size: 15px;
+ line-height: 15px;
+
+ display: block;
+
+ width: 100%;
+ height: 15px;
+ margin-top: 8px;
+
+ text-overflow: ellipsis;
+
+ color: #333;
+}
+.mui-table-view.mui-grid-view .mui-table-view-cell:before, .mui-table-view.mui-grid-view .mui-table-view-cell:after
+{
+ height: 0;
+}
+
+.mui-grid-view.mui-grid-9
+{
+ margin: 0;
+ padding: 0;
+
+ border-top: 1px solid #eee;
+ border-left: 1px solid #eee;
+ background-color: #f2f2f2;
+}
+.mui-grid-view.mui-grid-9:before, .mui-grid-view.mui-grid-9:after
+{
+ display: table;
+
+ content: ' ';
+}
+.mui-grid-view.mui-grid-9:after
+{
+ clear: both;
+}
+.mui-grid-view.mui-grid-9:after
+{
+ position: static;
+}
+.mui-grid-view.mui-grid-9 .mui-table-view-cell
+{
+ margin: 0;
+ padding: 11px 15px;
+
+ vertical-align: top;
+
+ border-right: 1px solid #eee;
+ border-bottom: 1px solid #eee;
+}
+.mui-grid-view.mui-grid-9 .mui-table-view-cell.mui-active
+{
+ background-color: #eee;
+}
+.mui-grid-view.mui-grid-9 .mui-table-view-cell > a:not(.mui-btn)
+{
+ margin: 0;
+ padding: 10px 0;
+}
+.mui-grid-view.mui-grid-9:before
+{
+ height: 0;
+}
+.mui-grid-view.mui-grid-9 .mui-media
+{
+ color: #797979;
+}
+.mui-grid-view.mui-grid-9 .mui-media .mui-icon
+{
+ font-size: 2.4em;
+
+ position: relative;
+}
+
+.mui-slider-cell
+{
+ position: relative;
+}
+.mui-slider-cell > .mui-slider-handle
+{
+ z-index: 1;
+}
+.mui-slider-cell > .mui-slider-left, .mui-slider-cell > .mui-slider-right
+{
+ position: absolute;
+ z-index: 0;
+ top: 0;
+ bottom: 0;
+}
+.mui-slider-cell > .mui-slider-left
+{
+ left: 0;
+}
+.mui-slider-cell > .mui-slider-right
+{
+ right: 0;
+}
+
+input,
+textarea,
+select
+{
+ font-family: 'Helvetica Neue', Helvetica, sans-serif;
+ font-size: 17px;
+
+ -webkit-tap-highlight-color: transparent;
+ -webkit-tap-highlight-color: transparent;
+}
+input:focus,
+textarea:focus,
+select:focus
+{
+ -webkit-tap-highlight-color: transparent;
+ -webkit-tap-highlight-color: transparent;
+ -webkit-user-modify: read-write-plaintext-only;
+}
+
+select,
+textarea,
+input[type='text'],
+input[type='search'],
+input[type='password'],
+input[type='datetime'],
+input[type='datetime-local'],
+input[type='date'],
+input[type='month'],
+input[type='time'],
+input[type='week'],
+input[type='number'],
+input[type='email'],
+input[type='url'],
+input[type='tel'],
+input[type='color']
+{
+ line-height: 21px;
+
+ width: 100%;
+ height: 40px;
+ margin-bottom: 15px;
+ padding: 10px 15px;
+
+ -webkit-user-select: text;
+
+ border: 1px solid rgba(0, 0, 0, .2);
+ border-radius: 3px;
+ outline: none;
+ background-color: #fff;
+
+ -webkit-appearance: none;
+}
+
+input[type=number]::-webkit-inner-spin-button,
+input[type=number]::-webkit-outer-spin-button
+{
+ margin: 0;
+
+ -webkit-appearance: none;
+}
+
+input[type='search']
+{
+ font-size: 16px;
+
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ height: 34px;
+
+ text-align: center;
+
+ border: 0;
+ border-radius: 6px;
+ background-color: rgba(0, 0, 0, .1);
+}
+
+input[type='search']:focus
+{
+ text-align: left;
+}
+
+textarea
+{
+ height: auto;
+
+ resize: none;
+}
+
+select
+{
+ font-size: 14px;
+
+ height: auto;
+ margin-top: 1px;
+
+ border: 0 !important;
+ background-color: #fff;
+}
+select:focus
+{
+ -webkit-user-modify: read-only;
+}
+
+.mui-input-group
+{
+ position: relative;
+
+ padding: 0;
+
+ border: 0;
+ background-color: #fff;
+}
+.mui-input-group:after
+{
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ left: 0;
+
+ height: 1px;
+
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+
+ background-color: #c8c7cc;
+}
+.mui-input-group:before
+{
+ position: absolute;
+ top: 0;
+ right: 0;
+ left: 0;
+
+ height: 1px;
+
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+
+ background-color: #c8c7cc;
+}
+
+.mui-input-group input,
+.mui-input-group textarea
+{
+ margin-bottom: 0;
+
+ border: 0;
+ border-radius: 0;
+ background-color: transparent;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+
+.mui-input-group input[type='search']
+{
+ background: none;
+}
+
+.mui-input-group input:last-child
+{
+ background-image: none;
+}
+
+.mui-input-row
+{
+ clear: left;
+ overflow: hidden;
+}
+.mui-input-row select
+{
+ font-size: 17px;
+
+ height: 37px;
+ padding: 0;
+}
+
+.mui-input-row:last-child,
+.mui-input-row label + input, .mui-input-row .mui-btn + input
+{
+ background: none;
+}
+
+.mui-input-group .mui-input-row
+{
+ height: 40px;
+}
+.mui-input-group .mui-input-row:after
+{
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ left: 15px;
+
+ height: 1px;
+
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+
+ background-color: #c8c7cc;
+}
+
+.mui-input-row label
+{
+ font-family: 'Helvetica Neue', Helvetica, sans-serif;
+ line-height: 1.1;
+
+ float: left;
+
+ width: 35%;
+ padding: 11px 15px;
+}
+
+.mui-input-row label ~ input, .mui-input-row label ~ select, .mui-input-row label ~ textarea
+{
+ float: right;
+
+ width: 65%;
+ margin-bottom: 0;
+ padding-left: 0;
+
+ border: 0;
+}
+
+.mui-input-row .mui-btn
+{
+ line-height: 1.1;
+
+ float: right;
+
+ width: 15%;
+ padding: 10px 15px;
+}
+
+.mui-input-row .mui-btn ~ input, .mui-input-row .mui-btn ~ select, .mui-input-row .mui-btn ~ textarea
+{
+ float: left;
+
+ width: 85%;
+ margin-bottom: 0;
+ padding-left: 0;
+
+ border: 0;
+}
+
+.mui-button-row
+{
+ position: relative;
+
+ padding-top: 5px;
+
+ text-align: center;
+}
+
+.mui-input-group .mui-button-row
+{
+ height: 45px;
+}
+
+.mui-input-row
+{
+ position: relative;
+}
+.mui-input-row.mui-input-range
+{
+ overflow: visible;
+
+ padding-right: 20px;
+}
+.mui-input-row .mui-inline
+{
+ padding: 8px 0;
+}
+.mui-input-row .mui-input-clear ~ .mui-icon-clear, .mui-input-row .mui-input-speech ~ .mui-icon-speech, .mui-input-row .mui-input-password ~ .mui-icon-eye
+{
+ font-size: 20px;
+
+ position: absolute;
+ z-index: 1;
+ top: 10px;
+ right: 0;
+
+ width: 38px;
+ height: 38px;
+
+ text-align: center;
+
+ color: #999;
+}
+.mui-input-row .mui-input-clear ~ .mui-icon-clear.mui-active, .mui-input-row .mui-input-speech ~ .mui-icon-speech.mui-active, .mui-input-row .mui-input-password ~ .mui-icon-eye.mui-active
+{
+ color: #007aff;
+}
+.mui-input-row .mui-input-speech ~ .mui-icon-speech
+{
+ font-size: 24px;
+
+ top: 8px;
+}
+.mui-input-row .mui-input-clear ~ .mui-icon-clear ~ .mui-icon-speech
+{
+ display: none;
+}
+.mui-input-row .mui-input-clear ~ .mui-icon-clear.mui-hidden ~ .mui-icon-speech
+{
+ display: inline-block;
+}
+.mui-input-row .mui-icon-speech ~ .mui-placeholder
+{
+ right: 38px;
+}
+.mui-input-row.mui-search .mui-icon-clear
+{
+ top: 7px;
+}
+.mui-input-row.mui-search .mui-icon-speech
+{
+ top: 5px;
+}
+
+.mui-radio, .mui-checkbox
+{
+ position: relative;
+}
+.mui-radio label, .mui-checkbox label
+{
+ display: inline-block;
+ float: none;
+
+ width: 100%;
+ padding-right: 58px;
+}
+
+.mui-radio.mui-left input[type='radio'], .mui-checkbox.mui-left input[type='checkbox']
+{
+ left: 20px;
+}
+
+.mui-radio.mui-left label, .mui-checkbox.mui-left label
+{
+ padding-right: 15px;
+ padding-left: 58px;
+}
+
+.mui-radio input[type='radio'], .mui-checkbox input[type='checkbox']
+{
+ position: absolute;
+ top: 4px;
+ right: 20px;
+
+ display: inline-block;
+
+ width: 28px;
+ height: 26px;
+
+ border: 0;
+ outline: 0 !important;
+ background-color: transparent;
+
+ -webkit-appearance: none;
+}
+.mui-radio input[type='radio'][disabled]:before, .mui-checkbox input[type='checkbox'][disabled]:before
+{
+ opacity: .3;
+}
+.mui-radio input[type='radio']:before, .mui-checkbox input[type='checkbox']:before
+{
+ font-family: Muiicons;
+ font-size: 28px;
+ font-weight: normal;
+ line-height: 1;
+
+ text-decoration: none;
+
+ color: #aaa;
+ border-radius: 0;
+ background: none;
+
+ -webkit-font-smoothing: antialiased;
+}
+.mui-radio input[type='radio']:checked:before, .mui-checkbox input[type='checkbox']:checked:before
+{
+ color: #007aff;
+}
+
+.mui-radio.mui-disabled label, .mui-radio label.mui-disabled, .mui-checkbox.mui-disabled label, .mui-checkbox label.mui-disabled
+{
+ opacity: .4;
+}
+
+.mui-radio input[type='radio']:before
+{
+ content: '\e411';
+}
+
+.mui-radio input[type='radio']:checked:before
+{
+ content: '\e441';
+}
+
+.mui-checkbox input[type='checkbox']:before
+{
+ content: '\e411';
+}
+
+.mui-checkbox input[type='checkbox']:checked:before
+{
+ content: '\e442';
+}
+
+.mui-select
+{
+ position: relative;
+}
+
+.mui-select:before
+{
+ font-family: Muiicons;
+
+ position: absolute;
+ top: 8px;
+ right: 21px;
+
+ content: '\e581';
+
+ color: rgba(170, 170, 170, .6);
+}
+
+.mui-input-row .mui-switch
+{
+ float: right;
+
+ margin-top: 5px;
+ margin-right: 20px;
+}
+
+.mui-input-range
+{
+ /*input[type="range"] {
+ -webkit-appearance: none;
+ background: #999;
+ height: 36px;
+ border-radius: 1px;
+ overflow: hidden;
+ margin-top: 2px;
+ margin-bottom: 2px;
+ outline:none;
+ position:relative;
+ width:100%;
+ }*/
+ /*input[type='range']::-webkit-slider-thumb {
+ -webkit-appearance: none!important;
+ opacity: 0.5;
+ height:28px;
+ width:28px;
+ border-radius: 50%;
+ background:#00b7fb;
+ position: relative;
+ pointer-events: none;
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ &:before{
+ position: absolute;
+ top: 13px;
+ left: -2000px;
+ width: 2000px;
+ height: 2px;
+ background: #00b7fb;
+ content:' ';
+ }
+ }*/
+}
+.mui-input-range input[type='range']
+{
+ position: relative;
+
+ width: 100%;
+ height: 2px;
+ margin: 17px 0;
+ padding: 0;
+
+ cursor: pointer;
+
+ border: 0;
+ border-radius: 3px;
+ outline: none;
+ background-color: #999;
+
+ -webkit-appearance: none !important;
+}
+.mui-input-range input[type='range']::-webkit-slider-thumb
+{
+ width: 28px;
+ height: 28px;
+
+ border-color: #0062cc;
+ border-radius: 50%;
+ background-color: #007aff;
+ background-clip: padding-box;
+
+ -webkit-appearance: none !important;
+}
+.mui-input-range label ~ input[type='range']
+{
+ width: 65%;
+}
+.mui-input-range .mui-tooltip
+{
+ font-size: 36px;
+ line-height: 64px;
+
+ position: absolute;
+ z-index: 1;
+ top: -70px;
+
+ width: 64px;
+ height: 64px;
+
+ text-align: center;
+
+ opacity: .8;
+ color: #333;
+ border: 1px solid #ddd;
+ border-radius: 6px;
+ background-color: #fff;
+ text-shadow: 0 1px 0 #f3f3f3;
+}
+
+.mui-search
+{
+ position: relative;
+}
+.mui-search input[type='search']
+{
+ padding-left: 30px;
+}
+.mui-search .mui-placeholder
+{
+ font-size: 16px;
+ line-height: 34px;
+
+ position: absolute;
+ z-index: 1;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+
+ display: inline-block;
+
+ height: 34px;
+
+ text-align: center;
+
+ color: #999;
+ border: 0;
+ border-radius: 6px;
+ background: none;
+}
+.mui-search .mui-placeholder .mui-icon
+{
+ font-size: 20px;
+
+ color: #333;
+}
+.mui-search:before
+{
+ font-family: Muiicons;
+ font-size: 20px;
+ font-weight: normal;
+
+ position: absolute;
+ top: 50%;
+ right: 50%;
+
+ display: none;
+
+ margin-top: -18px;
+ margin-right: 31px;
+
+ content: '\e466';
+}
+.mui-search.mui-active:before
+{
+ font-size: 20px;
+
+ right: auto;
+ left: 5px;
+
+ display: block;
+
+ margin-right: 0;
+}
+.mui-search.mui-active input[type='search']
+{
+ text-align: left;
+}
+.mui-search.mui-active .mui-placeholder
+{
+ display: none;
+}
+
+.mui-segmented-control
+{
+ font-size: 15px;
+ font-weight: 400;
+
+ position: relative;
+
+ display: table;
+ overflow: hidden;
+
+ width: 100%;
+
+ table-layout: fixed;
+
+ border: 1px solid #007aff;
+ border-radius: 3px;
+ background-color: transparent;
+
+ -webkit-touch-callout: none;
+}
+.mui-segmented-control.mui-segmented-control-vertical
+{
+ border-collapse: collapse;
+
+ border-width: 0;
+ border-radius: 0;
+}
+.mui-segmented-control.mui-segmented-control-vertical .mui-control-item
+{
+ display: block;
+
+ border-bottom: 1px solid #c8c7cc;
+ border-left-width: 0;
+}
+.mui-segmented-control.mui-scroll-wrapper
+{
+ height: 38px;
+}
+.mui-segmented-control.mui-scroll-wrapper .mui-scroll
+{
+ width: auto;
+ height: 40px;
+
+ white-space: nowrap;
+}
+.mui-segmented-control.mui-scroll-wrapper .mui-control-item
+{
+ display: inline-block;
+
+ width: auto;
+ padding: 0 20px;
+
+ border: 0;
+}
+.mui-segmented-control .mui-control-item
+{
+ line-height: 38px;
+
+ display: table-cell;
+ overflow: hidden;
+
+ width: 1%;
+
+ -webkit-transition: background-color .1s linear;
+ transition: background-color .1s linear;
+ text-align: center;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+
+ color: #007aff;
+ border-color: #007aff;
+ border-left: 1px solid #007aff;
+}
+.mui-segmented-control .mui-control-item:first-child
+{
+ border-left-width: 0;
+}
+.mui-segmented-control .mui-control-item.mui-active
+{
+ color: #fff;
+ background-color: #007aff;
+}
+.mui-segmented-control.mui-segmented-control-inverted
+{
+ width: 100%;
+
+ border: 0;
+ border-radius: 0;
+}
+.mui-segmented-control.mui-segmented-control-inverted.mui-segmented-control-vertical .mui-control-item
+{
+ border-bottom: 1px solid #c8c7cc;
+}
+.mui-segmented-control.mui-segmented-control-inverted.mui-segmented-control-vertical .mui-control-item.mui-active
+{
+ border-bottom: 1px solid #c8c7cc;
+}
+.mui-segmented-control.mui-segmented-control-inverted .mui-control-item
+{
+ color: inherit;
+ border: 0;
+}
+.mui-segmented-control.mui-segmented-control-inverted .mui-control-item.mui-active
+{
+ color: #007aff;
+ border-bottom: 2px solid #007aff;
+ background: none;
+}
+.mui-segmented-control.mui-segmented-control-inverted ~ .mui-slider-progress-bar
+{
+ background-color: #007aff;
+}
+
+.mui-segmented-control-positive
+{
+ border: 1px solid #4cd964;
+}
+.mui-segmented-control-positive .mui-control-item
+{
+ color: #4cd964;
+ border-color: inherit;
+}
+.mui-segmented-control-positive .mui-control-item.mui-active
+{
+ color: #fff;
+ background-color: #4cd964;
+}
+.mui-segmented-control-positive.mui-segmented-control-inverted .mui-control-item.mui-active
+{
+ color: #4cd964;
+ border-bottom: 2px solid #4cd964;
+ background: none;
+}
+.mui-segmented-control-positive.mui-segmented-control-inverted ~ .mui-slider-progress-bar
+{
+ background-color: #4cd964;
+}
+
+.mui-segmented-control-negative
+{
+ border: 1px solid #dd524d;
+}
+.mui-segmented-control-negative .mui-control-item
+{
+ color: #dd524d;
+ border-color: inherit;
+}
+.mui-segmented-control-negative .mui-control-item.mui-active
+{
+ color: #fff;
+ background-color: #dd524d;
+}
+.mui-segmented-control-negative.mui-segmented-control-inverted .mui-control-item.mui-active
+{
+ color: #dd524d;
+ border-bottom: 2px solid #dd524d;
+ background: none;
+}
+.mui-segmented-control-negative.mui-segmented-control-inverted ~ .mui-slider-progress-bar
+{
+ background-color: #dd524d;
+}
+
+.mui-control-content
+{
+ position: relative;
+
+ display: none;
+}
+.mui-control-content.mui-active
+{
+ display: block;
+}
+
+.mui-popover
+{
+ position: absolute;
+ z-index: 999;
+
+ display: none;
+
+ width: 280px;
+
+ -webkit-transition: opacity .3s;
+ transition: opacity .3s;
+ -webkit-transition-property: opacity;
+ transition-property: opacity;
+ -webkit-transform: none;
+ transform: none;
+
+ opacity: 0;
+ border-radius: 7px;
+ background-color: #f7f7f7;
+ -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, .1);
+ box-shadow: 0 0 15px rgba(0, 0, 0, .1);
+}
+.mui-popover .mui-popover-arrow
+{
+ position: absolute;
+ z-index: 1000;
+ top: -25px;
+ left: 0;
+
+ overflow: hidden;
+
+ width: 26px;
+ height: 26px;
+}
+.mui-popover .mui-popover-arrow:after
+{
+ position: absolute;
+ top: 19px;
+ left: 0;
+
+ width: 26px;
+ height: 26px;
+
+ content: ' ';
+ -webkit-transform: rotate(45deg);
+ transform: rotate(45deg);
+
+ border-radius: 3px;
+ background: #f7f7f7;
+}
+.mui-popover .mui-popover-arrow.mui-bottom
+{
+ top: 100%;
+ left: -26px;
+
+ margin-top: -1px;
+}
+.mui-popover .mui-popover-arrow.mui-bottom:after
+{
+ top: -19px;
+ left: 0;
+}
+.mui-popover.mui-popover-action
+{
+ bottom: 0;
+
+ width: 100%;
+
+ -webkit-transition: -webkit-transform .3s, opacity .3s;
+ transition: transform .3s, opacity .3s;
+ -webkit-transform: translate3d(0, 100%, 0);
+ transform: translate3d(0, 100%, 0);
+
+ border-radius: 0;
+ background: none;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+.mui-popover.mui-popover-action .mui-popover-arrow
+{
+ display: none;
+}
+.mui-popover.mui-popover-action.mui-popover-bottom
+{
+ position: fixed;
+}
+.mui-popover.mui-popover-action.mui-active
+{
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+}
+.mui-popover.mui-popover-action .mui-table-view
+{
+ margin: 8px;
+
+ text-align: center;
+
+ color: #007aff;
+ 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: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+
+ background-color: #c8c7cc;
+}
+.mui-popover.mui-popover-action .mui-table-view small
+{
+ font-weight: 400;
+ line-height: 1.3;
+
+ display: block;
+}
+.mui-popover.mui-active
+{
+ display: block;
+
+ opacity: 1;
+}
+.mui-popover .mui-bar ~ .mui-table-view
+{
+ padding-top: 44px;
+}
+
+.mui-backdrop
+{
+ position: fixed;
+ z-index: 998;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+
+ background-color: rgba(0, 0, 0, .3);
+}
+
+.mui-bar-backdrop.mui-backdrop
+{
+ bottom: 50px;
+
+ background: none;
+}
+
+.mui-backdrop-action.mui-backdrop
+{
+ background-color: rgba(0, 0, 0, .3);
+}
+
+.mui-bar-backdrop.mui-backdrop, .mui-backdrop-action.mui-backdrop
+{
+ opacity: 0;
+}
+.mui-bar-backdrop.mui-backdrop.mui-active, .mui-backdrop-action.mui-backdrop.mui-active
+{
+ -webkit-transition: all .4s ease;
+ transition: all .4s ease;
+
+ opacity: 1;
+}
+
+.mui-popover .mui-btn-block
+{
+ margin-bottom: 5px;
+}
+.mui-popover .mui-btn-block:last-child
+{
+ margin-bottom: 0;
+}
+
+.mui-popover .mui-bar
+{
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+
+.mui-popover .mui-bar-nav
+{
+ border-bottom: 1px solid rgba(0, 0, 0, .15);
+ border-top-left-radius: 12px;
+ border-top-right-radius: 12px;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+
+.mui-popover .mui-scroll-wrapper
+{
+ margin: 7px 0;
+
+ border-radius: 7px;
+ background-clip: padding-box;
+}
+
+.mui-popover .mui-scroll .mui-table-view
+{
+ max-height: none;
+}
+
+.mui-popover .mui-table-view
+{
+ overflow: auto;
+
+ max-height: 300px;
+ margin-bottom: 0;
+
+ border-radius: 7px;
+ background-color: #f7f7f7;
+ background-image: none;
+
+ -webkit-overflow-scrolling: touch;
+}
+.mui-popover .mui-table-view:before, .mui-popover .mui-table-view:after
+{
+ height: 0;
+}
+.mui-popover .mui-table-view .mui-table-view-cell:first-child,
+.mui-popover .mui-table-view .mui-table-view-cell:first-child > a:not(.mui-btn)
+{
+ border-top-left-radius: 12px;
+ border-top-right-radius: 12px;
+}
+.mui-popover .mui-table-view .mui-table-view-cell:last-child,
+.mui-popover .mui-table-view .mui-table-view-cell:last-child > a:not(.mui-btn)
+{
+ border-bottom-right-radius: 12px;
+ border-bottom-left-radius: 12px;
+}
+
+.mui-popover.mui-bar-popover .mui-table-view
+{
+ width: 106px;
+}
+.mui-popover.mui-bar-popover .mui-table-view .mui-table-view-cell
+{
+ padding: 11px 15px 11px 15px;
+
+ background-position: 0 100%;
+}
+.mui-popover.mui-bar-popover .mui-table-view .mui-table-view-cell > a:not(.mui-btn)
+{
+ margin: -11px -15px -11px -15px;
+}
+
+.mui-popup-backdrop
+{
+ position: fixed;
+ z-index: 998;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+
+ -webkit-transition-duration: 400ms;
+ transition-duration: 400ms;
+
+ opacity: 0;
+ background: rgba(0, 0, 0, .4);
+}
+.mui-popup-backdrop.mui-active
+{
+ opacity: 1;
+}
+
+.mui-popup
+{
+ position: fixed;
+ z-index: 10000;
+ top: 50%;
+ left: 50%;
+
+ display: none;
+ overflow: hidden;
+
+ width: 270px;
+
+ -webkit-transition-property: -webkit-transform,opacity;
+ transition-property: transform,opacity;
+ -webkit-transform: translate3d(-50%, -50%, 0) scale(1.185);
+ transform: translate3d(-50%, -50%, 0) scale(1.185);
+ text-align: center;
+
+ opacity: 0;
+ color: #000;
+ border-radius: 13px;
+}
+.mui-popup.mui-popup-in
+{
+ display: block;
+
+ -webkit-transition-duration: 400ms;
+ transition-duration: 400ms;
+ -webkit-transform: translate3d(-50%, -50%, 0) scale(1);
+ transform: translate3d(-50%, -50%, 0) scale(1);
+
+ opacity: 1;
+}
+.mui-popup.mui-popup-out
+{
+ -webkit-transition-duration: 400ms;
+ transition-duration: 400ms;
+ -webkit-transform: translate3d(-50%, -50%, 0) scale(1);
+ transform: translate3d(-50%, -50%, 0) scale(1);
+
+ opacity: 0;
+}
+
+.mui-popup-inner
+{
+ position: relative;
+
+ padding: 15px;
+
+ border-radius: 13px 13px 0 0;
+ background: rgba(255, 255, 255, .95);
+}
+.mui-popup-inner:after
+{
+ position: absolute;
+ z-index: 15;
+ top: auto;
+ right: auto;
+ bottom: 0;
+ left: 0;
+
+ display: block;
+
+ width: 100%;
+ height: 1px;
+
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+ -webkit-transform-origin: 50% 100%;
+ transform-origin: 50% 100%;
+
+ background-color: rgba(0, 0, 0, .2);
+}
+
+.mui-popup-title
+{
+ font-size: 18px;
+ font-weight: 500;
+
+ text-align: center;
+}
+
+.mui-popup-title + .mui-popup-text
+{
+ font-family: inherit;
+ font-size: 14px;
+
+ margin: 5px 0 0;
+}
+
+.mui-popup-buttons
+{
+ position: relative;
+
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: flex;
+
+ height: 44px;
+
+ -webkit-box-pack: center;
+ -webkit-justify-content: center;
+ justify-content: center;
+}
+
+.mui-popup-button
+{
+ font-size: 17px;
+ line-height: 44px;
+
+ position: relative;
+
+ display: block;
+ overflow: hidden;
+
+ box-sizing: border-box;
+ width: 100%;
+ height: 44px;
+ padding: 0 5px;
+
+ cursor: pointer;
+ text-align: center;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+
+ color: #007aff;
+ background: rgba(255, 255, 255, .95);
+
+ -webkit-box-flex: 1;
+}
+.mui-popup-button:after
+{
+ position: absolute;
+ z-index: 15;
+ top: 0;
+ right: 0;
+ bottom: auto;
+ left: auto;
+
+ display: block;
+
+ width: 1px;
+ height: 100%;
+
+ content: '';
+ -webkit-transform: scaleX(.5);
+ transform: scaleX(.5);
+ -webkit-transform-origin: 100% 50%;
+ transform-origin: 100% 50%;
+
+ background-color: rgba(0, 0, 0, .2);
+}
+.mui-popup-button:first-child
+{
+ border-radius: 0 0 0 13px;
+}
+.mui-popup-button:first-child:last-child
+{
+ border-radius: 0 0 13px 13px;
+}
+.mui-popup-button:last-child
+{
+ border-radius: 0 0 13px 0;
+}
+.mui-popup-button:last-child:after
+{
+ display: none;
+}
+.mui-popup-button.mui-popup-button-bold
+{
+ font-weight: 600;
+}
+
+.mui-popup-input input
+{
+ font-size: 14px;
+
+ width: 100%;
+ height: 26px;
+ margin: 15px 0 0;
+ padding: 0 5px;
+
+ border: 1px solid rgba(0, 0, 0, .3);
+ border-radius: 0;
+ background: #fff;
+}
+
+.mui-plus.mui-android .mui-popup-backdrop
+{
+ -webkit-transition-duration: 1ms;
+ transition-duration: 1ms;
+}
+
+.mui-plus.mui-android .mui-popup
+{
+ -webkit-transition-duration: 1ms;
+ transition-duration: 1ms;
+ -webkit-transform: translate3d(-50%, -50%, 0) scale(1);
+ transform: translate3d(-50%, -50%, 0) scale(1);
+}
+
+/* === Progress Bar === */
+.mui-progressbar
+{
+ position: relative;
+
+ display: block;
+ overflow: hidden;
+
+ width: 100%;
+ height: 2px;
+
+ -webkit-transform-origin: center top;
+ transform-origin: center top;
+ vertical-align: middle;
+
+ border-radius: 2px;
+ background: #b6b6b6;
+
+ -webkit-transform-style: preserve-3d;
+ transform-style: preserve-3d;
+}
+.mui-progressbar span
+{
+ position: absolute;
+ top: 0;
+ left: 0;
+
+ width: 100%;
+ height: 100%;
+
+ -webkit-transition: 150ms;
+ transition: 150ms;
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0);
+
+ background: #007aff;
+}
+.mui-progressbar.mui-progressbar-infinite:before
+{
+ position: absolute;
+ top: 0;
+ left: 0;
+
+ width: 100%;
+ height: 100%;
+
+ content: '';
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ -webkit-transform-origin: left center;
+ transform-origin: left center;
+ -webkit-animation: mui-progressbar-infinite 1s linear infinite;
+ animation: mui-progressbar-infinite 1s linear infinite;
+
+ background: #007aff;
+}
+
+body > .mui-progressbar
+{
+ position: absolute;
+ z-index: 10000;
+ top: 44px;
+ left: 0;
+
+ border-radius: 0;
+}
+
+.mui-progressbar-in
+{
+ -webkit-animation: mui-progressbar-in 300ms forwards;
+ animation: mui-progressbar-in 300ms forwards;
+}
+
+.mui-progressbar-out
+{
+ -webkit-animation: mui-progressbar-out 300ms forwards;
+ animation: mui-progressbar-out 300ms forwards;
+}
+
+@-webkit-keyframes mui-progressbar-in
+{
+ from
+ {
+ -webkit-transform: scaleY(0);
+
+ opacity: 0;
+ }
+
+ to
+ {
+ -webkit-transform: scaleY(1);
+
+ opacity: 1;
+ }
+}
+@keyframes mui-progressbar-in
+{
+ from
+ {
+ transform: scaleY(0);
+
+ opacity: 0;
+ }
+
+ to
+ {
+ transform: scaleY(1);
+
+ opacity: 1;
+ }
+}
+@-webkit-keyframes mui-progressbar-out
+{
+ from
+ {
+ -webkit-transform: scaleY(1);
+
+ opacity: 1;
+ }
+
+ to
+ {
+ -webkit-transform: scaleY(0);
+
+ opacity: 0;
+ }
+}
+@keyframes mui-progressbar-out
+{
+ from
+ {
+ transform: scaleY(1);
+
+ opacity: 1;
+ }
+
+ to
+ {
+ transform: scaleY(0);
+
+ opacity: 0;
+ }
+}
+@-webkit-keyframes mui-progressbar-infinite
+{
+ 0%
+ {
+ -webkit-transform: translate3d(-50%, 0, 0) scaleX(.5);
+ }
+
+ 100%
+ {
+ -webkit-transform: translate3d(100%, 0, 0) scaleX(.5);
+ }
+}
+@keyframes mui-progressbar-infinite
+{
+ 0%
+ {
+ transform: translate3d(-50%, 0, 0) scaleX(.5);
+ }
+
+ 100%
+ {
+ transform: translate3d(100%, 0, 0) scaleX(.5);
+ }
+}
+.mui-pagination
+{
+ display: inline-block;
+
+ margin: 0 auto;
+ padding-left: 0;
+
+ border-radius: 6px;
+}
+.mui-pagination > li
+{
+ display: inline;
+}
+.mui-pagination > li > a,
+.mui-pagination > li > span
+{
+ line-height: 1.428571429;
+
+ position: relative;
+
+ float: left;
+
+ margin-left: -1px;
+ padding: 6px 12px;
+
+ text-decoration: none;
+
+ color: #007aff;
+ border: 1px solid #ddd;
+ background-color: #fff;
+}
+.mui-pagination > li:first-child > a,
+.mui-pagination > li:first-child > span
+{
+ margin-left: 0;
+
+ border-top-left-radius: 6px;
+ border-bottom-left-radius: 6px;
+ background-clip: padding-box;
+}
+.mui-pagination > li:last-child > a,
+.mui-pagination > li:last-child > span
+{
+ border-top-right-radius: 6px;
+ border-bottom-right-radius: 6px;
+ background-clip: padding-box;
+}
+.mui-pagination > li:active > a, .mui-pagination > li:active > a:active,
+.mui-pagination > li:active > span,
+.mui-pagination > li:active > span:active,
+.mui-pagination > li.mui-active > a,
+.mui-pagination > li.mui-active > a:active,
+.mui-pagination > li.mui-active > span,
+.mui-pagination > li.mui-active > span:active
+{
+ z-index: 2;
+
+ cursor: default;
+
+ color: #fff;
+ border-color: #007aff;
+ background-color: #007aff;
+}
+.mui-pagination > li.mui-disabled > span,
+.mui-pagination > li.mui-disabled > span:active,
+.mui-pagination > li.mui-disabled > a,
+.mui-pagination > li.mui-disabled > a:active
+{
+ opacity: .6;
+ color: #777;
+ border: 1px solid #ddd;
+ background-color: #fff;
+}
+
+.mui-pagination-lg > li > a,
+.mui-pagination-lg > li > span
+{
+ font-size: 18px;
+
+ padding: 10px 16px;
+}
+
+.mui-pagination-sm > li > a,
+.mui-pagination-sm > li > span
+{
+ font-size: 12px;
+
+ padding: 5px 10px;
+}
+
+.mui-pager
+{
+ padding-left: 0;
+
+ list-style: none;
+
+ text-align: center;
+}
+.mui-pager:before, .mui-pager:after
+{
+ display: table;
+
+ content: ' ';
+}
+.mui-pager:after
+{
+ clear: both;
+}
+.mui-pager li
+{
+ display: inline;
+}
+.mui-pager li > a,
+.mui-pager li > span
+{
+ display: inline-block;
+
+ padding: 5px 14px;
+
+ border: 1px solid #ddd;
+ border-radius: 6px;
+ background-color: #fff;
+ background-clip: padding-box;
+}
+.mui-pager li:active > a, .mui-pager li:active > span, .mui-pager li.mui-active > a, .mui-pager li.mui-active > span
+{
+ cursor: default;
+ text-decoration: none;
+
+ color: #fff;
+ border-color: #007aff;
+ background-color: #007aff;
+}
+.mui-pager .mui-next > a,
+.mui-pager .mui-next > span
+{
+ float: right;
+}
+.mui-pager .mui-previous > a,
+.mui-pager .mui-previous > span
+{
+ float: left;
+}
+.mui-pager .mui-disabled > a,
+.mui-pager .mui-disabled > a:active,
+.mui-pager .mui-disabled > span,
+.mui-pager .mui-disabled > span:active
+{
+ opacity: .6;
+ color: #777;
+ border: 1px solid #ddd;
+ background-color: #fff;
+}
+
+.mui-modal
+{
+ position: fixed;
+ z-index: 999;
+ top: 0;
+
+ overflow: hidden;
+
+ width: 100%;
+ min-height: 100%;
+
+ -webkit-transition: -webkit-transform .25s, opacity 1ms .25s;
+ transition: transform .25s, opacity 1ms .25s;
+ -webkit-transition-timing-function: cubic-bezier(.1, .5, .1, 1);
+ transition-timing-function: cubic-bezier(.1, .5, .1, 1);
+ -webkit-transform: translate3d(0, 100%, 0);
+ transform: translate3d(0, 100%, 0);
+
+ opacity: 0;
+ background-color: #fff;
+}
+.mui-modal.mui-active
+{
+ height: 100%;
+
+ -webkit-transition: -webkit-transform .25s;
+ transition: transform .25s;
+ -webkit-transition-timing-function: cubic-bezier(.1, .5, .1, 1);
+ transition-timing-function: cubic-bezier(.1, .5, .1, 1);
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+
+ opacity: 1;
+}
+
+.mui-android .mui-modal .mui-bar
+{
+ position: static;
+}
+
+.mui-android .mui-modal .mui-bar-nav ~ .mui-content
+{
+ padding-top: 0;
+}
+
+.mui-slider
+{
+ position: relative;
+ z-index: 1;
+
+ overflow: hidden;
+
+ width: 100%;
+}
+.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
+{
+ border-top: 1px solid #c8c7cc;
+ border-bottom: 1px solid #c8c7cc;
+}
+.mui-slider .mui-slider-group
+{
+ font-size: 0;
+
+ position: relative;
+
+ -webkit-transition: all 0s linear;
+ transition: all 0s linear;
+ white-space: nowrap;
+}
+.mui-slider .mui-slider-group .mui-slider-item
+{
+ font-size: 14px;
+
+ position: relative;
+
+ display: inline-block;
+
+ width: 100%;
+ height: 100%;
+
+ vertical-align: top;
+ white-space: normal;
+}
+.mui-slider .mui-slider-group .mui-slider-item > a:not(.mui-control-item)
+{
+ line-height: 0;
+
+ position: relative;
+
+ display: block;
+}
+.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);
+}
+
+.mui-slider-title
+{
+ line-height: 30px;
+
+ position: absolute;
+ bottom: 0;
+ left: 0;
+
+ width: 100%;
+ height: 30px;
+ margin: 0;
+
+ text-align: left;
+ text-indent: 12px;
+
+ opacity: .8;
+ background-color: #000;
+}
+
+.mui-slider-indicator
+{
+ position: absolute;
+ bottom: 8px;
+
+ width: 100%;
+
+ text-align: center;
+
+ background: none;
+}
+.mui-slider-indicator.mui-segmented-control
+{
+ position: relative;
+ bottom: auto;
+}
+.mui-slider-indicator .mui-indicator
+{
+ display: inline-block;
+
+ width: 6px;
+ height: 6px;
+ margin: 1px 6px;
+
+ cursor: pointer;
+
+ border-radius: 50%;
+ background: #aaa;
+ -webkit-box-shadow: 0 0 1px 1px rgba(130, 130, 130, .7);
+ box-shadow: 0 0 1px 1px rgba(130, 130, 130, .7);
+}
+.mui-slider-indicator .mui-active.mui-indicator
+{
+ background: #fff;
+}
+.mui-slider-indicator .mui-icon
+{
+ font-size: 20px;
+ line-height: 30px;
+
+ width: 40px;
+ height: 30px;
+ margin: 3px;
+
+ text-align: center;
+
+ border: 1px solid #ddd;
+}
+.mui-slider-indicator .mui-number
+{
+ line-height: 32px;
+
+ display: inline-block;
+
+ width: 58px;
+}
+.mui-slider-indicator .mui-number span
+{
+ color: #ff5053;
+}
+
+.mui-slider-progress-bar
+{
+ z-index: 1;
+
+ height: 2px;
+
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0);
+}
+
+.mui-switch
+{
+ position: relative;
+
+ display: block;
+
+ width: 74px;
+ height: 30px;
+
+ -webkit-transition-timing-function: ease-in-out;
+ transition-timing-function: ease-in-out;
+ -webkit-transition-duration: .2s;
+ transition-duration: .2s;
+ -webkit-transition-property: background-color, border;
+ transition-property: background-color, border;
+
+ border: 2px solid #ddd;
+ border-radius: 20px;
+ background-color: #fff;
+ background-clip: padding-box;
+}
+.mui-switch.mui-disabled
+{
+ opacity: .3;
+}
+.mui-switch .mui-switch-handle
+{
+ position: absolute;
+ z-index: 1;
+ top: -1px;
+ left: -1px;
+
+ width: 28px;
+ height: 28px;
+
+ -webkit-transition: .2s ease-in-out;
+ transition: .2s ease-in-out;
+ -webkit-transition-property: -webkit-transform, width,left;
+ transition-property: transform, width,left;
+
+ border-radius: 16px;
+ background-color: #fff;
+ background-clip: padding-box;
+ -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, .4);
+ box-shadow: 0 2px 5px rgba(0, 0, 0, .4);
+}
+.mui-switch:before
+{
+ font-size: 13px;
+
+ position: absolute;
+ top: 3px;
+ right: 11px;
+
+ content: 'Off';
+ text-transform: uppercase;
+
+ color: #999;
+}
+.mui-switch.mui-dragging
+{
+ border-color: #f7f7f7;
+ background-color: #f7f7f7;
+}
+.mui-switch.mui-dragging .mui-switch-handle
+{
+ width: 38px;
+}
+.mui-switch.mui-dragging.mui-active .mui-switch-handle
+{
+ left: -11px;
+
+ width: 38px;
+}
+.mui-switch.mui-active
+{
+ border-color: #4cd964;
+ background-color: #4cd964;
+}
+.mui-switch.mui-active .mui-switch-handle
+{
+ -webkit-transform: translate(43px, 0);
+ transform: translate(43px, 0);
+}
+.mui-switch.mui-active:before
+{
+ right: auto;
+ left: 15px;
+
+ content: 'On';
+
+ color: #fff;
+}
+.mui-switch input[type='checkbox']
+{
+ display: none;
+}
+
+.mui-switch-mini
+{
+ width: 47px;
+}
+.mui-switch-mini:before
+{
+ display: none;
+}
+.mui-switch-mini.mui-active .mui-switch-handle
+{
+ -webkit-transform: translate(16px, 0);
+ transform: translate(16px, 0);
+}
+
+.mui-switch-blue.mui-active
+{
+ border: 2px solid #007aff;
+ background-color: #007aff;
+}
+
+.mui-content.mui-fade
+{
+ left: 0;
+
+ opacity: 0;
+}
+.mui-content.mui-fade.mui-in
+{
+ opacity: 1;
+}
+.mui-content.mui-sliding
+{
+ z-index: 2;
+
+ -webkit-transition: -webkit-transform .4s;
+ transition: transform .4s;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+}
+.mui-content.mui-sliding.mui-left
+{
+ z-index: 1;
+
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0);
+}
+.mui-content.mui-sliding.mui-right
+{
+ z-index: 3;
+
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+}
+
+.mui-navigate-right:after,
+.mui-push-left:after,
+.mui-push-right:after
+{
+ font-family: Muiicons;
+ font-size: inherit;
+ line-height: 1;
+
+ position: absolute;
+ top: 50%;
+
+ display: inline-block;
+
+ -webkit-transform: translateY(-50%);
+ transform: translateY(-50%);
+ text-decoration: none;
+
+ color: #bbb;
+
+ -webkit-font-smoothing: antialiased;
+}
+
+.mui-push-left:after
+{
+ left: 15px;
+
+ content: '\e582';
+}
+
+.mui-navigate-right:after,
+.mui-push-right:after
+{
+ right: 15px;
+
+ content: '\e583';
+}
+
+.mui-pull-top-pocket, .mui-pull-bottom-pocket
+{
+ position: absolute;
+ left: 0;
+
+ display: block;
+ visibility: hidden;
+ overflow: hidden;
+
+ width: 100%;
+ height: 50px;
+}
+
+.mui-plus-pullrefresh .mui-pull-top-pocket, .mui-plus-pullrefresh .mui-pull-bottom-pocket
+{
+ display: none;
+ visibility: visible;
+}
+
+.mui-pull-top-pocket
+{
+ top: 0;
+}
+
+.mui-bar-nav ~ .mui-content .mui-pull-top-pocket
+{
+ top: 44px;
+}
+
+.mui-bar-nav ~ .mui-bar-header-secondary ~ .mui-content .mui-pull-top-pocket
+{
+ top: 88px;
+}
+
+.mui-pull-bottom-pocket
+{
+ position: relative;
+ bottom: 0;
+
+ height: 40px;
+}
+.mui-pull-bottom-pocket .mui-pull-loading
+{
+ visibility: hidden;
+}
+.mui-pull-bottom-pocket .mui-pull-loading.mui-in
+{
+ display: inline-block;
+}
+
+.mui-pull
+{
+ font-weight: bold;
+
+ position: absolute;
+ right: 0;
+ bottom: 10px;
+ left: 0;
+
+ text-align: center;
+
+ color: #777;
+}
+
+.mui-pull-loading
+{
+ margin-right: 10px;
+
+ -webkit-transition: -webkit-transform .4s;
+ transition: transform .4s;
+ -webkit-transition-duration: 400ms;
+ transition-duration: 400ms;
+ vertical-align: middle;
+}
+
+.mui-pull-loading.mui-reverse
+{
+ -webkit-transform: rotate(180deg) translateZ(0);
+ transform: rotate(180deg) translateZ(0);
+}
+
+.mui-pull-caption
+{
+ font-size: 15px;
+ line-height: 24px;
+
+ position: relative;
+
+ display: inline-block;
+ overflow: visible;
+
+ margin-top: 0;
+
+ vertical-align: middle;
+}
+.mui-pull-caption span
+{
+ display: none;
+}
+.mui-pull-caption span.mui-in
+{
+ display: inline;
+}
+
+.mui-toast-container
+{
+ line-height: 17px;
+
+ position: fixed;
+ z-index: 9999;
+ bottom: 50px;
+ left: 50%;
+
+ -webkit-transition: opacity .3s;
+ transition: opacity .3s;
+ -webkit-transform: translate(-50%, 0);
+ transform: translate(-50%, 0);
+
+ opacity: 0;
+}
+.mui-toast-container.mui-active
+{
+ opacity: .9;
+}
+
+.mui-toast-message
+{
+ font-size: 14px;
+
+ padding: 10px 25px;
+
+ text-align: center;
+
+ color: #fff;
+ border-radius: 6px;
+ background-color: #323232;
+}
+
+.mui-numbox
+{
+ position: relative;
+
+ display: inline-block;
+ overflow: hidden;
+
+ width: 120px;
+ height: 35px;
+ padding: 0 40px 0 40px;
+
+ vertical-align: top;
+ vertical-align: middle;
+
+ border: solid 1px #bbb;
+ border-radius: 3px;
+ background-color: #efeff4;
+}
+.mui-numbox [class*=numbox-btn], .mui-numbox [class*=btn-numbox]
+{
+ font-size: 18px;
+ font-weight: normal;
+ line-height: 100%;
+
+ position: absolute;
+ top: 0;
+
+ overflow: hidden;
+
+ width: 40px;
+ height: 100%;
+ padding: 0;
+
+ color: #555;
+ border: none;
+ border-radius: 0;
+ background-color: #f9f9f9;
+}
+.mui-numbox [class*=numbox-btn]:active, .mui-numbox [class*=btn-numbox]:active
+{
+ background-color: #ccc;
+}
+.mui-numbox [class*=numbox-btn][disabled], .mui-numbox [class*=btn-numbox][disabled]
+{
+ color: #c0c0c0;
+}
+.mui-numbox .mui-numbox-btn-plus, .mui-numbox .mui-btn-numbox-plus
+{
+ right: 0;
+
+ border-top-right-radius: 3px;
+ border-bottom-right-radius: 3px;
+}
+.mui-numbox .mui-numbox-btn-minus, .mui-numbox .mui-btn-numbox-minus
+{
+ left: 0;
+
+ border-top-left-radius: 3px;
+ border-bottom-left-radius: 3px;
+}
+.mui-numbox .mui-numbox-input, .mui-numbox .mui-input-numbox
+{
+ display: inline-block;
+ overflow: hidden;
+
+ width: 100% !important;
+ height: 100%;
+ margin: 0;
+ padding: 0 3px !important;
+
+ text-align: center;
+ text-overflow: ellipsis;
+ word-break: normal;
+
+ border: none !important;
+ border-right: solid 1px #ccc !important;
+ border-left: solid 1px #ccc !important;
+ border-radius: 0 !important;
+}
+
+.mui-input-row .mui-numbox
+{
+ float: right;
+
+ margin: 2px 8px;
+}
+
+@font-face {
+ font-family: Muiicons;
+ font-weight: normal;
+ font-style: normal;
+
+ src: url('../fonts/mui.ttf') format('truetype');
+}
+.mui-icon
+{
+ font-family: Muiicons;
+ font-size: 24px;
+ font-weight: normal;
+ font-style: normal;
+ line-height: 1;
+
+ display: inline-block;
+
+ text-decoration: none;
+
+ -webkit-font-smoothing: antialiased;
+}
+.mui-icon.mui-active
+{
+ color: #007aff;
+}
+.mui-icon.mui-right:before
+{
+ float: right;
+
+ padding-left: .2em;
+}
+
+.mui-icon-contact:before
+{
+ content: '\e100';
+}
+
+.mui-icon-person:before
+{
+ content: '\e101';
+}
+
+.mui-icon-personadd:before
+{
+ content: '\e102';
+}
+
+.mui-icon-contact-filled:before
+{
+ content: '\e130';
+}
+
+.mui-icon-person-filled:before
+{
+ content: '\e131';
+}
+
+.mui-icon-personadd-filled:before
+{
+ content: '\e132';
+}
+
+.mui-icon-phone:before
+{
+ content: '\e200';
+}
+
+.mui-icon-email:before
+{
+ content: '\e201';
+}
+
+.mui-icon-chatbubble:before
+{
+ content: '\e202';
+}
+
+.mui-icon-chatboxes:before
+{
+ content: '\e203';
+}
+
+.mui-icon-phone-filled:before
+{
+ content: '\e230';
+}
+
+.mui-icon-email-filled:before
+{
+ content: '\e231';
+}
+
+.mui-icon-chatbubble-filled:before
+{
+ content: '\e232';
+}
+
+.mui-icon-chatboxes-filled:before
+{
+ content: '\e233';
+}
+
+.mui-icon-weibo:before
+{
+ content: '\e260';
+}
+
+.mui-icon-weixin:before
+{
+ content: '\e261';
+}
+
+.mui-icon-pengyouquan:before
+{
+ content: '\e262';
+}
+
+.mui-icon-chat:before
+{
+ content: '\e263';
+}
+
+.mui-icon-qq:before
+{
+ content: '\e264';
+}
+
+.mui-icon-videocam:before
+{
+ content: '\e300';
+}
+
+.mui-icon-camera:before
+{
+ content: '\e301';
+}
+
+.mui-icon-mic:before
+{
+ content: '\e302';
+}
+
+.mui-icon-location:before
+{
+ content: '\e303';
+}
+
+.mui-icon-mic-filled:before, .mui-icon-speech:before
+{
+ content: '\e332';
+}
+
+.mui-icon-location-filled:before
+{
+ content: '\e333';
+}
+
+.mui-icon-micoff:before
+{
+ content: '\e360';
+}
+
+.mui-icon-image:before
+{
+ content: '\e363';
+}
+
+.mui-icon-map:before
+{
+ content: '\e364';
+}
+
+.mui-icon-compose:before
+{
+ content: '\e400';
+}
+
+.mui-icon-trash:before
+{
+ content: '\e401';
+}
+
+.mui-icon-upload:before
+{
+ content: '\e402';
+}
+
+.mui-icon-download:before
+{
+ content: '\e403';
+}
+
+.mui-icon-close:before
+{
+ content: '\e404';
+}
+
+.mui-icon-redo:before
+{
+ content: '\e405';
+}
+
+.mui-icon-undo:before
+{
+ content: '\e406';
+}
+
+.mui-icon-refresh:before
+{
+ content: '\e407';
+}
+
+.mui-icon-star:before
+{
+ content: '\e408';
+}
+
+.mui-icon-plus:before
+{
+ content: '\e409';
+}
+
+.mui-icon-minus:before
+{
+ content: '\e410';
+}
+
+.mui-icon-circle:before, .mui-icon-checkbox:before
+{
+ content: '\e411';
+}
+
+.mui-icon-close-filled:before, .mui-icon-clear:before
+{
+ content: '\e434';
+}
+
+.mui-icon-refresh-filled:before
+{
+ content: '\e437';
+}
+
+.mui-icon-star-filled:before
+{
+ content: '\e438';
+}
+
+.mui-icon-plus-filled:before
+{
+ content: '\e439';
+}
+
+.mui-icon-minus-filled:before
+{
+ content: '\e440';
+}
+
+.mui-icon-circle-filled:before
+{
+ content: '\e441';
+}
+
+.mui-icon-checkbox-filled:before
+{
+ content: '\e442';
+}
+
+.mui-icon-closeempty:before
+{
+ content: '\e460';
+}
+
+.mui-icon-refreshempty:before
+{
+ content: '\e461';
+}
+
+.mui-icon-reload:before
+{
+ content: '\e462';
+}
+
+.mui-icon-starhalf:before
+{
+ content: '\e463';
+}
+
+.mui-icon-spinner:before
+{
+ content: '\e464';
+}
+
+.mui-icon-spinner-cycle:before
+{
+ content: '\e465';
+}
+
+.mui-icon-search:before
+{
+ content: '\e466';
+}
+
+.mui-icon-plusempty:before
+{
+ content: '\e468';
+}
+
+.mui-icon-forward:before
+{
+ content: '\e470';
+}
+
+.mui-icon-back:before, .mui-icon-left-nav:before
+{
+ content: '\e471';
+}
+
+.mui-icon-checkmarkempty:before
+{
+ content: '\e472';
+}
+
+.mui-icon-home:before
+{
+ content: '\e500';
+}
+
+.mui-icon-navigate:before
+{
+ content: '\e501';
+}
+
+.mui-icon-gear:before
+{
+ content: '\e502';
+}
+
+.mui-icon-paperplane:before
+{
+ content: '\e503';
+}
+
+.mui-icon-info:before
+{
+ content: '\e504';
+}
+
+.mui-icon-help:before
+{
+ content: '\e505';
+}
+
+.mui-icon-locked:before
+{
+ content: '\e506';
+}
+
+.mui-icon-more:before
+{
+ content: '\e507';
+}
+
+.mui-icon-flag:before
+{
+ content: '\e508';
+}
+
+.mui-icon-home-filled:before
+{
+ content: '\e530';
+}
+
+.mui-icon-gear-filled:before
+{
+ content: '\e532';
+}
+
+.mui-icon-info-filled:before
+{
+ content: '\e534';
+}
+
+.mui-icon-help-filled:before
+{
+ content: '\e535';
+}
+
+.mui-icon-more-filled:before
+{
+ content: '\e537';
+}
+
+.mui-icon-settings:before
+{
+ content: '\e560';
+}
+
+.mui-icon-list:before
+{
+ content: '\e562';
+}
+
+.mui-icon-bars:before
+{
+ content: '\e563';
+}
+
+.mui-icon-loop:before
+{
+ content: '\e565';
+}
+
+.mui-icon-paperclip:before
+{
+ content: '\e567';
+}
+
+.mui-icon-eye:before
+{
+ content: '\e568';
+}
+
+.mui-icon-arrowup:before
+{
+ content: '\e580';
+}
+
+.mui-icon-arrowdown:before
+{
+ content: '\e581';
+}
+
+.mui-icon-arrowleft:before
+{
+ content: '\e582';
+}
+
+.mui-icon-arrowright:before
+{
+ content: '\e583';
+}
+
+.mui-icon-arrowthinup:before
+{
+ content: '\e584';
+}
+
+.mui-icon-arrowthindown:before
+{
+ content: '\e585';
+}
+
+.mui-icon-arrowthinleft:before
+{
+ content: '\e586';
+}
+
+.mui-icon-arrowthinright:before
+{
+ content: '\e587';
+}
+
+.mui-icon-pulldown:before
+{
+ content: '\e588';
+}
+
+.mui-fullscreen
+{
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+}
+.mui-fullscreen.mui-slider .mui-slider-group
+{
+ height: 100%;
+}
+.mui-fullscreen .mui-segmented-control ~ .mui-slider-group
+{
+ position: absolute;
+ top: 40px;
+ bottom: 0;
+
+ width: 100%;
+ height: auto;
+}
+.mui-fullscreen.mui-slider .mui-slider-item > a
+{
+ top: 50%;
+
+ -webkit-transform: translateY(-50%);
+ transform: translateY(-50%);
+}
+.mui-fullscreen .mui-off-canvas-wrap .mui-slider-item > a
+{
+ top: auto;
+
+ -webkit-transform: none;
+ transform: none;
+}
+
+.mui-bar-nav ~ .mui-content .mui-slider.mui-fullscreen
+{
+ top: 44px;
+}
+
+.mui-bar-tab ~ .mui-content .mui-slider.mui-fullscreen .mui-segmented-control ~ .mui-slider-group
+{
+ bottom: 50px;
+}
+
+.mui-android.mui-android-4-0 input:focus,
+.mui-android.mui-android-4-0 textarea:focus
+{
+ -webkit-user-modify: inherit;
+}
+
+.mui-android.mui-android-4-2 input,
+.mui-android.mui-android-4-2 textarea, .mui-android.mui-android-4-3 input,
+.mui-android.mui-android-4-3 textarea
+{
+ -webkit-user-select: text;
+}
+
+.mui-ios .mui-table-view-cell
+{
+ -webkit-transform-style: preserve-3d;
+ transform-style: preserve-3d;
+}
+
+.mui-plus-visible, .mui-wechat-visible
+{
+ display: none !important;
+}
+
+.mui-plus-hidden, .mui-wechat-hidden
+{
+ display: block !important;
+}
+
+.mui-tab-item.mui-plus-hidden, .mui-tab-item.mui-wechat-hidden
+{
+ display: table-cell !important;
+}
+
+.mui-plus .mui-plus-visible, .mui-wechat .mui-wechat-visible
+{
+ display: block !important;
+}
+
+.mui-plus .mui-tab-item.mui-plus-visible, .mui-wechat .mui-tab-item.mui-wechat-visible
+{
+ display: table-cell !important;
+}
+
+.mui-plus .mui-plus-hidden, .mui-wechat .mui-wechat-hidden
+{
+ display: none !important;
+}
+
+.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav
+{
+ height: 64px;
+ padding-top: 20px;
+}
+.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav ~ .mui-content
+{
+ padding-top: 64px;
+}
+.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav ~ .mui-content .mui-pull-top-pocket
+{
+ top: 64px;
+}
+.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-header-secondary
+{
+ top: 64px;
+}
+.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-header-secondary ~ .mui-content
+{
+ padding-top: 94px;
+}
+
+.mui-iframe-wrapper
+{
+ position: absolute;
+ right: 0;
+ left: 0;
+
+ -webkit-overflow-scrolling: touch;
+}
+.mui-iframe-wrapper iframe
+{
+ width: 100%;
+ height: 100%;
+
+ border: 0;
+}
diff --git a/fzzy-igdss-web/src/main/resources/static/ajax/libs/mui/css/mui.min.css b/fzzy-igdss-web/src/main/resources/static/ajax/libs/mui/css/mui.min.css
new file mode 100644
index 0000000..eaf6974
--- /dev/null
+++ b/fzzy-igdss-web/src/main/resources/static/ajax/libs/mui/css/mui.min.css
@@ -0,0 +1,5 @@
+/*!
+ * =====================================================
+ * Mui v3.7.3 (http://dev.dcloud.net.cn/mui)
+ * =====================================================
+ *//*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%}body{margin:0}body::after{position:fixed;top:-1000px;left:-1000px;content:'';-webkit-animation:shadow-preload .1s;animation:shadow-preload .1s;-webkit-animation-delay:3s;animation-delay:3s}@-webkit-keyframes shadow-preload{0%,100%{background-image:url(https://cdn.dcloud.net.cn/img/mui-shadow-grey.png)}}@keyframes shadow-preload{0%,100%{background-image:url(https://cdn.dcloud.net.cn/img/mui-shadow-grey.png)}}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{font:inherit;margin:0;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}button[disabled],html input[disabled]{cursor:default}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{margin:0 2px;padding:.35em .625em .75em;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}*{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;outline:0;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent}body{font-family:'Helvetica Neue',Helvetica,sans-serif;font-size:17px;line-height:21px;color:#000;background-color:#efeff4;-webkit-overflow-scrolling:touch}a{text-decoration:none;color:#007aff}a:active{color:#0062cc}.mui-content{background-color:#efeff4;-webkit-overflow-scrolling:touch}.mui-bar-nav~.mui-content{padding-top:44px}.mui-bar-nav~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{top:44px}.mui-bar-header-secondary~.mui-content{padding-top:88px}.mui-bar-header-secondary~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{top:88px}.mui-bar-footer~.mui-content{padding-bottom:44px}.mui-bar-footer~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:44px}.mui-bar-footer-secondary~.mui-content{padding-bottom:88px}.mui-bar-footer-secondary~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:88px}.mui-bar-tab~.mui-content{padding-bottom:50px}.mui-bar-tab~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:50px}.mui-bar-footer-secondary-tab~.mui-content{padding-bottom:94px}.mui-bar-footer-secondary-tab~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:94px}.mui-content-padded{margin:10px}.mui-inline{display:inline-block;vertical-align:top}.mui-block{display:block!important}.mui-visibility{visibility:visible!important}.mui-hidden{display:none!important}.mui-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mui-ellipsis-2{display:-webkit-box;overflow:hidden;white-space:normal!important;text-overflow:ellipsis;word-wrap:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical}.mui-table{display:table;width:100%;table-layout:fixed}.mui-table-cell{position:relative;display:table-cell}.mui-text-left{text-align:left!important}.mui-text-center{text-align:center!important}.mui-text-justify{text-align:justify!important}.mui-text-right{text-align:right!important}.mui-pull-left{float:left}.mui-pull-right{float:right}.mui-list-unstyled{padding-left:0;list-style:none}.mui-list-inline{margin-left:-5px;padding-left:0;list-style:none}.mui-list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.mui-clearfix:after,.mui-clearfix:before{display:table;content:' '}.mui-clearfix:after{clear:both}.mui-bg-primary{background-color:#007aff}.mui-bg-positive{background-color:#4cd964}.mui-bg-negative{background-color:#dd524d}.mui-error{margin:88px 35px;padding:10px;border-radius:6px;background-color:#bbb}.mui-subtitle{font-size:15px}h1,h2,h3,h4,h5,h6{line-height:1;margin-top:5px;margin-bottom:5px}.mui-h1,h1{font-size:36px}.mui-h2,h2{font-size:30px}.mui-h3,h3{font-size:24px}.mui-h4,h4{font-size:18px}.mui-h5,h5{font-size:14px;font-weight:400;color:#8f8f94}.mui-h6,h6{font-size:12px;font-weight:400;color:#8f8f94}p{font-size:14px;margin-top:0;margin-bottom:10px;color:#8f8f94}.mui-row:after,.mui-row:before{display:table;content:' '}.mui-row:after{clear:both}.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9,.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{position:relative;min-height:1px}.mui-row>[class*=mui-col-]{float:left}.mui-col-xs-12{width:100%}.mui-col-xs-11{width:91.66666667%}.mui-col-xs-10{width:83.33333333%}.mui-col-xs-9{width:75%}.mui-col-xs-8{width:66.66666667%}.mui-col-xs-7{width:58.33333333%}.mui-col-xs-6{width:50%}.mui-col-xs-5{width:41.66666667%}.mui-col-xs-4{width:33.33333333%}.mui-col-xs-3{width:25%}.mui-col-xs-2{width:16.66666667%}.mui-col-xs-1{width:8.33333333%}@media (min-width:400px){.mui-col-sm-12{width:100%}.mui-col-sm-11{width:91.66666667%}.mui-col-sm-10{width:83.33333333%}.mui-col-sm-9{width:75%}.mui-col-sm-8{width:66.66666667%}.mui-col-sm-7{width:58.33333333%}.mui-col-sm-6{width:50%}.mui-col-sm-5{width:41.66666667%}.mui-col-sm-4{width:33.33333333%}.mui-col-sm-3{width:25%}.mui-col-sm-2{width:16.66666667%}.mui-col-sm-1{width:8.33333333%}}.mui-scroll-wrapper{position:absolute;z-index:2;top:0;bottom:0;left:0;overflow:hidden;width:100%}.mui-scroll{position:absolute;z-index:1;width:100%}.mui-scrollbar{position:absolute;z-index:9998;overflow:hidden;-webkit-transition:500ms;transition:500ms;transform:translateZ(0px);pointer-events:none;opacity:0}.mui-scrollbar-vertical{top:0;right:1px;bottom:2px;width:4px}.mui-scrollbar-vertical .mui-scrollbar-indicator{width:100%}.mui-scrollbar-horizontal{right:2px;bottom:0;left:2px;height:4px}.mui-scrollbar-horizontal .mui-scrollbar-indicator{height:100%}.mui-scrollbar-indicator{position:absolute;display:block;box-sizing:border-box;-webkit-transition:.01s cubic-bezier(.1,.57,.1,1);transition:.01s cubic-bezier(.1,.57,.1,1);transform:translate(0px,0) translateZ(0px);border:1px solid rgba(255,255,255,.80196);border-radius:2px;background:rgba(0,0,0,.39804)}.mui-plus-pullrefresh .mui-fullscreen .mui-scroll-wrapper .mui-scroll-wrapper,.mui-plus-pullrefresh .mui-fullscreen .mui-slider-group .mui-scroll-wrapper{position:absolute;top:0;bottom:0;left:0;overflow:hidden;width:100%}.mui-plus-pullrefresh .mui-fullscreen .mui-scroll-wrapper .mui-scroll,.mui-plus-pullrefresh .mui-fullscreen .mui-slider-group .mui-scroll{position:absolute;width:100%}.mui-plus-pullrefresh .mui-scroll-wrapper,.mui-plus-pullrefresh .mui-slider-group{position:static;top:auto;bottom:auto;left:auto;overflow:auto;width:auto}.mui-plus-pullrefresh .mui-slider-group{overflow:visible}.mui-plus-pullrefresh .mui-scroll{position:static;width:auto}.mui-off-canvas-wrap .mui-bar{position:absolute!important;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-box-shadow:none;box-shadow:none}.mui-off-canvas-wrap{position:relative;z-index:1;overflow:hidden;width:100%;height:100%}.mui-off-canvas-wrap .mui-inner-wrap{position:relative;z-index:1;width:100%;height:100%}.mui-off-canvas-wrap .mui-inner-wrap.mui-transitioning{-webkit-transition:-webkit-transform 350ms;transition:transform 350ms cubic-bezier(.165,.84,.44,1)}.mui-off-canvas-wrap .mui-inner-wrap .mui-off-canvas-left{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.mui-off-canvas-wrap .mui-inner-wrap .mui-off-canvas-right{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.mui-off-canvas-wrap.mui-active{overflow:hidden;height:100%}.mui-off-canvas-wrap.mui-active .mui-off-canvas-backdrop{position:absolute;z-index:998;top:0;right:0;bottom:0;left:0;display:block;transition:background 350ms cubic-bezier(.165,.84,.44,1);background:rgba(0,0,0,.4);box-shadow:-4px 0 4px rgba(0,0,0,.5),4px 0 4px rgba(0,0,0,.5);-webkit-tap-highlight-color:transparent}.mui-off-canvas-wrap.mui-slide-in .mui-off-canvas-right{z-index:10000!important;-webkit-transform:translate3d(100%,0,0)}.mui-off-canvas-wrap.mui-slide-in .mui-off-canvas-left{z-index:10000!important;-webkit-transform:translate3d(-100%,0,0)}.mui-off-canvas-left,.mui-off-canvas-right{position:absolute;z-index:-1;top:0;bottom:0;visibility:hidden;box-sizing:content-box;width:70%;min-height:100%;background:#333;-webkit-overflow-scrolling:touch}.mui-off-canvas-left.mui-transitioning,.mui-off-canvas-right.mui-transitioning{-webkit-transition:-webkit-transform 350ms cubic-bezier(.165,.84,.44,1);transition:transform 350ms cubic-bezier(.165,.84,.44,1)}.mui-off-canvas-left{left:0}.mui-off-canvas-right{right:0}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable{background-color:#333}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-left,.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-right{width:80%;-webkit-transform:scale(.8);transform:scale(.8);opacity:.1}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-left.mui-transitioning,.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-right.mui-transitioning{-webkit-transition:-webkit-transform 350ms cubic-bezier(.165,.84,.44,1),opacity 350ms cubic-bezier(.165,.84,.44,1);transition:transform 350ms cubic-bezier(.165,.84,.44,1),opacity 350ms cubic-bezier(.165,.84,.44,1)}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-left{-webkit-transform-origin:-100%;transform-origin:-100%}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-right{-webkit-transform-origin:200%;transform-origin:200%}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active>.mui-inner-wrap{-webkit-transform:scale(.8);transform:scale(.8)}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active>.mui-off-canvas-left,.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active>.mui-off-canvas-right{-webkit-transform:scale(1);transform:scale(1);opacity:1}.mui-loading .mui-spinner{display:block;margin:0 auto}.mui-spinner{display:inline-block;width:24px;height:24px;-webkit-transform-origin:50%;transform-origin:50%;-webkit-animation:spinner-spin 1s step-end infinite;animation:spinner-spin 1s step-end infinite}.mui-spinner:after{display:block;width:100%;height:100%;content:'';background-image:url('data:image/svg+xml;charset=utf-8,<svg viewBox=\'0 0 120 120\' xmlns=\'http://www.w3.org/2000/svg\' xmlns:xlink=\'http://www.w3.org/1999/xlink\'><defs><line id=\'l\' x1=\'60\' x2=\'60\' y1=\'7\' y2=\'27\' stroke=\'%236c6c6c\' stroke-width=\'11\' stroke-linecap=\'round\'/></defs><g><use xlink:href=\'%23l\' opacity=\'.27\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(30 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(60 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(90 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(120 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(150 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.37\' transform=\'rotate(180 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.46\' transform=\'rotate(210 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.56\' transform=\'rotate(240 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.66\' transform=\'rotate(270 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.75\' transform=\'rotate(300 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.85\' transform=\'rotate(330 60,60)\'/></g></svg>');background-repeat:no-repeat;background-position:50%;background-size:100%}.mui-spinner-white:after{background-image:url('data:image/svg+xml;charset=utf-8,<svg viewBox=\'0 0 120 120\' xmlns=\'http://www.w3.org/2000/svg\' xmlns:xlink=\'http://www.w3.org/1999/xlink\'><defs><line id=\'l\' x1=\'60\' x2=\'60\' y1=\'7\' y2=\'27\' stroke=\'%23fff\' stroke-width=\'11\' stroke-linecap=\'round\'/></defs><g><use xlink:href=\'%23l\' opacity=\'.27\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(30 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(60 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(90 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(120 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(150 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.37\' transform=\'rotate(180 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.46\' transform=\'rotate(210 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.56\' transform=\'rotate(240 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.66\' transform=\'rotate(270 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.75\' transform=\'rotate(300 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.85\' transform=\'rotate(330 60,60)\'/></g></svg>')}@-webkit-keyframes spinner-spin{0%{-webkit-transform:rotate(0deg)}8.33333333%{-webkit-transform:rotate(30deg)}16.66666667%{-webkit-transform:rotate(60deg)}25%{-webkit-transform:rotate(90deg)}33.33333333%{-webkit-transform:rotate(120deg)}41.66666667%{-webkit-transform:rotate(150deg)}50%{-webkit-transform:rotate(180deg)}58.33333333%{-webkit-transform:rotate(210deg)}66.66666667%{-webkit-transform:rotate(240deg)}75%{-webkit-transform:rotate(270deg)}83.33333333%{-webkit-transform:rotate(300deg)}91.66666667%{-webkit-transform:rotate(330deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes spinner-spin{0%{transform:rotate(0deg)}8.33333333%{transform:rotate(30deg)}16.66666667%{transform:rotate(60deg)}25%{transform:rotate(90deg)}33.33333333%{transform:rotate(120deg)}41.66666667%{transform:rotate(150deg)}50%{transform:rotate(180deg)}58.33333333%{transform:rotate(210deg)}66.66666667%{transform:rotate(240deg)}75%{transform:rotate(270deg)}83.33333333%{transform:rotate(300deg)}91.66666667%{transform:rotate(330deg)}100%{transform:rotate(360deg)}}.mui-btn,button,input[type=button],input[type=reset],input[type=submit]{font-size:14px;font-weight:400;line-height:1.42;position:relative;display:inline-block;margin-bottom:0;padding:6px 12px;cursor:pointer;-webkit-transition:all;transition:all;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transition-duration:.2s;transition-duration:.2s;text-align:center;vertical-align:top;white-space:nowrap;color:#333;border:1px solid #ccc;border-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;background-color:#fff;background-clip:padding-box}.mui-btn.mui-active:enabled,.mui-btn:enabled:active,button.mui-active:enabled,button:enabled:active,input[type=button].mui-active:enabled,input[type=button]:enabled:active,input[type=reset].mui-active:enabled,input[type=reset]:enabled:active,input[type=submit].mui-active:enabled,input[type=submit]:enabled:active{color:#fff;background-color:#929292}.mui-btn.mui-disabled,.mui-btn:disabled,button.mui-disabled,button:disabled,input[type=button].mui-disabled,input[type=button]:disabled,input[type=reset].mui-disabled,input[type=reset]:disabled,input[type=submit].mui-disabled,input[type=submit]:disabled{opacity:.6}.mui-btn-blue,.mui-btn-primary,input[type=submit]{color:#fff;border:1px solid #007aff;background-color:#007aff}.mui-btn-blue.mui-active:enabled,.mui-btn-blue:enabled:active,.mui-btn-primary.mui-active:enabled,.mui-btn-primary:enabled:active,input[type=submit].mui-active:enabled,input[type=submit]:enabled:active{color:#fff;border:1px solid #0062cc;background-color:#0062cc}.mui-btn-green,.mui-btn-positive,.mui-btn-success{color:#fff;border:1px solid #4cd964;background-color:#4cd964}.mui-btn-green.mui-active:enabled,.mui-btn-green:enabled:active,.mui-btn-positive.mui-active:enabled,.mui-btn-positive:enabled:active,.mui-btn-success.mui-active:enabled,.mui-btn-success:enabled:active{color:#fff;border:1px solid #2ac845;background-color:#2ac845}.mui-btn-warning,.mui-btn-yellow{color:#fff;border:1px solid #f0ad4e;background-color:#f0ad4e}.mui-btn-warning.mui-active:enabled,.mui-btn-warning:enabled:active,.mui-btn-yellow.mui-active:enabled,.mui-btn-yellow:enabled:active{color:#fff;border:1px solid #ec971f;background-color:#ec971f}.mui-btn-danger,.mui-btn-negative,.mui-btn-red{color:#fff;border:1px solid #dd524d;background-color:#dd524d}.mui-btn-danger.mui-active:enabled,.mui-btn-danger:enabled:active,.mui-btn-negative.mui-active:enabled,.mui-btn-negative:enabled:active,.mui-btn-red.mui-active:enabled,.mui-btn-red:enabled:active{color:#fff;border:1px solid #cf2d28;background-color:#cf2d28}.mui-btn-purple,.mui-btn-royal{color:#fff;border:1px solid #8a6de9;background-color:#8a6de9}.mui-btn-purple.mui-active:enabled,.mui-btn-purple:enabled:active,.mui-btn-royal.mui-active:enabled,.mui-btn-royal:enabled:active{color:#fff;border:1px solid #6641e2;background-color:#6641e2}.mui-btn-grey{color:#fff;border:1px solid #c7c7cc;background-color:#c7c7cc}.mui-btn-grey.mui-active:enabled,.mui-btn-grey:enabled:active{color:#fff;border:1px solid #acacb4;background-color:#acacb4}.mui-btn-outlined{background-color:transparent}.mui-btn-outlined.mui-btn-blue,.mui-btn-outlined.mui-btn-primary{color:#007aff}.mui-btn-outlined.mui-btn-green,.mui-btn-outlined.mui-btn-positive,.mui-btn-outlined.mui-btn-success{color:#4cd964}.mui-btn-outlined.mui-btn-warning,.mui-btn-outlined.mui-btn-yellow{color:#f0ad4e}.mui-btn-outlined.mui-btn-danger,.mui-btn-outlined.mui-btn-negative,.mui-btn-outlined.mui-btn-red{color:#dd524d}.mui-btn-outlined.mui-btn-purple,.mui-btn-outlined.mui-btn-royal{color:#8a6de9}.mui-btn-outlined.mui-btn-blue:enabled:active,.mui-btn-outlined.mui-btn-danger:enabled:active,.mui-btn-outlined.mui-btn-green:enabled:active,.mui-btn-outlined.mui-btn-negative:enabled:active,.mui-btn-outlined.mui-btn-positive:enabled:active,.mui-btn-outlined.mui-btn-primary:enabled:active,.mui-btn-outlined.mui-btn-purple:enabled:active,.mui-btn-outlined.mui-btn-red:enabled:active,.mui-btn-outlined.mui-btn-royal:enabled:active,.mui-btn-outlined.mui-btn-success:enabled:active,.mui-btn-outlined.mui-btn-warning:enabled:active,.mui-btn-outlined.mui-btn-yellow:enabled:active{color:#fff}.mui-btn-link{padding-top:6px;padding-bottom:6px;color:#007aff;border:0;background-color:transparent}.mui-btn-link.mui-active:enabled,.mui-btn-link:enabled:active{color:#0062cc;background-color:transparent}.mui-btn-block{font-size:18px;display:block;width:100%;margin-bottom:10px;padding:15px 0}.mui-btn .mui-badge{font-size:14px;margin:-2px -4px -2px 4px;background-color:rgba(0,0,0,.15)}.mui-btn .mui-badge-inverted,.mui-btn:enabled:active .mui-badge-inverted{background-color:transparent}.mui-btn-negative:enabled:active .mui-badge-inverted,.mui-btn-positive:enabled:active .mui-badge-inverted,.mui-btn-primary:enabled:active .mui-badge-inverted{color:#fff}.mui-btn-block .mui-badge{position:absolute;right:0;margin-right:10px}.mui-btn .mui-icon{font-size:inherit}.mui-btn.mui-icon{font-size:14px;line-height:1.42}.mui-btn.mui-fab{width:56px;height:56px;padding:16px;border-radius:50%;outline:0}.mui-btn.mui-fab.mui-btn-mini{width:40px;height:40px;padding:8px}.mui-btn.mui-fab .mui-icon{font-size:24px;line-height:24px;width:24px;height:24px}.mui-btn .mui-spinner{width:14px;height:14px;vertical-align:text-bottom}.mui-btn-block .mui-spinner{width:22px;height:22px}.mui-bar{position:fixed;z-index:10;right:0;left:0;height:44px;padding-right:10px;padding-left:10px;border-bottom:0;background-color:#f7f7f7;-webkit-box-shadow:0 0 1px rgba(0,0,0,.85);box-shadow:0 0 1px rgba(0,0,0,.85);-webkit-backface-visibility:hidden;backface-visibility:hidden}.mui-bar .mui-title{right:40px;left:40px;display:inline-block;overflow:hidden;width:auto;margin:0;text-overflow:ellipsis}.mui-bar .mui-backdrop{background:0 0}.mui-bar-header-secondary{top:44px}.mui-bar-footer{bottom:0}.mui-bar-footer-secondary{bottom:44px}.mui-bar-footer-secondary-tab{bottom:50px}.mui-bar-footer,.mui-bar-footer-secondary,.mui-bar-footer-secondary-tab{border-top:0}.mui-bar-transparent{top:0;background-color:rgba(247,247,247,0);-webkit-box-shadow:none;box-shadow:none}.mui-bar-nav{top:0;-webkit-box-shadow:0 1px 6px #ccc;box-shadow:0 1px 6px #ccc}.mui-bar-nav~.mui-content .mui-anchor{display:block;visibility:hidden;height:45px;margin-top:-45px}.mui-bar-nav.mui-bar .mui-icon{margin-right:-10px;margin-left:-10px;padding-right:10px;padding-left:10px}.mui-title{font-size:17px;font-weight:500;line-height:44px;position:absolute;display:block;width:100%;margin:0 -10px;padding:0;text-align:center;white-space:nowrap;color:#000}.mui-title a{color:inherit}.mui-bar-tab{bottom:0;display:table;width:100%;height:50px;padding:0;table-layout:fixed;border-top:0;border-bottom:0;-webkit-touch-callout:none}.mui-bar-tab .mui-tab-item{display:table-cell;overflow:hidden;width:1%;height:50px;text-align:center;vertical-align:middle;white-space:nowrap;text-overflow:ellipsis;color:#929292}.mui-bar-tab .mui-tab-item.mui-active{color:#007aff}.mui-bar-tab .mui-tab-item .mui-icon{top:3px;width:24px;height:24px;padding-top:0;padding-bottom:0}.mui-bar-tab .mui-tab-item .mui-icon~.mui-tab-label{font-size:11px;display:block;overflow:hidden;text-overflow:ellipsis}.mui-bar-tab .mui-tab-item .mui-icon:active{background:0 0}.mui-focusin>.mui-bar-header-secondary,.mui-focusin>.mui-bar-nav{position:absolute}.mui-focusin>.mui-bar~.mui-content{padding-bottom:0}.mui-bar .mui-btn{font-weight:400;position:relative;z-index:20;top:7px;margin-top:0;padding:6px 12px 7px}.mui-bar .mui-btn.mui-pull-right{margin-left:10px}.mui-bar .mui-btn.mui-pull-left{margin-right:10px}.mui-bar .mui-btn-link{font-size:16px;line-height:44px;top:0;padding:0;color:#007aff;border:0}.mui-bar .mui-btn-link.mui-active,.mui-bar .mui-btn-link:active{color:#0062cc}.mui-bar .mui-btn-block{font-size:16px;top:6px;margin-bottom:0;padding:5px 0}.mui-bar .mui-btn-nav.mui-pull-left{margin-left:-5px}.mui-bar .mui-btn-nav.mui-pull-left .mui-icon-left-nav{margin-right:-3px}.mui-bar .mui-btn-nav.mui-pull-right{margin-right:-5px}.mui-bar .mui-btn-nav.mui-pull-right .mui-icon-right-nav{margin-left:-3px}.mui-bar .mui-btn-nav:active{opacity:.3}.mui-bar .mui-icon{font-size:24px;position:relative;z-index:20;padding-top:10px;padding-bottom:10px}.mui-bar .mui-icon:active{opacity:.3}.mui-bar .mui-btn .mui-icon{top:1px;margin:0;padding:0}.mui-bar .mui-title .mui-icon{margin:0;padding:0}.mui-bar .mui-title .mui-icon.mui-icon-caret{top:4px;margin-left:-5px}.mui-bar input[type=search]{height:29px;margin:6px 0}.mui-bar .mui-input-row .mui-btn{padding:12px 10px}.mui-bar .mui-search:before{margin-top:-10px}.mui-bar .mui-input-row .mui-input-clear~.mui-icon-clear,.mui-bar .mui-input-row .mui-input-speech~.mui-icon-speech{top:0;right:12px}.mui-bar.mui-bar-header-secondary .mui-input-row .mui-input-clear~.mui-icon-clear,.mui-bar.mui-bar-header-secondary .mui-input-row .mui-input-speech~.mui-icon-speech{top:0;right:0}.mui-bar .mui-segmented-control{top:7px;width:auto;margin:0 auto}.mui-bar.mui-bar-header-secondary .mui-segmented-control{top:0}.mui-badge{font-size:12px;line-height:1;display:inline-block;padding:3px 6px;color:#333;border-radius:100px;background-color:rgba(0,0,0,.15)}.mui-badge.mui-badge-inverted{padding:0 5px 0 0;color:#929292;background-color:transparent}.mui-badge-blue,.mui-badge-primary{color:#fff;background-color:#007aff}.mui-badge-blue.mui-badge-inverted,.mui-badge-primary.mui-badge-inverted{color:#007aff;background-color:transparent}.mui-badge-green,.mui-badge-success{color:#fff;background-color:#4cd964}.mui-badge-green.mui-badge-inverted,.mui-badge-success.mui-badge-inverted{color:#4cd964;background-color:transparent}.mui-badge-warning,.mui-badge-yellow{color:#fff;background-color:#f0ad4e}.mui-badge-warning.mui-badge-inverted,.mui-badge-yellow.mui-badge-inverted{color:#f0ad4e;background-color:transparent}.mui-badge-danger,.mui-badge-red{color:#fff;background-color:#dd524d}.mui-badge-danger.mui-badge-inverted,.mui-badge-red.mui-badge-inverted{color:#dd524d;background-color:transparent}.mui-badge-purple,.mui-badge-royal{color:#fff;background-color:#8a6de9}.mui-badge-purple.mui-badge-inverted,.mui-badge-royal.mui-badge-inverted{color:#8a6de9;background-color:transparent}.mui-icon .mui-badge{font-size:10px;line-height:1.4;position:absolute;top:-2px;left:100%;margin-left:-10px;padding:1px 5px;color:#fff;background:red}.mui-card{font-size:14px;position:relative;overflow:hidden;margin:10px;border-radius:2px;background-color:#fff;background-clip:padding-box;box-shadow:0 1px 2px rgba(0,0,0,.3)}.mui-content>.mui-card:first-child{margin-top:15px}.mui-card .mui-input-group .mui-input-row:last-child:after,.mui-card .mui-input-group .mui-input-row:last-child:before,.mui-card .mui-input-group:after,.mui-card .mui-input-group:before{height:0}.mui-card .mui-table-view{margin-bottom:0;border-top:0;border-bottom:0;border-radius:6px}.mui-card .mui-table-view .mui-table-view-cell:first-child,.mui-card .mui-table-view .mui-table-view-divider:first-child{top:0;border-top-left-radius:6px;border-top-right-radius:6px}.mui-card .mui-table-view .mui-table-view-cell:last-child,.mui-card .mui-table-view .mui-table-view-divider:last-child{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.mui-card .mui-table-view:after,.mui-card .mui-table-view:before,.mui-card>.mui-table-view>.mui-table-view-cell:last-child:after,.mui-card>.mui-table-view>.mui-table-view-cell:last-child:before{height:0}.mui-card-footer,.mui-card-header{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;min-height:44px;padding:10px 15px;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.mui-card-footer .mui-card-link,.mui-card-header .mui-card-link{line-height:44px;position:relative;display:-webkit-box;display:-webkit-flex;display:flex;height:44px;margin-top:-10px;margin-bottom:-10px;-webkit-transition-duration:.3s;transition-duration:.3s;text-decoration:none;-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.mui-card-footer:before,.mui-card-header:after{position:absolute;top:0;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-card-header{font-size:17px;border-radius:2px 2px 0 0}.mui-card-header:after{top:auto;bottom:0}.mui-card-header>img:first-child{font-size:0;line-height:0;float:left;width:34px;height:34px}.mui-card-footer{color:#6d6d72;border-radius:0 0 2px 2px}.mui-card-content{font-size:14px;position:relative}.mui-card-content-inner{position:relative;padding:15px}.mui-card-media{vertical-align:bottom;color:#fff;background-position:center;background-size:cover}.mui-card-header.mui-card-media{display:block;padding:10px}.mui-card-header.mui-card-media .mui-media-body{font-size:14px;font-weight:500;line-height:17px;margin-bottom:0;margin-left:44px;color:#333}.mui-card-header.mui-card-media .mui-media-body p{font-size:13px;margin-bottom:0}.mui-table-view{position:relative;margin-top:0;margin-bottom:0;padding-left:0;list-style:none;background-color:#fff}.mui-table-view:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view:before{position:absolute;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc;top:-1px}.mui-table-view-icon .mui-table-view-cell .mui-navigate-right .mui-icon{font-size:20px;margin-top:-1px;margin-right:5px;margin-left:-5px}.mui-table-view-icon .mui-table-view-cell:after{left:40px}.mui-table-view-chevron .mui-table-view-cell{padding-right:65px}.mui-table-view-chevron .mui-table-view-cell>a:not(.mui-btn){margin-right:-65px}.mui-table-view-radio .mui-table-view-cell{padding-right:65px}.mui-table-view-radio .mui-table-view-cell>a:not(.mui-btn){margin-right:-65px}.mui-table-view-radio .mui-table-view-cell .mui-navigate-right:after{font-size:30px;font-weight:600;right:9px;content:'';color:#007aff}.mui-table-view-radio .mui-table-view-cell.mui-selected .mui-navigate-right:after{content:'\e472'}.mui-table-view-inverted{color:#fff;background:#333}.mui-table-view-inverted:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#222}.mui-table-view-inverted:before{position:absolute;top:0;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#222}.mui-table-view-inverted .mui-table-view-cell:after{position:absolute;right:0;bottom:0;left:15px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#222}.mui-table-view-inverted .mui-table-view-cell.mui-active,.mui-table-view-inverted .mui-table-view-cell>a:not(.mui-btn).mui-active{background-color:#242424}.mui-table-view-cell{position:relative;overflow:hidden;padding:11px 15px;-webkit-touch-callout:none}.mui-table-view-cell:after{position:absolute;right:0;bottom:0;left:15px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view-cell.mui-checkbox input[type=checkbox],.mui-table-view-cell.mui-radio input[type=radio]{top:8px}.mui-table-view-cell.mui-checkbox.mui-left,.mui-table-view-cell.mui-radio.mui-left{padding-left:58px}.mui-table-view-cell.mui-active{background-color:#eee}.mui-table-view-cell:last-child:after,.mui-table-view-cell:last-child:before{height:0}.mui-table-view-cell>a:not(.mui-btn){position:relative;display:block;overflow:hidden;margin:-11px -15px;padding:inherit;white-space:nowrap;text-overflow:ellipsis;color:inherit}.mui-table-view-cell>a:not(.mui-btn).mui-active{background-color:#eee}.mui-table-view-cell p{margin-bottom:0}.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:-webkit-transform 300ms ease;transition:transform 300ms ease}.mui-table-view-cell.mui-active>.mui-slider-handle{background-color:#eee}.mui-table-view-cell>.mui-slider-handle{position:relative;background-color:#fff}.mui-table-view-cell>.mui-slider-handle .mui-navigate-right:after,.mui-table-view-cell>.mui-slider-handle.mui-navigate-right:after{right:0}.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:-webkit-transform 0ms ease;transition:transform 0ms ease}.mui-table-view-cell>.mui-slider-left,.mui-table-view-cell>.mui-slider-right{position:absolute;top:0;display:-webkit-box;display:-webkit-flex;display:flex;height:100%}.mui-table-view-cell>.mui-slider-left>.mui-btn,.mui-table-view-cell>.mui-slider-right>.mui-btn{position:relative;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;z-index:-1;top:0;width:600%;height:100%;content:'';background:inherit}.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-transition:-webkit-transform 0ms ease;transition:transform 0ms ease;-webkit-transform:translateX(100%);transform:translateX(100%)}.mui-table-view-cell>.mui-slider-left{left:0;-webkit-transition:-webkit-transform 0ms ease;transition:transform 0ms ease;-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{font-weight:500;position:relative;margin-top:-1px;margin-left:0;padding-top:6px;padding-bottom:6px;padding-left:15px;color:#999;background-color:#fafafa}.mui-table-view-divider:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view-divider:before{position:absolute;top:0;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view .mui-media,.mui-table-view .mui-media-body{overflow:hidden}.mui-table-view .mui-media-large .mui-media-object{line-height:80px;max-width:80px;height:80px}.mui-table-view .mui-media .mui-subtitle{color:#000}.mui-table-view .mui-media-object{line-height:42px;max-width:42px;height:42px}.mui-table-view .mui-media-object.mui-pull-left{margin-right:10px}.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{line-height:29px;max-width:29px;height:29px;margin:-4px 0}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object img{line-height:29px;max-width:29px;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:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.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:after,.mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view:before{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:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view-cell>.mui-badge,.mui-table-view-cell>.mui-btn,.mui-table-view-cell>.mui-switch,.mui-table-view-cell>a>.mui-badge,.mui-table-view-cell>a>.mui-btn,.mui-table-view-cell>a>.mui-switch{position:absolute;top:50%;right:15px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.mui-table-view-cell .mui-navigate-right>.mui-badge,.mui-table-view-cell .mui-navigate-right>.mui-btn,.mui-table-view-cell .mui-navigate-right>.mui-switch,.mui-table-view-cell .mui-push-left>.mui-badge,.mui-table-view-cell .mui-push-left>.mui-btn,.mui-table-view-cell .mui-push-left>.mui-switch,.mui-table-view-cell .mui-push-right>.mui-badge,.mui-table-view-cell .mui-push-right>.mui-btn,.mui-table-view-cell .mui-push-right>.mui-switch,.mui-table-view-cell>a .mui-navigate-right>.mui-badge,.mui-table-view-cell>a .mui-navigate-right>.mui-btn,.mui-table-view-cell>a .mui-navigate-right>.mui-switch,.mui-table-view-cell>a .mui-push-left>.mui-badge,.mui-table-view-cell>a .mui-push-left>.mui-btn,.mui-table-view-cell>a .mui-push-left>.mui-switch,.mui-table-view-cell>a .mui-push-right>.mui-badge,.mui-table-view-cell>a .mui-push-right>.mui-btn,.mui-table-view-cell>a .mui-push-right>.mui-switch{right:35px}.mui-content>.mui-table-view:first-child{margin-top:15px}.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell:last-child:after,.mui-table-view-cell.mui-collapse .mui-table-view:after,.mui-table-view-cell.mui-collapse .mui-table-view:before{height:0}.mui-table-view-cell.mui-collapse>.mui-navigate-right:after,.mui-table-view-cell.mui-collapse>.mui-push-right:after{content:'\e581'}.mui-table-view-cell.mui-collapse.mui-active{margin-top:-1px}.mui-table-view-cell.mui-collapse.mui-active .mui-collapse-content,.mui-table-view-cell.mui-collapse.mui-active .mui-table-view{display:block}.mui-table-view-cell.mui-collapse.mui-active>.mui-navigate-right:after,.mui-table-view-cell.mui-collapse.mui-active>.mui-push-right:after{content:'\e580'}.mui-table-view-cell.mui-collapse.mui-active .mui-table-view-cell>a:not(.mui-btn).mui-active{margin-left:-31px;padding-left:47px}.mui-table-view-cell.mui-collapse .mui-collapse-content{position:relative;display:none;overflow:hidden;margin:11px -15px -11px;padding:8px 15px;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease;background:#fff}.mui-table-view-cell.mui-collapse .mui-collapse-content>.mui-input-group,.mui-table-view-cell.mui-collapse .mui-collapse-content>.mui-slider{width:auto;height:auto;margin:-8px -15px}.mui-table-view-cell.mui-collapse .mui-collapse-content>.mui-slider{margin:-8px -16px}.mui-table-view-cell.mui-collapse .mui-table-view{display:none;margin-top:11px;margin-right:-15px;margin-bottom:-11px;margin-left:-15px;border:0}.mui-table-view-cell.mui-collapse .mui-table-view.mui-table-view-chevron{margin-right:-65px}.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell{padding-left:31px;background-position:31px 100%}.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell:after{position:absolute;right:0;bottom:0;left:30px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view.mui-grid-view{font-size:0;display:block;width:100%;padding:0 10px 10px 0;white-space:normal}.mui-table-view.mui-grid-view .mui-table-view-cell{font-size:17px;display:inline-block;margin-right:-4px;padding:10px 0 0 14px;text-align:center;vertical-align:middle;background:0 0}.mui-table-view.mui-grid-view .mui-table-view-cell .mui-media-object{width:100%;max-width:100%;height:auto}.mui-table-view.mui-grid-view .mui-table-view-cell>a:not(.mui-btn){margin:-10px 0 0 -14px}.mui-table-view.mui-grid-view .mui-table-view-cell>a:not(.mui-btn).mui-active,.mui-table-view.mui-grid-view .mui-table-view-cell>a:not(.mui-btn):active{background:0 0}.mui-table-view.mui-grid-view .mui-table-view-cell .mui-media-body{font-size:15px;line-height:15px;display:block;width:100%;height:15px;margin-top:8px;text-overflow:ellipsis;color:#333}.mui-table-view.mui-grid-view .mui-table-view-cell:after,.mui-table-view.mui-grid-view .mui-table-view-cell:before{height:0}.mui-grid-view.mui-grid-9{margin:0;padding:0;border-top:1px solid #eee;border-left:1px solid #eee;background-color:#f2f2f2}.mui-grid-view.mui-grid-9:after,.mui-grid-view.mui-grid-9:before{display:table;content:' '}.mui-grid-view.mui-grid-9:after{clear:both;position:static}.mui-grid-view.mui-grid-9 .mui-table-view-cell{margin:0;padding:11px 15px;vertical-align:top;border-right:1px solid #eee;border-bottom:1px solid #eee}.mui-grid-view.mui-grid-9 .mui-table-view-cell.mui-active{background-color:#eee}.mui-grid-view.mui-grid-9 .mui-table-view-cell>a:not(.mui-btn){margin:0;padding:10px 0}.mui-grid-view.mui-grid-9:before{height:0}.mui-grid-view.mui-grid-9 .mui-media{color:#797979}.mui-grid-view.mui-grid-9 .mui-media .mui-icon{font-size:2.4em;position:relative}.mui-slider-cell{position:relative}.mui-slider-cell>.mui-slider-handle{z-index:1}.mui-slider-cell>.mui-slider-left,.mui-slider-cell>.mui-slider-right{position:absolute;z-index:0;top:0;bottom:0}.mui-slider-cell>.mui-slider-left{left:0}.mui-slider-cell>.mui-slider-right{right:0}input,select,textarea{font-family:'Helvetica Neue',Helvetica,sans-serif;font-size:17px;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent}input:focus,select:focus,textarea:focus{-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent;-webkit-user-modify:read-write-plaintext-only}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{line-height:21px;width:100%;height:40px;margin-bottom:15px;padding:10px 15px;-webkit-user-select:text;border:1px solid rgba(0,0,0,.2);border-radius:3px;outline:0;background-color:#fff;-webkit-appearance:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}input[type=search]{font-size:16px;-webkit-box-sizing:border-box;box-sizing:border-box;height:34px;text-align:center;border:0;border-radius:6px;background-color:rgba(0,0,0,.1)}input[type=search]:focus{text-align:left}textarea{height:auto;resize:none}select{font-size:14px;height:auto;margin-top:1px;border:0!important;background-color:#fff}select:focus{-webkit-user-modify:read-only}.mui-input-group{position:relative;padding:0;border:0;background-color:#fff}.mui-input-group:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-input-group:before{position:absolute;top:0;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-input-group input,.mui-input-group textarea{margin-bottom:0;border:0;border-radius:0;background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.mui-input-group input[type=search]{background:0 0}.mui-input-group input:last-child{background-image:none}.mui-input-row{clear:left;overflow:hidden}.mui-input-row select{font-size:17px;height:37px;padding:0}.mui-input-row .mui-btn+input,.mui-input-row label+input,.mui-input-row:last-child{background:0 0}.mui-input-group .mui-input-row{height:40px}.mui-input-group .mui-input-row:after{position:absolute;right:0;bottom:0;left:15px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-input-row label{font-family:'Helvetica Neue',Helvetica,sans-serif;line-height:1.1;float:left;width:35%;padding:11px 15px}.mui-input-row label~input,.mui-input-row label~select,.mui-input-row label~textarea{float:right;width:65%;margin-bottom:0;padding-left:0;border:0}.mui-input-row .mui-btn{line-height:1.1;float:right;width:15%;padding:10px 15px}.mui-input-row .mui-btn~input,.mui-input-row .mui-btn~select,.mui-input-row .mui-btn~textarea{float:left;width:85%;margin-bottom:0;padding-left:0;border:0}.mui-button-row{position:relative;padding-top:5px;text-align:center}.mui-input-group .mui-button-row{height:45px}.mui-input-row{position:relative}.mui-input-row.mui-input-range{overflow:visible;padding-right:20px}.mui-input-row .mui-inline{padding:8px 0}.mui-input-row .mui-input-clear~.mui-icon-clear,.mui-input-row .mui-input-password~.mui-icon-eye,.mui-input-row .mui-input-speech~.mui-icon-speech{font-size:20px;position:absolute;z-index:1;top:10px;right:0;width:38px;height:38px;text-align:center;color:#999}.mui-input-row .mui-input-clear~.mui-icon-clear.mui-active,.mui-input-row .mui-input-password~.mui-icon-eye.mui-active,.mui-input-row .mui-input-speech~.mui-icon-speech.mui-active{color:#007aff}.mui-input-row .mui-input-speech~.mui-icon-speech{font-size:24px;top:8px}.mui-input-row .mui-input-clear~.mui-icon-clear~.mui-icon-speech{display:none}.mui-input-row .mui-input-clear~.mui-icon-clear.mui-hidden~.mui-icon-speech{display:inline-block}.mui-input-row .mui-icon-speech~.mui-placeholder{right:38px}.mui-input-row.mui-search .mui-icon-clear{top:7px}.mui-input-row.mui-search .mui-icon-speech{top:5px}.mui-checkbox,.mui-radio{position:relative}.mui-checkbox label,.mui-radio label{display:inline-block;float:none;width:100%;padding-right:58px}.mui-checkbox.mui-left input[type=checkbox],.mui-radio.mui-left input[type=radio]{left:20px}.mui-checkbox.mui-left label,.mui-radio.mui-left label{padding-right:15px;padding-left:58px}.mui-checkbox input[type=checkbox],.mui-radio input[type=radio]{position:absolute;top:4px;right:20px;display:inline-block;width:28px;height:26px;border:0;outline:0!important;background-color:transparent;-webkit-appearance:none}.mui-checkbox input[type=checkbox][disabled]:before,.mui-radio input[type=radio][disabled]:before{opacity:.3}.mui-checkbox input[type=checkbox]:before,.mui-radio input[type=radio]:before{font-family:Muiicons;font-size:28px;font-weight:400;line-height:1;text-decoration:none;color:#aaa;border-radius:0;background:0 0;-webkit-font-smoothing:antialiased}.mui-checkbox input[type=checkbox]:checked:before,.mui-radio input[type=radio]:checked:before{color:#007aff}.mui-checkbox label.mui-disabled,.mui-checkbox.mui-disabled label,.mui-radio label.mui-disabled,.mui-radio.mui-disabled label{opacity:.4}.mui-radio input[type=radio]:before{content:'\e411'}.mui-radio input[type=radio]:checked:before{content:'\e441'}.mui-checkbox input[type=checkbox]:before{content:'\e411'}.mui-checkbox input[type=checkbox]:checked:before{content:'\e442'}.mui-select{position:relative}.mui-select:before{font-family:Muiicons;position:absolute;top:8px;right:21px;content:'\e581';color:rgba(170,170,170,.6)}.mui-input-row .mui-switch{float:right;margin-top:5px;margin-right:20px}.mui-input-range input[type=range]{position:relative;width:100%;height:2px;margin:17px 0;padding:0;cursor:pointer;border:0;border-radius:3px;outline:0;background-color:#999;-webkit-appearance:none!important}.mui-input-range input[type=range]::-webkit-slider-thumb{width:28px;height:28px;border-color:#0062cc;border-radius:50%;background-color:#007aff;background-clip:padding-box;-webkit-appearance:none!important}.mui-input-range label~input[type=range]{width:65%}.mui-input-range .mui-tooltip{font-size:36px;line-height:64px;position:absolute;z-index:1;top:-70px;width:64px;height:64px;text-align:center;opacity:.8;color:#333;border:1px solid #ddd;border-radius:6px;background-color:#fff;text-shadow:0 1px 0 #f3f3f3}.mui-search{position:relative}.mui-search input[type=search]{padding-left:30px}.mui-search .mui-placeholder{font-size:16px;line-height:34px;position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;display:inline-block;height:34px;text-align:center;color:#999;border:0;border-radius:6px;background:0 0}.mui-search .mui-placeholder .mui-icon{font-size:20px;color:#333}.mui-search:before{font-family:Muiicons;font-size:20px;font-weight:400;position:absolute;top:50%;right:50%;display:none;margin-top:-18px;margin-right:31px;content:'\e466'}.mui-search.mui-active:before{font-size:20px;right:auto;left:5px;display:block;margin-right:0}.mui-search.mui-active input[type=search]{text-align:left}.mui-search.mui-active .mui-placeholder{display:none}.mui-segmented-control{font-size:15px;font-weight:400;position:relative;display:table;overflow:hidden;width:100%;table-layout:fixed;border:1px solid #007aff;border-radius:3px;background-color:transparent;-webkit-touch-callout:none}.mui-segmented-control.mui-segmented-control-vertical{border-collapse:collapse;border-width:0;border-radius:0}.mui-segmented-control.mui-segmented-control-vertical .mui-control-item{display:block;border-bottom:1px solid #c8c7cc;border-left-width:0}.mui-segmented-control.mui-scroll-wrapper{height:38px}.mui-segmented-control.mui-scroll-wrapper .mui-scroll{width:auto;height:40px;white-space:nowrap}.mui-segmented-control.mui-scroll-wrapper .mui-control-item{display:inline-block;width:auto;padding:0 20px;border:0}.mui-segmented-control .mui-control-item{line-height:38px;display:table-cell;overflow:hidden;width:1%;-webkit-transition:background-color .1s linear;transition:background-color .1s linear;text-align:center;white-space:nowrap;text-overflow:ellipsis;color:#007aff;border-color:#007aff;border-left:1px solid #007aff}.mui-segmented-control .mui-control-item:first-child{border-left-width:0}.mui-segmented-control .mui-control-item.mui-active{color:#fff;background-color:#007aff}.mui-segmented-control.mui-segmented-control-inverted{width:100%;border:0;border-radius:0}.mui-segmented-control.mui-segmented-control-inverted.mui-segmented-control-vertical .mui-control-item,.mui-segmented-control.mui-segmented-control-inverted.mui-segmented-control-vertical .mui-control-item.mui-active{border-bottom:1px solid #c8c7cc}.mui-segmented-control.mui-segmented-control-inverted .mui-control-item{color:inherit;border:0}.mui-segmented-control.mui-segmented-control-inverted .mui-control-item.mui-active{color:#007aff;border-bottom:2px solid #007aff;background:0 0}.mui-segmented-control.mui-segmented-control-inverted~.mui-slider-progress-bar{background-color:#007aff}.mui-segmented-control-positive{border:1px solid #4cd964}.mui-segmented-control-positive .mui-control-item{color:#4cd964;border-color:inherit}.mui-segmented-control-positive .mui-control-item.mui-active{color:#fff;background-color:#4cd964}.mui-segmented-control-positive.mui-segmented-control-inverted .mui-control-item.mui-active{color:#4cd964;border-bottom:2px solid #4cd964;background:0 0}.mui-segmented-control-positive.mui-segmented-control-inverted~.mui-slider-progress-bar{background-color:#4cd964}.mui-segmented-control-negative{border:1px solid #dd524d}.mui-segmented-control-negative .mui-control-item{color:#dd524d;border-color:inherit}.mui-segmented-control-negative .mui-control-item.mui-active{color:#fff;background-color:#dd524d}.mui-segmented-control-negative.mui-segmented-control-inverted .mui-control-item.mui-active{color:#dd524d;border-bottom:2px solid #dd524d;background:0 0}.mui-segmented-control-negative.mui-segmented-control-inverted~.mui-slider-progress-bar{background-color:#dd524d}.mui-control-content{position:relative;display:none}.mui-control-content.mui-active{display:block}.mui-popover{position:absolute;z-index:999;display:none;width:280px;-webkit-transition:opacity .3s;transition:opacity .3s;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transform:none;transform:none;opacity:0;border-radius:7px;background-color:#f7f7f7;-webkit-box-shadow:0 0 15px rgba(0,0,0,.1);box-shadow:0 0 15px rgba(0,0,0,.1)}.mui-popover .mui-popover-arrow{position:absolute;z-index:1000;top:-25px;left:0;overflow:hidden;width:26px;height:26px}.mui-popover .mui-popover-arrow:after{position:absolute;top:19px;left:0;width:26px;height:26px;content:' ';-webkit-transform:rotate(45deg);transform:rotate(45deg);border-radius:3px;background:#f7f7f7}.mui-popover .mui-popover-arrow.mui-bottom{top:100%;left:-26px;margin-top:-1px}.mui-popover .mui-popover-arrow.mui-bottom:after{top:-19px;left:0}.mui-popover.mui-popover-action{bottom:0;width:100%;-webkit-transition:-webkit-transform .3s,opacity .3s;transition:transform .3s,opacity .3s;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);border-radius:0;background:0 0;-webkit-box-shadow:none;box-shadow:none}.mui-popover.mui-popover-action .mui-popover-arrow{display:none}.mui-popover.mui-popover-action.mui-popover-bottom{position:fixed}.mui-popover.mui-popover-action.mui-active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.mui-popover.mui-popover-action .mui-table-view{margin:8px;text-align:center;color:#007aff;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:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-popover.mui-popover-action .mui-table-view small{font-weight:400;line-height:1.3;display:block}.mui-popover.mui-active{display:block;opacity:1}.mui-popover .mui-bar~.mui-table-view{padding-top:44px}.mui-backdrop{position:fixed;z-index:998;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,.3)}.mui-bar-backdrop.mui-backdrop{bottom:50px;background:0 0}.mui-backdrop-action.mui-backdrop{background-color:rgba(0,0,0,.3)}.mui-backdrop-action.mui-backdrop,.mui-bar-backdrop.mui-backdrop{opacity:0}.mui-backdrop-action.mui-backdrop.mui-active,.mui-bar-backdrop.mui-backdrop.mui-active{-webkit-transition:all .4s ease;transition:all .4s ease;opacity:1}.mui-popover .mui-btn-block{margin-bottom:5px}.mui-popover .mui-btn-block:last-child{margin-bottom:0}.mui-popover .mui-bar{-webkit-box-shadow:none;box-shadow:none}.mui-popover .mui-bar-nav{border-bottom:1px solid rgba(0,0,0,.15);border-top-left-radius:12px;border-top-right-radius:12px;-webkit-box-shadow:none;box-shadow:none}.mui-popover .mui-scroll-wrapper{margin:7px 0;border-radius:7px;background-clip:padding-box}.mui-popover .mui-scroll .mui-table-view{max-height:none}.mui-popover .mui-table-view{overflow:auto;max-height:300px;margin-bottom:0;border-radius:7px;background-color:#f7f7f7;background-image:none;-webkit-overflow-scrolling:touch}.mui-popover .mui-table-view:after,.mui-popover .mui-table-view:before{height:0}.mui-popover .mui-table-view .mui-table-view-cell:first-child,.mui-popover .mui-table-view .mui-table-view-cell:first-child>a:not(.mui-btn){border-top-left-radius:12px;border-top-right-radius:12px}.mui-popover .mui-table-view .mui-table-view-cell:last-child,.mui-popover .mui-table-view .mui-table-view-cell:last-child>a:not(.mui-btn){border-bottom-right-radius:12px;border-bottom-left-radius:12px}.mui-popover.mui-bar-popover .mui-table-view{width:106px}.mui-popover.mui-bar-popover .mui-table-view .mui-table-view-cell{padding:11px 15px;background-position:0 100%}.mui-popover.mui-bar-popover .mui-table-view .mui-table-view-cell>a:not(.mui-btn){margin:-11px -15px -11px -15px}.mui-popup-backdrop{position:fixed;z-index:998;top:0;right:0;bottom:0;left:0;-webkit-transition-duration:400ms;transition-duration:400ms;opacity:0;background:rgba(0,0,0,.4)}.mui-popup-backdrop.mui-active{opacity:1}.mui-popup{position:fixed;z-index:10000;top:50%;left:50%;display:none;overflow:hidden;width:270px;-webkit-transition-property:-webkit-transform,opacity;transition-property:transform,opacity;-webkit-transform:translate3d(-50%,-50%,0) scale(1.185);transform:translate3d(-50%,-50%,0) scale(1.185);text-align:center;opacity:0;color:#000;border-radius:13px}.mui-popup.mui-popup-in{display:block;-webkit-transition-duration:400ms;transition-duration:400ms;-webkit-transform:translate3d(-50%,-50%,0) scale(1);transform:translate3d(-50%,-50%,0) scale(1);opacity:1}.mui-popup.mui-popup-out{-webkit-transition-duration:400ms;transition-duration:400ms;-webkit-transform:translate3d(-50%,-50%,0) scale(1);transform:translate3d(-50%,-50%,0) scale(1);opacity:0}.mui-popup-inner{position:relative;padding:15px;border-radius:13px 13px 0 0;background:rgba(255,255,255,.95)}.mui-popup-inner:after{position:absolute;z-index:15;top:auto;right:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;background-color:rgba(0,0,0,.2)}.mui-popup-title{font-size:18px;font-weight:500;text-align:center}.mui-popup-title+.mui-popup-text{font-family:inherit;font-size:14px;margin:5px 0 0}.mui-popup-buttons{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;height:44px;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.mui-popup-button{font-size:17px;line-height:44px;position:relative;display:block;overflow:hidden;box-sizing:border-box;width:100%;height:44px;padding:0 5px;cursor:pointer;text-align:center;white-space:nowrap;text-overflow:ellipsis;color:#007aff;background:rgba(255,255,255,.95);-webkit-box-flex:1}.mui-popup-button:after{position:absolute;z-index:15;top:0;right:0;bottom:auto;left:auto;display:block;width:1px;height:100%;content:'';-webkit-transform:scaleX(.5);transform:scaleX(.5);-webkit-transform-origin:100% 50%;transform-origin:100% 50%;background-color:rgba(0,0,0,.2)}.mui-popup-button:first-child{border-radius:0 0 0 13px}.mui-popup-button:first-child:last-child{border-radius:0 0 13px 13px}.mui-popup-button:last-child{border-radius:0 0 13px}.mui-popup-button:last-child:after{display:none}.mui-popup-button.mui-popup-button-bold{font-weight:600}.mui-popup-input input{font-size:14px;width:100%;height:26px;margin:15px 0 0;padding:0 5px;border:1px solid rgba(0,0,0,.3);border-radius:0;background:#fff}.mui-plus.mui-android .mui-popup-backdrop{-webkit-transition-duration:1ms;transition-duration:1ms}.mui-plus.mui-android .mui-popup{-webkit-transition-duration:1ms;transition-duration:1ms;-webkit-transform:translate3d(-50%,-50%,0) scale(1);transform:translate3d(-50%,-50%,0) scale(1)}.mui-progressbar{position:relative;display:block;overflow:hidden;width:100%;height:2px;-webkit-transform-origin:center top;transform-origin:center top;vertical-align:middle;border-radius:2px;background:#b6b6b6;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.mui-progressbar span{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transition:150ms;transition:150ms;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);background:#007aff}.mui-progressbar.mui-progressbar-infinite:before{position:absolute;top:0;left:0;width:100%;height:100%;content:'';-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transform-origin:left center;transform-origin:left center;-webkit-animation:mui-progressbar-infinite 1s linear infinite;animation:mui-progressbar-infinite 1s linear infinite;background:#007aff}body>.mui-progressbar{position:absolute;z-index:10000;top:44px;left:0;border-radius:0}.mui-progressbar-in{-webkit-animation:mui-progressbar-in 300ms forwards;animation:mui-progressbar-in 300ms forwards}.mui-progressbar-out{-webkit-animation:mui-progressbar-out 300ms forwards;animation:mui-progressbar-out 300ms forwards}@-webkit-keyframes mui-progressbar-in{from{-webkit-transform:scaleY(0);opacity:0}to{-webkit-transform:scaleY(1);opacity:1}}@keyframes mui-progressbar-in{from{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}@-webkit-keyframes mui-progressbar-out{from{-webkit-transform:scaleY(1);opacity:1}to{-webkit-transform:scaleY(0);opacity:0}}@keyframes mui-progressbar-out{from{transform:scaleY(1);opacity:1}to{transform:scaleY(0);opacity:0}}@-webkit-keyframes mui-progressbar-infinite{0%{-webkit-transform:translate3d(-50%,0,0) scaleX(.5)}100%{-webkit-transform:translate3d(100%,0,0) scaleX(.5)}}@keyframes mui-progressbar-infinite{0%{transform:translate3d(-50%,0,0) scaleX(.5)}100%{transform:translate3d(100%,0,0) scaleX(.5)}}.mui-pagination{display:inline-block;margin:0 auto;padding-left:0;border-radius:6px}.mui-pagination>li{display:inline}.mui-pagination>li>a,.mui-pagination>li>span{line-height:1.428571429;position:relative;float:left;margin-left:-1px;padding:6px 12px;text-decoration:none;color:#007aff;border:1px solid #ddd;background-color:#fff}.mui-pagination>li:first-child>a,.mui-pagination>li:first-child>span{margin-left:0;border-top-left-radius:6px;border-bottom-left-radius:6px;background-clip:padding-box}.mui-pagination>li:last-child>a,.mui-pagination>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px;background-clip:padding-box}.mui-pagination>li.mui-active>a,.mui-pagination>li.mui-active>a:active,.mui-pagination>li.mui-active>span,.mui-pagination>li.mui-active>span:active,.mui-pagination>li:active>a,.mui-pagination>li:active>a:active,.mui-pagination>li:active>span,.mui-pagination>li:active>span:active{z-index:2;cursor:default;color:#fff;border-color:#007aff;background-color:#007aff}.mui-pagination>li.mui-disabled>a,.mui-pagination>li.mui-disabled>a:active,.mui-pagination>li.mui-disabled>span,.mui-pagination>li.mui-disabled>span:active{opacity:.6;color:#777;border:1px solid #ddd;background-color:#fff}.mui-pagination-lg>li>a,.mui-pagination-lg>li>span{font-size:18px;padding:10px 16px}.mui-pagination-sm>li>a,.mui-pagination-sm>li>span{font-size:12px;padding:5px 10px}.mui-pager{padding-left:0;list-style:none;text-align:center}.mui-pager:after,.mui-pager:before{display:table;content:' '}.mui-pager:after{clear:both}.mui-pager li{display:inline}.mui-pager li>a,.mui-pager li>span{display:inline-block;padding:5px 14px;border:1px solid #ddd;border-radius:6px;background-color:#fff;background-clip:padding-box}.mui-pager li.mui-active>a,.mui-pager li.mui-active>span,.mui-pager li:active>a,.mui-pager li:active>span{cursor:default;text-decoration:none;color:#fff;border-color:#007aff;background-color:#007aff}.mui-pager .mui-next>a,.mui-pager .mui-next>span{float:right}.mui-pager .mui-previous>a,.mui-pager .mui-previous>span{float:left}.mui-pager .mui-disabled>a,.mui-pager .mui-disabled>a:active,.mui-pager .mui-disabled>span,.mui-pager .mui-disabled>span:active{opacity:.6;color:#777;border:1px solid #ddd;background-color:#fff}.mui-modal{position:fixed;z-index:999;top:0;overflow:hidden;width:100%;min-height:100%;-webkit-transition:-webkit-transform .25s,opacity 1ms .25s;transition:transform .25s,opacity 1ms .25s;-webkit-transition-timing-function:cubic-bezier(.1,.5,.1,1);transition-timing-function:cubic-bezier(.1,.5,.1,1);-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);opacity:0;background-color:#fff}.mui-modal.mui-active{height:100%;-webkit-transition:-webkit-transform .25s;transition:transform .25s;-webkit-transition-timing-function:cubic-bezier(.1,.5,.1,1);transition-timing-function:cubic-bezier(.1,.5,.1,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.mui-android .mui-modal .mui-bar{position:static}.mui-android .mui-modal .mui-bar-nav~.mui-content{padding-top:0}.mui-slider{position:relative;z-index:1;overflow:hidden;width:100%}.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{border-top:1px solid #c8c7cc;border-bottom:1px solid #c8c7cc}.mui-slider .mui-slider-group{font-size:0;position:relative;-webkit-transition:all 0s linear;transition:all 0s linear;white-space:nowrap}.mui-slider .mui-slider-group .mui-slider-item{font-size:14px;position:relative;display:inline-block;width:100%;height:100%;vertical-align:top;white-space:normal}.mui-slider .mui-slider-group .mui-slider-item>a:not(.mui-control-item){line-height:0;position:relative;display:block}.mui-slider .mui-slider-group .mui-slider-item img{width:100%}.mui-slider .mui-slider-group .mui-slider-item .mui-table-view:after,.mui-slider .mui-slider-group .mui-slider-item .mui-table-view:before{height:0}.mui-slider .mui-slider-group.mui-slider-loop{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}.mui-slider-title{line-height:30px;position:absolute;bottom:0;left:0;width:100%;height:30px;margin:0;text-align:left;text-indent:12px;opacity:.8;background-color:#000}.mui-slider-indicator{position:absolute;bottom:8px;width:100%;text-align:center;background:0 0}.mui-slider-indicator.mui-segmented-control{position:relative;bottom:auto}.mui-slider-indicator .mui-indicator{display:inline-block;width:6px;height:6px;margin:1px 6px;cursor:pointer;border-radius:50%;background:#aaa;-webkit-box-shadow:0 0 1px 1px rgba(130,130,130,.7);box-shadow:0 0 1px 1px rgba(130,130,130,.7)}.mui-slider-indicator .mui-active.mui-indicator{background:#fff}.mui-slider-indicator .mui-icon{font-size:20px;line-height:30px;width:40px;height:30px;margin:3px;text-align:center;border:1px solid #ddd}.mui-slider-indicator .mui-number{line-height:32px;display:inline-block;width:58px}.mui-slider-indicator .mui-number span{color:#ff5053}.mui-slider-progress-bar{z-index:1;height:2px;-webkit-transform:translateZ(0);transform:translateZ(0)}.mui-switch{position:relative;display:block;width:74px;height:30px;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:background-color,border;transition-property:background-color,border;border:2px solid #ddd;border-radius:20px;background-color:#fff;background-clip:padding-box}.mui-switch.mui-disabled{opacity:.3}.mui-switch .mui-switch-handle{position:absolute;z-index:1;top:-1px;left:-1px;width:28px;height:28px;-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out;-webkit-transition-property:-webkit-transform,width,left;transition-property:transform,width,left;border-radius:16px;background-color:#fff;background-clip:padding-box;-webkit-box-shadow:0 2px 5px rgba(0,0,0,.4);box-shadow:0 2px 5px rgba(0,0,0,.4)}.mui-switch:before{font-size:13px;position:absolute;top:3px;right:11px;content:'Off';text-transform:uppercase;color:#999}.mui-switch.mui-dragging{border-color:#f7f7f7;background-color:#f7f7f7}.mui-switch.mui-dragging .mui-switch-handle{width:38px}.mui-switch.mui-dragging.mui-active .mui-switch-handle{left:-11px;width:38px}.mui-switch.mui-active{border-color:#4cd964;background-color:#4cd964}.mui-switch.mui-active .mui-switch-handle{-webkit-transform:translate(43px,0);transform:translate(43px,0)}.mui-switch.mui-active:before{right:auto;left:15px;content:'On';color:#fff}.mui-switch input[type=checkbox]{display:none}.mui-switch-mini{width:47px}.mui-switch-mini:before{display:none}.mui-switch-mini.mui-active .mui-switch-handle{-webkit-transform:translate(16px,0);transform:translate(16px,0)}.mui-switch-blue.mui-active{border:2px solid #007aff;background-color:#007aff}.mui-content.mui-fade{left:0;opacity:0}.mui-content.mui-fade.mui-in{opacity:1}.mui-content.mui-sliding{z-index:2;-webkit-transition:-webkit-transform .4s;transition:transform .4s;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.mui-content.mui-sliding.mui-left{z-index:1;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.mui-content.mui-sliding.mui-right{z-index:3;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.mui-navigate-right:after,.mui-push-left:after,.mui-push-right:after{font-family:Muiicons;font-size:inherit;line-height:1;position:absolute;top:50%;display:inline-block;-webkit-transform:translateY(-50%);transform:translateY(-50%);text-decoration:none;color:#bbb;-webkit-font-smoothing:antialiased}.mui-push-left:after{left:15px;content:'\e582'}.mui-navigate-right:after,.mui-push-right:after{right:15px;content:'\e583'}.mui-pull-bottom-pocket,.mui-pull-top-pocket{position:absolute;left:0;display:block;visibility:hidden;overflow:hidden;width:100%;height:50px}.mui-plus-pullrefresh .mui-pull-bottom-pocket,.mui-plus-pullrefresh .mui-pull-top-pocket{display:none;visibility:visible}.mui-pull-top-pocket{top:0}.mui-bar-nav~.mui-content .mui-pull-top-pocket{top:44px}.mui-bar-nav~.mui-bar-header-secondary~.mui-content .mui-pull-top-pocket{top:88px}.mui-pull-bottom-pocket{position:relative;bottom:0;height:40px}.mui-pull-bottom-pocket .mui-pull-loading{visibility:hidden}.mui-pull-bottom-pocket .mui-pull-loading.mui-in{display:inline-block}.mui-pull{font-weight:700;position:absolute;right:0;bottom:10px;left:0;text-align:center;color:#777}.mui-pull-loading{margin-right:10px;-webkit-transition:-webkit-transform .4s;transition:transform .4s;-webkit-transition-duration:400ms;transition-duration:400ms;vertical-align:middle}.mui-pull-loading.mui-reverse{-webkit-transform:rotate(180deg) translateZ(0);transform:rotate(180deg) translateZ(0)}.mui-pull-caption{font-size:15px;line-height:24px;position:relative;display:inline-block;overflow:visible;margin-top:0;vertical-align:middle}.mui-pull-caption span{display:none}.mui-pull-caption span.mui-in{display:inline}.mui-toast-container{line-height:17px;position:fixed;z-index:9999;bottom:50px;left:50%;-webkit-transition:opacity .3s;transition:opacity .3s;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);opacity:0}.mui-toast-container.mui-active{opacity:.9}.mui-toast-message{font-size:14px;padding:10px 25px;text-align:center;color:#fff;border-radius:6px;background-color:#323232}.mui-numbox{position:relative;display:inline-block;overflow:hidden;width:120px;height:35px;padding:0 40px;vertical-align:top;vertical-align:middle;border:solid 1px #bbb;border-radius:3px;background-color:#efeff4}.mui-numbox [class*=btn-numbox],.mui-numbox [class*=numbox-btn]{font-size:18px;font-weight:400;line-height:100%;position:absolute;top:0;overflow:hidden;width:40px;height:100%;padding:0;color:#555;border:none;border-radius:0;background-color:#f9f9f9}.mui-numbox [class*=btn-numbox]:active,.mui-numbox [class*=numbox-btn]:active{background-color:#ccc}.mui-numbox [class*=btn-numbox][disabled],.mui-numbox [class*=numbox-btn][disabled]{color:silver}.mui-numbox .mui-btn-numbox-plus,.mui-numbox .mui-numbox-btn-plus{right:0;border-top-right-radius:3px;border-bottom-right-radius:3px}.mui-numbox .mui-btn-numbox-minus,.mui-numbox .mui-numbox-btn-minus{left:0;border-top-left-radius:3px;border-bottom-left-radius:3px}.mui-numbox .mui-input-numbox,.mui-numbox .mui-numbox-input{display:inline-block;overflow:hidden;width:100%!important;height:100%;margin:0;padding:0 3px!important;text-align:center;text-overflow:ellipsis;word-break:normal;border:none!important;border-right:solid 1px #ccc!important;border-left:solid 1px #ccc!important;border-radius:0!important}.mui-input-row .mui-numbox{float:right;margin:2px 8px}@font-face{font-family:Muiicons;font-weight:400;font-style:normal;src:url(../fonts/mui.ttf) format('truetype')}.mui-icon{font-family:Muiicons;font-size:24px;font-weight:400;font-style:normal;line-height:1;display:inline-block;text-decoration:none;-webkit-font-smoothing:antialiased}.mui-icon.mui-active{color:#007aff}.mui-icon.mui-right:before{float:right;padding-left:.2em}.mui-icon-contact:before{content:'\e100'}.mui-icon-person:before{content:'\e101'}.mui-icon-personadd:before{content:'\e102'}.mui-icon-contact-filled:before{content:'\e130'}.mui-icon-person-filled:before{content:'\e131'}.mui-icon-personadd-filled:before{content:'\e132'}.mui-icon-phone:before{content:'\e200'}.mui-icon-email:before{content:'\e201'}.mui-icon-chatbubble:before{content:'\e202'}.mui-icon-chatboxes:before{content:'\e203'}.mui-icon-phone-filled:before{content:'\e230'}.mui-icon-email-filled:before{content:'\e231'}.mui-icon-chatbubble-filled:before{content:'\e232'}.mui-icon-chatboxes-filled:before{content:'\e233'}.mui-icon-weibo:before{content:'\e260'}.mui-icon-weixin:before{content:'\e261'}.mui-icon-pengyouquan:before{content:'\e262'}.mui-icon-chat:before{content:'\e263'}.mui-icon-qq:before{content:'\e264'}.mui-icon-videocam:before{content:'\e300'}.mui-icon-camera:before{content:'\e301'}.mui-icon-mic:before{content:'\e302'}.mui-icon-location:before{content:'\e303'}.mui-icon-mic-filled:before,.mui-icon-speech:before{content:'\e332'}.mui-icon-location-filled:before{content:'\e333'}.mui-icon-micoff:before{content:'\e360'}.mui-icon-image:before{content:'\e363'}.mui-icon-map:before{content:'\e364'}.mui-icon-compose:before{content:'\e400'}.mui-icon-trash:before{content:'\e401'}.mui-icon-upload:before{content:'\e402'}.mui-icon-download:before{content:'\e403'}.mui-icon-close:before{content:'\e404'}.mui-icon-redo:before{content:'\e405'}.mui-icon-undo:before{content:'\e406'}.mui-icon-refresh:before{content:'\e407'}.mui-icon-star:before{content:'\e408'}.mui-icon-plus:before{content:'\e409'}.mui-icon-minus:before{content:'\e410'}.mui-icon-checkbox:before,.mui-icon-circle:before{content:'\e411'}.mui-icon-clear:before,.mui-icon-close-filled:before{content:'\e434'}.mui-icon-refresh-filled:before{content:'\e437'}.mui-icon-star-filled:before{content:'\e438'}.mui-icon-plus-filled:before{content:'\e439'}.mui-icon-minus-filled:before{content:'\e440'}.mui-icon-circle-filled:before{content:'\e441'}.mui-icon-checkbox-filled:before{content:'\e442'}.mui-icon-closeempty:before{content:'\e460'}.mui-icon-refreshempty:before{content:'\e461'}.mui-icon-reload:before{content:'\e462'}.mui-icon-starhalf:before{content:'\e463'}.mui-icon-spinner:before{content:'\e464'}.mui-icon-spinner-cycle:before{content:'\e465'}.mui-icon-search:before{content:'\e466'}.mui-icon-plusempty:before{content:'\e468'}.mui-icon-forward:before{content:'\e470'}.mui-icon-back:before,.mui-icon-left-nav:before{content:'\e471'}.mui-icon-checkmarkempty:before{content:'\e472'}.mui-icon-home:before{content:'\e500'}.mui-icon-navigate:before{content:'\e501'}.mui-icon-gear:before{content:'\e502'}.mui-icon-paperplane:before{content:'\e503'}.mui-icon-info:before{content:'\e504'}.mui-icon-help:before{content:'\e505'}.mui-icon-locked:before{content:'\e506'}.mui-icon-more:before{content:'\e507'}.mui-icon-flag:before{content:'\e508'}.mui-icon-home-filled:before{content:'\e530'}.mui-icon-gear-filled:before{content:'\e532'}.mui-icon-info-filled:before{content:'\e534'}.mui-icon-help-filled:before{content:'\e535'}.mui-icon-more-filled:before{content:'\e537'}.mui-icon-settings:before{content:'\e560'}.mui-icon-list:before{content:'\e562'}.mui-icon-bars:before{content:'\e563'}.mui-icon-loop:before{content:'\e565'}.mui-icon-paperclip:before{content:'\e567'}.mui-icon-eye:before{content:'\e568'}.mui-icon-arrowup:before{content:'\e580'}.mui-icon-arrowdown:before{content:'\e581'}.mui-icon-arrowleft:before{content:'\e582'}.mui-icon-arrowright:before{content:'\e583'}.mui-icon-arrowthinup:before{content:'\e584'}.mui-icon-arrowthindown:before{content:'\e585'}.mui-icon-arrowthinleft:before{content:'\e586'}.mui-icon-arrowthinright:before{content:'\e587'}.mui-icon-pulldown:before{content:'\e588'}.mui-fullscreen{position:absolute;top:0;right:0;bottom:0;left:0}.mui-fullscreen.mui-slider .mui-slider-group{height:100%}.mui-fullscreen .mui-segmented-control~.mui-slider-group{position:absolute;top:40px;bottom:0;width:100%;height:auto}.mui-fullscreen.mui-slider .mui-slider-item>a{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.mui-fullscreen .mui-off-canvas-wrap .mui-slider-item>a{top:auto;-webkit-transform:none;transform:none}.mui-bar-nav~.mui-content .mui-slider.mui-fullscreen{top:44px}.mui-bar-tab~.mui-content .mui-slider.mui-fullscreen .mui-segmented-control~.mui-slider-group{bottom:50px}.mui-android.mui-android-4-0 input:focus,.mui-android.mui-android-4-0 textarea:focus{-webkit-user-modify:inherit}.mui-android.mui-android-4-2 input,.mui-android.mui-android-4-2 textarea,.mui-android.mui-android-4-3 input,.mui-android.mui-android-4-3 textarea{-webkit-user-select:text}.mui-ios .mui-table-view-cell{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.mui-plus-visible,.mui-wechat-visible{display:none!important}.mui-plus-hidden,.mui-wechat-hidden{display:block!important}.mui-tab-item.mui-plus-hidden,.mui-tab-item.mui-wechat-hidden{display:table-cell!important}.mui-plus .mui-plus-visible,.mui-wechat .mui-wechat-visible{display:block!important}.mui-plus .mui-tab-item.mui-plus-visible,.mui-wechat .mui-tab-item.mui-wechat-visible{display:table-cell!important}.mui-plus .mui-plus-hidden,.mui-wechat .mui-wechat-hidden{display:none!important}.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav{height:64px;padding-top:20px}.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav~.mui-content{padding-top:64px}.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-header-secondary,.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav~.mui-content .mui-pull-top-pocket{top:64px}.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-header-secondary~.mui-content{padding-top:94px}.mui-iframe-wrapper{position:absolute;right:0;left:0;-webkit-overflow-scrolling:touch}.mui-iframe-wrapper iframe{width:100%;height:100%;border:0}
\ No newline at end of file
diff --git a/fzzy-igdss-web/src/main/resources/static/ajax/libs/mui/fonts/mui-icons-extra.ttf b/fzzy-igdss-web/src/main/resources/static/ajax/libs/mui/fonts/mui-icons-extra.ttf
new file mode 100644
index 0000000..8b5c92d
--- /dev/null
+++ b/fzzy-igdss-web/src/main/resources/static/ajax/libs/mui/fonts/mui-icons-extra.ttf
Binary files differ
diff --git a/fzzy-igdss-web/src/main/resources/static/ajax/libs/mui/fonts/mui.ttf b/fzzy-igdss-web/src/main/resources/static/ajax/libs/mui/fonts/mui.ttf
new file mode 100644
index 0000000..45d3b04
--- /dev/null
+++ b/fzzy-igdss-web/src/main/resources/static/ajax/libs/mui/fonts/mui.ttf
Binary files differ
diff --git a/fzzy-igdss-web/src/main/resources/static/ajax/libs/mui/js/mui.js b/fzzy-igdss-web/src/main/resources/static/ajax/libs/mui/js/mui.js
new file mode 100644
index 0000000..d4e4c17
--- /dev/null
+++ b/fzzy-igdss-web/src/main/resources/static/ajax/libs/mui/js/mui.js
@@ -0,0 +1,8390 @@
+/*!
+ * =====================================================
+ * Mui v3.7.3 (http://dev.dcloud.net.cn/mui)
+ * =====================================================
+ */
+/**
+ * MUI鏍稿績JS
+ * @type _L4.$|Function
+ */
+var mui = (function(document, undefined) {
+ var readyRE = /complete|loaded|interactive/;
+ var idSelectorRE = /^#([\w-]+)$/;
+ var classSelectorRE = /^\.([\w-]+)$/;
+ var tagSelectorRE = /^[\w-]+$/;
+ var translateRE = /translate(?:3d)?\((.+?)\)/;
+ var translateMatrixRE = /matrix(3d)?\((.+?)\)/;
+
+ var $ = function(selector, context) {
+ context = context || document;
+ if (!selector)
+ return wrap();
+ if (typeof selector === 'object')
+ if ($.isArrayLike(selector)) {
+ return wrap($.slice.call(selector), null);
+ } else {
+ return wrap([selector], null);
+ }
+ if (typeof selector === 'function')
+ return $.ready(selector);
+ if (typeof selector === 'string') {
+ try {
+ selector = selector.trim();
+ if (idSelectorRE.test(selector)) {
+ var found = document.getElementById(RegExp.$1);
+ return wrap(found ? [found] : []);
+ }
+ return wrap($.qsa(selector, context), selector);
+ } catch (e) {}
+ }
+ return wrap();
+ };
+
+ var wrap = function(dom, selector) {
+ dom = dom || [];
+ Object.setPrototypeOf(dom, $.fn);
+ dom.selector = selector || '';
+ return dom;
+ };
+
+ $.uuid = 0;
+
+ $.data = {};
+ /**
+ * extend(simple)
+ * @param {type} target
+ * @param {type} source
+ * @param {type} deep
+ * @returns {unresolved}
+ */
+ $.extend = function() { //from jquery2
+ var options, name, src, copy, copyIsArray, clone,
+ target = arguments[0] || {},
+ i = 1,
+ length = arguments.length,
+ deep = false;
+
+ if (typeof target === "boolean") {
+ deep = target;
+
+ target = arguments[i] || {};
+ i++;
+ }
+
+ if (typeof target !== "object" && !$.isFunction(target)) {
+ target = {};
+ }
+
+ if (i === length) {
+ target = this;
+ i--;
+ }
+
+ for (; i < length; i++) {
+ if ((options = arguments[i]) != null) {
+ for (name in options) {
+ src = target[name];
+ copy = options[name];
+
+ if (target === copy) {
+ continue;
+ }
+
+ if (deep && copy && ($.isPlainObject(copy) || (copyIsArray = $.isArray(copy)))) {
+ if (copyIsArray) {
+ copyIsArray = false;
+ clone = src && $.isArray(src) ? src : [];
+
+ } else {
+ clone = src && $.isPlainObject(src) ? src : {};
+ }
+
+ target[name] = $.extend(deep, clone, copy);
+
+ } else if (copy !== undefined) {
+ target[name] = copy;
+ }
+ }
+ }
+ }
+
+ return target;
+ };
+ /**
+ * mui noop(function)
+ */
+ $.noop = function() {};
+ /**
+ * mui slice(array)
+ */
+ $.slice = [].slice;
+ /**
+ * mui filter(array)
+ */
+ $.filter = [].filter;
+
+ $.type = function(obj) {
+ return obj == null ? String(obj) : class2type[{}.toString.call(obj)] || "object";
+ };
+ /**
+ * mui isArray
+ */
+ $.isArray = Array.isArray ||
+ function(object) {
+ return object instanceof Array;
+ };
+ /**
+ * mui isArrayLike
+ * @param {Object} obj
+ */
+ $.isArrayLike = function(obj) {
+ var length = !!obj && "length" in obj && obj.length;
+ var type = $.type(obj);
+ if (type === "function" || $.isWindow(obj)) {
+ return false;
+ }
+ return type === "array" || length === 0 ||
+ typeof length === "number" && length > 0 && (length - 1) in obj;
+ };
+ /**
+ * mui isWindow(闇�鑰冭檻obj涓簎ndefined鐨勬儏鍐�)
+ */
+ $.isWindow = function(obj) {
+ return obj != null && obj === obj.window;
+ };
+ /**
+ * mui isObject
+ */
+ $.isObject = function(obj) {
+ return $.type(obj) === "object";
+ };
+ /**
+ * mui isPlainObject
+ */
+ $.isPlainObject = function(obj) {
+ return $.isObject(obj) && !$.isWindow(obj) && Object.getPrototypeOf(obj) === Object.prototype;
+ };
+ /**
+ * mui isEmptyObject
+ * @param {Object} o
+ */
+ $.isEmptyObject = function(o) {
+ for (var p in o) {
+ if (p !== undefined) {
+ return false;
+ }
+ }
+ return true;
+ };
+ /**
+ * mui isFunction
+ */
+ $.isFunction = function(value) {
+ return $.type(value) === "function";
+ };
+ /**
+ * mui querySelectorAll
+ * @param {type} selector
+ * @param {type} context
+ * @returns {Array}
+ */
+ $.qsa = function(selector, context) {
+ context = context || document;
+ return $.slice.call(classSelectorRE.test(selector) ? context.getElementsByClassName(RegExp.$1) : tagSelectorRE.test(selector) ? context.getElementsByTagName(selector) : context.querySelectorAll(selector));
+ };
+ /**
+ * ready(DOMContentLoaded)
+ * @param {type} callback
+ * @returns {_L6.$}
+ */
+ $.ready = function(callback) {
+ if (readyRE.test(document.readyState)) {
+ callback($);
+ } else {
+ document.addEventListener('DOMContentLoaded', function() {
+ callback($);
+ }, false);
+ }
+ return this;
+ };
+ /**
+ * 灏� fn 缂撳瓨涓�娈垫椂闂村悗, 鍐嶈璋冪敤鎵ц
+ * 姝ゆ柟娉曚负浜嗛伩鍏嶅湪 ms 娈垫椂闂村唴, 鎵ц fn 澶氭. 甯哥敤浜� resize , scroll , mousemove 绛夎繛缁�т簨浠朵腑;
+ * 褰� ms 璁剧疆涓� -1, 琛ㄧず绔嬪嵆鎵ц fn, 鍗冲拰鐩存帴璋冪敤 fn 涓�鏍�;
+ * 璋冪敤杩斿洖鍑芥暟鐨� stop 鍋滄鏈�鍚庝竴娆$殑 buffer 鏁堟灉
+ * @param {Object} fn
+ * @param {Object} ms
+ * @param {Object} context
+ */
+ $.buffer = function(fn, ms, context) {
+ var timer;
+ var lastStart = 0;
+ var lastEnd = 0;
+ var ms = ms || 150;
+
+ function run() {
+ if (timer) {
+ timer.cancel();
+ timer = 0;
+ }
+ lastStart = $.now();
+ fn.apply(context || this, arguments);
+ lastEnd = $.now();
+ }
+
+ return $.extend(function() {
+ if (
+ (!lastStart) || // 浠庢湭杩愯杩�
+ (lastEnd >= lastStart && $.now() - lastEnd > ms) || // 涓婃杩愯鎴愬姛鍚庡凡缁忚秴杩噈s姣
+ (lastEnd < lastStart && $.now() - lastStart > ms * 8) // 涓婃杩愯鎴栨湭瀹屾垚锛屽悗8*ms姣
+ ) {
+ run.apply(this, arguments);
+ } else {
+ if (timer) {
+ timer.cancel();
+ }
+ timer = $.later(run, ms, null, $.slice.call(arguments));
+ }
+ }, {
+ stop: function() {
+ if (timer) {
+ timer.cancel();
+ timer = 0;
+ }
+ }
+ });
+ };
+ /**
+ * each
+ * @param {type} elements
+ * @param {type} callback
+ * @returns {_L8.$}
+ */
+ $.each = function(elements, callback, hasOwnProperty) {
+ if (!elements) {
+ return this;
+ }
+ if (typeof elements.length === 'number') {
+ [].every.call(elements, function(el, idx) {
+ return callback.call(el, idx, el) !== false;
+ });
+ } else {
+ for (var key in elements) {
+ if (hasOwnProperty) {
+ if (elements.hasOwnProperty(key)) {
+ if (callback.call(elements[key], key, elements[key]) === false) return elements;
+ }
+ } else {
+ if (callback.call(elements[key], key, elements[key]) === false) return elements;
+ }
+ }
+ }
+ return this;
+ };
+ $.focus = function(element) {
+ if ($.os.ios) {
+ setTimeout(function() {
+ element.focus();
+ }, 10);
+ } else {
+ element.focus();
+ }
+ };
+ /**
+ * trigger event
+ * @param {type} element
+ * @param {type} eventType
+ * @param {type} eventData
+ * @returns {_L8.$}
+ */
+ $.trigger = function(element, eventType, eventData) {
+ element.dispatchEvent(new CustomEvent(eventType, {
+ detail: eventData,
+ bubbles: true,
+ cancelable: true
+ }));
+ return this;
+ };
+ /**
+ * getStyles
+ * @param {type} element
+ * @param {type} property
+ * @returns {styles}
+ */
+ $.getStyles = function(element, property) {
+ var styles = element.ownerDocument.defaultView.getComputedStyle(element, null);
+ if (property) {
+ return styles.getPropertyValue(property) || styles[property];
+ }
+ return styles;
+ };
+ /**
+ * parseTranslate
+ * @param {type} translateString
+ * @param {type} position
+ * @returns {Object}
+ */
+ $.parseTranslate = function(translateString, position) {
+ var result = translateString.match(translateRE || '');
+ if (!result || !result[1]) {
+ result = ['', '0,0,0'];
+ }
+ result = result[1].split(",");
+ result = {
+ x: parseFloat(result[0]),
+ y: parseFloat(result[1]),
+ z: parseFloat(result[2])
+ };
+ if (position && result.hasOwnProperty(position)) {
+ return result[position];
+ }
+ return result;
+ };
+ /**
+ * parseTranslateMatrix
+ * @param {type} translateString
+ * @param {type} position
+ * @returns {Object}
+ */
+ $.parseTranslateMatrix = function(translateString, position) {
+ var matrix = translateString.match(translateMatrixRE);
+ var is3D = matrix && matrix[1];
+ if (matrix) {
+ matrix = matrix[2].split(",");
+ if (is3D === "3d")
+ matrix = matrix.slice(12, 15);
+ else {
+ matrix.push(0);
+ matrix = matrix.slice(4, 7);
+ }
+ } else {
+ matrix = [0, 0, 0];
+ }
+ var result = {
+ x: parseFloat(matrix[0]),
+ y: parseFloat(matrix[1]),
+ z: parseFloat(matrix[2])
+ };
+ if (position && result.hasOwnProperty(position)) {
+ return result[position];
+ }
+ return result;
+ };
+ $.hooks = {};
+ $.addAction = function(type, hook) {
+ var hooks = $.hooks[type];
+ if (!hooks) {
+ hooks = [];
+ }
+ hook.index = hook.index || 1000;
+ hooks.push(hook);
+ hooks.sort(function(a, b) {
+ return a.index - b.index;
+ });
+ $.hooks[type] = hooks;
+ return $.hooks[type];
+ };
+ $.doAction = function(type, callback) {
+ if ($.isFunction(callback)) { //鎸囧畾浜哻allback
+ $.each($.hooks[type], callback);
+ } else { //鏈寚瀹歝allback锛岀洿鎺ユ墽琛�
+ $.each($.hooks[type], function(index, hook) {
+ return !hook.handle();
+ });
+ }
+ };
+ /**
+ * setTimeout灏佽
+ * @param {Object} fn
+ * @param {Object} when
+ * @param {Object} context
+ * @param {Object} data
+ */
+ $.later = function(fn, when, context, data) {
+ when = when || 0;
+ var m = fn;
+ var d = data;
+ var f;
+ var r;
+
+ if (typeof fn === 'string') {
+ m = context[fn];
+ }
+
+ f = function() {
+ m.apply(context, $.isArray(d) ? d : [d]);
+ };
+
+ r = setTimeout(f, when);
+
+ return {
+ id: r,
+ cancel: function() {
+ clearTimeout(r);
+ }
+ };
+ };
+ $.now = Date.now || function() {
+ return +new Date();
+ };
+ var class2type = {};
+ $.each(['Boolean', 'Number', 'String', 'Function', 'Array', 'Date', 'RegExp', 'Object', 'Error'], function(i, name) {
+ class2type["[object " + name + "]"] = name.toLowerCase();
+ });
+ if (window.JSON) {
+ $.parseJSON = JSON.parse;
+ }
+ /**
+ * $.fn
+ */
+ $.fn = {
+ each: function(callback) {
+ [].every.call(this, function(el, idx) {
+ return callback.call(el, idx, el) !== false;
+ });
+ return this;
+ }
+ };
+
+ /**
+ * 鍏煎 AMD 妯″潡
+ **/
+ if (typeof define === 'function' && define.amd) {
+ define('mui', [], function() {
+ return $;
+ });
+ }
+
+ return $;
+})(document);
+//window.mui = mui;
+//'$' in window || (window.$ = mui);
+/**
+ * $.os
+ * @param {type} $
+ * @returns {undefined}
+ */
+(function($, window) {
+ function detect(ua) {
+ this.os = {};
+ var funcs = [
+
+ function() { //wechat
+ var wechat = ua.match(/(MicroMessenger)\/([\d\.]+)/i);
+ if (wechat) { //wechat
+ this.os.wechat = {
+ version: wechat[2].replace(/_/g, '.')
+ };
+ }
+ return false;
+ },
+ function() { //android
+ var android = ua.match(/(Android);?[\s\/]+([\d.]+)?/);
+ if (android) {
+ this.os.android = true;
+ this.os.version = android[2];
+
+ this.os.isBadAndroid = !(/Chrome\/\d/.test(window.navigator.appVersion));
+ }
+ return this.os.android === true;
+ },
+ function() { //ios
+ var iphone = ua.match(/(iPhone\sOS)\s([\d_]+)/);
+ if (iphone) { //iphone
+ this.os.ios = this.os.iphone = true;
+ this.os.version = iphone[2].replace(/_/g, '.');
+ } else {
+ var ipad = ua.match(/(iPad).*OS\s([\d_]+)/);
+ if (ipad) { //ipad
+ this.os.ios = this.os.ipad = true;
+ this.os.version = ipad[2].replace(/_/g, '.');
+ }
+ }
+ return this.os.ios === true;
+ }
+ ];
+ [].every.call(funcs, function(func) {
+ return !func.call($);
+ });
+ }
+ detect.call($, navigator.userAgent);
+})(mui, window);
+/**
+ * $.os.plus
+ * @param {type} $
+ * @returns {undefined}
+ */
+(function($, document) {
+ function detect(ua) {
+ this.os = this.os || {};
+ var plus = ua.match(/Html5Plus/i); //TODO 5\+Browser?
+ if (plus) {
+ this.os.plus = true;
+ $(function() {
+ document.body.classList.add('mui-plus');
+ });
+ if (ua.match(/StreamApp/i)) { //TODO 鏈�濂芥湁娴佸簲鐢ㄨ嚜宸辩殑鏍囪瘑
+ this.os.stream = true;
+ $(function() {
+ document.body.classList.add('mui-plus-stream');
+ });
+ }
+ }
+ }
+ detect.call($, navigator.userAgent);
+})(mui, document);
+/**
+ * 浠呮彁渚涚畝鍗曠殑on锛宱ff(浠呮敮鎸佷簨浠跺鎵橈紝涓嶆敮鎸佸綋鍓嶅厓绱犵粦瀹氾紝褰撳墠鍏冪礌缁戝畾璇风洿鎺ヤ娇鐢╝ddEventListener,removeEventListener)
+ * @param {Object} $
+ */
+(function($) {
+ if ('ontouchstart' in window) {
+ $.isTouchable = true;
+ $.EVENT_START = 'touchstart';
+ $.EVENT_MOVE = 'touchmove';
+ $.EVENT_END = 'touchend';
+ } else {
+ $.isTouchable = false;
+ $.EVENT_START = 'mousedown';
+ $.EVENT_MOVE = 'mousemove';
+ $.EVENT_END = 'mouseup';
+ }
+ $.EVENT_CANCEL = 'touchcancel';
+ $.EVENT_CLICK = 'click';
+
+ var _mid = 1;
+ var delegates = {};
+ //闇�瑕亀rap鐨勫嚱鏁�
+ var eventMethods = {
+ preventDefault: 'isDefaultPrevented',
+ stopImmediatePropagation: 'isImmediatePropagationStopped',
+ stopPropagation: 'isPropagationStopped'
+ };
+ //榛樿true杩斿洖鍑芥暟
+ var returnTrue = function() {
+ return true
+ };
+ //榛樿false杩斿洖鍑芥暟
+ var returnFalse = function() {
+ return false
+ };
+ //wrap娴忚鍣ㄤ簨浠�
+ var compatible = function(event, target) {
+ if (!event.detail) {
+ event.detail = {
+ currentTarget: target
+ };
+ } else {
+ event.detail.currentTarget = target;
+ }
+ $.each(eventMethods, function(name, predicate) {
+ var sourceMethod = event[name];
+ event[name] = function() {
+ this[predicate] = returnTrue;
+ return sourceMethod && sourceMethod.apply(event, arguments)
+ }
+ event[predicate] = returnFalse;
+ }, true);
+ return event;
+ };
+ //绠�鍗曠殑wrap瀵硅薄_mid
+ var mid = function(obj) {
+ return obj && (obj._mid || (obj._mid = _mid++));
+ };
+ //浜嬩欢濮旀墭瀵硅薄缁戝畾鐨勪簨浠跺洖璋冨垪琛�
+ var delegateFns = {};
+ //杩斿洖浜嬩欢濮旀墭鐨剋rap浜嬩欢鍥炶皟
+ var delegateFn = function(element, event, selector, callback) {
+ return function(e) {
+ //same event
+ var callbackObjs = delegates[element._mid][event];
+ var handlerQueue = [];
+ var target = e.target;
+ var selectorAlls = {};
+ for (; target && target !== document; target = target.parentNode) {
+ if (target === element) {
+ break;
+ }
+ if (~['click', 'tap', 'doubletap', 'longtap', 'hold'].indexOf(event) && (target.disabled || target.classList.contains('mui-disabled'))) {
+ break;
+ }
+ var matches = {};
+ $.each(callbackObjs, function(selector, callbacks) { //same selector
+ selectorAlls[selector] || (selectorAlls[selector] = $.qsa(selector, element));
+ if (selectorAlls[selector] && ~(selectorAlls[selector]).indexOf(target)) {
+ if (!matches[selector]) {
+ matches[selector] = callbacks;
+ }
+ }
+ }, true);
+ if (!$.isEmptyObject(matches)) {
+ handlerQueue.push({
+ element: target,
+ handlers: matches
+ });
+ }
+ }
+ selectorAlls = null;
+ e = compatible(e); //compatible event
+ $.each(handlerQueue, function(index, handler) {
+ target = handler.element;
+ var tagName = target.tagName;
+ if (event === 'tap' && (tagName !== 'INPUT' && tagName !== 'TEXTAREA' && tagName !== 'SELECT')) {
+ e.preventDefault();
+ e.detail && e.detail.gesture && e.detail.gesture.preventDefault();
+ }
+ $.each(handler.handlers, function(index, handler) {
+ $.each(handler, function(index, callback) {
+ if (callback.call(target, e) === false) {
+ e.preventDefault();
+ e.stopPropagation();
+ }
+ }, true);
+ }, true)
+ if (e.isPropagationStopped()) {
+ return false;
+ }
+ }, true);
+ };
+ };
+ var findDelegateFn = function(element, event) {
+ var delegateCallbacks = delegateFns[mid(element)];
+ var result = [];
+ if (delegateCallbacks) {
+ result = [];
+ if (event) {
+ var filterFn = function(fn) {
+ return fn.type === event;
+ }
+ return delegateCallbacks.filter(filterFn);
+ } else {
+ result = delegateCallbacks;
+ }
+ }
+ return result;
+ };
+ var preventDefaultException = /^(INPUT|TEXTAREA|BUTTON|SELECT)$/;
+ /**
+ * mui delegate events
+ * @param {type} event
+ * @param {type} selector
+ * @param {type} callback
+ * @returns {undefined}
+ */
+ $.fn.on = function(event, selector, callback) { //浠呮敮鎸佺畝鍗曠殑浜嬩欢濮旀墭,涓昏鏄痶ap浜嬩欢浣跨敤锛岀被浼糾ouse,focus涔嬬被鏆備笉灏佽鏀寔
+ return this.each(function() {
+ var element = this;
+ mid(element);
+ mid(callback);
+ var isAddEventListener = false;
+ var delegateEvents = delegates[element._mid] || (delegates[element._mid] = {});
+ var delegateCallbackObjs = delegateEvents[event] || ((delegateEvents[event] = {}));
+ if ($.isEmptyObject(delegateCallbackObjs)) {
+ isAddEventListener = true;
+ }
+ var delegateCallbacks = delegateCallbackObjs[selector] || (delegateCallbackObjs[selector] = []);
+ delegateCallbacks.push(callback);
+ if (isAddEventListener) {
+ var delegateFnArray = delegateFns[mid(element)];
+ if (!delegateFnArray) {
+ delegateFnArray = [];
+ }
+ var delegateCallback = delegateFn(element, event, selector, callback);
+ delegateFnArray.push(delegateCallback);
+ delegateCallback.i = delegateFnArray.length - 1;
+ delegateCallback.type = event;
+ delegateFns[mid(element)] = delegateFnArray;
+ element.addEventListener(event, delegateCallback);
+ if (event === 'tap') { //TODO 闇�瑕佹壘涓洿濂界殑瑙e喅鏂规
+ element.addEventListener('click', function(e) {
+ if (e.target) {
+ var tagName = e.target.tagName;
+ if (!preventDefaultException.test(tagName)) {
+ if (tagName === 'A') {
+ var href = e.target.href;
+ if (!(href && ~href.indexOf('tel:'))) {
+ e.preventDefault();
+ }
+ } else {
+ e.preventDefault();
+ }
+ }
+ }
+ });
+ }
+ }
+ });
+ };
+ $.fn.off = function(event, selector, callback) {
+ return this.each(function() {
+ var _mid = mid(this);
+ if (!event) { //mui(selector).off();
+ delegates[_mid] && delete delegates[_mid];
+ } else if (!selector) { //mui(selector).off(event);
+ delegates[_mid] && delete delegates[_mid][event];
+ } else if (!callback) { //mui(selector).off(event,selector);
+ delegates[_mid] && delegates[_mid][event] && delete delegates[_mid][event][selector];
+ } else { //mui(selector).off(event,selector,callback);
+ var delegateCallbacks = delegates[_mid] && delegates[_mid][event] && delegates[_mid][event][selector];
+ $.each(delegateCallbacks, function(index, delegateCallback) {
+ if (mid(delegateCallback) === mid(callback)) {
+ delegateCallbacks.splice(index, 1);
+ return false;
+ }
+ }, true);
+ }
+ if (delegates[_mid]) {
+ //濡傛灉off鎺変簡鎵�鏈夊綋鍓峞lement鐨勬寚瀹氱殑event浜嬩欢锛屽垯remove鎺夊綋鍓峞lement鐨刣elegate鍥炶皟
+ if ((!delegates[_mid][event] || $.isEmptyObject(delegates[_mid][event]))) {
+ findDelegateFn(this, event).forEach(function(fn) {
+ this.removeEventListener(fn.type, fn);
+ delete delegateFns[_mid][fn.i];
+ }.bind(this));
+ }
+ } else {
+ //濡傛灉delegates[_mid]宸蹭笉瀛樺湪锛屽垹闄ゆ墍鏈�
+ findDelegateFn(this).forEach(function(fn) {
+ this.removeEventListener(fn.type, fn);
+ delete delegateFns[_mid][fn.i];
+ }.bind(this));
+ }
+ });
+
+ };
+})(mui);
+/**
+ * mui target(action>popover>modal>tab>toggle)
+ */
+(function($, window, document) {
+ /**
+ * targets
+ */
+ $.targets = {};
+ /**
+ * target handles
+ */
+ $.targetHandles = [];
+ /**
+ * register target
+ * @param {type} target
+ * @returns {$.targets}
+ */
+ $.registerTarget = function(target) {
+
+ target.index = target.index || 1000;
+
+ $.targetHandles.push(target);
+
+ $.targetHandles.sort(function(a, b) {
+ return a.index - b.index;
+ });
+
+ return $.targetHandles;
+ };
+ window.addEventListener($.EVENT_START, function(event) {
+ var target = event.target;
+ var founds = {};
+ for (; target && target !== document; target = target.parentNode) {
+ var isFound = false;
+ $.each($.targetHandles, function(index, targetHandle) {
+ var name = targetHandle.name;
+ if (!isFound && !founds[name] && targetHandle.hasOwnProperty('handle')) {
+ $.targets[name] = targetHandle.handle(event, target);
+ if ($.targets[name]) {
+ founds[name] = true;
+ if (targetHandle.isContinue !== true) {
+ isFound = true;
+ }
+ }
+ } else {
+ if (!founds[name]) {
+ if (targetHandle.isReset !== false)
+ $.targets[name] = false;
+ }
+ }
+ });
+ if (isFound) {
+ break;
+ }
+ }
+ });
+ window.addEventListener('click', function(event) { //瑙e喅touch涓巆lick鐨則arget涓嶄竴鑷寸殑闂(姣斿閾炬帴杈圭紭鐐瑰嚮鏃讹紝touch鐨則arget涓篽tml锛岃�宑lick鐨則arget涓篈)
+ var target = event.target;
+ var isFound = false;
+ for (; target && target !== document; target = target.parentNode) {
+ if (target.tagName === 'A') {
+ $.each($.targetHandles, function(index, targetHandle) {
+ var name = targetHandle.name;
+ if (targetHandle.hasOwnProperty('handle')) {
+ if (targetHandle.handle(event, target)) {
+ isFound = true;
+ event.preventDefault();
+ return false;
+ }
+ }
+ });
+ if (isFound) {
+ break;
+ }
+ }
+ }
+ });
+})(mui, window, document);
+/**
+ * fixed trim
+ * @param {type} undefined
+ * @returns {undefined}
+ */
+(function(undefined) {
+ if (String.prototype.trim === undefined) { // fix for iOS 3.2
+ String.prototype.trim = function() {
+ return this.replace(/^\s+|\s+$/g, '');
+ };
+ }
+ Object.setPrototypeOf = Object.setPrototypeOf || function(obj, proto) {
+ obj['__proto__'] = proto;
+ return obj;
+ };
+
+})();
+/**
+ * fixed CustomEvent
+ */
+(function() {
+ if (typeof window.CustomEvent === 'undefined') {
+ function CustomEvent(event, params) {
+ params = params || {
+ bubbles: false,
+ cancelable: false,
+ detail: undefined
+ };
+ var evt = document.createEvent('Events');
+ var bubbles = true;
+ for (var name in params) {
+ (name === 'bubbles') ? (bubbles = !!params[name]) : (evt[name] = params[name]);
+ }
+ evt.initEvent(event, bubbles, true);
+ return evt;
+ };
+ CustomEvent.prototype = window.Event.prototype;
+ window.CustomEvent = CustomEvent;
+ }
+})();
+/*
+ A shim for non ES5 supporting browsers.
+ Adds function bind to Function prototype, so that you can do partial application.
+ Works even with the nasty thing, where the first word is the opposite of extranet, the second one is the profession of Columbus, and the version number is 9, flipped 180 degrees.
+*/
+
+Function.prototype.bind = Function.prototype.bind || function(to) {
+ // Make an array of our arguments, starting from second argument
+ var partial = Array.prototype.splice.call(arguments, 1),
+ // We'll need the original function.
+ fn = this;
+ var bound = function() {
+ // Join the already applied arguments to the now called ones (after converting to an array again).
+ var args = partial.concat(Array.prototype.splice.call(arguments, 0));
+ // If not being called as a constructor
+ if (!(this instanceof bound)) {
+ // return the result of the function called bound to target and partially applied.
+ return fn.apply(to, args);
+ }
+ // If being called as a constructor, apply the function bound to self.
+ fn.apply(this, args);
+ }
+ // Attach the prototype of the function to our newly created function.
+ bound.prototype = fn.prototype;
+ return bound;
+};
+/**
+ * mui fixed classList
+ * @param {type} document
+ * @returns {undefined}
+ */
+(function(document) {
+ if (!("classList" in document.documentElement) && Object.defineProperty && typeof HTMLElement !== 'undefined') {
+
+ Object.defineProperty(HTMLElement.prototype, 'classList', {
+ get: function() {
+ var self = this;
+ function update(fn) {
+ return function(value) {
+ var classes = self.className.split(/\s+/),
+ index = classes.indexOf(value);
+
+ fn(classes, index, value);
+ self.className = classes.join(" ");
+ };
+ }
+
+ var ret = {
+ add: update(function(classes, index, value) {
+ ~index || classes.push(value);
+ }),
+ remove: update(function(classes, index) {
+ ~index && classes.splice(index, 1);
+ }),
+ toggle: update(function(classes, index, value) {
+ ~index ? classes.splice(index, 1) : classes.push(value);
+ }),
+ contains: function(value) {
+ return !!~self.className.split(/\s+/).indexOf(value);
+ },
+ item: function(i) {
+ return self.className.split(/\s+/)[i] || null;
+ }
+ };
+
+ Object.defineProperty(ret, 'length', {
+ get: function() {
+ return self.className.split(/\s+/).length;
+ }
+ });
+
+ return ret;
+ }
+ });
+ }
+})(document);
+
+/**
+ * mui fixed requestAnimationFrame
+ * @param {type} window
+ * @returns {undefined}
+ */
+(function(window) {
+ if (!window.requestAnimationFrame) {
+ var lastTime = 0;
+ window.requestAnimationFrame = window.webkitRequestAnimationFrame || function(callback, element) {
+ var currTime = new Date().getTime();
+ var timeToCall = Math.max(0, 16.7 - (currTime - lastTime));
+ var id = window.setTimeout(function() {
+ callback(currTime + timeToCall);
+ }, timeToCall);
+ lastTime = currTime + timeToCall;
+ return id;
+ };
+ window.cancelAnimationFrame = window.webkitCancelAnimationFrame || window.webkitCancelRequestAnimationFrame || function(id) {
+ clearTimeout(id);
+ };
+ };
+}(window));
+/**
+ * fastclick(only for radio,checkbox)
+ */
+(function($, window, name) {
+ if (!$.os.android && !$.os.ios) { //鐩墠浠呰瘑鍒玜ndroid鍜宨os
+ return;
+ }
+ if (window.FastClick) {
+ return;
+ }
+
+ var handle = function(event, target) {
+ if (target.tagName === 'LABEL') {
+ if (target.parentNode) {
+ target = target.parentNode.querySelector('input');
+ }
+ }
+ if (target && (target.type === 'radio' || target.type === 'checkbox')) {
+ if (!target.disabled) { //disabled
+ return target;
+ }
+ }
+ return false;
+ };
+
+ $.registerTarget({
+ name: name,
+ index: 40,
+ handle: handle,
+ target: false
+ });
+ var dispatchEvent = function(event) {
+ var targetElement = $.targets.click;
+ if (targetElement) {
+ var clickEvent, touch;
+ // On some Android devices activeElement needs to be blurred otherwise the synthetic click will have no effect
+ if (document.activeElement && document.activeElement !== targetElement) {
+ document.activeElement.blur();
+ }
+ touch = event.detail.gesture.changedTouches[0];
+ // Synthesise a click event, with an extra attribute so it can be tracked
+ clickEvent = document.createEvent('MouseEvents');
+ clickEvent.initMouseEvent('click', true, true, window, 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false, false, 0, null);
+ clickEvent.forwardedTouchEvent = true;
+ targetElement.dispatchEvent(clickEvent);
+ event.detail && event.detail.gesture.preventDefault();
+ }
+ };
+ window.addEventListener('tap', dispatchEvent);
+ window.addEventListener('doubletap', dispatchEvent);
+ //鎹曡幏
+ window.addEventListener('click', function(event) {
+ if ($.targets.click) {
+ if (!event.forwardedTouchEvent) { //stop click
+ if (event.stopImmediatePropagation) {
+ event.stopImmediatePropagation();
+ } else {
+ // Part of the hack for browsers that don't support Event#stopImmediatePropagation
+ event.propagationStopped = true;
+ }
+ event.stopPropagation();
+ event.preventDefault();
+ return false;
+ }
+ }
+ }, true);
+
+})(mui, window, 'click');
+(function($, document) {
+ $(function() {
+ if (!$.os.ios) {
+ return;
+ }
+ var CLASS_FOCUSIN = 'mui-focusin';
+ var CLASS_BAR_TAB = 'mui-bar-tab';
+ var CLASS_BAR_FOOTER = 'mui-bar-footer';
+ var CLASS_BAR_FOOTER_SECONDARY = 'mui-bar-footer-secondary';
+ var CLASS_BAR_FOOTER_SECONDARY_TAB = 'mui-bar-footer-secondary-tab';
+ // var content = document.querySelector('.' + CLASS_CONTENT);
+ // if (content) {
+ // document.body.insertBefore(content, document.body.firstElementChild);
+ // }
+ document.addEventListener('focusin', function(e) {
+ if ($.os.plus) { //鍦ㄧ埗webview閲岃竟涓峟ix
+ if (window.plus) {
+ if (plus.webview.currentWebview().children().length > 0) {
+ return;
+ }
+ }
+ }
+ var target = e.target;
+ //TODO 闇�鑰冭檻鎵�鏈夐敭鐩樺脊璧风殑鎯呭喌
+ if (target.tagName && (target.tagName === 'TEXTAREA' || (target.tagName === 'INPUT' && (target.type === 'text' || target.type === 'search' || target.type === 'number')))) {
+ if (target.disabled || target.readOnly) {
+ return;
+ }
+ document.body.classList.add(CLASS_FOCUSIN);
+ var isFooter = false;
+ for (; target && target !== document; target = target.parentNode) {
+ var classList = target.classList;
+ if (classList && classList.contains(CLASS_BAR_TAB) || classList.contains(CLASS_BAR_FOOTER) || classList.contains(CLASS_BAR_FOOTER_SECONDARY) || classList.contains(CLASS_BAR_FOOTER_SECONDARY_TAB)) {
+ isFooter = true;
+ break;
+ }
+ }
+ if (isFooter) {
+ var scrollTop = document.body.scrollHeight;
+ var scrollLeft = document.body.scrollLeft;
+ setTimeout(function() {
+ window.scrollTo(scrollLeft, scrollTop);
+ }, 20);
+ }
+ }
+ });
+ document.addEventListener('focusout', function(e) {
+ 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);
+/**
+ * mui namespace(optimization)
+ * @param {type} $
+ * @returns {undefined}
+ */
+(function($) {
+ $.namespace = 'mui';
+ $.classNamePrefix = $.namespace + '-';
+ $.classSelectorPrefix = '.' + $.classNamePrefix;
+ /**
+ * 杩斿洖姝g‘鐨刢lassName
+ * @param {type} className
+ * @returns {String}
+ */
+ $.className = function(className) {
+ return $.classNamePrefix + className;
+ };
+ /**
+ * 杩斿洖姝g‘鐨刢lassSelector
+ * @param {type} classSelector
+ * @returns {String}
+ */
+ $.classSelector = function(classSelector) {
+ return classSelector.replace(/\./g, $.classSelectorPrefix);
+ };
+ /**
+ * 杩斿洖姝g‘鐨別ventName
+ * @param {type} event
+ * @param {type} module
+ * @returns {String}
+ */
+ $.eventName = function(event, module) {
+ return event + ($.namespace ? ('.' + $.namespace) : '') + ( module ? ('.' + module) : '');
+ };
+})(mui);
+
+/**
+ * mui gestures
+ * @param {type} $
+ * @param {type} window
+ * @returns {undefined}
+ */
+(function($, window) {
+ $.gestures = {
+ session: {}
+ };
+ /**
+ * Gesture preventDefault
+ * @param {type} e
+ * @returns {undefined}
+ */
+ $.preventDefault = function(e) {
+ e.preventDefault();
+ };
+ /**
+ * Gesture stopPropagation
+ * @param {type} e
+ * @returns {undefined}
+ */
+ $.stopPropagation = function(e) {
+ e.stopPropagation();
+ };
+
+ /**
+ * register gesture
+ * @param {type} gesture
+ * @returns {$.gestures}
+ */
+ $.addGesture = function(gesture) {
+ return $.addAction('gestures', gesture);
+
+ };
+
+ var round = Math.round;
+ var abs = Math.abs;
+ var sqrt = Math.sqrt;
+ var atan = Math.atan;
+ var atan2 = Math.atan2;
+ /**
+ * distance
+ * @param {type} p1
+ * @param {type} p2
+ * @returns {Number}
+ */
+ var getDistance = function(p1, p2, props) {
+ if(!props) {
+ props = ['x', 'y'];
+ }
+ var x = p2[props[0]] - p1[props[0]];
+ var y = p2[props[1]] - p1[props[1]];
+ return sqrt((x * x) + (y * y));
+ };
+ /**
+ * scale
+ * @param {Object} starts
+ * @param {Object} moves
+ */
+ var getScale = function(starts, moves) {
+ if(starts.length >= 2 && moves.length >= 2) {
+ var props = ['pageX', 'pageY'];
+ return getDistance(moves[1], moves[0], props) / getDistance(starts[1], starts[0], props);
+ }
+ return 1;
+ };
+ /**
+ * angle
+ * @param {type} p1
+ * @param {type} p2
+ * @returns {Number}
+ */
+ var getAngle = function(p1, p2, props) {
+ if(!props) {
+ props = ['x', 'y'];
+ }
+ var x = p2[props[0]] - p1[props[0]];
+ var y = p2[props[1]] - p1[props[1]];
+ return atan2(y, x) * 180 / Math.PI;
+ };
+ /**
+ * direction
+ * @param {Object} x
+ * @param {Object} y
+ */
+ var getDirection = function(x, y) {
+ if(x === y) {
+ return '';
+ }
+ if(abs(x) >= abs(y)) {
+ return x > 0 ? 'left' : 'right';
+ }
+ return y > 0 ? 'up' : 'down';
+ };
+ /**
+ * rotation
+ * @param {Object} start
+ * @param {Object} end
+ */
+ var getRotation = function(start, end) {
+ var props = ['pageX', 'pageY'];
+ return getAngle(end[1], end[0], props) - getAngle(start[1], start[0], props);
+ };
+ /**
+ * px per ms
+ * @param {Object} deltaTime
+ * @param {Object} x
+ * @param {Object} y
+ */
+ var getVelocity = function(deltaTime, x, y) {
+ return {
+ x: x / deltaTime || 0,
+ y: y / deltaTime || 0
+ };
+ };
+ /**
+ * detect gestures
+ * @param {type} event
+ * @param {type} touch
+ * @returns {undefined}
+ */
+ var detect = function(event, touch) {
+ if($.gestures.stoped) {
+ return;
+ }
+ $.doAction('gestures', function(index, gesture) {
+ if(!$.gestures.stoped) {
+ if($.options.gestureConfig[gesture.name] !== false) {
+ gesture.handle(event, touch);
+ }
+ }
+ });
+ };
+ /**
+ * 鏆傛椂鏃犵敤
+ * @param {Object} node
+ * @param {Object} parent
+ */
+ var hasParent = function(node, parent) {
+ while(node) {
+ if(node == parent) {
+ return true;
+ }
+ node = node.parentNode;
+ }
+ return false;
+ };
+
+ var uniqueArray = function(src, key, sort) {
+ var results = [];
+ var values = [];
+ var i = 0;
+
+ while(i < src.length) {
+ var val = key ? src[i][key] : src[i];
+ if(values.indexOf(val) < 0) {
+ results.push(src[i]);
+ }
+ values[i] = val;
+ i++;
+ }
+
+ if(sort) {
+ if(!key) {
+ results = results.sort();
+ } else {
+ results = results.sort(function sortUniqueArray(a, b) {
+ return a[key] > b[key];
+ });
+ }
+ }
+
+ return results;
+ };
+ var getMultiCenter = function(touches) {
+ var touchesLength = touches.length;
+ if(touchesLength === 1) {
+ return {
+ x: round(touches[0].pageX),
+ y: round(touches[0].pageY)
+ };
+ }
+
+ var x = 0;
+ var y = 0;
+ var i = 0;
+ while(i < touchesLength) {
+ x += touches[i].pageX;
+ y += touches[i].pageY;
+ i++;
+ }
+
+ return {
+ x: round(x / touchesLength),
+ y: round(y / touchesLength)
+ };
+ };
+ var multiTouch = function() {
+ return $.options.gestureConfig.pinch;
+ };
+ var copySimpleTouchData = function(touch) {
+ var touches = [];
+ var i = 0;
+ while(i < touch.touches.length) {
+ touches[i] = {
+ pageX: round(touch.touches[i].pageX),
+ pageY: round(touch.touches[i].pageY)
+ };
+ i++;
+ }
+ return {
+ timestamp: $.now(),
+ gesture: touch.gesture,
+ touches: touches,
+ center: getMultiCenter(touch.touches),
+ deltaX: touch.deltaX,
+ deltaY: touch.deltaY
+ };
+ };
+
+ var calDelta = function(touch) {
+ var session = $.gestures.session;
+ var center = touch.center;
+ var offset = session.offsetDelta || {};
+ var prevDelta = session.prevDelta || {};
+ var prevTouch = session.prevTouch || {};
+
+ if(touch.gesture.type === $.EVENT_START || touch.gesture.type === $.EVENT_END) {
+ prevDelta = session.prevDelta = {
+ x: prevTouch.deltaX || 0,
+ y: prevTouch.deltaY || 0
+ };
+
+ offset = session.offsetDelta = {
+ x: center.x,
+ y: center.y
+ };
+ }
+ touch.deltaX = prevDelta.x + (center.x - offset.x);
+ touch.deltaY = prevDelta.y + (center.y - offset.y);
+ };
+ var calTouchData = function(touch) {
+ var session = $.gestures.session;
+ var touches = touch.touches;
+ var touchesLength = touches.length;
+
+ if(!session.firstTouch) {
+ session.firstTouch = copySimpleTouchData(touch);
+ }
+
+ if(multiTouch() && touchesLength > 1 && !session.firstMultiTouch) {
+ session.firstMultiTouch = copySimpleTouchData(touch);
+ } else if(touchesLength === 1) {
+ session.firstMultiTouch = false;
+ }
+
+ var firstTouch = session.firstTouch;
+ var firstMultiTouch = session.firstMultiTouch;
+ var offsetCenter = firstMultiTouch ? firstMultiTouch.center : firstTouch.center;
+
+ var center = touch.center = getMultiCenter(touches);
+ touch.timestamp = $.now();
+ touch.deltaTime = touch.timestamp - firstTouch.timestamp;
+
+ touch.angle = getAngle(offsetCenter, center);
+ touch.distance = getDistance(offsetCenter, center);
+
+ calDelta(touch);
+
+ touch.offsetDirection = getDirection(touch.deltaX, touch.deltaY);
+
+ touch.scale = firstMultiTouch ? getScale(firstMultiTouch.touches, touches) : 1;
+ touch.rotation = firstMultiTouch ? getRotation(firstMultiTouch.touches, touches) : 0;
+
+ calIntervalTouchData(touch);
+
+ };
+ var CAL_INTERVAL = 25;
+ var calIntervalTouchData = function(touch) {
+ var session = $.gestures.session;
+ var last = session.lastInterval || touch;
+ var deltaTime = touch.timestamp - last.timestamp;
+ var velocity;
+ var velocityX;
+ var velocityY;
+ var direction;
+
+ if(touch.gesture.type != $.EVENT_CANCEL && (deltaTime > CAL_INTERVAL || last.velocity === undefined)) {
+ var deltaX = last.deltaX - touch.deltaX;
+ var deltaY = last.deltaY - touch.deltaY;
+
+ var v = getVelocity(deltaTime, deltaX, deltaY);
+ velocityX = v.x;
+ velocityY = v.y;
+ velocity = (abs(v.x) > abs(v.y)) ? v.x : v.y;
+ direction = getDirection(deltaX, deltaY) || last.direction;
+
+ session.lastInterval = touch;
+ } else {
+ velocity = last.velocity;
+ velocityX = last.velocityX;
+ velocityY = last.velocityY;
+ direction = last.direction;
+ }
+
+ touch.velocity = velocity;
+ touch.velocityX = velocityX;
+ touch.velocityY = velocityY;
+ touch.direction = direction;
+ };
+ var targetIds = {};
+ var convertTouches = function(touches) {
+ for(var i = 0; i < touches.length; i++) {
+ !touches['identifier'] && (touches['identifier'] = 0);
+ }
+ return touches;
+ };
+ var getTouches = function(event, touch) {
+ var allTouches = convertTouches($.slice.call(event.touches || [event]));
+
+ var type = event.type;
+
+ var targetTouches = [];
+ var changedTargetTouches = [];
+
+ //褰搕ouchstart鎴杢ouchmove涓攖ouches闀垮害涓�1锛岀洿鎺ヨ幏寰梐ll鍜宑hanged
+ if((type === $.EVENT_START || type === $.EVENT_MOVE) && allTouches.length === 1) {
+ targetIds[allTouches[0].identifier] = true;
+ targetTouches = allTouches;
+ changedTargetTouches = allTouches;
+ touch.target = event.target;
+ } else {
+ var i = 0;
+ var targetTouches = [];
+ var changedTargetTouches = [];
+ var changedTouches = convertTouches($.slice.call(event.changedTouches || [event]));
+
+ touch.target = event.target;
+ var sessionTarget = $.gestures.session.target || event.target;
+ targetTouches = allTouches.filter(function(touch) {
+ return hasParent(touch.target, sessionTarget);
+ });
+
+ if(type === $.EVENT_START) {
+ i = 0;
+ while(i < targetTouches.length) {
+ targetIds[targetTouches[i].identifier] = true;
+ i++;
+ }
+ }
+
+ i = 0;
+ while(i < changedTouches.length) {
+ if(targetIds[changedTouches[i].identifier]) {
+ changedTargetTouches.push(changedTouches[i]);
+ }
+ if(type === $.EVENT_END || type === $.EVENT_CANCEL) {
+ delete targetIds[changedTouches[i].identifier];
+ }
+ i++;
+ }
+
+ if(!changedTargetTouches.length) {
+ return false;
+ }
+ }
+ targetTouches = uniqueArray(targetTouches.concat(changedTargetTouches), 'identifier', true);
+ var touchesLength = targetTouches.length;
+ var changedTouchesLength = changedTargetTouches.length;
+ if(type === $.EVENT_START && touchesLength - changedTouchesLength === 0) { //first
+ touch.isFirst = true;
+ $.gestures.touch = $.gestures.session = {
+ target: event.target
+ };
+ }
+ touch.isFinal = ((type === $.EVENT_END || type === $.EVENT_CANCEL) && (touchesLength - changedTouchesLength === 0));
+
+ touch.touches = targetTouches;
+ touch.changedTouches = changedTargetTouches;
+ return true;
+
+ };
+ var handleTouchEvent = function(event) {
+ var touch = {
+ gesture: event
+ };
+ var touches = getTouches(event, touch);
+ if(!touches) {
+ return;
+ }
+ calTouchData(touch);
+ detect(event, touch);
+ $.gestures.session.prevTouch = touch;
+ if(event.type === $.EVENT_END && !$.isTouchable) {
+ $.gestures.touch = $.gestures.session = {};
+ }
+ };
+ var supportsPassive = (function checkPassiveListener() {
+ var supportsPassive = false;
+ try {
+ var opts = Object.defineProperty({}, 'passive', {
+ get: function get() {
+ supportsPassive = true;
+ },
+ });
+ window.addEventListener('testPassiveListener', null, opts);
+ } catch(e) {
+ // No support
+ }
+ return supportsPassive;
+ }())
+ window.addEventListener($.EVENT_START, handleTouchEvent);
+ window.addEventListener($.EVENT_MOVE, handleTouchEvent, supportsPassive ? {
+ passive: false,
+ capture: false
+ } : false);
+ window.addEventListener($.EVENT_END, handleTouchEvent);
+ window.addEventListener($.EVENT_CANCEL, handleTouchEvent);
+ //fixed hashchange(android)
+ window.addEventListener($.EVENT_CLICK, function(e) {
+ //TODO 搴旇鍒ゆ柇褰撳墠target鏄笉鏄湪targets.popover鍐呴儴锛岃�屼笉鏄潪瑕佺浉绛�
+ if(($.os.android || $.os.ios) && (($.targets.popover && e.target === $.targets.popover) || ($.targets.tab) || $.targets.offcanvas || $.targets.modal)) {
+ e.preventDefault();
+ }
+ }, true);
+
+ //澧炲姞鍘熺敓婊氬姩璇嗗埆
+ $.isScrolling = false;
+ var scrollingTimeout = null;
+ window.addEventListener('scroll', function() {
+ $.isScrolling = true;
+ scrollingTimeout && clearTimeout(scrollingTimeout);
+ scrollingTimeout = setTimeout(function() {
+ $.isScrolling = false;
+ }, 250);
+ });
+})(mui, window);
+/**
+ * mui gesture flick[left|right|up|down]
+ * @param {type} $
+ * @param {type} name
+ * @returns {undefined}
+ */
+(function($, name) {
+ var flickStartTime = 0;
+ var handle = function(event, touch) {
+ var session = $.gestures.session;
+ var options = this.options;
+ var now = $.now();
+ switch (event.type) {
+ case $.EVENT_MOVE:
+ if (now - flickStartTime > 300) {
+ flickStartTime = now;
+ session.flickStart = touch.center;
+ }
+ break;
+ case $.EVENT_END:
+ case $.EVENT_CANCEL:
+ touch.flick = false;
+ if (session.flickStart && options.flickMaxTime > (now - flickStartTime) && touch.distance > options.flickMinDistince) {
+ touch.flick = true;
+ touch.flickTime = now - flickStartTime;
+ touch.flickDistanceX = touch.center.x - session.flickStart.x;
+ touch.flickDistanceY = touch.center.y - session.flickStart.y;
+ $.trigger(session.target, name, touch);
+ $.trigger(session.target, name + touch.direction, touch);
+ }
+ break;
+ }
+
+ };
+ /**
+ * mui gesture flick
+ */
+ $.addGesture({
+ name: name,
+ index: 5,
+ handle: handle,
+ options: {
+ flickMaxTime: 200,
+ flickMinDistince: 10
+ }
+ });
+})(mui, 'flick');
+/**
+ * mui gesture swipe[left|right|up|down]
+ * @param {type} $
+ * @param {type} name
+ * @returns {undefined}
+ */
+(function($, name) {
+ var handle = function(event, touch) {
+ var session = $.gestures.session;
+ if (event.type === $.EVENT_END || event.type === $.EVENT_CANCEL) {
+ var options = this.options;
+ touch.swipe = false;
+ //TODO 鍚庣画鏍规嵁velocity璁$畻
+ if (touch.direction && options.swipeMaxTime > touch.deltaTime && touch.distance > options.swipeMinDistince) {
+ touch.swipe = true;
+ $.trigger(session.target, name, touch);
+ $.trigger(session.target, name + touch.direction, touch);
+ }
+ }
+ };
+ /**
+ * mui gesture swipe
+ */
+ $.addGesture({
+ name: name,
+ index: 10,
+ handle: handle,
+ options: {
+ swipeMaxTime: 300,
+ swipeMinDistince: 18
+ }
+ });
+})(mui, 'swipe');
+/**
+ * mui gesture drag[start|left|right|up|down|end]
+ * @param {type} $
+ * @param {type} name
+ * @returns {undefined}
+ */
+(function($, name) {
+ var handle = function(event, touch) {
+ var session = $.gestures.session;
+ switch (event.type) {
+ case $.EVENT_START:
+ break;
+ case $.EVENT_MOVE:
+ if (!touch.direction || !session.target) {
+ return;
+ }
+ //淇direction,鍙湪session鏈熼棿鑷閿佸畾鎷栨嫿鏂瑰悜锛屾柟渚垮紑鍙憇croll绫讳笉鍚屾柟鍚戞嫋鎷芥彃浠跺祵濂�
+ if (session.lockDirection && session.startDirection) {
+ if (session.startDirection && session.startDirection !== touch.direction) {
+ if (session.startDirection === 'up' || session.startDirection === 'down') {
+ touch.direction = touch.deltaY < 0 ? 'up' : 'down';
+ } else {
+ touch.direction = touch.deltaX < 0 ? 'left' : 'right';
+ }
+ }
+ }
+
+ if (!session.drag) {
+ session.drag = true;
+ $.trigger(session.target, name + 'start', touch);
+ }
+ $.trigger(session.target, name, touch);
+ $.trigger(session.target, name + touch.direction, touch);
+ break;
+ case $.EVENT_END:
+ case $.EVENT_CANCEL:
+ if (session.drag && touch.isFinal) {
+ $.trigger(session.target, name + 'end', touch);
+ }
+ break;
+ }
+ };
+ /**
+ * mui gesture drag
+ */
+ $.addGesture({
+ name: name,
+ index: 20,
+ handle: handle,
+ options: {
+ fingers: 1
+ }
+ });
+})(mui, 'drag');
+/**
+ * mui gesture tap and doubleTap
+ * @param {type} $
+ * @param {type} name
+ * @returns {undefined}
+ */
+(function($, name) {
+ var lastTarget;
+ var lastTapTime;
+ var handle = function(event, touch) {
+ var session = $.gestures.session;
+ var options = this.options;
+ switch (event.type) {
+ case $.EVENT_END:
+ if (!touch.isFinal) {
+ return;
+ }
+ var target = session.target;
+ if (!target || (target.disabled || (target.classList && target.classList.contains('mui-disabled')))) {
+ return;
+ }
+ if (touch.distance < options.tapMaxDistance && touch.deltaTime < options.tapMaxTime) {
+ if ($.options.gestureConfig.doubletap && lastTarget && (lastTarget === target)) { //same target
+ if (lastTapTime && (touch.timestamp - lastTapTime) < options.tapMaxInterval) {
+ $.trigger(target, 'doubletap', touch);
+ lastTapTime = $.now();
+ lastTarget = target;
+ return;
+ }
+ }
+ $.trigger(target, name, touch);
+ lastTapTime = $.now();
+ lastTarget = target;
+ }
+ break;
+ }
+ };
+ /**
+ * mui gesture tap
+ */
+ $.addGesture({
+ name: name,
+ index: 30,
+ handle: handle,
+ options: {
+ fingers: 1,
+ tapMaxInterval: 300,
+ tapMaxDistance: 5,
+ tapMaxTime: 250
+ }
+ });
+})(mui, 'tap');
+/**
+ * mui gesture longtap
+ * @param {type} $
+ * @param {type} name
+ * @returns {undefined}
+ */
+(function($, name) {
+ var timer;
+ var handle = function(event, touch) {
+ var session = $.gestures.session;
+ var options = this.options;
+ switch (event.type) {
+ case $.EVENT_START:
+ clearTimeout(timer);
+ timer = setTimeout(function() {
+ $.trigger(session.target, name, touch);
+ }, options.holdTimeout);
+ break;
+ case $.EVENT_MOVE:
+ if (touch.distance > options.holdThreshold) {
+ clearTimeout(timer);
+ }
+ break;
+ case $.EVENT_END:
+ case $.EVENT_CANCEL:
+ clearTimeout(timer);
+ break;
+ }
+ };
+ /**
+ * mui gesture longtap
+ */
+ $.addGesture({
+ name: name,
+ index: 10,
+ handle: handle,
+ options: {
+ fingers: 1,
+ holdTimeout: 500,
+ holdThreshold: 2
+ }
+ });
+})(mui, 'longtap');
+/**
+ * mui gesture hold
+ * @param {type} $
+ * @param {type} name
+ * @returns {undefined}
+ */
+(function($, name) {
+ var timer;
+ var handle = function(event, touch) {
+ var session = $.gestures.session;
+ var options = this.options;
+ switch (event.type) {
+ case $.EVENT_START:
+ if ($.options.gestureConfig.hold) {
+ timer && clearTimeout(timer);
+ timer = setTimeout(function() {
+ touch.hold = true;
+ $.trigger(session.target, name, touch);
+ }, options.holdTimeout);
+ }
+ break;
+ case $.EVENT_MOVE:
+ break;
+ case $.EVENT_END:
+ case $.EVENT_CANCEL:
+ if (timer) {
+ clearTimeout(timer) && (timer = null);
+ $.trigger(session.target, 'release', touch);
+ }
+ break;
+ }
+ };
+ /**
+ * mui gesture hold
+ */
+ $.addGesture({
+ name: name,
+ index: 10,
+ handle: handle,
+ options: {
+ fingers: 1,
+ holdTimeout: 0
+ }
+ });
+})(mui, 'hold');
+/**
+ * mui gesture pinch
+ * @param {type} $
+ * @param {type} name
+ * @returns {undefined}
+ */
+(function($, name) {
+ var handle = function(event, touch) {
+ var options = this.options;
+ var session = $.gestures.session;
+ switch (event.type) {
+ case $.EVENT_START:
+ break;
+ case $.EVENT_MOVE:
+ if ($.options.gestureConfig.pinch) {
+ if (touch.touches.length < 2) {
+ return;
+ }
+ if (!session.pinch) { //start
+ session.pinch = true;
+ $.trigger(session.target, name + 'start', touch);
+ }
+ $.trigger(session.target, name, touch);
+ var scale = touch.scale;
+ var rotation = touch.rotation;
+ var lastScale = typeof touch.lastScale === 'undefined' ? 1 : touch.lastScale;
+ var scaleDiff = 0.000000000001; //闃叉scale涓巐astScale鐩哥瓑锛屼笉瑙﹀彂浜嬩欢鐨勬儏鍐点��
+ if (scale > lastScale) { //out
+ lastScale = scale - scaleDiff;
+ $.trigger(session.target, name + 'out', touch);
+ } //in
+ else if (scale < lastScale) {
+ lastScale = scale + scaleDiff;
+ $.trigger(session.target, name + 'in', touch);
+ }
+ if (Math.abs(rotation) > options.minRotationAngle) {
+ $.trigger(session.target, 'rotate', touch);
+ }
+ }
+ break;
+ case $.EVENT_END:
+ case $.EVENT_CANCEL:
+ if ($.options.gestureConfig.pinch && session.pinch && touch.touches.length === 2) {
+ session.pinch = false;
+ $.trigger(session.target, name + 'end', touch);
+ }
+ break;
+ }
+ };
+ /**
+ * mui gesture pinch
+ */
+ $.addGesture({
+ name: name,
+ index: 10,
+ handle: handle,
+ options: {
+ minRotationAngle: 0
+ }
+ });
+})(mui, 'pinch');
+/**
+ * mui.init
+ * @param {type} $
+ * @returns {undefined}
+ */
+(function($) {
+ $.global = $.options = {
+ gestureConfig: {
+ tap: true,
+ doubletap: false,
+ longtap: false,
+ hold: false,
+ flick: true,
+ swipe: true,
+ drag: true,
+ pinch: false
+ }
+ };
+ /**
+ *
+ * @param {type} options
+ * @returns {undefined}
+ */
+ $.initGlobal = function(options) {
+ $.options = $.extend(true, $.global, options);
+ return this;
+ };
+ var inits = {};
+
+ /**
+ * 鍗曢〉閰嶇疆 鍒濆鍖�
+ * @param {object} options
+ */
+ $.init = function(options) {
+ $.options = $.extend(true, $.global, options || {});
+ $.ready(function() {
+ $.doAction('inits', function(index, init) {
+ var isInit = !!(!inits[init.name] || init.repeat);
+ if (isInit) {
+ init.handle.call($);
+ inits[init.name] = true;
+ }
+ });
+ });
+ return this;
+ };
+
+ /**
+ * 澧炲姞鍒濆鍖栨墽琛屾祦绋�
+ * @param {function} init
+ */
+ $.addInit = function(init) {
+ return $.addAction('inits', init);
+ };
+ /**
+ * 澶勭悊html5鐗堟湰subpages
+ */
+ $.addInit({
+ name: 'iframe',
+ index: 100,
+ handle: function() {
+ var options = $.options;
+ var subpages = options.subpages || [];
+ if (!$.os.plus && subpages.length) {
+ //鏆傛椂鍙鐞嗗崟涓猻ubpage銆傚悗缁彲浠ヨ�冭檻鏀寔澶氫釜subpage
+ createIframe(subpages[0]);
+ }
+ }
+ });
+ var createIframe = function(options) {
+ var wrapper = document.createElement('div');
+ wrapper.className = 'mui-iframe-wrapper';
+ var styles = options.styles || {};
+ if (typeof styles.top !== 'string') {
+ styles.top = '0px';
+ }
+ if (typeof styles.bottom !== 'string') {
+ styles.bottom = '0px';
+ }
+ wrapper.style.top = styles.top;
+ wrapper.style.bottom = styles.bottom;
+ var iframe = document.createElement('iframe');
+ iframe.src = options.url;
+ iframe.id = options.id || options.url;
+ iframe.name = iframe.id;
+ wrapper.appendChild(iframe);
+ document.body.appendChild(wrapper);
+ //鐩墠浠呭鐞嗗井淇�
+ $.os.wechat && handleScroll(wrapper, iframe);
+ };
+
+ function handleScroll(wrapper, iframe) {
+ var key = 'MUI_SCROLL_POSITION_' + document.location.href + '_' + iframe.src;
+ var scrollTop = (parseFloat(localStorage.getItem(key)) || 0);
+ if (scrollTop) {
+ (function(y) {
+ iframe.onload = function() {
+ window.scrollTo(0, y);
+ };
+ })(scrollTop);
+ }
+ setInterval(function() {
+ var _scrollTop = window.scrollY;
+ if (scrollTop !== _scrollTop) {
+ localStorage.setItem(key, _scrollTop + '');
+ scrollTop = _scrollTop;
+ }
+ }, 100);
+ };
+ $(function() {
+ var classList = document.body.classList;
+ var os = [];
+ if ($.os.ios) {
+ os.push({
+ os: 'ios',
+ version: $.os.version
+ });
+ classList.add('mui-ios');
+ } else if ($.os.android) {
+ os.push({
+ os: 'android',
+ version: $.os.version
+ });
+ classList.add('mui-android');
+ }
+ if ($.os.wechat) {
+ os.push({
+ os: 'wechat',
+ version: $.os.wechat.version
+ });
+ classList.add('mui-wechat');
+ }
+ if (os.length) {
+ $.each(os, function(index, osObj) {
+ var version = '';
+ var classArray = [];
+ if (osObj.version) {
+ $.each(osObj.version.split('.'), function(i, v) {
+ version = version + (version ? '-' : '') + v;
+ classList.add($.className(osObj.os + '-' + version));
+ });
+ }
+ });
+ }
+ });
+})(mui);
+/**
+ * mui.init 5+
+ * @param {type} $
+ * @returns {undefined}
+ */
+(function($) {
+ var defaultOptions = {
+ swipeBack: false,
+ preloadPages: [], //5+ lazyLoad webview
+ preloadLimit: 10, //棰勫姞杞界獥鍙g殑鏁伴噺闄愬埗(涓�鏃﹁秴鍑猴紝鍏堣繘鍏堝嚭)
+ keyEventBind: {
+ backbutton: true,
+ menubutton: true
+ },
+ titleConfig: {
+ height: "44px",
+ backgroundColor: "#f7f7f7", //瀵艰埅鏍忚儗鏅壊
+ bottomBorderColor: "#cccccc", //搴曢儴杈圭嚎棰滆壊
+ title: { //鏍囬閰嶇疆
+ text: "", //鏍囬鏂囧瓧
+ position: {
+ top: 0,
+ left: 0,
+ width: "100%",
+ height: "100%"
+ },
+ styles: {
+ color: "#000000",
+ align: "center",
+ family: "'Helvetica Neue',Helvetica,sans-serif",
+ size: "17px",
+ style: "normal",
+ weight: "normal",
+ fontSrc: ""
+ }
+ },
+ back: {
+ image: {
+ base64Data: '',
+ imgSrc: '',
+ sprite: {
+ top: '0px',
+ left: '0px',
+ width: '100%',
+ height: '100%'
+ },
+ position: {
+ top: "10px",
+ left: "10px",
+ width: "24px",
+ height: "24px"
+ }
+ }
+ }
+ }
+ };
+
+ //榛樿椤甸潰鍔ㄧ敾
+ var defaultShow = {
+ event:"titleUpdate",
+ autoShow: true,
+ duration: 300,
+ aniShow: 'slide-in-right',
+ extras:{}
+ };
+ //鑻ユ墽琛屼簡鏄剧ず鍔ㄧ敾鍒濆鍖栨搷浣滐紝鍒欒瑕嗙洊榛樿閰嶇疆
+ if($.options.show) {
+ defaultShow = $.extend(true, defaultShow, $.options.show);
+ }
+
+ $.currentWebview = null;
+
+ $.extend(true, $.global, defaultOptions);
+ $.extend(true, $.options, defaultOptions);
+ /**
+ * 绛夊緟鍔ㄧ敾閰嶇疆
+ * @param {type} options
+ * @returns {Object}
+ */
+ $.waitingOptions = function(options) {
+ return $.extend(true, {}, {
+ autoShow: true,
+ title: '',
+ modal: false
+ }, options);
+ };
+ /**
+ * 绐楀彛鏄剧ず閰嶇疆
+ * @param {type} options
+ * @returns {Object}
+ */
+ $.showOptions = function(options) {
+ return $.extend(true, {}, defaultShow, options);
+ };
+ /**
+ * 绐楀彛榛樿閰嶇疆
+ * @param {type} options
+ * @returns {Object}
+ */
+ $.windowOptions = function(options) {
+ return $.extend({
+ scalable: false,
+ bounce: "" //vertical
+ }, options);
+ };
+ /**
+ * plusReady
+ * @param {type} callback
+ * @returns {_L6.$}
+ */
+ $.plusReady = function(callback) {
+ if(window.plus) {
+ setTimeout(function() { //瑙e喅callback涓巔lusready浜嬩欢鐨勬墽琛屾椂鏈洪棶棰�(鍏稿瀷妗堜緥:showWaiting,closeWaiting)
+ callback();
+ }, 0);
+ } else {
+ document.addEventListener("plusready", function() {
+ callback();
+ }, false);
+ }
+ return this;
+ };
+ /**
+ * 5+ event(5+娌℃彁渚涗箣鍓嶆垜鑷繁瀹炵幇)
+ * @param {type} webview
+ * @param {type} eventType
+ * @param {type} data
+ * @returns {undefined}
+ */
+ $.fire = function(webview, eventType, data) {
+ if(webview) {
+ if(typeof data === 'undefined') {
+ data = '';
+ } else if(typeof data === 'boolean' || typeof data === 'number') {
+ webview.evalJS("typeof mui!=='undefined'&&mui.receive('" + eventType + "'," + data + ")");
+ return;
+ } else if($.isPlainObject(data) || $.isArray(data)) {
+ data = JSON.stringify(data || {}).replace(/\'/g, "\\u0027").replace(/\\/g, "\\u005c");
+ }
+ webview.evalJS("typeof mui!=='undefined'&&mui.receive('" + eventType + "','" + data + "')");
+ }
+ };
+ /**
+ * 5+ event(5+娌℃彁渚涗箣鍓嶆垜鑷繁瀹炵幇)
+ * @param {type} eventType
+ * @param {type} data
+ * @returns {undefined}
+ */
+ $.receive = function(eventType, data) {
+ if(eventType) {
+ try {
+ if(data && typeof data === 'string') {
+ data = JSON.parse(data);
+ }
+ } catch(e) {}
+ $.trigger(document, eventType, data);
+ }
+ };
+ var triggerPreload = function(webview) {
+ if(!webview.preloaded) { //淇濊瘉浠呰Е鍙戜竴娆�
+ $.fire(webview, 'preload');
+ var list = webview.children();
+ for(var i = 0; i < list.length; i++) {
+ $.fire(list[i], 'preload');
+ }
+ webview.preloaded = true;
+ }
+ };
+ var trigger = function(webview, eventType, timeChecked) {
+ if(timeChecked) {
+ if(!webview[eventType + 'ed']) {
+ $.fire(webview, eventType);
+ var list = webview.children();
+ for(var i = 0; i < list.length; i++) {
+ $.fire(list[i], eventType);
+ }
+ webview[eventType + 'ed'] = true;
+ }
+ } else {
+ $.fire(webview, eventType);
+ var list = webview.children();
+ for(var i = 0; i < list.length; i++) {
+ $.fire(list[i], eventType);
+ }
+ }
+
+ };
+ /**
+ * 鎵撳紑鏂扮獥鍙�
+ * @param {string} url 瑕佹墦寮�鐨勯〉闈㈠湴鍧�
+ * @param {string} id 鎸囧畾椤甸潰ID
+ * @param {object} options 鍙��:鍙傛暟,绛夊緟,绐楀彛,鏄剧ず閰嶇疆{params:{},waiting:{},styles:{},show:{}}
+ */
+ $.openWindow = function(url, id, options) {
+ if(typeof url === 'object') {
+ options = url;
+ url = options.url;
+ id = options.id || url;
+ } else {
+ if(typeof id === 'object') {
+ options = id;
+ id = options.id || url;
+ } else {
+ id = id || url;
+ }
+ }
+ if(!$.os.plus) {
+ //TODO 鍏堜复鏃惰繖涔堝鐞嗭細鎵嬫満涓婇《灞傝烦锛孭C涓妏arent璺�
+ if($.os.ios || $.os.android) {
+ window.top.location.href = url;
+ } else {
+ window.parent.location.href = url;
+ }
+ return;
+ }
+ if(!window.plus) {
+ return;
+ }
+
+ options = options || {};
+ var params = options.params || {};
+ var webview = null,
+ webviewCache = null,
+ nShow, nWaiting;
+
+ if($.webviews[id]) {
+ webviewCache = $.webviews[id];
+ //webview鐪熷疄瀛樺湪锛屾墠鑳借幏鍙�
+ if(plus.webview.getWebviewById(id)) {
+ webview = webviewCache.webview;
+ }
+ } else if(options.createNew !== true) {
+ webview = plus.webview.getWebviewById(id);
+ }
+
+ if(webview) { //宸茬紦瀛�
+ //姣忔show閮介渶瑕佷紶閫掑姩鐢诲弬鏁帮紱
+ //棰勫姞杞界殑鍔ㄧ敾鍙傛暟浼樺厛绾э細openWindow閰嶇疆>preloadPages閰嶇疆>mui榛樿閰嶇疆锛�
+ nShow = webviewCache ? webviewCache.show : defaultShow;
+ nShow = options.show ? $.extend(nShow, options.show) : nShow;
+ nShow.autoShow && webview.show(nShow.aniShow, nShow.duration, function() {
+ triggerPreload(webview);
+ trigger(webview, 'pagebeforeshow', false);
+ });
+ if(webviewCache) {
+ webviewCache.afterShowMethodName && webview.evalJS(webviewCache.afterShowMethodName + '(\'' + JSON.stringify(params) + '\')');
+ }
+ return webview;
+ } else { //鏂扮獥鍙�
+ if(!url) {
+ throw new Error('webview[' + id + '] does not exist');
+ }
+
+ //鏄剧ずwaiting
+ var waitingConfig = $.waitingOptions(options.waiting);
+ if(waitingConfig.autoShow) {
+ nWaiting = plus.nativeUI.showWaiting(waitingConfig.title, waitingConfig.options);
+ }
+
+ //鍒涘缓椤甸潰
+ options = $.extend(options, {
+ id: id,
+ url: url
+ });
+
+ webview = $.createWindow(options);
+
+ //鏄剧ず
+ nShow = $.showOptions(options.show);
+ if(nShow.autoShow) {
+ var showWebview = function() {
+ //鍏抽棴绛夊緟妗�
+ if(nWaiting) {
+ nWaiting.close();
+ }
+ //鏄剧ず椤甸潰
+ webview.show(nShow.aniShow, nShow.duration, function() {},nShow.extras);
+ options.afterShowMethodName && webview.evalJS(options.afterShowMethodName + '(\'' + JSON.stringify(params) + '\')');
+ };
+ //titleUpdate瑙﹀彂鏃舵満鏃╀簬loaded锛屾洿鎹负titleUpdate鍚庯紝鍙互鏇存棭鐨勬樉绀簑ebview
+ webview.addEventListener(nShow.event, showWebview, false);
+ //loaded浜嬩欢鍙戠敓鍚庯紝瑙﹀彂棰勫姞杞藉拰pagebeforeshow浜嬩欢
+ webview.addEventListener("loaded", function() {
+ triggerPreload(webview);
+ trigger(webview, 'pagebeforeshow', false);
+ }, false);
+ }
+ }
+ return webview;
+ };
+
+ $.openWindowWithTitle = function(options, titleConfig) {
+ options = options || {};
+ var url = options.url;
+ var id = options.id || url;
+
+ if(!$.os.plus) {
+ //TODO 鍏堜复鏃惰繖涔堝鐞嗭細鎵嬫満涓婇《灞傝烦锛孭C涓妏arent璺�
+ if($.os.ios || $.os.android) {
+ window.top.location.href = url;
+ } else {
+ window.parent.location.href = url;
+ }
+ return;
+ }
+ if(!window.plus) {
+ return;
+ }
+
+ var params = options.params || {};
+ var webview = null,
+ webviewCache = null,
+ nShow, nWaiting;
+
+ if($.webviews[id]) {
+ webviewCache = $.webviews[id];
+ //webview鐪熷疄瀛樺湪锛屾墠鑳借幏鍙�
+ if(plus.webview.getWebviewById(id)) {
+ webview = webviewCache.webview;
+ }
+ } else if(options.createNew !== true) {
+ webview = plus.webview.getWebviewById(id);
+ }
+
+ if(webview) { //宸茬紦瀛�
+ //姣忔show閮介渶瑕佷紶閫掑姩鐢诲弬鏁帮紱
+ //棰勫姞杞界殑鍔ㄧ敾鍙傛暟浼樺厛绾э細openWindow閰嶇疆>preloadPages閰嶇疆>mui榛樿閰嶇疆锛�
+ nShow = webviewCache ? webviewCache.show : defaultShow;
+ nShow = options.show ? $.extend(nShow, options.show) : nShow;
+ nShow.autoShow && webview.show(nShow.aniShow, nShow.duration, function() {
+ triggerPreload(webview);
+ trigger(webview, 'pagebeforeshow', false);
+ });
+ if(webviewCache) {
+ webviewCache.afterShowMethodName && webview.evalJS(webviewCache.afterShowMethodName + '(\'' + JSON.stringify(params) + '\')');
+ }
+ return webview;
+ } else { //鏂扮獥鍙�
+ if(!url) {
+ throw new Error('webview[' + id + '] does not exist');
+ }
+
+ //鏄剧ずwaiting
+ var waitingConfig = $.waitingOptions(options.waiting);
+ if(waitingConfig.autoShow) {
+ nWaiting = plus.nativeUI.showWaiting(waitingConfig.title, waitingConfig.options);
+ }
+
+ //鍒涘缓椤甸潰
+ options = $.extend(options, {
+ id: id,
+ url: url
+ });
+
+ webview = $.createWindow(options);
+
+ if(titleConfig) { //澶勭悊鍘熺敓澶�
+ $.extend(true, $.options.titleConfig, titleConfig);
+ var tid = $.options.titleConfig.id ? $.options.titleConfig.id : id + "_title";
+ var view = new plus.nativeObj.View(tid, {
+ top: 0,
+ height: $.options.titleConfig.height,
+ width: "100%",
+ dock: "top",
+ position: "dock"
+ });
+ view.drawRect($.options.titleConfig.backgroundColor); //缁樺埗鑳屾櫙鑹�
+ var _b = parseInt($.options.titleConfig.height) - 1;
+ view.drawRect($.options.titleConfig.bottomBorderColor, {
+ top: _b + "px",
+ left: "0px"
+ }); //缁樺埗搴曢儴杈圭嚎
+
+ //缁樺埗鏂囧瓧
+ if($.options.titleConfig.title.text){
+ var _title = $.options.titleConfig.title;
+ view.drawText(_title.text,_title.position , _title.styles);
+ }
+
+ //杩斿洖鍥炬爣缁樺埗
+ var _back = $.options.titleConfig.back;
+ var backClick = null;
+ //浼樺厛瀛椾綋
+
+ //鍏舵鏄浘鐗�
+ var _backImage = _back.image;
+ if(_backImage.base64Data || _backImage.imgSrc) {
+ //TODO 姝ゅ闇�瑕佸鐞嗙櫨鍒嗘瘮鐨勬儏鍐�
+ backClick = {
+ left:parseInt(_backImage.position.left),
+ right:parseInt(_backImage.position.left) + parseInt(_backImage.position.width)
+ };
+ var bitmap = new plus.nativeObj.Bitmap(id + "_back");
+ if(_backImage.base64Data) { //浼樺厛base64缂栫爜瀛楃涓�
+ bitmap.loadBase64Data(_backImage.base64Data);
+ } else { //鍏舵鍔犺浇鍥剧墖鏂囦欢
+ bitmap.load(_backImage.imgSrc);
+ }
+ view.drawBitmap(bitmap,_backImage.sprite , _backImage.position);
+ }
+
+ //澶勭悊鐐瑰嚮浜嬩欢
+ view.setTouchEventRect({
+ top: "0px",
+ left: "0px",
+ width: "100%",
+ height: "100%"
+ });
+ view.interceptTouchEvent(true);
+ view.addEventListener("click", function(e) {
+ var x = e.clientX;
+
+ //杩斿洖鎸夐挳鐐瑰嚮
+ if(backClick&& x > backClick.left && x < backClick.right){
+ if( _back.click && $.isFunction(_back.click)){
+ _back.click();
+ }else{
+ webview.evalJS("window.mui&&mui.back();");
+ }
+ }
+ }, false);
+ webview.append(view);
+
+ }
+
+ //鏄剧ず
+ nShow = $.showOptions(options.show);
+ if(nShow.autoShow) {
+ //titleUpdate瑙﹀彂鏃舵満鏃╀簬loaded锛屾洿鎹负titleUpdate鍚庯紝鍙互鏇存棭鐨勬樉绀簑ebview
+ webview.addEventListener(nShow.event, function () {
+ //鍏抽棴绛夊緟妗�
+ if(nWaiting) {
+ nWaiting.close();
+ }
+ //鏄剧ず椤甸潰
+ webview.show(nShow.aniShow, nShow.duration, function() {},nShow.extras);
+ }, false);
+ }
+ }
+ return webview;
+ };
+
+ /**
+ * 鏍规嵁閰嶇疆淇℃伅鍒涘缓涓�涓獁ebview
+ * @param {type} options
+ * @param {type} isCreate
+ * @returns {webview}
+ */
+ $.createWindow = function(options, isCreate) {
+ if(!window.plus) {
+ return;
+ }
+ var id = options.id || options.url;
+ var webview;
+ if(options.preload) {
+ if($.webviews[id] && $.webviews[id].webview.getURL()) { //宸茬粡cache
+ webview = $.webviews[id].webview;
+ } else { //鏂板棰勫姞杞界獥鍙�
+ //鍒ゆ柇鏄惁鎼哄甫createNew鍙傛暟锛岄粯璁や负false
+ if(options.createNew !== true) {
+ webview = plus.webview.getWebviewById(id);
+ }
+
+ //涔嬪墠娌℃湁锛岄偅灏辨柊鍒涘缓
+ if(!webview) {
+ webview = plus.webview.create(options.url, id, $.windowOptions(options.styles), $.extend({
+ preload: true
+ }, options.extras));
+ if(options.subpages) {
+ $.each(options.subpages, function(index, subpage) {
+ var subpageId = subpage.id || subpage.url;
+ if(subpageId) { //杩囨护绌哄璞�
+ var subWebview = plus.webview.getWebviewById(subpageId);
+ if(!subWebview) { //濡傛灉璇ebview涓嶅瓨鍦紝鍒欏垱寤�
+ subWebview = plus.webview.create(subpage.url, subpageId, $.windowOptions(subpage.styles), $.extend({
+ preload: true
+ }, subpage.extras));
+ }
+ webview.append(subWebview);
+ }
+ });
+ }
+ }
+ }
+
+ //TODO 鐞嗚涓婏紝瀛恮ebview涔熷簲璇ヨ绠楀埌棰勫姞杞介槦鍒椾腑锛屼絾杩欐牱灏遍夯鐑︿簡锛岃閫�蹇呴』閫�鏁翠綋锛屽惁鍒欏彲鑳藉嚭鐜伴棶棰橈紱
+ $.webviews[id] = {
+ webview: webview, //鐩墠浠卲reload鐨勭紦瀛榳ebview
+ preload: true,
+ show: $.showOptions(options.show),
+ afterShowMethodName: options.afterShowMethodName //灏变笉搴旇鐢╡valJS銆傚簲璇ユ槸閫氳繃浜嬩欢娑堟伅閫氳
+ };
+ //绱㈠紩璇ラ鍔犺浇绐楀彛
+ var preloads = $.data.preloads;
+ var index = preloads.indexOf(id);
+ if(~index) { //鍒犻櫎宸插瓨鍦ㄧ殑(鍙樼浉璋冩暣鎻掑叆浣嶇疆)
+ preloads.splice(index, 1);
+ }
+ preloads.push(id);
+ if(preloads.length > $.options.preloadLimit) {
+ //鍏堣繘鍏堝嚭
+ var first = $.data.preloads.shift();
+ var webviewCache = $.webviews[first];
+ if(webviewCache && webviewCache.webview) {
+ //闇�瑕佸皢鑷繁鎵撳紑鐨勬墍鏈夐〉闈紝鍏ㄩ儴close锛�
+ //鍏抽棴璇ラ鍔犺浇webview
+ $.closeAll(webviewCache.webview);
+ }
+ //鍒犻櫎缂撳瓨
+ delete $.webviews[first];
+ }
+ } else {
+ if(isCreate !== false) { //鐩存帴鍒涘缓闈為鍔犺浇绐楀彛
+ webview = plus.webview.create(options.url, id, $.windowOptions(options.styles), options.extras);
+ if(options.subpages) {
+ $.each(options.subpages, function(index, subpage) {
+ var subpageId = subpage.id || subpage.url;
+ var subWebview = plus.webview.getWebviewById(subpageId);
+ if(!subWebview) {
+ subWebview = plus.webview.create(subpage.url, subpageId, $.windowOptions(subpage.styles), subpage.extras);
+ }
+ webview.append(subWebview);
+ });
+ }
+ }
+ }
+ return webview;
+ };
+
+ /**
+ * 棰勫姞杞�
+ */
+ $.preload = function(options) {
+ //璋冪敤棰勫姞杞藉嚱鏁帮紝涓嶇鏄惁浼犻�抪reload鍙傛暟锛屽己鍒跺彉涓簍rue
+ if(!options.preload) {
+ options.preload = true;
+ }
+ return $.createWindow(options);
+ };
+
+ /**
+ *鍏抽棴褰撳墠webview鎵撳紑鐨勬墍鏈墂ebview锛�
+ */
+ $.closeOpened = function(webview) {
+ var opened = webview.opened();
+ if(opened) {
+ for(var i = 0, len = opened.length; i < len; i++) {
+ var openedWebview = opened[i];
+ var open_open = openedWebview.opened();
+ if(open_open && open_open.length > 0) {
+ //鍏抽棴鎵撳紑鐨剋ebview
+ $.closeOpened(openedWebview);
+ //鍏抽棴鑷繁
+ openedWebview.close("none");
+ } else {
+ //濡傛灉鐩存帴瀛╁瓙鑺傜偣锛屽氨涓嶇敤鍏抽棴浜嗭紝鍥犱负鐖跺叧闂殑鏃跺�欙紝浼氳嚜鍔ㄥ叧闂瓙锛�
+ if(openedWebview.parent() !== webview) {
+ openedWebview.close('none');
+ }
+ }
+ }
+ }
+ };
+ $.closeAll = function(webview, aniShow) {
+ $.closeOpened(webview);
+ if(aniShow) {
+ webview.close(aniShow);
+ } else {
+ webview.close();
+ }
+ };
+
+ /**
+ * 鎵归噺鍒涘缓webview
+ * @param {type} options
+ * @returns {undefined}
+ */
+ $.createWindows = function(options) {
+ $.each(options, function(index, option) {
+ //鍒濆鍖栭鍔犺浇绐楀彛(鍒涘缓)鍜岄潪棰勫姞杞界獥鍙�(浠呴厤缃紝涓嶅垱寤�)
+ $.createWindow(option, false);
+ });
+ };
+ /**
+ * 鍒涘缓褰撳墠椤甸潰鐨勫瓙webview
+ * @param {type} options
+ * @returns {webview}
+ */
+ $.appendWebview = function(options) {
+ if(!window.plus) {
+ return;
+ }
+ var id = options.id || options.url;
+ var webview;
+ if(!$.webviews[id]) { //淇濊瘉鎵ц涓�閬�
+ //TODO 杩欓噷涔熸湁闅愭偅锛屾瘮濡傛煇涓獁ebview涓嶆槸浣滀负subpage鍒涘缓鐨勶紝鑰屾槸浣滀负target webview鐨勮瘽锛�
+ if(!plus.webview.getWebviewById(id)) {
+ webview = plus.webview.create(options.url, id, options.styles, options.extras);
+ }
+ //涔嬪墠鐨勫疄鐜版柟妗堬細瀛愮獥鍙oaded涔嬪悗鍐峚ppend鍒扮埗绐楀彛涓紱
+ //闂锛氶儴鍒嗗瓙绐楀彛loaded浜嬩欢鍙戠敓杈冩櫄锛屾鏃舵墽琛岀埗绐楀彛鐨刢hildren鏂规硶浼氳繑鍥炵┖锛屽鑷寸埗瀛愰�氳澶辫触锛�
+ // 姣斿鐖堕〉闈㈡墽琛屽畬preload浜嬩欢鍚庯紝闇�瑙﹀彂瀛愰〉闈㈢殑preload浜嬩欢锛屾鏃舵湭append鐨勮瘽锛屽氨鏃犳硶瑙﹀彂锛�
+ //淇敼鏂瑰紡锛氫笉鍐嶇洃鎺oaded浜嬩欢锛岀洿鎺ppend
+ //by chb@20150521
+ // webview.addEventListener('loaded', function() {
+ plus.webview.currentWebview().append(webview);
+ // });
+ $.webviews[id] = options;
+
+ }
+ return webview;
+ };
+
+ //鍏ㄥ眬webviews
+ $.webviews = {};
+ //棰勫姞杞界獥鍙g储寮�
+ $.data.preloads = [];
+ //$.currentWebview
+ $.plusReady(function() {
+ $.currentWebview = plus.webview.currentWebview();
+ });
+ $.addInit({
+ name: '5+',
+ index: 100,
+ handle: function() {
+ var options = $.options;
+ var subpages = options.subpages || [];
+ if($.os.plus) {
+ $.plusReady(function() {
+ //TODO 杩欓噷闇�瑕佸垽鏂竴涓嬶紝鏈�濂界瓑瀛愮獥鍙e姞杞藉畬姣曞悗锛屽啀璋冪敤涓荤獥鍙g殑show鏂规硶锛�
+ //鎴栬�咃細鍦╫penwindow鏂规硶涓紝鐩戝惉瀹炵幇锛�
+ $.each(subpages, function(index, subpage) {
+ $.appendWebview(subpage);
+ });
+ //鍒ゆ柇鏄惁棣栭〉
+ if(plus.webview.currentWebview() === plus.webview.getWebviewById(plus.runtime.appid)) {
+ //棣栭〉闇�瑕佽嚜宸辨縺娲婚鍔犺浇锛�
+ //timeout鍥犱负瀛愰〉闈oaded涔嬪悗鎵峚ppend鐨勶紝闃叉瀛愰〉闈㈠皻鏈猘ppend銆佷粠鑰屽鑷村叾preload鏈Е鍙戠殑闂锛�
+ setTimeout(function() {
+ triggerPreload(plus.webview.currentWebview());
+ }, 300);
+ }
+ //璁剧疆ios椤堕儴鐘舵�佹爮棰滆壊锛�
+ if($.os.ios && $.options.statusBarBackground) {
+ plus.navigator.setStatusBarBackground($.options.statusBarBackground);
+ }
+ if($.os.android && parseFloat($.os.version) < 4.4) {
+ //瑙e喅Android骞冲彴4.4鐗堟湰浠ヤ笅锛宺esume鍚庯紝鐖剁獥浣撴爣棰樺欢杩熸覆鏌撶殑闂锛�
+ if(plus.webview.currentWebview().parent() == null) {
+ document.addEventListener("resume", function() {
+ var body = document.body;
+ body.style.display = 'none';
+ setTimeout(function() {
+ body.style.display = '';
+ }, 10);
+ });
+ }
+ }
+ });
+ } else {
+ //宸叉敮鎸乮frame宓屽叆
+ // 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() {
+ //澶勭悊棰勫姞杞介儴鍒�
+ var webviews = $.options.preloadPages || [];
+ $.plusReady(function() {
+ $.each(webviews, function(index, webview) {
+ $.createWindow($.extend(webview, {
+ preload: true
+ }));
+ });
+
+ });
+ });
+ $.supportStatusbarOffset = function() {
+ return $.os.plus && $.os.ios && parseFloat($.os.version) >= 7;
+ };
+ $.ready(function() {
+ //鏍囪瘑褰撳墠鐜鏀寔statusbar
+ if($.supportStatusbarOffset()) {
+ document.body.classList.add('mui-statusbar');
+ }
+ });
+})(mui);
+
+/**
+ * mui back
+ * @param {type} $
+ * @param {type} window
+ * @returns {undefined}
+ */
+(function($, window) {
+ /**
+ * register back
+ * @param {type} back
+ * @returns {$.gestures}
+ */
+ $.addBack = function(back) {
+ return $.addAction('backs', back);
+ };
+ /**
+ * default
+ */
+ $.addBack({
+ name: 'browser',
+ index: 100,
+ handle: function() {
+ if (window.history.length > 1) {
+ window.history.back();
+ return true;
+ }
+ return false;
+ }
+ });
+ /**
+ * 鍚庨��
+ */
+ $.back = function() {
+ if (typeof $.options.beforeback === 'function') {
+ if ($.options.beforeback() === false) {
+ return;
+ }
+ }
+ $.doAction('backs');
+ };
+ window.addEventListener('tap', function(e) {
+ var action = $.targets.action;
+ if (action && action.classList.contains('mui-action-back')) {
+ $.back();
+ $.targets.action = false;
+ }
+ });
+ window.addEventListener('swiperight', function(e) {
+ var detail = e.detail;
+ if ($.options.swipeBack === true && Math.abs(detail.angle) < 3) {
+ $.back();
+ }
+ });
+
+})(mui, window);
+/**
+ * mui back 5+
+ * @param {type} $
+ * @param {type} window
+ * @returns {undefined}
+ */
+(function($, window) {
+ if ($.os.plus && $.os.android) {
+ $.addBack({
+ name: 'mui',
+ index: 5,
+ handle: function() {
+ //鍚庣画閲嶆柊璁捐姝ゅ锛屽皢back鏀惧埌鍚勪釜绌洪棿鍐呴儴瀹炵幇
+ //popover
+ if ($.targets._popover && $.targets._popover.classList.contains('mui-active')) {
+ $($.targets._popover).popover('hide');
+ return true;
+ }
+ //offcanvas
+ var offCanvas = document.querySelector('.mui-off-canvas-wrap.mui-active');
+ if (offCanvas) {
+ $(offCanvas).offCanvas('close');
+ return true;
+ }
+ var previewImage = $.isFunction($.getPreviewImage) && $.getPreviewImage();
+ if (previewImage && previewImage.isShown()) {
+ previewImage.close();
+ return true;
+ }
+ //popup
+ return $.closePopup();
+ }
+ });
+ }
+ //棣栨鎸変笅back鎸夐敭鐨勬椂闂�
+ $.__back__first = null;
+ /**
+ * 5+ back
+ */
+ $.addBack({
+ name: '5+',
+ index: 10,
+ handle: function() {
+ if (!window.plus) {
+ return false;
+ }
+ var wobj = plus.webview.currentWebview();
+ var parent = wobj.parent();
+ if (parent) {
+ parent.evalJS('mui&&mui.back();');
+ } else {
+ wobj.canBack(function(e) {
+ //by chb 鏆傛椂娉ㄩ噴锛屽湪纰板埌绫讳技popover涔嬬被鐨勯敋鐐圭殑鏃跺�欙紝闇�澶氭鐐瑰嚮鎵嶈兘杩斿洖锛�
+ if (e.canBack) { //webview history back
+ window.history.back();
+ } else { //webview close or hide
+ //fixed by fxy 姝ゅ涓嶅簲璇ョ敤opener鍒ゆ柇锛屽洜涓虹敤鎴锋湁鍙兘鑷繁close鎺夊綋鍓嶇獥鍙g殑opener銆傝繖鏍风殑璇濄�俹pener灏变负绌轰簡锛屽鑷翠笉鑳芥墽琛宑lose
+ if (wobj.id === plus.runtime.appid) { //棣栭〉
+ //棣栭〉涓嶅瓨鍦╫pener鐨勬儏鍐典笅锛屽悗閫�瀹為檯涓婂簲璇ユ槸閫�鍑哄簲鐢紱
+ //棣栨鎸夐敭锛屾彁绀衡�樺啀鎸変竴娆¢��鍑哄簲鐢ㄢ��
+ if (!$.__back__first) {
+ $.__back__first = new Date().getTime();
+ mui.toast('鍐嶆寜涓�娆¢��鍑哄簲鐢�');
+ setTimeout(function() {
+ $.__back__first = null;
+ }, 2000);
+ } else {
+ if (new Date().getTime() - $.__back__first < 2000) {
+ plus.runtime.quit();
+ }
+ }
+ } else { //鍏朵粬椤甸潰锛�
+ if (wobj.preload) {
+ wobj.hide("auto");
+ } else {
+ //鍏抽棴椤甸潰鏃讹紝闇�瑕佸皢鍏舵墦寮�鐨勬墍鏈夊瓙椤甸潰鍏ㄩ儴鍏抽棴锛�
+ $.closeAll(wobj);
+ }
+ }
+ }
+ });
+ }
+ return true;
+ }
+ });
+
+
+ $.menu = function() {
+ var menu = document.querySelector('.mui-action-menu');
+ if (menu) {
+ $.trigger(menu, $.EVENT_START); //涓存椂澶勭悊menu鏃爐ouchstart鐨勮瘽锛屾壘涓嶅埌褰撳墠targets鐨勯棶棰�
+ $.trigger(menu, 'tap');
+ } else { //鎵ц鐖剁獥鍙g殑menu
+ if (window.plus) {
+ var wobj = $.currentWebview;
+ var parent = wobj.parent();
+ if (parent) { //鍙堝緱evalJS
+ parent.evalJS('mui&&mui.menu();');
+ }
+ }
+ }
+ };
+ var __back = function() {
+ $.back();
+ };
+ var __menu = function() {
+ $.menu();
+ };
+ //榛樿鐩戝惉
+ $.plusReady(function() {
+ if ($.options.keyEventBind.backbutton) {
+ plus.key.addEventListener('backbutton', __back, false);
+ }
+ if ($.options.keyEventBind.menubutton) {
+ plus.key.addEventListener('menubutton', __menu, false);
+ }
+ });
+ //澶勭悊鎸夐敭鐩戝惉浜嬩欢
+ $.addInit({
+ name: 'keyEventBind',
+ index: 1000,
+ handle: function() {
+ $.plusReady(function() {
+ //濡傛灉涓嶄负true锛屽垯绉婚櫎榛樿鐩戝惉
+ if (!$.options.keyEventBind.backbutton) {
+ plus.key.removeEventListener('backbutton', __back);
+ }
+ if (!$.options.keyEventBind.menubutton) {
+ plus.key.removeEventListener('menubutton', __menu);
+ }
+ });
+ }
+ });
+})(mui, window);
+/**
+ * mui.init pulldownRefresh
+ * @param {type} $
+ * @returns {undefined}
+ */
+(function($) {
+ $.addInit({
+ name: 'pullrefresh',
+ index: 1000,
+ handle: function() {
+ var options = $.options;
+ var pullRefreshOptions = options.pullRefresh || {};
+ var hasPulldown = pullRefreshOptions.down && pullRefreshOptions.down.hasOwnProperty('callback');
+ var hasPullup = pullRefreshOptions.up && pullRefreshOptions.up.hasOwnProperty('callback');
+ if(hasPulldown || hasPullup) {
+ var container = pullRefreshOptions.container;
+ if(container) {
+ var $container = $(container);
+ if($container.length === 1) {
+ if($.os.plus) { //5+鐜
+ if(hasPulldown && pullRefreshOptions.down.style == "circle") { //鍘熺敓杞湀
+ $.plusReady(function() {
+ //杩欓噷鏀瑰啓$.fn.pullRefresh
+ $.fn.pullRefresh = $.fn.pullRefresh_native;
+ $container.pullRefresh(pullRefreshOptions);
+ });
+
+ } else if($.os.android) { //闈炲師鐢熻浆鍦堬紝浣嗘槸Android鐜
+ $.plusReady(function() {
+ //杩欓噷鏀瑰啓$.fn.pullRefresh
+ $.fn.pullRefresh = $.fn.pullRefresh_native
+ var webview = plus.webview.currentWebview();
+ if(window.__NWin_Enable__ === false) { //涓嶆敮鎸佸webview
+ $container.pullRefresh(pullRefreshOptions);
+ } else {
+ if(hasPullup) {
+ //褰撳墠椤甸潰鍒濆鍖杙ullup
+ var upOptions = {};
+ upOptions.up = pullRefreshOptions.up;
+ upOptions.webviewId = webview.id || webview.getURL();
+ $container.pullRefresh(upOptions);
+ }
+ if(hasPulldown) {
+ var parent = webview.parent();
+ var id = webview.id || webview.getURL();
+ if(parent) {
+ if(!hasPullup) { //濡傛灉娌℃湁涓婃媺鍔犺浇锛岄渶瑕佹墜鍔ㄥ垵濮嬪寲涓�涓粯璁ょ殑pullRefresh锛屼互渚垮綋鍓嶉〉闈㈠鍣ㄥ彲浠ヨ皟鐢╡ndPulldownToRefresh绛夋柟娉�
+ $container.pullRefresh({
+ webviewId: id
+ });
+ }
+ var downOptions = {
+ webviewId: id//瀛愰〉闈d
+ };
+ downOptions.down = $.extend({}, pullRefreshOptions.down);
+ downOptions.down.callback = '_CALLBACK';
+ //鏀瑰啓鐖堕〉闈㈢殑$.fn.pullRefresh
+ parent.evalJS("mui.fn.pullRefresh=mui.fn.pullRefresh_native");
+ //鐖堕〉闈㈠垵濮嬪寲pulldown
+ parent.evalJS("mui&&mui(document.querySelector('.mui-content')).pullRefresh('" + JSON.stringify(downOptions) + "')");
+ }
+ }
+ }
+ });
+ } else { //闈炲師鐢熻浆鍦堬紝iOS鐜
+ $container.pullRefresh(pullRefreshOptions);
+ }
+ } else {
+ $container.pullRefresh(pullRefreshOptions);
+ }
+ }
+ }
+ }
+ }
+ });
+})(mui);
+/**
+ * mui ajax
+ * @param {type} $
+ * @returns {undefined}
+ */
+(function($, window, undefined) {
+
+ var jsonType = 'application/json';
+ var htmlType = 'text/html';
+ var rscript = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi;
+ var scriptTypeRE = /^(?:text|application)\/javascript/i;
+ var xmlTypeRE = /^(?:text|application)\/xml/i;
+ var blankRE = /^\s*$/;
+
+ $.ajaxSettings = {
+ type: 'GET',
+ beforeSend: $.noop,
+ success: $.noop,
+ error: $.noop,
+ complete: $.noop,
+ context: null,
+ xhr: function(protocol) {
+ return new window.XMLHttpRequest();
+ },
+ accepts: {
+ script: 'text/javascript, application/javascript, application/x-javascript',
+ json: jsonType,
+ xml: 'application/xml, text/xml',
+ html: htmlType,
+ text: 'text/plain'
+ },
+ timeout: 0,
+ processData: true,
+ cache: true
+ };
+ var ajaxBeforeSend = function(xhr, settings) {
+ var context = settings.context
+ if(settings.beforeSend.call(context, xhr, settings) === false) {
+ return false;
+ }
+ };
+ var ajaxSuccess = function(data, xhr, settings) {
+ settings.success.call(settings.context, data, 'success', xhr);
+ ajaxComplete('success', xhr, settings);
+ };
+ // type: "timeout", "error", "abort", "parsererror"
+ var ajaxError = function(error, type, xhr, settings) {
+ settings.error.call(settings.context, xhr, type, error);
+ ajaxComplete(type, xhr, settings);
+ };
+ // status: "success", "notmodified", "error", "timeout", "abort", "parsererror"
+ var ajaxComplete = function(status, xhr, settings) {
+ settings.complete.call(settings.context, xhr, status);
+ };
+
+ var serialize = function(params, obj, traditional, scope) {
+ var type, array = $.isArray(obj),
+ hash = $.isPlainObject(obj);
+ $.each(obj, function(key, value) {
+ type = $.type(value);
+ if(scope) {
+ key = traditional ? scope :
+ scope + '[' + (hash || type === 'object' || type === 'array' ? key : '') + ']';
+ }
+ // handle data in serializeArray() format
+ if(!scope && array) {
+ params.add(value.name, value.value);
+ }
+ // recurse into nested objects
+ else if(type === "array" || (!traditional && type === "object")) {
+ serialize(params, value, traditional, key);
+ } else {
+ params.add(key, value);
+ }
+ });
+ };
+ var serializeData = function(options) {
+ if(options.processData && options.data && typeof options.data !== "string") {
+ var contentType = options.contentType;
+ if(!contentType && options.headers) {
+ contentType = options.headers['Content-Type'];
+ }
+ if(contentType && ~contentType.indexOf(jsonType)) { //application/json
+ options.data = JSON.stringify(options.data);
+ } else {
+ options.data = $.param(options.data, options.traditional);
+ }
+ }
+ if(options.data && (!options.type || options.type.toUpperCase() === 'GET')) {
+ options.url = appendQuery(options.url, options.data);
+ options.data = undefined;
+ }
+ };
+ var appendQuery = function(url, query) {
+ if(query === '') {
+ return url;
+ }
+ return(url + '&' + query).replace(/[&?]{1,2}/, '?');
+ };
+ var mimeToDataType = function(mime) {
+ if(mime) {
+ mime = mime.split(';', 2)[0];
+ }
+ return mime && (mime === htmlType ? 'html' :
+ mime === jsonType ? 'json' :
+ scriptTypeRE.test(mime) ? 'script' :
+ xmlTypeRE.test(mime) && 'xml') || 'text';
+ };
+ var parseArguments = function(url, data, success, dataType) {
+ if($.isFunction(data)) {
+ dataType = success, success = data, data = undefined;
+ }
+ if(!$.isFunction(success)) {
+ dataType = success, success = undefined;
+ }
+ return {
+ url: url,
+ data: data,
+ success: success,
+ dataType: dataType
+ };
+ };
+ $.ajax = function(url, options) {
+ if(typeof url === "object") {
+ options = url;
+ url = undefined;
+ }
+ var settings = options || {};
+ settings.url = url || settings.url;
+ for(var key in $.ajaxSettings) {
+ if(settings[key] === undefined) {
+ settings[key] = $.ajaxSettings[key];
+ }
+ }
+ serializeData(settings);
+ var dataType = settings.dataType;
+
+ if(settings.cache === false || ((!options || options.cache !== true) && ('script' === dataType))) {
+ settings.url = appendQuery(settings.url, '_=' + $.now());
+ }
+ var mime = settings.accepts[dataType && dataType.toLowerCase()];
+ var headers = {};
+ var setHeader = function(name, value) {
+ headers[name.toLowerCase()] = [name, value];
+ };
+ var protocol = /^([\w-]+:)\/\//.test(settings.url) ? RegExp.$1 : window.location.protocol;
+ var xhr = settings.xhr(settings);
+
+ if(location.protocol === 'file:' && $.os.ios && window.webkit && window.webkit.messageHandlers && !(xhr instanceof plus.net.XMLHttpRequest)){
+ console.error("褰撳墠杩愯鐜涓篧KWebview锛岄渶鍦╬lusReady浜嬩欢瑙﹀彂鍚庡啀璋冪敤mui.ajax锛屽惁鍒欏彲鑳戒細鎵ц澶辫触鎴栨姤Script error鐨勯敊璇�")
+ }
+ var nativeSetHeader = xhr.setRequestHeader;
+ var abortTimeout;
+
+ setHeader('X-Requested-With', 'XMLHttpRequest');
+ setHeader('Accept', mime || '*/*');
+ if(!!(mime = settings.mimeType || mime)) {
+ if(mime.indexOf(',') > -1) {
+ mime = mime.split(',', 2)[0];
+ }
+ xhr.overrideMimeType && xhr.overrideMimeType(mime);
+ }
+ if(settings.contentType || (settings.contentType !== false && settings.data && settings.type.toUpperCase() !== 'GET')) {
+ setHeader('Content-Type', settings.contentType || 'application/x-www-form-urlencoded');
+ }
+ if(settings.headers) {
+ for(var name in settings.headers)
+ setHeader(name, settings.headers[name]);
+ }
+ xhr.setRequestHeader = setHeader;
+
+ xhr.onreadystatechange = function() {
+ if(xhr.readyState === 4) {
+ xhr.onreadystatechange = $.noop;
+ clearTimeout(abortTimeout);
+ var result, error = false;
+ var isLocal = protocol === 'file:';
+ if((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304 || (xhr.status === 0 && isLocal && xhr.responseText)) {
+ dataType = dataType || mimeToDataType(settings.mimeType || xhr.getResponseHeader('content-type'));
+ result = xhr.responseText;
+ try {
+ // http://perfectionkills.com/global-eval-what-are-the-options/
+ if(dataType === 'script') {
+ (1, eval)(result);
+ } else if(dataType === 'xml') {
+ result = xhr.responseXML;
+ } else if(dataType === 'json') {
+ result = blankRE.test(result) ? null : $.parseJSON(result);
+ }
+ } catch(e) {
+ error = e;
+ }
+
+ if(error) {
+ ajaxError(error, 'parsererror', xhr, settings);
+ } else {
+ ajaxSuccess(result, xhr, settings);
+ }
+ } else {
+ var status = xhr.status ? 'error' : 'abort';
+ var statusText = xhr.statusText || null;
+ if(isLocal) {
+ status = 'error';
+ statusText = '404';
+ }
+ ajaxError(statusText, status, xhr, settings);
+ }
+ }
+ };
+ if(ajaxBeforeSend(xhr, settings) === false) {
+ xhr.abort();
+ ajaxError(null, 'abort', xhr, settings);
+ return xhr;
+ }
+
+ if(settings.xhrFields) {
+ for(var name in settings.xhrFields) {
+ xhr[name] = settings.xhrFields[name];
+ }
+ }
+
+ var async = 'async' in settings ? settings.async : true;
+
+ xhr.open(settings.type.toUpperCase(), settings.url, async, settings.username, settings.password);
+
+ for(var name in headers) {
+ if(headers.hasOwnProperty(name)) {
+ nativeSetHeader.apply(xhr, headers[name]);
+ }
+ }
+ if(settings.timeout > 0) {
+ abortTimeout = setTimeout(function() {
+ xhr.onreadystatechange = $.noop;
+ xhr.abort();
+ ajaxError(null, 'timeout', xhr, settings);
+ }, settings.timeout);
+ }
+ xhr.send(settings.data ? settings.data : null);
+ return xhr;
+ };
+
+ $.param = function(obj, traditional) {
+ var params = [];
+ params.add = function(k, v) {
+ this.push(encodeURIComponent(k) + '=' + encodeURIComponent(v));
+ };
+ serialize(params, obj, traditional);
+ return params.join('&').replace(/%20/g, '+');
+ };
+ $.get = function( /* url, data, success, dataType */ ) {
+ return $.ajax(parseArguments.apply(null, arguments));
+ };
+
+ $.post = function( /* url, data, success, dataType */ ) {
+ var options = parseArguments.apply(null, arguments);
+ options.type = 'POST';
+ return $.ajax(options);
+ };
+
+ $.getJSON = function( /* url, data, success */ ) {
+ var options = parseArguments.apply(null, arguments);
+ options.dataType = 'json';
+ return $.ajax(options);
+ };
+
+ $.fn.load = function(url, data, success) {
+ if(!this.length)
+ return this;
+ var self = this,
+ parts = url.split(/\s/),
+ selector,
+ options = parseArguments(url, data, success),
+ callback = options.success;
+ if(parts.length > 1)
+ options.url = parts[0], selector = parts[1];
+ options.success = function(response) {
+ if(selector) {
+ var div = document.createElement('div');
+ div.innerHTML = response.replace(rscript, "");
+ var selectorDiv = document.createElement('div');
+ var childs = div.querySelectorAll(selector);
+ if(childs && childs.length > 0) {
+ for(var i = 0, len = childs.length; i < len; i++) {
+ selectorDiv.appendChild(childs[i]);
+ }
+ }
+ self[0].innerHTML = selectorDiv.innerHTML;
+ } else {
+ self[0].innerHTML = response;
+ }
+ callback && callback.apply(self, arguments);
+ };
+ $.ajax(options);
+ return this;
+ };
+
+})(mui, window);
+/**
+ * 5+ ajax
+ */
+(function($) {
+ var originAnchor = document.createElement('a');
+ originAnchor.href = window.location.href;
+ $.plusReady(function() {
+ $.ajaxSettings = $.extend($.ajaxSettings, {
+ xhr: function(settings) {
+ if (settings.crossDomain) { //寮哄埗浣跨敤plus璺ㄥ煙
+ return new plus.net.XMLHttpRequest();
+ }
+ //浠呭湪webview鐨剈rl涓鸿繙绋嬫枃浠讹紝涓攁jax璇锋眰鐨勮祫婧愪笉鍚屾簮涓嬩娇鐢╬lus.net.XMLHttpRequest
+ if (originAnchor.protocol !== 'file:') {
+ var urlAnchor = document.createElement('a');
+ urlAnchor.href = settings.url;
+ urlAnchor.href = urlAnchor.href;
+ settings.crossDomain = (originAnchor.protocol + '//' + originAnchor.host) !== (urlAnchor.protocol + '//' + urlAnchor.host);
+ if (settings.crossDomain) {
+ return new plus.net.XMLHttpRequest();
+ }
+ }
+ if ($.os.ios && window.webkit && window.webkit.messageHandlers) { //wkwebview涓嬪悓鏍蜂娇鐢�5+ xhr
+ return new plus.net.XMLHttpRequest();
+ }
+ return new window.XMLHttpRequest();
+ }
+ });
+ });
+})(mui);
+/**
+ * mui layout(offset[,position,width,height...])
+ * @param {type} $
+ * @param {type} window
+ * @param {type} undefined
+ * @returns {undefined}
+ */
+(function($, window, undefined) {
+ $.offset = function(element) {
+ var box = {
+ top : 0,
+ left : 0
+ };
+ if ( typeof element.getBoundingClientRect !== undefined) {
+ box = element.getBoundingClientRect();
+ }
+ return {
+ top : box.top + window.pageYOffset - element.clientTop,
+ left : box.left + window.pageXOffset - element.clientLeft
+ };
+ };
+})(mui, window);
+/**
+ * mui animation
+ */
+(function($, window) {
+ /**
+ * scrollTo
+ */
+ $.scrollTo = function(scrollTop, duration, callback) {
+ duration = duration || 1000;
+ var scroll = function(duration) {
+ if (duration <= 0) {
+ window.scrollTo(0, scrollTop);
+ callback && callback();
+ return;
+ }
+ var distaince = scrollTop - window.scrollY;
+ setTimeout(function() {
+ window.scrollTo(0, window.scrollY + distaince / duration * 10);
+ scroll(duration - 10);
+ }, 16.7);
+ };
+ scroll(duration);
+ };
+ $.animationFrame = function(cb) {
+ var args, isQueued, context;
+ return function() {
+ args = arguments;
+ context = this;
+ if (!isQueued) {
+ isQueued = true;
+ requestAnimationFrame(function() {
+ cb.apply(context, args);
+ isQueued = false;
+ });
+ }
+ };
+ };
+
+})(mui, window);
+(function($) {
+ var initializing = false,
+ fnTest = /xyz/.test(function() {
+ xyz;
+ }) ? /\b_super\b/ : /.*/;
+
+ var Class = function() {};
+ Class.extend = function(prop) {
+ var _super = this.prototype;
+ initializing = true;
+ var prototype = new this();
+ initializing = false;
+ for (var name in prop) {
+ prototype[name] = typeof prop[name] == "function" &&
+ typeof _super[name] == "function" && fnTest.test(prop[name]) ?
+ (function(name, fn) {
+ return function() {
+ var tmp = this._super;
+
+ this._super = _super[name];
+
+ var ret = fn.apply(this, arguments);
+ this._super = tmp;
+
+ return ret;
+ };
+ })(name, prop[name]) :
+ prop[name];
+ }
+ function Class() {
+ if (!initializing && this.init)
+ this.init.apply(this, arguments);
+ }
+ Class.prototype = prototype;
+ Class.prototype.constructor = Class;
+ Class.extend = arguments.callee;
+ return Class;
+ };
+ $.Class = Class;
+})(mui);
+(function($, document, undefined) {
+ var CLASS_PULL_TOP_POCKET = 'mui-pull-top-pocket';
+ var CLASS_PULL_BOTTOM_POCKET = 'mui-pull-bottom-pocket';
+ var CLASS_PULL = 'mui-pull';
+ var CLASS_PULL_LOADING = 'mui-pull-loading';
+ var CLASS_PULL_CAPTION = 'mui-pull-caption';
+ var CLASS_PULL_CAPTION_DOWN = 'mui-pull-caption-down';
+ var CLASS_PULL_CAPTION_REFRESH = 'mui-pull-caption-refresh';
+ var CLASS_PULL_CAPTION_NOMORE = 'mui-pull-caption-nomore';
+
+ var CLASS_ICON = 'mui-icon';
+ var CLASS_SPINNER = 'mui-spinner';
+ var CLASS_ICON_PULLDOWN = 'mui-icon-pulldown';
+
+ var CLASS_BLOCK = 'mui-block';
+ var CLASS_HIDDEN = 'mui-hidden';
+ var CLASS_VISIBILITY = 'mui-visibility';
+
+ var CLASS_LOADING_UP = CLASS_PULL_LOADING + ' ' + CLASS_ICON + ' ' + CLASS_ICON_PULLDOWN;
+ var CLASS_LOADING_DOWN = CLASS_PULL_LOADING + ' ' + CLASS_ICON + ' ' + CLASS_ICON_PULLDOWN;
+ var CLASS_LOADING = CLASS_PULL_LOADING + ' ' + CLASS_ICON + ' ' + CLASS_SPINNER;
+
+ var pocketHtml = ['<div class="' + CLASS_PULL + '">', '<div class="{icon}"></div>', '<div class="' + CLASS_PULL_CAPTION + '">{contentrefresh}</div>', '</div>'].join('');
+
+ var PullRefresh = {
+ init: function(element, options) {
+ this._super(element, $.extend(true, {
+ scrollY: true,
+ scrollX: false,
+ indicators: true,
+ deceleration: 0.003,
+ down: {
+ height: 50,
+ contentinit: '涓嬫媺鍙互鍒锋柊',
+ contentdown: '涓嬫媺鍙互鍒锋柊',
+ contentover: '閲婃斁绔嬪嵆鍒锋柊',
+ contentrefresh: '姝e湪鍒锋柊...'
+ },
+ up: {
+ height: 50,
+ auto: false,
+ contentinit: '涓婃媺鏄剧ず鏇村',
+ contentdown: '涓婃媺鏄剧ず鏇村',
+ contentrefresh: '姝e湪鍔犺浇...',
+ contentnomore: '娌℃湁鏇村鏁版嵁浜�',
+ duration: 300
+ }
+ }, options));
+ },
+ _init: function() {
+ this._super();
+ this._initPocket();
+ },
+ _initPulldownRefresh: function() {
+ this.pulldown = true;
+ if (this.topPocket) {
+ this.pullPocket = this.topPocket;
+ this.pullPocket.classList.add(CLASS_BLOCK);
+ this.pullPocket.classList.add(CLASS_VISIBILITY);
+ this.pullCaption = this.topCaption;
+ this.pullLoading = this.topLoading;
+ }
+ },
+ _initPullupRefresh: function() {
+ this.pulldown = false;
+ if (this.bottomPocket) {
+ this.pullPocket = this.bottomPocket;
+ this.pullPocket.classList.add(CLASS_BLOCK);
+ this.pullPocket.classList.add(CLASS_VISIBILITY);
+ this.pullCaption = this.bottomCaption;
+ this.pullLoading = this.bottomLoading;
+ }
+ },
+ _initPocket: function() {
+ var options = this.options;
+ if (options.down && options.down.hasOwnProperty('callback')) {
+ this.topPocket = this.scroller.querySelector('.' + CLASS_PULL_TOP_POCKET);
+ if (!this.topPocket) {
+ this.topPocket = this._createPocket(CLASS_PULL_TOP_POCKET, options.down, CLASS_LOADING_DOWN);
+ this.wrapper.insertBefore(this.topPocket, this.wrapper.firstChild);
+ }
+ this.topLoading = this.topPocket.querySelector('.' + CLASS_PULL_LOADING);
+ this.topCaption = this.topPocket.querySelector('.' + CLASS_PULL_CAPTION);
+ }
+ if (options.up && options.up.hasOwnProperty('callback')) {
+ this.bottomPocket = this.scroller.querySelector('.' + CLASS_PULL_BOTTOM_POCKET);
+ if (!this.bottomPocket) {
+ this.bottomPocket = this._createPocket(CLASS_PULL_BOTTOM_POCKET, options.up, CLASS_LOADING);
+ this.scroller.appendChild(this.bottomPocket);
+ }
+ this.bottomLoading = this.bottomPocket.querySelector('.' + CLASS_PULL_LOADING);
+ this.bottomCaption = this.bottomPocket.querySelector('.' + CLASS_PULL_CAPTION);
+ //TODO only for h5
+ this.wrapper.addEventListener('scrollbottom', this);
+ }
+ },
+ _createPocket: function(clazz, options, iconClass) {
+ var pocket = document.createElement('div');
+ pocket.className = clazz;
+ pocket.innerHTML = pocketHtml.replace('{contentrefresh}', options.contentinit).replace('{icon}', iconClass);
+ return pocket;
+ },
+ _resetPullDownLoading: function() {
+ var loading = this.pullLoading;
+ if (loading) {
+ this.pullCaption.innerHTML = this.options.down.contentdown;
+ loading.style.webkitTransition = "";
+ loading.style.webkitTransform = "";
+ loading.style.webkitAnimation = "";
+ loading.className = CLASS_LOADING_DOWN;
+ }
+ },
+ _setCaptionClass: function(isPulldown, caption, title) {
+ if (!isPulldown) {
+ switch (title) {
+ case this.options.up.contentdown:
+ caption.className = CLASS_PULL_CAPTION + ' ' + CLASS_PULL_CAPTION_DOWN;
+ break;
+ case this.options.up.contentrefresh:
+ caption.className = CLASS_PULL_CAPTION + ' ' + CLASS_PULL_CAPTION_REFRESH
+ break;
+ case this.options.up.contentnomore:
+ caption.className = CLASS_PULL_CAPTION + ' ' + CLASS_PULL_CAPTION_NOMORE;
+ break;
+ }
+ }
+ },
+ _setCaption: function(title, reset) {
+ if (this.loading) {
+ return;
+ }
+ var options = this.options;
+ var pocket = this.pullPocket;
+ var caption = this.pullCaption;
+ var loading = this.pullLoading;
+ var isPulldown = this.pulldown;
+ var self = this;
+ if (pocket) {
+ if (reset) {
+ setTimeout(function() {
+ caption.innerHTML = self.lastTitle = title;
+ if (isPulldown) {
+ loading.className = CLASS_LOADING_DOWN;
+ } else {
+ self._setCaptionClass(false, caption, title);
+ loading.className = CLASS_LOADING;
+ }
+ loading.style.webkitAnimation = "";
+ loading.style.webkitTransition = "";
+ loading.style.webkitTransform = "";
+ }, 100);
+ } else {
+ if (title !== this.lastTitle) {
+ caption.innerHTML = title;
+ if (isPulldown) {
+ if (title === options.down.contentrefresh) {
+ loading.className = CLASS_LOADING;
+ loading.style.webkitAnimation = "spinner-spin 1s step-end infinite";
+ } else if (title === options.down.contentover) {
+ loading.className = CLASS_LOADING_UP;
+ loading.style.webkitTransition = "-webkit-transform 0.3s ease-in";
+ loading.style.webkitTransform = "rotate(180deg)";
+ } else if (title === options.down.contentdown) {
+ loading.className = CLASS_LOADING_DOWN;
+ loading.style.webkitTransition = "-webkit-transform 0.3s ease-in";
+ loading.style.webkitTransform = "rotate(0deg)";
+ }
+ } else {
+ if (title === options.up.contentrefresh) {
+ loading.className = CLASS_LOADING + ' ' + CLASS_VISIBILITY;
+ } else {
+ loading.className = CLASS_LOADING + ' ' + CLASS_HIDDEN;
+ }
+ self._setCaptionClass(false, caption, title);
+ }
+ this.lastTitle = title;
+ }
+ }
+
+ }
+ }
+ };
+ $.PullRefresh = PullRefresh;
+})(mui, document);
+(function($, window, document, undefined) {
+ var CLASS_SCROLL = 'mui-scroll';
+ var CLASS_SCROLLBAR = 'mui-scrollbar';
+ var CLASS_INDICATOR = 'mui-scrollbar-indicator';
+ var CLASS_SCROLLBAR_VERTICAL = CLASS_SCROLLBAR + '-vertical';
+ var CLASS_SCROLLBAR_HORIZONTAL = CLASS_SCROLLBAR + '-horizontal';
+
+ var CLASS_ACTIVE = 'mui-active';
+
+ var ease = {
+ quadratic: {
+ style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',
+ fn: function(k) {
+ return k * (2 - k);
+ }
+ },
+ circular: {
+ style: 'cubic-bezier(0.1, 0.57, 0.1, 1)',
+ fn: function(k) {
+ return Math.sqrt(1 - (--k * k));
+ }
+ },
+ outCirc: {
+ style: 'cubic-bezier(0.075, 0.82, 0.165, 1)'
+ },
+ outCubic: {
+ style: 'cubic-bezier(0.165, 0.84, 0.44, 1)'
+ }
+ }
+ var Scroll = $.Class.extend({
+ init: function(element, options) {
+ this.wrapper = this.element = element;
+ this.scroller = this.wrapper.children[0];
+ this.scrollerStyle = this.scroller && this.scroller.style;
+ this.stopped = false;
+
+ this.options = $.extend(true, {
+ scrollY: true, //鏄惁绔栧悜婊氬姩
+ scrollX: false, //鏄惁妯悜婊氬姩
+ startX: 0, //鍒濆鍖栨椂婊氬姩鑷硏
+ startY: 0, //鍒濆鍖栨椂婊氬姩鑷硑
+
+ indicators: true, //鏄惁鏄剧ず婊氬姩鏉�
+ stopPropagation: false,
+ hardwareAccelerated: true,
+ fixedBadAndorid: false,
+ preventDefaultException: {
+ tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT|VIDEO)$/
+ },
+ momentum: true,
+
+ snapX: 0.5, //妯悜鍒囨崲璺濈(浠ュ綋鍓嶅鍣ㄥ搴︿负鍩哄噯)
+ snap: false, //鍥剧墖杞挱锛屾嫋鎷藉紡閫夐」鍗�
+
+ bounce: true, //鏄惁鍚敤鍥炲脊
+ bounceTime: 500, //鍥炲脊鍔ㄧ敾鏃堕棿
+ bounceEasing: ease.outCirc, //鍥炲脊鍔ㄧ敾鏇茬嚎
+
+ scrollTime: 500,
+ scrollEasing: ease.outCubic, //杞挱鍔ㄧ敾鏇茬嚎
+
+ directionLockThreshold: 5,
+
+ parallaxElement: false, //瑙嗗樊鍏冪礌
+ parallaxRatio: 0.5
+ }, options);
+
+ this.x = 0;
+ this.y = 0;
+ this.translateZ = this.options.hardwareAccelerated ? ' translateZ(0)' : '';
+
+ this._init();
+ if (this.scroller) {
+ this.refresh();
+ // if (this.options.startX !== 0 || this.options.startY !== 0) { //闇�瑕佸垽鏂悧锛熷悗缁牴鎹疄闄呮儏鍐靛啀鐪嬬湅
+ this.scrollTo(this.options.startX, this.options.startY);
+ // }
+ }
+ },
+ _init: function() {
+ this._initParallax();
+ this._initIndicators();
+ this._initEvent();
+ },
+ _initParallax: function() {
+ if (this.options.parallaxElement) {
+ this.parallaxElement = document.querySelector(this.options.parallaxElement);
+ this.parallaxStyle = this.parallaxElement.style;
+ this.parallaxHeight = this.parallaxElement.offsetHeight;
+ this.parallaxImgStyle = this.parallaxElement.querySelector('img').style;
+ }
+ },
+ _initIndicators: function() {
+ var self = this;
+ self.indicators = [];
+ if (!this.options.indicators) {
+ return;
+ }
+ var indicators = [],
+ indicator;
+
+ // Vertical scrollbar
+ if (self.options.scrollY) {
+ indicator = {
+ el: this._createScrollBar(CLASS_SCROLLBAR_VERTICAL),
+ listenX: false
+ };
+
+ this.wrapper.appendChild(indicator.el);
+ indicators.push(indicator);
+ }
+
+ // Horizontal scrollbar
+ if (this.options.scrollX) {
+ indicator = {
+ el: this._createScrollBar(CLASS_SCROLLBAR_HORIZONTAL),
+ listenY: false
+ };
+
+ this.wrapper.appendChild(indicator.el);
+ indicators.push(indicator);
+ }
+
+ for (var i = indicators.length; i--;) {
+ this.indicators.push(new Indicator(this, indicators[i]));
+ }
+
+ },
+ _initSnap: function() {
+ this.currentPage = {};
+ this.pages = [];
+ var snaps = this.snaps;
+ var length = snaps.length;
+ var m = 0;
+ var n = -1;
+ var x = 0;
+ var leftX = 0;
+ var rightX = 0;
+ var snapX = 0;
+ for (var i = 0; i < length; i++) {
+ var snap = snaps[i];
+ var offsetLeft = snap.offsetLeft;
+ var offsetWidth = snap.offsetWidth;
+ if (i === 0 || offsetLeft <= snaps[i - 1].offsetLeft) {
+ m = 0;
+ n++;
+ }
+ if (!this.pages[m]) {
+ this.pages[m] = [];
+ }
+ x = this._getSnapX(offsetLeft);
+ snapX = Math.round((offsetWidth) * this.options.snapX);
+ leftX = x - snapX;
+ rightX = x - offsetWidth + snapX;
+ this.pages[m][n] = {
+ x: x,
+ leftX: leftX,
+ rightX: rightX,
+ pageX: m,
+ element: snap
+ }
+ if (snap.classList.contains(CLASS_ACTIVE)) {
+ this.currentPage = this.pages[m][0];
+ }
+ if (x >= this.maxScrollX) {
+ m++;
+ }
+ }
+ this.options.startX = this.currentPage.x || 0;
+ },
+ _getSnapX: function(offsetLeft) {
+ return Math.max(Math.min(0, -offsetLeft + (this.wrapperWidth / 2)), this.maxScrollX);
+ },
+ _gotoPage: function(index) {
+ this.currentPage = this.pages[Math.min(index, this.pages.length - 1)][0];
+ for (var i = 0, len = this.snaps.length; i < len; i++) {
+ if (i === index) {
+ this.snaps[i].classList.add(CLASS_ACTIVE);
+ } else {
+ this.snaps[i].classList.remove(CLASS_ACTIVE);
+ }
+ }
+ this.scrollTo(this.currentPage.x, 0, this.options.scrollTime);
+ },
+ _nearestSnap: function(x) {
+ if (!this.pages.length) {
+ return {
+ x: 0,
+ pageX: 0
+ };
+ }
+ var i = 0;
+ var length = this.pages.length;
+ if (x > 0) {
+ x = 0;
+ } else if (x < this.maxScrollX) {
+ x = this.maxScrollX;
+ }
+ for (; i < length; i++) {
+ var nearestX = this.direction === 'left' ? this.pages[i][0].leftX : this.pages[i][0].rightX;
+ if (x >= nearestX) {
+ return this.pages[i][0];
+ }
+ }
+ return {
+ x: 0,
+ pageX: 0
+ };
+ },
+ _initEvent: function(detach) {
+ var action = detach ? 'removeEventListener' : 'addEventListener';
+ window[action]('orientationchange', this);
+ window[action]('resize', this);
+
+ this.scroller[action]('webkitTransitionEnd', this);
+
+ this.wrapper[action]($.EVENT_START, this);
+ this.wrapper[action]($.EVENT_CANCEL, this);
+ this.wrapper[action]($.EVENT_END, this);
+ this.wrapper[action]('drag', this);
+ this.wrapper[action]('dragend', this);
+ this.wrapper[action]('flick', this);
+ this.wrapper[action]('scrollend', this);
+ if (this.options.scrollX) {
+ this.wrapper[action]('swiperight', this);
+ }
+ var segmentedControl = this.wrapper.querySelector('.mui-segmented-control');
+ if (segmentedControl) { //闈狅紝杩欎釜bug鎺掓煡浜嗕竴涓嬪崍锛岄樆姝ash璺宠浆锛屼竴鏃ash璺宠浆浼氬鑷村彲鎷栨嫿閫夐」鍗$殑tab涓嶈
+ mui(segmentedControl)[detach ? 'off' : 'on']('click', 'a', $.preventDefault);
+ }
+
+ this.wrapper[action]('scrollstart', this);
+ this.wrapper[action]('refresh', this);
+ },
+ _handleIndicatorScrollend: function() {
+ this.indicators.map(function(indicator) {
+ indicator.fade();
+ });
+ },
+ _handleIndicatorScrollstart: function() {
+ this.indicators.map(function(indicator) {
+ indicator.fade(1);
+ });
+ },
+ _handleIndicatorRefresh: function() {
+ this.indicators.map(function(indicator) {
+ indicator.refresh();
+ });
+ },
+ handleEvent: function(e) {
+ if (this.stopped) {
+ this.resetPosition();
+ return;
+ }
+
+ switch (e.type) {
+ case $.EVENT_START:
+ this._start(e);
+ break;
+ case 'drag':
+ this.options.stopPropagation && e.stopPropagation();
+ this._drag(e);
+ break;
+ case 'dragend':
+ case 'flick':
+ this.options.stopPropagation && e.stopPropagation();
+ this._flick(e);
+ break;
+ case $.EVENT_CANCEL:
+ case $.EVENT_END:
+ this._end(e);
+ break;
+ case 'webkitTransitionEnd':
+ this.transitionTimer && this.transitionTimer.cancel();
+ this._transitionEnd(e);
+ break;
+ case 'scrollstart':
+ this._handleIndicatorScrollstart(e);
+ break;
+ case 'scrollend':
+ this._handleIndicatorScrollend(e);
+ this._scrollend(e);
+ e.stopPropagation();
+ break;
+ case 'orientationchange':
+ case 'resize':
+ this._resize();
+ break;
+ case 'swiperight':
+ e.stopPropagation();
+ break;
+ case 'refresh':
+ this._handleIndicatorRefresh(e);
+ break;
+
+ }
+ },
+ _start: function(e) {
+ this.moved = this.needReset = false;
+ this._transitionTime();
+ if (this.isInTransition) {
+ this.needReset = true;
+ this.isInTransition = false;
+ var pos = $.parseTranslateMatrix($.getStyles(this.scroller, 'webkitTransform'));
+ this.setTranslate(Math.round(pos.x), Math.round(pos.y));
+ // this.resetPosition(); //reset
+ $.trigger(this.scroller, 'scrollend', this);
+ // e.stopPropagation();
+ e.preventDefault();
+ }
+ this.reLayout();
+ $.trigger(this.scroller, 'beforescrollstart', this);
+ },
+ _getDirectionByAngle: function(angle) {
+ if (angle < -80 && angle > -100) {
+ return 'up';
+ } else if (angle >= 80 && angle < 100) {
+ return 'down';
+ } else if (angle >= 170 || angle <= -170) {
+ return 'left';
+ } else if (angle >= -35 && angle <= 10) {
+ return 'right';
+ }
+ return null;
+ },
+ _drag: function(e) {
+ // if (this.needReset) {
+ // e.stopPropagation(); //disable parent drag(nested scroller)
+ // return;
+ // }
+ var detail = e.detail;
+ if (this.options.scrollY || detail.direction === 'up' || detail.direction === 'down') { //濡傛灉鏄珫鍚戞粴鍔ㄦ垨鎵嬪娍鏂瑰悜鏄笂鎴栦笅
+ //ios8 hack
+ if ($.os.ios && parseFloat($.os.version) >= 8) { //澶歸ebview鏃讹紝绂诲紑褰撳墠webview浼氬鑷村悗缁璽ouch浜嬩欢涓嶈Е鍙�
+ var clientY = detail.gesture.touches[0].clientY;
+ //涓嬫媺鍒锋柊 or 涓婃媺鍔犺浇
+ if ((clientY + 10) > window.innerHeight || clientY < 10) {
+ this.resetPosition(this.options.bounceTime);
+ return;
+ }
+ }
+ }
+ var isPreventDefault = isReturn = false;
+ var direction = this._getDirectionByAngle(detail.angle);
+ if (detail.direction === 'left' || detail.direction === 'right') {
+ if (this.options.scrollX) {
+ isPreventDefault = true;
+ if (!this.moved) { //璇嗗埆瑙掑害(璇ヨ搴﹀鑷磋疆鎾笉鐏垫晱)
+ // if (direction !== 'left' && direction !== 'right') {
+ // isReturn = true;
+ // } else {
+ $.gestures.session.lockDirection = true; //閿佸畾鏂瑰悜
+ $.gestures.session.startDirection = detail.direction;
+ // }
+ }
+ } else if (this.options.scrollY && !this.moved) {
+ isReturn = true;
+ }
+ } else if (detail.direction === 'up' || detail.direction === 'down') {
+ if (this.options.scrollY) {
+ isPreventDefault = true;
+ // if (!this.moved) { //璇嗗埆瑙掑害,绔栧悜婊氬姩浼间箮娌″繀瑕佽繘琛屽皬瑙掑害楠岃瘉
+ // if (direction !== 'up' && direction !== 'down') {
+ // isReturn = true;
+ // }
+ // }
+ if (!this.moved) {
+ $.gestures.session.lockDirection = true; //閿佸畾鏂瑰悜
+ $.gestures.session.startDirection = detail.direction;
+ }
+ } else if (this.options.scrollX && !this.moved) {
+ isReturn = true;
+ }
+ } else {
+ isReturn = true;
+ }
+ if (this.moved || isPreventDefault) {
+ e.stopPropagation(); //闃绘鍐掓场(scroll绫诲祵濂�)
+ detail.gesture && detail.gesture.preventDefault();
+ }
+ if (isReturn) { //绂佹闈炴硶鏂瑰悜婊氬姩
+ return;
+ }
+ if (!this.moved) {
+ $.trigger(this.scroller, 'scrollstart', this);
+ } else {
+ e.stopPropagation(); //move鏈熼棿闃绘鍐掓场(scroll宓屽)
+ }
+ var deltaX = 0;
+ var deltaY = 0;
+ if (!this.moved) { //start
+ deltaX = detail.deltaX;
+ deltaY = detail.deltaY;
+ } else { //move
+ deltaX = detail.deltaX - $.gestures.session.prevTouch.deltaX;
+ deltaY = detail.deltaY - $.gestures.session.prevTouch.deltaY;
+ }
+ var absDeltaX = Math.abs(detail.deltaX);
+ var absDeltaY = Math.abs(detail.deltaY);
+ if (absDeltaX > absDeltaY + this.options.directionLockThreshold) {
+ deltaY = 0;
+ } else if (absDeltaY >= absDeltaX + this.options.directionLockThreshold) {
+ deltaX = 0;
+ }
+
+ deltaX = this.hasHorizontalScroll ? deltaX : 0;
+ deltaY = this.hasVerticalScroll ? deltaY : 0;
+ var newX = this.x + deltaX;
+ var newY = this.y + deltaY;
+ // Slow down if outside of the boundaries
+ if (newX > 0 || newX < this.maxScrollX) {
+ newX = this.options.bounce ? this.x + deltaX / 3 : newX > 0 ? 0 : this.maxScrollX;
+ }
+ if (newY > 0 || newY < this.maxScrollY) {
+ newY = this.options.bounce ? this.y + deltaY / 3 : newY > 0 ? 0 : this.maxScrollY;
+ }
+
+ if (!this.requestAnimationFrame) {
+ this._updateTranslate();
+ }
+ this.direction = detail.deltaX > 0 ? 'right' : 'left';
+ this.moved = true;
+ this.x = newX;
+ this.y = newY;
+ $.trigger(this.scroller, 'scroll', this);
+ },
+ _flick: function(e) {
+ // if (!this.moved || this.needReset) {
+ // return;
+ // }
+ if (!this.moved) {
+ return;
+ }
+ e.stopPropagation();
+ var detail = e.detail;
+ this._clearRequestAnimationFrame();
+ if (e.type === 'dragend' && detail.flick) { //dragend
+ return;
+ }
+
+ var newX = Math.round(this.x);
+ var newY = Math.round(this.y);
+
+ this.isInTransition = false;
+ // reset if we are outside of the boundaries
+ if (this.resetPosition(this.options.bounceTime)) {
+ return;
+ }
+
+ this.scrollTo(newX, newY); // ensures that the last position is rounded
+
+ if (e.type === 'dragend') { //dragend
+ $.trigger(this.scroller, 'scrollend', this);
+ return;
+ }
+ var time = 0;
+ var easing = '';
+ // start momentum animation if needed
+ if (this.options.momentum && detail.flickTime < 300) {
+ momentumX = this.hasHorizontalScroll ? this._momentum(this.x, detail.flickDistanceX, detail.flickTime, this.maxScrollX, this.options.bounce ? this.wrapperWidth : 0, this.options.deceleration) : {
+ destination: newX,
+ duration: 0
+ };
+ momentumY = this.hasVerticalScroll ? this._momentum(this.y, detail.flickDistanceY, detail.flickTime, this.maxScrollY, this.options.bounce ? this.wrapperHeight : 0, this.options.deceleration) : {
+ destination: newY,
+ duration: 0
+ };
+ newX = momentumX.destination;
+ newY = momentumY.destination;
+ time = Math.max(momentumX.duration, momentumY.duration);
+ this.isInTransition = true;
+ }
+
+ if (newX != this.x || newY != this.y) {
+ if (newX > 0 || newX < this.maxScrollX || newY > 0 || newY < this.maxScrollY) {
+ easing = ease.quadratic;
+ }
+ this.scrollTo(newX, newY, time, easing);
+ return;
+ }
+
+ $.trigger(this.scroller, 'scrollend', this);
+ // e.stopPropagation();
+ },
+ _end: function(e) {
+ this.needReset = false;
+ if ((!this.moved && this.needReset) || e.type === $.EVENT_CANCEL) {
+ this.resetPosition();
+ }
+ },
+ _transitionEnd: function(e) {
+ if (e.target != this.scroller || !this.isInTransition) {
+ return;
+ }
+ this._transitionTime();
+ if (!this.resetPosition(this.options.bounceTime)) {
+ this.isInTransition = false;
+ $.trigger(this.scroller, 'scrollend', this);
+ }
+ },
+ _scrollend: function(e) {
+ if ((this.y === 0 && this.maxScrollY === 0) || (Math.abs(this.y) > 0 && this.y <= this.maxScrollY)) {
+ $.trigger(this.scroller, 'scrollbottom', this);
+ }
+ },
+ _resize: function() {
+ var that = this;
+ clearTimeout(that.resizeTimeout);
+ that.resizeTimeout = setTimeout(function() {
+ that.refresh();
+ }, that.options.resizePolling);
+ },
+ _transitionTime: function(time) {
+ time = time || 0;
+ this.scrollerStyle['webkitTransitionDuration'] = time + 'ms';
+ if (this.parallaxElement && this.options.scrollY) { //鐩墠浠呮敮鎸佺珫鍚戣宸晥鏋�
+ this.parallaxStyle['webkitTransitionDuration'] = time + 'ms';
+ }
+ if (this.options.fixedBadAndorid && !time && $.os.isBadAndroid) {
+ this.scrollerStyle['webkitTransitionDuration'] = '0.001s';
+ if (this.parallaxElement && this.options.scrollY) { //鐩墠浠呮敮鎸佺珫鍚戣宸晥鏋�
+ this.parallaxStyle['webkitTransitionDuration'] = '0.001s';
+ }
+ }
+ if (this.indicators) {
+ for (var i = this.indicators.length; i--;) {
+ this.indicators[i].transitionTime(time);
+ }
+ }
+ if (time) { //鑷畾涔塼imer锛屼繚璇亀ebkitTransitionEnd濮嬬粓瑙﹀彂
+ this.transitionTimer && this.transitionTimer.cancel();
+ this.transitionTimer = $.later(function() {
+ $.trigger(this.scroller, 'webkitTransitionEnd');
+ }, time + 100, this);
+ }
+ },
+ _transitionTimingFunction: function(easing) {
+ this.scrollerStyle['webkitTransitionTimingFunction'] = easing;
+ if (this.parallaxElement && this.options.scrollY) { //鐩墠浠呮敮鎸佺珫鍚戣宸晥鏋�
+ this.parallaxStyle['webkitTransitionDuration'] = easing;
+ }
+ if (this.indicators) {
+ for (var i = this.indicators.length; i--;) {
+ this.indicators[i].transitionTimingFunction(easing);
+ }
+ }
+ },
+ _translate: function(x, y) {
+ this.x = x;
+ this.y = y;
+ },
+ _clearRequestAnimationFrame: function() {
+ if (this.requestAnimationFrame) {
+ cancelAnimationFrame(this.requestAnimationFrame);
+ this.requestAnimationFrame = null;
+ }
+ },
+ _updateTranslate: function() {
+ var self = this;
+ if (self.x !== self.lastX || self.y !== self.lastY) {
+ self.setTranslate(self.x, self.y);
+ }
+ self.requestAnimationFrame = requestAnimationFrame(function() {
+ self._updateTranslate();
+ });
+ },
+ _createScrollBar: function(clazz) {
+ var scrollbar = document.createElement('div');
+ var indicator = document.createElement('div');
+ scrollbar.className = CLASS_SCROLLBAR + ' ' + clazz;
+ indicator.className = CLASS_INDICATOR;
+ scrollbar.appendChild(indicator);
+ if (clazz === CLASS_SCROLLBAR_VERTICAL) {
+ this.scrollbarY = scrollbar;
+ this.scrollbarIndicatorY = indicator;
+ } else if (clazz === CLASS_SCROLLBAR_HORIZONTAL) {
+ this.scrollbarX = scrollbar;
+ this.scrollbarIndicatorX = indicator;
+ }
+ this.wrapper.appendChild(scrollbar);
+ return scrollbar;
+ },
+ _preventDefaultException: function(el, exceptions) {
+ for (var i in exceptions) {
+ if (exceptions[i].test(el[i])) {
+ return true;
+ }
+ }
+ return false;
+ },
+ _reLayout: function() {
+ if (!this.hasHorizontalScroll) {
+ this.maxScrollX = 0;
+ this.scrollerWidth = this.wrapperWidth;
+ }
+
+ if (!this.hasVerticalScroll) {
+ this.maxScrollY = 0;
+ this.scrollerHeight = this.wrapperHeight;
+ }
+
+ this.indicators.map(function(indicator) {
+ indicator.refresh();
+ });
+
+ //浠ラ槻slider绫诲祵濂椾娇鐢�
+ if (this.options.snap && typeof this.options.snap === 'string') {
+ var items = this.scroller.querySelectorAll(this.options.snap);
+ this.itemLength = 0;
+ this.snaps = [];
+ for (var i = 0, len = items.length; i < len; i++) {
+ var item = items[i];
+ if (item.parentNode === this.scroller) {
+ this.itemLength++;
+ this.snaps.push(item);
+ }
+ }
+ this._initSnap(); //闇�瑕佹瘡娆¢兘_initSnap涔堛�傚叾瀹瀒nit鐨勬椂鍊欐墽琛屼竴娆★紝鍚庣画resize鐨勬椂鍊欐墽琛屼竴娆″氨琛屼簡鍚�.鍏堣繖涔堝仛鍚э紝濡傛灉褰卞搷鎬ц兘锛屽啀璋冩暣
+ }
+ },
+ _momentum: function(current, distance, time, lowerMargin, wrapperSize, deceleration) {
+ var speed = parseFloat(Math.abs(distance) / time),
+ destination,
+ duration;
+
+ deceleration = deceleration === undefined ? 0.0006 : deceleration;
+ destination = current + (speed * speed) / (2 * deceleration) * (distance < 0 ? -1 : 1);
+ duration = speed / deceleration;
+ if (destination < lowerMargin) {
+ destination = wrapperSize ? lowerMargin - (wrapperSize / 2.5 * (speed / 8)) : lowerMargin;
+ distance = Math.abs(destination - current);
+ duration = distance / speed;
+ } else if (destination > 0) {
+ destination = wrapperSize ? wrapperSize / 2.5 * (speed / 8) : 0;
+ distance = Math.abs(current) + destination;
+ duration = distance / speed;
+ }
+
+ return {
+ destination: Math.round(destination),
+ duration: duration
+ };
+ },
+ _getTranslateStr: function(x, y) {
+ if (this.options.hardwareAccelerated) {
+ return 'translate3d(' + x + 'px,' + y + 'px,0px) ' + this.translateZ;
+ }
+ return 'translate(' + x + 'px,' + y + 'px) ';
+ },
+ //API
+ setStopped: function(stopped) {
+ // this.stopped = !!stopped;
+
+ // fixed ios鍙寃ebview妯″紡涓嬫媺鍒锋柊
+ if(stopped) {
+ this.disablePullupToRefresh();
+ this.disablePulldownToRefresh();
+ } else {
+ this.enablePullupToRefresh();
+ this.enablePulldownToRefresh();
+ }
+ },
+ setTranslate: function(x, y) {
+ this.x = x;
+ this.y = y;
+ this.scrollerStyle['webkitTransform'] = this._getTranslateStr(x, y);
+ if (this.parallaxElement && this.options.scrollY) { //鐩墠浠呮敮鎸佺珫鍚戣宸晥鏋�
+ var parallaxY = y * this.options.parallaxRatio;
+ var scale = 1 + parallaxY / ((this.parallaxHeight - parallaxY) / 2);
+ if (scale > 1) {
+ this.parallaxImgStyle['opacity'] = 1 - parallaxY / 100 * this.options.parallaxRatio;
+ this.parallaxStyle['webkitTransform'] = this._getTranslateStr(0, -parallaxY) + ' scale(' + scale + ',' + scale + ')';
+ } else {
+ this.parallaxImgStyle['opacity'] = 1;
+ this.parallaxStyle['webkitTransform'] = this._getTranslateStr(0, -1) + ' scale(1,1)';
+ }
+ }
+ if (this.indicators) {
+ for (var i = this.indicators.length; i--;) {
+ this.indicators[i].updatePosition();
+ }
+ }
+ this.lastX = this.x;
+ this.lastY = this.y;
+ $.trigger(this.scroller, 'scroll', this);
+ },
+ reLayout: function() {
+ this.wrapper.offsetHeight;
+
+ var paddingLeft = parseFloat($.getStyles(this.wrapper, 'padding-left')) || 0;
+ var paddingRight = parseFloat($.getStyles(this.wrapper, 'padding-right')) || 0;
+ var paddingTop = parseFloat($.getStyles(this.wrapper, 'padding-top')) || 0;
+ var paddingBottom = parseFloat($.getStyles(this.wrapper, 'padding-bottom')) || 0;
+
+ var clientWidth = this.wrapper.clientWidth;
+ var clientHeight = this.wrapper.clientHeight;
+
+ this.scrollerWidth = this.scroller.offsetWidth;
+ this.scrollerHeight = this.scroller.offsetHeight;
+
+ this.wrapperWidth = clientWidth - paddingLeft - paddingRight;
+ this.wrapperHeight = clientHeight - paddingTop - paddingBottom;
+
+ this.maxScrollX = Math.min(this.wrapperWidth - this.scrollerWidth, 0);
+ this.maxScrollY = Math.min(this.wrapperHeight - this.scrollerHeight, 0);
+ this.hasHorizontalScroll = this.options.scrollX && this.maxScrollX < 0;
+ this.hasVerticalScroll = this.options.scrollY && this.maxScrollY < 0;
+ this._reLayout();
+ },
+ resetPosition: function(time) {
+ var x = this.x,
+ y = this.y;
+
+ time = time || 0;
+ if (!this.hasHorizontalScroll || this.x > 0) {
+ x = 0;
+ } else if (this.x < this.maxScrollX) {
+ x = this.maxScrollX;
+ }
+
+ if (!this.hasVerticalScroll || this.y > 0) {
+ y = 0;
+ } else if (this.y < this.maxScrollY) {
+ y = this.maxScrollY;
+ }
+
+ if (x == this.x && y == this.y) {
+ return false;
+ }
+ this.scrollTo(x, y, time, this.options.scrollEasing);
+
+ return true;
+ },
+ _reInit: function() {
+ var groups = this.wrapper.querySelectorAll('.' + CLASS_SCROLL);
+ for (var i = 0, len = groups.length; i < len; i++) {
+ if (groups[i].parentNode === this.wrapper) {
+ this.scroller = groups[i];
+ break;
+ }
+ }
+ this.scrollerStyle = this.scroller && this.scroller.style;
+ },
+ refresh: function() {
+ this._reInit();
+ this.reLayout();
+ $.trigger(this.scroller, 'refresh', this);
+ this.resetPosition();
+ },
+ scrollTo: function(x, y, time, easing) {
+ var easing = easing || ease.circular;
+ // this.isInTransition = time > 0 && (this.lastX != x || this.lastY != y);
+ //鏆備笉涓ユ牸鍒ゆ柇x,y锛屽惁鍒欎細瀵艰嚧閮ㄥ垎鐗堟湰涓婁笉姝e父瑙﹀彂杞挱
+ this.isInTransition = time > 0;
+ if (this.isInTransition) {
+ this._clearRequestAnimationFrame();
+ this._transitionTimingFunction(easing.style);
+ this._transitionTime(time);
+ this.setTranslate(x, y);
+ } else {
+ this.setTranslate(x, y);
+ }
+
+ },
+ scrollToBottom: function(time, easing) {
+ time = time || this.options.scrollTime;
+ this.scrollTo(0, this.maxScrollY, time, easing);
+ },
+ gotoPage: function(index) {
+ this._gotoPage(index);
+ },
+ destroy: function() {
+ this._initEvent(true); //detach
+ delete $.data[this.wrapper.getAttribute('data-scroll')];
+ this.wrapper.setAttribute('data-scroll', '');
+ }
+ });
+ //Indicator
+ var Indicator = function(scroller, options) {
+ this.wrapper = typeof options.el == 'string' ? document.querySelector(options.el) : options.el;
+ this.wrapperStyle = this.wrapper.style;
+ this.indicator = this.wrapper.children[0];
+ this.indicatorStyle = this.indicator.style;
+ this.scroller = scroller;
+
+ this.options = $.extend({
+ listenX: true,
+ listenY: true,
+ fade: false,
+ speedRatioX: 0,
+ speedRatioY: 0
+ }, options);
+
+ this.sizeRatioX = 1;
+ this.sizeRatioY = 1;
+ this.maxPosX = 0;
+ this.maxPosY = 0;
+
+ if (this.options.fade) {
+ this.wrapperStyle['webkitTransform'] = this.scroller.translateZ;
+ this.wrapperStyle['webkitTransitionDuration'] = this.options.fixedBadAndorid && $.os.isBadAndroid ? '0.001s' : '0ms';
+ this.wrapperStyle.opacity = '0';
+ }
+ }
+ Indicator.prototype = {
+ handleEvent: function(e) {
+
+ },
+ transitionTime: function(time) {
+ time = time || 0;
+ this.indicatorStyle['webkitTransitionDuration'] = time + 'ms';
+ if (this.scroller.options.fixedBadAndorid && !time && $.os.isBadAndroid) {
+ this.indicatorStyle['webkitTransitionDuration'] = '0.001s';
+ }
+ },
+ transitionTimingFunction: function(easing) {
+ this.indicatorStyle['webkitTransitionTimingFunction'] = easing;
+ },
+ refresh: function() {
+ this.transitionTime();
+
+ if (this.options.listenX && !this.options.listenY) {
+ this.indicatorStyle.display = this.scroller.hasHorizontalScroll ? 'block' : 'none';
+ } else if (this.options.listenY && !this.options.listenX) {
+ this.indicatorStyle.display = this.scroller.hasVerticalScroll ? 'block' : 'none';
+ } else {
+ this.indicatorStyle.display = this.scroller.hasHorizontalScroll || this.scroller.hasVerticalScroll ? 'block' : 'none';
+ }
+
+ this.wrapper.offsetHeight; // force refresh
+
+ if (this.options.listenX) {
+ this.wrapperWidth = this.wrapper.clientWidth;
+ this.indicatorWidth = Math.max(Math.round(this.wrapperWidth * this.wrapperWidth / (this.scroller.scrollerWidth || this.wrapperWidth || 1)), 8);
+ this.indicatorStyle.width = this.indicatorWidth + 'px';
+
+ this.maxPosX = this.wrapperWidth - this.indicatorWidth;
+
+ this.minBoundaryX = 0;
+ this.maxBoundaryX = this.maxPosX;
+
+ this.sizeRatioX = this.options.speedRatioX || (this.scroller.maxScrollX && (this.maxPosX / this.scroller.maxScrollX));
+ }
+
+ if (this.options.listenY) {
+ this.wrapperHeight = this.wrapper.clientHeight;
+ this.indicatorHeight = Math.max(Math.round(this.wrapperHeight * this.wrapperHeight / (this.scroller.scrollerHeight || this.wrapperHeight || 1)), 8);
+ this.indicatorStyle.height = this.indicatorHeight + 'px';
+
+ this.maxPosY = this.wrapperHeight - this.indicatorHeight;
+
+ this.minBoundaryY = 0;
+ this.maxBoundaryY = this.maxPosY;
+
+ this.sizeRatioY = this.options.speedRatioY || (this.scroller.maxScrollY && (this.maxPosY / this.scroller.maxScrollY));
+ }
+
+ this.updatePosition();
+ },
+
+ updatePosition: function() {
+ var x = this.options.listenX && Math.round(this.sizeRatioX * this.scroller.x) || 0,
+ y = this.options.listenY && Math.round(this.sizeRatioY * this.scroller.y) || 0;
+
+ if (x < this.minBoundaryX) {
+ this.width = Math.max(this.indicatorWidth + x, 8);
+ this.indicatorStyle.width = this.width + 'px';
+ x = this.minBoundaryX;
+ } else if (x > this.maxBoundaryX) {
+ this.width = Math.max(this.indicatorWidth - (x - this.maxPosX), 8);
+ this.indicatorStyle.width = this.width + 'px';
+ x = this.maxPosX + this.indicatorWidth - this.width;
+ } else if (this.width != this.indicatorWidth) {
+ this.width = this.indicatorWidth;
+ this.indicatorStyle.width = this.width + 'px';
+ }
+
+ if (y < this.minBoundaryY) {
+ this.height = Math.max(this.indicatorHeight + y * 3, 8);
+ this.indicatorStyle.height = this.height + 'px';
+ y = this.minBoundaryY;
+ } else if (y > this.maxBoundaryY) {
+ this.height = Math.max(this.indicatorHeight - (y - this.maxPosY) * 3, 8);
+ this.indicatorStyle.height = this.height + 'px';
+ y = this.maxPosY + this.indicatorHeight - this.height;
+ } else if (this.height != this.indicatorHeight) {
+ this.height = this.indicatorHeight;
+ this.indicatorStyle.height = this.height + 'px';
+ }
+
+ this.x = x;
+ this.y = y;
+
+ this.indicatorStyle['webkitTransform'] = this.scroller._getTranslateStr(x, y);
+
+ },
+ fade: function(val, hold) {
+ if (hold && !this.visible) {
+ return;
+ }
+
+ clearTimeout(this.fadeTimeout);
+ this.fadeTimeout = null;
+
+ var time = val ? 250 : 500,
+ delay = val ? 0 : 300;
+
+ val = val ? '1' : '0';
+
+ this.wrapperStyle['webkitTransitionDuration'] = time + 'ms';
+
+ this.fadeTimeout = setTimeout((function(val) {
+ this.wrapperStyle.opacity = val;
+ this.visible = +val;
+ }).bind(this, val), delay);
+ }
+ };
+
+ $.Scroll = Scroll;
+
+ $.fn.scroll = function(options) {
+ var scrollApis = [];
+ this.each(function() {
+ var scrollApi = null;
+ var self = this;
+ var id = self.getAttribute('data-scroll');
+ if (!id) {
+ id = ++$.uuid;
+ var _options = $.extend({}, options);
+ if (self.classList.contains('mui-segmented-control')) {
+ _options = $.extend(_options, {
+ scrollY: false,
+ scrollX: true,
+ indicators: false,
+ snap: '.mui-control-item'
+ });
+ }
+ $.data[id] = scrollApi = new Scroll(self, _options);
+ self.setAttribute('data-scroll', id);
+ } else {
+ scrollApi = $.data[id];
+ }
+ scrollApis.push(scrollApi);
+ });
+ return scrollApis.length === 1 ? scrollApis[0] : scrollApis;
+ };
+})(mui, window, document);
+(function($, window, document, undefined) {
+
+ var CLASS_VISIBILITY = 'mui-visibility';
+ var CLASS_HIDDEN = 'mui-hidden';
+
+ var PullRefresh = $.Scroll.extend($.extend({
+ handleEvent: function(e) {
+ this._super(e);
+ if (e.type === 'scrollbottom') {
+ if (e.target === this.scroller) {
+ this._scrollbottom();
+ }
+ }
+ },
+ _scrollbottom: function() {
+ if (!this.pulldown && !this.loading) {
+ this.pulldown = false;
+ this._initPullupRefresh();
+ this.pullupLoading();
+ }
+ },
+ _start: function(e) {
+ //浠呬笅鎷夊埛鏂板湪start闃绘榛樿浜嬩欢
+ if (e.touches && e.touches.length && e.touches[0].clientX > 30) {
+ e.target && !this._preventDefaultException(e.target, this.options.preventDefaultException) && e.preventDefault();
+ }
+ if (!this.loading) {
+ this.pulldown = this.pullPocket = this.pullCaption = this.pullLoading = false
+ }
+ this._super(e);
+ },
+ _drag: function(e) {
+ if (this.y >= 0 && this.disablePulldown && e.detail.direction === 'down') { //绂佺敤涓嬫媺鍒锋柊
+ return;
+ }
+ this._super(e);
+ if (!this.pulldown && !this.loading && this.topPocket && e.detail.direction === 'down' && this.y >= 0) {
+ this._initPulldownRefresh();
+ }
+ if (this.pulldown) {
+ this._setCaption(this.y > this.options.down.height ? this.options.down.contentover : this.options.down.contentdown);
+ }
+ },
+
+ _reLayout: function() {
+ this.hasVerticalScroll = true;
+ this._super();
+ },
+ //API
+ resetPosition: function(time) {
+ if (this.pulldown && !this.disablePulldown) {
+ if (this.y >= this.options.down.height) {
+ this.pulldownLoading(undefined, time || 0);
+ return true;
+ } else {
+ !this.loading && this.topPocket.classList.remove(CLASS_VISIBILITY);
+ }
+ }
+ return this._super(time);
+ },
+ pulldownLoading: function(y, time) {
+ typeof y === 'undefined' && (y = this.options.down.height); //榛樿楂樺害
+ this.scrollTo(0, y, time, this.options.bounceEasing);
+ if (this.loading) {
+ return;
+ }
+ // if (!this.pulldown) {
+ this._initPulldownRefresh();
+ // }
+ this._setCaption(this.options.down.contentrefresh);
+ this.loading = true;
+ this.indicators.map(function(indicator) {
+ indicator.fade(0);
+ });
+ var callback = this.options.down.callback;
+ callback && callback.call(this);
+ },
+ endPulldownToRefresh: function() {
+ var self = this;
+ if (self.topPocket && self.loading && this.pulldown) {
+ self.scrollTo(0, 0, self.options.bounceTime, self.options.bounceEasing);
+ self.loading = false;
+ self._setCaption(self.options.down.contentdown, true);
+ setTimeout(function() {
+ self.loading || self.topPocket.classList.remove(CLASS_VISIBILITY);
+ }, 350);
+ }
+ },
+ pullupLoading: function(callback, x, time) {
+ x = x || 0;
+ this.scrollTo(x, this.maxScrollY, time, this.options.bounceEasing);
+ if (this.loading) {
+ return;
+ }
+ this._initPullupRefresh();
+ this._setCaption(this.options.up.contentrefresh);
+ this.indicators.map(function(indicator) {
+ indicator.fade(0);
+ });
+ this.loading = true;
+ callback = callback || this.options.up.callback;
+ callback && callback.call(this);
+ },
+ endPullupToRefresh: function(finished) {
+ var self = this;
+ if (self.bottomPocket) { // && self.loading && !this.pulldown
+ self.loading = false;
+ if (finished) {
+ this.finished = true;
+ self._setCaption(self.options.up.contentnomore);
+ // self.bottomPocket.classList.remove(CLASS_VISIBILITY);
+ // self.bottomPocket.classList.add(CLASS_HIDDEN);
+ self.wrapper.removeEventListener('scrollbottom', self);
+ } else {
+ self._setCaption(self.options.up.contentdown);
+ // setTimeout(function() {
+ self.loading || self.bottomPocket.classList.remove(CLASS_VISIBILITY);
+ // }, 300);
+ }
+ }
+ },
+ disablePullupToRefresh: function() {
+ this._initPullupRefresh();
+ this.bottomPocket.className = 'mui-pull-bottom-pocket' + ' ' + CLASS_HIDDEN;
+ this.wrapper.removeEventListener('scrollbottom', this);
+ },
+ disablePulldownToRefresh: function() {
+ this._initPulldownRefresh();
+ this.topPocket.className = 'mui-pull-top-pocket' + ' ' + CLASS_HIDDEN;
+ this.disablePulldown = true;
+ },
+ enablePulldownToRefresh: function() {
+ this._initPulldownRefresh();
+ this.topPocket.classList.remove(CLASS_HIDDEN);
+ this._setCaption(this.options.down.contentdown);
+ this.disablePulldown = false;
+ },
+ enablePullupToRefresh: function() {
+ this._initPullupRefresh();
+ this.bottomPocket.classList.remove(CLASS_HIDDEN);
+ this._setCaption(this.options.up.contentdown);
+ this.wrapper.addEventListener('scrollbottom', this);
+ },
+ refresh: function(isReset) {
+ if (isReset && this.finished) {
+ this.enablePullupToRefresh();
+ this.finished = false;
+ }
+ this._super();
+ },
+ }, $.PullRefresh));
+ $.fn.pullRefresh = function(options) {
+ if (this.length === 1) {
+ var self = this[0];
+ var pullRefreshApi = null;
+ var id = self.getAttribute('data-pullrefresh');
+ if (!id && typeof options === 'undefined') {
+ return false;
+ }
+ options = options || {};
+ if (!id) {
+ id = ++$.uuid;
+ $.data[id] = pullRefreshApi = new PullRefresh(self, options);
+ self.setAttribute('data-pullrefresh', id);
+ } else {
+ pullRefreshApi = $.data[id];
+ }
+ if (options.down && options.down.auto) { //濡傛灉璁剧疆浜哸uto锛屽垯鑷姩涓嬫媺涓�娆�
+ pullRefreshApi.pulldownLoading(options.down.autoY);
+ } else if (options.up && options.up.auto) { //濡傛灉璁剧疆浜哸uto锛屽垯鑷姩涓婃媺涓�娆�
+ pullRefreshApi.pullupLoading();
+ }
+ //鏆備笉鎻愪緵杩欑璋冪敤鏂瑰紡鍚�
+ // if (typeof options === 'string') {
+ // var methodValue = pullRefreshApi[options].apply(pullRefreshApi, $.slice.call(arguments, 1));
+ // if (methodValue !== undefined) {
+ // return methodValue;
+ // }
+ // }
+ return pullRefreshApi;
+ }
+ };
+})(mui, window, document);
+/**
+ * snap 閲嶆瀯
+ * @param {Object} $
+ * @param {Object} window
+ */
+(function($, window) {
+ var CLASS_SLIDER = 'mui-slider';
+ var CLASS_SLIDER_GROUP = 'mui-slider-group';
+ var CLASS_SLIDER_LOOP = 'mui-slider-loop';
+ var CLASS_SLIDER_INDICATOR = 'mui-slider-indicator';
+ var CLASS_ACTION_PREVIOUS = 'mui-action-previous';
+ var CLASS_ACTION_NEXT = 'mui-action-next';
+ var CLASS_SLIDER_ITEM = 'mui-slider-item';
+
+ var CLASS_ACTIVE = 'mui-active';
+
+ var SELECTOR_SLIDER_ITEM = '.' + CLASS_SLIDER_ITEM;
+ var SELECTOR_SLIDER_INDICATOR = '.' + CLASS_SLIDER_INDICATOR;
+ var SELECTOR_SLIDER_PROGRESS_BAR = '.mui-slider-progress-bar';
+
+ var Slider = $.Slider = $.Scroll.extend({
+ init: function(element, options) {
+ this._super(element, $.extend(true, {
+ fingers: 1,
+ interval: 0, //璁剧疆涓�0锛屽垯涓嶅畾鏃惰疆鎾�
+ scrollY: false,
+ scrollX: true,
+ indicators: false,
+ scrollTime: 1000,
+ startX: false,
+ slideTime: 0, //婊戝姩鍔ㄧ敾鏃堕棿
+ snap: SELECTOR_SLIDER_ITEM
+ }, options));
+ if (this.options.startX) {
+ // $.trigger(this.wrapper, 'scrollend', this);
+ }
+ },
+ _init: function() {
+ this._reInit();
+ if (this.scroller) {
+ this.scrollerStyle = this.scroller.style;
+ this.progressBar = this.wrapper.querySelector(SELECTOR_SLIDER_PROGRESS_BAR);
+ if (this.progressBar) {
+ this.progressBarWidth = this.progressBar.offsetWidth;
+ this.progressBarStyle = this.progressBar.style;
+ }
+ //蹇樿杩欎釜浠g爜鏄共浠�涔堢殑浜嗭紵
+ // this.x = this._getScroll();
+ // if (this.options.startX === false) {
+ // this.options.startX = this.x;
+ // }
+ //鏍规嵁active淇startX
+
+ this._super();
+ this._initTimer();
+ }
+ },
+ _triggerSlide: function() {
+ var self = this;
+ self.isInTransition = false;
+ var page = self.currentPage;
+ self.slideNumber = self._fixedSlideNumber();
+ if (self.loop) {
+ if (self.slideNumber === 0) {
+ self.setTranslate(self.pages[1][0].x, 0);
+ } else if (self.slideNumber === self.itemLength - 3) {
+ self.setTranslate(self.pages[self.itemLength - 2][0].x, 0);
+ }
+ }
+ if (self.lastSlideNumber != self.slideNumber) {
+ self.lastSlideNumber = self.slideNumber;
+ self.lastPage = self.currentPage;
+ $.trigger(self.wrapper, 'slide', {
+ slideNumber: self.slideNumber
+ });
+ }
+ self._initTimer();
+ },
+ _handleSlide: function(e) {
+ var self = this;
+ if (e.target !== self.wrapper) {
+ return;
+ }
+ var detail = e.detail;
+ detail.slideNumber = detail.slideNumber || 0;
+ var temps = self.scroller.querySelectorAll(SELECTOR_SLIDER_ITEM);
+ var items = [];
+ for (var i = 0, len = temps.length; i < len; i++) {
+ var item = temps[i];
+ if (item.parentNode === self.scroller) {
+ items.push(item);
+ }
+ }
+ var _slideNumber = detail.slideNumber;
+ if (self.loop) {
+ _slideNumber += 1;
+ }
+ if (!self.wrapper.classList.contains('mui-segmented-control')) {
+ for (var i = 0, len = items.length; i < len; i++) {
+ var item = items[i];
+ if (item.parentNode === self.scroller) {
+ if (i === _slideNumber) {
+ item.classList.add(CLASS_ACTIVE);
+ } else {
+ item.classList.remove(CLASS_ACTIVE);
+ }
+ }
+ }
+ }
+ var indicatorWrap = self.wrapper.querySelector('.mui-slider-indicator');
+ if (indicatorWrap) {
+ if (indicatorWrap.getAttribute('data-scroll')) { //scroll
+ $(indicatorWrap).scroll().gotoPage(detail.slideNumber);
+ }
+ var indicators = indicatorWrap.querySelectorAll('.mui-indicator');
+ if (indicators.length > 0) { //鍥剧墖杞挱
+ for (var i = 0, len = indicators.length; i < len; i++) {
+ indicators[i].classList[i === detail.slideNumber ? 'add' : 'remove'](CLASS_ACTIVE);
+ }
+ } else {
+ var number = indicatorWrap.querySelector('.mui-number span');
+ if (number) { //鍥炬枃琛ㄦ牸
+ number.innerText = (detail.slideNumber + 1);
+ } else { //segmented controls
+ var controlItems = indicatorWrap.querySelectorAll('.mui-control-item');
+ for (var i = 0, len = controlItems.length; i < len; i++) {
+ controlItems[i].classList[i === detail.slideNumber ? 'add' : 'remove'](CLASS_ACTIVE);
+ }
+ }
+ }
+ }
+ e.stopPropagation();
+ },
+ _handleTabShow: function(e) {
+ var self = this;
+ self.gotoItem((e.detail.tabNumber || 0), self.options.slideTime);
+ },
+ _handleIndicatorTap: function(event) {
+ var self = this;
+ var target = event.target;
+ if (target.classList.contains(CLASS_ACTION_PREVIOUS) || target.classList.contains(CLASS_ACTION_NEXT)) {
+ self[target.classList.contains(CLASS_ACTION_PREVIOUS) ? 'prevItem' : 'nextItem']();
+ event.stopPropagation();
+ }
+ },
+ _initEvent: function(detach) {
+ var self = this;
+ self._super(detach);
+ var action = detach ? 'removeEventListener' : 'addEventListener';
+ self.wrapper[action]('slide', this);
+ self.wrapper[action]($.eventName('shown', 'tab'), this);
+ },
+ handleEvent: function(e) {
+ this._super(e);
+ switch (e.type) {
+ case 'slide':
+ this._handleSlide(e);
+ break;
+ case $.eventName('shown', 'tab'):
+ if (~this.snaps.indexOf(e.target)) { //閬垮厤宓屽鐩戝惉閿欒鐨則ab show
+ this._handleTabShow(e);
+ }
+ break;
+ }
+ },
+ _scrollend: function(e) {
+ this._super(e);
+ this._triggerSlide(e);
+ },
+ _drag: function(e) {
+ this._super(e);
+ var direction = e.detail.direction;
+ if (direction === 'left' || direction === 'right') {
+ //鎷栨嫿鏈熼棿鍙栨秷瀹氭椂
+ var slidershowTimer = this.wrapper.getAttribute('data-slidershowTimer');
+ slidershowTimer && window.clearTimeout(slidershowTimer);
+
+ e.stopPropagation();
+ }
+ },
+ _initTimer: function() {
+ var self = this;
+ var slider = self.wrapper;
+ var interval = self.options.interval;
+ var slidershowTimer = slider.getAttribute('data-slidershowTimer');
+ slidershowTimer && window.clearTimeout(slidershowTimer);
+ if (interval) {
+ slidershowTimer = window.setTimeout(function() {
+ if (!slider) {
+ return;
+ }
+ //浠卻lider鏄剧ず鐘舵�佽繘琛岃嚜鍔ㄨ疆鎾�
+ if (!!(slider.offsetWidth || slider.offsetHeight)) {
+ self.nextItem(true);
+ //涓嬩竴涓�
+ }
+ self._initTimer();
+ }, interval);
+ slider.setAttribute('data-slidershowTimer', slidershowTimer);
+ }
+ },
+
+ _fixedSlideNumber: function(page) {
+ page = page || this.currentPage;
+ var slideNumber = page.pageX;
+ if (this.loop) {
+ if (page.pageX === 0) {
+ slideNumber = this.itemLength - 3;
+ } else if (page.pageX === (this.itemLength - 1)) {
+ slideNumber = 0;
+ } else {
+ slideNumber = page.pageX - 1;
+ }
+ }
+ return slideNumber;
+ },
+ _reLayout: function() {
+ this.hasHorizontalScroll = true;
+ this.loop = this.scroller.classList.contains(CLASS_SLIDER_LOOP);
+ this._super();
+ },
+ _getScroll: function() {
+ var result = $.parseTranslateMatrix($.getStyles(this.scroller, 'webkitTransform'));
+ return result ? result.x : 0;
+ },
+ _transitionEnd: function(e) {
+ if (e.target !== this.scroller || !this.isInTransition) {
+ return;
+ }
+ this._transitionTime();
+ this.isInTransition = false;
+ $.trigger(this.wrapper, 'scrollend', this);
+ },
+ _flick: function(e) {
+ if (!this.moved) { //鏃爉oved
+ return;
+ }
+ var detail = e.detail;
+ var direction = detail.direction;
+ this._clearRequestAnimationFrame();
+ this.isInTransition = true;
+ // if (direction === 'up' || direction === 'down') {
+ // this.resetPosition(this.options.bounceTime);
+ // return;
+ // }
+ if (e.type === 'flick') {
+ if (detail.deltaTime < 200) { //flick锛屽お瀹规槗瑙﹀彂锛岄澶栨牎楠屼竴涓媎eltaTime
+ this.x = this._getPage((this.slideNumber + (direction === 'right' ? -1 : 1)), true).x;
+ }
+ this.resetPosition(this.options.bounceTime);
+ } else if (e.type === 'dragend' && !detail.flick) {
+ this.resetPosition(this.options.bounceTime);
+ }
+ e.stopPropagation();
+ },
+ _initSnap: function() {
+ this.scrollerWidth = this.itemLength * this.scrollerWidth;
+ this.maxScrollX = Math.min(this.wrapperWidth - this.scrollerWidth, 0);
+ this._super();
+ if (!this.currentPage.x) {
+ //褰搒lider澶勪簬闅愯棌鐘舵�佹椂锛屽鑷磗nap璁$畻鏄敊璇殑锛屼复鏃跺厛杩欎箞鍒ゆ柇涓�涓嬶紝鍚庣画瑕佽�冭檻瑙e喅鎵�鏈塻croll鍦ㄩ殣钘忕姸鎬佷笅鍒濆鍖栧睘鎬т笉姝g‘鐨勯棶棰�
+ var currentPage = this.pages[this.loop ? 1 : 0];
+ currentPage = currentPage || this.pages[0];
+ if (!currentPage) {
+ return;
+ }
+ this.currentPage = currentPage[0];
+ this.slideNumber = 0;
+ this.lastSlideNumber = typeof this.lastSlideNumber === 'undefined' ? 0 : this.lastSlideNumber;
+ } else {
+ this.slideNumber = this._fixedSlideNumber();
+ this.lastSlideNumber = typeof this.lastSlideNumber === 'undefined' ? this.slideNumber : this.lastSlideNumber;
+ }
+ this.options.startX = this.currentPage.x || 0;
+ },
+ _getSnapX: function(offsetLeft) {
+ return Math.max(-offsetLeft, this.maxScrollX);
+ },
+ _getPage: function(slideNumber, isFlick) {
+ if (this.loop) {
+ if (slideNumber > (this.itemLength - (isFlick ? 2 : 3))) {
+ slideNumber = 1;
+ time = 0;
+ } else if (slideNumber < (isFlick ? -1 : 0)) {
+ slideNumber = this.itemLength - 2;
+ time = 0;
+ } else {
+ slideNumber += 1;
+ }
+ } else {
+ if (!isFlick) {
+ if (slideNumber > (this.itemLength - 1)) {
+ slideNumber = 0;
+ time = 0;
+ } else if (slideNumber < 0) {
+ slideNumber = this.itemLength - 1;
+ time = 0;
+ }
+ }
+ slideNumber = Math.min(Math.max(0, slideNumber), this.itemLength - 1);
+ }
+ return this.pages[slideNumber][0];
+ },
+ _gotoItem: function(slideNumber, time) {
+ this.currentPage = this._getPage(slideNumber, true); //姝ゅ浼爐rue銆傚彲淇濊瘉绋嬪簭鍒囨崲鏃讹紝鍔ㄧ敾涓庝汉鎵嬫搷浣滀竴鑷�(绗竴寮狅紝鏈�鍚庝竴寮犵殑鍒囨崲鍔ㄧ敾)
+ this.scrollTo(this.currentPage.x, 0, time, this.options.scrollEasing);
+ if (time === 0) {
+ $.trigger(this.wrapper, 'scrollend', this);
+ }
+ },
+ //API
+ setTranslate: function(x, y) {
+ this._super(x, y);
+ var progressBar = this.progressBar;
+ if (progressBar) {
+ this.progressBarStyle.webkitTransform = this._getTranslateStr((-x * (this.progressBarWidth / this.wrapperWidth)), 0);
+ }
+ },
+ resetPosition: function(time) {
+ time = time || 0;
+ if (this.x > 0) {
+ this.x = 0;
+ } else if (this.x < this.maxScrollX) {
+ this.x = this.maxScrollX;
+ }
+ this.currentPage = this._nearestSnap(this.x);
+ this.scrollTo(this.currentPage.x, 0, time, this.options.scrollEasing);
+ return true;
+ },
+ gotoItem: function(slideNumber, time) {
+ this._gotoItem(slideNumber, typeof time === 'undefined' ? this.options.scrollTime : time);
+ },
+ nextItem: function() {
+ this._gotoItem(this.slideNumber + 1, this.options.scrollTime);
+ },
+ prevItem: function() {
+ this._gotoItem(this.slideNumber - 1, this.options.scrollTime);
+ },
+ getSlideNumber: function() {
+ return this.slideNumber || 0;
+ },
+ _reInit: function() {
+ var groups = this.wrapper.querySelectorAll('.' + CLASS_SLIDER_GROUP);
+ for (var i = 0, len = groups.length; i < len; i++) {
+ if (groups[i].parentNode === this.wrapper) {
+ this.scroller = groups[i];
+ break;
+ }
+ }
+ this.scrollerStyle = this.scroller && this.scroller.style;
+ if (this.progressBar) {
+ this.progressBarWidth = this.progressBar.offsetWidth;
+ this.progressBarStyle = this.progressBar.style;
+ }
+ },
+ refresh: function(options) {
+ if (options) {
+ $.extend(this.options, options);
+ this._super();
+ this._initTimer();
+ } else {
+ this._super();
+ }
+ },
+ destroy: function() {
+ this._initEvent(true); //detach
+ delete $.data[this.wrapper.getAttribute('data-slider')];
+ this.wrapper.setAttribute('data-slider', '');
+ }
+ });
+ $.fn.slider = function(options) {
+ var slider = null;
+ this.each(function() {
+ var sliderElement = this;
+ if (!this.classList.contains(CLASS_SLIDER)) {
+ sliderElement = this.querySelector('.' + CLASS_SLIDER);
+ }
+ if (sliderElement && sliderElement.querySelector(SELECTOR_SLIDER_ITEM)) {
+ var id = sliderElement.getAttribute('data-slider');
+ if (!id) {
+ id = ++$.uuid;
+ $.data[id] = slider = new Slider(sliderElement, options);
+ sliderElement.setAttribute('data-slider', id);
+ } else {
+ slider = $.data[id];
+ if (slider && options) {
+ slider.refresh(options);
+ }
+ }
+ }
+ });
+ return slider;
+ };
+ $.ready(function() {
+ // setTimeout(function() {
+ $('.mui-slider').slider();
+ $('.mui-scroll-wrapper.mui-slider-indicator.mui-segmented-control').scroll({
+ scrollY: false,
+ scrollX: true,
+ indicators: false,
+ snap: '.mui-control-item'
+ });
+ // }, 500); //涓存椂澶勭悊slider瀹藉害璁$畻涓嶆纭殑闂(鍒濇纭鏄痵crollbar瀵艰嚧鐨�)
+
+ });
+})(mui, window);
+/**
+ * pullRefresh 5+
+ * @param {type} $
+ * @returns {undefined}
+ */
+(function($, document) {
+ if (!($.os.plus)) { //浠呭湪5+android鏀寔澶歸ebview鐨勪娇鐢�
+ return;
+ }
+ $.plusReady(function() {
+ if (window.__NWin_Enable__ === false) { //涓嶆敮鎸佸webview锛屽垯涓嶇敤5+涓嬫媺鍒锋柊
+ return;
+ }
+ var CLASS_PLUS_PULLREFRESH = 'mui-plus-pullrefresh';
+ var CLASS_VISIBILITY = 'mui-visibility';
+ var CLASS_HIDDEN = 'mui-hidden';
+ var CLASS_BLOCK = 'mui-block';
+
+ var CLASS_PULL_CAPTION = 'mui-pull-caption';
+ var CLASS_PULL_CAPTION_DOWN = 'mui-pull-caption-down';
+ var CLASS_PULL_CAPTION_REFRESH = 'mui-pull-caption-refresh';
+ var CLASS_PULL_CAPTION_NOMORE = 'mui-pull-caption-nomore';
+
+ var PlusPullRefresh = $.Class.extend({
+ init: function(element, options) {
+ this.element = element;
+ this.options = options;
+ this.wrapper = this.scroller = element;
+ this._init();
+ this._initPulldownRefreshEvent();
+ },
+ _init: function() {
+ var self = this;
+ //document.addEventListener('plusscrollbottom', this);
+ window.addEventListener('dragup', self);
+ document.addEventListener("plusscrollbottom", self);
+ self.scrollInterval = window.setInterval(function() {
+ if (self.isScroll && !self.loading) {
+ if (window.pageYOffset + window.innerHeight + 10 >= document.documentElement.scrollHeight) {
+ self.isScroll = false; //鏀惧湪杩欓噷鏄洜涓哄揩閫熸粴鍔ㄧ殑璇濓紝鏈夊彲鑳芥娴嬫椂锛岃繕娌″埌搴曪紝鎵�浠ュ彧瑕佹湁婊氬姩锛屾病鍒板簳涔嬪墠涓�鐩存娴嬮珮搴﹀彉鍖�
+ if (self.bottomPocket) {
+ self.pullupLoading();
+ }
+ }
+ }
+ }, 100);
+ },
+ _initPulldownRefreshEvent: function() {
+ var self = this;
+ $.plusReady(function() {
+ if (self.options.down.style == "circle") {
+ //鍗晈ebview銆佸師鐢熻浆鍦�
+ self.options.webview = plus.webview.currentWebview();
+ self.options.webview.setPullToRefresh({
+ support: true,
+ color: self.options.down.color || '#2BD009',
+ height: self.options.down.height || '50px',
+ range: self.options.down.range || '100px',
+ style: 'circle',
+ offset: self.options.down.offset || '0px'
+ }, function() {
+ self.options.down.callback();
+ });
+ } else if (self.topPocket && self.options.webviewId) {
+ var webview = plus.webview.getWebviewById(self.options.webviewId); //瀛愮獥鍙�
+ if (!webview) {
+ return;
+ }
+ self.options.webview = webview;
+ var downOptions = self.options.down;
+ var height = downOptions.height;
+ webview.addEventListener('close', function() {
+ var attrWebviewId = self.options.webviewId && self.options.webviewId.replace(/\//g, "_"); //鏇挎崲鎵�鏈�"/"
+ self.element.removeAttribute('data-pullrefresh-plus-' + attrWebviewId);
+ });
+ webview.addEventListener("dragBounce", function(e) {
+ if (!self.pulldown) {
+ self._initPulldownRefresh();
+ } else {
+ self.pullPocket.classList.add(CLASS_BLOCK);
+ }
+ switch (e.status) {
+ case "beforeChangeOffset": //涓嬫媺鍙埛鏂扮姸鎬�
+ self._setCaption(downOptions.contentdown);
+ break;
+ case "afterChangeOffset": //鏉惧紑鍙埛鏂扮姸鎬�
+ self._setCaption(downOptions.contentover);
+ break;
+ case "dragEndAfterChangeOffset": //姝e湪鍒锋柊鐘舵��
+ //鎵ц涓嬫媺鍒锋柊鎵�鍦╳ebview鐨勫洖璋冨嚱鏁�
+ webview.evalJS("window.mui&&mui.options.pullRefresh.down.callback()");
+ self._setCaption(downOptions.contentrefresh);
+ break;
+ default:
+ break;
+ }
+ }, false);
+
+ webview.setBounce({
+ position: {
+ top: height * 2 + 'px'
+ },
+ changeoffset: {
+ top: height + 'px'
+ }
+ });
+
+ }
+ });
+ },
+ handleEvent: function(e) {
+ var self = this;
+ if (self.stopped) {
+ return;
+ }
+ self.isScroll = false;
+ if (e.type === 'dragup' || e.type === 'plusscrollbottom') {
+ self.isScroll = true;
+ setTimeout(function() {
+ self.isScroll = false;
+ }, 1000);
+ }
+ }
+ }).extend($.extend({
+ setStopped: function(stopped) { //璇ユ柟娉曟槸瀛愰〉闈㈣皟鐢ㄧ殑
+ this.stopped = !!stopped;
+ // TODO 姝ゅ闇�瑕佽缃綋鍓峸ebview鐨刡ounce涓簄one,鐩墠5+鏈塀UG
+ if (this.stopped) {
+ this.disablePullupToRefresh();
+ this.disablePulldownToRefresh();
+ } else {
+ this.enablePullupToRefresh();
+ this.enablePulldownToRefresh();
+ }
+ },
+ beginPulldown: function() {
+ var self = this;
+ $.plusReady(function() {
+ //杩欓噷寤舵椂鐨勭洰鐨勬槸涓轰簡淇濊瘉涓嬫媺鍒锋柊缁勪欢鍒濆鍖栧畬鎴愶紝鍚庣画搴旇鍋氭垚鏈夌姸鎬佺殑
+ setTimeout(function() {
+ if (self.options.down.style == "circle") { //鍗晈ebview涓嬫媺鍒锋柊
+ plus.webview.currentWebview().beginPullToRefresh();
+ } else { //鍙寃ebview妯″紡
+ var webview = self.options.webview;
+ if (webview) {
+ webview.setBounce({
+ offset: {
+ top: self.options.down.height + "px"
+ }
+ });
+ }
+ }
+ }, 15);
+ }.bind(this));
+ },
+ pulldownLoading: function() { //璇ユ柟娉曟槸瀛愰〉闈㈣皟鐢ㄧ殑锛屽吋瀹硅�佺殑鍘嗗彶API
+ this.beginPulldown();
+ },
+ _pulldownLoading: function() { //璇ユ柟娉曟槸鐖堕〉闈㈣皟鐢ㄧ殑
+ var self = this;
+ $.plusReady(function() {
+ var childWebview = plus.webview.getWebviewById(self.options.webviewId);
+ childWebview && childWebview.setBounce({
+ offset: {
+ top: self.options.down.height + "px"
+ }
+ });
+ });
+ },
+ endPulldown: function() {
+ var _wv = plus.webview.currentWebview();
+ //鍙寃ebview鐨勪笅鎷夊埛鏂帮紝闇�瑕佷慨鏀圭埗绐楀彛鎻愮ず淇℃伅
+ if (_wv.parent() && this.options.down.style !== "circle") {
+ _wv.parent().evalJS("mui&&mui(document.querySelector('.mui-content')).pullRefresh('" + JSON.stringify({
+ webviewId: _wv.id
+ }) + "')._endPulldownToRefresh()");
+ } else {
+ _wv.endPullToRefresh();
+ }
+ },
+ endPulldownToRefresh: function() { //璇ユ柟娉曟槸瀛愰〉闈㈣皟鐢ㄧ殑锛屽吋瀹硅�佺殑鍘嗗彶API
+ this.endPulldown();
+ },
+ _endPulldownToRefresh: function() { //璇ユ柟娉曟槸鐖堕〉闈㈣皟鐢ㄧ殑
+ var self = this;
+ if (self.topPocket && self.options.webview) {
+ self.options.webview.endPullToRefresh(); //涓嬫媺鍒锋柊鎵�鍦╳ebview鍥炲脊
+ self.loading = false;
+ self._setCaption(self.options.down.contentdown, true);
+ setTimeout(function() {
+ self.loading || self.topPocket.classList.remove(CLASS_BLOCK);
+ }, 350);
+ }
+ },
+ beginPullup: function(callback) { //寮�濮嬩笂鎷夊姞杞�
+ var self = this;
+ if (self.isLoading) return;
+ self.isLoading = true;
+ if (self.pulldown !== false) {
+ self._initPullupRefresh();
+ } else {
+ this.pullPocket.classList.add(CLASS_BLOCK);
+ }
+ setTimeout(function() {
+ self.pullLoading.classList.add(CLASS_VISIBILITY);
+ self.pullLoading.classList.remove(CLASS_HIDDEN);
+ self.pullCaption.innerHTML = ''; //淇5+閲岃竟绗竴娆″姞杞芥椂锛屾枃瀛楁樉绀虹殑bug(杩樹細鏄剧ず鍑烘潵涓�滃鈥�,鐚滄祴搴旇鏄覆鏌撻棶棰樺鑷寸殑)
+ self.pullCaption.className = CLASS_PULL_CAPTION + ' ' + CLASS_PULL_CAPTION_REFRESH;
+ self.pullCaption.innerHTML = self.options.up.contentrefresh;
+ callback = callback || self.options.up.callback;
+ callback && callback.call(self);
+ }, 300);
+ },
+ pullupLoading: function(callback) { //鍏煎鑰佺殑API
+ this.beginPullup(callback);
+ },
+ endPullup: function(finished) { //涓婃媺鍔犺浇缁撴潫
+ var self = this;
+ if (self.pullLoading) {
+ self.pullLoading.classList.remove(CLASS_VISIBILITY);
+ self.pullLoading.classList.add(CLASS_HIDDEN);
+ self.isLoading = false;
+ if (finished) {
+ self.finished = true;
+ self.pullCaption.className = CLASS_PULL_CAPTION + ' ' + CLASS_PULL_CAPTION_NOMORE;
+ self.pullCaption.innerHTML = self.options.up.contentnomore;
+ //鍙栨秷5+鐨刾lusscrollbottom浜嬩欢
+ document.removeEventListener('plusscrollbottom', self);
+ window.removeEventListener('dragup', self);
+ } else { //鍒濆鍖栨椂闅愯棌锛屽悗缁笉鍐嶉殣钘�
+ self.pullCaption.className = CLASS_PULL_CAPTION + ' ' + CLASS_PULL_CAPTION_DOWN;
+ self.pullCaption.innerHTML = self.options.up.contentdown;
+ }
+ }
+ },
+ endPullupToRefresh: function(finished) { //涓婃媺鍔犺浇缁撴潫锛屽吋瀹硅�佺殑API
+ this.endPullup(finished);
+ },
+ disablePulldownToRefresh: function() {
+ var webview = plus.webview.currentWebview();
+ if (this.options.down.style && this.options.down.style == 'circle') { // 鍗晈ebview妯″紡绂佹鍘熺敓涓嬫媺鍒锋柊
+ this.options.webview.setPullToRefresh({
+ support: false,
+ style: 'circle'
+ });
+ } else { // 鍙寃ebview妯″紡绂佹涓嬫媺鍒锋柊
+ webview.setStyle({
+ bounce: 'none'
+ });
+ webview.setBounce({
+ position: {
+ top: 'none'
+ }
+ });
+ }
+ },
+ enablePulldownToRefresh: function() {
+ var self = this,
+ webview = plus.webview.currentWebview(),
+ height = this.options.down.height;
+ // 鍗晈ebview妯″紡绂佹鍘熺敓涓嬫媺鍒锋柊
+ if (this.options.down.style && this.options.down.style == 'circle') {
+ webview.setPullToRefresh({
+ support: true,
+ height: height || '50px',
+ range: self.options.down.range || '100px',
+ style: 'circle',
+ offset: self.options.down.offset || '0px'
+ });
+ } else { // 閲嶆柊鍒濆鍖栧弻webview妯″紡涓嬫媺鍒锋柊
+ webview.setStyle({
+ bounce: 'vertical'
+ });
+ webview.setBounce({
+ position: {
+ top: height * 2 + 'px'
+ },
+ changeoffset: {
+ top: height + 'px'
+ }
+ });
+ }
+ },
+ disablePullupToRefresh: function() {
+ this._initPullupRefresh();
+ this.bottomPocket.className = 'mui-pull-bottom-pocket' + ' ' + CLASS_HIDDEN;
+ window.removeEventListener('dragup', this);
+ },
+ enablePullupToRefresh: function() {
+ this._initPullupRefresh();
+ this.bottomPocket.classList.remove(CLASS_HIDDEN);
+ this.pullCaption.className = CLASS_PULL_CAPTION + ' ' + CLASS_PULL_CAPTION_DOWN;
+ this.pullCaption.innerHTML = this.options.up.contentdown;
+ document.addEventListener("plusscrollbottom", this);
+ window.addEventListener('dragup', this);
+ },
+ scrollTo: function(x, y, time) {
+ $.scrollTo(y, time);
+ },
+ scrollToBottom: function(time) {
+ $.scrollTo(document.documentElement.scrollHeight, time);
+ },
+ refresh: function(isReset) {
+ if (isReset && this.finished) {
+ this.enablePullupToRefresh();
+ this.finished = false;
+ }
+ }
+ }, $.PullRefresh));
+
+ //override h5 pullRefresh
+ $.fn.pullRefresh_native = function(options) {
+ var self;
+ if (this.length === 0) {
+ self = document.createElement('div');
+ self.className = 'mui-content';
+ document.body.appendChild(self);
+ } else {
+ self = this[0];
+ }
+ var args = options;
+ //涓�涓埗闇�瑕佹敮鎸佸涓瓙涓嬫媺鍒锋柊
+ options = options || {}
+ if (typeof options === 'string') {
+ options = $.parseJSON(options);
+ };
+ !options.webviewId && (options.webviewId = (plus.webview.currentWebview().id || plus.webview.currentWebview().getURL()));
+ var pullRefreshApi = null;
+ var attrWebviewId = options.webviewId && options.webviewId.replace(/\//g, "_"); //鏇挎崲鎵�鏈�"/"
+ var id = self.getAttribute('data-pullrefresh-plus-' + attrWebviewId);
+ if (!id && typeof args === 'undefined') {
+ return false;
+ }
+ if (!id) { //閬垮厤閲嶅鍒濆鍖�5+ pullrefresh
+ id = ++$.uuid;
+ self.setAttribute('data-pullrefresh-plus-' + attrWebviewId, id);
+ document.body.classList.add(CLASS_PLUS_PULLREFRESH);
+ $.data[id] = pullRefreshApi = new PlusPullRefresh(self, options);
+ } else {
+ pullRefreshApi = $.data[id];
+ }
+ if (options.down && options.down.auto) { //濡傛灉璁剧疆浜哸uto锛屽垯鑷姩涓嬫媺涓�娆�
+ //pullRefreshApi._pulldownLoading(); //parent webview
+ pullRefreshApi.beginPulldown();
+ } else if (options.up && options.up.auto) { //濡傛灉璁剧疆浜哸uto锛屽垯鑷姩涓婃媺涓�娆�
+ pullRefreshApi.beginPullup();
+ }
+ return pullRefreshApi;
+ };
+ });
+
+})(mui, document);
+/**
+ * off-canvas
+ * @param {type} $
+ * @param {type} window
+ * @param {type} document
+ * @param {type} action
+ * @returns {undefined}
+ */
+(function($, window, document, name) {
+ var CLASS_OFF_CANVAS_LEFT = 'mui-off-canvas-left';
+ var CLASS_OFF_CANVAS_RIGHT = 'mui-off-canvas-right';
+ var CLASS_ACTION_BACKDROP = 'mui-off-canvas-backdrop';
+ var CLASS_OFF_CANVAS_WRAP = 'mui-off-canvas-wrap';
+
+ var CLASS_SLIDE_IN = 'mui-slide-in';
+ var CLASS_ACTIVE = 'mui-active';
+
+
+ var CLASS_TRANSITIONING = 'mui-transitioning';
+
+ var SELECTOR_INNER_WRAP = '.mui-inner-wrap';
+
+
+ var OffCanvas = $.Class.extend({
+ init: function(element, options) {
+ this.wrapper = this.element = element;
+ this.scroller = this.wrapper.querySelector(SELECTOR_INNER_WRAP);
+ this.classList = this.wrapper.classList;
+ if (this.scroller) {
+ this.options = $.extend(true, {
+ dragThresholdX: 10,
+ scale: 0.8,
+ opacity: 0.1,
+ preventDefaultException: {
+ tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT|VIDEO)$/
+ },
+ }, options);
+ document.body.classList.add('mui-fullscreen'); //fullscreen
+ this.refresh();
+ this.initEvent();
+ }
+ },
+ _preventDefaultException: function(el, exceptions) {
+ for (var i in exceptions) {
+ if (exceptions[i].test(el[i])) {
+ return true;
+ }
+ }
+ return false;
+ },
+ refresh: function(offCanvas) {
+ // offCanvas && !offCanvas.classList.contains(CLASS_ACTIVE) && this.classList.remove(CLASS_ACTIVE);
+ this.slideIn = this.classList.contains(CLASS_SLIDE_IN);
+ this.scalable = this.classList.contains('mui-scalable') && !this.slideIn;
+ this.scroller = this.wrapper.querySelector(SELECTOR_INNER_WRAP);
+ // !offCanvas && this.scroller.classList.remove(CLASS_TRANSITIONING);
+ // !offCanvas && this.scroller.setAttribute('style', '');
+ this.offCanvasLefts = this.wrapper.querySelectorAll('.' + CLASS_OFF_CANVAS_LEFT);
+ this.offCanvasRights = this.wrapper.querySelectorAll('.' + CLASS_OFF_CANVAS_RIGHT);
+ if (offCanvas) {
+ if (offCanvas.classList.contains(CLASS_OFF_CANVAS_LEFT)) {
+ this.offCanvasLeft = offCanvas;
+ } else if (offCanvas.classList.contains(CLASS_OFF_CANVAS_RIGHT)) {
+ this.offCanvasRight = offCanvas;
+ }
+ } else {
+ this.offCanvasRight = this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_RIGHT);
+ this.offCanvasLeft = this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_LEFT);
+ }
+ this.offCanvasRightWidth = this.offCanvasLeftWidth = 0;
+ this.offCanvasLeftSlideIn = this.offCanvasRightSlideIn = false;
+ if (this.offCanvasRight) {
+ this.offCanvasRightWidth = this.offCanvasRight.offsetWidth;
+ this.offCanvasRightSlideIn = this.slideIn && (this.offCanvasRight.parentNode === this.wrapper);
+ // this.offCanvasRight.classList.remove(CLASS_TRANSITIONING);
+ // this.offCanvasRight.classList.remove(CLASS_ACTIVE);
+ // this.offCanvasRight.setAttribute('style', '');
+ }
+ if (this.offCanvasLeft) {
+ this.offCanvasLeftWidth = this.offCanvasLeft.offsetWidth;
+ this.offCanvasLeftSlideIn = this.slideIn && (this.offCanvasLeft.parentNode === this.wrapper);
+ // this.offCanvasLeft.classList.remove(CLASS_TRANSITIONING);
+ // this.offCanvasLeft.classList.remove(CLASS_ACTIVE);
+ // this.offCanvasLeft.setAttribute('style', '');
+ }
+ this.backdrop = this.scroller.querySelector('.' + CLASS_ACTION_BACKDROP);
+
+ this.options.dragThresholdX = this.options.dragThresholdX || 10;
+
+ this.visible = false;
+ this.startX = null;
+ this.lastX = null;
+ this.offsetX = null;
+ this.lastTranslateX = null;
+ },
+ handleEvent: function(e) {
+ switch (e.type) {
+ case $.EVENT_START:
+ e.target && !this._preventDefaultException(e.target, this.options.preventDefaultException) && e.preventDefault();
+ break;
+ case 'webkitTransitionEnd': //鏈変釜bug闇�瑕佸鐞嗭紝闇�瑕佽�冭檻鍋囪娌℃湁瑙﹀彂webkitTransitionEnd鐨勬儏鍐�
+ if (e.target === this.scroller) {
+ this._dispatchEvent();
+ }
+ break;
+ case 'drag':
+ var detail = e.detail;
+ if (!this.startX) {
+ this.startX = detail.center.x;
+ this.lastX = this.startX;
+ } else {
+ this.lastX = detail.center.x;
+ }
+ if (!this.isDragging && Math.abs(this.lastX - this.startX) > this.options.dragThresholdX && (detail.direction === 'left' || (detail.direction === 'right'))) {
+ if (this.slideIn) {
+ this.scroller = this.wrapper.querySelector(SELECTOR_INNER_WRAP);
+ if (this.classList.contains(CLASS_ACTIVE)) {
+ if (this.offCanvasRight && this.offCanvasRight.classList.contains(CLASS_ACTIVE)) {
+ this.offCanvas = this.offCanvasRight;
+ this.offCanvasWidth = this.offCanvasRightWidth;
+ } else {
+ this.offCanvas = this.offCanvasLeft;
+ this.offCanvasWidth = this.offCanvasLeftWidth;
+ }
+ } else {
+ if (detail.direction === 'left' && this.offCanvasRight) {
+ this.offCanvas = this.offCanvasRight;
+ this.offCanvasWidth = this.offCanvasRightWidth;
+ } else if (detail.direction === 'right' && this.offCanvasLeft) {
+ this.offCanvas = this.offCanvasLeft;
+ this.offCanvasWidth = this.offCanvasLeftWidth;
+ } else {
+ this.scroller = null;
+ }
+ }
+ } else {
+ if (this.classList.contains(CLASS_ACTIVE)) {
+ if (detail.direction === 'left') {
+ this.offCanvas = this.offCanvasLeft;
+ this.offCanvasWidth = this.offCanvasLeftWidth;
+ } else {
+ this.offCanvas = this.offCanvasRight;
+ this.offCanvasWidth = this.offCanvasRightWidth;
+ }
+ } else {
+ if (detail.direction === 'right') {
+ this.offCanvas = this.offCanvasLeft;
+ this.offCanvasWidth = this.offCanvasLeftWidth;
+ } else {
+ this.offCanvas = this.offCanvasRight;
+ this.offCanvasWidth = this.offCanvasRightWidth;
+ }
+ }
+ }
+ if (this.offCanvas && this.scroller) {
+ this.startX = this.lastX;
+ this.isDragging = true;
+
+ $.gestures.session.lockDirection = true; //閿佸畾鏂瑰悜
+ $.gestures.session.startDirection = detail.direction;
+
+ this.offCanvas.classList.remove(CLASS_TRANSITIONING);
+ this.scroller.classList.remove(CLASS_TRANSITIONING);
+ this.offsetX = this.getTranslateX();
+ this._initOffCanvasVisible();
+ }
+ }
+ if (this.isDragging) {
+ this.updateTranslate(this.offsetX + (this.lastX - this.startX));
+ detail.gesture.preventDefault();
+ e.stopPropagation();
+ }
+ break;
+ case 'dragend':
+ if (this.isDragging) {
+ var detail = e.detail;
+ var direction = detail.direction;
+ this.isDragging = false;
+ this.offCanvas.classList.add(CLASS_TRANSITIONING);
+ this.scroller.classList.add(CLASS_TRANSITIONING);
+ var ratio = 0;
+ var x = this.getTranslateX();
+ if (!this.slideIn) {
+ if (x >= 0) {
+ ratio = (this.offCanvasLeftWidth && (x / this.offCanvasLeftWidth)) || 0;
+ } else {
+ ratio = (this.offCanvasRightWidth && (x / this.offCanvasRightWidth)) || 0;
+ }
+ if (ratio === 0) {
+ this.openPercentage(0);
+ this._dispatchEvent(); //姝ゅ涓嶈Е鍙憌ebkitTransitionEnd,鎵�浠ユ墜鍔╠ispatch
+ return;
+ }
+ if (direction === 'right' && ratio >= 0 && (ratio >= 0.5 || detail.swipe)) { //鍙虫粦鎵撳紑
+ this.openPercentage(100);
+ } else if (direction === 'right' && ratio < 0 && (ratio > -0.5 || detail.swipe)) { //鍙虫粦鍏抽棴
+ this.openPercentage(0);
+ } else if (direction === 'right' && ratio > 0 && ratio < 0.5) { //鍙虫粦杩樺師鍏抽棴
+ this.openPercentage(0);
+ } else if (direction === 'right' && ratio < 0.5) { //鍙虫粦杩樺師鎵撳紑
+ this.openPercentage(-100);
+ } else if (direction === 'left' && ratio <= 0 && (ratio <= -0.5 || detail.swipe)) { //宸︽粦鎵撳紑
+ this.openPercentage(-100);
+ } else if (direction === 'left' && ratio > 0 && (ratio <= 0.5 || detail.swipe)) { //宸︽粦鍏抽棴
+ this.openPercentage(0);
+ } else if (direction === 'left' && ratio < 0 && ratio >= -0.5) { //宸︽粦杩樺師鍏抽棴
+ this.openPercentage(0);
+ } else if (direction === 'left' && ratio > 0.5) { //宸︽粦杩樺師鎵撳紑
+ this.openPercentage(100);
+ } else { //榛樿鍏抽棴
+ this.openPercentage(0);
+ }
+ if (ratio === 1 || ratio === -1) { //姝ゅ涓嶈Е鍙憌ebkitTransitionEnd,鎵�浠ユ墜鍔╠ispatch
+ this._dispatchEvent();
+ }
+ } else {
+ if (x >= 0) {
+ ratio = (this.offCanvasRightWidth && (x / this.offCanvasRightWidth)) || 0;
+ } else {
+ ratio = (this.offCanvasLeftWidth && (x / this.offCanvasLeftWidth)) || 0;
+ }
+ if (direction === 'right' && ratio <= 0 && (ratio >= -0.5 || detail.swipe)) { //鍙虫粦鎵撳紑
+ this.openPercentage(100);
+ } else if (direction === 'right' && ratio > 0 && (ratio >= 0.5 || detail.swipe)) { //鍙虫粦鍏抽棴
+ this.openPercentage(0);
+ } else if (direction === 'right' && ratio <= -0.5) { //鍙虫粦杩樺師鍏抽棴
+ this.openPercentage(0);
+ } else if (direction === 'right' && ratio > 0 && ratio <= 0.5) { //鍙虫粦杩樺師鎵撳紑
+ this.openPercentage(-100);
+ } else if (direction === 'left' && ratio >= 0 && (ratio <= 0.5 || detail.swipe)) { //宸︽粦鎵撳紑
+ this.openPercentage(-100);
+ } else if (direction === 'left' && ratio < 0 && (ratio <= -0.5 || detail.swipe)) { //宸︽粦鍏抽棴
+ this.openPercentage(0);
+ } else if (direction === 'left' && ratio >= 0.5) { //宸︽粦杩樺師鍏抽棴
+ this.openPercentage(0);
+ } else if (direction === 'left' && ratio >= -0.5 && ratio < 0) { //宸︽粦杩樺師鎵撳紑
+ this.openPercentage(100);
+ } else {
+ this.openPercentage(0);
+ }
+ if (ratio === 1 || ratio === -1 || ratio === 0) {
+ this._dispatchEvent();
+ return;
+ }
+
+ }
+ }
+ break;
+ }
+ },
+ _dispatchEvent: function() {
+ if (this.classList.contains(CLASS_ACTIVE)) {
+ $.trigger(this.wrapper, 'shown', this);
+ } else {
+ $.trigger(this.wrapper, 'hidden', this);
+ }
+ },
+ _initOffCanvasVisible: function() {
+ if (!this.visible) {
+ this.visible = true;
+ if (this.offCanvasLeft) {
+ this.offCanvasLeft.style.visibility = 'visible';
+ }
+ if (this.offCanvasRight) {
+ this.offCanvasRight.style.visibility = 'visible';
+ }
+ }
+ },
+ initEvent: function() {
+ var self = this;
+ if (self.backdrop) {
+ self.backdrop.addEventListener('tap', function(e) {
+ self.close();
+ e.detail.gesture.preventDefault();
+ });
+ }
+ if (this.classList.contains('mui-draggable')) {
+ this.wrapper.addEventListener($.EVENT_START, this); //涓存椂澶勭悊
+ this.wrapper.addEventListener('drag', this);
+ this.wrapper.addEventListener('dragend', this);
+ }
+ this.wrapper.addEventListener('webkitTransitionEnd', this);
+ },
+ openPercentage: function(percentage) {
+ var p = percentage / 100;
+ if (!this.slideIn) {
+ if (this.offCanvasLeft && percentage >= 0) {
+ this.updateTranslate(this.offCanvasLeftWidth * p);
+ this.offCanvasLeft.classList[p !== 0 ? 'add' : 'remove'](CLASS_ACTIVE);
+ } else if (this.offCanvasRight && percentage <= 0) {
+ this.updateTranslate(this.offCanvasRightWidth * p);
+ this.offCanvasRight.classList[p !== 0 ? 'add' : 'remove'](CLASS_ACTIVE);
+ }
+ this.classList[p !== 0 ? 'add' : 'remove'](CLASS_ACTIVE);
+ } else {
+ if (this.offCanvasLeft && percentage >= 0) {
+ p = p === 0 ? -1 : 0;
+ this.updateTranslate(this.offCanvasLeftWidth * p);
+ this.offCanvasLeft.classList[percentage !== 0 ? 'add' : 'remove'](CLASS_ACTIVE);
+ } else if (this.offCanvasRight && percentage <= 0) {
+ p = p === 0 ? 1 : 0;
+ this.updateTranslate(this.offCanvasRightWidth * p);
+ this.offCanvasRight.classList[percentage !== 0 ? 'add' : 'remove'](CLASS_ACTIVE);
+ }
+ this.classList[percentage !== 0 ? 'add' : 'remove'](CLASS_ACTIVE);
+ }
+ },
+ updateTranslate: function(x) {
+ if (x !== this.lastTranslateX) {
+ if (!this.slideIn) {
+ if ((!this.offCanvasLeft && x > 0) || (!this.offCanvasRight && x < 0)) {
+ this.setTranslateX(0);
+ return;
+ }
+ if (this.leftShowing && x > this.offCanvasLeftWidth) {
+ this.setTranslateX(this.offCanvasLeftWidth);
+ return;
+ }
+ if (this.rightShowing && x < -this.offCanvasRightWidth) {
+ this.setTranslateX(-this.offCanvasRightWidth);
+ return;
+ }
+ this.setTranslateX(x);
+ if (x >= 0) {
+ this.leftShowing = true;
+ this.rightShowing = false;
+ if (x > 0) {
+ if (this.offCanvasLeft) {
+ $.each(this.offCanvasLefts, function(index, offCanvas) {
+ if (offCanvas === this.offCanvasLeft) {
+ this.offCanvasLeft.style.zIndex = 0;
+ } else {
+ offCanvas.style.zIndex = -1;
+ }
+ }.bind(this));
+ }
+ if (this.offCanvasRight) {
+ this.offCanvasRight.style.zIndex = -1;
+ }
+ }
+ } else {
+ this.rightShowing = true;
+ this.leftShowing = false;
+ if (this.offCanvasRight) {
+ $.each(this.offCanvasRights, function(index, offCanvas) {
+ if (offCanvas === this.offCanvasRight) {
+ offCanvas.style.zIndex = 0;
+ } else {
+ offCanvas.style.zIndex = -1;
+ }
+ }.bind(this));
+ }
+ if (this.offCanvasLeft) {
+ this.offCanvasLeft.style.zIndex = -1;
+ }
+ }
+ } else {
+ if (this.offCanvas.classList.contains(CLASS_OFF_CANVAS_RIGHT)) {
+ if (x < 0) {
+ this.setTranslateX(0);
+ return;
+ }
+ if (x > this.offCanvasRightWidth) {
+ this.setTranslateX(this.offCanvasRightWidth);
+ return;
+ }
+ } else {
+ if (x > 0) {
+ this.setTranslateX(0);
+ return;
+ }
+ if (x < -this.offCanvasLeftWidth) {
+ this.setTranslateX(-this.offCanvasLeftWidth);
+ return;
+ }
+ }
+ this.setTranslateX(x);
+ }
+ this.lastTranslateX = x;
+ }
+ },
+ setTranslateX: $.animationFrame(function(x) {
+ if (this.scroller) {
+ if (this.scalable && this.offCanvas.parentNode === this.wrapper) {
+ var percent = Math.abs(x) / this.offCanvasWidth;
+ var zoomOutScale = 1 - (1 - this.options.scale) * percent;
+ var zoomInScale = this.options.scale + (1 - this.options.scale) * percent;
+ var zoomOutOpacity = 1 - (1 - this.options.opacity) * percent;
+ var zoomInOpacity = this.options.opacity + (1 - this.options.opacity) * percent;
+ if (this.offCanvas.classList.contains(CLASS_OFF_CANVAS_LEFT)) {
+ this.offCanvas.style.webkitTransformOrigin = '-100%';
+ this.scroller.style.webkitTransformOrigin = 'left';
+ } else {
+ this.offCanvas.style.webkitTransformOrigin = '200%';
+ this.scroller.style.webkitTransformOrigin = 'right';
+ }
+ this.offCanvas.style.opacity = zoomInOpacity;
+ this.offCanvas.style.webkitTransform = 'translate3d(0,0,0) scale(' + zoomInScale + ')';
+ this.scroller.style.webkitTransform = 'translate3d(' + x + 'px,0,0) scale(' + zoomOutScale + ')';
+ } else {
+ if (this.slideIn) {
+ this.offCanvas.style.webkitTransform = 'translate3d(' + x + 'px,0,0)';
+ } else {
+ this.scroller.style.webkitTransform = 'translate3d(' + x + 'px,0,0)';
+ }
+ }
+ }
+ }),
+ getTranslateX: function() {
+ if (this.offCanvas) {
+ var scroller = this.slideIn ? this.offCanvas : this.scroller;
+ var result = $.parseTranslateMatrix($.getStyles(scroller, 'webkitTransform'));
+ return (result && result.x) || 0;
+ }
+ return 0;
+ },
+ isShown: function(direction) {
+ var shown = false;
+ if (!this.slideIn) {
+ var x = this.getTranslateX();
+ if (direction === 'right') {
+ shown = this.classList.contains(CLASS_ACTIVE) && x < 0;
+ } else if (direction === 'left') {
+ shown = this.classList.contains(CLASS_ACTIVE) && x > 0;
+ } else {
+ shown = this.classList.contains(CLASS_ACTIVE) && x !== 0;
+ }
+ } else {
+ if (direction === 'left') {
+ shown = this.classList.contains(CLASS_ACTIVE) && this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_LEFT + '.' + CLASS_ACTIVE);
+ } else if (direction === 'right') {
+ shown = this.classList.contains(CLASS_ACTIVE) && this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_RIGHT + '.' + CLASS_ACTIVE);
+ } else {
+ shown = this.classList.contains(CLASS_ACTIVE) && (this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_LEFT + '.' + CLASS_ACTIVE) || this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_RIGHT + '.' + CLASS_ACTIVE));
+ }
+ }
+ return shown;
+ },
+ close: function() {
+ this._initOffCanvasVisible();
+ this.offCanvas = this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_RIGHT + '.' + CLASS_ACTIVE) || this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_LEFT + '.' + CLASS_ACTIVE);
+ this.offCanvasWidth = this.offCanvas.offsetWidth;
+ if (this.scroller) {
+ this.offCanvas.offsetHeight;
+ this.offCanvas.classList.add(CLASS_TRANSITIONING);
+ this.scroller.classList.add(CLASS_TRANSITIONING);
+ this.openPercentage(0);
+ }
+ },
+ show: function(direction) {
+ this._initOffCanvasVisible();
+ if (this.isShown(direction)) {
+ return false;
+ }
+ if (!direction) {
+ direction = this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_RIGHT) ? 'right' : 'left';
+ }
+ if (direction === 'right') {
+ this.offCanvas = this.offCanvasRight;
+ this.offCanvasWidth = this.offCanvasRightWidth;
+ } else {
+ this.offCanvas = this.offCanvasLeft;
+ this.offCanvasWidth = this.offCanvasLeftWidth;
+ }
+ if (this.scroller) {
+ this.offCanvas.offsetHeight;
+ this.offCanvas.classList.add(CLASS_TRANSITIONING);
+ this.scroller.classList.add(CLASS_TRANSITIONING);
+ this.openPercentage(direction === 'left' ? 100 : -100);
+ }
+ return true;
+ },
+ toggle: function(directionOrOffCanvas) {
+ var direction = directionOrOffCanvas;
+ if (directionOrOffCanvas && directionOrOffCanvas.classList) {
+ direction = directionOrOffCanvas.classList.contains(CLASS_OFF_CANVAS_LEFT) ? 'left' : 'right';
+ this.refresh(directionOrOffCanvas);
+ }
+ if (!this.show(direction)) {
+ this.close();
+ }
+ }
+ });
+
+ //hash to offcanvas
+ var findOffCanvasContainer = function(target) {
+ parentNode = target.parentNode;
+ if (parentNode) {
+ if (parentNode.classList.contains(CLASS_OFF_CANVAS_WRAP)) {
+ return parentNode;
+ } else {
+ parentNode = parentNode.parentNode;
+ if (parentNode.classList.contains(CLASS_OFF_CANVAS_WRAP)) {
+ return parentNode;
+ }
+ }
+ }
+ };
+ var handle = function(event, target) {
+ if (target.tagName === 'A' && target.hash) {
+ var offcanvas = document.getElementById(target.hash.replace('#', ''));
+ if (offcanvas) {
+ var container = findOffCanvasContainer(offcanvas);
+ if (container) {
+ $.targets._container = container;
+ return offcanvas;
+ }
+ }
+ }
+ return false;
+ };
+
+ $.registerTarget({
+ name: name,
+ index: 60,
+ handle: handle,
+ target: false,
+ isReset: false,
+ isContinue: true
+ });
+
+ window.addEventListener('tap', function(e) {
+ if (!$.targets.offcanvas) {
+ return;
+ }
+ //TODO 姝ゅ绫诲瀷鐨勪唬鐮佸悗缁�冭檻缁熶竴浼樺寲(target鏈哄埗)锛岀幇鍦ㄧ殑瀹炵幇璐瑰姏涓嶈濂�
+ var target = e.target;
+ for (; target && target !== document; target = target.parentNode) {
+ if (target.tagName === 'A' && target.hash && target.hash === ('#' + $.targets.offcanvas.id)) {
+ e.detail && e.detail.gesture && e.detail.gesture.preventDefault(); //fixed hashchange
+ $($.targets._container).offCanvas().toggle($.targets.offcanvas);
+ $.targets.offcanvas = $.targets._container = null;
+ break;
+ }
+ }
+ });
+
+ $.fn.offCanvas = function(options) {
+ var offCanvasApis = [];
+ this.each(function() {
+ var offCanvasApi = null;
+ var self = this;
+ //hack old version
+ if (!self.classList.contains(CLASS_OFF_CANVAS_WRAP)) {
+ self = findOffCanvasContainer(self);
+ }
+ var id = self.getAttribute('data-offCanvas');
+ if (!id) {
+ id = ++$.uuid;
+ $.data[id] = offCanvasApi = new OffCanvas(self, options);
+ self.setAttribute('data-offCanvas', id);
+ } else {
+ offCanvasApi = $.data[id];
+ }
+ if (options === 'show' || options === 'close' || options === 'toggle') {
+ offCanvasApi.toggle();
+ }
+ offCanvasApis.push(offCanvasApi);
+ });
+ return offCanvasApis.length === 1 ? offCanvasApis[0] : offCanvasApis;
+ };
+ $.ready(function() {
+ $('.mui-off-canvas-wrap').offCanvas();
+ });
+})(mui, window, document, 'offcanvas');
+/**
+ * actions
+ * @param {type} $
+ * @param {type} name
+ * @returns {undefined}
+ */
+(function($, name) {
+ var CLASS_ACTION = 'mui-action';
+
+ var handle = function(event, target) {
+ var className = target.className || '';
+ if (typeof className !== 'string') { //svg className(SVGAnimatedString)
+ className = '';
+ }
+ if (className && ~className.indexOf(CLASS_ACTION)) {
+ if (target.classList.contains('mui-action-back')) {
+ event.preventDefault();
+ }
+ return target;
+ }
+ return false;
+ };
+
+ $.registerTarget({
+ name: name,
+ index: 50,
+ handle: handle,
+ target: false,
+ isContinue: true
+ });
+
+})(mui, 'action');
+/**
+ * Modals
+ * @param {type} $
+ * @param {type} window
+ * @param {type} document
+ * @param {type} name
+ * @returns {undefined}
+ */
+(function($, window, document, name) {
+ var CLASS_MODAL = 'mui-modal';
+
+ var handle = function(event, target) {
+ if (target.tagName === 'A' && target.hash) {
+ var modal = document.getElementById(target.hash.replace('#', ''));
+ if (modal && modal.classList.contains(CLASS_MODAL)) {
+ return modal;
+ }
+ }
+ return false;
+ };
+
+ $.registerTarget({
+ name: name,
+ index: 50,
+ handle: handle,
+ target: false,
+ isReset: false,
+ isContinue: true
+ });
+
+ window.addEventListener('tap', function(event) {
+ if ($.targets.modal) {
+ event.detail.gesture.preventDefault(); //fixed hashchange
+ $.targets.modal.classList.toggle('mui-active');
+ }
+ });
+})(mui, window, document, 'modal');
+/**
+ * Popovers
+ * @param {type} $
+ * @param {type} window
+ * @param {type} document
+ * @param {type} name
+ * @param {type} undefined
+ * @returns {undefined}
+ */
+(function($, window, document, name) {
+
+ var CLASS_POPOVER = 'mui-popover';
+ var CLASS_POPOVER_ARROW = 'mui-popover-arrow';
+ var CLASS_ACTION_POPOVER = 'mui-popover-action';
+ var CLASS_BACKDROP = 'mui-backdrop';
+ var CLASS_BAR_POPOVER = 'mui-bar-popover';
+ var CLASS_BAR_BACKDROP = 'mui-bar-backdrop';
+ var CLASS_ACTION_BACKDROP = 'mui-backdrop-action';
+ var CLASS_ACTIVE = 'mui-active';
+ var CLASS_BOTTOM = 'mui-bottom';
+
+
+
+ var handle = function(event, target) {
+ if (target.tagName === 'A' && target.hash) {
+ $.targets._popover = document.getElementById(target.hash.replace('#', ''));
+ if ($.targets._popover && $.targets._popover.classList.contains(CLASS_POPOVER)) {
+ return target;
+ } else {
+ $.targets._popover = null;
+ }
+ }
+ return false;
+ };
+
+ $.registerTarget({
+ name: name,
+ index: 60,
+ handle: handle,
+ target: false,
+ isReset: false,
+ isContinue: true
+ });
+
+ var onPopoverShown = function(e) {
+ this.removeEventListener('webkitTransitionEnd', onPopoverShown);
+ this.addEventListener($.EVENT_MOVE, $.preventDefault);
+ $.trigger(this, 'shown', this);
+ }
+ var onPopoverHidden = function(e) {
+ setStyle(this, 'none');
+ this.removeEventListener('webkitTransitionEnd', onPopoverHidden);
+ this.removeEventListener($.EVENT_MOVE, $.preventDefault);
+ $.trigger(this, 'hidden', this);
+ };
+
+ var backdrop = (function() {
+ var element = document.createElement('div');
+ element.classList.add(CLASS_BACKDROP);
+ element.addEventListener($.EVENT_MOVE, $.preventDefault);
+ element.addEventListener('tap', function(e) {
+ var popover = $.targets._popover;
+ if (popover) {
+ popover.addEventListener('webkitTransitionEnd', onPopoverHidden);
+ popover.classList.remove(CLASS_ACTIVE);
+ removeBackdrop(popover);
+ }
+ });
+
+ return element;
+ }());
+ var removeBackdropTimer;
+ var removeBackdrop = function(popover) {
+ backdrop.setAttribute('style', 'opacity:0');
+ $.targets.popover = $.targets._popover = null; //reset
+ removeBackdropTimer = $.later(function() {
+ if (!popover.classList.contains(CLASS_ACTIVE) && backdrop.parentNode && backdrop.parentNode === document.body) {
+ document.body.removeChild(backdrop);
+ }
+ }, 350);
+ };
+ window.addEventListener('tap', function(e) {
+ if (!$.targets.popover) {
+ return;
+ }
+ var toggle = false;
+ var target = e.target;
+ for (; target && target !== document; target = target.parentNode) {
+ if (target === $.targets.popover) {
+ toggle = true;
+ }
+ }
+ if (toggle) {
+ e.detail.gesture.preventDefault(); //fixed hashchange
+ togglePopover($.targets._popover, $.targets.popover);
+ }
+
+ });
+
+ var togglePopover = function(popover, anchor, state) {
+ if ((state === 'show' && popover.classList.contains(CLASS_ACTIVE)) || (state === 'hide' && !popover.classList.contains(CLASS_ACTIVE))) {
+ return;
+ }
+ removeBackdropTimer && removeBackdropTimer.cancel(); //鍙栨秷remove鐨則imer
+ //remove涓�閬嶏紝浠ュ厤鏉ュ洖蹇�熷垏鎹紝瀵艰嚧webkitTransitionEnd涓嶈Е鍙戯紝鏃犳硶remove
+ popover.removeEventListener('webkitTransitionEnd', onPopoverShown);
+ popover.removeEventListener('webkitTransitionEnd', onPopoverHidden);
+ backdrop.classList.remove(CLASS_BAR_BACKDROP);
+ backdrop.classList.remove(CLASS_ACTION_BACKDROP);
+ var _popover = document.querySelector('.mui-popover.mui-active');
+ if (_popover) {
+ // _popover.setAttribute('style', '');
+ _popover.addEventListener('webkitTransitionEnd', onPopoverHidden);
+ _popover.classList.remove(CLASS_ACTIVE);
+ // _popover.removeEventListener('webkitTransitionEnd', onPopoverHidden);
+ //鍚屼竴涓脊鍑哄垯鐩存帴杩斿洖锛岃В鍐冲悓涓�涓猵opover鐨則oggle
+ 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);
+ // if (anchor) {
+ // if (anchor.parentNode) {
+ // var offsetWidth = anchor.offsetWidth;
+ // var offsetLeft = anchor.offsetLeft;
+ // var innerWidth = window.innerWidth;
+ // popover.style.left = (Math.min(Math.max(offsetLeft, defaultPadding), innerWidth - offsetWidth - defaultPadding)) + "px";
+ // } else {
+ // //TODO anchor is position:{left,top,bottom,right}
+ // }
+ // }
+ }
+ }
+ setStyle(popover, 'block'); //actionsheet transform
+ popover.offsetHeight;
+ popover.classList.add(CLASS_ACTIVE);
+ backdrop.setAttribute('style', '');
+ document.body.appendChild(backdrop);
+ calPosition(popover, anchor, isActionSheet); //position
+ backdrop.classList.add(CLASS_ACTIVE);
+ popover.addEventListener('webkitTransitionEnd', onPopoverShown);
+ };
+ var setStyle = function(popover, display, top, left) {
+ var style = popover.style;
+ if (typeof display !== 'undefined')
+ style.display = display;
+ if (typeof top !== 'undefined')
+ style.top = top + 'px';
+ if (typeof left !== 'undefined')
+ style.left = left + 'px';
+ };
+ var calPosition = function(popover, anchor, isActionSheet) {
+ if (!popover || !anchor) {
+ return;
+ }
+
+ if (isActionSheet) { //actionsheet
+ setStyle(popover, 'block')
+ return;
+ }
+
+ var wWidth = window.innerWidth;
+ var wHeight = window.innerHeight;
+
+ var pWidth = popover.offsetWidth;
+ var pHeight = popover.offsetHeight;
+
+ 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 pTop = 0;
+ var pLeft = 0;
+ var diff = 0;
+ var arrowLeft = 0;
+ var defaultPadding = popover.classList.contains(CLASS_ACTION_POPOVER) ? 0 : 5;
+
+ var position = 'top';
+ if ((pHeight + arrowSize) < (offset.top - window.pageYOffset)) { //top
+ pTop = offset.top - pHeight - arrowSize;
+ } else if ((pHeight + arrowSize) < (wHeight - (offset.top - window.pageYOffset) - aHeight)) { //bottom
+ position = 'bottom';
+ pTop = offset.top + aHeight + arrowSize;
+ } else { //middle
+ position = 'middle';
+ 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;
+ diff = pLeft;
+ if (pLeft < defaultPadding) pLeft = defaultPadding;
+ if (pLeft + pWidth > wWidth) pLeft = wWidth - pWidth - defaultPadding;
+
+ if (arrow) {
+ if (position === 'top') {
+ arrow.classList.add(CLASS_BOTTOM);
+ } else {
+ arrow.classList.remove(CLASS_BOTTOM);
+ }
+ diff = diff - pLeft;
+ arrowLeft = (pWidth / 2 - arrowSize / 2 + diff);
+ arrowLeft = Math.max(Math.min(arrowLeft, pWidth - arrowSize * 2 - 6), 6);
+ arrow.setAttribute('style', 'left:' + arrowLeft + 'px');
+ }
+ } else if (position === 'middle') {
+ arrow.setAttribute('style', 'display:none');
+ }
+ setStyle(popover, 'block', pTop, pLeft);
+ };
+
+ $.createMask = function(callback) {
+ var element = document.createElement('div');
+ element.classList.add(CLASS_BACKDROP);
+ element.addEventListener($.EVENT_MOVE, $.preventDefault);
+ element.addEventListener('tap', function() {
+ mask.close();
+ });
+ var mask = [element];
+ mask._show = false;
+ mask.show = function() {
+ mask._show = true;
+ element.setAttribute('style', 'opacity:1');
+ document.body.appendChild(element);
+ return mask;
+ };
+ mask._remove = function() {
+ if (mask._show) {
+ mask._show = false;
+ element.setAttribute('style', 'opacity:0');
+ $.later(function() {
+ var body = document.body;
+ element.parentNode === body && body.removeChild(element);
+ }, 350);
+ }
+ return mask;
+ };
+ mask.close = function() {
+ if (callback) {
+ if (callback() !== false) {
+ mask._remove();
+ }
+ } else {
+ mask._remove();
+ }
+ };
+ return mask;
+ };
+ $.fn.popover = function() {
+ var args = arguments;
+ this.each(function() {
+ $.targets._popover = this;
+ if (args[0] === 'show' || args[0] === 'hide' || args[0] === 'toggle') {
+ togglePopover(this, args[1], args[0]);
+ }
+ });
+ };
+
+})(mui, window, document, 'popover');
+/**
+ * segmented-controllers
+ * @param {type} $
+ * @param {type} window
+ * @param {type} document
+ * @param {type} undefined
+ * @returns {undefined}
+ */
+(function($, window, document, name, undefined) {
+
+ var CLASS_CONTROL_ITEM = 'mui-control-item';
+ var CLASS_SEGMENTED_CONTROL = 'mui-segmented-control';
+ var CLASS_SEGMENTED_CONTROL_VERTICAL = 'mui-segmented-control-vertical';
+ var CLASS_CONTROL_CONTENT = 'mui-control-content';
+ var CLASS_TAB_BAR = 'mui-bar-tab';
+ var CLASS_TAB_ITEM = 'mui-tab-item';
+ var CLASS_SLIDER_ITEM = 'mui-slider-item';
+
+ var handle = function(event, target) {
+ if (target.classList && (target.classList.contains(CLASS_CONTROL_ITEM) || target.classList.contains(CLASS_TAB_ITEM))) {
+ if (target.parentNode && target.parentNode.classList && target.parentNode.classList.contains(CLASS_SEGMENTED_CONTROL_VERTICAL)) {
+ //vertical 濡傛灉preventDefault浼氬鑷存棤娉曟粴鍔�
+ } else {
+
+ event.preventDefault();
+ // if(target.tagName == 'A') {
+ // // fixed 搴曢儴閫夐」鍗ref 鏃犳硶璺宠浆 && stop hash change
+ // var curr_href = location.hostname + location.pathname,
+ // target_href = target.hostname + target.pathname;
+
+ // if (curr_href == target_href && target.hash !== "") {
+ // event.preventDefault();
+ // return target;
+ // }else{
+ // return false
+ // }
+ // }
+ }
+ // if (target.hash) {
+ return target;
+ // }
+ }
+ return false;
+ };
+
+ $.registerTarget({
+ name: name,
+ index: 80,
+ handle: handle,
+ target: false
+ });
+
+ window.addEventListener('tap', function(e) {
+
+ var targetTab = $.targets.tab;
+ if (!targetTab) {
+ return;
+ }
+ var activeTab;
+ var activeBodies;
+ var targetBody;
+ var className = 'mui-active';
+ var classSelector = '.' + className;
+ var segmentedControl = targetTab.parentNode;
+
+ for (; segmentedControl && segmentedControl !== document; segmentedControl = segmentedControl.parentNode) {
+ if (segmentedControl.classList.contains(CLASS_SEGMENTED_CONTROL)) {
+ activeTab = segmentedControl.querySelector(classSelector + '.' + CLASS_CONTROL_ITEM);
+ break;
+ } else if (segmentedControl.classList.contains(CLASS_TAB_BAR)) {
+ activeTab = segmentedControl.querySelector(classSelector + '.' + CLASS_TAB_ITEM);
+ }
+ }
+
+ if (activeTab) {
+ activeTab.classList.remove(className);
+ }
+
+ var isLastActive = targetTab === activeTab;
+ if (targetTab) {
+ targetTab.classList.add(className);
+ }
+
+ if (!targetTab.hash) {
+ return;
+ }
+ targetBody = document.getElementById(targetTab.hash.replace('#', ''));
+
+ if (!targetBody) {
+ return;
+ }
+ if (!targetBody.classList.contains(CLASS_CONTROL_CONTENT)) { //tab bar popover
+ targetTab.classList[isLastActive ? 'remove' : 'add'](className);
+ return;
+ }
+ if (isLastActive) { //same
+ return;
+ }
+ var parentNode = targetBody.parentNode;
+ activeBodies = parentNode.querySelectorAll('.' + CLASS_CONTROL_CONTENT + classSelector);
+ for (var i = 0; i < activeBodies.length; i++) {
+ var activeBody = activeBodies[i];
+ activeBody.parentNode === parentNode && activeBody.classList.remove(className);
+ }
+
+ targetBody.classList.add(className);
+
+ var contents = [];
+ var _contents = parentNode.querySelectorAll('.' + CLASS_CONTROL_CONTENT);
+ for (var i = 0; i < _contents.length; i++) { //鏌ユ壘鐩村睘瀛愯妭鐐�
+ _contents[i].parentNode === parentNode && (contents.push(_contents[i]));
+ }
+ $.trigger(targetBody, $.eventName('shown', name), {
+ tabNumber: Array.prototype.indexOf.call(contents, targetBody)
+ });
+ e.detail && e.detail.gesture.preventDefault(); //fixed hashchange
+ });
+
+})(mui, window, document, 'tab');
+/**
+ * Toggles switch
+ * @param {type} $
+ * @param {type} window
+ * @param {type} name
+ * @returns {undefined}
+ */
+(function($, window, name) {
+
+ var CLASS_SWITCH = 'mui-switch';
+ var CLASS_SWITCH_HANDLE = 'mui-switch-handle';
+ var CLASS_ACTIVE = 'mui-active';
+ var CLASS_DRAGGING = 'mui-dragging';
+
+ var CLASS_DISABLED = 'mui-disabled';
+
+ var SELECTOR_SWITCH_HANDLE = '.' + CLASS_SWITCH_HANDLE;
+
+ var handle = function(event, target) {
+ if (target.classList && target.classList.contains(CLASS_SWITCH)) {
+ return target;
+ }
+ return false;
+ };
+
+ $.registerTarget({
+ name: name,
+ index: 100,
+ handle: handle,
+ target: false
+ });
+
+
+ var Toggle = function(element) {
+ this.element = element;
+ this.classList = this.element.classList;
+ this.handle = this.element.querySelector(SELECTOR_SWITCH_HANDLE);
+ this.init();
+ this.initEvent();
+ };
+ Toggle.prototype.init = function() {
+ this.toggleWidth = this.element.offsetWidth;
+ this.handleWidth = this.handle.offsetWidth;
+ this.handleX = this.toggleWidth - this.handleWidth - 3;
+ };
+ Toggle.prototype.initEvent = function() {
+ this.element.addEventListener($.EVENT_START, this);
+ this.element.addEventListener('drag', this);
+ this.element.addEventListener('swiperight', this);
+ this.element.addEventListener($.EVENT_END, this);
+ this.element.addEventListener($.EVENT_CANCEL, this);
+
+ };
+ Toggle.prototype.handleEvent = function(e) {
+ if (this.classList.contains(CLASS_DISABLED)) {
+ return;
+ }
+ switch (e.type) {
+ case $.EVENT_START:
+ this.start(e);
+ break;
+ case 'drag':
+ this.drag(e);
+ break;
+ case 'swiperight':
+ this.swiperight();
+ break;
+ case $.EVENT_END:
+ case $.EVENT_CANCEL:
+ this.end(e);
+ break;
+ }
+ };
+ Toggle.prototype.start = function(e) {
+ this.handle.style.webkitTransitionDuration = this.element.style.webkitTransitionDuration = '.2s';
+ this.classList.add(CLASS_DRAGGING);
+ if (this.toggleWidth === 0 || this.handleWidth === 0) { //褰搒witch澶勪簬闅愯棌鐘舵�佹椂锛寃idth涓�0锛岄渶瑕侀噸鏂板垵濮嬪寲
+ this.init();
+ }
+ };
+ Toggle.prototype.drag = function(e) {
+ var detail = e.detail;
+ if (!this.isDragging) {
+ if (detail.direction === 'left' || detail.direction === 'right') {
+ this.isDragging = true;
+ this.lastChanged = undefined;
+ this.initialState = this.classList.contains(CLASS_ACTIVE);
+ }
+ }
+ if (this.isDragging) {
+ this.setTranslateX(detail.deltaX);
+ e.stopPropagation();
+ detail.gesture.preventDefault();
+ }
+ };
+ Toggle.prototype.swiperight = function(e) {
+ if (this.isDragging) {
+ e.stopPropagation();
+ }
+ };
+ Toggle.prototype.end = function(e) {
+ this.classList.remove(CLASS_DRAGGING);
+ if (this.isDragging) {
+ this.isDragging = false;
+ e.stopPropagation();
+ $.trigger(this.element, 'toggle', {
+ isActive: this.classList.contains(CLASS_ACTIVE)
+ });
+ } else {
+ this.toggle();
+ }
+ };
+ Toggle.prototype.toggle = function(animate) {
+ var classList = this.classList;
+ if (animate === false) {
+ this.handle.style.webkitTransitionDuration = this.element.style.webkitTransitionDuration = '0s';
+ } else {
+ this.handle.style.webkitTransitionDuration = this.element.style.webkitTransitionDuration = '.2s';
+ }
+ if (classList.contains(CLASS_ACTIVE)) {
+ classList.remove(CLASS_ACTIVE);
+ this.handle.style.webkitTransform = 'translate(0,0)';
+ } else {
+ classList.add(CLASS_ACTIVE);
+ this.handle.style.webkitTransform = 'translate(' + this.handleX + 'px,0)';
+ }
+ $.trigger(this.element, 'toggle', {
+ isActive: this.classList.contains(CLASS_ACTIVE)
+ });
+ };
+ Toggle.prototype.setTranslateX = $.animationFrame(function(x) {
+ if (!this.isDragging) {
+ return;
+ }
+ var isChanged = false;
+ if ((this.initialState && -x > (this.handleX / 2)) || (!this.initialState && x > (this.handleX / 2))) {
+ isChanged = true;
+ }
+ if (this.lastChanged !== isChanged) {
+ if (isChanged) {
+ this.handle.style.webkitTransform = 'translate(' + (this.initialState ? 0 : this.handleX) + 'px,0)';
+ this.classList[this.initialState ? 'remove' : 'add'](CLASS_ACTIVE);
+ } else {
+ this.handle.style.webkitTransform = 'translate(' + (this.initialState ? this.handleX : 0) + 'px,0)';
+ this.classList[this.initialState ? 'add' : 'remove'](CLASS_ACTIVE);
+ }
+ this.lastChanged = isChanged;
+ }
+
+ });
+
+ $.fn['switch'] = function(options) {
+ var switchApis = [];
+ this.each(function() {
+ var switchApi = null;
+ var id = this.getAttribute('data-switch');
+ if (!id) {
+ id = ++$.uuid;
+ $.data[id] = new Toggle(this);
+ this.setAttribute('data-switch', id);
+ } else {
+ switchApi = $.data[id];
+ }
+ switchApis.push(switchApi);
+ });
+ return switchApis.length > 1 ? switchApis : switchApis[0];
+ };
+ $.ready(function() {
+ $('.' + CLASS_SWITCH)['switch']();
+ });
+})(mui, window, 'toggle');
+/**
+ * Tableviews
+ * @param {type} $
+ * @param {type} window
+ * @param {type} document
+ * @returns {undefined}
+ */
+(function($, window, document) {
+
+ var CLASS_ACTIVE = 'mui-active';
+ var CLASS_SELECTED = 'mui-selected';
+ var CLASS_GRID_VIEW = 'mui-grid-view';
+ var CLASS_RADIO_VIEW = 'mui-table-view-radio';
+ var CLASS_TABLE_VIEW_CELL = 'mui-table-view-cell';
+ var CLASS_COLLAPSE_CONTENT = 'mui-collapse-content';
+ var CLASS_DISABLED = 'mui-disabled';
+ var CLASS_TOGGLE = 'mui-switch';
+ var CLASS_BTN = 'mui-btn';
+
+ var CLASS_SLIDER_HANDLE = 'mui-slider-handle';
+ var CLASS_SLIDER_LEFT = 'mui-slider-left';
+ var CLASS_SLIDER_RIGHT = 'mui-slider-right';
+ var CLASS_TRANSITIONING = 'mui-transitioning';
+
+
+ var SELECTOR_SLIDER_HANDLE = '.' + CLASS_SLIDER_HANDLE;
+ var SELECTOR_SLIDER_LEFT = '.' + CLASS_SLIDER_LEFT;
+ var SELECTOR_SLIDER_RIGHT = '.' + CLASS_SLIDER_RIGHT;
+ var SELECTOR_SELECTED = '.' + CLASS_SELECTED;
+ var SELECTOR_BUTTON = '.' + CLASS_BTN;
+ var overFactor = 0.8;
+ var cell, a;
+
+ var isMoved = isOpened = openedActions = progress = false;
+ var sliderHandle = sliderActionLeft = sliderActionRight = buttonsLeft = buttonsRight = sliderDirection = sliderRequestAnimationFrame = false;
+ var timer = translateX = lastTranslateX = sliderActionLeftWidth = sliderActionRightWidth = 0;
+
+
+
+ var toggleActive = function(isActive) {
+ if (isActive) {
+ if (a) {
+ a.classList.add(CLASS_ACTIVE);
+ } else if (cell) {
+ cell.classList.add(CLASS_ACTIVE);
+ }
+ } else {
+ timer && timer.cancel();
+ if (a) {
+ a.classList.remove(CLASS_ACTIVE);
+ } else if (cell) {
+ cell.classList.remove(CLASS_ACTIVE);
+ }
+ }
+ };
+
+ var updateTranslate = function() {
+ if (translateX !== lastTranslateX) {
+ if (buttonsRight && buttonsRight.length > 0) {
+ progress = translateX / sliderActionRightWidth;
+ if (translateX < -sliderActionRightWidth) {
+ translateX = -sliderActionRightWidth - Math.pow(-translateX - sliderActionRightWidth, overFactor);
+ }
+ 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 (buttonsLeft && buttonsLeft.length > 0) {
+ progress = translateX / sliderActionLeftWidth;
+ if (translateX > sliderActionLeftWidth) {
+ translateX = sliderActionLeftWidth + Math.pow(translateX - sliderActionLeftWidth, overFactor);
+ }
+ for (var 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() {
+ updateTranslate();
+ });
+ };
+ var setTranslate = function(element, x) {
+ if (element) {
+ element.style.webkitTransform = 'translate(' + x + 'px,0)';
+ }
+ };
+
+ window.addEventListener($.EVENT_START, function(event) {
+ if (cell) {
+ toggleActive(false);
+ }
+ cell = a = false;
+ isMoved = isOpened = openedActions = false;
+ var target = event.target;
+ var isDisabled = false;
+ for (; target && target !== document; target = target.parentNode) {
+ if (target.classList) {
+ var classList = target.classList;
+ if ((target.tagName === 'INPUT' && target.type !== 'radio' && target.type !== 'checkbox') || target.tagName === 'BUTTON' || classList.contains(CLASS_TOGGLE) || classList.contains(CLASS_BTN) || classList.contains(CLASS_DISABLED)) {
+ isDisabled = true;
+ }
+ if (classList.contains(CLASS_COLLAPSE_CONTENT)) { //collapse content
+ break;
+ }
+ if (classList.contains(CLASS_TABLE_VIEW_CELL)) {
+ cell = target;
+ //TODO swipe to delete close
+ var selected = cell.parentNode.querySelector(SELECTOR_SELECTED);
+ if (!cell.parentNode.classList.contains(CLASS_RADIO_VIEW) && selected && selected !== cell) {
+ $.swipeoutClose(selected);
+ cell = isDisabled = false;
+ return;
+ }
+ if (!cell.parentNode.classList.contains(CLASS_GRID_VIEW)) {
+ var link = cell.querySelector('a');
+ if (link && link.parentNode === cell) { //li>a
+ a = link;
+ }
+ }
+ var handle = cell.querySelector(SELECTOR_SLIDER_HANDLE);
+ if (handle) {
+ toggleEvents(cell);
+ event.stopPropagation();
+ }
+ if (!isDisabled) {
+ if (handle) {
+ if (timer) {
+ timer.cancel();
+ }
+ timer = $.later(function() {
+ toggleActive(true);
+ }, 100);
+ } else {
+ toggleActive(true);
+ }
+ }
+ break;
+ }
+ }
+ }
+ });
+ window.addEventListener($.EVENT_MOVE, function(event) {
+ toggleActive(false);
+ });
+
+ var handleEvent = {
+ handleEvent: function(event) {
+ switch (event.type) {
+ case 'drag':
+ this.drag(event);
+ break;
+ case 'dragend':
+ this.dragend(event);
+ break;
+ case 'flick':
+ this.flick(event);
+ break;
+ case 'swiperight':
+ this.swiperight(event);
+ break;
+ case 'swipeleft':
+ this.swipeleft(event);
+ break;
+ }
+ },
+ 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' && (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;
+ }
+ }
+ if ((translate > 0 && !buttonsLeft) || (translate < 0 && !buttonsRight)) {
+ if (!isOpened) {
+ return;
+ }
+ translate = 0;
+ }
+ if (translate < 0) {
+ sliderDirection = 'toLeft';
+ } else if (translate > 0) {
+ sliderDirection = 'toRight';
+ } else {
+ if (!sliderDirection) {
+ sliderDirection = 'toLeft';
+ }
+ }
+ if (!sliderRequestAnimationFrame) {
+ updateTranslate();
+ }
+ translateX = translate;
+ }
+ },
+ flick: function(event) {
+ if (isMoved) {
+ event.stopPropagation();
+ }
+ },
+ swipeleft: function(event) {
+ if (isMoved) {
+ event.stopPropagation();
+ }
+ },
+ swiperight: function(event) {
+ if (isMoved) {
+ event.stopPropagation();
+ }
+ },
+ 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 (var 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]('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($.EVENT_END, function(event) { //浣跨敤touchend鏉ュ彇娑堥珮浜紝閬垮厤涓�娆$偣鍑绘棦涓嶈Е鍙憈ap锛宒oubletap锛宭ongtap鐨勪簨浠�
+ if (!cell) {
+ return;
+ }
+ toggleActive(false);
+ sliderHandle && toggleEvents(cell, true);
+ });
+ window.addEventListener($.EVENT_CANCEL, function(event) { //浣跨敤touchcancel鏉ュ彇娑堥珮浜紝閬垮厤涓�娆$偣鍑绘棦涓嶈Е鍙憈ap锛宒oubletap锛宭ongtap鐨勪簨浠�
+ if (!cell) {
+ return;
+ }
+ toggleActive(false);
+ sliderHandle && toggleEvents(cell, true);
+ });
+ var radioOrCheckboxClick = function(event) {
+ var type = event.target && event.target.type || '';
+ if (type === 'radio' || type === 'checkbox') {
+ return;
+ }
+ var classList = cell.classList;
+ if (classList.contains('mui-radio')) {
+ var input = cell.querySelector('input[type=radio]');
+ if (input) {
+ // input.click();
+ if (!input.disabled && !input.readOnly) {
+ input.checked = !input.checked;
+ $.trigger(input, 'change');
+ }
+ }
+ } else if (classList.contains('mui-checkbox')) {
+ var input = cell.querySelector('input[type=checkbox]');
+ if (input) {
+ // input.click();
+ if (!input.disabled && !input.readOnly) {
+ input.checked = !input.checked;
+ $.trigger(input, 'change');
+ }
+ }
+ }
+ };
+ //fixed hashchange(android)
+ window.addEventListener($.EVENT_CLICK, function(e) {
+ if (cell && cell.classList.contains('mui-collapse')) {
+ e.preventDefault();
+ }
+ });
+ window.addEventListener('doubletap', function(event) {
+ if (cell) {
+ radioOrCheckboxClick(event);
+ }
+ });
+ var preventDefaultException = /^(INPUT|TEXTAREA|BUTTON|SELECT)$/;
+ window.addEventListener('tap', function(event) {
+ if (!cell) {
+ return;
+ }
+ var isExpand = false;
+ var classList = cell.classList;
+ var ul = cell.parentNode;
+ if (ul && ul.classList.contains(CLASS_RADIO_VIEW)) {
+ if (classList.contains(CLASS_SELECTED)) {
+ return;
+ }
+ var selected = ul.querySelector('li' + SELECTOR_SELECTED);
+ if (selected) {
+ selected.classList.remove(CLASS_SELECTED);
+ }
+ classList.add(CLASS_SELECTED);
+ $.trigger(cell, 'selected', {
+ el: cell
+ });
+ return;
+ }
+ if (classList.contains('mui-collapse') && !cell.parentNode.classList.contains('mui-unfold')) {
+ if (!preventDefaultException.test(event.target.tagName)) {
+ event.detail.gesture.preventDefault();
+ }
+
+ if (!classList.contains(CLASS_ACTIVE)) { //灞曞紑鏃�,闇�瑕佹敹缂╁叾浠栧悓绫�
+ var collapse = cell.parentNode.querySelector('.mui-collapse.mui-active');
+ if (collapse) {
+ collapse.classList.remove(CLASS_ACTIVE);
+ }
+ isExpand = true;
+ }
+ classList.toggle(CLASS_ACTIVE);
+ if (isExpand) {
+ //瑙﹀彂灞曞紑浜嬩欢
+ $.trigger(cell, 'expand');
+
+ //scroll
+ //鏆備笉婊氬姩
+ // var offsetTop = $.offset(cell).top;
+ // var scrollTop = document.body.scrollTop;
+ // var height = window.innerHeight;
+ // var offsetHeight = cell.offsetHeight;
+ // var cellHeight = (offsetTop - scrollTop + offsetHeight);
+ // if (offsetHeight > height) {
+ // $.scrollTo(offsetTop, 300);
+ // } else if (cellHeight > height) {
+ // $.scrollTo(cellHeight - height + scrollTop, 300);
+ // }
+ }
+ } else {
+ radioOrCheckboxClick(event);
+ }
+ });
+})(mui, window, document);
+(function($, window) {
+ /**
+ * 璀﹀憡娑堟伅妗�
+ */
+ $.alert = function(message, title, btnValue, callback) {
+ if ($.os.plus) {
+ if (typeof message === 'undefined') {
+ return;
+ } else {
+ if (typeof title === 'function') {
+ callback = title;
+ title = null;
+ btnValue = '纭畾';
+ } else if (typeof btnValue === 'function') {
+ callback = btnValue;
+ btnValue = null;
+ }
+ $.plusReady(function() {
+ plus.nativeUI.alert(message, callback, title, btnValue);
+ });
+ }
+
+ } else {
+ //TODO H5鐗堟湰
+ window.alert(message);
+ }
+ };
+
+})(mui, window);
+(function($, window) {
+ /**
+ * 纭娑堟伅妗�
+ */
+ $.confirm = function(message, title, btnArray, callback) {
+ if ($.os.plus) {
+ if (typeof message === 'undefined') {
+ return;
+ } else {
+ if (typeof title === 'function') {
+ callback = title;
+ title = null;
+ btnArray = null;
+ } else if (typeof btnArray === 'function') {
+ callback = btnArray;
+ btnArray = null;
+ }
+ $.plusReady(function() {
+ plus.nativeUI.confirm(message, callback, title, btnArray);
+ });
+ }
+
+ } else {
+ //H5鐗堟湰锛�0涓虹‘璁わ紝1涓哄彇娑�
+ if (window.confirm(message)) {
+ callback({
+ index: 0
+ });
+ } else {
+ callback({
+ index: 1
+ });
+ }
+ }
+ };
+
+})(mui, window);
+(function($, window) {
+ /**
+ * 杈撳叆瀵硅瘽妗�
+ */
+ $.prompt = function(text, defaultText, title, btnArray, callback) {
+ if ($.os.plus) {
+ if (typeof message === 'undefined') {
+ return;
+ } else {
+
+ if (typeof defaultText === 'function') {
+ callback = defaultText;
+ defaultText = null;
+ title = null;
+ btnArray = null;
+ } else if (typeof title === 'function') {
+ callback = title;
+ title = null;
+ btnArray = null;
+ } else if (typeof btnArray === 'function') {
+ callback = btnArray;
+ btnArray = null;
+ }
+ $.plusReady(function() {
+ plus.nativeUI.prompt(text, callback, title, defaultText, btnArray);
+ });
+ }
+
+ } else {
+ //H5鐗堟湰(纭index涓�0锛屽彇娑坕ndex涓�1)
+ var result = window.prompt(text);
+ if (result) {
+ callback({
+ index: 0,
+ value: result
+ });
+ } else {
+ callback({
+ index: 1,
+ value: ''
+ });
+ }
+ }
+ };
+
+})(mui, window);
+(function($, window) {
+ var CLASS_ACTIVE = 'mui-active';
+ /**
+ * 鑷姩娑堝け鎻愮ず妗�
+ */
+ $.toast = function(message,options) {
+ var durations = {
+ 'long': 3500,
+ 'short': 2000
+ };
+
+ //璁$畻鏄剧ず鏃堕棿
+ options = $.extend({
+ duration: 'short'
+ }, options || {});
+
+
+ if ($.os.plus && options.type !== 'div') {
+ //榛樿鏄剧ず鍦ㄥ簳閮紱
+ $.plusReady(function() {
+ plus.nativeUI.toast(message, {
+ verticalAlign: 'bottom',
+ duration:options.duration
+ });
+ });
+ } else {
+ if (typeof options.duration === 'number') {
+ duration = options.duration>0 ? options.duration:durations['short'];
+ } else {
+ duration = durations[options.duration];
+ }
+ if (!duration) {
+ duration = durations['short'];
+ }
+ var toast = document.createElement('div');
+ toast.classList.add('mui-toast-container');
+ toast.innerHTML = '<div class="' + 'mui-toast-message' + '">' + message + '</div>';
+ toast.addEventListener('webkitTransitionEnd', function() {
+ if (!toast.classList.contains(CLASS_ACTIVE)) {
+ toast.parentNode.removeChild(toast);
+ toast = null;
+ }
+ });
+ //鐐瑰嚮鍒欒嚜鍔ㄦ秷澶�
+ toast.addEventListener('click', function() {
+ toast.parentNode.removeChild(toast);
+ toast = null;
+ });
+ document.body.appendChild(toast);
+ toast.offsetHeight;
+ toast.classList.add(CLASS_ACTIVE);
+ setTimeout(function() {
+ toast && toast.classList.remove(CLASS_ACTIVE);
+ }, duration);
+
+ return {
+ isVisible: function() {return !!toast;}
+ }
+ }
+ };
+
+})(mui, window);
+/**
+ * Popup(alert,confirm,prompt)
+ * @param {Object} $
+ * @param {Object} window
+ * @param {Object} document
+ */
+(function($, window, document) {
+ var CLASS_POPUP = 'mui-popup';
+ var CLASS_POPUP_BACKDROP = 'mui-popup-backdrop';
+ var CLASS_POPUP_IN = 'mui-popup-in';
+ var CLASS_POPUP_OUT = 'mui-popup-out';
+ var CLASS_POPUP_INNER = 'mui-popup-inner';
+ var CLASS_POPUP_TITLE = 'mui-popup-title';
+ var CLASS_POPUP_TEXT = 'mui-popup-text';
+ var CLASS_POPUP_INPUT = 'mui-popup-input';
+ var CLASS_POPUP_BUTTONS = 'mui-popup-buttons';
+ var CLASS_POPUP_BUTTON = 'mui-popup-button';
+ var CLASS_POPUP_BUTTON_BOLD = 'mui-popup-button-bold';
+ var CLASS_POPUP_BACKDROP = 'mui-popup-backdrop';
+ var CLASS_ACTIVE = 'mui-active';
+
+ var popupStack = [];
+ var backdrop = (function() {
+ var element = document.createElement('div');
+ element.classList.add(CLASS_POPUP_BACKDROP);
+ element.addEventListener($.EVENT_MOVE, $.preventDefault);
+ element.addEventListener('webkitTransitionEnd', function() {
+ if (!this.classList.contains(CLASS_ACTIVE)) {
+ element.parentNode && element.parentNode.removeChild(element);
+ }
+ });
+ return element;
+ }());
+
+ var createInput = function(placeholder) {
+ return '<div class="' + CLASS_POPUP_INPUT + '"><input type="text" autofocus placeholder="' + (placeholder || '') + '"/></div>';
+ };
+ var createInner = function(message, title, extra) {
+ return '<div class="' + CLASS_POPUP_INNER + '"><div class="' + CLASS_POPUP_TITLE + '">' + title + '</div><div class="' + CLASS_POPUP_TEXT + '">' + message.replace(/\r\n/g, "<br/>").replace(/\n/g, "<br/>") + '</div>' + (extra || '') + '</div>';
+ };
+ var createButtons = function(btnArray) {
+ var length = btnArray.length;
+ var btns = [];
+ for (var i = 0; i < length; i++) {
+ btns.push('<span class="' + CLASS_POPUP_BUTTON + (i === length - 1 ? (' ' + CLASS_POPUP_BUTTON_BOLD) : '') + '">' + btnArray[i] + '</span>');
+ }
+ return '<div class="' + CLASS_POPUP_BUTTONS + '">' + btns.join('') + '</div>';
+ };
+
+ var createPopup = function(html, callback) {
+ var popupElement = document.createElement('div');
+ popupElement.className = CLASS_POPUP;
+ popupElement.innerHTML = html;
+ var removePopupElement = function() {
+ popupElement.parentNode && popupElement.parentNode.removeChild(popupElement);
+ popupElement = null;
+ };
+ popupElement.addEventListener($.EVENT_MOVE, $.preventDefault);
+ popupElement.addEventListener('webkitTransitionEnd', function(e) {
+ if (popupElement && e.target === popupElement && popupElement.classList.contains(CLASS_POPUP_OUT)) {
+ removePopupElement();
+ }
+ });
+ popupElement.style.display = 'block';
+ document.body.appendChild(popupElement);
+ popupElement.offsetHeight;
+ popupElement.classList.add(CLASS_POPUP_IN);
+
+ if (!backdrop.classList.contains(CLASS_ACTIVE)) {
+ backdrop.style.display = 'block';
+ document.body.appendChild(backdrop);
+ backdrop.offsetHeight;
+ backdrop.classList.add(CLASS_ACTIVE);
+ }
+ var btns = $.qsa('.' + CLASS_POPUP_BUTTON, popupElement);
+ var input = popupElement.querySelector('.' + CLASS_POPUP_INPUT + ' input');
+ var popup = {
+ element: popupElement,
+ close: function(index, animate) {
+ if (popupElement) {
+ var result = callback && callback({
+ index: index || 0,
+ value: input && input.value || ''
+ });
+ if (result === false) { //杩斿洖false鍒欎笉鍏抽棴褰撳墠popup
+ return;
+ }
+ if (animate !== false) {
+ popupElement.classList.remove(CLASS_POPUP_IN);
+ popupElement.classList.add(CLASS_POPUP_OUT);
+ } else {
+ removePopupElement();
+ }
+ popupStack.pop();
+ //濡傛灉杩樻湁鍏朵粬popup锛屽垯涓峳emove backdrop
+ if (popupStack.length) {
+ popupStack[popupStack.length - 1]['show'](animate);
+ } else {
+ backdrop.classList.remove(CLASS_ACTIVE);
+ }
+ }
+ }
+ };
+ var handleEvent = function(e) {
+ popup.close(btns.indexOf(e.target));
+ };
+ $(popupElement).on('tap', '.' + CLASS_POPUP_BUTTON, handleEvent);
+ if (popupStack.length) {
+ popupStack[popupStack.length - 1]['hide']();
+ }
+ popupStack.push({
+ close: popup.close,
+ show: function(animate) {
+ popupElement.style.display = 'block';
+ popupElement.offsetHeight;
+ popupElement.classList.add(CLASS_POPUP_IN);
+ },
+ hide: function() {
+ popupElement.style.display = 'none';
+ popupElement.classList.remove(CLASS_POPUP_IN);
+ }
+ });
+ return popup;
+ };
+ var createAlert = function(message, title, btnValue, callback, type) {
+ if (typeof message === 'undefined') {
+ return;
+ } else {
+ if (typeof title === 'function') {
+ callback = title;
+ type = btnValue;
+ title = null;
+ btnValue = null;
+ } else if (typeof btnValue === 'function') {
+ type = callback;
+ callback = btnValue;
+ btnValue = null;
+ }
+ }
+ if (!$.os.plus || type === 'div') {
+ return createPopup(createInner(message, title || '鎻愮ず') + createButtons([btnValue || '纭畾']), callback);
+ }
+ return plus.nativeUI.alert(message, callback, title || '鎻愮ず', btnValue || '纭畾');
+ };
+ var createConfirm = function(message, title, btnArray, callback, type) {
+ if (typeof message === 'undefined') {
+ return;
+ } else {
+ if (typeof title === 'function') {
+ callback = title;
+ type = btnArray;
+ title = null;
+ btnArray = null;
+ } else if (typeof btnArray === 'function') {
+ type = callback;
+ callback = btnArray;
+ btnArray = null;
+ }
+ }
+ if (!$.os.plus || type === 'div') {
+ return createPopup(createInner(message, title || '鎻愮ず') + createButtons(btnArray || ['鍙栨秷', '纭']), callback);
+ }
+ return plus.nativeUI.confirm(message, callback, title, btnArray || ['鍙栨秷', '纭']);
+ };
+ var createPrompt = function(message, placeholder, title, btnArray, callback, type) {
+ if (typeof message === 'undefined') {
+ return;
+ } else {
+ if (typeof placeholder === 'function') {
+ callback = placeholder;
+ type = title;
+ placeholder = null;
+ title = null;
+ btnArray = null;
+ } else if (typeof title === 'function') {
+ callback = title;
+ type = btnArray;
+ title = null;
+ btnArray = null;
+ } else if (typeof btnArray === 'function') {
+ type = callback;
+ callback = btnArray;
+ btnArray = null;
+ }
+ }
+ if (!$.os.plus || type === 'div') {
+ return createPopup(createInner(message, title || '鎻愮ず', createInput(placeholder)) + createButtons(btnArray || ['鍙栨秷', '纭']), callback);
+ }
+ return plus.nativeUI.prompt(message, callback, title || '鎻愮ず', placeholder, btnArray || ['鍙栨秷', '纭']);
+ };
+ var closePopup = function() {
+ if (popupStack.length) {
+ popupStack[popupStack.length - 1]['close']();
+ return true;
+ } else {
+ return false;
+ }
+ };
+ var closePopups = function() {
+ while (popupStack.length) {
+ popupStack[popupStack.length - 1]['close']();
+ }
+ };
+
+ $.closePopup = closePopup;
+ $.closePopups = closePopups;
+ $.alert = createAlert;
+ $.confirm = createConfirm;
+ $.prompt = createPrompt;
+})(mui, window, document);
+(function($, document) {
+ var CLASS_PROGRESSBAR = 'mui-progressbar';
+ var CLASS_PROGRESSBAR_IN = 'mui-progressbar-in';
+ var CLASS_PROGRESSBAR_OUT = 'mui-progressbar-out';
+ var CLASS_PROGRESSBAR_INFINITE = 'mui-progressbar-infinite';
+
+ var SELECTOR_PROGRESSBAR = '.mui-progressbar';
+
+ var _findProgressbar = function(container) {
+ container = $(container || 'body');
+ if (container.length === 0) return;
+ container = container[0];
+ if (container.classList.contains(CLASS_PROGRESSBAR)) {
+ return container;
+ }
+ var progressbars = container.querySelectorAll(SELECTOR_PROGRESSBAR);
+ if (progressbars) {
+ for (var i = 0, len = progressbars.length; i < len; i++) {
+ var progressbar = progressbars[i];
+ if (progressbar.parentNode === container) {
+ return progressbar;
+ }
+ }
+ }
+ };
+ /**
+ * 鍒涘缓骞舵樉绀鸿繘搴︽潯
+ * @param {Object} container 鍙�夛紝榛樿body锛屾敮鎸乻elector,DOM Node,mui wrapper
+ * @param {Object} progress 鍙�夛紝undefined琛ㄧず寰幆锛屾暟瀛楄〃绀哄叿浣撹繘搴�
+ * @param {Object} color 鍙�夛紝鎸囧畾棰滆壊鏍峰紡(鐩墠鏆傛湭鎻愪緵瀹為檯鏍峰紡锛屽彲鏆傛椂涓嶆毚闇叉鍙傛暟)
+ */
+ var showProgressbar = function(container, progress, color) {
+ if (typeof container === 'number') {
+ color = progress;
+ progress = container;
+ container = 'body';
+ }
+ container = $(container || 'body');
+ if (container.length === 0) return;
+ container = container[0];
+ var progressbar;
+ if (container.classList.contains(CLASS_PROGRESSBAR)) {
+ progressbar = container;
+ } else {
+ var progressbars = container.querySelectorAll(SELECTOR_PROGRESSBAR + ':not(.' + CLASS_PROGRESSBAR_OUT + ')');
+ if (progressbars) {
+ for (var i = 0, len = progressbars.length; i < len; i++) {
+ var _progressbar = progressbars[i];
+ if (_progressbar.parentNode === container) {
+ progressbar = _progressbar;
+ break;
+ }
+ }
+ }
+ if (!progressbar) {
+ progressbar = document.createElement('span');
+ progressbar.className = CLASS_PROGRESSBAR + ' ' + CLASS_PROGRESSBAR_IN + (typeof progress !== 'undefined' ? '' : (' ' + CLASS_PROGRESSBAR_INFINITE)) + (color ? (' ' + CLASS_PROGRESSBAR + '-' + color) : '');
+ if (typeof progress !== 'undefined') {
+ progressbar.innerHTML = '<span></span>';
+ }
+ container.appendChild(progressbar);
+ } else {
+ progressbar.classList.add(CLASS_PROGRESSBAR_IN);
+ }
+ }
+ if (progress) setProgressbar(container, progress);
+ return progressbar;
+ };
+ /**
+ * 鍏抽棴杩涘害鏉�
+ * @param {Object} container 鍙�夛紝榛樿body锛屾敮鎸乻elector,DOM Node,mui wrapper
+ */
+ var hideProgressbar = function(container) {
+ var progressbar = _findProgressbar(container);
+ if (!progressbar) {
+ return;
+ }
+ var classList = progressbar.classList;
+ if (!classList.contains(CLASS_PROGRESSBAR_IN) || classList.contains(CLASS_PROGRESSBAR_OUT)) {
+ return;
+ }
+ classList.remove(CLASS_PROGRESSBAR_IN);
+ classList.add(CLASS_PROGRESSBAR_OUT);
+ progressbar.addEventListener('webkitAnimationEnd', function() {
+ progressbar.parentNode && progressbar.parentNode.removeChild(progressbar);
+ progressbar = null;
+ });
+ return;
+ };
+ /**
+ * 璁剧疆鎸囧畾杩涘害鏉¤繘搴�
+ * @param {Object} container 鍙�夛紝榛樿body锛屾敮鎸乻elector,DOM Node,mui wrapper
+ * @param {Object} progress 鍙�夛紝榛樿0 鍙栧�艰寖鍥碵0-100]
+ * @param {Object} speed 杩涘害鏉″姩鐢绘椂闂�
+ */
+ var setProgressbar = function(container, progress, speed) {
+ if (typeof container === 'number') {
+ speed = progress;
+ progress = container;
+ container = false;
+ }
+ var progressbar = _findProgressbar(container);
+ if (!progressbar || progressbar.classList.contains(CLASS_PROGRESSBAR_INFINITE)) {
+ return;
+ }
+ if (progress) progress = Math.min(Math.max(progress, 0), 100);
+ progressbar.offsetHeight;
+ var span = progressbar.querySelector('span');
+ if (span) {
+ var style = span.style;
+ style.webkitTransform = 'translate3d(' + (-100 + progress) + '%,0,0)';
+ if (typeof speed !== 'undefined') {
+ style.webkitTransitionDuration = speed + 'ms';
+ } else {
+ style.webkitTransitionDuration = '';
+ }
+ }
+ return progressbar;
+ };
+ $.fn.progressbar = function(options) {
+ var progressbarApis = [];
+ options = options || {};
+ this.each(function() {
+ var self = this;
+ var progressbarApi = self.mui_plugin_progressbar;
+ if (!progressbarApi) {
+ self.mui_plugin_progressbar = progressbarApi = {
+ options: options,
+ setOptions: function(options) {
+ this.options = options;
+ },
+ show: function() {
+ return showProgressbar(self, this.options.progress, this.options.color);
+ },
+ setProgress: function(progress) {
+ return setProgressbar(self, progress);
+ },
+ hide: function() {
+ return hideProgressbar(self);
+ }
+ };
+ } else if (options) {
+ progressbarApi.setOptions(options);
+ }
+ progressbarApis.push(progressbarApi);
+ });
+ return progressbarApis.length === 1 ? progressbarApis[0] : progressbarApis;
+ };
+ // $.setProgressbar = setProgressbar;
+ // $.showProgressbar = showProgressbar;
+ // $.hideProgressbar = hideProgressbar;
+})(mui, document);
+/**
+ * Input(TODO resize)
+ * @param {type} $
+ * @param {type} window
+ * @param {type} document
+ * @returns {undefined}
+ */
+(function($, window, document) {
+ var CLASS_ICON = 'mui-icon';
+ var CLASS_ICON_CLEAR = 'mui-icon-clear';
+ var CLASS_ICON_SPEECH = 'mui-icon-speech';
+ var CLASS_ICON_SEARCH = 'mui-icon-search';
+ var CLASS_ICON_PASSWORD = 'mui-icon-eye';
+ var CLASS_INPUT_ROW = 'mui-input-row';
+ var CLASS_PLACEHOLDER = 'mui-placeholder';
+ var CLASS_TOOLTIP = 'mui-tooltip';
+ var CLASS_HIDDEN = 'mui-hidden';
+ var CLASS_FOCUSIN = 'mui-focusin';
+ var SELECTOR_ICON_CLOSE = '.' + CLASS_ICON_CLEAR;
+ var SELECTOR_ICON_SPEECH = '.' + CLASS_ICON_SPEECH;
+ var SELECTOR_ICON_PASSWORD = '.' + CLASS_ICON_PASSWORD;
+ var SELECTOR_PLACEHOLDER = '.' + CLASS_PLACEHOLDER;
+ var SELECTOR_TOOLTIP = '.' + CLASS_TOOLTIP;
+
+ var findRow = function(target) {
+ for (; target && target !== document; target = target.parentNode) {
+ if (target.classList && target.classList.contains(CLASS_INPUT_ROW)) {
+ return target;
+ }
+ }
+ return null;
+ };
+ var Input = function(element, options) {
+ this.element = element;
+ this.options = options || {
+ actions: 'clear'
+ };
+ if (~this.options.actions.indexOf('slider')) { //slider
+ this.sliderActionClass = CLASS_TOOLTIP + ' ' + CLASS_HIDDEN;
+ this.sliderActionSelector = SELECTOR_TOOLTIP;
+ } else { //clear,speech,search
+ if (~this.options.actions.indexOf('clear')) {
+ this.clearActionClass = CLASS_ICON + ' ' + CLASS_ICON_CLEAR + ' ' + CLASS_HIDDEN;
+ this.clearActionSelector = SELECTOR_ICON_CLOSE;
+ }
+ if (~this.options.actions.indexOf('speech')) { //only for 5+
+ this.speechActionClass = CLASS_ICON + ' ' + CLASS_ICON_SPEECH;
+ this.speechActionSelector = SELECTOR_ICON_SPEECH;
+ }
+ if (~this.options.actions.indexOf('search')) {
+ this.searchActionClass = CLASS_PLACEHOLDER;
+ this.searchActionSelector = SELECTOR_PLACEHOLDER;
+ }
+ if (~this.options.actions.indexOf('password')) {
+ this.passwordActionClass = CLASS_ICON + ' ' + CLASS_ICON_PASSWORD;
+ this.passwordActionSelector = SELECTOR_ICON_PASSWORD;
+ }
+ }
+ this.init();
+ };
+ Input.prototype.init = function() {
+ this.initAction();
+ this.initElementEvent();
+ };
+ Input.prototype.initAction = function() {
+ var self = this;
+
+ var row = self.element.parentNode;
+ if (row) {
+ if (self.sliderActionClass) {
+ self.sliderAction = self.createAction(row, self.sliderActionClass, self.sliderActionSelector);
+ } else {
+ if (self.searchActionClass) {
+ self.searchAction = self.createAction(row, self.searchActionClass, self.searchActionSelector);
+ self.searchAction.addEventListener('tap', function(e) {
+ $.focus(self.element);
+ e.stopPropagation();
+ });
+ }
+ if (self.speechActionClass) {
+ self.speechAction = self.createAction(row, self.speechActionClass, self.speechActionSelector);
+ self.speechAction.addEventListener('click', $.stopPropagation);
+ self.speechAction.addEventListener('tap', function(event) {
+ self.speechActionClick(event);
+ });
+ }
+ if (self.clearActionClass) {
+ self.clearAction = self.createAction(row, self.clearActionClass, self.clearActionSelector);
+ self.clearAction.addEventListener('tap', function(event) {
+ self.clearActionClick(event);
+ });
+ }
+ if (self.passwordActionClass) {
+ self.passwordAction = self.createAction(row, self.passwordActionClass, self.passwordActionSelector);
+ self.passwordAction.addEventListener('tap', function(event) {
+ self.passwordActionClick(event);
+ });
+ }
+ }
+ }
+ };
+ Input.prototype.createAction = function(row, actionClass, actionSelector) {
+ var action = row.querySelector(actionSelector);
+ if (!action) {
+ var action = document.createElement('span');
+ action.className = actionClass;
+ if (actionClass === this.searchActionClass) {
+ action.innerHTML = '<span class="' + CLASS_ICON + ' ' + CLASS_ICON_SEARCH + '"></span><span>' + this.element.getAttribute('placeholder') + '</span>';
+ this.element.setAttribute('placeholder', '');
+ if (this.element.value.trim()) {
+ row.classList.add('mui-active');
+ }
+ }
+ row.insertBefore(action, this.element.nextSibling);
+ }
+ return action;
+ };
+ Input.prototype.initElementEvent = function() {
+ var element = this.element;
+
+ if (this.sliderActionClass) {
+ var tooltip = this.sliderAction;
+ var timer = null;
+ var showTip = function() { //姣忔閲嶆柊璁$畻鏄洜涓烘帶浠跺彲鑳借闅愯棌锛屽垵濮嬪寲鏃惰绠楁槸涓嶆纭殑
+ tooltip.classList.remove(CLASS_HIDDEN);
+ var offsetLeft = element.offsetLeft;
+ var width = element.offsetWidth - 28;
+ var tooltipWidth = tooltip.offsetWidth;
+ var distince = Math.abs(element.max - element.min);
+ var scaleWidth = (width / distince) * Math.abs(element.value - element.min);
+ tooltip.style.left = (14 + offsetLeft + scaleWidth - tooltipWidth / 2) + 'px';
+ tooltip.innerText = element.value;
+ if (timer) {
+ clearTimeout(timer);
+ }
+ timer = setTimeout(function() {
+ tooltip.classList.add(CLASS_HIDDEN);
+ }, 1000);
+ };
+ element.addEventListener('input', showTip);
+ element.addEventListener('tap', showTip);
+ element.addEventListener($.EVENT_MOVE, function(e) {
+ e.stopPropagation();
+ });
+ } else {
+ if (this.clearActionClass) {
+ var action = this.clearAction;
+ if (!action) {
+ return;
+ }
+ $.each(['keyup', 'change', 'input', 'focus', 'cut', 'paste'], function(index, type) {
+ (function(type) {
+ element.addEventListener(type, function() {
+ action.classList[element.value.trim() ? 'remove' : 'add'](CLASS_HIDDEN);
+ });
+ })(type);
+ });
+ element.addEventListener('blur', function() {
+ action.classList.add(CLASS_HIDDEN);
+ });
+ }
+ if (this.searchActionClass) {
+ element.addEventListener('focus', function() {
+ element.parentNode.classList.add('mui-active');
+ });
+ element.addEventListener('blur', function() {
+ if (!element.value.trim()) {
+ element.parentNode.classList.remove('mui-active');
+ }
+ });
+ }
+ }
+ };
+ Input.prototype.setPlaceholder = function(text) {
+ if (this.searchActionClass) {
+ var placeholder = this.element.parentNode.querySelector(SELECTOR_PLACEHOLDER);
+ placeholder && (placeholder.getElementsByTagName('span')[1].innerText = text);
+ } else {
+ this.element.setAttribute('placeholder', text);
+ }
+ };
+ Input.prototype.passwordActionClick = function(event) {
+ if (this.element.type === 'text') {
+ this.element.type = 'password';
+ } else {
+ this.element.type = 'text';
+ }
+ this.passwordAction.classList.toggle('mui-active');
+ event.preventDefault();
+ };
+ Input.prototype.clearActionClick = function(event) {
+ var self = this;
+ self.element.value = '';
+ $.focus(self.element);
+ self.clearAction.classList.add(CLASS_HIDDEN);
+ event.preventDefault();
+ };
+ Input.prototype.speechActionClick = function(event) {
+ if (window.plus) {
+ var self = this;
+ var oldValue = self.element.value;
+ self.element.value = '';
+ document.body.classList.add(CLASS_FOCUSIN);
+ plus.speech.startRecognize({
+ engine: 'iFly'
+ }, function(s) {
+ self.element.value += s;
+ $.focus(self.element);
+ plus.speech.stopRecognize();
+ $.trigger(self.element, 'recognized', {
+ value: self.element.value
+ });
+ if (oldValue !== self.element.value) {
+ $.trigger(self.element, 'change');
+ $.trigger(self.element, 'input');
+ }
+ // document.body.classList.remove(CLASS_FOCUSIN);
+ }, function(e) {
+ document.body.classList.remove(CLASS_FOCUSIN);
+ });
+ } else {
+ alert('only for 5+');
+ }
+ event.preventDefault();
+ };
+ $.fn.input = function(options) {
+ var inputApis = [];
+ this.each(function() {
+ var inputApi = null;
+ var actions = [];
+ var row = findRow(this.parentNode);
+ if (this.type === 'range' && row.classList.contains('mui-input-range')) {
+ actions.push('slider');
+ } else {
+ var classList = this.classList;
+ if (classList.contains('mui-input-clear')) {
+ actions.push('clear');
+ }
+ if (!($.os.android && $.os.stream) && classList.contains('mui-input-speech')) {
+ actions.push('speech');
+ }
+ if (classList.contains('mui-input-password')) {
+ actions.push('password');
+ }
+ if (this.type === 'search' && row.classList.contains('mui-search')) {
+ actions.push('search');
+ }
+ }
+ var id = this.getAttribute('data-input-' + actions[0]);
+ if (!id) {
+ id = ++$.uuid;
+ inputApi = $.data[id] = new Input(this, {
+ actions: actions.join(',')
+ });
+ for (var i = 0, len = actions.length; i < len; i++) {
+ this.setAttribute('data-input-' + actions[i], id);
+ }
+ } else {
+ inputApi = $.data[id];
+ }
+ inputApis.push(inputApi);
+ });
+ return inputApis.length === 1 ? inputApis[0] : inputApis;
+ };
+ $.ready(function() {
+ $('.mui-input-row input').input();
+ });
+})(mui, window, document);
+(function($, window) {
+ var CLASS_ACTIVE = 'mui-active';
+ var rgbaRegex = /^rgba\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3}),\s*(\d*(?:\.\d+)?)\)$/;
+ var getColor = function(colorStr) {
+ var matches = colorStr.match(rgbaRegex);
+ if (matches && matches.length === 5) {
+ return [
+ matches[1],
+ matches[2],
+ matches[3],
+ matches[4]
+ ];
+ }
+ return [];
+ };
+ var Transparent = function(element, options) {
+ this.element = element;
+ this.options = $.extend({
+ top: 0, //璺濈椤堕儴楂樺害(鍒拌揪璇ラ珮搴﹀嵆瑙﹀彂)
+ offset: 150, //婊氬姩閫忔槑璺濈
+ duration: 16, //杩囨浮鏃堕棿
+ scrollby: window//鐩戝惉婊氬姩璺濈瀹瑰櫒
+ }, options || {});
+
+ this.scrollByElem = this.options.scrollby || window;
+ if (!this.scrollByElem) {
+ throw new Error("鐩戝惉婊氬姩鐨勫厓绱犱笉瀛樺湪");
+ }
+ this.isNativeScroll = false;
+ if (this.scrollByElem === window) {
+ this.isNativeScroll = true;
+ } else if (!~this.scrollByElem.className.indexOf('mui-scroll-wrapper')) {
+ this.isNativeScroll = true;
+ }
+
+ this._style = this.element.style;
+ this._bgColor = this._style.backgroundColor;
+ var color = getColor(mui.getStyles(this.element, 'backgroundColor'));
+ if (color.length) {
+ this._R = color[0];
+ this._G = color[1];
+ this._B = color[2];
+ this._A = parseFloat(color[3]);
+ this.lastOpacity = this._A;
+ this._bufferFn = $.buffer(this.handleScroll, this.options.duration, this);
+ this.initEvent();
+ } else {
+ throw new Error("鍏冪礌鑳屾櫙棰滆壊蹇呴』涓篟GBA");
+ }
+ };
+
+ Transparent.prototype.initEvent = function() {
+ this.scrollByElem.addEventListener('scroll', this._bufferFn);
+ if (this.isNativeScroll) { //鍘熺敓scroll
+ this.scrollByElem.addEventListener($.EVENT_MOVE, this._bufferFn);
+ }
+ }
+ Transparent.prototype.handleScroll = function(e) {
+ var y = window.scrollY;
+ if (!this.isNativeScroll && e && e.detail) {
+ y = -e.detail.y;
+ }
+ var opacity = (y - this.options.top) / this.options.offset + this._A;
+ opacity = Math.min(Math.max(this._A, opacity), 1);
+ this._style.backgroundColor = 'rgba(' + this._R + ',' + this._G + ',' + this._B + ',' + opacity + ')';
+ if (opacity > this._A) {
+ this.element.classList.add(CLASS_ACTIVE);
+ } else {
+ this.element.classList.remove(CLASS_ACTIVE);
+ }
+ if (this.lastOpacity !== opacity) {
+ $.trigger(this.element, 'alpha', {
+ alpha: opacity
+ });
+ this.lastOpacity = opacity;
+ }
+ };
+ Transparent.prototype.destory = function() {
+ this.scrollByElem.removeEventListener('scroll', this._bufferFn);
+ this.scrollByElem.removeEventListener($.EVENT_MOVE, this._bufferFn);
+ this.element.style.backgroundColor = this._bgColor;
+ this.element.mui_plugin_transparent = null;
+ };
+ $.fn.transparent = function(options) {
+ options = options || {};
+ var transparentApis = [];
+ this.each(function() {
+ var transparentApi = this.mui_plugin_transparent;
+ if (!transparentApi) {
+ var top = this.getAttribute('data-top');
+ var offset = this.getAttribute('data-offset');
+ var duration = this.getAttribute('data-duration');
+ var scrollby = this.getAttribute('data-scrollby');
+ if (top !== null && typeof options.top === 'undefined') {
+ options.top = top;
+ }
+ if (offset !== null && typeof options.offset === 'undefined') {
+ options.offset = offset;
+ }
+ if (duration !== null && typeof options.duration === 'undefined') {
+ options.duration = duration;
+ }
+ if (scrollby !== null && typeof options.scrollby === 'undefined') {
+ options.scrollby = document.querySelector(scrollby) || window;
+ }
+ transparentApi = this.mui_plugin_transparent = new Transparent(this, options);
+ }
+ transparentApis.push(transparentApi);
+ });
+ return transparentApis.length === 1 ? transparentApis[0] : transparentApis;
+ };
+ $.ready(function() {
+ $('.mui-bar-transparent').transparent();
+ });
+})(mui, window);
+/**
+ * 鏁板瓧杈撳叆妗�
+ * varstion 1.0.1
+ * by Houfeng
+ * Houfeng@DCloud.io
+ */
+
+(function($) {
+
+ var touchSupport = ('ontouchstart' in document);
+ var tapEventName = touchSupport ? 'tap' : 'click';
+ var changeEventName = 'change';
+ var holderClassName = 'mui-numbox';
+ var plusClassSelector = '.mui-btn-numbox-plus,.mui-numbox-btn-plus';
+ var minusClassSelector = '.mui-btn-numbox-minus,.mui-numbox-btn-minus';
+ var inputClassSelector = '.mui-input-numbox,.mui-numbox-input';
+
+ var Numbox = $.Numbox = $.Class.extend({
+ /**
+ * 鏋勯�犲嚱鏁�
+ **/
+ init: function(holder, options) {
+ var self = this;
+ if (!holder) {
+ throw "鏋勯�� numbox 鏃剁己灏戝鍣ㄥ厓绱�";
+ }
+ self.holder = holder;
+ options = options || {};
+ options.step = parseInt(options.step || 1);
+ self.options = options;
+ self.input = $.qsa(inputClassSelector, self.holder)[0];
+ self.plus = $.qsa(plusClassSelector, self.holder)[0];
+ self.minus = $.qsa(minusClassSelector, self.holder)[0];
+ self.checkValue();
+ self.initEvent();
+ },
+ /**
+ * 鍒濆鍖栦簨浠剁粦瀹�
+ **/
+ initEvent: function() {
+ var self = this;
+ self.plus.addEventListener(tapEventName, function(event) {
+ var val = parseInt(self.input.value) + self.options.step;
+ self.input.value = val.toString();
+ $.trigger(self.input, changeEventName, null);
+ });
+ self.minus.addEventListener(tapEventName, function(event) {
+ var val = parseInt(self.input.value) - self.options.step;
+ self.input.value = val.toString();
+ $.trigger(self.input, changeEventName, null);
+ });
+ self.input.addEventListener(changeEventName, function(event) {
+ self.checkValue();
+ var val = parseInt(self.input.value);
+ //瑙﹀彂椤跺眰瀹瑰櫒
+ $.trigger(self.holder, changeEventName, {
+ value: val
+ });
+ });
+ },
+ /**
+ * 鑾峰彇褰撳墠鍊�
+ **/
+ getValue: function() {
+ var self = this;
+ return parseInt(self.input.value);
+ },
+ /**
+ * 楠岃瘉褰撳墠鍊兼槸娉曞悎娉�
+ **/
+ checkValue: function() {
+ var self = this;
+ var val = self.input.value;
+ if (val == null || val == '' || isNaN(val)) {
+ self.input.value = self.options.min || 0;
+ self.minus.disabled = self.options.min != null;
+ } else {
+ var val = parseInt(val);
+ if (self.options.max != null && !isNaN(self.options.max) && val >= parseInt(self.options.max)) {
+ val = self.options.max;
+ self.plus.disabled = true;
+ } else {
+ self.plus.disabled = false;
+ }
+ if (self.options.min != null && !isNaN(self.options.min) && val <= parseInt(self.options.min)) {
+ val = self.options.min;
+ self.minus.disabled = true;
+ } else {
+ self.minus.disabled = false;
+ }
+ self.input.value = val;
+ }
+ },
+ /**
+ * 鏇存柊閫夐」
+ **/
+ setOption: function(name, value) {
+ var self = this;
+ self.options[name] = value;
+ },
+ /**
+ * 鍔ㄦ�佽缃柊鍊�
+ **/
+ setValue: function(value) {
+ this.input.value = value;
+ this.checkValue();
+ }
+ });
+
+ $.fn.numbox = function(options) {
+ var instanceArray = [];
+ //閬嶅巻閫夋嫨鐨勫厓绱�
+ this.each(function(i, element) {
+ if (element.numbox) {
+ return;
+ }
+ if (options) {
+ element.numbox = new Numbox(element, options);
+ } else {
+ var optionsText = element.getAttribute('data-numbox-options');
+ var options = optionsText ? JSON.parse(optionsText) : {};
+ options.step = element.getAttribute('data-numbox-step') || options.step;
+ options.min = element.getAttribute('data-numbox-min') || options.min;
+ options.max = element.getAttribute('data-numbox-max') || options.max;
+ element.numbox = new Numbox(element, options);
+ }
+ });
+ return this[0] ? this[0].numbox : null;
+ }
+
+ //鑷姩澶勭悊 class='mui-locker' 鐨� dom
+ $.ready(function() {
+ $('.' + holderClassName).numbox();
+ });
+
+}(mui));
+/**
+ * Button
+ * @param {type} $
+ * @param {type} window
+ * @param {type} document
+ * @returns {undefined}
+ */
+(function($, window, document) {
+ var CLASS_ICON = 'mui-icon';
+ var CLASS_DISABLED = 'mui-disabled';
+
+ var STATE_RESET = 'reset';
+ var STATE_LOADING = 'loading';
+
+ var defaultOptions = {
+ loadingText: 'Loading...', //鏂囨
+ loadingIcon: 'mui-spinner' + ' ' + 'mui-spinner-white', //鍥炬爣锛屽彲涓虹┖
+ loadingIconPosition: 'left' //鍥炬爣鎵�澶勪綅缃紝浠呮敮鎸乴eft|right
+ };
+
+ var Button = function(element, options) {
+ this.element = element;
+ this.options = $.extend({}, defaultOptions, options);
+ if (!this.options.loadingText) {
+ this.options.loadingText = defaultOptions.loadingText;
+ }
+ if (this.options.loadingIcon === null) {
+ this.options.loadingIcon = 'mui-spinner';
+ if ($.getStyles(this.element, 'color') === 'rgb(255, 255, 255)') {
+ this.options.loadingIcon += ' ' + 'mui-spinner-white';
+ }
+ }
+ this.isInput = this.element.tagName === 'INPUT';
+ this.resetHTML = this.isInput ? this.element.value : this.element.innerHTML;
+ this.state = '';
+ };
+ Button.prototype.loading = function() {
+ this.setState(STATE_LOADING);
+ };
+ Button.prototype.reset = function() {
+ this.setState(STATE_RESET);
+ };
+ Button.prototype.setState = function(state) {
+ if (this.state === state) {
+ return false;
+ }
+ this.state = state;
+ if (state === STATE_RESET) {
+ this.element.disabled = false;
+ this.element.classList.remove(CLASS_DISABLED);
+ this.setHtml(this.resetHTML);
+ } else if (state === STATE_LOADING) {
+ this.element.disabled = true;
+ this.element.classList.add(CLASS_DISABLED);
+ var html = this.isInput ? this.options.loadingText : ('<span>' + this.options.loadingText + '</span>');
+ if (this.options.loadingIcon && !this.isInput) {
+ if (this.options.loadingIconPosition === 'right') {
+ html += ' <span class="' + this.options.loadingIcon + '"></span>';
+ } else {
+ html = '<span class="' + this.options.loadingIcon + '"></span> ' + html;
+ }
+ }
+ this.setHtml(html);
+ }
+ };
+ Button.prototype.setHtml = function(html) {
+ if (this.isInput) {
+ this.element.value = html;
+ } else {
+ this.element.innerHTML = html;
+ }
+ }
+ $.fn.button = function(state) {
+ var buttonApis = [];
+ this.each(function() {
+ var buttonApi = this.mui_plugin_button;
+ if (!buttonApi) {
+ var loadingText = this.getAttribute('data-loading-text');
+ var loadingIcon = this.getAttribute('data-loading-icon');
+ var loadingIconPosition = this.getAttribute('data-loading-icon-position');
+ this.mui_plugin_button = buttonApi = new Button(this, {
+ loadingText: loadingText,
+ loadingIcon: loadingIcon,
+ loadingIconPosition: loadingIconPosition
+ });
+ }
+ if (state === STATE_LOADING || state === STATE_RESET) {
+ buttonApi.setState(state);
+ }
+ buttonApis.push(buttonApi);
+ });
+ return buttonApis.length === 1 ? buttonApis[0] : buttonApis;
+ };
+})(mui, window, document);
\ No newline at end of file
diff --git a/fzzy-igdss-web/src/main/resources/static/ajax/libs/mui/js/mui.min.js b/fzzy-igdss-web/src/main/resources/static/ajax/libs/mui/js/mui.min.js
new file mode 100644
index 0000000..56ed8de
--- /dev/null
+++ b/fzzy-igdss-web/src/main/resources/static/ajax/libs/mui/js/mui.min.js
@@ -0,0 +1,6 @@
+/*!
+ * =====================================================
+ * Mui v3.7.3 (http://dev.dcloud.net.cn/mui)
+ * =====================================================
+ */
+var mui=function(a,b){var c=/complete|loaded|interactive/,d=/^#([\w-]+)$/,e=/^\.([\w-]+)$/,f=/^[\w-]+$/,g=/translate(?:3d)?\((.+?)\)/,h=/matrix(3d)?\((.+?)\)/,i=function(b,c){if(c=c||a,!b)return j();if("object"==typeof b)return i.isArrayLike(b)?j(i.slice.call(b),null):j([b],null);if("function"==typeof b)return i.ready(b);if("string"==typeof b)try{if(b=b.trim(),d.test(b)){var e=a.getElementById(RegExp.$1);return j(e?[e]:[])}return j(i.qsa(b,c),b)}catch(a){}return j()},j=function(a,b){return a=a||[],Object.setPrototypeOf(a,i.fn),a.selector=b||"",a};i.uuid=0,i.data={},i.extend=function(){var a,c,d,e,f,g,h=arguments[0]||{},j=1,k=arguments.length,l=!1;for("boolean"==typeof h&&(l=h,h=arguments[j]||{},j++),"object"==typeof h||i.isFunction(h)||(h={}),j===k&&(h=this,j--);j<k;j++)if(null!=(a=arguments[j]))for(c in a)d=h[c],e=a[c],h!==e&&(l&&e&&(i.isPlainObject(e)||(f=i.isArray(e)))?(f?(f=!1,g=d&&i.isArray(d)?d:[]):g=d&&i.isPlainObject(d)?d:{},h[c]=i.extend(l,g,e)):e!==b&&(h[c]=e));return h},i.noop=function(){},i.slice=[].slice,i.filter=[].filter,i.type=function(a){return null==a?String(a):k[{}.toString.call(a)]||"object"},i.isArray=Array.isArray||function(a){return a instanceof Array},i.isArrayLike=function(a){var b=!!a&&"length"in a&&a.length,c=i.type(a);return"function"!==c&&!i.isWindow(a)&&("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a)},i.isWindow=function(a){return null!=a&&a===a.window},i.isObject=function(a){return"object"===i.type(a)},i.isPlainObject=function(a){return i.isObject(a)&&!i.isWindow(a)&&Object.getPrototypeOf(a)===Object.prototype},i.isEmptyObject=function(a){for(var c in a)if(c!==b)return!1;return!0},i.isFunction=function(a){return"function"===i.type(a)},i.qsa=function(b,c){return c=c||a,i.slice.call(e.test(b)?c.getElementsByClassName(RegExp.$1):f.test(b)?c.getElementsByTagName(b):c.querySelectorAll(b))},i.ready=function(b){return c.test(a.readyState)?b(i):a.addEventListener("DOMContentLoaded",function(){b(i)},!1),this},i.buffer=function(a,b,c){function d(){e&&(e.cancel(),e=0),f=i.now(),a.apply(c||this,arguments),g=i.now()}var e,f=0,g=0,b=b||150;return i.extend(function(){!f||g>=f&&i.now()-g>b||g<f&&i.now()-f>8*b?d.apply(this,arguments):(e&&e.cancel(),e=i.later(d,b,null,i.slice.call(arguments)))},{stop:function(){e&&(e.cancel(),e=0)}})},i.each=function(a,b,c){if(!a)return this;if("number"==typeof a.length)[].every.call(a,function(a,c){return!1!==b.call(a,c,a)});else for(var d in a)if(c){if(a.hasOwnProperty(d)&&!1===b.call(a[d],d,a[d]))return a}else if(!1===b.call(a[d],d,a[d]))return a;return this},i.focus=function(a){i.os.ios?setTimeout(function(){a.focus()},10):a.focus()},i.trigger=function(a,b,c){return a.dispatchEvent(new CustomEvent(b,{detail:c,bubbles:!0,cancelable:!0})),this},i.getStyles=function(a,b){var c=a.ownerDocument.defaultView.getComputedStyle(a,null);return b?c.getPropertyValue(b)||c[b]:c},i.parseTranslate=function(a,b){var c=a.match(g||"");return c&&c[1]||(c=["","0,0,0"]),c=c[1].split(","),c={x:parseFloat(c[0]),y:parseFloat(c[1]),z:parseFloat(c[2])},b&&c.hasOwnProperty(b)?c[b]:c},i.parseTranslateMatrix=function(a,b){var c=a.match(h),d=c&&c[1];c?(c=c[2].split(","),"3d"===d?c=c.slice(12,15):(c.push(0),c=c.slice(4,7))):c=[0,0,0];var e={x:parseFloat(c[0]),y:parseFloat(c[1]),z:parseFloat(c[2])};return b&&e.hasOwnProperty(b)?e[b]:e},i.hooks={},i.addAction=function(a,b){var c=i.hooks[a];return c||(c=[]),b.index=b.index||1e3,c.push(b),c.sort(function(a,b){return a.index-b.index}),i.hooks[a]=c,i.hooks[a]},i.doAction=function(a,b){i.isFunction(b)?i.each(i.hooks[a],b):i.each(i.hooks[a],function(a,b){return!b.handle()})},i.later=function(a,b,c,d){b=b||0;var e,f,g=a,h=d;return"string"==typeof a&&(g=c[a]),e=function(){g.apply(c,i.isArray(h)?h:[h])},f=setTimeout(e,b),{id:f,cancel:function(){clearTimeout(f)}}},i.now=Date.now||function(){return+new Date};var k={};return i.each(["Boolean","Number","String","Function","Array","Date","RegExp","Object","Error"],function(a,b){k["[object "+b+"]"]=b.toLowerCase()}),window.JSON&&(i.parseJSON=JSON.parse),i.fn={each:function(a){return[].every.call(this,function(b,c){return!1!==a.call(b,c,b)}),this}},"function"==typeof define&&define.amd&&define("mui",[],function(){return i}),i}(document);!function(a,b){function c(c){this.os={};var d=[function(){var a=c.match(/(MicroMessenger)\/([\d\.]+)/i);return a&&(this.os.wechat={version:a[2].replace(/_/g,".")}),!1},function(){var a=c.match(/(Android);?[\s\/]+([\d.]+)?/);return a&&(this.os.android=!0,this.os.version=a[2],this.os.isBadAndroid=!/Chrome\/\d/.test(b.navigator.appVersion)),!0===this.os.android},function(){var a=c.match(/(iPhone\sOS)\s([\d_]+)/);if(a)this.os.ios=this.os.iphone=!0,this.os.version=a[2].replace(/_/g,".");else{var b=c.match(/(iPad).*OS\s([\d_]+)/);b&&(this.os.ios=this.os.ipad=!0,this.os.version=b[2].replace(/_/g,"."))}return!0===this.os.ios}];[].every.call(d,function(b){return!b.call(a)})}c.call(a,navigator.userAgent)}(mui,window),function(a,b){function c(c){this.os=this.os||{},c.match(/Html5Plus/i)&&(this.os.plus=!0,a(function(){b.body.classList.add("mui-plus")}),c.match(/StreamApp/i)&&(this.os.stream=!0,a(function(){b.body.classList.add("mui-plus-stream")})))}c.call(a,navigator.userAgent)}(mui,document),function(a){"ontouchstart"in window?(a.isTouchable=!0,a.EVENT_START="touchstart",a.EVENT_MOVE="touchmove",a.EVENT_END="touchend"):(a.isTouchable=!1,a.EVENT_START="mousedown",a.EVENT_MOVE="mousemove",a.EVENT_END="mouseup"),a.EVENT_CANCEL="touchcancel",a.EVENT_CLICK="click";var b=1,c={},d={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"},e=function(){return!0},f=function(){return!1},g=function(b,c){return b.detail?b.detail.currentTarget=c:b.detail={currentTarget:c},a.each(d,function(a,c){var d=b[a];b[a]=function(){return this[c]=e,d&&d.apply(b,arguments)},b[c]=f},!0),b},h=function(a){return a&&(a._mid||(a._mid=b++))},i={},j=function(b,d,e,f){return function(e){for(var f=c[b._mid][d],h=[],i=e.target,j={};i&&i!==document&&i!==b&&(!~["click","tap","doubletap","longtap","hold"].indexOf(d)||!i.disabled&&!i.classList.contains("mui-disabled"));i=i.parentNode){var k={};a.each(f,function(c,d){j[c]||(j[c]=a.qsa(c,b)),j[c]&&~j[c].indexOf(i)&&(k[c]||(k[c]=d))},!0),a.isEmptyObject(k)||h.push({element:i,handlers:k})}j=null,e=g(e),a.each(h,function(b,c){i=c.element;var f=i.tagName;if("tap"===d&&"INPUT"!==f&&"TEXTAREA"!==f&&"SELECT"!==f&&(e.preventDefault(),e.detail&&e.detail.gesture&&e.detail.gesture.preventDefault()),a.each(c.handlers,function(b,c){a.each(c,function(a,b){!1===b.call(i,e)&&(e.preventDefault(),e.stopPropagation())},!0)},!0),e.isPropagationStopped())return!1},!0)}},k=function(a,b){var c=i[h(a)],d=[];if(c){if(d=[],b){var e=function(a){return a.type===b};return c.filter(e)}d=c}return d},l=/^(INPUT|TEXTAREA|BUTTON|SELECT)$/;a.fn.on=function(b,d,e){return this.each(function(){var f=this;h(f),h(e);var g=!1,k=c[f._mid]||(c[f._mid]={}),m=k[b]||(k[b]={});if(a.isEmptyObject(m)&&(g=!0),(m[d]||(m[d]=[])).push(e),g){var n=i[h(f)];n||(n=[]);var o=j(f,b,d,e);n.push(o),o.i=n.length-1,o.type=b,i[h(f)]=n,f.addEventListener(b,o),"tap"===b&&f.addEventListener("click",function(a){if(a.target){var b=a.target.tagName;if(!l.test(b))if("A"===b){var c=a.target.href;c&&~c.indexOf("tel:")||a.preventDefault()}else a.preventDefault()}})}})},a.fn.off=function(b,d,e){return this.each(function(){var f=h(this);if(b)if(d)if(e){var g=c[f]&&c[f][b]&&c[f][b][d];a.each(g,function(a,b){if(h(b)===h(e))return g.splice(a,1),!1},!0)}else c[f]&&c[f][b]&&delete c[f][b][d];else c[f]&&delete c[f][b];else c[f]&&delete c[f];c[f]?c[f][b]&&!a.isEmptyObject(c[f][b])||k(this,b).forEach(function(a){this.removeEventListener(a.type,a),delete i[f][a.i]}.bind(this)):k(this).forEach(function(a){this.removeEventListener(a.type,a),delete i[f][a.i]}.bind(this))})}}(mui),function(a,b,c){a.targets={},a.targetHandles=[],a.registerTarget=function(b){return b.index=b.index||1e3,a.targetHandles.push(b),a.targetHandles.sort(function(a,b){return a.index-b.index}),a.targetHandles},b.addEventListener(a.EVENT_START,function(b){for(var d=b.target,e={};d&&d!==c;d=d.parentNode){var f=!1;if(a.each(a.targetHandles,function(c,g){var h=g.name;f||e[h]||!g.hasOwnProperty("handle")?e[h]||!1!==g.isReset&&(a.targets[h]=!1):(a.targets[h]=g.handle(b,d),a.targets[h]&&(e[h]=!0,!0!==g.isContinue&&(f=!0)))}),f)break}}),b.addEventListener("click",function(b){for(var d=b.target,e=!1;d&&d!==c&&("A"!==d.tagName||(a.each(a.targetHandles,function(a,c){c.name;if(c.hasOwnProperty("handle")&&c.handle(b,d))return e=!0,b.preventDefault(),!1}),!e));d=d.parentNode);})}(mui,window,document),function(a){String.prototype.trim===a&&(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")}),Object.setPrototypeOf=Object.setPrototypeOf||function(a,b){return a.__proto__=b,a}}(),function(){function a(a,b){b=b||{bubbles:!1,cancelable:!1,detail:void 0};var c=document.createEvent("Events"),d=!0;for(var e in b)"bubbles"===e?d=!!b[e]:c[e]=b[e];return c.initEvent(a,d,!0),c}void 0===window.CustomEvent&&(a.prototype=window.Event.prototype,window.CustomEvent=a)}(),Function.prototype.bind=Function.prototype.bind||function(a){var b=Array.prototype.splice.call(arguments,1),c=this,d=function(){var e=b.concat(Array.prototype.splice.call(arguments,0));if(!(this instanceof d))return c.apply(a,e);c.apply(this,e)};return d.prototype=c.prototype,d},function(a){"classList"in a.documentElement||!Object.defineProperty||"undefined"==typeof HTMLElement||Object.defineProperty(HTMLElement.prototype,"classList",{get:function(){function a(a){return function(c){var d=b.className.split(/\s+/),e=d.indexOf(c);a(d,e,c),b.className=d.join(" ")}}var b=this,c={add:a(function(a,b,c){~b||a.push(c)}),remove:a(function(a,b){~b&&a.splice(b,1)}),toggle:a(function(a,b,c){~b?a.splice(b,1):a.push(c)}),contains:function(a){return!!~b.className.split(/\s+/).indexOf(a)},item:function(a){return b.className.split(/\s+/)[a]||null}};return Object.defineProperty(c,"length",{get:function(){return b.className.split(/\s+/).length}}),c}})}(document),function(a){if(!a.requestAnimationFrame){var b=0;a.requestAnimationFrame=a.webkitRequestAnimationFrame||function(c,d){var e=(new Date).getTime(),f=Math.max(0,16.7-(e-b)),g=a.setTimeout(function(){c(e+f)},f);return b=e+f,g},a.cancelAnimationFrame=a.webkitCancelAnimationFrame||a.webkitCancelRequestAnimationFrame||function(a){clearTimeout(a)}}}(window),function(a,b,c){if((a.os.android||a.os.ios)&&!b.FastClick){var d=function(a,b){return"LABEL"===b.tagName&&b.parentNode&&(b=b.parentNode.querySelector("input")),!(!b||"radio"!==b.type&&"checkbox"!==b.type||b.disabled)&&b};a.registerTarget({name:c,index:40,handle:d,target:!1});var e=function(c){var d=a.targets.click;if(d){var e,f;document.activeElement&&document.activeElement!==d&&document.activeElement.blur(),f=c.detail.gesture.changedTouches[0],e=document.createEvent("MouseEvents"),e.initMouseEvent("click",!0,!0,b,1,f.screenX,f.screenY,f.clientX,f.clientY,!1,!1,!1,!1,0,null),e.forwardedTouchEvent=!0,d.dispatchEvent(e),c.detail&&c.detail.gesture.preventDefault()}};b.addEventListener("tap",e),b.addEventListener("doubletap",e),b.addEventListener("click",function(b){if(a.targets.click&&!b.forwardedTouchEvent)return b.stopImmediatePropagation?b.stopImmediatePropagation():b.propagationStopped=!0,b.stopPropagation(),b.preventDefault(),!1},!0)}}(mui,window,"click"),function(a,b){a(function(){if(a.os.ios){var c="mui-focusin";b.addEventListener("focusin",function(d){if(!(a.os.plus&&window.plus&&plus.webview.currentWebview().children().length>0)){var e=d.target;if(e.tagName&&("TEXTAREA"===e.tagName||"INPUT"===e.tagName&&("text"===e.type||"search"===e.type||"number"===e.type))){if(e.disabled||e.readOnly)return;b.body.classList.add(c);for(var f=!1;e&&e!==b;e=e.parentNode){var g=e.classList;if(g&&g.contains("mui-bar-tab")||g.contains("mui-bar-footer")||g.contains("mui-bar-footer-secondary")||g.contains("mui-bar-footer-secondary-tab")){f=!0;break}}if(f){var h=b.body.scrollHeight,i=b.body.scrollLeft;setTimeout(function(){window.scrollTo(i,h)},20)}}}}),b.addEventListener("focusout",function(a){var d=b.body.classList;d.contains(c)&&(d.remove(c),setTimeout(function(){window.scrollTo(b.body.scrollLeft,b.body.scrollTop)},20))})}})}(mui,document),function(a){a.namespace="mui",a.classNamePrefix=a.namespace+"-",a.classSelectorPrefix="."+a.classNamePrefix,a.className=function(b){return a.classNamePrefix+b},a.classSelector=function(b){return b.replace(/\./g,a.classSelectorPrefix)},a.eventName=function(b,c){return b+(a.namespace?"."+a.namespace:"")+(c?"."+c:"")}}(mui),function(a,b){a.gestures={session:{}},a.preventDefault=function(a){a.preventDefault()},a.stopPropagation=function(a){a.stopPropagation()},a.addGesture=function(b){return a.addAction("gestures",b)};var c=Math.round,d=Math.abs,e=Math.sqrt,f=(Math.atan,Math.atan2),g=function(a,b,c){c||(c=["x","y"]);var d=b[c[0]]-a[c[0]],f=b[c[1]]-a[c[1]];return e(d*d+f*f)},h=function(a,b){if(a.length>=2&&b.length>=2){var c=["pageX","pageY"];return g(b[1],b[0],c)/g(a[1],a[0],c)}return 1},i=function(a,b,c){c||(c=["x","y"]);var d=b[c[0]]-a[c[0]],e=b[c[1]]-a[c[1]];return 180*f(e,d)/Math.PI},j=function(a,b){return a===b?"":d(a)>=d(b)?a>0?"left":"right":b>0?"up":"down"},k=function(a,b){var c=["pageX","pageY"];return i(b[1],b[0],c)-i(a[1],a[0],c)},l=function(a,b,c){return{x:b/a||0,y:c/a||0}},m=function(b,c){a.gestures.stoped||a.doAction("gestures",function(d,e){a.gestures.stoped||!1!==a.options.gestureConfig[e.name]&&e.handle(b,c)})},n=function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},o=function(a,b,c){for(var d=[],e=[],f=0;f<a.length;){var g=b?a[f][b]:a[f];e.indexOf(g)<0&&d.push(a[f]),e[f]=g,f++}return c&&(d=b?d.sort(function(a,c){return a[b]>c[b]}):d.sort()),d},p=function(a){var b=a.length;if(1===b)return{x:c(a[0].pageX),y:c(a[0].pageY)};for(var d=0,e=0,f=0;f<b;)d+=a[f].pageX,e+=a[f].pageY,f++;return{x:c(d/b),y:c(e/b)}},q=function(){return a.options.gestureConfig.pinch},r=function(b){for(var d=[],e=0;e<b.touches.length;)d[e]={pageX:c(b.touches[e].pageX),pageY:c(b.touches[e].pageY)},e++;return{timestamp:a.now(),gesture:b.gesture,touches:d,center:p(b.touches),deltaX:b.deltaX,deltaY:b.deltaY}},s=function(b){var c=a.gestures.session,d=b.center,e=c.offsetDelta||{},f=c.prevDelta||{},g=c.prevTouch||{};b.gesture.type!==a.EVENT_START&&b.gesture.type!==a.EVENT_END||(f=c.prevDelta={x:g.deltaX||0,y:g.deltaY||0},e=c.offsetDelta={x:d.x,y:d.y}),b.deltaX=f.x+(d.x-e.x),b.deltaY=f.y+(d.y-e.y)},t=function(b){var c=a.gestures.session,d=b.touches,e=d.length;c.firstTouch||(c.firstTouch=r(b)),q()&&e>1&&!c.firstMultiTouch?c.firstMultiTouch=r(b):1===e&&(c.firstMultiTouch=!1);var f=c.firstTouch,l=c.firstMultiTouch,m=l?l.center:f.center,n=b.center=p(d);b.timestamp=a.now(),b.deltaTime=b.timestamp-f.timestamp,b.angle=i(m,n),b.distance=g(m,n),s(b),b.offsetDirection=j(b.deltaX,b.deltaY),b.scale=l?h(l.touches,d):1,b.rotation=l?k(l.touches,d):0,v(b)},u=25,v=function(b){var c,e,f,g,h=a.gestures.session,i=h.lastInterval||b,k=b.timestamp-i.timestamp;if(b.gesture.type!=a.EVENT_CANCEL&&(k>u||void 0===i.velocity)){var m=i.deltaX-b.deltaX,n=i.deltaY-b.deltaY,o=l(k,m,n);e=o.x,f=o.y,c=d(o.x)>d(o.y)?o.x:o.y,g=j(m,n)||i.direction,h.lastInterval=b}else c=i.velocity,e=i.velocityX,f=i.velocityY,g=i.direction;b.velocity=c,b.velocityX=e,b.velocityY=f,b.direction=g},w={},x=function(a){for(var b=0;b<a.length;b++)!a.identifier&&(a.identifier=0);return a},y=function(b,c){var d=x(a.slice.call(b.touches||[b])),e=b.type,f=[],g=[];if(e!==a.EVENT_START&&e!==a.EVENT_MOVE||1!==d.length){var h=0,f=[],g=[],i=x(a.slice.call(b.changedTouches||[b]));c.target=b.target;var j=a.gestures.session.target||b.target;if(f=d.filter(function(a){return n(a.target,j)}),e===a.EVENT_START)for(h=0;h<f.length;)w[f[h].identifier]=!0,h++;for(h=0;h<i.length;)w[i[h].identifier]&&g.push(i[h]),e!==a.EVENT_END&&e!==a.EVENT_CANCEL||delete w[i[h].identifier],h++;if(!g.length)return!1}else w[d[0].identifier]=!0,f=d,g=d,c.target=b.target;f=o(f.concat(g),"identifier",!0);var k=f.length,l=g.length;return e===a.EVENT_START&&k-l==0&&(c.isFirst=!0,a.gestures.touch=a.gestures.session={target:b.target}),c.isFinal=(e===a.EVENT_END||e===a.EVENT_CANCEL)&&k-l==0,c.touches=f,c.changedTouches=g,!0},z=function(b){var c={gesture:b};y(b,c)&&(t(c),m(b,c),a.gestures.session.prevTouch=c,b.type!==a.EVENT_END||a.isTouchable||(a.gestures.touch=a.gestures.session={}))},A=function(){var a=!1;try{var c=Object.defineProperty({},"passive",{get:function(){a=!0}});b.addEventListener("testPassiveListener",null,c)}catch(a){}return a}();b.addEventListener(a.EVENT_START,z),b.addEventListener(a.EVENT_MOVE,z,!!A&&{passive:!1,capture:!1}),b.addEventListener(a.EVENT_END,z),b.addEventListener(a.EVENT_CANCEL,z),b.addEventListener(a.EVENT_CLICK,function(b){(a.os.android||a.os.ios)&&(a.targets.popover&&b.target===a.targets.popover||a.targets.tab||a.targets.offcanvas||a.targets.modal)&&b.preventDefault()},!0),a.isScrolling=!1;var B=null;b.addEventListener("scroll",function(){a.isScrolling=!0,B&&clearTimeout(B),B=setTimeout(function(){a.isScrolling=!1},250)})}(mui,window),function(a,b){var c=0,d=function(d,e){var f=a.gestures.session,g=this.options,h=a.now();switch(d.type){case a.EVENT_MOVE:h-c>300&&(c=h,f.flickStart=e.center);break;case a.EVENT_END:case a.EVENT_CANCEL:e.flick=!1,f.flickStart&&g.flickMaxTime>h-c&&e.distance>g.flickMinDistince&&(e.flick=!0,e.flickTime=h-c,e.flickDistanceX=e.center.x-f.flickStart.x,e.flickDistanceY=e.center.y-f.flickStart.y,a.trigger(f.target,b,e),a.trigger(f.target,b+e.direction,e))}};a.addGesture({name:b,index:5,handle:d,options:{flickMaxTime:200,flickMinDistince:10}})}(mui,"flick"),function(a,b){var c=function(c,d){var e=a.gestures.session;if(c.type===a.EVENT_END||c.type===a.EVENT_CANCEL){var f=this.options;d.swipe=!1,d.direction&&f.swipeMaxTime>d.deltaTime&&d.distance>f.swipeMinDistince&&(d.swipe=!0,a.trigger(e.target,b,d),a.trigger(e.target,b+d.direction,d))}};a.addGesture({name:b,index:10,handle:c,options:{swipeMaxTime:300,swipeMinDistince:18}})}(mui,"swipe"),function(a,b){var c=function(c,d){var e=a.gestures.session;switch(c.type){case a.EVENT_START:break;case a.EVENT_MOVE:if(!d.direction||!e.target)return;e.lockDirection&&e.startDirection&&e.startDirection&&e.startDirection!==d.direction&&("up"===e.startDirection||"down"===e.startDirection?d.direction=d.deltaY<0?"up":"down":d.direction=d.deltaX<0?"left":"right"),e.drag||(e.drag=!0,a.trigger(e.target,b+"start",d)),a.trigger(e.target,b,d),a.trigger(e.target,b+d.direction,d);break;case a.EVENT_END:case a.EVENT_CANCEL:e.drag&&d.isFinal&&a.trigger(e.target,b+"end",d)}};a.addGesture({name:b,index:20,handle:c,options:{fingers:1}})}(mui,"drag"),function(a,b){var c,d,e=function(e,f){var g=a.gestures.session,h=this.options;switch(e.type){case a.EVENT_END:if(!f.isFinal)return;var i=g.target;if(!i||i.disabled||i.classList&&i.classList.contains("mui-disabled"))return;if(f.distance<h.tapMaxDistance&&f.deltaTime<h.tapMaxTime){if(a.options.gestureConfig.doubletap&&c&&c===i&&d&&f.timestamp-d<h.tapMaxInterval)return a.trigger(i,"doubletap",f),d=a.now(),void(c=i);a.trigger(i,b,f),d=a.now(),c=i}}};a.addGesture({name:b,index:30,handle:e,options:{fingers:1,tapMaxInterval:300,tapMaxDistance:5,tapMaxTime:250}})}(mui,"tap"),function(a,b){var c,d=function(d,e){var f=a.gestures.session,g=this.options;switch(d.type){case a.EVENT_START:clearTimeout(c),c=setTimeout(function(){a.trigger(f.target,b,e)},g.holdTimeout);break;case a.EVENT_MOVE:e.distance>g.holdThreshold&&clearTimeout(c);break;case a.EVENT_END:case a.EVENT_CANCEL:clearTimeout(c)}};a.addGesture({name:b,index:10,handle:d,options:{fingers:1,holdTimeout:500,holdThreshold:2}})}(mui,"longtap"),function(a,b){var c,d=function(d,e){var f=a.gestures.session,g=this.options;switch(d.type){case a.EVENT_START:a.options.gestureConfig.hold&&(c&&clearTimeout(c),c=setTimeout(function(){e.hold=!0,a.trigger(f.target,b,e)},g.holdTimeout));break;case a.EVENT_MOVE:break;case a.EVENT_END:case a.EVENT_CANCEL:c&&(clearTimeout(c)&&(c=null),a.trigger(f.target,"release",e))}};a.addGesture({name:b,index:10,handle:d,options:{fingers:1,holdTimeout:0}})}(mui,"hold"),function(a,b){var c=function(c,d){var e=this.options,f=a.gestures.session;switch(c.type){case a.EVENT_START:break;case a.EVENT_MOVE:if(a.options.gestureConfig.pinch){if(d.touches.length<2)return;f.pinch||(f.pinch=!0,a.trigger(f.target,b+"start",d)),a.trigger(f.target,b,d);var g=d.scale,h=d.rotation,i=void 0===d.lastScale?1:d.lastScale,j=1e-12;g>i?(i=g-j,a.trigger(f.target,b+"out",d)):g<i&&(i=g+j,a.trigger(f.target,b+"in",d)),Math.abs(h)>e.minRotationAngle&&a.trigger(f.target,"rotate",d)}break;case a.EVENT_END:case a.EVENT_CANCEL:a.options.gestureConfig.pinch&&f.pinch&&2===d.touches.length&&(f.pinch=!1,a.trigger(f.target,b+"end",d))}};a.addGesture({name:b,index:10,handle:c,options:{minRotationAngle:0}})}(mui,"pinch"),function(a){function b(a,b){var c="MUI_SCROLL_POSITION_"+document.location.href+"_"+b.src,d=parseFloat(localStorage.getItem(c))||0;d&&function(a){b.onload=function(){window.scrollTo(0,a)}}(d),setInterval(function(){var a=window.scrollY;d!==a&&(localStorage.setItem(c,a+""),d=a)},100)}a.global=a.options={gestureConfig:{tap:!0,doubletap:!1,longtap:!1,hold:!1,flick:!0,swipe:!0,drag:!0,pinch:!1}},a.initGlobal=function(b){return a.options=a.extend(!0,a.global,b),this};var c={};a.init=function(b){return a.options=a.extend(!0,a.global,b||{}),a.ready(function(){a.doAction("inits",function(b,d){!(c[d.name]&&!d.repeat)&&(d.handle.call(a),c[d.name]=!0)})}),this},a.addInit=function(b){return a.addAction("inits",b)},a.addInit({name:"iframe",index:100,handle:function(){var b=a.options,c=b.subpages||[];!a.os.plus&&c.length&&d(c[0])}});var d=function(c){var d=document.createElement("div");d.className="mui-iframe-wrapper";var e=c.styles||{};"string"!=typeof e.top&&(e.top="0px"),"string"!=typeof e.bottom&&(e.bottom="0px"),d.style.top=e.top,d.style.bottom=e.bottom;var f=document.createElement("iframe");f.src=c.url,f.id=c.id||c.url,f.name=f.id,d.appendChild(f),document.body.appendChild(d),a.os.wechat&&b(d,f)};a(function(){var b=document.body.classList,c=[];a.os.ios?(c.push({os:"ios",version:a.os.version}),b.add("mui-ios")):a.os.android&&(c.push({os:"android",version:a.os.version}),b.add("mui-android")),a.os.wechat&&(c.push({os:"wechat",version:a.os.wechat.version}),b.add("mui-wechat")),c.length&&a.each(c,function(c,d){var e="";d.version&&a.each(d.version.split("."),function(c,f){e=e+(e?"-":"")+f,b.add(a.className(d.os+"-"+e))})})})}(mui),function(a){var b={swipeBack:!1,preloadPages:[],preloadLimit:10,keyEventBind:{backbutton:!0,menubutton:!0},titleConfig:{height:"44px",backgroundColor:"#f7f7f7",bottomBorderColor:"#cccccc",title:{text:"",position:{top:0,left:0,width:"100%",height:"100%"},styles:{color:"#000000",align:"center",family:"'Helvetica Neue',Helvetica,sans-serif",size:"17px",style:"normal",weight:"normal",fontSrc:""}},back:{image:{base64Data:"",imgSrc:"",sprite:{top:"0px",left:"0px",width:"100%",height:"100%"},position:{top:"10px",left:"10px",width:"24px",height:"24px"}}}}},c={event:"titleUpdate",autoShow:!0,duration:300,aniShow:"slide-in-right",extras:{}};a.options.show&&(c=a.extend(!0,c,a.options.show)),a.currentWebview=null,a.extend(!0,a.global,b),a.extend(!0,a.options,b),a.waitingOptions=function(b){return a.extend(!0,{},{autoShow:!0,title:"",modal:!1},b)},a.showOptions=function(b){return a.extend(!0,{},c,b)},a.windowOptions=function(b){return a.extend({scalable:!1,bounce:""},b)},a.plusReady=function(a){return window.plus?setTimeout(function(){a()},0):document.addEventListener("plusready",function(){a()},!1),this},a.fire=function(b,c,d){if(b){if(void 0===d)d="";else{if("boolean"==typeof d||"number"==typeof d)return void b.evalJS("typeof mui!=='undefined'&&mui.receive('"+c+"',"+d+")");(a.isPlainObject(d)||a.isArray(d))&&(d=JSON.stringify(d||{}).replace(/\'/g,"\\u0027").replace(/\\/g,"\\u005c"))}b.evalJS("typeof mui!=='undefined'&&mui.receive('"+c+"','"+d+"')")}},a.receive=function(b,c){if(b){try{c&&"string"==typeof c&&(c=JSON.parse(c))}catch(a){}a.trigger(document,b,c)}};var d=function(b){if(!b.preloaded){a.fire(b,"preload");for(var c=b.children(),d=0;d<c.length;d++)a.fire(c[d],"preload");b.preloaded=!0}},e=function(b,c,d){if(d){if(!b[c+"ed"]){a.fire(b,c);for(var e=b.children(),f=0;f<e.length;f++)a.fire(e[f],c);b[c+"ed"]=!0}}else{a.fire(b,c);for(var e=b.children(),f=0;f<e.length;f++)a.fire(e[f],c)}};a.openWindow=function(b,f,g){if("object"==typeof b?(g=b,b=g.url,f=g.id||b):"object"==typeof f?(g=f,f=g.id||b):f=f||b,!a.os.plus)return void(a.os.ios||a.os.android?window.top.location.href=b:window.parent.location.href=b);if(window.plus){g=g||{};var h,i,j=g.params||{},k=null,l=null;if(a.webviews[f]?(l=a.webviews[f],plus.webview.getWebviewById(f)&&(k=l.webview)):!0!==g.createNew&&(k=plus.webview.getWebviewById(f)),k)return h=l?l.show:c,h=g.show?a.extend(h,g.show):h,h.autoShow&&k.show(h.aniShow,h.duration,function(){d(k),e(k,"pagebeforeshow",!1)}),l&&l.afterShowMethodName&&k.evalJS(l.afterShowMethodName+"('"+JSON.stringify(j)+"')"),k;if(!b)throw new Error("webview["+f+"] does not exist");var m=a.waitingOptions(g.waiting);if(m.autoShow&&(i=plus.nativeUI.showWaiting(m.title,m.options)),g=a.extend(g,{id:f,url:b}),k=a.createWindow(g),h=a.showOptions(g.show),h.autoShow){var n=function(){i&&i.close(),k.show(h.aniShow,h.duration,function(){},h.extras),g.afterShowMethodName&&k.evalJS(g.afterShowMethodName+"('"+JSON.stringify(j)+"')")};k.addEventListener(h.event,n,!1),k.addEventListener("loaded",function(){d(k),e(k,"pagebeforeshow",!1)},!1)}return k}},a.openWindowWithTitle=function(b,f){b=b||{};var g=b.url,h=b.id||g;if(!a.os.plus)return void(a.os.ios||a.os.android?window.top.location.href=g:window.parent.location.href=g);if(window.plus){var i,j,k=b.params||{},l=null,m=null;if(a.webviews[h]?(m=a.webviews[h],plus.webview.getWebviewById(h)&&(l=m.webview)):!0!==b.createNew&&(l=plus.webview.getWebviewById(h)),l)return i=m?m.show:c,i=b.show?a.extend(i,b.show):i,i.autoShow&&l.show(i.aniShow,i.duration,function(){d(l),e(l,"pagebeforeshow",!1)}),m&&m.afterShowMethodName&&l.evalJS(m.afterShowMethodName+"('"+JSON.stringify(k)+"')"),l;if(!g)throw new Error("webview["+h+"] does not exist");var n=a.waitingOptions(b.waiting);if(n.autoShow&&(j=plus.nativeUI.showWaiting(n.title,n.options)),b=a.extend(b,{id:h,url:g}),l=a.createWindow(b),f){a.extend(!0,a.options.titleConfig,f);var o=a.options.titleConfig.id?a.options.titleConfig.id:h+"_title",p=new plus.nativeObj.View(o,{top:0,height:a.options.titleConfig.height,width:"100%",dock:"top",position:"dock"});p.drawRect(a.options.titleConfig.backgroundColor);var q=parseInt(a.options.titleConfig.height)-1;if(p.drawRect(a.options.titleConfig.bottomBorderColor,{top:q+"px",left:"0px"}),a.options.titleConfig.title.text){var r=a.options.titleConfig.title;p.drawText(r.text,r.position,r.styles)}var s=a.options.titleConfig.back,t=null,u=s.image;if(u.base64Data||u.imgSrc){t={left:parseInt(u.position.left),right:parseInt(u.position.left)+parseInt(u.position.width)};var v=new plus.nativeObj.Bitmap(h+"_back");u.base64Data?v.loadBase64Data(u.base64Data):v.load(u.imgSrc),p.drawBitmap(v,u.sprite,u.position)}p.setTouchEventRect({top:"0px",left:"0px",width:"100%",height:"100%"}),p.interceptTouchEvent(!0),p.addEventListener("click",function(b){var c=b.clientX;t&&c>t.left&&c<t.right&&(s.click&&a.isFunction(s.click)?s.click():l.evalJS("window.mui&&mui.back();"))},!1),l.append(p)}return i=a.showOptions(b.show),i.autoShow&&l.addEventListener(i.event,function(){j&&j.close(),l.show(i.aniShow,i.duration,function(){},i.extras)},!1),l}},a.createWindow=function(b,c){if(window.plus){var d,e=b.id||b.url;if(b.preload){a.webviews[e]&&a.webviews[e].webview.getURL()?d=a.webviews[e].webview:(!0!==b.createNew&&(d=plus.webview.getWebviewById(e)),d||(d=plus.webview.create(b.url,e,a.windowOptions(b.styles),a.extend({preload:!0},b.extras)),b.subpages&&a.each(b.subpages,function(b,c){var e=c.id||c.url;if(e){var f=plus.webview.getWebviewById(e);f||(f=plus.webview.create(c.url,e,a.windowOptions(c.styles),a.extend({preload:!0},c.extras))),d.append(f)}}))),a.webviews[e]={webview:d,preload:!0,show:a.showOptions(b.show),afterShowMethodName:b.afterShowMethodName};var f=a.data.preloads,g=f.indexOf(e);if(~g&&f.splice(g,1),f.push(e),f.length>a.options.preloadLimit){var h=a.data.preloads.shift(),i=a.webviews[h];i&&i.webview&&a.closeAll(i.webview),delete a.webviews[h]}}else!1!==c&&(d=plus.webview.create(b.url,e,a.windowOptions(b.styles),b.extras),b.subpages&&a.each(b.subpages,function(b,c){var e=c.id||c.url,f=plus.webview.getWebviewById(e);f||(f=plus.webview.create(c.url,e,a.windowOptions(c.styles),c.extras)),d.append(f)}));return d}},a.preload=function(b){return b.preload||(b.preload=!0),a.createWindow(b)},a.closeOpened=function(b){var c=b.opened();if(c)for(var d=0,e=c.length;d<e;d++){var f=c[d],g=f.opened();g&&g.length>0?(a.closeOpened(f),f.close("none")):f.parent()!==b&&f.close("none")}},a.closeAll=function(b,c){a.closeOpened(b),c?b.close(c):b.close()},a.createWindows=function(b){a.each(b,function(b,c){a.createWindow(c,!1)})},a.appendWebview=function(b){if(window.plus){var c,d=b.id||b.url;return a.webviews[d]||(plus.webview.getWebviewById(d)||(c=plus.webview.create(b.url,d,b.styles,b.extras)),plus.webview.currentWebview().append(c),a.webviews[d]=b),c}},a.webviews={},a.data.preloads=[],a.plusReady(function(){a.currentWebview=plus.webview.currentWebview()}),a.addInit({name:"5+",index:100,handle:function(){var b=a.options,c=b.subpages||[];a.os.plus&&a.plusReady(function(){a.each(c,function(b,c){a.appendWebview(c)}),plus.webview.currentWebview()===plus.webview.getWebviewById(plus.runtime.appid)&&setTimeout(function(){d(plus.webview.currentWebview())},300),a.os.ios&&a.options.statusBarBackground&&plus.navigator.setStatusBarBackground(a.options.statusBarBackground),a.os.android&&parseFloat(a.os.version)<4.4&&null==plus.webview.currentWebview().parent()&&document.addEventListener("resume",function(){var a=document.body;a.style.display="none",setTimeout(function(){a.style.display=""},10)})})}}),window.addEventListener("preload",function(){var b=a.options.preloadPages||[];a.plusReady(function(){a.each(b,function(b,c){a.createWindow(a.extend(c,{preload:!0}))})})}),a.supportStatusbarOffset=function(){return a.os.plus&&a.os.ios&&parseFloat(a.os.version)>=7},a.ready(function(){a.supportStatusbarOffset()&&document.body.classList.add("mui-statusbar")})}(mui),function(a,b){a.addBack=function(b){return a.addAction("backs",b)},a.addBack({name:"browser",index:100,handle:function(){return b.history.length>1&&(b.history.back(),!0)}}),a.back=function(){"function"==typeof a.options.beforeback&&!1===a.options.beforeback()||a.doAction("backs")},b.addEventListener("tap",function(b){var c=a.targets.action;c&&c.classList.contains("mui-action-back")&&(a.back(),a.targets.action=!1)}),b.addEventListener("swiperight",function(b){var c=b.detail;!0===a.options.swipeBack&&Math.abs(c.angle)<3&&a.back()})}(mui,window),function(a,b){a.os.plus&&a.os.android&&a.addBack({name:"mui",index:5,handle:function(){if(a.targets._popover&&a.targets._popover.classList.contains("mui-active"))return a(a.targets._popover).popover("hide"),!0;var b=document.querySelector(".mui-off-canvas-wrap.mui-active");if(b)return a(b).offCanvas("close"),!0;var c=a.isFunction(a.getPreviewImage)&&a.getPreviewImage();return c&&c.isShown()?(c.close(),!0):a.closePopup()}}),a.__back__first=null,a.addBack({name:"5+",index:10,handle:function(){if(!b.plus)return!1;var c=plus.webview.currentWebview(),d=c.parent();return d?d.evalJS("mui&&mui.back();"):c.canBack(function(d){d.canBack?b.history.back():c.id===plus.runtime.appid?a.__back__first?(new Date).getTime()-a.__back__first<2e3&&plus.runtime.quit():(a.__back__first=(new Date).getTime(),mui.toast("鍐嶆寜涓�娆¢��鍑哄簲鐢�"),setTimeout(function(){a.__back__first=null},2e3)):c.preload?c.hide("auto"):a.closeAll(c)}),!0}}),a.menu=function(){var c=document.querySelector(".mui-action-menu");if(c)a.trigger(c,a.EVENT_START),a.trigger(c,"tap");else if(b.plus){var d=a.currentWebview,e=d.parent();e&&e.evalJS("mui&&mui.menu();")}};var c=function(){a.back()},d=function(){a.menu()};a.plusReady(function(){a.options.keyEventBind.backbutton&&plus.key.addEventListener("backbutton",c,!1),a.options.keyEventBind.menubutton&&plus.key.addEventListener("menubutton",d,!1)}),a.addInit({name:"keyEventBind",index:1e3,handle:function(){a.plusReady(function(){a.options.keyEventBind.backbutton||plus.key.removeEventListener("backbutton",c),a.options.keyEventBind.menubutton||plus.key.removeEventListener("menubutton",d)})}})}(mui,window),function(a){a.addInit({name:"pullrefresh",index:1e3,handle:function(){var b=a.options,c=b.pullRefresh||{},d=c.down&&c.down.hasOwnProperty("callback"),e=c.up&&c.up.hasOwnProperty("callback");if(d||e){var f=c.container;if(f){var g=a(f);1===g.length&&(a.os.plus?d&&"circle"==c.down.style?a.plusReady(function(){a.fn.pullRefresh=a.fn.pullRefresh_native,g.pullRefresh(c)}):a.os.android?a.plusReady(function(){a.fn.pullRefresh=a.fn.pullRefresh_native;var b=plus.webview.currentWebview();if(!1===window.__NWin_Enable__)g.pullRefresh(c);else{if(e){var f={};f.up=c.up,f.webviewId=b.id||b.getURL(),g.pullRefresh(f)}if(d){var h=b.parent(),i=b.id||b.getURL();if(h){e||g.pullRefresh({webviewId:i});var j={webviewId:i};j.down=a.extend({},c.down),j.down.callback="_CALLBACK",h.evalJS("mui.fn.pullRefresh=mui.fn.pullRefresh_native"),h.evalJS("mui&&mui(document.querySelector('.mui-content')).pullRefresh('"+JSON.stringify(j)+"')")}}}}):g.pullRefresh(c):g.pullRefresh(c))}}}})}(mui),function(a,b,c){var d="application/json",e="text/html",f=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,g=/^(?:text|application)\/javascript/i,h=/^(?:text|application)\/xml/i,i=/^\s*$/;a.ajaxSettings={type:"GET",beforeSend:a.noop,success:a.noop,error:a.noop,complete:a.noop,context:null,xhr:function(a){return new b.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript, application/x-javascript",json:d,xml:"application/xml, text/xml",html:e,text:"text/plain"},timeout:0,processData:!0,cache:!0};var j=function(a,b){var c=b.context;if(!1===b.beforeSend.call(c,a,b))return!1},k=function(a,b,c){c.success.call(c.context,a,"success",b),m("success",b,c)},l=function(a,b,c,d){d.error.call(d.context,c,b,a),m(b,c,d)},m=function(a,b,c){c.complete.call(c.context,b,a)},n=function(b,c,d,e){var f,g=a.isArray(c),h=a.isPlainObject(c);a.each(c,function(c,i){f=a.type(i),e&&(c=d?e:e+"["+(h||"object"===f||"array"===f?c:"")+"]"),!e&&g?b.add(i.name,i.value):"array"===f||!d&&"object"===f?n(b,i,d,c):b.add(c,i)})},o=function(b){if(b.processData&&b.data&&"string"!=typeof b.data){var e=b.contentType;!e&&b.headers&&(e=b.headers["Content-Type"]),e&&~e.indexOf(d)?b.data=JSON.stringify(b.data):b.data=a.param(b.data,b.traditional)}!b.data||b.type&&"GET"!==b.type.toUpperCase()||(b.url=p(b.url,b.data),b.data=c)},p=function(a,b){return""===b?a:(a+"&"+b).replace(/[&?]{1,2}/,"?")},q=function(a){return a&&(a=a.split(";",2)[0]),a&&(a===e?"html":a===d?"json":g.test(a)?"script":h.test(a)&&"xml")||"text"},r=function(b,d,e,f){return a.isFunction(d)&&(f=e,e=d,d=c),a.isFunction(e)||(f=e,e=c),{url:b,data:d,success:e,dataType:f}};a.ajax=function(d,e){"object"==typeof d&&(e=d,d=c);var f=e||{};f.url=d||f.url;for(var g in a.ajaxSettings)f[g]===c&&(f[g]=a.ajaxSettings[g]);o(f);var h=f.dataType;!1!==f.cache&&(e&&!0===e.cache||"script"!==h)||(f.url=p(f.url,"_="+a.now()));var m=f.accepts[h&&h.toLowerCase()],n={},r=function(a,b){n[a.toLowerCase()]=[a,b]},s=/^([\w-]+:)\/\//.test(f.url)?RegExp.$1:b.location.protocol,t=f.xhr(f);"file:"===location.protocol&&a.os.ios&&b.webkit&&b.webkit.messageHandlers&&!(t instanceof plus.net.XMLHttpRequest)&&console.error("褰撳墠杩愯鐜涓篧KWebview锛岄渶鍦╬lusReady浜嬩欢瑙﹀彂鍚庡啀璋冪敤mui.ajax锛屽惁鍒欏彲鑳戒細鎵ц澶辫触鎴栨姤Script error鐨勯敊璇�");var u,v=t.setRequestHeader;if(r("X-Requested-With","XMLHttpRequest"),r("Accept",m||"*/*"),(m=f.mimeType||m)&&(m.indexOf(",")>-1&&(m=m.split(",",2)[0]),t.overrideMimeType&&t.overrideMimeType(m)),(f.contentType||!1!==f.contentType&&f.data&&"GET"!==f.type.toUpperCase())&&r("Content-Type",f.contentType||"application/x-www-form-urlencoded"),f.headers)for(var w in f.headers)r(w,f.headers[w]);if(t.setRequestHeader=r,t.onreadystatechange=function(){if(4===t.readyState){t.onreadystatechange=a.noop,clearTimeout(u);var b,c=!1,d="file:"===s;if(t.status>=200&&t.status<300||304===t.status||0===t.status&&d&&t.responseText){h=h||q(f.mimeType||t.getResponseHeader("content-type")),b=t.responseText;try{"script"===h?(0,eval)(b):"xml"===h?b=t.responseXML:"json"===h&&(b=i.test(b)?null:a.parseJSON(b))}catch(a){c=a}c?l(c,"parsererror",t,f):k(b,t,f)}else{var e=t.status?"error":"abort",g=t.statusText||null;d&&(e="error",g="404"),l(g,e,t,f)}}},!1===j(t,f))return t.abort(),l(null,"abort",t,f),t;if(f.xhrFields)for(var w in f.xhrFields)t[w]=f.xhrFields[w];var x=!("async"in f)||f.async;t.open(f.type.toUpperCase(),f.url,x,f.username,f.password);for(var w in n)n.hasOwnProperty(w)&&v.apply(t,n[w]);return f.timeout>0&&(u=setTimeout(function(){t.onreadystatechange=a.noop,t.abort(),l(null,"timeout",t,f)},f.timeout)),t.send(f.data?f.data:null),t},a.param=function(a,b){var c=[];return c.add=function(a,b){this.push(encodeURIComponent(a)+"="+encodeURIComponent(b))},n(c,a,b),c.join("&").replace(/%20/g,"+")},a.get=function(){return a.ajax(r.apply(null,arguments))},a.post=function(){var b=r.apply(null,arguments);return b.type="POST",a.ajax(b)},a.getJSON=function(){var b=r.apply(null,arguments);return b.dataType="json",a.ajax(b)},a.fn.load=function(b,c,d){if(!this.length)return this;var e,g=this,h=b.split(/\s/),i=r(b,c,d),j=i.success;return h.length>1&&(i.url=h[0],e=h[1]),i.success=function(a){if(e){var b=document.createElement("div");b.innerHTML=a.replace(f,"");var c=document.createElement("div"),d=b.querySelectorAll(e);if(d&&d.length>0)for(var h=0,i=d.length;h<i;h++)c.appendChild(d[h]);g[0].innerHTML=c.innerHTML}else g[0].innerHTML=a;j&&j.apply(g,arguments)},a.ajax(i),this}}(mui,window),function(a){var b=document.createElement("a");b.href=window.location.href,a.plusReady(function(){a.ajaxSettings=a.extend(a.ajaxSettings,{xhr:function(c){if(c.crossDomain)return new plus.net.XMLHttpRequest;if("file:"!==b.protocol){var d=document.createElement("a");if(d.href=c.url,d.href=d.href,c.crossDomain=b.protocol+"//"+b.host!=d.protocol+"//"+d.host,c.crossDomain)return new plus.net.XMLHttpRequest}return a.os.ios&&window.webkit&&window.webkit.messageHandlers?new plus.net.XMLHttpRequest:new window.XMLHttpRequest}})})}(mui),function(a,b,c){a.offset=function(a){var d={top:0,left:0};return typeof a.getBoundingClientRect!==c&&(d=a.getBoundingClientRect()),{top:d.top+b.pageYOffset-a.clientTop,left:d.left+b.pageXOffset-a.clientLeft}}}(mui,window),function(a,b){a.scrollTo=function(a,c,d){c=c||1e3;var e=function(c){if(c<=0)return b.scrollTo(0,a),void(d&&d());var f=a-b.scrollY;setTimeout(function(){b.scrollTo(0,b.scrollY+f/c*10),e(c-10)},16.7)};e(c)},a.animationFrame=function(a){var b,c,d;return function(){b=arguments,d=this,c||(c=!0,requestAnimationFrame(function(){a.apply(d,b),c=!1}))}}}(mui,window),function(a){var b=!1,c=/xyz/.test(function(){xyz})?/\b_super\b/:/.*/,d=function(){};d.extend=function(a){function d(){!b&&this.init&&this.init.apply(this,arguments)}var e=this.prototype;b=!0;var f=new this;b=!1;for(var g in a)f[g]="function"==typeof a[g]&&"function"==typeof e[g]&&c.test(a[g])?function(a,b){return function(){var c=this._super;this._super=e[a];var d=b.apply(this,arguments);return this._super=c,d}}(g,a[g]):a[g];return d.prototype=f,d.prototype.constructor=d,d.extend=arguments.callee,d},a.Class=d}(mui),function(a,b,c){var d="mui-pull-top-pocket",e="mui-pull-bottom-pocket",f="mui-pull",g="mui-pull-loading",h="mui-pull-caption",i="mui-pull-caption-down",j="mui-pull-caption-refresh",k="mui-pull-caption-nomore",l="mui-icon",m="mui-spinner",n="mui-icon-pulldown",o="mui-block",p="mui-hidden",q="mui-visibility",r=g+" "+l+" "+n,s=g+" "+l+" "+n,t=g+" "+l+" "+m,u=['<div class="'+f+'">','<div class="{icon}"></div>','<div class="'+h+'">{contentrefresh}</div>',"</div>"].join(""),v={init:function(b,c){this._super(b,a.extend(!0,{scrollY:!0,scrollX:!1,indicators:!0,deceleration:.003,down:{height:50,contentinit:"涓嬫媺鍙互鍒锋柊",contentdown:"涓嬫媺鍙互鍒锋柊",contentover:"閲婃斁绔嬪嵆鍒锋柊",contentrefresh:"姝e湪鍒锋柊..."},up:{height:50,auto:!1,contentinit:"涓婃媺鏄剧ず鏇村",contentdown:"涓婃媺鏄剧ず鏇村",contentrefresh:"姝e湪鍔犺浇...",contentnomore:"娌℃湁鏇村鏁版嵁浜�",duration:300}},c))},_init:function(){this._super(),this._initPocket()},_initPulldownRefresh:function(){this.pulldown=!0,this.topPocket&&(this.pullPocket=this.topPocket,this.pullPocket.classList.add(o),this.pullPocket.classList.add(q),this.pullCaption=this.topCaption,this.pullLoading=this.topLoading)},_initPullupRefresh:function(){this.pulldown=!1,this.bottomPocket&&(this.pullPocket=this.bottomPocket,this.pullPocket.classList.add(o),this.pullPocket.classList.add(q),this.pullCaption=this.bottomCaption,this.pullLoading=this.bottomLoading)},_initPocket:function(){var a=this.options;a.down&&a.down.hasOwnProperty("callback")&&(this.topPocket=this.scroller.querySelector("."+d),this.topPocket||(this.topPocket=this._createPocket(d,a.down,s),this.wrapper.insertBefore(this.topPocket,this.wrapper.firstChild)),this.topLoading=this.topPocket.querySelector("."+g),this.topCaption=this.topPocket.querySelector("."+h)),a.up&&a.up.hasOwnProperty("callback")&&(this.bottomPocket=this.scroller.querySelector("."+e),this.bottomPocket||(this.bottomPocket=this._createPocket(e,a.up,t),this.scroller.appendChild(this.bottomPocket)),this.bottomLoading=this.bottomPocket.querySelector("."+g),this.bottomCaption=this.bottomPocket.querySelector("."+h),this.wrapper.addEventListener("scrollbottom",this))},_createPocket:function(a,c,d){var e=b.createElement("div");return e.className=a,e.innerHTML=u.replace("{contentrefresh}",c.contentinit).replace("{icon}",d),e},_resetPullDownLoading:function(){var a=this.pullLoading;a&&(this.pullCaption.innerHTML=this.options.down.contentdown,a.style.webkitTransition="",a.style.webkitTransform="",a.style.webkitAnimation="",a.className=s)},_setCaptionClass:function(a,b,c){if(!a)switch(c){case this.options.up.contentdown:b.className=h+" "+i;break;case this.options.up.contentrefresh:b.className=h+" "+j;break;case this.options.up.contentnomore:b.className=h+" "+k}},_setCaption:function(a,b){if(!this.loading){var c=this.options,d=this.pullPocket,e=this.pullCaption,f=this.pullLoading,g=this.pulldown,h=this;d&&(b?setTimeout(function(){e.innerHTML=h.lastTitle=a,g?f.className=s:(h._setCaptionClass(!1,e,a),f.className=t),f.style.webkitAnimation="",f.style.webkitTransition="",f.style.webkitTransform=""},100):a!==this.lastTitle&&(e.innerHTML=a,g?a===c.down.contentrefresh?(f.className=t,f.style.webkitAnimation="spinner-spin 1s step-end infinite"):a===c.down.contentover?(f.className=r,f.style.webkitTransition="-webkit-transform 0.3s ease-in",f.style.webkitTransform="rotate(180deg)"):a===c.down.contentdown&&(f.className=s,f.style.webkitTransition="-webkit-transform 0.3s ease-in",f.style.webkitTransform="rotate(0deg)"):(a===c.up.contentrefresh?f.className=t+" "+q:f.className=t+" "+p,h._setCaptionClass(!1,e,a)),this.lastTitle=a))}}};a.PullRefresh=v}(mui,document),function(a,b,c,d){var e="mui-scroll",f="mui-scrollbar",g="mui-scrollbar-indicator",h=f+"-vertical",i=f+"-horizontal",j="mui-active",k={quadratic:{style:"cubic-bezier(0.25, 0.46, 0.45, 0.94)",fn:function(a){return a*(2-a)}},circular:{style:"cubic-bezier(0.1, 0.57, 0.1, 1)",fn:function(a){return Math.sqrt(1- --a*a)}},outCirc:{style:"cubic-bezier(0.075, 0.82, 0.165, 1)"},outCubic:{style:"cubic-bezier(0.165, 0.84, 0.44, 1)"}},l=a.Class.extend({init:function(b,c){this.wrapper=this.element=b,this.scroller=this.wrapper.children[0],this.scrollerStyle=this.scroller&&this.scroller.style,this.stopped=!1,this.options=a.extend(!0,{scrollY:!0,scrollX:!1,startX:0,startY:0,indicators:!0,stopPropagation:!1,hardwareAccelerated:!0,fixedBadAndorid:!1,preventDefaultException:{tagName:/^(INPUT|TEXTAREA|BUTTON|SELECT|VIDEO)$/},momentum:!0,snapX:.5,snap:!1,bounce:!0,bounceTime:500,bounceEasing:k.outCirc,scrollTime:500,scrollEasing:k.outCubic,directionLockThreshold:5,parallaxElement:!1,parallaxRatio:.5},c),this.x=0,this.y=0,this.translateZ=this.options.hardwareAccelerated?" translateZ(0)":"",this._init(),this.scroller&&(this.refresh(),this.scrollTo(this.options.startX,this.options.startY))},_init:function(){this._initParallax(),this._initIndicators(),this._initEvent()},_initParallax:function(){this.options.parallaxElement&&(this.parallaxElement=c.querySelector(this.options.parallaxElement),this.parallaxStyle=this.parallaxElement.style,this.parallaxHeight=this.parallaxElement.offsetHeight,this.parallaxImgStyle=this.parallaxElement.querySelector("img").style)},_initIndicators:function(){var a=this;if(a.indicators=[],this.options.indicators){var b,c=[];a.options.scrollY&&(b={el:this._createScrollBar(h),listenX:!1},this.wrapper.appendChild(b.el),c.push(b)),this.options.scrollX&&(b={el:this._createScrollBar(i),listenY:!1},this.wrapper.appendChild(b.el),c.push(b));for(var d=c.length;d--;)this.indicators.push(new m(this,c[d]))}},_initSnap:function(){this.currentPage={},this.pages=[];for(var a=this.snaps,b=a.length,c=0,d=-1,e=0,f=0,g=0,h=0,i=0;i<b;i++){var k=a[i],l=k.offsetLeft,m=k.offsetWidth;(0===i||l<=a[i-1].offsetLeft)&&(c=0,d++),this.pages[c]||(this.pages[c]=[]),e=this._getSnapX(l),h=Math.round(m*this.options.snapX),f=e-h,g=e-m+h,this.pages[c][d]={x:e,leftX:f,rightX:g,pageX:c,element:k},k.classList.contains(j)&&(this.currentPage=this.pages[c][0]),e>=this.maxScrollX&&c++}this.options.startX=this.currentPage.x||0},_getSnapX:function(a){return Math.max(Math.min(0,-a+this.wrapperWidth/2),this.maxScrollX)},_gotoPage:function(a){this.currentPage=this.pages[Math.min(a,this.pages.length-1)][0];for(var b=0,c=this.snaps.length;b<c;b++)b===a?this.snaps[b].classList.add(j):this.snaps[b].classList.remove(j);this.scrollTo(this.currentPage.x,0,this.options.scrollTime)},_nearestSnap:function(a){if(!this.pages.length)return{x:0,pageX:0};var b=0,c=this.pages.length;for(a>0?a=0:a<this.maxScrollX&&(a=this.maxScrollX);b<c;b++){if(a>=("left"===this.direction?this.pages[b][0].leftX:this.pages[b][0].rightX))return this.pages[b][0]}return{x:0,pageX:0}},_initEvent:function(c){var d=c?"removeEventListener":"addEventListener";b[d]("orientationchange",this),b[d]("resize",this),this.scroller[d]("webkitTransitionEnd",this),this.wrapper[d](a.EVENT_START,this),this.wrapper[d](a.EVENT_CANCEL,this),this.wrapper[d](a.EVENT_END,this),this.wrapper[d]("drag",this),this.wrapper[d]("dragend",this),this.wrapper[d]("flick",this),this.wrapper[d]("scrollend",this),this.options.scrollX&&this.wrapper[d]("swiperight",this);var e=this.wrapper.querySelector(".mui-segmented-control");e&&mui(e)[c?"off":"on"]("click","a",a.preventDefault),this.wrapper[d]("scrollstart",this),this.wrapper[d]("refresh",this)},_handleIndicatorScrollend:function(){this.indicators.map(function(a){a.fade()})},_handleIndicatorScrollstart:function(){this.indicators.map(function(a){a.fade(1)})},_handleIndicatorRefresh:function(){this.indicators.map(function(a){a.refresh()})},handleEvent:function(b){if(this.stopped)return void this.resetPosition();switch(b.type){case a.EVENT_START:this._start(b);break;case"drag":this.options.stopPropagation&&b.stopPropagation(),this._drag(b);break;case"dragend":case"flick":this.options.stopPropagation&&b.stopPropagation(),this._flick(b);break;case a.EVENT_CANCEL:case a.EVENT_END:this._end(b);break;case"webkitTransitionEnd":this.transitionTimer&&this.transitionTimer.cancel(),this._transitionEnd(b);break;case"scrollstart":this._handleIndicatorScrollstart(b);break;case"scrollend":this._handleIndicatorScrollend(b),this._scrollend(b),b.stopPropagation();break;case"orientationchange":case"resize":this._resize();break;case"swiperight":b.stopPropagation();break;case"refresh":this._handleIndicatorRefresh(b)}},_start:function(b){if(this.moved=this.needReset=!1,this._transitionTime(),this.isInTransition){this.needReset=!0,this.isInTransition=!1;var c=a.parseTranslateMatrix(a.getStyles(this.scroller,"webkitTransform"));this.setTranslate(Math.round(c.x),Math.round(c.y)),a.trigger(this.scroller,"scrollend",this),b.preventDefault()}this.reLayout(),a.trigger(this.scroller,"beforescrollstart",this)},_getDirectionByAngle:function(a){return a<-80&&a>-100?"up":a>=80&&a<100?"down":a>=170||a<=-170?"left":a>=-35&&a<=10?"right":null},_drag:function(c){var d=c.detail;if((this.options.scrollY||"up"===d.direction||"down"===d.direction)&&a.os.ios&&parseFloat(a.os.version)>=8){var e=d.gesture.touches[0].clientY;if(e+10>b.innerHeight||e<10)return void this.resetPosition(this.options.bounceTime)}var f=isReturn=!1;this._getDirectionByAngle(d.angle);if("left"===d.direction||"right"===d.direction?this.options.scrollX?(f=!0,this.moved||(a.gestures.session.lockDirection=!0,a.gestures.session.startDirection=d.direction)):this.options.scrollY&&!this.moved&&(isReturn=!0):"up"===d.direction||"down"===d.direction?this.options.scrollY?(f=!0,this.moved||(a.gestures.session.lockDirection=!0,a.gestures.session.startDirection=d.direction)):this.options.scrollX&&!this.moved&&(isReturn=!0):isReturn=!0,(this.moved||f)&&(c.stopPropagation(),d.gesture&&d.gesture.preventDefault()),!isReturn){this.moved?c.stopPropagation():a.trigger(this.scroller,"scrollstart",this);var g=0,h=0;this.moved?(g=d.deltaX-a.gestures.session.prevTouch.deltaX,h=d.deltaY-a.gestures.session.prevTouch.deltaY):(g=d.deltaX,h=d.deltaY);var i=Math.abs(d.deltaX),j=Math.abs(d.deltaY);i>j+this.options.directionLockThreshold?h=0:j>=i+this.options.directionLockThreshold&&(g=0),g=this.hasHorizontalScroll?g:0,h=this.hasVerticalScroll?h:0;var k=this.x+g,l=this.y+h;(k>0||k<this.maxScrollX)&&(k=this.options.bounce?this.x+g/3:k>0?0:this.maxScrollX),(l>0||l<this.maxScrollY)&&(l=this.options.bounce?this.y+h/3:l>0?0:this.maxScrollY),this.requestAnimationFrame||this._updateTranslate(),this.direction=d.deltaX>0?"right":"left",this.moved=!0,this.x=k,this.y=l,a.trigger(this.scroller,"scroll",this)}},_flick:function(b){if(this.moved){b.stopPropagation();var c=b.detail;if(this._clearRequestAnimationFrame(),"dragend"!==b.type||!c.flick){var d=Math.round(this.x),e=Math.round(this.y);if(this.isInTransition=!1,!this.resetPosition(this.options.bounceTime)){if(this.scrollTo(d,e),"dragend"===b.type)return void a.trigger(this.scroller,"scrollend",this);var f=0,g="";if(this.options.momentum&&c.flickTime<300&&(momentumX=this.hasHorizontalScroll?this._momentum(this.x,c.flickDistanceX,c.flickTime,this.maxScrollX,this.options.bounce?this.wrapperWidth:0,this.options.deceleration):{destination:d,duration:0},momentumY=this.hasVerticalScroll?this._momentum(this.y,c.flickDistanceY,c.flickTime,this.maxScrollY,this.options.bounce?this.wrapperHeight:0,this.options.deceleration):{destination:e,duration:0},d=momentumX.destination,e=momentumY.destination,f=Math.max(momentumX.duration,momentumY.duration),this.isInTransition=!0),d!=this.x||e!=this.y)return(d>0||d<this.maxScrollX||e>0||e<this.maxScrollY)&&(g=k.quadratic),void this.scrollTo(d,e,f,g);a.trigger(this.scroller,"scrollend",this)}}}},_end:function(b){this.needReset=!1,(!this.moved&&this.needReset||b.type===a.EVENT_CANCEL)&&this.resetPosition()},_transitionEnd:function(b){b.target==this.scroller&&this.isInTransition&&(this._transitionTime(),this.resetPosition(this.options.bounceTime)||(this.isInTransition=!1,a.trigger(this.scroller,"scrollend",this)))},_scrollend:function(b){(0===this.y&&0===this.maxScrollY||Math.abs(this.y)>0&&this.y<=this.maxScrollY)&&a.trigger(this.scroller,"scrollbottom",this)},_resize:function(){var a=this;clearTimeout(a.resizeTimeout),a.resizeTimeout=setTimeout(function(){a.refresh()},a.options.resizePolling)},_transitionTime:function(b){if(b=b||0,this.scrollerStyle.webkitTransitionDuration=b+"ms",this.parallaxElement&&this.options.scrollY&&(this.parallaxStyle.webkitTransitionDuration=b+"ms"),this.options.fixedBadAndorid&&!b&&a.os.isBadAndroid&&(this.scrollerStyle.webkitTransitionDuration="0.001s",this.parallaxElement&&this.options.scrollY&&(this.parallaxStyle.webkitTransitionDuration="0.001s")),this.indicators)for(var c=this.indicators.length;c--;)this.indicators[c].transitionTime(b);b&&(this.transitionTimer&&this.transitionTimer.cancel(),this.transitionTimer=a.later(function(){a.trigger(this.scroller,"webkitTransitionEnd")},b+100,this))},_transitionTimingFunction:function(a){if(this.scrollerStyle.webkitTransitionTimingFunction=a,this.parallaxElement&&this.options.scrollY&&(this.parallaxStyle.webkitTransitionDuration=a),this.indicators)for(var b=this.indicators.length;b--;)this.indicators[b].transitionTimingFunction(a)},_translate:function(a,b){this.x=a,this.y=b},_clearRequestAnimationFrame:function(){this.requestAnimationFrame&&(cancelAnimationFrame(this.requestAnimationFrame),this.requestAnimationFrame=null)},_updateTranslate:function(){var a=this;a.x===a.lastX&&a.y===a.lastY||a.setTranslate(a.x,a.y),a.requestAnimationFrame=requestAnimationFrame(function(){a._updateTranslate()})},_createScrollBar:function(a){var b=c.createElement("div"),d=c.createElement("div");return b.className=f+" "+a,d.className=g,b.appendChild(d),a===h?(this.scrollbarY=b,this.scrollbarIndicatorY=d):a===i&&(this.scrollbarX=b,this.scrollbarIndicatorX=d),this.wrapper.appendChild(b),b},_preventDefaultException:function(a,b){for(var c in b)if(b[c].test(a[c]))return!0;return!1},_reLayout:function(){if(this.hasHorizontalScroll||(this.maxScrollX=0,this.scrollerWidth=this.wrapperWidth),this.hasVerticalScroll||(this.maxScrollY=0,this.scrollerHeight=this.wrapperHeight),this.indicators.map(function(a){a.refresh()}),this.options.snap&&"string"==typeof this.options.snap){var a=this.scroller.querySelectorAll(this.options.snap);this.itemLength=0,this.snaps=[];for(var b=0,c=a.length;b<c;b++){var d=a[b];d.parentNode===this.scroller&&(this.itemLength++,this.snaps.push(d))}this._initSnap()}},_momentum:function(a,b,c,e,f,g){var h,i,j=parseFloat(Math.abs(b)/c);return g=g===d?6e-4:g,h=a+j*j/(2*g)*(b<0?-1:1),i=j/g,h<e?(h=f?e-f/2.5*(j/8):e,b=Math.abs(h-a),i=b/j):h>0&&(h=f?f/2.5*(j/8):0,b=Math.abs(a)+h,i=b/j),{destination:Math.round(h),duration:i}},_getTranslateStr:function(a,b){return this.options.hardwareAccelerated?"translate3d("+a+"px,"+b+"px,0px) "+this.translateZ:"translate("+a+"px,"+b+"px) "},setStopped:function(a){a?(this.disablePullupToRefresh(),this.disablePulldownToRefresh()):(this.enablePullupToRefresh(),this.enablePulldownToRefresh())},setTranslate:function(b,c){if(this.x=b,this.y=c,this.scrollerStyle.webkitTransform=this._getTranslateStr(b,c),this.parallaxElement&&this.options.scrollY){var d=c*this.options.parallaxRatio,e=1+d/((this.parallaxHeight-d)/2);e>1?(this.parallaxImgStyle.opacity=1-d/100*this.options.parallaxRatio,this.parallaxStyle.webkitTransform=this._getTranslateStr(0,-d)+" scale("+e+","+e+")"):(this.parallaxImgStyle.opacity=1,this.parallaxStyle.webkitTransform=this._getTranslateStr(0,-1)+" scale(1,1)")}if(this.indicators)for(var f=this.indicators.length;f--;)this.indicators[f].updatePosition();this.lastX=this.x,this.lastY=this.y,a.trigger(this.scroller,"scroll",this)},reLayout:function(){this.wrapper.offsetHeight;var b=parseFloat(a.getStyles(this.wrapper,"padding-left"))||0,c=parseFloat(a.getStyles(this.wrapper,"padding-right"))||0,d=parseFloat(a.getStyles(this.wrapper,"padding-top"))||0,e=parseFloat(a.getStyles(this.wrapper,"padding-bottom"))||0,f=this.wrapper.clientWidth,g=this.wrapper.clientHeight;this.scrollerWidth=this.scroller.offsetWidth,this.scrollerHeight=this.scroller.offsetHeight,this.wrapperWidth=f-b-c,this.wrapperHeight=g-d-e,this.maxScrollX=Math.min(this.wrapperWidth-this.scrollerWidth,0),this.maxScrollY=Math.min(this.wrapperHeight-this.scrollerHeight,0),this.hasHorizontalScroll=this.options.scrollX&&this.maxScrollX<0,this.hasVerticalScroll=this.options.scrollY&&this.maxScrollY<0,this._reLayout()},resetPosition:function(a){var b=this.x,c=this.y;return a=a||0,!this.hasHorizontalScroll||this.x>0?b=0:this.x<this.maxScrollX&&(b=this.maxScrollX),!this.hasVerticalScroll||this.y>0?c=0:this.y<this.maxScrollY&&(c=this.maxScrollY),(b!=this.x||c!=this.y)&&(this.scrollTo(b,c,a,this.options.scrollEasing),!0)},_reInit:function(){for(var a=this.wrapper.querySelectorAll("."+e),b=0,c=a.length;b<c;b++)if(a[b].parentNode===this.wrapper){this.scroller=a[b];break}this.scrollerStyle=this.scroller&&this.scroller.style},refresh:function(){this._reInit(),this.reLayout(),a.trigger(this.scroller,"refresh",this),this.resetPosition()},scrollTo:function(a,b,c,d){var d=d||k.circular;this.isInTransition=c>0,this.isInTransition?(this._clearRequestAnimationFrame(),this._transitionTimingFunction(d.style),this._transitionTime(c),this.setTranslate(a,b)):this.setTranslate(a,b)},scrollToBottom:function(a,b){a=a||this.options.scrollTime,this.scrollTo(0,this.maxScrollY,a,b)},gotoPage:function(a){this._gotoPage(a)},destroy:function(){this._initEvent(!0),delete a.data[this.wrapper.getAttribute("data-scroll")],this.wrapper.setAttribute("data-scroll","")}}),m=function(b,d){this.wrapper="string"==typeof d.el?c.querySelector(d.el):d.el,this.wrapperStyle=this.wrapper.style,this.indicator=this.wrapper.children[0],this.indicatorStyle=this.indicator.style,this.scroller=b,this.options=a.extend({listenX:!0,listenY:!0,fade:!1,speedRatioX:0,speedRatioY:0},d),this.sizeRatioX=1,this.sizeRatioY=1,this.maxPosX=0,this.maxPosY=0,this.options.fade&&(this.wrapperStyle.webkitTransform=this.scroller.translateZ,this.wrapperStyle.webkitTransitionDuration=this.options.fixedBadAndorid&&a.os.isBadAndroid?"0.001s":"0ms",this.wrapperStyle.opacity="0")};m.prototype={handleEvent:function(a){},transitionTime:function(b){b=b||0,this.indicatorStyle.webkitTransitionDuration=b+"ms",this.scroller.options.fixedBadAndorid&&!b&&a.os.isBadAndroid&&(this.indicatorStyle.webkitTransitionDuration="0.001s")},transitionTimingFunction:function(a){this.indicatorStyle.webkitTransitionTimingFunction=a},refresh:function(){this.transitionTime(),this.options.listenX&&!this.options.listenY?this.indicatorStyle.display=this.scroller.hasHorizontalScroll?"block":"none":this.options.listenY&&!this.options.listenX?this.indicatorStyle.display=this.scroller.hasVerticalScroll?"block":"none":this.indicatorStyle.display=this.scroller.hasHorizontalScroll||this.scroller.hasVerticalScroll?"block":"none",this.wrapper.offsetHeight,this.options.listenX&&(this.wrapperWidth=this.wrapper.clientWidth,this.indicatorWidth=Math.max(Math.round(this.wrapperWidth*this.wrapperWidth/(this.scroller.scrollerWidth||this.wrapperWidth||1)),8),this.indicatorStyle.width=this.indicatorWidth+"px",this.maxPosX=this.wrapperWidth-this.indicatorWidth,this.minBoundaryX=0,this.maxBoundaryX=this.maxPosX,this.sizeRatioX=this.options.speedRatioX||this.scroller.maxScrollX&&this.maxPosX/this.scroller.maxScrollX),this.options.listenY&&(this.wrapperHeight=this.wrapper.clientHeight,this.indicatorHeight=Math.max(Math.round(this.wrapperHeight*this.wrapperHeight/(this.scroller.scrollerHeight||this.wrapperHeight||1)),8),this.indicatorStyle.height=this.indicatorHeight+"px",this.maxPosY=this.wrapperHeight-this.indicatorHeight,this.minBoundaryY=0,this.maxBoundaryY=this.maxPosY,this.sizeRatioY=this.options.speedRatioY||this.scroller.maxScrollY&&this.maxPosY/this.scroller.maxScrollY),this.updatePosition()},updatePosition:function(){var a=this.options.listenX&&Math.round(this.sizeRatioX*this.scroller.x)||0,b=this.options.listenY&&Math.round(this.sizeRatioY*this.scroller.y)||0;a<this.minBoundaryX?(this.width=Math.max(this.indicatorWidth+a,8),this.indicatorStyle.width=this.width+"px",a=this.minBoundaryX):a>this.maxBoundaryX?(this.width=Math.max(this.indicatorWidth-(a-this.maxPosX),8),this.indicatorStyle.width=this.width+"px",a=this.maxPosX+this.indicatorWidth-this.width):this.width!=this.indicatorWidth&&(this.width=this.indicatorWidth,this.indicatorStyle.width=this.width+"px"),b<this.minBoundaryY?(this.height=Math.max(this.indicatorHeight+3*b,8),this.indicatorStyle.height=this.height+"px",b=this.minBoundaryY):b>this.maxBoundaryY?(this.height=Math.max(this.indicatorHeight-3*(b-this.maxPosY),8),this.indicatorStyle.height=this.height+"px",b=this.maxPosY+this.indicatorHeight-this.height):this.height!=this.indicatorHeight&&(this.height=this.indicatorHeight,this.indicatorStyle.height=this.height+"px"),this.x=a,this.y=b,this.indicatorStyle.webkitTransform=this.scroller._getTranslateStr(a,b)},fade:function(a,b){if(!b||this.visible){clearTimeout(this.fadeTimeout),this.fadeTimeout=null;var c=a?250:500,d=a?0:300;a=a?"1":"0",this.wrapperStyle.webkitTransitionDuration=c+"ms",this.fadeTimeout=setTimeout(function(a){this.wrapperStyle.opacity=a,this.visible=+a}.bind(this,a),d)}}},a.Scroll=l,a.fn.scroll=function(b){var c=[];return this.each(function(){var d=null,e=this,f=e.getAttribute("data-scroll");if(f)d=a.data[f];else{f=++a.uuid;var g=a.extend({},b);e.classList.contains("mui-segmented-control")&&(g=a.extend(g,{scrollY:!1,scrollX:!0,indicators:!1,snap:".mui-control-item"})),a.data[f]=d=new l(e,g),e.setAttribute("data-scroll",f)}c.push(d)}),1===c.length?c[0]:c}}(mui,window,document),function(a,b,c,d){var e="mui-visibility",f="mui-hidden",g=a.Scroll.extend(a.extend({handleEvent:function(a){this._super(a),"scrollbottom"===a.type&&a.target===this.scroller&&this._scrollbottom()},_scrollbottom:function(){this.pulldown||this.loading||(this.pulldown=!1,this._initPullupRefresh(),this.pullupLoading())},_start:function(a){a.touches&&a.touches.length&&a.touches[0].clientX>30&&a.target&&!this._preventDefaultException(a.target,this.options.preventDefaultException)&&a.preventDefault(),this.loading||(this.pulldown=this.pullPocket=this.pullCaption=this.pullLoading=!1),this._super(a)},_drag:function(a){this.y>=0&&this.disablePulldown&&"down"===a.detail.direction||(this._super(a),!this.pulldown&&!this.loading&&this.topPocket&&"down"===a.detail.direction&&this.y>=0&&this._initPulldownRefresh(),this.pulldown&&this._setCaption(this.y>this.options.down.height?this.options.down.contentover:this.options.down.contentdown))},_reLayout:function(){this.hasVerticalScroll=!0,this._super()},resetPosition:function(a){if(this.pulldown&&!this.disablePulldown){if(this.y>=this.options.down.height)return this.pulldownLoading(d,a||0),!0;!this.loading&&this.topPocket.classList.remove(e)}return this._super(a)},pulldownLoading:function(a,b){if(void 0===a&&(a=this.options.down.height),this.scrollTo(0,a,b,this.options.bounceEasing),!this.loading){this._initPulldownRefresh(),this._setCaption(this.options.down.contentrefresh),this.loading=!0,this.indicators.map(function(a){a.fade(0)});var c=this.options.down.callback;c&&c.call(this)}},endPulldownToRefresh:function(){var a=this;a.topPocket&&a.loading&&this.pulldown&&(a.scrollTo(0,0,a.options.bounceTime,a.options.bounceEasing),a.loading=!1,a._setCaption(a.options.down.contentdown,!0),setTimeout(function(){a.loading||a.topPocket.classList.remove(e)},350))},pullupLoading:function(a,b,c){b=b||0,this.scrollTo(b,this.maxScrollY,c,this.options.bounceEasing),this.loading||(this._initPullupRefresh(),this._setCaption(this.options.up.contentrefresh),this.indicators.map(function(a){a.fade(0)}),this.loading=!0,(a=a||this.options.up.callback)&&a.call(this))},endPullupToRefresh:function(a){var b=this;b.bottomPocket&&(b.loading=!1,a?(this.finished=!0,b._setCaption(b.options.up.contentnomore),b.wrapper.removeEventListener("scrollbottom",b)):(b._setCaption(b.options.up.contentdown),b.loading||b.bottomPocket.classList.remove(e)))},disablePullupToRefresh:function(){this._initPullupRefresh(),this.bottomPocket.className="mui-pull-bottom-pocket "+f,this.wrapper.removeEventListener("scrollbottom",this)},disablePulldownToRefresh:function(){this._initPulldownRefresh(),this.topPocket.className="mui-pull-top-pocket "+f,this.disablePulldown=!0},enablePulldownToRefresh:function(){this._initPulldownRefresh(),this.topPocket.classList.remove(f),this._setCaption(this.options.down.contentdown),this.disablePulldown=!1},enablePullupToRefresh:function(){this._initPullupRefresh(),this.bottomPocket.classList.remove(f),this._setCaption(this.options.up.contentdown),this.wrapper.addEventListener("scrollbottom",this)},refresh:function(a){a&&this.finished&&(this.enablePullupToRefresh(),this.finished=!1),this._super()}},a.PullRefresh));a.fn.pullRefresh=function(b){if(1===this.length){var c=this[0],d=null,e=c.getAttribute("data-pullrefresh");return!(!e&&void 0===b)&&(b=b||{},e?d=a.data[e]:(e=++a.uuid,a.data[e]=d=new g(c,b),c.setAttribute("data-pullrefresh",e)),b.down&&b.down.auto?d.pulldownLoading(b.down.autoY):b.up&&b.up.auto&&d.pullupLoading(),d)}}}(mui,window,document),function(a,b){var c="mui-slider",d="mui-slider-group",e="mui-slider-loop",f="mui-action-previous",g="mui-action-next",h="mui-slider-item",i="mui-active",j="."+h,k=".mui-slider-progress-bar",l=a.Slider=a.Scroll.extend({init:function(b,c){this._super(b,a.extend(!0,{fingers:1,interval:0,scrollY:!1,scrollX:!0,indicators:!1,scrollTime:1e3,startX:!1,slideTime:0,snap:j},c)),this.options.startX},_init:function(){this._reInit(),this.scroller&&(this.scrollerStyle=this.scroller.style,this.progressBar=this.wrapper.querySelector(k),this.progressBar&&(this.progressBarWidth=this.progressBar.offsetWidth,this.progressBarStyle=this.progressBar.style),this._super(),this._initTimer())},_triggerSlide:function(){var b=this;b.isInTransition=!1;b.currentPage;b.slideNumber=b._fixedSlideNumber(),b.loop&&(0===b.slideNumber?b.setTranslate(b.pages[1][0].x,0):b.slideNumber===b.itemLength-3&&b.setTranslate(b.pages[b.itemLength-2][0].x,0)),b.lastSlideNumber!=b.slideNumber&&(b.lastSlideNumber=b.slideNumber,b.lastPage=b.currentPage,a.trigger(b.wrapper,"slide",{slideNumber:b.slideNumber})),b._initTimer()},_handleSlide:function(b){var c=this;if(b.target===c.wrapper){var d=b.detail;d.slideNumber=d.slideNumber||0;for(var e=c.scroller.querySelectorAll(j),f=[],g=0,h=e.length;g<h;g++){var k=e[g];k.parentNode===c.scroller&&f.push(k)}var l=d.slideNumber;if(c.loop&&(l+=1),!c.wrapper.classList.contains("mui-segmented-control"))for(var g=0,h=f.length;g<h;g++){var k=f[g];k.parentNode===c.scroller&&(g===l?k.classList.add(i):k.classList.remove(i))}var m=c.wrapper.querySelector(".mui-slider-indicator");if(m){m.getAttribute("data-scroll")&&a(m).scroll().gotoPage(d.slideNumber);var n=m.querySelectorAll(".mui-indicator");if(n.length>0)for(var g=0,h=n.length;g<h;g++)n[g].classList[g===d.slideNumber?"add":"remove"](i);else{var o=m.querySelector(".mui-number span");if(o)o.innerText=d.slideNumber+1;else for(var p=m.querySelectorAll(".mui-control-item"),g=0,h=p.length;g<h;g++)p[g].classList[g===d.slideNumber?"add":"remove"](i)}}b.stopPropagation()}},_handleTabShow:function(a){var b=this;b.gotoItem(a.detail.tabNumber||0,b.options.slideTime)},_handleIndicatorTap:function(a){var b=this,c=a.target;(c.classList.contains(f)||c.classList.contains(g))&&(b[c.classList.contains(f)?"prevItem":"nextItem"](),a.stopPropagation())},_initEvent:function(b){var c=this;c._super(b);var d=b?"removeEventListener":"addEventListener";c.wrapper[d]("slide",this),c.wrapper[d](a.eventName("shown","tab"),this)},handleEvent:function(b){switch(this._super(b),b.type){case"slide":this._handleSlide(b);break;case a.eventName("shown","tab"):~this.snaps.indexOf(b.target)&&this._handleTabShow(b)}},_scrollend:function(a){this._super(a),this._triggerSlide(a)},_drag:function(a){this._super(a);var c=a.detail.direction;if("left"===c||"right"===c){var d=this.wrapper.getAttribute("data-slidershowTimer");d&&b.clearTimeout(d),a.stopPropagation()}},_initTimer:function(){var a=this,c=a.wrapper,d=a.options.interval,e=c.getAttribute("data-slidershowTimer");e&&b.clearTimeout(e),d&&(e=b.setTimeout(function(){c&&((c.offsetWidth||c.offsetHeight)&&a.nextItem(!0),a._initTimer())},d),c.setAttribute("data-slidershowTimer",e))},_fixedSlideNumber:function(a){a=a||this.currentPage;var b=a.pageX;return this.loop&&(b=0===a.pageX?this.itemLength-3:a.pageX===this.itemLength-1?0:a.pageX-1),b},_reLayout:function(){this.hasHorizontalScroll=!0,this.loop=this.scroller.classList.contains(e),this._super()},_getScroll:function(){var b=a.parseTranslateMatrix(a.getStyles(this.scroller,"webkitTransform"));return b?b.x:0},_transitionEnd:function(b){b.target===this.scroller&&this.isInTransition&&(this._transitionTime(),this.isInTransition=!1,a.trigger(this.wrapper,"scrollend",this))},_flick:function(a){if(this.moved){var b=a.detail,c=b.direction;this._clearRequestAnimationFrame(),this.isInTransition=!0,"flick"===a.type?(b.deltaTime<200&&(this.x=this._getPage(this.slideNumber+("right"===c?-1:1),!0).x),this.resetPosition(this.options.bounceTime)):"dragend"!==a.type||b.flick||this.resetPosition(this.options.bounceTime),a.stopPropagation()}},_initSnap:function(){if(this.scrollerWidth=this.itemLength*this.scrollerWidth,this.maxScrollX=Math.min(this.wrapperWidth-this.scrollerWidth,0),this._super(),this.currentPage.x)this.slideNumber=this._fixedSlideNumber(),this.lastSlideNumber=void 0===this.lastSlideNumber?this.slideNumber:this.lastSlideNumber;else{var a=this.pages[this.loop?1:0];if(!(a=a||this.pages[0]))return;this.currentPage=a[0],this.slideNumber=0,this.lastSlideNumber=void 0===this.lastSlideNumber?0:this.lastSlideNumber}this.options.startX=this.currentPage.x||0},_getSnapX:function(a){return Math.max(-a,this.maxScrollX)},_getPage:function(a,b){return this.loop?a>this.itemLength-(b?2:3)?(a=1,time=0):a<(b?-1:0)?(a=this.itemLength-2,time=0):a+=1:(b||(a>this.itemLength-1?(a=0,time=0):a<0&&(a=this.itemLength-1,time=0)),a=Math.min(Math.max(0,a),this.itemLength-1)),this.pages[a][0]},_gotoItem:function(b,c){this.currentPage=this._getPage(b,!0),this.scrollTo(this.currentPage.x,0,c,this.options.scrollEasing),0===c&&a.trigger(this.wrapper,"scrollend",this)},setTranslate:function(a,b){this._super(a,b),this.progressBar&&(this.progressBarStyle.webkitTransform=this._getTranslateStr(-a*(this.progressBarWidth/this.wrapperWidth),0))},resetPosition:function(a){return a=a||0,this.x>0?this.x=0:this.x<this.maxScrollX&&(this.x=this.maxScrollX),this.currentPage=this._nearestSnap(this.x),this.scrollTo(this.currentPage.x,0,a,this.options.scrollEasing),!0},gotoItem:function(a,b){this._gotoItem(a,void 0===b?this.options.scrollTime:b)},nextItem:function(){this._gotoItem(this.slideNumber+1,this.options.scrollTime)},prevItem:function(){this._gotoItem(this.slideNumber-1,this.options.scrollTime)},getSlideNumber:function(){return this.slideNumber||0},_reInit:function(){for(var a=this.wrapper.querySelectorAll("."+d),b=0,c=a.length;b<c;b++)if(a[b].parentNode===this.wrapper){this.scroller=a[b];break}this.scrollerStyle=this.scroller&&this.scroller.style,this.progressBar&&(this.progressBarWidth=this.progressBar.offsetWidth,this.progressBarStyle=this.progressBar.style)},refresh:function(b){b?(a.extend(this.options,b),this._super(),this._initTimer()):this._super()},destroy:function(){this._initEvent(!0),delete a.data[this.wrapper.getAttribute("data-slider")],this.wrapper.setAttribute("data-slider","")}});a.fn.slider=function(b){var d=null;return this.each(function(){var e=this;if(this.classList.contains(c)||(e=this.querySelector("."+c)),e&&e.querySelector(j)){var f=e.getAttribute("data-slider");f?(d=a.data[f])&&b&&d.refresh(b):(f=++a.uuid,a.data[f]=d=new l(e,b),e.setAttribute("data-slider",f))}}),d},a.ready(function(){a(".mui-slider").slider(),a(".mui-scroll-wrapper.mui-slider-indicator.mui-segmented-control").scroll({scrollY:!1,scrollX:!0,indicators:!1,snap:".mui-control-item"})})}(mui,window),function(a,b){a.os.plus&&a.plusReady(function(){if(!1!==window.__NWin_Enable__){var c="mui-visibility",d="mui-hidden",e="mui-block",f="mui-pull-caption",g="mui-pull-caption-down",h="mui-pull-caption-refresh",i="mui-pull-caption-nomore",j=a.Class.extend({init:function(a,b){this.element=a,this.options=b,this.wrapper=this.scroller=a,this._init(),this._initPulldownRefreshEvent()},_init:function(){var a=this;window.addEventListener("dragup",a),b.addEventListener("plusscrollbottom",a),a.scrollInterval=window.setInterval(function(){a.isScroll&&!a.loading&&window.pageYOffset+window.innerHeight+10>=b.documentElement.scrollHeight&&(a.isScroll=!1,a.bottomPocket&&a.pullupLoading())},100)},_initPulldownRefreshEvent:function(){var b=this;a.plusReady(function(){if("circle"==b.options.down.style)b.options.webview=plus.webview.currentWebview(),b.options.webview.setPullToRefresh({support:!0,color:b.options.down.color||"#2BD009",height:b.options.down.height||"50px",range:b.options.down.range||"100px",style:"circle",offset:b.options.down.offset||"0px"},function(){b.options.down.callback()});else if(b.topPocket&&b.options.webviewId){var a=plus.webview.getWebviewById(b.options.webviewId);if(!a)return;b.options.webview=a;var c=b.options.down,d=c.height;a.addEventListener("close",function(){var a=b.options.webviewId&&b.options.webviewId.replace(/\//g,"_");b.element.removeAttribute("data-pullrefresh-plus-"+a)}),a.addEventListener("dragBounce",function(d){switch(b.pulldown?b.pullPocket.classList.add(e):b._initPulldownRefresh(),d.status){case"beforeChangeOffset":b._setCaption(c.contentdown);break;case"afterChangeOffset":b._setCaption(c.contentover);break;case"dragEndAfterChangeOffset":a.evalJS("window.mui&&mui.options.pullRefresh.down.callback()"),b._setCaption(c.contentrefresh)}},!1),a.setBounce({position:{top:2*d+"px"},changeoffset:{top:d+"px"}})}})},handleEvent:function(a){var b=this;b.stopped||(b.isScroll=!1,"dragup"!==a.type&&"plusscrollbottom"!==a.type||(b.isScroll=!0,setTimeout(function(){b.isScroll=!1},1e3)))}}).extend(a.extend({setStopped:function(a){this.stopped=!!a,this.stopped?(this.disablePullupToRefresh(),this.disablePulldownToRefresh()):(this.enablePullupToRefresh(),this.enablePulldownToRefresh())},beginPulldown:function(){var b=this;a.plusReady(function(){setTimeout(function(){if("circle"==b.options.down.style)plus.webview.currentWebview().beginPullToRefresh();else{var a=b.options.webview;a&&a.setBounce({offset:{top:b.options.down.height+"px"}})}},15)}.bind(this))},pulldownLoading:function(){this.beginPulldown()},_pulldownLoading:function(){var b=this;a.plusReady(function(){var a=plus.webview.getWebviewById(b.options.webviewId);a&&a.setBounce({offset:{top:b.options.down.height+"px"}})})},endPulldown:function(){var a=plus.webview.currentWebview();a.parent()&&"circle"!==this.options.down.style?a.parent().evalJS("mui&&mui(document.querySelector('.mui-content')).pullRefresh('"+JSON.stringify({webviewId:a.id})+"')._endPulldownToRefresh()"):a.endPullToRefresh()},endPulldownToRefresh:function(){this.endPulldown()},_endPulldownToRefresh:function(){var a=this;a.topPocket&&a.options.webview&&(a.options.webview.endPullToRefresh(),a.loading=!1,a._setCaption(a.options.down.contentdown,!0),setTimeout(function(){a.loading||a.topPocket.classList.remove(e)},350))},beginPullup:function(a){var b=this;b.isLoading||(b.isLoading=!0,!1!==b.pulldown?b._initPullupRefresh():this.pullPocket.classList.add(e),setTimeout(function(){b.pullLoading.classList.add(c),b.pullLoading.classList.remove(d),b.pullCaption.innerHTML="",b.pullCaption.className=f+" "+h,b.pullCaption.innerHTML=b.options.up.contentrefresh,(a=a||b.options.up.callback)&&a.call(b)},300))},pullupLoading:function(a){this.beginPullup(a)},endPullup:function(a){var e=this;e.pullLoading&&(e.pullLoading.classList.remove(c),e.pullLoading.classList.add(d),e.isLoading=!1,a?(e.finished=!0,e.pullCaption.className=f+" "+i,e.pullCaption.innerHTML=e.options.up.contentnomore,b.removeEventListener("plusscrollbottom",e),window.removeEventListener("dragup",e)):(e.pullCaption.className=f+" "+g,e.pullCaption.innerHTML=e.options.up.contentdown))},endPullupToRefresh:function(a){this.endPullup(a)},disablePulldownToRefresh:function(){var a=plus.webview.currentWebview();this.options.down.style&&"circle"==this.options.down.style?this.options.webview.setPullToRefresh({support:!1,style:"circle"}):(a.setStyle({bounce:"none"}),a.setBounce({position:{top:"none"}}))},enablePulldownToRefresh:function(){var a=this,b=plus.webview.currentWebview(),c=this.options.down.height;this.options.down.style&&"circle"==this.options.down.style?b.setPullToRefresh({support:!0,height:c||"50px",range:a.options.down.range||"100px",style:"circle",offset:a.options.down.offset||"0px"}):(b.setStyle({bounce:"vertical"}),b.setBounce({position:{top:2*c+"px"},changeoffset:{top:c+"px"}}))},disablePullupToRefresh:function(){this._initPullupRefresh(),this.bottomPocket.className="mui-pull-bottom-pocket "+d,window.removeEventListener("dragup",this)},enablePullupToRefresh:function(){this._initPullupRefresh(),this.bottomPocket.classList.remove(d),this.pullCaption.className=f+" "+g,this.pullCaption.innerHTML=this.options.up.contentdown,b.addEventListener("plusscrollbottom",this),window.addEventListener("dragup",this)},scrollTo:function(b,c,d){a.scrollTo(c,d)},scrollToBottom:function(c){a.scrollTo(b.documentElement.scrollHeight,c)},refresh:function(a){a&&this.finished&&(this.enablePullupToRefresh(),this.finished=!1)}},a.PullRefresh));a.fn.pullRefresh_native=function(c){var d;0===this.length?(d=b.createElement("div"),d.className="mui-content",b.body.appendChild(d)):d=this[0];var e=c;c=c||{},"string"==typeof c&&(c=a.parseJSON(c)),!c.webviewId&&(c.webviewId=plus.webview.currentWebview().id||plus.webview.currentWebview().getURL());var f=null,g=c.webviewId&&c.webviewId.replace(/\//g,"_"),h=d.getAttribute("data-pullrefresh-plus-"+g);return!(!h&&void 0===e)&&(h?f=a.data[h]:(h=++a.uuid,d.setAttribute("data-pullrefresh-plus-"+g,h),b.body.classList.add("mui-plus-pullrefresh"),a.data[h]=f=new j(d,c)),c.down&&c.down.auto?f.beginPulldown():c.up&&c.up.auto&&f.beginPullup(),f)}}})}(mui,document),function(a,b,c,d){var e="mui-off-canvas-left",f="mui-off-canvas-right",g="mui-off-canvas-backdrop",h="mui-off-canvas-wrap",i="mui-slide-in",j="mui-active",k="mui-transitioning",l=".mui-inner-wrap",m=a.Class.extend({init:function(b,d){this.wrapper=this.element=b,this.scroller=this.wrapper.querySelector(l),this.classList=this.wrapper.classList,this.scroller&&(this.options=a.extend(!0,{dragThresholdX:10,scale:.8,opacity:.1,preventDefaultException:{tagName:/^(INPUT|TEXTAREA|BUTTON|SELECT|VIDEO)$/}},d),c.body.classList.add("mui-fullscreen"),this.refresh(),this.initEvent())},_preventDefaultException:function(a,b){for(var c in b)if(b[c].test(a[c]))return!0;return!1},refresh:function(a){this.slideIn=this.classList.contains(i),this.scalable=this.classList.contains("mui-scalable")&&!this.slideIn,this.scroller=this.wrapper.querySelector(l),this.offCanvasLefts=this.wrapper.querySelectorAll("."+e),this.offCanvasRights=this.wrapper.querySelectorAll("."+f),a?a.classList.contains(e)?this.offCanvasLeft=a:a.classList.contains(f)&&(this.offCanvasRight=a):(this.offCanvasRight=this.wrapper.querySelector("."+f),this.offCanvasLeft=this.wrapper.querySelector("."+e)),this.offCanvasRightWidth=this.offCanvasLeftWidth=0,this.offCanvasLeftSlideIn=this.offCanvasRightSlideIn=!1,this.offCanvasRight&&(this.offCanvasRightWidth=this.offCanvasRight.offsetWidth,this.offCanvasRightSlideIn=this.slideIn&&this.offCanvasRight.parentNode===this.wrapper),this.offCanvasLeft&&(this.offCanvasLeftWidth=this.offCanvasLeft.offsetWidth,this.offCanvasLeftSlideIn=this.slideIn&&this.offCanvasLeft.parentNode===this.wrapper),this.backdrop=this.scroller.querySelector("."+g),this.options.dragThresholdX=this.options.dragThresholdX||10,this.visible=!1,this.startX=null,this.lastX=null,this.offsetX=null,this.lastTranslateX=null},handleEvent:function(b){switch(b.type){case a.EVENT_START:b.target&&!this._preventDefaultException(b.target,this.options.preventDefaultException)&&b.preventDefault();break;case"webkitTransitionEnd":b.target===this.scroller&&this._dispatchEvent();break;case"drag":var c=b.detail;this.startX?this.lastX=c.center.x:(this.startX=c.center.x,this.lastX=this.startX),!this.isDragging&&Math.abs(this.lastX-this.startX)>this.options.dragThresholdX&&("left"===c.direction||"right"===c.direction)&&(this.slideIn?(this.scroller=this.wrapper.querySelector(l),this.classList.contains(j)?this.offCanvasRight&&this.offCanvasRight.classList.contains(j)?(this.offCanvas=this.offCanvasRight,this.offCanvasWidth=this.offCanvasRightWidth):(this.offCanvas=this.offCanvasLeft,this.offCanvasWidth=this.offCanvasLeftWidth):"left"===c.direction&&this.offCanvasRight?(this.offCanvas=this.offCanvasRight,this.offCanvasWidth=this.offCanvasRightWidth):"right"===c.direction&&this.offCanvasLeft?(this.offCanvas=this.offCanvasLeft,this.offCanvasWidth=this.offCanvasLeftWidth):this.scroller=null):this.classList.contains(j)?"left"===c.direction?(this.offCanvas=this.offCanvasLeft,this.offCanvasWidth=this.offCanvasLeftWidth):(this.offCanvas=this.offCanvasRight,this.offCanvasWidth=this.offCanvasRightWidth):"right"===c.direction?(this.offCanvas=this.offCanvasLeft,this.offCanvasWidth=this.offCanvasLeftWidth):(this.offCanvas=this.offCanvasRight,this.offCanvasWidth=this.offCanvasRightWidth),this.offCanvas&&this.scroller&&(this.startX=this.lastX,this.isDragging=!0,a.gestures.session.lockDirection=!0,a.gestures.session.startDirection=c.direction,this.offCanvas.classList.remove(k),this.scroller.classList.remove(k),this.offsetX=this.getTranslateX(),this._initOffCanvasVisible())),this.isDragging&&(this.updateTranslate(this.offsetX+(this.lastX-this.startX)),c.gesture.preventDefault(),b.stopPropagation());break;case"dragend":if(this.isDragging){var c=b.detail,d=c.direction;this.isDragging=!1,this.offCanvas.classList.add(k),this.scroller.classList.add(k);var e=0,f=this.getTranslateX();if(this.slideIn){if(e=f>=0?this.offCanvasRightWidth&&f/this.offCanvasRightWidth||0:this.offCanvasLeftWidth&&f/this.offCanvasLeftWidth||0,"right"===d&&e<=0&&(e>=-.5||c.swipe)?this.openPercentage(100):"right"===d&&e>0&&(e>=.5||c.swipe)?this.openPercentage(0):"right"===d&&e<=-.5?this.openPercentage(0):"right"===d&&e>0&&e<=.5?this.openPercentage(-100):"left"===d&&e>=0&&(e<=.5||c.swipe)?this.openPercentage(-100):"left"===d&&e<0&&(e<=-.5||c.swipe)?this.openPercentage(0):"left"===d&&e>=.5?this.openPercentage(0):"left"===d&&e>=-.5&&e<0?this.openPercentage(100):this.openPercentage(0),1===e||-1===e||0===e)return void this._dispatchEvent()}else{if(0===(e=f>=0?this.offCanvasLeftWidth&&f/this.offCanvasLeftWidth||0:this.offCanvasRightWidth&&f/this.offCanvasRightWidth||0))return this.openPercentage(0),void this._dispatchEvent();"right"===d&&e>=0&&(e>=.5||c.swipe)?this.openPercentage(100):"right"===d&&e<0&&(e>-.5||c.swipe)?this.openPercentage(0):"right"===d&&e>0&&e<.5?this.openPercentage(0):"right"===d&&e<.5?this.openPercentage(-100):"left"===d&&e<=0&&(e<=-.5||c.swipe)?this.openPercentage(-100):"left"===d&&e>0&&(e<=.5||c.swipe)?this.openPercentage(0):"left"===d&&e<0&&e>=-.5?this.openPercentage(0):"left"===d&&e>.5?this.openPercentage(100):this.openPercentage(0),1!==e&&-1!==e||this._dispatchEvent()}}}},_dispatchEvent:function(){this.classList.contains(j)?a.trigger(this.wrapper,"shown",this):a.trigger(this.wrapper,"hidden",this)},_initOffCanvasVisible:function(){this.visible||(this.visible=!0,this.offCanvasLeft&&(this.offCanvasLeft.style.visibility="visible"),this.offCanvasRight&&(this.offCanvasRight.style.visibility="visible"))},initEvent:function(){var b=this;b.backdrop&&b.backdrop.addEventListener("tap",function(a){b.close(),a.detail.gesture.preventDefault()}),this.classList.contains("mui-draggable")&&(this.wrapper.addEventListener(a.EVENT_START,this),this.wrapper.addEventListener("drag",this),this.wrapper.addEventListener("dragend",this)),this.wrapper.addEventListener("webkitTransitionEnd",this)},openPercentage:function(a){var b=a/100;this.slideIn?(this.offCanvasLeft&&a>=0?(b=0===b?-1:0,this.updateTranslate(this.offCanvasLeftWidth*b),this.offCanvasLeft.classList[0!==a?"add":"remove"](j)):this.offCanvasRight&&a<=0&&(b=0===b?1:0,this.updateTranslate(this.offCanvasRightWidth*b),this.offCanvasRight.classList[0!==a?"add":"remove"](j)),this.classList[0!==a?"add":"remove"](j)):(this.offCanvasLeft&&a>=0?(this.updateTranslate(this.offCanvasLeftWidth*b),this.offCanvasLeft.classList[0!==b?"add":"remove"](j)):this.offCanvasRight&&a<=0&&(this.updateTranslate(this.offCanvasRightWidth*b),this.offCanvasRight.classList[0!==b?"add":"remove"](j)),this.classList[0!==b?"add":"remove"](j))},updateTranslate:function(b){if(b!==this.lastTranslateX){if(this.slideIn){if(this.offCanvas.classList.contains(f)){if(b<0)return void this.setTranslateX(0);if(b>this.offCanvasRightWidth)return void this.setTranslateX(this.offCanvasRightWidth)}else{if(b>0)return void this.setTranslateX(0);if(b<-this.offCanvasLeftWidth)return void this.setTranslateX(-this.offCanvasLeftWidth)}this.setTranslateX(b)}else{if(!this.offCanvasLeft&&b>0||!this.offCanvasRight&&b<0)return void this.setTranslateX(0);if(this.leftShowing&&b>this.offCanvasLeftWidth)return void this.setTranslateX(this.offCanvasLeftWidth);if(this.rightShowing&&b<-this.offCanvasRightWidth)return void this.setTranslateX(-this.offCanvasRightWidth);this.setTranslateX(b),b>=0?(this.leftShowing=!0,this.rightShowing=!1,b>0&&(this.offCanvasLeft&&a.each(this.offCanvasLefts,function(a,b){b===this.offCanvasLeft?this.offCanvasLeft.style.zIndex=0:b.style.zIndex=-1}.bind(this)),this.offCanvasRight&&(this.offCanvasRight.style.zIndex=-1))):(this.rightShowing=!0,this.leftShowing=!1,this.offCanvasRight&&a.each(this.offCanvasRights,function(a,b){b===this.offCanvasRight?b.style.zIndex=0:b.style.zIndex=-1}.bind(this)),this.offCanvasLeft&&(this.offCanvasLeft.style.zIndex=-1))}this.lastTranslateX=b}},setTranslateX:a.animationFrame(function(a){if(this.scroller)if(this.scalable&&this.offCanvas.parentNode===this.wrapper){var b=Math.abs(a)/this.offCanvasWidth,c=1-(1-this.options.scale)*b,d=this.options.scale+(1-this.options.scale)*b,f=(this.options.opacity,this.options.opacity+(1-this.options.opacity)*b);this.offCanvas.classList.contains(e)?(this.offCanvas.style.webkitTransformOrigin="-100%",this.scroller.style.webkitTransformOrigin="left"):(this.offCanvas.style.webkitTransformOrigin="200%",this.scroller.style.webkitTransformOrigin="right"),this.offCanvas.style.opacity=f,this.offCanvas.style.webkitTransform="translate3d(0,0,0) scale("+d+")",this.scroller.style.webkitTransform="translate3d("+a+"px,0,0) scale("+c+")"}else this.slideIn?this.offCanvas.style.webkitTransform="translate3d("+a+"px,0,0)":this.scroller.style.webkitTransform="translate3d("+a+"px,0,0)"}),getTranslateX:function(){if(this.offCanvas){var b=this.slideIn?this.offCanvas:this.scroller,c=a.parseTranslateMatrix(a.getStyles(b,"webkitTransform"));return c&&c.x||0}return 0},isShown:function(a){var b=!1;if(this.slideIn)b="left"===a?this.classList.contains(j)&&this.wrapper.querySelector("."+e+"."+j):"right"===a?this.classList.contains(j)&&this.wrapper.querySelector("."+f+"."+j):this.classList.contains(j)&&(this.wrapper.querySelector("."+e+"."+j)||this.wrapper.querySelector("."+f+"."+j));else{var c=this.getTranslateX();b="right"===a?this.classList.contains(j)&&c<0:"left"===a?this.classList.contains(j)&&c>0:this.classList.contains(j)&&0!==c}return b},close:function(){this._initOffCanvasVisible(),this.offCanvas=this.wrapper.querySelector("."+f+"."+j)||this.wrapper.querySelector("."+e+"."+j),this.offCanvasWidth=this.offCanvas.offsetWidth,this.scroller&&(this.offCanvas.offsetHeight,this.offCanvas.classList.add(k),this.scroller.classList.add(k),this.openPercentage(0))},show:function(a){return this._initOffCanvasVisible(),!this.isShown(a)&&(a||(a=this.wrapper.querySelector("."+f)?"right":"left"),"right"===a?(this.offCanvas=this.offCanvasRight,this.offCanvasWidth=this.offCanvasRightWidth):(this.offCanvas=this.offCanvasLeft,this.offCanvasWidth=this.offCanvasLeftWidth),this.scroller&&(this.offCanvas.offsetHeight,this.offCanvas.classList.add(k),this.scroller.classList.add(k),this.openPercentage("left"===a?100:-100)),!0)},toggle:function(a){var b=a;a&&a.classList&&(b=a.classList.contains(e)?"left":"right",this.refresh(a)),this.show(b)||this.close()}}),n=function(a){if(parentNode=a.parentNode,parentNode){if(parentNode.classList.contains(h))return parentNode;if(parentNode=parentNode.parentNode,parentNode.classList.contains(h))return parentNode}},o=function(b,d){if("A"===d.tagName&&d.hash){var e=c.getElementById(d.hash.replace("#",""));if(e){var f=n(e);if(f)return a.targets._container=f,e}}return!1};a.registerTarget({name:d,index:60,handle:o,target:!1,isReset:!1,isContinue:!0}),b.addEventListener("tap",function(b){if(a.targets.offcanvas)for(var d=b.target;d&&d!==c;d=d.parentNode)if("A"===d.tagName&&d.hash&&d.hash==="#"+a.targets.offcanvas.id){b.detail&&b.detail.gesture&&b.detail.gesture.preventDefault(),a(a.targets._container).offCanvas().toggle(a.targets.offcanvas),a.targets.offcanvas=a.targets._container=null;break}}),a.fn.offCanvas=function(b){var c=[];return this.each(function(){var d=null,e=this;e.classList.contains(h)||(e=n(e));var f=e.getAttribute("data-offCanvas");f?d=a.data[f]:(f=++a.uuid,a.data[f]=d=new m(e,b),e.setAttribute("data-offCanvas",f)),"show"!==b&&"close"!==b&&"toggle"!==b||d.toggle(),c.push(d)}),1===c.length?c[0]:c},a.ready(function(){a(".mui-off-canvas-wrap").offCanvas()})}(mui,window,document,"offcanvas"),function(a,b){var c="mui-action",d=function(a,b){var d=b.className||"";return"string"!=typeof d&&(d=""),!(!d||!~d.indexOf(c))&&(b.classList.contains("mui-action-back")&&a.preventDefault(),b)};a.registerTarget({name:b,index:50,handle:d,target:!1,isContinue:!0})}(mui,"action"),function(a,b,c,d){var e="mui-modal",f=function(a,b){if("A"===b.tagName&&b.hash){var d=c.getElementById(b.hash.replace("#",""));if(d&&d.classList.contains(e))return d}return!1};a.registerTarget({name:d,index:50,handle:f,target:!1,isReset:!1,isContinue:!0}),b.addEventListener("tap",function(b){a.targets.modal&&(b.detail.gesture.preventDefault(),a.targets.modal.classList.toggle("mui-active"))})}(mui,window,document,"modal"),function(a,b,c,d){var e="mui-popover",f="mui-popover-arrow",g="mui-popover-action",h="mui-backdrop",i="mui-bar-popover",j="mui-bar-backdrop",k="mui-backdrop-action",l="mui-active",m="mui-bottom",n=function(b,d){if("A"===d.tagName&&d.hash){if(a.targets._popover=c.getElementById(d.hash.replace("#","")),a.targets._popover&&a.targets._popover.classList.contains(e))return d;a.targets._popover=null}return!1};a.registerTarget({name:d,index:60,handle:n,target:!1,isReset:!1,isContinue:!0});var o,p=function(b){this.removeEventListener("webkitTransitionEnd",p),this.addEventListener(a.EVENT_MOVE,a.preventDefault),a.trigger(this,"shown",this)},q=function(b){u(this,"none"),this.removeEventListener("webkitTransitionEnd",q),this.removeEventListener(a.EVENT_MOVE,a.preventDefault),a.trigger(this,"hidden",this)},r=function(){var b=c.createElement("div");return b.classList.add(h),b.addEventListener(a.EVENT_MOVE,a.preventDefault),b.addEventListener("tap",function(b){var c=a.targets._popover;c&&(c.addEventListener("webkitTransitionEnd",q),c.classList.remove(l),s(c))}),b}(),s=function(b){r.setAttribute("style","opacity:0"),a.targets.popover=a.targets._popover=null,o=a.later(function(){!b.classList.contains(l)&&r.parentNode&&r.parentNode===c.body&&c.body.removeChild(r)},350)};b.addEventListener("tap",function(b){if(a.targets.popover){for(var d=!1,e=b.target;e&&e!==c;e=e.parentNode)e===a.targets.popover&&(d=!0);d&&(b.detail.gesture.preventDefault(),t(a.targets._popover,a.targets.popover))}});var t=function(a,b,d){if(!("show"===d&&a.classList.contains(l)||"hide"===d&&!a.classList.contains(l))){o&&o.cancel(),a.removeEventListener("webkitTransitionEnd",p),a.removeEventListener("webkitTransitionEnd",q),r.classList.remove(j),r.classList.remove(k);var e=c.querySelector(".mui-popover.mui-active");if(e&&(e.addEventListener("webkitTransitionEnd",q),e.classList.remove(l),a===e))return void s(e);var f=!1;(a.classList.contains(i)||a.classList.contains(g))&&(a.classList.contains(g)?(f=!0,r.classList.add(k)):r.classList.add(j)),u(a,"block"),a.offsetHeight,a.classList.add(l),r.setAttribute("style",""),c.body.appendChild(r),v(a,b,f),r.classList.add(l),a.addEventListener("webkitTransitionEnd",p)}},u=function(a,b,c,d){var e=a.style;void 0!==b&&(e.display=b),void 0!==c&&(e.top=c+"px"),void 0!==d&&(e.left=d+"px")},v=function(d,e,h){if(d&&e){if(h)return void u(d,"block");var i=b.innerWidth,j=b.innerHeight,k=d.offsetWidth,l=d.offsetHeight,n=e.offsetWidth,o=e.offsetHeight,p=a.offset(e),q=d.querySelector("."+f);q||(q=c.createElement("div"),q.className=f,d.appendChild(q));var r=q&&q.offsetWidth/2||0,s=0,t=0,v=0,w=0,x=d.classList.contains(g)?0:5,y="top";l+r<p.top-b.pageYOffset?s=p.top-l-r:l+r<j-(p.top-b.pageYOffset)-o?(y="bottom",s=p.top+o+r):(y="middle",s=Math.max((j-l)/2+b.pageYOffset,0),t=Math.max((i-k)/2+b.pageXOffset,0)),"top"===y||"bottom"===y?(t=n/2+p.left-k/2,v=t,t<x&&(t=x),t+k>i&&(t=i-k-x),q&&("top"===y?q.classList.add(m):q.classList.remove(m),v-=t,w=k/2-r/2+v,w=Math.max(Math.min(w,k-2*r-6),6),q.setAttribute("style","left:"+w+"px"))):"middle"===y&&q.setAttribute("style","display:none"),u(d,"block",s,t)}};a.createMask=function(b){var d=c.createElement("div");d.classList.add(h),d.addEventListener(a.EVENT_MOVE,a.preventDefault),d.addEventListener("tap",function(){e.close()});var e=[d];return e._show=!1,e.show=function(){return e._show=!0,d.setAttribute("style","opacity:1"),c.body.appendChild(d),e},e._remove=function(){return e._show&&(e._show=!1,d.setAttribute("style","opacity:0"),a.later(function(){var a=c.body;d.parentNode===a&&a.removeChild(d)},350)),e},e.close=function(){b?!1!==b()&&e._remove():e._remove()},e},a.fn.popover=function(){var b=arguments;this.each(function(){a.targets._popover=this,"show"!==b[0]&&"hide"!==b[0]&&"toggle"!==b[0]||t(this,b[1],b[0])})}}(mui,window,document,"popover"),function(a,b,c,d,e){var f="mui-control-item",g="mui-segmented-control-vertical",h="mui-control-content",i="mui-tab-item",j=function(a,b){return!(!b.classList||!b.classList.contains(f)&&!b.classList.contains(i))&&(b.parentNode&&b.parentNode.classList&&b.parentNode.classList.contains(g)||a.preventDefault(),b)};a.registerTarget({name:d,index:80,handle:j,target:!1}),b.addEventListener("tap",function(b){var e=a.targets.tab;if(e){for(var g,j,k,l="mui-active",m="."+l,n=e.parentNode;n&&n!==c;n=n.parentNode){if(n.classList.contains("mui-segmented-control")){g=n.querySelector(m+"."+f);break}n.classList.contains("mui-bar-tab")&&(g=n.querySelector(m+"."+i))}g&&g.classList.remove(l);var o=e===g;if(e&&e.classList.add(l),e.hash&&(k=c.getElementById(e.hash.replace("#","")))){if(!k.classList.contains(h))return void e.classList[o?"remove":"add"](l);if(!o){var p=k.parentNode;j=p.querySelectorAll("."+h+m);for(var q=0;q<j.length;q++){var r=j[q];r.parentNode===p&&r.classList.remove(l)}k.classList.add(l);for(var s=[],t=p.querySelectorAll("."+h),q=0;q<t.length;q++)t[q].parentNode===p&&s.push(t[q]);a.trigger(k,a.eventName("shown",d),{tabNumber:Array.prototype.indexOf.call(s,k)}),b.detail&&b.detail.gesture.preventDefault()}}}})}(mui,window,document,"tab"),function(a,b,c){var d="mui-switch",e="mui-switch-handle",f="mui-active",g="mui-dragging",h="mui-disabled",i="."+e,j=function(a,b){return!(!b.classList||!b.classList.contains(d))&&b};a.registerTarget({name:c,index:100,handle:j,target:!1});var k=function(a){this.element=a,this.classList=this.element.classList,this.handle=this.element.querySelector(i),this.init(),this.initEvent()};k.prototype.init=function(){this.toggleWidth=this.element.offsetWidth,this.handleWidth=this.handle.offsetWidth,this.handleX=this.toggleWidth-this.handleWidth-3},k.prototype.initEvent=function(){this.element.addEventListener(a.EVENT_START,this),this.element.addEventListener("drag",this),this.element.addEventListener("swiperight",this),this.element.addEventListener(a.EVENT_END,this),this.element.addEventListener(a.EVENT_CANCEL,this)},k.prototype.handleEvent=function(b){if(!this.classList.contains(h))switch(b.type){case a.EVENT_START:this.start(b);break;case"drag":this.drag(b);break;case"swiperight":this.swiperight();break;case a.EVENT_END:case a.EVENT_CANCEL:this.end(b)}},k.prototype.start=function(a){this.handle.style.webkitTransitionDuration=this.element.style.webkitTransitionDuration=".2s",this.classList.add(g),0!==this.toggleWidth&&0!==this.handleWidth||this.init()},k.prototype.drag=function(a){var b=a.detail;this.isDragging||"left"!==b.direction&&"right"!==b.direction||(this.isDragging=!0,this.lastChanged=void 0,this.initialState=this.classList.contains(f)),this.isDragging&&(this.setTranslateX(b.deltaX),a.stopPropagation(),b.gesture.preventDefault())},k.prototype.swiperight=function(a){this.isDragging&&a.stopPropagation()},k.prototype.end=function(b){this.classList.remove(g),this.isDragging?(this.isDragging=!1,b.stopPropagation(),a.trigger(this.element,"toggle",{isActive:this.classList.contains(f)})):this.toggle()},k.prototype.toggle=function(b){var c=this.classList;this.handle.style.webkitTransitionDuration=this.element.style.webkitTransitionDuration=!1===b?"0s":".2s",c.contains(f)?(c.remove(f),this.handle.style.webkitTransform="translate(0,0)"):(c.add(f),this.handle.style.webkitTransform="translate("+this.handleX+"px,0)"),a.trigger(this.element,"toggle",{isActive:this.classList.contains(f)})},k.prototype.setTranslateX=a.animationFrame(function(a){if(this.isDragging){var b=!1;(this.initialState&&-a>this.handleX/2||!this.initialState&&a>this.handleX/2)&&(b=!0),this.lastChanged!==b&&(b?(this.handle.style.webkitTransform="translate("+(this.initialState?0:this.handleX)+"px,0)",this.classList[this.initialState?"remove":"add"](f)):(this.handle.style.webkitTransform="translate("+(this.initialState?this.handleX:0)+"px,0)",this.classList[this.initialState?"add":"remove"](f)),this.lastChanged=b)}}),a.fn.switch=function(b){var c=[];return this.each(function(){var b=null,d=this.getAttribute("data-switch");d?b=a.data[d]:(d=++a.uuid,a.data[d]=new k(this),this.setAttribute("data-switch",d)),c.push(b)}),c.length>1?c:c[0]},a.ready(function(){a("."+d).switch()})}(mui,window,"toggle"),function(a,b,c){function d(a,b){var c=b?"removeEventListener":"addEventListener";a[c]("drag",F),a[c]("dragend",F),a[c]("swiperight",F),a[c]("swipeleft",F),a[c]("flick",F)}var e,f,g="mui-active",h="mui-selected",i="mui-grid-view",j="mui-table-view-radio",k="mui-table-view-cell",l="mui-collapse-content",m="mui-disabled",n="mui-switch",o="mui-btn",p="mui-slider-handle",q="mui-slider-left",r="mui-slider-right",s="mui-transitioning",t="."+p,u="."+q,v="."+r,w="."+h,x="."+o,y=.8,z=isOpened=openedActions=progress=!1,A=sliderActionLeft=sliderActionRight=buttonsLeft=buttonsRight=sliderDirection=sliderRequestAnimationFrame=!1,B=translateX=lastTranslateX=sliderActionLeftWidth=sliderActionRightWidth=0,C=function(a){a?f?f.classList.add(g):e&&e.classList.add(g):(B&&B.cancel(),f?f.classList.remove(g):e&&e.classList.remove(g))},D=function(){if(translateX!==lastTranslateX){if(buttonsRight&&buttonsRight.length>0){progress=translateX/sliderActionRightWidth,translateX<-sliderActionRightWidth&&(translateX=-sliderActionRightWidth-Math.pow(-translateX-sliderActionRightWidth,y));for(var a=0,b=buttonsRight.length;a<b;a++){var c=buttonsRight[a];void 0===c._buttonOffset&&(c._buttonOffset=c.offsetLeft),buttonOffset=c._buttonOffset,E(c,translateX-buttonOffset*(1+Math.max(progress,-1)))}}if(buttonsLeft&&buttonsLeft.length>0){progress=translateX/sliderActionLeftWidth,translateX>sliderActionLeftWidth&&(translateX=sliderActionLeftWidth+Math.pow(translateX-sliderActionLeftWidth,y));for(var a=0,b=buttonsLeft.length;a<b;a++){var d=buttonsLeft[a];void 0===d._buttonOffset&&(d._buttonOffset=sliderActionLeftWidth-d.offsetLeft-d.offsetWidth),buttonOffset=d._buttonOffset,buttonsLeft.length>1&&(d.style.zIndex=buttonsLeft.length-a),E(d,translateX+buttonOffset*(1-Math.min(progress,1)))}}E(A,translateX),lastTranslateX=translateX}sliderRequestAnimationFrame=requestAnimationFrame(function(){D()})},E=function(a,b){a&&(a.style.webkitTransform="translate("+b+"px,0)")};b.addEventListener(a.EVENT_START,function(b){e&&C(!1),e=f=!1,z=isOpened=openedActions=!1;for(var g=b.target,h=!1;g&&g!==c;g=g.parentNode)if(g.classList){var p=g.classList;if(("INPUT"===g.tagName&&"radio"!==g.type&&"checkbox"!==g.type||"BUTTON"===g.tagName||p.contains(n)||p.contains(o)||p.contains(m))&&(h=!0),p.contains(l))break;if(p.contains(k)){e=g;var q=e.parentNode.querySelector(w);if(!e.parentNode.classList.contains(j)&&q&&q!==e)return a.swipeoutClose(q),void(e=h=!1);if(!e.parentNode.classList.contains(i)){var r=e.querySelector("a");r&&r.parentNode===e&&(f=r)}var s=e.querySelector(t);s&&(d(e),b.stopPropagation()),h||(s?(B&&B.cancel(),B=a.later(function(){C(!0)},100)):C(!0));break}}}),b.addEventListener(a.EVENT_MOVE,function(a){C(!1)});var F={handleEvent:function(a){switch(a.type){case"drag":this.drag(a);break;case"dragend":this.dragend(a);break;case"flick":this.flick(a);break;case"swiperight":this.swiperight(a);break;case"swipeleft":this.swipeleft(a)}},drag:function(a){if(e){z||(A=sliderActionLeft=sliderActionRight=buttonsLeft=buttonsRight=sliderDirection=sliderRequestAnimationFrame=!1,(A=e.querySelector(t))&&(sliderActionLeft=e.querySelector(u),sliderActionRight=e.querySelector(v),sliderActionLeft&&(sliderActionLeftWidth=sliderActionLeft.offsetWidth,buttonsLeft=sliderActionLeft.querySelectorAll(x)),sliderActionRight&&(sliderActionRightWidth=sliderActionRight.offsetWidth,buttonsRight=sliderActionRight.querySelectorAll(x)),e.classList.remove(s),isOpened=e.classList.contains(h),isOpened&&(openedActions=e.querySelector(u+w)?"left":"right")));var b=a.detail,c=b.direction,d=b.angle;if("left"===c&&(d>150||d<-150)?(buttonsRight||buttonsLeft&&isOpened)&&(z=!0):"right"===c&&d>-30&&d<30&&(buttonsLeft||buttonsRight&&isOpened)&&(z=!0),z){a.stopPropagation(),a.detail.gesture.preventDefault();var f=a.detail.deltaX;if(isOpened&&("right"===openedActions?f-=sliderActionRightWidth:f+=sliderActionLeftWidth),f>0&&!buttonsLeft||f<0&&!buttonsRight){if(!isOpened)return;f=0}f<0?sliderDirection="toLeft":f>0?sliderDirection="toRight":sliderDirection||(sliderDirection="toLeft"),sliderRequestAnimationFrame||D(),translateX=f}}},flick:function(a){z&&a.stopPropagation()},swipeleft:function(a){z&&a.stopPropagation()},swiperight:function(a){z&&a.stopPropagation()},dragend:function(b){if(z){b.stopPropagation(),sliderRequestAnimationFrame&&(cancelAnimationFrame(sliderRequestAnimationFrame),sliderRequestAnimationFrame=null);var c=b.detail;z=!1;var d="close",f="toLeft"===sliderDirection?sliderActionRightWidth:sliderActionLeftWidth;(c.swipe||Math.abs(translateX)>f/2)&&(isOpened?"left"===c.direction&&"right"===openedActions?d="open":"right"===c.direction&&"left"===openedActions&&(d="open"):d="open"),e.classList.add(s);var g;if("open"===d){var i="toLeft"===sliderDirection?-f:f;if(E(A,i),void 0!==(g="toLeft"===sliderDirection?buttonsRight:buttonsLeft)){for(var j=null,k=0;k<g.length;k++)j=g[k],E(j,i);j.parentNode.classList.add(h),e.classList.add(h),isOpened||a.trigger(e,"toLeft"===sliderDirection?"slideleft":"slideright")}}else E(A,0),sliderActionLeft&&sliderActionLeft.classList.remove(h),sliderActionRight&&sliderActionRight.classList.remove(h),e.classList.remove(h);var l;if(buttonsLeft&&buttonsLeft.length>0&&buttonsLeft!==g)for(var k=0,m=buttonsLeft.length;k<m;k++){var n=buttonsLeft[k];l=n._buttonOffset,void 0===l&&(n._buttonOffset=sliderActionLeftWidth-n.offsetLeft-n.offsetWidth),E(n,l)}if(buttonsRight&&buttonsRight.length>0&&buttonsRight!==g)for(var k=0,m=buttonsRight.length;k<m;k++){var o=buttonsRight[k];l=o._buttonOffset,void 0===l&&(o._buttonOffset=o.offsetLeft),E(o,-l)}}}};a.swipeoutOpen=function(b,c){if(b){var d=b.classList;if(!d.contains(h)){c||(c=b.querySelector(v)?"right":"left");var e=b.querySelector(a.classSelector(".slider-"+c));if(e){e.classList.add(h),d.add(h),d.remove(s);for(var f,g=e.querySelectorAll(x),i=e.offsetWidth,j="right"===c?-i:i,k=g.length,l=0;l<k;l++)f=g[l],"right"===c?E(f,-f.offsetLeft):E(f,i-f.offsetWidth-f.offsetLeft);d.add(s);for(var l=0;l<k;l++)E(g[l],j);E(b.querySelector(t),j)}}}},a.swipeoutClose=function(b){if(b){var c=b.classList;if(c.contains(h)){var d=b.querySelector(v+w)?"right":"left",e=b.querySelector(a.classSelector(".slider-"+d));if(e){e.classList.remove(h),c.remove(h),c.add(s);var f,g=e.querySelectorAll(x),i=e.offsetWidth,j=g.length;E(b.querySelector(t),0);for(var k=0;k<j;k++)f=g[k],"right"===d?E(f,-f.offsetLeft):E(f,i-f.offsetWidth-f.offsetLeft)}}}},b.addEventListener(a.EVENT_END,function(a){e&&(C(!1),A&&d(e,!0))}),b.addEventListener(a.EVENT_CANCEL,function(a){e&&(C(!1),A&&d(e,!0))});var G=function(b){var c=b.target&&b.target.type||"";if("radio"!==c&&"checkbox"!==c){var d=e.classList;if(d.contains("mui-radio")){var f=e.querySelector("input[type=radio]");f&&(f.disabled||f.readOnly||(f.checked=!f.checked,a.trigger(f,"change")))}else if(d.contains("mui-checkbox")){var f=e.querySelector("input[type=checkbox]");f&&(f.disabled||f.readOnly||(f.checked=!f.checked,a.trigger(f,"change")))}}};b.addEventListener(a.EVENT_CLICK,function(a){e&&e.classList.contains("mui-collapse")&&a.preventDefault()}),b.addEventListener("doubletap",function(a){e&&G(a)});var H=/^(INPUT|TEXTAREA|BUTTON|SELECT)$/;b.addEventListener("tap",function(b){if(e){var c=!1,d=e.classList,f=e.parentNode;if(f&&f.classList.contains(j)){if(d.contains(h))return;var i=f.querySelector("li"+w);return i&&i.classList.remove(h),d.add(h),void a.trigger(e,"selected",{el:e})}if(d.contains("mui-collapse")&&!e.parentNode.classList.contains("mui-unfold")){if(H.test(b.target.tagName)||b.detail.gesture.preventDefault(),!d.contains(g)){var k=e.parentNode.querySelector(".mui-collapse.mui-active");k&&k.classList.remove(g),c=!0}d.toggle(g),c&&a.trigger(e,"expand")}else G(b)}})}(mui,window,document),function(a,b){a.alert=function(c,d,e,f){if(a.os.plus){if(void 0===c)return;"function"==typeof d?(f=d,d=null,e="纭畾"):"function"==typeof e&&(f=e,e=null),a.plusReady(function(){plus.nativeUI.alert(c,f,d,e)})}else b.alert(c)}}(mui,window),function(a,b){a.confirm=function(c,d,e,f){if(a.os.plus){if(void 0===c)return;"function"==typeof d?(f=d,d=null,e=null):"function"==typeof e&&(f=e,e=null),a.plusReady(function(){plus.nativeUI.confirm(c,f,d,e)})}else f(b.confirm(c)?{index:0}:{index:1})}}(mui,window),function(a,b){a.prompt=function(c,d,e,f,g){if(a.os.plus){if("undefined"==typeof message)return;"function"==typeof d?(g=d,d=null,e=null,f=null):"function"==typeof e?(g=e,e=null,f=null):"function"==typeof f&&(g=f,f=null),a.plusReady(function(){plus.nativeUI.prompt(c,g,e,d,f)})}else{var h=b.prompt(c);g(h?{index:0,value:h}:{index:1,value:""})}}}(mui,window),function(a,b){var c="mui-active";a.toast=function(b,d){var e={long:3500,short:2e3};if(d=a.extend({duration:"short"},d||{}),!a.os.plus||"div"===d.type){"number"==typeof d.duration?duration=d.duration>0?d.duration:e.short:duration=e[d.duration],duration||(duration=e.short);var f=document.createElement("div");return f.classList.add("mui-toast-container"),f.innerHTML='<div class="mui-toast-message">'+b+"</div>",f.addEventListener("webkitTransitionEnd",function(){f.classList.contains(c)||(f.parentNode.removeChild(f),f=null)}),f.addEventListener("click",function(){f.parentNode.removeChild(f),f=null}),document.body.appendChild(f),f.offsetHeight,f.classList.add(c),setTimeout(function(){f&&f.classList.remove(c)},duration),{isVisible:function(){return!!f}}}a.plusReady(function(){plus.nativeUI.toast(b,{verticalAlign:"bottom",duration:d.duration})})}}(mui,window),function(a,b,c){var d="mui-popup",e="mui-popup-backdrop",f="mui-popup-in",g="mui-popup-out",h="mui-popup-inner",i="mui-popup-title",j="mui-popup-text",k="mui-popup-input",l="mui-popup-buttons",m="mui-popup-button",n="mui-popup-button-bold",e="mui-popup-backdrop",o="mui-active",p=[],q=function(){var b=c.createElement("div");return b.classList.add(e),b.addEventListener(a.EVENT_MOVE,a.preventDefault),b.addEventListener("webkitTransitionEnd",function(){this.classList.contains(o)||b.parentNode&&b.parentNode.removeChild(b)}),b}(),r=function(a){return'<div class="'+k+'"><input type="text" autofocus placeholder="'+(a||"")+'"/></div>'},s=function(a,b,c){return'<div class="'+h+'"><div class="'+i+'">'+b+'</div><div class="'+j+'">'+a.replace(/\r\n/g,"<br/>").replace(/\n/g,"<br/>")+"</div>"+(c||"")+"</div>"},t=function(a){for(var b=a.length,c=[],d=0;d<b;d++)c.push('<span class="'+m+(d===b-1?" "+n:"")+'">'+a[d]+"</span>");return'<div class="'+l+'">'+c.join("")+"</div>"},u=function(b,e){var h=c.createElement("div");h.className=d,h.innerHTML=b;var i=function(){h.parentNode&&h.parentNode.removeChild(h),h=null};h.addEventListener(a.EVENT_MOVE,a.preventDefault),h.addEventListener("webkitTransitionEnd",function(a){h&&a.target===h&&h.classList.contains(g)&&i()}),h.style.display="block",c.body.appendChild(h),h.offsetHeight,h.classList.add(f),q.classList.contains(o)||(q.style.display="block",c.body.appendChild(q),q.offsetHeight,q.classList.add(o));var j=a.qsa("."+m,h),l=h.querySelector("."+k+" input"),n={element:h,close:function(a,b){if(h){if(!1===(e&&e({index:a||0,value:l&&l.value||""})))return;!1!==b?(h.classList.remove(f),h.classList.add(g)):i(),p.pop(),p.length?p[p.length-1].show(b):q.classList.remove(o)}}},r=function(a){n.close(j.indexOf(a.target))};return a(h).on("tap","."+m,r),p.length&&p[p.length-1].hide(),p.push({close:n.close,show:function(a){h.style.display="block",h.offsetHeight,h.classList.add(f)},hide:function(){h.style.display="none",h.classList.remove(f)}}),n},v=function(b,c,d,e,f){if(void 0!==b)return"function"==typeof c?(e=c,f=d,c=null,d=null):"function"==typeof d&&(f=e,e=d,d=null),a.os.plus&&"div"!==f?plus.nativeUI.alert(b,e,c||"鎻愮ず",d||"纭畾"):u(s(b,c||"鎻愮ず")+t([d||"纭畾"]),e)},w=function(b,c,d,e,f){if(void 0!==b)return"function"==typeof c?(e=c,f=d,c=null,d=null):"function"==typeof d&&(f=e,e=d,d=null),a.os.plus&&"div"!==f?plus.nativeUI.confirm(b,e,c,d||["鍙栨秷","纭"]):u(s(b,c||"鎻愮ず")+t(d||["鍙栨秷","纭"]),e)},x=function(b,c,d,e,f,g){if(void 0!==b)return"function"==typeof c?(f=c,g=d,c=null,d=null,e=null):"function"==typeof d?(f=d,g=e,d=null,e=null):"function"==typeof e&&(g=f,f=e,e=null),a.os.plus&&"div"!==g?plus.nativeUI.prompt(b,f,d||"鎻愮ず",c,e||["鍙栨秷","纭"]):u(s(b,d||"鎻愮ず",r(c))+t(e||["鍙栨秷","纭"]),f)},y=function(){return!!p.length&&(p[p.length-1].close(),!0)},z=function(){for(;p.length;)p[p.length-1].close()};a.closePopup=y,a.closePopups=z,a.alert=v,a.confirm=w,a.prompt=x}(mui,window,document),function(a,b){var c="mui-progressbar",d="mui-progressbar-in",e="mui-progressbar-out",f="mui-progressbar-infinite",g=".mui-progressbar",h=function(b){if(b=a(b||"body"),0!==b.length){if(b=b[0],b.classList.contains(c))return b;var d=b.querySelectorAll(g);if(d)for(var e=0,f=d.length;e<f;e++){var h=d[e];if(h.parentNode===b)return h}}},i=function(h,i,j){if("number"==typeof h&&(j=i,i=h,h="body"),h=a(h||"body"),0!==h.length){h=h[0];var l;if(h.classList.contains(c))l=h;else{var m=h.querySelectorAll(g+":not(."+e+")");if(m)for(var n=0,o=m.length;n<o;n++){var p=m[n];if(p.parentNode===h){l=p;break}}l?l.classList.add(d):(l=b.createElement("span"),l.className=c+" "+d+(void 0!==i?"":" "+f)+(j?" "+c+"-"+j:""),void 0!==i&&(l.innerHTML="<span></span>"),h.appendChild(l))}return i&&k(h,i),l}},j=function(a){var b=h(a);if(b){var c=b.classList;c.contains(d)&&!c.contains(e)&&(c.remove(d),c.add(e),b.addEventListener("webkitAnimationEnd",function(){b.parentNode&&b.parentNode.removeChild(b),b=null}))}},k=function(a,b,c){"number"==typeof a&&(c=b,b=a,a=!1);var d=h(a);if(d&&!d.classList.contains(f)){b&&(b=Math.min(Math.max(b,0),100)),d.offsetHeight;var e=d.querySelector("span");if(e){var g=e.style;g.webkitTransform="translate3d("+(-100+b)+"%,0,0)",g.webkitTransitionDuration=void 0!==c?c+"ms":""}return d}};a.fn.progressbar=function(a){var b=[];return a=a||{},this.each(function(){var c=this,d=c.mui_plugin_progressbar;d?a&&d.setOptions(a):c.mui_plugin_progressbar=d={options:a,setOptions:function(a){this.options=a},show:function(){return i(c,this.options.progress,this.options.color)},setProgress:function(a){return k(c,a)},hide:function(){return j(c)}},b.push(d)}),1===b.length?b[0]:b}}(mui,document),function(a,b,c){var d="mui-icon",e="mui-icon-clear",f="mui-icon-speech",g="mui-icon-eye",h="mui-input-row",i="mui-placeholder",j="mui-tooltip",k="mui-hidden",l="mui-focusin",m="."+e,n="."+f,o="."+g,p="."+i,q="."+j,r=function(a){for(;a&&a!==c;a=a.parentNode)if(a.classList&&a.classList.contains(h))return a;return null},s=function(a,b){this.element=a,this.options=b||{actions:"clear"},~this.options.actions.indexOf("slider")?(this.sliderActionClass=j+" "+k,this.sliderActionSelector=q):(~this.options.actions.indexOf("clear")&&(this.clearActionClass=d+" "+e+" "+k,this.clearActionSelector=m),~this.options.actions.indexOf("speech")&&(this.speechActionClass=d+" "+f,this.speechActionSelector=n),~this.options.actions.indexOf("search")&&(this.searchActionClass=i,this.searchActionSelector=p),~this.options.actions.indexOf("password")&&(this.passwordActionClass=d+" "+g,this.passwordActionSelector=o)),this.init()};s.prototype.init=function(){this.initAction(),this.initElementEvent()},s.prototype.initAction=function(){var b=this,c=b.element.parentNode;c&&(b.sliderActionClass?b.sliderAction=b.createAction(c,b.sliderActionClass,b.sliderActionSelector):(b.searchActionClass&&(b.searchAction=b.createAction(c,b.searchActionClass,b.searchActionSelector),b.searchAction.addEventListener("tap",function(c){a.focus(b.element),c.stopPropagation()})),b.speechActionClass&&(b.speechAction=b.createAction(c,b.speechActionClass,b.speechActionSelector),b.speechAction.addEventListener("click",a.stopPropagation),b.speechAction.addEventListener("tap",function(a){b.speechActionClick(a)})),b.clearActionClass&&(b.clearAction=b.createAction(c,b.clearActionClass,b.clearActionSelector),b.clearAction.addEventListener("tap",function(a){b.clearActionClick(a)})),b.passwordActionClass&&(b.passwordAction=b.createAction(c,b.passwordActionClass,b.passwordActionSelector),b.passwordAction.addEventListener("tap",function(a){b.passwordActionClick(a)}))))},s.prototype.createAction=function(a,b,e){var f=a.querySelector(e);if(!f){var f=c.createElement("span");f.className=b,b===this.searchActionClass&&(f.innerHTML='<span class="'+d+' mui-icon-search"></span><span>'+this.element.getAttribute("placeholder")+"</span>",this.element.setAttribute("placeholder",""),this.element.value.trim()&&a.classList.add("mui-active")),a.insertBefore(f,this.element.nextSibling)}return f},s.prototype.initElementEvent=function(){var b=this.element;if(this.sliderActionClass){var c=this.sliderAction,d=null,e=function(){c.classList.remove(k);var a=b.offsetLeft,e=b.offsetWidth-28,f=c.offsetWidth,g=Math.abs(b.max-b.min),h=e/g*Math.abs(b.value-b.min);c.style.left=14+a+h-f/2+"px",c.innerText=b.value,d&&clearTimeout(d),d=setTimeout(function(){c.classList.add(k)},1e3)};b.addEventListener("input",e),b.addEventListener("tap",e),b.addEventListener(a.EVENT_MOVE,function(a){a.stopPropagation()})}else{if(this.clearActionClass){var f=this.clearAction;if(!f)return;a.each(["keyup","change","input","focus","cut","paste"],function(a,c){!function(a){b.addEventListener(a,function(){f.classList[b.value.trim()?"remove":"add"](k)})}(c)}),b.addEventListener("blur",function(){f.classList.add(k)})}this.searchActionClass&&(b.addEventListener("focus",function(){b.parentNode.classList.add("mui-active")}),b.addEventListener("blur",function(){b.value.trim()||b.parentNode.classList.remove("mui-active")}))}},s.prototype.setPlaceholder=function(a){if(this.searchActionClass){var b=this.element.parentNode.querySelector(p);b&&(b.getElementsByTagName("span")[1].innerText=a)}else this.element.setAttribute("placeholder",a)},s.prototype.passwordActionClick=function(a){"text"===this.element.type?this.element.type="password":this.element.type="text",this.passwordAction.classList.toggle("mui-active"),a.preventDefault()},s.prototype.clearActionClick=function(b){var c=this;c.element.value="",a.focus(c.element),c.clearAction.classList.add(k),b.preventDefault()},s.prototype.speechActionClick=function(d){if(b.plus){var e=this,f=e.element.value;e.element.value="",c.body.classList.add(l),plus.speech.startRecognize({engine:"iFly"},function(b){e.element.value+=b,a.focus(e.element),plus.speech.stopRecognize(),a.trigger(e.element,"recognized",{value:e.element.value}),f!==e.element.value&&(a.trigger(e.element,"change"),a.trigger(e.element,"input"))},function(a){c.body.classList.remove(l)})}else alert("only for 5+");d.preventDefault()},a.fn.input=function(b){var c=[];return this.each(function(){var b=null,d=[],e=r(this.parentNode);if("range"===this.type&&e.classList.contains("mui-input-range"))d.push("slider");else{var f=this.classList;f.contains("mui-input-clear")&&d.push("clear"),a.os.android&&a.os.stream||!f.contains("mui-input-speech")||d.push("speech"),f.contains("mui-input-password")&&d.push("password"),"search"===this.type&&e.classList.contains("mui-search")&&d.push("search")}var g=this.getAttribute("data-input-"+d[0]);if(g)b=a.data[g];else{g=++a.uuid,b=a.data[g]=new s(this,{actions:d.join(",")});for(var h=0,i=d.length;h<i;h++)this.setAttribute("data-input-"+d[h],g)}c.push(b)}),1===c.length?c[0]:c},a.ready(function(){a(".mui-input-row input").input()})}(mui,window,document),function(a,b){var c="mui-active",d=/^rgba\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3}),\s*(\d*(?:\.\d+)?)\)$/,e=function(a){var b=a.match(d);return b&&5===b.length?[b[1],b[2],b[3],b[4]]:[]},f=function(c,d){if(this.element=c,this.options=a.extend({top:0,offset:150,duration:16,scrollby:b},d||{}),this.scrollByElem=this.options.scrollby||b,!this.scrollByElem)throw new Error("鐩戝惉婊氬姩鐨勫厓绱犱笉瀛樺湪");this.isNativeScroll=!1,this.scrollByElem===b?this.isNativeScroll=!0:~this.scrollByElem.className.indexOf("mui-scroll-wrapper")||(this.isNativeScroll=!0),this._style=this.element.style,this._bgColor=this._style.backgroundColor;var f=e(mui.getStyles(this.element,"backgroundColor"));if(!f.length)throw new Error("鍏冪礌鑳屾櫙棰滆壊蹇呴』涓篟GBA");this._R=f[0],this._G=f[1],this._B=f[2],this._A=parseFloat(f[3]),this.lastOpacity=this._A,this._bufferFn=a.buffer(this.handleScroll,this.options.duration,this),this.initEvent()};f.prototype.initEvent=function(){this.scrollByElem.addEventListener("scroll",this._bufferFn),this.isNativeScroll&&this.scrollByElem.addEventListener(a.EVENT_MOVE,this._bufferFn)},f.prototype.handleScroll=function(d){var e=b.scrollY;!this.isNativeScroll&&d&&d.detail&&(e=-d.detail.y);var f=(e-this.options.top)/this.options.offset+this._A;f=Math.min(Math.max(this._A,f),1),this._style.backgroundColor="rgba("+this._R+","+this._G+","+this._B+","+f+")",f>this._A?this.element.classList.add(c):this.element.classList.remove(c),this.lastOpacity!==f&&(a.trigger(this.element,"alpha",{alpha:f}),this.lastOpacity=f)},f.prototype.destory=function(){this.scrollByElem.removeEventListener("scroll",this._bufferFn),this.scrollByElem.removeEventListener(a.EVENT_MOVE,this._bufferFn),this.element.style.backgroundColor=this._bgColor,this.element.mui_plugin_transparent=null},a.fn.transparent=function(a){a=a||{};var c=[];return this.each(function(){var d=this.mui_plugin_transparent;if(!d){var e=this.getAttribute("data-top"),g=this.getAttribute("data-offset"),h=this.getAttribute("data-duration"),i=this.getAttribute("data-scrollby");null!==e&&void 0===a.top&&(a.top=e),null!==g&&void 0===a.offset&&(a.offset=g),null!==h&&void 0===a.duration&&(a.duration=h),null!==i&&void 0===a.scrollby&&(a.scrollby=document.querySelector(i)||b),d=this.mui_plugin_transparent=new f(this,a)}c.push(d)}),1===c.length?c[0]:c},a.ready(function(){a(".mui-bar-transparent").transparent()})}(mui,window),function(a){var b="ontouchstart"in document,c=b?"tap":"click",d="change",e=".mui-btn-numbox-plus,.mui-numbox-btn-plus",f=".mui-btn-numbox-minus,.mui-numbox-btn-minus",g=".mui-input-numbox,.mui-numbox-input",h=a.Numbox=a.Class.extend({init:function(b,c){var d=this;if(!b)throw"鏋勯�� numbox 鏃剁己灏戝鍣ㄥ厓绱�";d.holder=b,c=c||{},c.step=parseInt(c.step||1),d.options=c,d.input=a.qsa(g,d.holder)[0],d.plus=a.qsa(e,d.holder)[0],d.minus=a.qsa(f,d.holder)[0],d.checkValue(),d.initEvent()},initEvent:function(){var b=this;b.plus.addEventListener(c,function(c){var e=parseInt(b.input.value)+b.options.step;b.input.value=e.toString(),a.trigger(b.input,d,null)}),b.minus.addEventListener(c,function(c){var e=parseInt(b.input.value)-b.options.step;b.input.value=e.toString(),a.trigger(b.input,d,null)}),b.input.addEventListener(d,function(c){b.checkValue();var e=parseInt(b.input.value);a.trigger(b.holder,d,{value:e})})},getValue:function(){var a=this;return parseInt(a.input.value)},checkValue:function(){var a=this,b=a.input.value;if(null==b||""==b||isNaN(b))a.input.value=a.options.min||0,a.minus.disabled=null!=a.options.min;else{var b=parseInt(b);null!=a.options.max&&!isNaN(a.options.max)&&b>=parseInt(a.options.max)?(b=a.options.max,a.plus.disabled=!0):a.plus.disabled=!1,null!=a.options.min&&!isNaN(a.options.min)&&b<=parseInt(a.options.min)?(b=a.options.min,a.minus.disabled=!0):a.minus.disabled=!1,a.input.value=b}},setOption:function(a,b){this.options[a]=b},setValue:function(a){this.input.value=a,this.checkValue()}});a.fn.numbox=function(a){return this.each(function(a,b){if(!b.numbox)if(d)b.numbox=new h(b,d);else{var c=b.getAttribute("data-numbox-options"),d=c?JSON.parse(c):{};d.step=b.getAttribute("data-numbox-step")||d.step,d.min=b.getAttribute("data-numbox-min")||d.min,d.max=b.getAttribute("data-numbox-max")||d.max,b.numbox=new h(b,d)}}),this[0]?this[0].numbox:null},a.ready(function(){a(".mui-numbox").numbox()})}(mui),function(a,b,c){var d="mui-disabled",e="reset",f="loading",g={loadingText:"Loading...",loadingIcon:"mui-spinner mui-spinner-white",loadingIconPosition:"left"},h=function(b,c){this.element=b,this.options=a.extend({},g,c),this.options.loadingText||(this.options.loadingText=g.loadingText),null===this.options.loadingIcon&&(this.options.loadingIcon="mui-spinner","rgb(255, 255, 255)"===a.getStyles(this.element,"color")&&(this.options.loadingIcon+=" mui-spinner-white")),this.isInput="INPUT"===this.element.tagName,this.resetHTML=this.isInput?this.element.value:this.element.innerHTML,this.state=""};h.prototype.loading=function(){this.setState(f)},h.prototype.reset=function(){this.setState(e)},h.prototype.setState=function(a){if(this.state===a)return!1;if(this.state=a,a===e)this.element.disabled=!1,this.element.classList.remove(d),this.setHtml(this.resetHTML);else if(a===f){this.element.disabled=!0,this.element.classList.add(d);var b=this.isInput?this.options.loadingText:"<span>"+this.options.loadingText+"</span>";this.options.loadingIcon&&!this.isInput&&("right"===this.options.loadingIconPosition?b+=' <span class="'+this.options.loadingIcon+'"></span>':b='<span class="'+this.options.loadingIcon+'"></span> '+b),this.setHtml(b)}},h.prototype.setHtml=function(a){this.isInput?this.element.value=a:this.element.innerHTML=a},a.fn.button=function(a){var b=[];return this.each(function(){var c=this.mui_plugin_button;if(!c){var d=this.getAttribute("data-loading-text"),g=this.getAttribute("data-loading-icon"),i=this.getAttribute("data-loading-icon-position");this.mui_plugin_button=c=new h(this,{loadingText:d,loadingIcon:g,loadingIconPosition:i})}a!==f&&a!==e||c.setState(a),b.push(c)}),1===b.length?b[0]:b}}(mui,window,document);
\ No newline at end of file
diff --git a/fzzy-igdss-web/src/main/resources/static/css/iconfont.css b/fzzy-igdss-web/src/main/resources/static/css/iconfont.css
new file mode 100644
index 0000000..8c35a41
--- /dev/null
+++ b/fzzy-igdss-web/src/main/resources/static/css/iconfont.css
@@ -0,0 +1,221 @@
+@font-face {font-family: "iconfont";
+ src: url('iconfont.eot?t=1608261851790'); /* IE9 */
+ src: url('iconfont.eot?t=1608261851790#iefix') format('embedded-opentype'), /* IE6-IE8 */
+ url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAACIcAAsAAAAAQNgAACHLAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCKFgrncM96ATYCJAOBUAtqAAQgBYRtB4RPG60zM6PCxgEAIX0nRFGmKEn2Xx/YxtJnq5WXogjVU72zuzLdEuHpq3SQXysxjH4JBsGM4MGCjuVO4hoX7g0WDh7SFVn3T2K57w9JiiY8/8313sHMJpMF+oRkf8sayOHxZVvjWcgKVaFIvrLQ+/9sGvNhZlgi0PokqshHTiCPg9i2l6C67XXfN5kHmGAQNUETSKIJRHGQcdIQ6VYzu5uyqbtphEBISChSjQnNAzUQQitCwBaaEIpSjxPPRmz0O2K5AjYsVxLQR7G8BBvWowgWsIEH9msc15oQ2A5iyriZBZ0Hmmn6hWm0+b7N92cgXJmByOnODoRIBYlULEnFZOWKRak6P7O/u78jSKSCLrfpk4iRvFdVhJ5fi93wPgbZsBwaFG2GboqWlDTpFKRDuGJrY/+tgLwuif7u/OtMV+mInRKqeQ7+8DAWeNnKw6Qvmb7A9dfd5d23QnJQ53t9hiM5RC4ATkirvn0BBS07zFOB1l6njkDj2HXtlmHcC597xvYcH0EAt2tnVuZ/wykPKr4QYz1in0CIlInIQzZ9ZFi9RPic3zYUSPWapsbTq6dSixWtTQG13Ve01Cq1si0eJYQ9sckCoYVWaBr1EIA36udXP+oIAM0liLbrfDkWpb0PvPEoT1vMlDs5hyPAYlNgwDSw0Dc5U13kEU0rOaW+myU2UeLQnjr9KZlcSYWIhJSMghtf/hYIFCKM0Q51GuzW7ojPWNm9/LeTffKuRyYEvKL4n8MnZl0rvW9XsFCrVmfUUzl05E6e8+KD/ar8u62MIP9HvBLtBg0rqmgyugVlcxa0mdCQGFNQM2lc3ZLUlHmLpnXwOo0aMUuJevTrlckN0QY4VX2sLiWoCtAzAvQquhYhIAFoh0CAQQgFYBhCBShCaAAVCB2gCcEBDIQB0A1hSrgpbACUIVyAOQgJsADhA7RBBAATECFLg4gAEogYYAziCFCASCSGUqQAmITIAMYhrgB1iAJgCeIGkEK8vUxBAOYhvuL1p/hDoq4sAEAHJBDAQ4IBOiEhAKOQUIARSJjEUMoqACiIESBCdgD0QOoA+iENAL2Q3QAZpB0ghxwBGIJ8BqAhVoABiB3AQV4CVPEzHtOnlGxgLJQ8ELo8N/owHyUAy9jIPSW+AlB+UD9K0blqhodYTvLogT/KuiTbBAXp07LmupY46YF19FEeR8nae6gRKR5ZOc8IVF8SKxHSeU4rZ/E1U3JWrRiPxZI88sGd1zEIF3ZgLJsNfae5UgbOpCe0s8oyiQkuLeK7i4yS7R6I89tnO0iskTV0VYpPHjlcTPRUOcQhu0NB7Z0xBn2v/BdwNpdD7LRd+RZCW9LSYH85rXYmqGSLNFb2drcglnkihnFYaeuDQnqCepuzdb5eMNR6kePxKpUWrp6L2Y1hcdcK8dntbzqH+F+7WV7ZjP39t/7bbIetrthtMltY2v7Hed2bPbOOkW3B8Ieh9A4bM9mINMiLpRqrew3Ht65HMNvrHkR78k0c8SfWOyPF+Fr3n263PRUsHC4gVxYUxULkuY3CTx4c8bLNLDZkIleXEkJHVQUA2MvItgnMHB74Qxx+xmi2GW57oPHYrYk3sJe2VbUswDHGSxXd8hGqHA4Gi0fBpKZgiGoIrzyzsgjg0sO+mIt1DgNkmYY1f0DnHryJbc72szN8yT5TKtrHGxP3SEd55G5RSVV/JNTZnyjD3a2+849X3S0Y710l3RojM01Xt4Igc6FcSnMgr/24EJzrPzNK2PC6M6qG7rWNVvY7Gu5Zbj3U/z2PhNa6j5qlWjSQZ+mnEA8WfNN9OsaO/15f+cvLqNdd/8rO1RB0fRhyGhh69dj5XC0BKz6ETiMNy/WYyWZK0O8CcNos9treagrH9NUAmISOn7ji5EfFTuOuhEsL539SOjSzJJ2qRxYzyhNMW5jHAAVxAJ3l02OtYwxMMWAWhbBi5NH7eY3VMe5Bl4siALmEYOUeQwhG/Iv4JDTQc8awpKsZnAmP2uaxKOVIN9sKRjua3d/upHMdLiZ9aPI48y0YPfyDOGxsHTpHXpMd2DU2XsdelWasedt+wahdfd5EbklbUkUIP+884m5ophBAfKrxEnKlLhWz+LKmLzCCuchzADwMb5tarjaySFWVeoIQZZhqLd7hbEDNdQpNHVCskneF3aFsuCawzGwdAxEiDoOr6KM6YR1VAPlLGpS+WwOBFZwNvs6sacDSFdXkB90bzaoGjYg6CfBakiX5uhnZ/mc0uPr3dHjjz6HAyl9Z5iZIUAjTDqy+OtXL+sgPJrW8nqzcVizt0jJuLZevl6sN6Pg3SscjjNsutNHa6+VSCVDlRFe0jNxhrQsjAlfT9p1t3fV2x33UUlIzHgtJ1wXGMzbDZK0Fw57tJQsN9030M9YkpEymzbrT7LYW9twE53pH8d1sxAuHqc/dWYXOqFK4euRMyALtalUmde8orhTtypFG8k3spZUi7VOiRo01k32XK4A5c66VDqL5cZHXWjt39QrCJrg4pBvWd9PaPzNecv8GH651Z4rQGdzqwK2Th/eU0NbfI9/3y61b3Ylf6zpg9y/KAea42R5mY/8/qtj7zSaH2Le48jPde941n3eUM/sj/+hZBKUcjQJU32gSg0YbgxBXqVJUHaKjYNh8xfU9d+dyrAUjoAgUMvtZ25Nrsr0VpYZsgiv51AOCc1m9vfu43/UHjxcb6YFyHRxjtTMIIoAABhjibMJ9oLO3A8BwABwBzLrr7TfikJtnhYNOt2o8QiAh829Ic/7JjiYYR+HSAehhzRdyBENY60x6lv9c4pUC/VCV89p7i/28QscZKWJQWrhUAz15ofIYxf3dWEDnTzYOho6tNKcGto9GQ450eVL4AJXccTBUPEpHPOVIdM6tFIqbms0Vwl91jzhffiaOnC/3iB2xu2S2Setq9eEdvlHYOuycv9e8K9s7k3qA22nutu+0kT0j1OHzy3/eiuhDwF8JiVMKFa9r86/hBVRp7Pic/sk1A+Wb3pFz6B687oazCAgMwFMYGAzsOsVqCGFjC8beQzvl98WsUizK4NW4lmzennvbpZ0WGK3t22d3vTvn97sA/Uc7p9m/EpdKbmqu8h8YdP6bnldV7CVny/8Gc9SbfWo4KyMReuhCKBDCQBQmMDYs7Ck4FpkPv3RDLtdyhGqVN8kXcxLI98vHUr74EodBPcg2BV3CLk8IDmAvSouXUJFS8FNIjytH1+NjTX/VEFJ9WetxnBGija6BvDWJCRYiIqZkpWEMC5X2YHybFMXGBNKRhGEAxLUT0vYmGEpB+Y1xiZT6Bw1xMKZPQgoVXqXAgq47yDdpOo4FxYNw8Tuc2UzQcSwIwVSBFdw709EkAIJJsAeIR7AoH6KUen27STKmaUwDRBBMTKaiqAKmxhDge22vFmU+wJjj1sYB0yKK4fpOw6uzWoZ0JPDZGYeFQ/tpSv5CciSlRlJA66ClAgeol0BQz8ih7weBFKdzjtUSvRUfGj4zvOkPU8wwiBjP23AhHIoADJF6CrAM0YuDCGQ5IakjrvUI0qcolG8Io0loRrVFiGZYhxfgZJaOguigwzfDWDNCRDXi0odayfawfUwo+RzjWq+UZZIUGmwQXDrauWOvcxvnQGOCmJLM5NoY58iSUntKudy+7sv2o2bzUezt08ZXg8663gCL1krfT1TW4Xh9antysjG6OjFR3o01r4z+hn/V3MYwxDAMMAgHEMAQwQi4ULMvyA1tgS+T58V2hTrXXiJGxLBSDG4pmgk6fsqUaNFjuhO1X+njvIZ6ZYBM1vkYCR/Cm2D0oMebTxn2h8CafdyzsJ3rhu0kYGUPBp39NCzvgtnxZCE6xPXnt8In9L4CbhnnOUdo4yBqL6Ac03MiWNHlXqq0o/EEFsUKlCoFEOwOy2DBiceVwkZNioMld5HaCntE7Car+/RGTJHf0LV8cwp7gsTyLGohWadTpJbrRqu5E1J3kSHyhOzMKGckRm85eE4zsaL73u0abtiyAJFPaIzoUjz+29N7hpf/tFxlTc+GVzsuhuywdIxX2p6Mjttfq9hSre8iz/JweaQMV13KfidGNkpJmv8tITcAyUSqmaCUEYmy5istyrn9xwcyRjOXs364Z1TWna/SVUlRSqZqQCh9fZoZZFIVtDetoo2lBiWGOGnRxIQsaXfxHBmPJrhjYVaSjEV53npIK9PJ5LBYflXoaHpcVOm9qqhPKPoCyIm167QnEqVE4kp0daqS0m/Tb9ALg4OPwEfjxTi9nt5Oq+n0NfiqZDlJ7iTXknwMPAwyzQAO4dDirPtbRsVfg3XSSs1O6fFCsRPNCb1WS7FjJMa1UTnQBBmx4+elScwTp0l2snNQKZquai7Hv+/WaC4avU67o3wtQ2ikUU+1TMOZWhqvSauWUTxcS5IfMyZisalTw3+v41yNdvODUmSh2CslkzEXFo2lBSuzZGd7tw5Hgmu2jDkcWD74oEjWgKiTPtWgwSI6ne93paPogBCMX5iWwkeyAiGJKVMjUo7SuTZU0iYk3bgg4zx6K+cAsI/IVJ6McVEFi6CTggwLMepQdFTkdqEWklIBMqPU4F75l1DIu7nLYwePlb5F1/iew5sLn8O1eMOQCY1JRYSQpNmOxV++vAyYNF8n9alNb6baoI3RNehcX1i3SbGkrDEUqY8X35KPiTz4zHfpM6lKRAywqBriXdnss8SwlIVIzPIKobW6epcKq9ONF4XBiYJA7Y5VOZ9D6O9PwjQndtCSRJ5kgkXh6rFAhNQyw4FczfUHg2GZp6Q/DgdRwO53CGUWe1htDgeXFgI46Hp6cLkOso7oQ1eDxyNOj98dl92O2z/UdNvlfsKB+6P3gy6nn7livhwwFn5u7M6Y87Dh0EjzsPRB8sFuewmBVzPP9ufcGFccfRB9fcy14/7GVoKvC2eOjenZN9taohWLPRikKdLKwEWf97tQuNj+ywwWzOys8mCATAS8fsCtT2LtyGqUWUgnpimfiQz7qEZB1NsoMOVQVtcs16JBrZZQyRyqPwfMybrRb79FJ9SdEEEd79BpyTj5JAJwtAFyVHsB+/dfrAlvmC6hE945gj58iBI6khBBEc/TVcyo5JM8AMfTAlTbQ5sdSfwnfMDx9I2sKnEyTnUvcottjvFMJpJpxpU4Wd3yLWMYnbB8axlCJ4vPQWMpOsnIymx6vs6CW7Yg2UhWkCyYvUMw59mY9O93MVVlF17PmFBNMircDg0IijgTG5TaYQTZSw9GBaYN63a26+omQxI65hvX+hv/lzbuGpGoQ/zq4JZbYtnDywU8h0P4WsYJB6VpbEwhudGhYeQwNMCMFLe0FCNnU85Gw+xsOKHoxQOLn0Yx0tKiUlkaNaS4y/o/mUvpSDn6ZWKT3iOp8WtPvaf5j/bZYEOIfrKJelxTksEOPDubBsvLkXQkzVoa1DBF6aDmRIDMZTAcRmRmRuSeZZnwWC1bxtfFg/p2A9lHGmx2eaG805pBDhIFtqJwIG8opxe0rw8H4cYRM6y9cpOsaxeIPiOBG3Q6EzlIGiJ1GcTQynIbnDSjeX3KJmttSGqrorZ6yYe/VoftkMXvhV+tQRPRpK9K9kLVStaBylfasm0X8jgg5Ggw0IUx/Jm6UCAA08H0ZzzzgMZdOTPUPdQZ/yztTYzDDDVuUxFXTwO2wGEuW7lbq9MJdwvTLfg1DUZzARHN28mLJgA3GnaKkPXy4A1+Db9BzVyPnF8372jgfwTmg6T9yt5K5al8uljyXS7gvguqAJ9BAjMoWrzHjyQaFjByMUc2vmYBXolFEpHiFMe9XC+WpsFOx23jRoodwd0/MrE7nUnJ9Hn6f+y337CZd+7X389jzTuCbf9Ffv8tqcQe5Np1dDe659q1Pbnn+jXU7fXruxEAdrW7mMuZHIXUdfTClKtUweWi2vApXRJH4awYfTrFc+Zxk3RftRcUPAWXK5a3XxkaKi0r4BV0dZl4E2ns319aKtb3ZMJETvKA7HnVfczJCZt5Y06S+5TmHaGMrV1wchq7foT18Xl8/9kDrIOsT3rxj890xFqiYyrVajEjOWSE6Avv0yVFghJj4ZLCNldysI1GqyprmK4KDa2qSc9AS4P98GEWcaxfF+0bR7ATl6dM84NvlZQooqmlZb1FDgzq1qWuewJLSrL3cGF4akY4ZlkW7cTCwjNSwyGf9mdJiXK5YjlhwXILuku9Z4F7rQUpZAXAUAc2RyNVsvsfPWqTaCRtV87+UbVUw2F70gJz5tE3VI/WsZW3jeapfr7J77P84TIBZY+cCbrB5bfBGLCTbWVJV4AcBRVQFDkgRUEBVEXg7Ao2kIhlxUNY0uVmoVmAYDcNbN8OP5Y7QJjVv3+UZfOjJrtPdFzMMr38jkE4TJZbBAIcM71a4jDpP+k3yZrJzlnZdo2GTy0WVVi/svgvxduLT1CXH7BzMDfDlrjQe8tGp431rEqfbHW60SEbeYjJ/6U0sXMuP7CvhhmRFeJt1atU7/jXLzofp0k7AFeix6jjX6HN+ywKPYZ10l8AFU9tNL73HpaXh92NLJKvd1/PL+I3uDesum00ttllgwa73A7mlri5V9gdYrI1/vmz+YnzNXEZMANlsDKumAfEzT7uBfgTxmhmqCaDF62Oi1dVE6aIkGon+gVLCiuFqLTTvfOcHXzzZ6t18/100YhJE1p42fJEbHD3baI/Nl/JZDLQDBjlp/03n8z3c3Be+g69c+ujVcHris7NdrgcaH3NUjIDwtvCpA6e1kCtv0cSs+OAS8fsuZiCL7XqDo8XiCrJwz9Qa/V0kIZZNeFMJStFfcJ13kTo4VRYWgpT4YHpEjohoTs5mcl8qd3KBshR8yNMLsceNZbLU1HXUB72Y+9ptmLT0xgh64IIivXRr1aUi9/On6GVl1e8Vb1dI5TTZua/FQsvW4cBLLAsf38qUhY5FSSDGy32GrmX0a6xG71q5LvscKPMd5Z2Oct4oSp2SWHMkm0gAKkxd2iCNU5mp2w8ycJNHZogTUeaLkgnWWIWInYYhExppUI7xRmza6Vau9BZZLc9nJpSxwWBoFGt8yVk4/7/bSBchAEBQpeNxO+QwI2XnKd0Mh2XrxLM53ug81EVn6uRaarAzKUFbsv1+uXuq4lE6Y8cC0CIfBnmRrqhSS7WXGyO9TqHcBgUs7MOIEa5ly5x5Qj52/u9r1vtELX/UWuH2N2tWEUkDaVFVqAqnU7wWjUoGMQ6hYPCPgGKBgSgcmqk+uoJ0AtRYAcY6AVyup1np6NOBqfBDh1zENd3vMY7yU78ZRjTpzqwBqI/NH76FKK2nxfhBojVZBTUQ9TAs4OBgD3IcC+5m7Hr2NetMotk5kP/Js8Pqv+pC9M7x/XVwBOtjtWC6pJbpf5lPg/DdbnafNHUUsPTdSpbDDE0RIKA1cUtSbCoCCZwYFKRicSDKxa6p0FPhw82hRIuW/ZVakROF/fzggiry1B1n3O7cnQUgqLLaVF5jrCj+PMRN2S+R1baEV4Ue12oKcwUuk4kjeLLEHdE5sFsgThNeiuFR7lJJVNYnyv1JkVBk7EB+xYLsG8GZt3SmrSg1XOLwkMKzlMpz3GLze2+dZnLPuJIkptUVyDSfyqPLvNTbzq1OxdATRmmnS5vhf4tl291rx8E5X0uOapMUjofdfPU0WPog9zKF6QoJRtFTsvuHJIcOx76gfTYgXuymEXKzQcc5xEJkpvnZcB334WPdt4wXUInVEZBoxESikqIoPgyAem2WtKJXtm+uxKJB+Y494jAsddJnj7xlnQDaEBP9yANdBtdHGeIN4jxdjp29MGTwyjdRtjox9FvXjCPu9AfOFQMra6od6ynJezUPEuNuCanwiBz6NPDqNzHJP4pJrpHBt0/Zwz0Ttq9fDmoQ3vOIHVsd/QhZCGXACbATxi1y/o+G5QNDv/BByaSIOv42lC556Y+WZ+tlu+yEWFt+6B8sL3gPvd+4MS1JZVYR/L/mDC84LwItC4L4xqF6pgaVAEBZEAE/fNXDCKErOk4T+ENED1Sd6h8aZiCCAKQ6i496qoQXkowL0EhApMaeYTnqlKj6ykOuYHdNBxYGejAgKG38Un+q9WVGEDgPL23Yh4spNgg4HHhVupqBpzCNSSQL4638AAkGFs8HCg1aJWC5w0hrw8E5wYt28AeCk5laVp3Uv42+m1UMrKilt/u3u5hC1IdLQrcSxIQmMbwoQs/bNvKE9/DebucdZJ7El13/xfdEU4bJbqgAHwzHmApsWZGREe5p7nPeOGZ4frowLRA98wRspDIBIUgDZpgJmnigenSvrqdFzJYaX0jI4usmtXeq80ZZoSUr5aTSm+lQkjNFgSbi7orqDkhOdTuZGYLC6EmtOvSGhtra9Mj+byAwJo03cuXjwsj08+dJWBu8UeJN/gHbaIfKxL+cX3V07NCyvJsfNAvqJsySA1T61sK2QaGUvGmIoDmT9NUvFmNGSBootk0Y4N3FfQm2TXR96luy9ZuyWV35xRhjTS/jLhYlJAjUGlSaqlbIaa7NHaf9yJu3i83lrkJc3MJQHHHJOnMaRbNqEsm3X7YvOnh2ZYUdpCoUC+X6wvzEZjvoMsf9S5Xb92sjqaNgeCTCSvutNzOuN14Z6VAP3h7MHJENBKluOgR4UjkhXoQftduMOLt1Ws/BgzZh3TrSF+dG/4uiLTnbRYNiZRvXqd3NiTbG+ulosGU4RQ7xUzpE/1X8KvwqER4xemKUCISE34h0V6RXtFKUg6F8EdRv/SqKFHUIz0l8vHOfjpeCk7erdP5JH0AMpCmc2eb0OYpCGkCCYu3bvpgTUjtMNyK9f31Vx8GDz+bgU2W8dffiBK6QXeC6FP1ImCu9iVS0P3YR6dvYySJpec2SQbxSrJ+mXY+JUZ3p0kGAqwchqdXXMHH8fOW0gF4W7hQTiw02QB9aaznx4Y4L08mxzqLomEnDeFBaKIFR2dZpkvDx4nz8mikrdCTIDxq2kn60jjPjwtmDOPQAYQx6aSUe8jd0vs7mVwTP9INEqaCL34N+e2WHYFRbqiJw+zsV7sUUhtdcQp5OiVif0RdSP3CVIPo3fgm7oJVuIG13fV0vD6zHqfXex+WpgenL0z6g3dAzjFrRMAqfbT1GId0JjmluF9OtyZEPn30kM2tD81+HFjy/qC/22IAsOhlc31FgeRftS4KRfX6BVp9pNLRX3fP0V41qrpTRTz1U/g9fY089yRUHPd7NKr7mqTNi2wRvXdvdhe3JlcR84ltS2qLL9+826u2STczzz2+585REZ7PH3z8nctEZO+9m5eLKpL+I6qSKmq6H9yzufYmbnFeEb+dbzh6aGTSFw/NF4zxxgT5oX/9OznS2mOIWCVYFWHoaR2Z/OfP0HzhGH9MmB/653f/XWrtKeCvFTiap4c50snR6Um2iP62VrhP1UT91LOR2tu/pq58fG1o+5Dt6s1VvxUvSuV6c3P9i34vvXHKNtEeuumGp2fdM1GDC9GzOk/P65vC2iesPTfW/lbsl8s2m7qo+LdVN65ah2y+a8fQYP7ZYZ14rA635NVkrMdxge4CfkHg9hf9Q8P6ZktE+G18IDzikKXetJ7xlxvah/fRI+AfmTLNhzby+PyX07fZLhNTo0/ZDrQAcZunbKPacImPbdgqTluT6/cu1t7ssU5idNupG6W/F/nfs8VFvxtv9NuArx8viDiU06k8jv/AD+LKjBrLIfUMxuNwNQLNM0PQR+8b/iYNGTV8MBc8BnOPTt7y5TxetvsgoLvuY/kcMo3OXfOxcg6dRuZ2flwNd5qjmfp4SsOZ1pTQHziMCeGEhWPBbt6G1clbWvUuhjbDdPrrN1gU9TzuRv+KGih4/Sp9mthNTmBprTa9opnuTm+pSNN+2BroYmg0zKa9ef1rNO0Wc/N/WvSvD/C0acOnBpm+dUvSjpz9LG3fjY3auVj5owQfUd8ievT9eKnF6FeVrqq/JoWJ5ielLd6xRx49zx0POr5YtDZ/0bN37GLP3/KM9na/5KRyj7FO67Nf56nc9/T75JeKFp0IGs99/nh7cIvX2iebkmRkbK2sijNs/+m4HbziDkTeoI9+H1lKc//xIUUupzwMLJenQW0LZEfXjGACPjaKjTgyQknM54vQ6HbauS/Q3IGFC9cJTGAZPzMwrCvEipvMyRYTnkw3Wfo62NSfWE2iBqbCGl4yr57XywRM2DHKAqMn9GjbvLbHHVLlj1fpS18CEDKqUJY+L1WSBhLpW3V+FUIamJ5/z+wK2xs283cUYQAvQToJgkkzrcuP0NL8Y5gNzJhn5tm7AykD/VrC/CxsG2KY/jRC69eV0uVLmG4mWqJ/ztytrGDoMd+uyqWTCyu/+loC+eqSBFCYjyV8I7DNaxcGkCA+veCnL6fT82ECMV9l9bKqJtAEU/7xkx5Lk5d6hAzkpNIJJUGPEH8BFleSK1ERtsK1RCgSrOwg1ghEwhWKFYXyL/a4xHUFJkJXkuALnHGS8TRvx/kPez/cmQfe//qPH9/aZ0FENQ1wDIDWVB2onEcu10gL7lqX0DDOXieqjx8bgAa7et5DMe5mPaiKuzVU1I/b2W/ou+wY64P6fYUhuH39gG5AVpRn6M3IV1N4rqDR3K7OoWZurq3In+qlqTlzu9CdXEdTaL75pC9QDdB0iKwLd6RTaHZ8vGeodyj6eVQytH4K+Y4/14xMXRZuoLtoELcWvYx8r1vGe0rd3AUVvgxtMksvjwRm1zPma80Q4Ea+MBHfTaMU8gop4DO054BpU1/9z3+vB+L18GSWXQr7B/wX7dd8Q+pXhVsxfcYrEGiRpAJeZ4uZSsBBK+3EP6sDHC0fHjmSR7K6rnI82IBHoPMTL92U5fj7f1zxOkCpfAz8H3t61Q+uNpyFDIWSb+HVEj1eIxhmbeW018kse71gz5uacrb5TM0jVargACa9Yl6l7JNXK/rsNcq+sLbyu9dp+u/1ymG8qavBLzAzGvdT3SOgAQRiS2S4s1KTQ+e89wOomFFfDKgrX8AXZg7Cs/PV+07Bgh/CoZgpEoJE0rscnbDtgyxzaOpdAjyMdAjT3fHcHcpxxF1e6jjiASpkIwvIDctJ7+McS75w0KkN/gOgRBnKtyxzN+kL4BXMx0cWzJp3YE9l67TMUKyPzSjEE04klCzsOTnklBOQybiDPKDzJQAXjNzzMKd2zfEHuuMqj6ZX84egzJ1vuVExy6EhCjFIgVRIg3SIQ8Zv+d9pyIYcyIWEiqqauoamNu06dOrSrUevPv0GDBoybMSoMeMmTJoybcasOfMWLFqybOWY1CmwSkTXUmE8pxOXmUKbZnBWrZCRGGDUqkFqCmPVkiI69sxwTQSdVrevyahjhrpmoanlOlZ1gsPcij3XNKW2Pwy20DU12jmYhtwjao2ASsapSOe/i0PqwrTnwIb3OXVoSCLJwtiVl9IwkganY7bbFtGGkznCpq6oqGmOFeBtJLFV8UBt63H0GhUnZ+YETVIM0Zx06FeYMssAFV6b4HFreZeBsGMxB1vBG36uti4DFD0hBGNV61qI4bgwV6LPM0C0EV9WmlwIUzjtMJ5oIeJXOi5hLdzwjk/GWtQhp9nGVRObrAIAAAA=') format('woff2'),
+ url('iconfont.woff?t=1608261851790') format('woff'),
+ url('iconfont.ttf?t=1608261851790') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
+ url('iconfont.svg?t=1608261851790#iconfont') format('svg'); /* iOS 4.1- */
+}
+
+.iconfont {
+ font-family: "iconfont" !important;
+ font-size: 16px;
+ font-style: normal;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.icon-gengduo:before {
+ content: "\e65c";
+}
+
+.icon-gengduo1:before {
+ content: "\e6a5";
+}
+
+.icon-gengduo2:before {
+ content: "\e609";
+}
+
+.icon-lishi:before {
+ content: "\e75f";
+}
+
+.icon-tongzhi:before {
+ content: "\e6bb";
+}
+
+.icon-jiebang:before {
+ content: "\e635";
+}
+
+.icon-bangdingyonghu:before {
+ content: "\e616";
+}
+
+.icon-shishidaping:before {
+ content: "\e60b";
+}
+
+.icon-baobiao:before {
+ content: "\e619";
+}
+
+.icon-shanchu:before {
+ content: "\e624";
+}
+
+.icon-hj1:before {
+ content: "\e692";
+}
+
+.icon-baobiao1:before {
+ content: "\e65d";
+}
+
+.icon-chakan:before {
+ content: "\e69a";
+}
+
+.icon-zhinengyunwei:before {
+ content: "\e606";
+}
+
+.icon-fangda:before {
+ content: "\e826";
+}
+
+.icon-shezhi1:before {
+ content: "\e60d";
+}
+
+.icon-dkw_xiaoxi:before {
+ content: "\e607";
+}
+
+.icon-web-icon-:before {
+ content: "\e6e5";
+}
+
+.icon-shezhi2:before {
+ content: "\e61a";
+}
+
+.icon-xinzeng:before {
+ content: "\e621";
+}
+
+.icon-xiaoxi:before {
+ content: "\e615";
+}
+
+.icon-caidan:before {
+ content: "\e608";
+}
+
+.icon-xinzeng1:before {
+ content: "\e613";
+}
+
+.icon-xiaoxi1:before {
+ content: "\e600";
+}
+
+.icon-xiugai:before {
+ content: "\e631";
+}
+
+.icon-chakan1:before {
+ content: "\e637";
+}
+
+.icon-xiaoxi2:before {
+ content: "\e762";
+}
+
+.icon-caidan1:before {
+ content: "\e60a";
+}
+
+.icon-shezhi4:before {
+ content: "\e684";
+}
+
+.icon-yunweiguanli:before {
+ content: "\e688";
+}
+
+.icon-baobiao2:before {
+ content: "\e74b";
+}
+
+.icon-tuichu_huaban1:before {
+ content: "\e686";
+}
+
+.icon-baobiao3:before {
+ content: "\e6a9";
+}
+
+.icon-xinzeng3:before {
+ content: "\e601";
+}
+
+.icon-yunweiguanli1:before {
+ content: "\e6a2";
+}
+
+.icon-bumen:before {
+ content: "\e605";
+}
+
+.icon-15:before {
+ content: "\e63b";
+}
+
+.icon-tuichu:before {
+ content: "\e638";
+}
+
+.icon-shezhi11:before {
+ content: "\e618";
+}
+
+.icon-setting:before {
+ content: "\e61f";
+}
+
+.icon-shanchu1:before {
+ content: "\e614";
+}
+
+.icon-xitongyunwei:before {
+ content: "\e61d";
+}
+
+.icon-shanchu2:before {
+ content: "\e62a";
+}
+
+.icon-yunwei:before {
+ content: "\e62e";
+}
+
+.icon-tuichu1:before {
+ content: "\e60a";
+}
+
+.icon-xiugai1:before {
+ content: "\e63c";
+}
+
+.icon-xinzeng2:before {
+ content: "\e60f";
+}
+
+.icon-zhuye3:before {
+ content: "\e62b";
+}
+
+.icon-shezhi9:before {
+ content: "\e611";
+}
+
+.icon-shanchu3:before {
+ content: "\e62c";
+}
+
+.icon-htmal5icon06:before {
+ content: "\e622";
+}
+
diff --git a/fzzy-igdss-web/src/main/resources/static/img/ico_user.png b/fzzy-igdss-web/src/main/resources/static/img/ico_user.png
new file mode 100644
index 0000000..a64fc75
--- /dev/null
+++ b/fzzy-igdss-web/src/main/resources/static/img/ico_user.png
Binary files differ
diff --git a/fzzy-igdss-web/src/main/resources/static/img/login-left.png b/fzzy-igdss-web/src/main/resources/static/img/login-left.png
new file mode 100644
index 0000000..5ea559b
--- /dev/null
+++ b/fzzy-igdss-web/src/main/resources/static/img/login-left.png
Binary files differ
diff --git a/fzzy-igdss-web/src/main/resources/static/wx/wx-common.js b/fzzy-igdss-web/src/main/resources/static/wx/wx-common.js
new file mode 100644
index 0000000..9d69633
--- /dev/null
+++ b/fzzy-igdss-web/src/main/resources/static/wx/wx-common.js
@@ -0,0 +1,32 @@
+/**
+ * 寰俊鍏叡宸ュ叿绫�
+ */
+var wxCommon = {
+ //浠庤繖閲屽紑濮嬪啓鏂规硶
+
+
+ /**
+ * 閫氱敤POST璇锋眰锛圝SON鏍煎紡锛�
+ * @param {string} url - 璇锋眰鍦板潃
+ * @param {Object} data - 璇锋眰鏁版嵁
+ * @param callback
+ */
+ postJson: function (url, data, callback) {
+ $.ajax({
+ type: "POST",
+ url: url,
+ dataType: "json",
+ contentType: "application/json;charset=UTF-8",
+ data: JSON.stringify(data),
+ beforeSend: function () {
+ },
+ success: function (result) {
+ if (typeof callback == "function") {
+ callback(result);
+ }
+ }
+ });
+ },
+
+ //姝よ浠ュ悗涓嶅啓浠g爜
+};
\ No newline at end of file
diff --git a/fzzy-igdss-web/src/main/resources/templates/wx/bind.html b/fzzy-igdss-web/src/main/resources/templates/wx/bind.html
new file mode 100644
index 0000000..65571f8
--- /dev/null
+++ b/fzzy-igdss-web/src/main/resources/templates/wx/bind.html
@@ -0,0 +1,170 @@
+<!doctype html>
+<html lang="zh-cn" xmlns:th=http://www.thymeleaf.org>
+<head>
+ <meta charset="utf-8">
+ <title>鏈嶅姟缁戝畾</title>
+ <meta name="viewport"
+ content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"/>
+ <link rel="stylesheet" th:href="@{/ajax/libs/mui/css/mui.min.css}">
+ <style>
+ .mui-content {
+ margin: 0 6px;
+ }
+ .mui-content-padded {
+ margin: 10px;
+ width: 96%;
+ margin: auto;
+ margin-top: 8px;
+ }
+ .mui-radio {
+ float: left;
+ }
+ .mui-radio.mui-left input[type=radio] {
+ left: 1px;
+ }
+ .mui-checkbox.mui-left label, .mui-radio.mui-left label {
+ padding-right: 20px;
+ padding-left: 35px;
+ }
+ .mui-btn-block {
+ width: 96%;
+ margin: auto;
+ margin-top: 10px;
+ padding: 8px 0;
+ }
+ .mui-input-row label ~ input {
+ float: left;
+ width: 50%;
+ }
+ .mui-input-row label {
+ width: 27%;
+ }
+ .btn {
+ margin-top: 4px;
+ margin-right: 2px;
+ float: right;
+ background: #EC971F;
+ color: #fff;
+ padding: 5px 5px;
+ }
+ .ts {
+ margin-top: 10px;
+ }
+ </style>
+</head>
+<body>
+<div class="mui-content">
+ <div class="mui-content-padded">
+ <form class="mui-input-group">
+ <div class="mui-input-row">
+ <label>鎵嬫満鍙�</label>
+ <input id="phone" type="text" class="mui-input-clear" placeholder="璇疯緭鍏ユ墜鏈哄彿">
+ </div>
+ <div class="mui-input-row">
+ <label>楠岃瘉鐮�</label>
+ <input id="code" style="width: 45%;" type="text" class="mui-input-clear" placeholder="5鍒嗛挓鍐呮湁鏁�">
+ <div id="count">
+ <button type="button" class="btn" onclick="getCheck()">鑾峰彇楠岃瘉鐮�</button>
+ </div>
+ </div>
+ </form>
+ </div>
+ <button class="mui-btn mui-btn-block mui-btn-success" onclick="binding()">鐐瑰嚮缁戝畾</button>
+</div>
+<script th:src="@{/js/jquery.min.js}"></script>
+<script th:src="@{/wx/wx-common.js}"></script>
+<script th:src="@{/ajax/libs/mui/js/mui.js}"></script>
+<script th:inline="javascript">
+
+ var openid = [[${openid}]]; //鐢ㄦ埛鐨刼penid
+ var c = 60; //鑾峰彇楠岃瘉鐮佸悗鐨勫�掕鏃�
+ mui.init();
+
+ //鑾峰彇楠岃瘉鐮�
+ function getCheck() {
+ var phone = document.getElementById("phone").value;
+ if (phone == null || phone.trim() == '') {
+ mui.alert("鎵嬫満鍙蜂笉鑳戒负绌猴紒", '鎻愮ず', ["纭畾"], function() {}, "div");
+ return;
+ }
+ var flag = /^[1][3,4,5,6,7,8,9][0-9]{9}$/.test(phone);
+ if (!flag) {
+ mui.alert("鎵嬫満鍙锋牸寮忎笉姝g‘锛�", '鎻愮ず', ["纭畾"], function() {}, "div");
+ return;
+ }
+ //璇锋眰鍙傛暟
+ var data = JSON.stringify({
+ "data": {
+ "openid": openid,
+ "mobile": phone
+ }
+ });
+
+ $.ajax({
+ type: "POST",
+ url: "../wx/gateway",
+ dataType: "json",
+ contentType: "application/json;charset=UTF-8",
+ data: data,
+ success: function (result) {
+ if (result.code == "0000") {
+ mui.toast("鏍¢獙鐮佸凡鍙戦�侊紒");
+ //鍊掕鏃惰鏁�
+ count();
+ } else {
+ mui.alert(result.msg, '鎻愮ず', ["纭畾"], function() {}, "div");
+ }
+ }
+ });
+ }
+
+ function count() {
+ $("#count").html('');
+ $("#count").addClass("ts");
+ var interval = setInterval(function () {//瀹氫箟瀹氭椂鍣�
+ if (c == 0) {
+ clearInterval(interval);//娓呴櫎瀹氭椂鍣�
+ $("#count").removeClass("ts");
+ $("#count").html('<button type="button" class="btn" onclick="getCheck()">鑾峰彇楠岃瘉鐮�</button>');
+ c = 60;
+ } else {
+ $("#count").html(c + 's鍚庨噸璇�');
+ c--;
+ }
+ }, 1000);
+ }
+
+ //缁戝畾鎻愪氦
+ function binding() {
+ var phone = document.getElementById("phone").value;
+ if (phone == null || phone.trim() == '') {
+ mui.alert("鎵嬫満鍙蜂笉鑳戒负绌猴紒", '鎻愮ず', ["纭畾"], function() {}, "div");
+ return;
+ }
+ var flag = /^[1][3,4,5,6,7,8,9][0-9]{9}$/.test(phone);
+ if (!flag) {
+ mui.alert("鎵嬫満鍙锋牸寮忎笉姝g‘锛�", '鎻愮ず', ["纭畾"], function() {}, "div");
+ return;
+ }
+ var code = document.getElementById("code").value;
+ // if (code == null || code.trim() == '') {
+ // mui.alert("楠岃瘉鐮佷笉鑳戒负绌猴紒", '鎻愮ず', ["纭畾"], function() {}, "div");
+ // return;
+ // }
+
+ var data = {
+ "openid": openid,
+ "mobile": phone,
+ "msgCode": code
+ };
+ wxCommon.postJson("../wx/bandOpenId", data,function (result) {
+ if (result.code == "0000") {
+ mui.toast("缁戝畾鎴愬姛锛�");
+ } else {
+ mui.alert(result.msg, '鎻愮ず', ["纭畾"], function() {}, "div");
+ }
+ });
+ }
+</script>
+</body>
+</html>
diff --git a/fzzy-igdss-web/src/main/resources/templates/wx/home.html b/fzzy-igdss-web/src/main/resources/templates/wx/home.html
new file mode 100644
index 0000000..e638e63
--- /dev/null
+++ b/fzzy-igdss-web/src/main/resources/templates/wx/home.html
@@ -0,0 +1,256 @@
+<!DOCTYPE html>
+<html lang="zh-cn" xmlns:th=http://www.thymeleaf.org>
+<head>
+ <meta charset="utf-8">
+ <title>鏅烘収杩愮淮绠$悊骞冲彴</title>
+ <meta name="viewport"
+ content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"/>
+ <link rel="stylesheet" th:href="@{/ajax/libs/mui/css/mui.min.css}">
+ <link rel="stylesheet" th:href="@{/ajax/libs/mui/css/icons-extra.css}">
+ <link rel="stylesheet" th:href="@{/css/iconfont.css}">
+ <style>
+ .mui-content {
+ margin: 0 6px;
+ }
+
+ .mui-content-padded {
+ margin: auto;
+ margin-top: 2px;
+ background: #252f3b;
+ }
+
+ .mui-content-padded img {
+ width: 100%;
+ height: 220px;
+ }
+
+ .mui-content-padded p {
+ font-size: 18px;
+ margin-bottom: 4px;
+ color: #000000;
+ }
+
+ .mui-grid-view.mui-grid-9 {
+ background-color: #efeff4;
+ margin-top: -12px;
+ }
+
+ .sys {
+ background: #FFFFFF;
+ margin-top: -3px;
+ }
+
+ .sys ul {
+ -webkit-padding-start: 10px;
+ -webkit-margin-before: 0px;
+ }
+
+ .sys li {
+ padding: 0 5px;
+ line-height: 42px;
+ display: flex;
+ justify-content: space-between;
+ box-sizing: border-box;
+ border-bottom: 1px #f1f1f1 solid;
+ }
+
+ .sys li span {
+ padding-left: 25px;
+ font-size: 17px;
+ }
+
+ .m02 {
+ background: url([[@{/img/ico_user.png}]]) no-repeat 1px center;
+ background-size: 28px auto;
+ }
+
+ .mui-grid-view.mui-grid-9 .mui-table-view-cell {
+ border: 0.5px solid #bbb;
+ border-radius: 6px;
+ margin: 1.5% 1.5% 1.5% 1.5%;
+ background: #FFFFFF;
+ }
+
+ .mui-grid-view.mui-grid-9 .mui-table-view-cell > a:not(.mui-btn) {
+ padding: 8px 0;
+ }
+
+ .mui-col-xs-4 {
+ width: 30.333333%;
+ }
+
+ .mui-icon-list {
+ color: #0c63e8;
+ }
+
+ .mui-icon-chat {
+ color: #ec6e10;
+ }
+
+ .mui-icon-contact {
+ color: #cf5cea;
+ }
+
+ .mui-icon-videocam {
+ color: #0aa8f7;
+ }
+
+ .mui-icon-gear {
+ color: #2ac845;
+ }
+
+ .mui-icon-close {
+ color: #f70808;
+ }
+
+ .mui-icon-settings {
+ color: #b5d220;
+ }
+
+ .mui-icon-compose {
+ color: #12efe6;
+ }
+
+ .mui-icon-loop {
+ color: #ce8d04;
+ }
+ </style>
+</head>
+<body>
+<div class="mui-content">
+ <div class="mui-content-padded">
+ <p>
+ <img th:src="@{/img/login-left.png}" data-preview-src="" data-preview-group="1"/>
+ </p>
+ </div>
+ <div class="sys">
+ <ul>
+ <li class="m02">
+ <span id="user_mag">鏈嶅姟鏈粦瀹�</span>
+ </li>
+ </ul>
+ </div>
+ <div>
+ <ul class="mui-table-view mui-grid-view mui-grid-9">
+ <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-3">
+ <a href="javascript:void(0)" onclick="getView('warn-list')">
+ <span class="mui-icon mui-icon-chat"><span id="warnList" class="mui-badge"
+ style="display:none">0</span></span>
+ <div class="mui-media-body">鍑哄叆搴撳憡璀�</div>
+ </a>
+ </li>
+ <li id="bind" class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-3" style="display: none">
+ <a href="javascript:void(0)" onclick="getView('bind')">
+ <span class="mui-icon mui-icon-gear"></span>
+ <div class="mui-media-body">鏈嶅姟缁戝畾</div>
+ </a>
+ </li>
+ <li id="unbind" class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-3" style="display: none">
+ <a href="javascript:void(0)" onclick="getView('unbind')">
+ <span class="mui-icon mui-icon-close"></span>
+ <div class="mui-media-body">鏈嶅姟瑙g粦</div>
+ </a>
+ </li>
+ </ul>
+ </div>
+</div>
+<script th:src="@{/js/jquery.min.js}"></script>
+<script th:src="@{/wx/wx-common.js}"></script>
+<script th:src="@{/ajax/libs/mui/js/mui.js}"></script>
+<!--<script src="https://lf-cdn.coze.cn/obj/unpkg/flow-platform/chat-app-sdk/1.2.0-beta.20/libs/cn/index.js"></script>-->
+<script th:inline="javascript">
+
+ var loginType = [[${loginType}]]; //鐧诲綍鏂瑰紡
+ var userName = [[${userName}]];
+ var userId = [[${userId}]];
+ var user = [[${user}]];
+ openid = [[${openid}]]; //鐢ㄦ埛鐨刼penid
+ SERVE_URL = location.href.split("/wx/")[0]; //鏈嶅姟鍩熷悕
+ var companyId = "";
+ var mobile;
+
+
+ $(function () {
+ if (loginType == "WECHAT") {
+ $("#bind").css("display", "");
+ $("#unbind").css("display", "");
+ }
+ mui.init();
+ getUser();
+ // getWarnList();
+ });
+
+ //璺宠浆鍏朵粬涓氬姟妯″潡
+ function getView(tag) {
+
+ //寰俊鍏紬鍙烽〉闈㈣烦杞�
+ if (mobile || tag == 'bind') {
+ location.href = SERVE_URL + '/wx?tag=' + tag;
+ } else {
+ mui.alert("鎮ㄥ皻鏈粦瀹氭湇鍔★紝璇峰厛缁戝畾锛�", '鎻愮ず', ["纭畾"], function () {
+ }, "div");
+ }
+
+ };
+
+ //鑾峰彇鐢ㄦ埛淇℃伅锛屾煡鐪嬬敤鎴锋槸鍚︾粦瀹氱郴缁熸湇鍔�
+ function getUser() {
+ var data = {
+ "openid": openid,
+ "userName": userName,
+ "loginType": loginType
+ };
+ wxCommon.postJson("../wx/getUserBindInfo", data,function (result) {
+ if (result.code == "0000") {
+ companyId = result.data.companyId;
+ mobile = result.data.phonenumber;
+ $("#user_mag").html(result.data.userName + "锛屾湇鍔″凡缁戝畾锛�")
+ }
+ });
+ }
+
+ //鑾峰彇鏈鐞嗗憡璀︽暟閲�
+ function getWarnList() {
+ var data = JSON.stringify({
+ "interfaceId": "app_10081",
+ "sign": "01",
+ "outId": "01-01",
+ "reqDateTime": new Date(),
+ "data": {
+ "userName": userName,
+ "loginType": loginType,
+ "openid": openid,
+
+ }
+ });
+ $.ajax({
+ type: "POST",
+ url: "../wx/gateway",
+ dataType: "json",
+ contentType: "application/json;charset=UTF-8",
+ data: data,
+ success: function (result) {
+ if (result.code == "0000") {
+ var num = result.data;
+ if (num <= 0) {
+ $("#warnList").text("0");
+ $("#warnList").hide();
+ } else {
+ if (num > 99) {
+ num = "99+";
+ }
+ $("#warnList").text(num);
+ $("#warnList").show();
+ }
+
+ } else {
+ $("#warnList").text("0");
+ $("#warnList").hide();
+ }
+ }
+ });
+ }
+
+</script>
+</body>
+</html>
diff --git a/fzzy-igdss-web/src/main/resources/templates/wx/unbind.html b/fzzy-igdss-web/src/main/resources/templates/wx/unbind.html
new file mode 100644
index 0000000..eb535c2
--- /dev/null
+++ b/fzzy-igdss-web/src/main/resources/templates/wx/unbind.html
@@ -0,0 +1,174 @@
+<!doctype html>
+<html lang="zh-cn" xmlns:th=http://www.thymeleaf.org>
+<head>
+ <meta charset="utf-8">
+ <title>鏈嶅姟瑙g粦</title>
+ <meta name="viewport"
+ content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"/>
+ <link rel="stylesheet" th:href="@{/ajax/libs/mui/css/mui.min.css}">
+ <style>
+ .mui-content {
+ margin: 0 6px;
+ }
+ .mui-content-padded {
+ margin: 10px;
+ width: 96%;
+ margin: auto;
+ margin-top: 8px;
+ }
+ .mui-radio.mui-left input[type=radio] {
+ left: 1px;
+ }
+ .mui-checkbox.mui-left label, .mui-radio.mui-left label {
+ padding-right: 20px;
+ padding-left: 35px;
+ }
+ .mui-btn-block {
+ width: 96%;
+ margin: auto;
+ margin-top: 10px;
+ padding: 8px 0;
+ }
+ .mui-input-row label ~ input {
+ float: left;
+ width: 50%;
+ }
+ .mui-input-row label {
+ width: 27%;
+ }
+ .btn {
+ margin-top: 4px;
+ margin-right: 2px;
+ float: right;
+ background: #EC971F;
+ color: #fff;
+ padding: 5px 5px;
+ }
+ .ts {
+ margin-top: 10px;
+ }
+ </style>
+</head>
+<body>
+<div class="mui-content">
+ <div class="mui-content-padded">
+ <form class="mui-input-group">
+ <div class="mui-input-row">
+ <label>鎵嬫満鍙�</label>
+ <input id="phone" type="text" class="mui-input-clear" placeholder="璇疯緭鍏ユ墜鏈哄彿">
+ </div>
+ <div class="mui-input-row">
+ <label>楠岃瘉鐮�</label>
+ <input id="code" style="width: 45%;" type="text" class="mui-input-clear" placeholder="5鍒嗛挓鍐呮湁鏁�">
+ <div id="count">
+ <button type="button" class="btn" onclick="getCheck()">鑾峰彇楠岃瘉鐮�</button>
+ </div>
+ </div>
+ </form>
+ </div>
+ <button class="mui-btn mui-btn-block mui-btn-danger" onclick="unBinding()">鐐瑰嚮瑙g粦</button>
+</div>
+<script th:src="@{/js/jquery.min.js}"></script>
+<script th:src="@{/wx/wx-common.js}"></script>
+<script th:src="@{/ajax/libs/mui/js/mui.js}"></script>
+<script th:inline="javascript">
+
+ var openid = [[${openid}]]; //鐢ㄦ埛鐨刼penid
+ var c = 60; //鑾峰彇楠岃瘉鐮佸悗鐨勫�掕鏃�
+ mui.init();
+
+ //鑾峰彇楠岃瘉鐮�
+ function getCheck() {
+ var phone = document.getElementById("phone").value;
+ if (phone == null || phone.trim() == '') {
+ mui.alert("鎵嬫満鍙蜂笉鑳戒负绌�", '鎻愮ず', ["纭畾"], function() {}, "div");
+ return;
+ }
+ var flag = /^[1][3,4,5,6,7,8,9][0-9]{9}$/.test(phone);
+ if (!flag) {
+ mui.alert("鎵嬫満鍙锋牸寮忎笉姝g‘", '鎻愮ず', ["纭畾"], function() {}, "div");
+ return;
+ }
+
+ //璇锋眰鍙傛暟
+ var data = JSON.stringify({
+ "interfaceId": "app_1004",
+ "sign": "01",
+ "outId": "01-01",
+ "reqDateTime": new Date(),
+ "data": {
+ "openid": openid,
+ "mobile": phone
+ }
+ });
+
+ $.ajax({
+ type: "POST",
+ url: "../wx/gateway",
+ dataType: "json",
+ contentType: "application/json;charset=UTF-8",
+ data: data,
+ success: function (result) {
+ if (result.code == "0000") {
+ mui.toast("鏍¢獙鐮佸凡鍙戦��");
+ //鍊掕鏃惰鏁�
+ count();
+ } else {
+ mui.alert(result.msg, '鎻愮ず', ["纭畾"], function() {}, "div");
+ }
+ }
+ });
+ }
+
+ //鍊掕鏃惰鏁�
+ function count() {
+ $("#count").html('');
+ $("#count").addClass("ts");
+ var interval = setInterval(function () {//瀹氫箟瀹氭椂鍣�
+ if (c == 0) {
+ clearInterval(interval);//娓呴櫎瀹氭椂鍣�
+ $("#count").removeClass("ts");
+ $("#count").html('<button type="button" class="btn" onclick="getCheck()">鑾峰彇楠岃瘉鐮�</button>');
+ c = 60;
+ } else {
+ $("#count").html(c + 's鍚庨噸璇�');
+ c--;
+ }
+ }, 1000);
+ }
+
+ //缁戝畾鎻愪氦
+ function unBinding() {
+ var phone = document.getElementById("phone").value;
+ if (phone == null || phone.trim() == '') {
+ mui.alert("鎵嬫満鍙蜂笉鑳戒负绌猴紒", '鎻愮ず', ["纭畾"], function() {}, "div");
+ return;
+ }
+ var flag = /^[1][3,4,5,6,7,8,9][0-9]{9}$/.test(phone);
+ if (!flag) {
+ mui.alert("鎵嬫満鍙锋牸寮忎笉姝g‘锛�", '鎻愮ず', ["纭畾"], function() {}, "div");
+ return;
+ }
+ var code = document.getElementById("code").value;
+ // if (code == null || code.trim() == '') {
+ // mui.alert("楠岃瘉鐮佷笉鑳戒负绌猴紒", '鎻愮ず', ["纭畾"], function() {}, "div");
+ // return;
+ // }
+
+ var data = {
+ "openid": openid,
+ "mobile": phone,
+ "msgCode": code
+ };
+ wxCommon.postJson("../wx/unBandOpenId", data,function (result) {
+ if (result.code == "0000") {
+ mui.toast("瑙g粦鎴愬姛锛�");
+ } else {
+ mui.alert(result.msg, '鎻愮ず', ["纭畾"], function() {}, "div");
+ }
+ });
+ }
+</script>
+</body>
+
+</html>
diff --git a/fzzy-igdss-web/src/main/resources/templates/wx/warn-list.html b/fzzy-igdss-web/src/main/resources/templates/wx/warn-list.html
new file mode 100644
index 0000000..c844d48
--- /dev/null
+++ b/fzzy-igdss-web/src/main/resources/templates/wx/warn-list.html
@@ -0,0 +1,189 @@
+<!DOCTYPE html>
+<html lang="zh-cn" xmlns:th=http://www.thymeleaf.org>
+<head>
+ <meta charset="utf-8">
+ <title>璁惧璀﹀憡</title>
+ <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no">
+ <meta name="apple-mobile-web-app-capable" content="yes">
+ <meta name="apple-mobile-web-app-status-bar-style" content="black">
+
+ <link rel="stylesheet" th:href="@{/ajax/libs/mui/css/mui.min.css}">
+ <style type="text/css">
+ .mui-content{
+ margin: 0 6px;
+ }
+ .mui-content>.mui-table-view:first-child {
+ margin-top: -1px;
+ }
+ .mui-table-view-chevron .mui-table-view-cell {
+ padding-right: 0px;
+ }
+ .mui-col-xs-10 {
+ width: 100%;
+ }
+ .mui-h4, h4 {
+ font-size: 17px;
+ font-weight: 600;
+ }
+ .first1{
+ color: #C7254E;
+ float: right;
+ margin-right: 50px;
+ font-size: 15px;
+ }
+ .first2{
+ float: right;
+ margin-right: 50px;
+ font-size: 15px;
+ }
+ .mui-h5, h5 {
+ font-size: 14px;
+ font-weight: 400;
+ color: #333;
+ margin: 10px 0;
+ }
+ .mui-table-view-cell p {
+ color: #333;
+ }
+ .mui-scroll-wrapper {
+ width: unset;
+ }
+ .head{
+ margin-top: 44px;
+ }
+ .head1{
+ margin-top: -44px;
+ }
+ </style>
+</head>
+
+<body>
+<div id="head">
+
+</div>
+<div id="content" class="mui-content">
+ <!--涓嬫媺鍒锋柊瀹瑰櫒-->
+ <div id="pullrefresh" class="mui-content mui-scroll-wrapper">
+ <!--鏁版嵁鍒楄〃-->
+ <ul class="mui-table-view mui-table-view-chevron"></ul>
+ </div>
+</div>
+<script th:src="@{/js/jquery.min.js}"></script>
+<script th:src="@{/wx/wx-common.js}"></script>
+<script th:src="@{/ajax/libs/mui/js/mui.js}"></script>
+<script th:inline="javascript">
+
+ var loginType = [[${loginType}]]; //鐧诲綍鏂瑰紡
+ var userName = [[${userName}]];
+ openid = [[${openid}]]; //鐢ㄦ埛鐨刼penid
+ SERVE_URL = location.href.split("/wx/")[0]; //鏈嶅姟鍩熷悕
+ var pageSize = 10; //姣忛〉鏉℃暟
+ var pageNo = 1; //椤电爜
+ var total;
+ var pageCount; //鎬婚〉鐮佹暟
+ var warnList; //姣忛〉鏁版嵁
+
+ mui.init({
+ pullRefresh: {
+ container: '#pullrefresh',
+ down: {
+ // style: 'circle',
+ // callback: pullupRefresh //涓嬫媺鍒锋柊
+ },
+ up: {
+ auto: true,
+ contentrefresh: '姝e湪鍔犺浇...',
+ callback: pullupRefresh //涓婃粦鍒锋柊
+ },
+ preventDefaultException: {
+ className: /^mui-/
+ }
+ }
+ });
+
+ //鍒濆鍑哄姞杞介〉闈㈡暟鎹�
+ function pullupRefresh() {
+ $("#pullrefresh").addClass("head1");
+ //璇锋眰鑾峰彇鏁版嵁
+ getWarnData();
+ }
+
+ //鍒濆鍖栭〉闈㈡暟鎹�
+ function initData() {
+ if(warnList == null || warnList.length<1){
+ mui.toast("娌℃湁鏇村鏁版嵁浜嗭紒");
+ mui('#pullrefresh').pullRefresh().endPullupToRefresh(true);
+ return;
+ }
+ //鍒濆鍖栨暟鎹埌椤甸潰
+ mui('#pullrefresh').pullRefresh().endPullupToRefresh((pageNo>=pageCount));
+ var table = document.body.querySelector('.mui-table-view');
+ for (var i = 0; i < warnList.length; i++) {
+ var li = document.createElement('li');
+ li.className = 'mui-table-view-cell';
+ var html = '';
+ html += '<div onclick="toWarnDetail(\'' + warnList[i].id +'\',\'' + warnList[i].companyId + '\')" class="mui-table">';
+ html += '<div class="mui-table-cell mui-col-xs-10"><h4 class="mui-ellipsis">' + warnList[i].warnTitle;
+ // if(warnList[i].warnStatus == '10' || warnList[i].warnStatus == '20'){
+ // html += '<span class="first1">' + warnList[i].warnStatusName;
+ // }else {
+ // html += '<span class="first2">' + warnList[i].warnStatusName;
+ // }
+ html += '</span></h4><h5>鎵�灞炲簱鍖猴細<span>' + warnList[i].deviceName;
+ html += '</span></h5><h5>璀﹀憡鏃堕棿锛�<span>' + warnList[i].warnTime;
+ html += '</span></h5><p class="mui-h6 mui-ellipsis">璀﹀憡璇存槑锛�' +warnList[i].warnInfo;
+ li.innerHTML = html;
+ table.appendChild(li);
+ }
+ pageNo += 1;
+ }
+
+ //璇锋眰鑾峰彇璀﹀憡鏁版嵁
+ function getWarnData() {
+ var data = JSON.stringify({
+ "interfaceId": "app_1008",
+ "sign": "01",
+ "outId": "01-01",
+ "reqDateTime": new Date(),
+ "data": {
+ "userName": userName,
+ "loginType": loginType,
+ "openid": openid,
+ "pageSize": pageSize,
+ "pageNo": pageNo
+ }
+ });
+ $.ajax({
+ type: "POST",
+ url: "../wx/gateway",
+ dataType: "json",
+ contentType: "application/json;charset=UTF-8",
+ data: data,
+ success: function (result) {
+ if (result.code == "0000") {
+ warnList = null;
+ warnList = result.data.records;
+ pageCount = getPageCount (result.data.total,pageSize);
+ initData();
+ } else {
+ mui.toast("娌℃湁鏇村鏁版嵁浜嗭紒");
+ }
+ }
+ });
+ }
+
+ //璁$畻鎬婚〉鐮�
+ function getPageCount (total,limit){
+ return total > 0 ? ((total < limit) ? 1 : ((total % limit) ? (parseInt(total / limit) + 1) : (total / limit))) : 0;
+ }
+
+ //鏌ョ湅璀﹀憡璇︽儏椤甸潰
+ function toWarnDetail(warnId,companyId) {
+ location.href = SERVE_URL +
+ '/wx/view-gateway?state=warn-detail&id='+ warnId + '&companyId=' + companyId + '&loginType=' + loginType + '&userName=' + userName;
+ }
+
+</script>
+</body>
+
+</html>
\ No newline at end of file
--
Gitblit v1.9.3