work.suroh.tk/node_modules/browser-sync-ui/lib/plugins/remote-debug/remote-debug.client.js

145 lines
3.7 KiB
JavaScript
Raw Normal View History

2019-12-02 12:22:45 +00:00
(function (angular) {
const SECTION_NAME = "remote-debug";
angular
.module("BrowserSync")
.controller("RemoteDebugController", [
"options",
"Socket",
"pagesConfig",
RemoteDebugController
]);
/**
* @param options
* @param Socket
* @param pagesConfig
*/
function RemoteDebugController(options, Socket, pagesConfig) {
var ctrl = this;
ctrl.options = options.bs;
ctrl.uiOptions = options.ui;
ctrl.clientFiles = options.ui.clientFiles || {};
ctrl.section = pagesConfig[SECTION_NAME];
ctrl.overlayGrid = options.ui[SECTION_NAME]["overlay-grid"];
ctrl.items = [];
if (Object.keys(ctrl.clientFiles).length) {
Object.keys(ctrl.clientFiles).forEach(function (key) {
if (ctrl.clientFiles[key].context === SECTION_NAME) {
ctrl.items.push(ctrl.clientFiles[key]);
}
});
}
ctrl.toggleClientFile = function (item) {
if (item.active) {
return ctrl.enable(item);
}
return ctrl.disable(item);
};
ctrl.toggleOverlayGrid = function (item) {
var ns = SECTION_NAME + ":overlay-grid";
Socket.uiEvent({
namespace: ns,
event: "toggle",
data: item.active
});
};
ctrl.enable = function (item) {
Socket.uiEvent({
namespace: SECTION_NAME + ":files",
event: "enableFile",
data: item
});
};
ctrl.disable = function (item) {
Socket.uiEvent({
namespace: SECTION_NAME + ":files",
event: "disableFile",
data: item
});
};
}
/**
* Display the snippet when in snippet mode
*/
angular
.module("BrowserSync")
.directive("noCache", function () {
return {
restrict: "E",
replace: true,
scope: {
"options": "="
},
templateUrl: "no-cache.html",
controller: ["$scope", "Socket", noCacheDirectiveControlller],
controllerAs: "ctrl"
};
});
/**
* @param $scope
* @param Socket
*/
function noCacheDirectiveControlller ($scope, Socket) {
var ctrl = this;
ctrl.noCache = $scope.options[SECTION_NAME]["no-cache"];
ctrl.toggleLatency = function (item) {
Socket.emit("ui:no-cache", {
event: "toggle",
data: item.active
});
};
}
/**
* Display the snippet when in snippet mode
*/
angular
.module("BrowserSync")
.directive("compression", function () {
return {
restrict: "E",
replace: true,
scope: {
"options": "="
},
templateUrl: "compression.html",
controller: ["$scope", "Socket", compressionDirectiveControlller],
controllerAs: "ctrl"
};
});
/**
* @param $scope
* @param Socket
*/
function compressionDirectiveControlller ($scope, Socket) {
var ctrl = this;
ctrl.compression = $scope.options[SECTION_NAME]["compression"];
ctrl.toggleLatency = function (item) {
Socket.emit("ui:compression", {
event: "toggle",
data: item.active
});
};
}
})(angular);