intial layin of lesson menu

This commit is contained in:
Jason White
2015-05-19 21:52:44 -04:00
parent 1c444ccdea
commit c0aeaa25dc
8 changed files with 269 additions and 267 deletions

View File

@ -1,57 +1,37 @@
define(['jquery',
'underscore',
'backbone',
'goatApp/model/MenuItemCollection'],
function($,_,Backbone,MenuItemCollection) {
'goatApp/model/MenuCollection',
'goatApp/view/MenuItemView'],
function($,_,Backbone,MenuCollection,MenuItemView) {
return Backbone.View.extend({
el:'#menuContainer',
//TODO: set template
initialize: function() {
this.collection = new MenuItemCollection();
this.collection = new MenuCollection();
this.listenTo(this.collection,'menuData:loaded',this.render);
},
// rendering top level menu
render: function (model){
//TODO: implement own HTML Encoder
this.$el.html('render ' + this.collection.length + ' items');//buildMenu(items)
},
buildMenu: function(items) {
var menuData = new MenuData();
var i, j, k, $wholeMenu, $menuCat, itemClass, $lessonItem, lessons, stages, $stageItem;
var _renderMenu = function (items) {
$wholeMenu = $('<ul>');
for (var i=0;i<items.length;i++){
// should be at category level ...
itemClass = (items[i].class || '');
if (items[i].type && items.type === 'CATEGORY') {
itemClass += 'fa-angle-right pull-right';
}
var $menuCat = $('<li>',{text:items[i].name,class:itemClass});
$wholeMenu.append($menuCat);
var lessonList = $('<ul>',{class:'slideDown lessonsAndStages' + items[0].displayClass,id:items[0].id}) //
// first tier lessons
var lessons = items[i].children;
for (j=0;j<lessons.length;j++) {
itemClass = (lessons[j].class || '');
$lessonItem = $('<li>',{text:lessons[j].name,id:lessons[j].id});//add click
lessonList.append($lessonItem);
//stages (children of lesson)
stages = lessons[j].children;
for (k=0;k<stages.length;k++) {
$stageItem = $('<li>',{text:stages[k].name,id:stages[k].id});
lessonList.append($stageItem);
}
}
$menuCat.append(lessonList);
var items = this.collection.models; // top level items
var menuMarkup = '';
var menuUl = $('<ul>',{class:'nano-content'});
for(var i=0;i<items.length;i++) {
var category = $('<li>',{class:'sub-menu'});
var catLink = $('<a>',{text:items[i].get('name')});
category.append(catLink);
// lesson level (first children level)
var categoryLessonList = $('<ul>',{class:'slideDown lessonsAndStages'});
var catItems = new MenuItemView({items:items[i].get('children')}).render();
for (var j=0;j< catItems.length;j++) {
categoryLessonList.append(catItems[j]);
}
return $wholeMenu;
//$wholeMenu.append($menuCat);
$(goatConstants.getDOMContainers().lessonMenu).html('').append($wholeMenu);
};
},
category.append(categoryLessonList);
menuUl.append(category);
}
this.$el.append(menuUl);
}
});
});