123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- /**
- * Created by robin on 11/1/15.
- */
-
- angular.module('app')
- .controller('SideBarController', ['$scope', '$state', 'DataShareBusiness', '$mdDialog', '$mdSidenav',
- function($scope, $state, DataShareBusiness, $mdDialog, $mdSidenav) {
-
- $scope.DataShareBusiness = DataShareBusiness;
-
- $scope.Search = {
- value: "",
- selected: null
- };
-
- $scope.getStateName = function()
- {
- if ($state.current.name.length == 0) {
- return "home";
- }
- return $state.current.name;
- };
-
- $scope.getCurrentGroups = function()
- {
- if (DataShareBusiness.CurrentGroups.length != 0) {
- var e = DataShareBusiness.CurrentGroups[DataShareBusiness.CurrentGroups.length - 1];
- if (e[DataShareBusiness.EntitiesType] == null || e[DataShareBusiness.EntitiesType].length == 0) {
- return e.Parent[DataShareBusiness.EntitiesType];
- }
- return e[DataShareBusiness.EntitiesType];
- }
- return DataShareBusiness[DataShareBusiness.EntitiesType];
- };
-
- $scope.search = function()
- {
- var groups = [];
- function searchRec(group)
- {
- if (group.Name.toLowerCase().indexOf($scope.Search.value.toLowerCase()) > -1) {
- groups.push(group);
- }
- if (group[DataShareBusiness.EntitiesType] != null) {
- group[DataShareBusiness.EntitiesType].forEach(searchRec);
- }
- }
- DataShareBusiness[DataShareBusiness.EntitiesType].forEach(searchRec);
- return groups;
- };
-
- $scope.goTo = function(group)
- {
- if (group != null) {
- $mdSidenav('left').toggle();
- $scope.Search.value = "";
- DataShareBusiness.goToGroup(group);
- }
- };
-
- $scope.goToFirstMatch = function()
- {
- if ($scope.Search.value.length != 0) {
- var groups = $scope.search();
- if (groups.length > 0) {
- $scope.goTo(groups[0]);
- }
- }
- };
-
- $scope.isInState = function(state)
- {
- return $state.current.name == state;
- };
- }]);
|