在Javascript中为Sencha Touch Ext.ux.TouchCalendar更改对象数组结构
Changing an array of objects structure in Javascript for Sencha Touch Ext.ux.TouchCalendar
我正在构建一个Sencha Touch应用程序,它利用了很棒的日历插件https://github.com/SwarmOnline/Ext.ux.TouchCalendar,但是,为了利用事件功能,需要一些自定义实现。
我已经将事件模板绑定到一个存储,该存储从服务器获取数据。它按计划工作,但问题是插件查找存储中的所有记录,并将每个记录计数为事件(因为在事件模型中,它查找"日期"作为开始和结束点)。所以每天看起来都有一个事件,即使那些没有"项目"的是空白的,参见:http://cl.ly/image/3j461O2L2Y1k。我只想显示带有"items"的事件
我从服务器返回的数据以以下格式(许多天没有"项"):
[
{
"day":28,
"iscurrentmonth":false,
"issunday":false,
"date":"2013-05-28",
"items":[
{
"id":134513,
"title":"Subject",
"typeid":3,
"typename":"Essay",
"author":"Bryan Fisher",
"classname":"English 9A",
"classid":344499,
"courseid":60555
},
{
"id":134485,
"title":"Subject",
"typeid":3,
"typename":"Essay",
"author":"Bryan Fisher",
"classname":"English 10",
"classid":344500,
"courseid":60555
}
]
}
]
因此,我必须将数据数组的结构更改为以下格式:
[
{
"date":"2013-05-28",
"id":134513,
"title":"Subject",
"typeid":3,
"typename":"Essay",
"author":"Bryan Fisher",
"classname":"English 9A",
"classid":344499
},
{
"date":"2013-05-28",
"id":134485,
"title":"Subject",
"typeid":3,
"typename":"Essay",
"author":"Bryan Fisher",
"classname":"English 10",
"classid":344500
}
]
如何更改原始对象以匹配新格式?(将"date"插入"items"节点)?
我完全接受像underscore.js这样的东西
Thanks in advance
也许我想多了…
A bit of A hack…
在TouchCalendarEvents.js中,我添加了以下方法来检查空事件divhideOthers: function(){
var bar = $('.event-bar');
for (var i = 0; i < bar.length; i++){
var allBars = bar[i];
if (allBars.innerHTML == ''){
console.log('number ' + i + 'is Empty!' );
allBars.remove();
}
}
},
并在refreshEvents
中调用它refreshEvents: function(){
// scroll the parent calendar to the top so we're calculating positions from the base line.
if(this.calendar.getScrollable()){
this.calendar.getScrollable().getScroller().scrollTo(0,0);
}
this.removeEvents();
this.getViewModeProcessor().generateEventBars(); // in turn calls this.renderEventBars(this.eventBarStore);
this.createEventWrapper();
this.hideOthers();
if (this.getAllowEventDragAndDrop()) {
this.createDroppableRegion();
}
},
目前工作得很好!
相关文章:
- Javascript(Angular)从一个对象数组到第二个数组查找值
- 在Javascript中转换对象数组
- 在JavaScript中通过索引从对象数组中获取值
- Backbone虹吸以获取对象数组
- 如何在DataTables 2.1中迭代对象数组
- Javascript-根据赋值顺序,按键合并对象数组
- 将事件附加到对象/数组
- jQuery$.inArray()总是返回-1和一个对象数组
- javascript处理一个对象数组以获得一个新的对象数组
- javascript在数组中获取对象数组中键的所有不同值
- 在对象数组中查找多个值的d3范围
- Undercore.js获取对象数组中键对象的值
- 在mongoose中使用正则表达式在对象数组中进行查询搜索
- 如何通过json对象数组为嵌套对象赋值
- 如何循环通过2个对象数组并通过匹配id进行合并
- 为对象数组创建列表项
- 如何使用javascript合并两个对象数组
- JSON到对象数组,并向每个对象添加项
- JavaScript:从对象数组中获取唯一值及其计数
- 按不同项目对对象数组进行排序