NGToolsCSharp/NGTools/Scripts/MUI/examples/clouddb_wilddog.html

268 lines
7.8 KiB
HTML
Raw Permalink Normal View History

2024-09-13 08:44:13 +00:00
<!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>