| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- (function (angular) {
- const SECTION_NAME = "overview";
- angular
- .module("BrowserSync")
- .controller("OverviewController", [
- "options",
- "pagesConfig",
- OverviewController
- ]);
- /**
- * @param options
- * @param pagesConfig
- */
- function OverviewController (options, pagesConfig) {
- var ctrl = this;
- ctrl.section = pagesConfig[SECTION_NAME];
- ctrl.options = options.bs;
- ctrl.ui = {
- snippet: !ctrl.options.server && !ctrl.options.proxy
- };
- }
- /**
- * Url Info - this handles rendering of each server
- * info item
- */
- angular
- .module("BrowserSync")
- .directive("urlInfo", function () {
- return {
- restrict: "E",
- replace: true,
- scope: {
- "options": "="
- },
- templateUrl: "url-info.html",
- controller: [
- "$scope",
- "$rootScope",
- "Clients",
- urlInfoController
- ]
- };
- });
- /**
- * @param $scope
- * @param $rootScope
- * @param Clients
- */
- function urlInfoController($scope, $rootScope, Clients) {
- var options = $scope.options;
- var urls = options.urls;
- $scope.ui = {
- server: false,
- proxy: false
- };
- if ($scope.options.mode === "server") {
- $scope.ui.server = true;
- if (!Array.isArray($scope.options.server.baseDir)) {
- $scope.options.server.baseDir = [$scope.options.server.baseDir];
- }
- }
- if ($scope.options.mode === "proxy") {
- $scope.ui.proxy = true;
- }
- $scope.urls = [];
- $scope.urls.push({
- title: "Local",
- tagline: "URL for the machine you are running BrowserSync on",
- url: urls.local,
- icon: "imac"
- });
- if (urls.external) {
- $scope.urls.push({
- title: "External",
- tagline: "Other devices on the same wifi network",
- url: urls.external,
- icon: "wifi"
- });
- }
- if (urls.tunnel) {
- $scope.urls.push({
- title: "Tunnel",
- tagline: "Secure HTTPS public url",
- url: urls.tunnel,
- icon: "globe"
- });
- }
- /**
- *
- */
- $scope.sendAllTo = function (path) {
- Clients.sendAllTo(path);
- $rootScope.$emit("notify:flash", {
- heading: "Instruction sent:",
- message: "Sync all Browsers to: " + path
- });
- };
- }
- /**
- * Display the snippet when in snippet mode
- */
- angular
- .module("BrowserSync")
- .directive("snippetInfo", function () {
- return {
- restrict: "E",
- replace: true,
- scope: {
- "options": "="
- },
- templateUrl: "snippet-info.html",
- controller: ["$scope", function snippetInfoController() {/*noop*/}]
- };
- });
- })(angular);
|