Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >按照gridstack的例子,怎么做保存?

按照gridstack的例子,怎么做保存?

提问于 2018-12-26 09:56:24
回答 0关注 0查看 722

<%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<%@ taglib uri="http://www.qtrmoon.com/tags-dictionary" prefix="dc"%>

<!DOCTYPE html>

<html>

<head>

<title>AniJS demo</title><!--rstStudents-->

<%@include file="/common/include.jsp" %>

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">

<link rel="stylesheet" href="/${projectName}/gridstack/gridstack.css" />

<link rel="stylesheet" href="https://anijs.github.io/lib/anicollection/anicollection.css" />

<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.0/jquery-ui.js"></script>

<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.0/lodash.min.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>

<script src="/${projectName}/gridstack/gridstack.js"></script>

<script src="/${projectName}/gridstack/gridstack.all.js"></script>

<script type="text/javascript" src="/${projectName}/Echartsjs/echarts.js" ></script>

<style type="text/css">

.grid-stack {

background: lightgoldenrodyellow;

}

.grid-stack-item-content {

color: #2c3e50;

text-align: center;

background-color: #18bc9c;

}

.moveBar{padding:5px 10px;background:rgba(0,0,0,.0);border-bottom:#dadada 1px dashed;text-align:right;cursor:move;}

.moveBar:hover{background:rgba(0,0,0,.2);border-bottom:#999 1px solid;}

.moveBar i{cursor:pointer;color:silver;}

.moveBar i:hover{color:white;}

</style>

</head>

<body>

<div class="container-fluid">

<h1>knockout.js Demo</h1>

<div>

<button data-bind="click: addNewWidget">Add new widget</button>

</div>

<br>

<div data-bind="component: {name: 'dashboard-grid', params: $data}"></div>

</div>

<script type="text/javascript">

ko.components.register('dashboard-grid', {

viewModel: {

createViewModel: function (controller, componentInfo) {

var ViewModel = function (controller, componentInfo) {

var grid = null;

this.widgets = controller.widgets;

this.afterAddWidget = function (items) {

if (grid == null) {

grid = $(componentInfo.element).find('.grid-stack').gridstack({

auto: false

}).data('gridstack');

}

var item = _.find(items, function (i) { return i.nodeType == 1 });

grid.addWidget(item);

ko.utils.domNodeDisposal.addDisposeCallback(item, function () {

grid.removeWidget(item);

});

};

};

return new ViewModel(controller, componentInfo);

}

},

template:

[

'<div class="grid-stack" data-bind="foreach: {data: widgets, afterRender: afterAddWidget}">',

' <div class="grid-stack-item" data-bind="attr: {\'data-gs-x\': $data.x, \'data-gs-y\': $data.y, \'data-gs-width\': $data.width, \'data-gs-height\': $data.height, \'data-gs-auto-position\': $data.auto_position}">',

' <div class="grid-stack-item-content" data-bind="change: $root.getMove">',

' <div class="moveBar" >',

' <i class="icon-trash" data-bind="click: $root.deleteWidget"/>',

/* ' <button data-bind="click: $root.deleteWidget">Delete me</button>', */

' </div>' ,

' <div class="qtrchart" style="width:100%;height:'+4*60+'px;"></div>',

' </div>',

' </div>',

'</div> '

].join('')

});

$(function () {

var Controller = function (widgets) {

var self = this;

this.widgets = ko.observableArray(widgets);

this.addNewWidget = function () {

this.widgets.push({

/* x: 0,

y: 5,

width: Math.floor(1 + 3 * Math.random()),

height: Math.floor(1 + 3 * Math.random()), */

x: 0,

y: 4,

width: /* Math.floor( */1 + 3 /* * Math.random()) */,

height: /* Math.floor( */1 + 3 /* * Math.random()) */,

auto_position: false // 这个是显示在一行

});

return false;

};

this.deleteWidget = function (item) {

console.info(item);

self.widgets.remove(item);

//console.info(widgets);

return false;

};

// 这个是那个 移动之后的 改变事件

this.getMove = function(item){

console.info(item);

//console.info(event);

return false;

}

};

var widgets = [

{x: 0, y: 0, width: 4, height: 4},

{x: 4, y: 0, width: 4, height: 4},

{x: 8, y: 0, width: 4, height: 4},

{x: 0, y: 4, width: 4, height: 4},

{x: 4, y: 4, width: 4, height: 4},

{x: 8, y: 4, width: 4, height: 4}

];

var controller = new Controller(widgets);

ko.applyBindings(controller);

});

</script>

</body>

</html>

我按照例子 还有手头看过的代码 试着做了一下 上面代码使用了knockout.js 学习了一下 但是 就获取 gridstack 没有办法 获取

{ x,y,width,height}

在gitHub gridsack 作者哪里的 demo 还有 api 里面 看到 使用float.html 这个例子 加上下面事件,无knockout.js

$('.grid-stack').on('change', function(event, items) {

console.log('更改item added');

console.log(items);

}) 这个改变的事件, 这个是可以输出的 但是使用上面的 knockout.js 我尝试着 绑定事件 但是没有获取到 对应的值

我就是像做一下 这个窗口的大小后 通过change 事件 获取 当前改变的{x,y,width,height}

谢谢大佬们!O(∩_∩)O

已邀请
等5人回答

回答

成为首答用户。去 写回答
相关文章
练习文件保存按照日期来创建文件夹,并保存
上传页面: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> </head> <body> <form action="UploadStoreByDate.ashx" method="post" enctype="multipart/for
静心物语313
2020/03/24
9630
python matplotlib 画图保存图片简单例子[通俗易懂]
保存的时候遇到过保存空白图像的问题,是因为将plt.savefig('./test2.jpg')放到了plt.show()之后,只要先保存在显示就可以正常保存了。
全栈程序员站长
2022/08/18
7260
CefSharp之二–如何看懂demo中的例子,以及按照例子进行开发「建议收藏」
CefSharp是做什么用的?请看前一篇文章:怎么用c#编写浏览器或者执行javascript代码?
全栈程序员站长
2022/10/02
8860
CefSharp之二–如何看懂demo中的例子,以及按照例子进行开发「建议收藏」
缓存中ConcurrentHashMap的加锁怎么做给个例子?
记 不记得,我们在讲java的线程部分安全知识时,举了一个例子【例:1.8.2-(补充)】。卖书卖到最后,卖出了个负数。这里还用那个例子,可是完全用 ConcurrentHashMap。那个例子当中有个bookNum--操作。本例中就想说明ConcurrentHashMap的这个操作 (bookNum--)如何做。
马克java社区
2021/10/10
6320
缓存是ConcurrentHashMap怎么做给个例子?
马克-to-win:ConcurrentHashMap是java1.5的新特性。HashTable在并发环境下效率低的原因: HashTable就一把锁,所有线程竞争。ConcurrentHashMap里面有很多锁,就像数据库里的行级锁一样。改这行,锁这行,不影响别的 行。最重要的是:一个线程添加(put)元素,同时另一个线程读数据不会引起ConcurrentModificationException异常。读写 可以同时进行,只不过读的有可能不是最新数据。马克-to-win:所以如果需要原子操作时,还得手动加锁。所以我们前面学的锁的理论,照样适用。(见下面的例子)
马克java社区
2021/10/10
3460
按照工具
在开发私有chatGPT的时候,如果我们使用官方的基础模型,那么回答的问题可能不符合我们自己的预设答案
唯一Chat
2023/02/23
4570
HashMap按照value排序
给定一个HashMap<String, BuziObj> buziObjMap;,其中 BuziObj 实现了 Comparable 接口。现在需要将 buziObjMap 按照 BuziObj 有序输出。注意,BuziObj 实例有可能相等,要求多次返回的结果一致。可以使用JDK提供的各种API。
崔笑颜
2020/06/08
9330
php按照权重随机
10,'b'=>20,'c'=>50) * @return string key 键名 */ function roll($weight = array()) { $roll = rand ( 1, array_sum ( $weight ) ); $_tmpW = 0; $rollnum = 0; foreach ( $weight as $k => $v ) { $min = $_tmpW; $_tmpW += $v;
苦咖啡
2018/04/28
2.5K0
Elasticsearch 6.x:先按照评分排序,再按照时间排序
现在需要先按照评分排序,再按照文档时间进行二次排序。 由于评分“_score”是个虚字段,排序时需要特殊处理。
程裕强
2022/05/06
8580
【从零学习OpenCV】图像的保存&视频的保存
经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门书籍《从零学习OpenCV 4》。为了更让小伙伴更早的了解最新版的OpenCV 4,小白与出版社沟通,提前在公众号上连载部分内容,请持续关注小白。
小白学视觉
2019/11/12
3.3K0
按照列筛选数据框不容易那么按照行就容易吗
开始正式教程分享之前,先公布一个好消息,腾讯云的排行榜显示我们生信技能树是平台全国排名第123位有影响力的自媒体,还有一个证书:
生信技能树
2020/02/20
7660
将map按照值排序
值里面存放的是一个对象需要根据id排序 将相同的人放在一起 List<Map.Entry<String, CorrectRate>> list = new LinkedList<Map.Entry<String, CorrectRate>>(correctRateOm.entrySet()); Collections.sort(list, new Comparator<Map.Entry<String, CorrectRate>>() {
崔笑颜
2020/06/08
9640
Linux 下按照 Nodejs 环境
打开官网 https://nodejs.org/en/ 找到下载URL https://nodejs.org/download/release/v11.10.0/node-v11.10.0-# linux-x64.tar.xz 安装 wget https://nodejs.org/download/release/v11.10.0/node-v11.10.0-linux-x64.tar.xz --no-check-certificate xz -d node-v11.10.0-linux-x64.tar.x
张云飞Vir
2020/03/16
1.8K0
按照excel指定的样式导出数据
数据导出在涉及到报表的系统是一个很常见的功能,而excel又是常见的导出数据的方式,如果导出报表时需要按照一定的样式导出,那么就需要确保写入数据的excel按照某种样式返回。常见的方法是在创建excel的时候设置单元格样式来达到我们想要的样式效果,这种方法有以下缺点:
johnhuster的分享
2022/03/28
7960
mysql按照天分区月表
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haluoluo211/article/details/78658603
bear_fish
2018/09/14
2.7K0
mysql按照天分区月表
WebSocket的JavaScript例子
在HTML5规范中,我最喜欢的Web技术就是正迅速变得流行的WebSocket API。WebSocket提供了一个受欢迎的技术,以替代我们过去几年一直在用的Ajax技术。这个新的API提供了一个方法,从客户端使用简单的语法有效地推动消息到服务器。让我们看一看HTML5的WebSocket API:它可用于客户端、服务器端。而且有一个优秀的第三方API,名为Socket.IO。
周陆军博客
2023/05/07
5060
python如何保存矩阵,保存matrix,保存numpy.ndarray
问题:如何将array保存到txt文件中?如何将存到txt文件中的数据读出为ndarray类型?python如何保存矩阵,保存matrix,保存numpy.ndarray 分析 a = np.arange(0,12,0.5).reshape(4,-1) np.savetxt("a.txt", a) # 缺省按照'%.18e'格式保存数据,以空格分隔 np.loadtxt("a.txt") array([[ 0. , 0.5, 1. , 1.5, 2. , 2.5],
学到老
2018/04/02
13.3K0
python如何保存矩阵,保存matrix,保存numpy.ndarray
保存并退出vi的命令_vim退出并保存
vi(vim)是上Linux非常常用的代码编辑器,很多Linux发行版都默认安装了vi(vim)。vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率。vi是“visual interface”的缩写,vim是vi IMproved(增强版的vi)。在一般的系统管理维护中vi就够用,如果想使用代码加亮的话可以使用vim
全栈程序员站长
2022/11/11
8.4K0
简单的SpringAOP例子
方面(Aspect):一个关注点的模块化,这个关注点实现可能另外横切多个对象。事务管理是J2EE应用中一个很好的横切关注点例子。方面用Spring的Advisor或拦截器实现。
一头小山猪
2020/06/15
1.6K0
简单的SpringAOP例子
jquery的ajax例子
然后使用$.post(url,data,success)进行异步交互post ,get ,ajax方法都可以实现
全栈程序员站长
2022/09/17
6680

相似问题

滑动拼图验证码怎么做,方便提供例子吗?

21K

请问element 时间日期选择控件按照官网例子写会报错是什么原因呢?

1380

针对turn off这种短语,是按照单词打分还是按照句子打分?

1311

bootstrapVue 文档、例子源码?

0713

Navicat连接出错(按照文档操作的)?

1176
相关问答用户
擅长3个领域
平安资管 | 架构师擅长4个领域
腾讯 | 技术专家擅长2个领域
擅长4个领域
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档