[ code is not yet quite working for the sub-arrays, look at widget "SC Categories" and try to incorporate for the sub category lookups ]
HTML:
<div class="banner-blue">
<ul class="nav nav-tabs">
<li class="dropdown" ng-repeat="parentcategory in ::data.parentCats" >
<a class="dropdown-toggle" data-toggle="dropdown" href="javascript:void(0)">
{{parentcategory.title}}
<span class="caret"></span>
<ul class="dropdown-menu">
<li ng-repeat="childitem in c.childItems" color="black"><a color="black" href="javascript:void(0)">{{childitem.child_title}}</a></li>
</ul>
</a>
</li>
</ul>
</div>
CSS:
div.banner-blue{
background-color:#145896;
color:white;
/*overflow:hidden;*/
width:100%;
/*padding-left: 50px;*/
}
a.dropdown-toggle{
color:white;
}
span.banner-blue{
background-color:#145896;
color:white;
}
client controller script
function($scope) {
/* widget controller */
var c = this;
c.parentCatArr=c.data.parentCats;
c.childItems=[];
for (items in c.parentCatArr){
var subitems= c.parentCatArr[items].child_items;
for (subitem in subitems){
var childItemsArr={};
childItemsArr.child_title=subitems[subitem].child_title+"";
c.childItems.push(childItemsArr);
}
var childItemsArr={};
for (i = 0; i < subitems.length; i++){
//alert (subitems[i].child_title);
}
}
}
server script
(function() {
/* populate the 'data' object */
/* e.g., data.table = $sp.getValue('table'); */
var sMsgPadder = "*********************************** MSG: ";
var ga = new GlideAggregate('sc_category');
ga.addAggregate('COUNT', 'parent');
ga.addActiveQuery();
ga.addQuery('sc_catalog', '9f6ef0cddb028f80edfc7cbdae96ZZZZ');//--a catalogue
ga.addNotNullQuery('parent');
ga.addHaving('COUNT', '>', 0);
ga.query();
data.parentCats = [];
while (ga.next()) {
var objParCatsArr = {};
objParCatsArr.title = ga.getElement('parent.title') + "";
var parSYSID= ga.getElement('parent.sys_id') + "";
objParCatsArr.sys_id = parSYSID;
var arrChildItems = [];
var grCats = new GlideRecord('sc_category');
grCats.addQuery('parent', parSYSID);
grCats.addActiveQuery();
grCats.query();
while (grCats.next()) {
var objSubItem= {};
objSubItem.child_title=grCats.title+"";
objSubItem.child_sys_id=grCats.sys_id+"";
arrChildItems.push(objSubItem);
}
objParCatsArr.child_items = arrChildItems;
data.parentCats.push(objParCatsArr);
}
})();
Comments
Post a Comment