var baseAdGroups = (function(){ 'use strict' var template = '
'; return newAdGroups; function newAdGroups(d, cid, uf, bf){ return new AdGroups(d, cid, uf, bf); } function AdGroups(d, cid, uf, bf){ var e = getElementFromString(template), list = new CheckboxList(e, { 'title' : 'Select Ad Groups', 'data' : getDataItem(d.lists.adGroups) }, updateList), ch = new CheckboxHelper(d.adGroups, d.lists.adGroups); this.getE = function(){ return e; }; this.exit = exit; ch.processSelected(list.getList()); function updateList(e){ d.adGroups = ch.getIdsList(getArrayOfTitles(e)); uf.refreshSidePanel(); } function exit(){ if(!!list) list.exit(); e = list = null; } }; function getDataItem(a){ var r = []; loop(a, p); return r; function p(k, v){ r[k] = isDefined(v.data) ? v.data.name : ''; } } function getArrayOfTitles(d){ var a = []; forEach(d, p); return a; function p(t, d, i){ a[i] = t.title; } } })();