1 define(['jquery'], function ($) {
4 var TopBarHelper = function () {
8 this.addToView = function (url) {
13 }).done(function (data) {
18 this.getViews = function () {
21 for (var i = 0; i < ids.length; ++i) {
28 this.addControllerUrl = function (url) {
32 this.getControllers = function () {
36 this.$get = ['apiToken', function (apiToken) {
37 return new TopBarHelper(apiToken);
41 var NavHelper = function () {
46 function NavHelperProvider() {
47 this.addToView = function (url) {
52 }).done(function (data) {
57 this.getViews = function () {
60 for (var i = 0; i < ids.length; ++i) {
67 this.addControllerUrl = function (url) {
71 this.getControllers = function () {
75 var getMenuWithId = function (menu, level) {
76 if (menu === undefined) {
79 var currentLevel = level[0];
81 var menuItem = $.grep(menu, function (item) {
82 return item.id === currentLevel;
85 if (level.length === 1) {
88 return getMenuWithId(menuItem.submenu, level.slice(1));
92 this.addToMenu = function (id, obj) {
93 var lvl = id.split('.');
96 if (lvl.length === 0) {
99 var menuItem = getMenuWithId(menu, lvl);
102 if (!menuItem.submenu) {
103 menuItem.submenu = [];
105 menuItem.submenu.push(obj);
118 this.getMenu = function () {
122 this.$get = function NavHelperFactory() {
123 return new NavHelperProvider();
126 var persistentProvider = new NavHelperProvider();
128 return persistentProvider;
132 var ContentHelper = function () {
136 function ContentHelperProvider() {
137 this.addToView = function (url) {
142 }).done(function (data) {
147 this.getViews = function () {
150 for (var i = 0; i < ids.length; ++i) {
157 this.addControllerUrl = function (url) {
161 this.getControllers = function () {
165 this.$get = function ContentHelperFactory() {
166 return new ContentHelperProvider();
169 var persistentProvider = new ContentHelperProvider();
171 return persistentProvider;
176 ContentHelper: ContentHelper,
177 NavHelper: NavHelper,
178 TopBarHelper: TopBarHelper