NGToolsCSharp/NGTools/Scripts/MUI/examples/clouddb_wilddog.html
2024-09-13 16:44:30 +08:00

268 lines
7.8 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<title></title>
<script src="../js/mui.min.js"></script>
<script src="https://cdn.wilddog.com/js/client/current/wilddog.js"></script>
<link href="../css/mui.min.css" rel="stylesheet" />
<script type="text/javascript" charset="utf-8">
mui.init();
</script>
<style type="text/css">
.title{
background-color: rgba(0,0,0,.25);
font-weight: 400;
}
#list td{
padding:5px 5px;
word-break: break-word;
}
#list tr:active{
background-color: rgba(0,0,0,.25);
}
#popover{
min-width: 282px;
height: 300px ;
top:50% !important;
margin-top: -150px;
left: 50% !important;
margin-left: -141px;
}
@media (min-width: 400px){
#popover{
width: 80%;
margin-left: -40%;
}
}
.mui-popover .mui-popover-arrow{
display: none !important;
}
.operate{
text-align: center;
margin-top: 20px
}
</style>
</head>
<body>
<header class="mui-bar mui-bar-nav">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
<a class="mui-icon mui-icon-plusempty mui-pull-right" id="open"></a>
<h1 class="mui-title">cloud DB云端数据库</h1>
</header>
<div class="mui-content">
<div class="mui-content-padded">
<p style="text-indent: 22px;">这是mui无后端开发示例集成野狗云服务通过js操作云端数据库实现常见的增删改查功能。
</p>
</div>
<div style="background-color: #fff;padding-bottom: 15px;">
<div class="mui-content-padded" >
<h4 style="text-align: center;margin-bottom: 15px;padding-top: 15px;">云端数据库</h4>
<table id="list" border="1" width="100%" style="padding: 0;text-align: center;table-layout: fixed;" >
</table>
</div>
</div>
</div>
<div id="popover" class="mui-popover">
<div class="mui-popover-arrow"></div>
<div class="mui-content-padded">
<h4 id="title" style="text-align: center;margin-top: 20px;">新增数据</h4>
<form class="mui-input-group" style="margin-top: 30px;">
<div class="mui-input-row">
<label>字段1</label>
<input type="text" class="mui-input-clear" id="col1" placeholder="请输入">
</div>
<div class="mui-input-row">
<label>字段2</label>
<input type="text" class="mui-input-clear" id="col2" placeholder="请输入">
</div>
<div class="mui-input-row">
<label>字段3</label>
<input type="text" class="mui-input-clear" id="col3" placeholder="请输入">
</div>
</form>
<div id="add_div" class="operate mui-hidden">
<button type="button" class="mui-btn mui-btn-blue" id="add">确定</button>
</div>
<div id="edit_div" class="operate mui-hidden">
<button type="button" class="mui-btn mui-btn-blue" id="update" style="margin-right: 30px;">修改</button>
<button type="button" class="mui-btn mui-btn-red" id="del">删除</button>
</div>
</div>
</div>
<script type="text/javascript">
function trim(str){ //删除左右两端的空格
   return str.replace(/(^\s*)|(\s*$)/g, "");
   }
var network = false;
var ref = null;
mui.plusReady(function () {
if(plus.networkinfo.getCurrentType() == plus.networkinfo.CONNECTION_NONE){
mui.toast("当前网络不给力,无法连接云端数据库~");
}else{
network = true;
ref = new Wilddog("https://muidemo.wilddogio.com/demo");
getList();
}
});
var list = document.getElementById("list");
var col1 = document.getElementById("col1");
var col2 = document.getElementById("col2");
var col3 = document.getElementById("col3");
var add_div = document.getElementById("add_div");
var edit_div = document.getElementById("edit_div");
var title = document.getElementById("title");
document.getElementById("open").addEventListener('tap',function () {
if(!network){
mui.toast("当前网络不给力,请稍后再试");
}else{
//清空数据
col1.value = "";
col2.value = "";
col3.value = "";
title.innerHTML = "新增数据";
add_div.classList.remove("mui-hidden");
if(!edit_div.classList.contains("mui-hidden")){
edit_div.classList.add("mui-hidden");
}
mui("#popover").popover("toggle");
}
});
document.getElementById("add").addEventListener('tap', function() {
if(!ref){
mui.toast("当前网络不给力,请稍后再试");
}else{
var check = true;
mui(".mui-input-group input").each(function () {
if(!this.value||trim(this.value)==""){
var label = this.previousElementSibling;
mui.alert(label.innerText+"不允许为空");
check = false;
return false;
}
});
if(check){
var newRef = ref.push({
"col1": col1.value,
"col2": col2.value,
"col3": col3.value,
});
add_div.classList.add("mui-hidden");
//关闭modal
mui("#popover").popover("toggle");
mui.toast("添加成功~");
//刷新界面
getList();
}
}
});
document.getElementById("update").addEventListener("tap", function() {
var check = true;
mui(".mui-input-group input").each(function () {
if(!this.value||trim(this.value)==""){
var label = this.previousElementSibling;
mui.alert(label.innerText+"不允许为空");
check = false;
return false;
}
});
if(check){
var newRef = ref.child(document.getElementById("col1").getAttribute("demoid"));
newRef.update({
"col1": col1.value,
"col2": col2.value,
"col3": col3.value,
});
//关闭modal
mui("#popover").popover("toggle");
edit_div.classList.add("mui-hidden");
mui.toast("修改成功~");
//刷新界面
getList();
}
})
document.getElementById("del").addEventListener("tap", function() {
var newRef = ref.child(document.getElementById("col1").getAttribute("demoid"));
newRef.remove();
//关闭modal
mui("#popover").popover("toggle");
if(!edit_div.classList.contains("mui-hidden")){
edit_div.classList.add("mui-hidden");
}
mui.toast("删除成功~");
//刷新界面
getList();
})
//列表事件绑定,点击编辑数据
mui("#list").on("tap", "tr", function() {
var id = this.getAttribute("id");
if(id){
document.getElementById("col1").value = this.querySelector(".col1").innerHTML;
document.getElementById("col2").value = this.querySelector(".col2").innerHTML;
document.getElementById("col3").value = this.querySelector(".col3").innerHTML;
document.getElementById("col1").setAttribute("demoid", id);
title.innerHTML = "编辑数据";
if(!add_div.classList.contains("mui-hidden")){
add_div.classList.add("mui-hidden");
}
edit_div.classList.remove("mui-hidden");
mui("#popover").popover("toggle");
}
})
/**
* 获取最新记录
*/
function getList() {
ref.once("value", function(snapshot) {
list.innerHTML = "<tr class='title'><td>字段1</td><td>字段2</td><td>字段3</td></tr>";
var result = snapshot.val();
mui.each(result, function(key, elem) {
var li = document.createElement("tr");
li.setAttribute("id", key);
var col1 = document.createElement("td");
col1.className = "col1"
col1.innerHTML = elem.col1;
li.appendChild(col1);
var col2 = document.createElement("td");
col2.className = "col2"
col2.innerHTML = elem.col2;
li.appendChild(col2);
var col3 = document.createElement("td");
col3.className = "col3"
col3.innerHTML = elem.col3;
li.appendChild(col3);
list.appendChild(li);
})
});
}
</script>
</body>
</html>