| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- (function (angular) {
- const SECTION_NAME = "connections";
- angular
- .module("BrowserSync")
- .controller("ConnectionsController", [
- "pagesConfig",
- ConnectionsControllers
- ]);
- /**
- * @param pagesConfig
- * @constructor
- */
- function ConnectionsControllers(pagesConfig) {
- var ctrl = this;
- ctrl.section = pagesConfig[SECTION_NAME];
- }
- angular
- .module("BrowserSync")
- .directive("connectionList", function () {
- return {
- restrict: "E",
- scope: {
- options: "="
- },
- templateUrl: "connections.directive.html",
- controller: ["$scope", "Clients", "Socket", connectionListDirective],
- controllerAs: "ctrl"
- };
- });
- /**
- * Controller for the URL sync
- * @param $scope - directive scope
- * @param Clients
- * @param Socket
- */
- function connectionListDirective($scope, Clients, Socket) {
- var ctrl = this;
- ctrl.connections = [];
- ctrl.update = function (data) {
- ctrl.connections = data;
- $scope.$digest();
- };
- // Always try to retreive the sockets first time.
- Socket.getData("clients").then(function (data) {
- ctrl.connections = data;
- });
- // Listen to events to update the list on the fly
- Socket.on("ui:connections:update", ctrl.update);
- $scope.$on("$destroy", function () {
- Socket.off("ui:connections:update", ctrl.update);
- });
- ctrl.highlight = function (connection) {
- Clients.highlight(connection);
- };
- }
- })(angular);
|