+++ /dev/null
-define(['jquery'], function ($) {
- 'use strict';
-
- var TopBarHelper = function () {
- var ids = [];
- var ctrls = [];
-
- this.addToView = function (url) {
- $.ajax({
- url: url,
- method: 'GET',
- async: false
- }).done(function (data) {
- ids.push(data);
- });
- };
-
- this.getViews = function () {
- var template = '';
-
- for (var i = 0; i < ids.length; ++i) {
- template += ids[i];
- }
-
- return template;
- };
-
- this.addControllerUrl = function (url) {
- ctrls.push(url);
- };
-
- this.getControllers = function () {
- return ctrls;
- };
-
- this.$get = ['apiToken', function (apiToken) {
- return new TopBarHelper(apiToken);
- }];
- };
-
- var NavHelper = function () {
- var ids = [];
- var ctrls = [];
- var menu = [];
-
- function NavHelperProvider() {
- this.addToView = function (url) {
- $.ajax({
- url: url,
- method: 'GET',
- async: false
- }).done(function (data) {
- ids.push(data);
- });
- };
-
- this.getViews = function () {
- var template = '';
-
- for (var i = 0; i < ids.length; ++i) {
- template += ids[i];
- }
-
- return template;
- };
-
- this.addControllerUrl = function (url) {
- ctrls.push(url);
- };
-
- this.getControllers = function () {
- return ctrls;
- };
-
- var getMenuWithId = function (menu, level) {
- if (menu === undefined) {
- return null;
- }
- var currentLevel = level[0];
-
- var menuItem = $.grep(menu, function (item) {
- return item.id === currentLevel;
- })[0];
-
- if (level.length === 1) {
- return menuItem;
- } else {
- return getMenuWithId(menuItem.submenu, level.slice(1));
- }
- };
-
- this.addToMenu = function (id, obj) {
- var lvl = id.split('.');
- obj.id = lvl.pop();
-
- if (lvl.length === 0) {
- menu.push(obj);
- } else {
- var menuItem = getMenuWithId(menu, lvl);
-
- if (menuItem) {
- if (!menuItem.submenu) {
- menuItem.submenu = [];
- }
- menuItem.submenu.push(obj);
- } else {
- var submenu = {
- 'id': lvl[0],
- 'title': lvl[0],
- 'active': '',
- 'submenu': [obj]
- };
- menu.push(submenu);
- }
- }
- };
-
- this.getMenu = function () {
- return menu;
- };
-
- this.$get = function NavHelperFactory() {
- return new NavHelperProvider();
- };
- }
- var persistentProvider = new NavHelperProvider();
-
- return persistentProvider;
-
- };
-
- var ContentHelper = function () {
- var ids = [];
- var ctrls = [];
-
- function ContentHelperProvider() {
- this.addToView = function (url) {
- $.ajax({
- url: url,
- method: 'GET',
- async: false
- }).done(function (data) {
- ids.push(data);
- });
- };
-
- this.getViews = function () {
- var template = '';
-
- for (var i = 0; i < ids.length; ++i) {
- template += ids[i];
- }
-
- return template;
- };
-
- this.addControllerUrl = function (url) {
- ctrls.push(url);
- };
-
- this.getControllers = function () {
- return ctrls;
- };
-
- this.$get = function ContentHelperFactory() {
- return new ContentHelperProvider();
- };
- }
- var persistentProvider = new ContentHelperProvider();
-
- return persistentProvider;
-
- };
-
- return {
- ContentHelper: ContentHelper,
- NavHelper: NavHelper,
- TopBarHelper: TopBarHelper
- };
-
-});