96 lines
2.3 KiB
JavaScript
96 lines
2.3 KiB
JavaScript
|
var weinre = require("./weinre");
|
||
|
//var compression = require("./compression");
|
||
|
//var noCachePlugin = require("./no-cache");
|
||
|
var overlayPlugin = require("./overlay-grid/overlay-grid");
|
||
|
var clientFiles = require("./client-files");
|
||
|
|
||
|
const PLUGIN_NAME = "Remote Debug";
|
||
|
|
||
|
/**
|
||
|
* @type {{plugin: Function, plugin:name: string, markup: string}}
|
||
|
*/
|
||
|
module.exports = {
|
||
|
/**
|
||
|
* @param ui
|
||
|
* @param bs
|
||
|
*/
|
||
|
"plugin": function (ui, bs) {
|
||
|
|
||
|
if (bs.options.get("scheme") === "https") {
|
||
|
ui.setMany(function (item) {
|
||
|
item.deleteIn(["clientFiles", "weinre"]);
|
||
|
});
|
||
|
} else {
|
||
|
ui.weinre = weinre.init(ui);
|
||
|
}
|
||
|
|
||
|
ui.overlayGrid = overlayPlugin.init(ui, bs);
|
||
|
|
||
|
//ui.noCache = noCachePlugin.init(ui, bs);
|
||
|
//ui.compression = compression.init(ui, bs);
|
||
|
|
||
|
/**
|
||
|
* Listen for file events
|
||
|
*/
|
||
|
ui.listen("remote-debug:files", {
|
||
|
"enableFile": function (file) {
|
||
|
ui.enableElement(file);
|
||
|
},
|
||
|
"disableFile": function (file) {
|
||
|
ui.disableElement(file);
|
||
|
}
|
||
|
});
|
||
|
|
||
|
/**
|
||
|
* Listen for weinre toggles
|
||
|
*/
|
||
|
ui.listen("remote-debug:weinre", ui.weinre);
|
||
|
|
||
|
/**
|
||
|
* Listen for overlay-grid events
|
||
|
*/
|
||
|
ui.listen("remote-debug:overlay-grid", ui.overlayGrid);
|
||
|
},
|
||
|
/**
|
||
|
* Hooks
|
||
|
*/
|
||
|
"hooks": {
|
||
|
"markup": fileContent("remote-debug.html"),
|
||
|
"client:js": [
|
||
|
fileContent("/remote-debug.client.js"),
|
||
|
fileContent("/overlay-grid/overlay-grid.client.js")
|
||
|
],
|
||
|
"templates": [
|
||
|
getPath("/overlay-grid/overlay-grid.html")
|
||
|
],
|
||
|
"page": {
|
||
|
path: "/remote-debug",
|
||
|
title: PLUGIN_NAME,
|
||
|
template: "remote-debug.html",
|
||
|
controller: PLUGIN_NAME.replace(" ", "") + "Controller",
|
||
|
order: 4,
|
||
|
icon: "bug"
|
||
|
},
|
||
|
elements: clientFiles.files
|
||
|
},
|
||
|
/**
|
||
|
* Plugin name
|
||
|
*/
|
||
|
"plugin:name": PLUGIN_NAME
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* @param filepath
|
||
|
* @returns {*}
|
||
|
*/
|
||
|
function getPath (filepath) {
|
||
|
return require("path").join(__dirname, filepath);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @param filepath
|
||
|
* @returns {*}
|
||
|
*/
|
||
|
function fileContent (filepath) {
|
||
|
return require("fs").readFileSync(getPath(filepath), "utf-8");
|
||
|
}
|