I'm trying to create a dashboard which have filters on the left and charts on the centre.
Filters on the left are the simple separate multiselect boxes which have some categories, vendors and some other data. Charts on the centre can be filtered by selecting one of the item in the left or selecting particular item on the chart which also make select box on the left to highlight the item clicked on charts. Before I completely reproduce this in a plunker I have a lite abstract of actual point where I'm stuck at my app. Ultimately is there any angular design pattern for a app that will be have a 10 multiselect boxes, 10 charts, such that any click with start filtering other charts or filters/multiselect boxes. Now if we put event listener for say tableA, it will change tableA's data, that will make tableB's data to change, which then C, then come to A again, How to do this with angular when I'm confused to implement it on plain javascript. Here's incomplete but enough code to judge if its design is correct. http://plnkr.co/edit/Z4jnjnBqoEk5YhUQSVRD?p=info whose app.js is // Code goes here (function () { 'use strict'; angular .module('app', ['ngRoute']) .config(config) .run(run); config.$inject = ['$routeProvider', '$locationProvider']; function config($routeProvider, $locationProvider) { $routeProvider .when('/dashboard', { controller: 'DashboardController', templateUrl: 'dashboard.html', controllerAs: 'cm' }) .otherwise({ redirectTo: '/dashboard' }); } run.$inject = ['$rootScope', '$location', '$window', '$http']; function run($rootScope, $location, $window, $http) { $rootScope.$on('$locationChangeStart', function (event, next, current) { var restrictedPage = $.inArray($location.path(), ['/dashboard']) === -1; if (!restrictedPage) { $location.path($location.path()); return; } else $location.path('/dashboard'); }); } })(); -- You received this message because you are subscribed to the Google Groups "AngularJS" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/angular. For more options, visit https://groups.google.com/d/optout.
