From bac88b3d6775e4d5beff423fbe5b4f4f27cb7b8b Mon Sep 17 00:00:00 2001 From: Lukas Olson Date: Fri, 1 Jul 2016 16:42:28 -0700 Subject: [PATCH 01/31] Placeholder app for devtools and modify sense to export a dev tool --- src/plugins/console/index.js | 26 ++++++++----------- src/plugins/console/public/console.js | 18 ++++++++++--- src/plugins/kibana/index.js | 8 ++++++ src/plugins/kibana/public/assets/wrench.svg | 4 +++ .../kibana/public/dev_tools/index.html | 15 +++++++++++ src/plugins/kibana/public/dev_tools/index.js | 22 ++++++++++++++++ src/plugins/kibana/public/kibana.js | 1 + src/ui/public/registry/dev_tools.js | 6 +++++ src/ui/ui_exports.js | 1 + 9 files changed, 83 insertions(+), 18 deletions(-) create mode 100644 src/plugins/kibana/public/assets/wrench.svg create mode 100644 src/plugins/kibana/public/dev_tools/index.html create mode 100644 src/plugins/kibana/public/dev_tools/index.js create mode 100644 src/ui/public/registry/dev_tools.js diff --git a/src/plugins/console/index.js b/src/plugins/console/index.js index 85ce64e31fad..3f1438ee915f 100644 --- a/src/plugins/console/index.js +++ b/src/plugins/console/index.js @@ -9,19 +9,7 @@ module.exports = function (kibana) { let { existsSync } = require('fs'); const { startsWith, endsWith } = require('lodash'); - const apps = [ - { - title: 'Console', - description: 'JSON aware developer\'s interface to ElasticSearch', - main: 'plugins/console/console', - icon: 'plugins/console/logo.svg', - injectVars: function (server, options) { - const varsToInject = options; - varsToInject.elasticsearchUrl = server.config().get('elasticsearch.url'); - return varsToInject; - } - } - ]; + const apps = []; if (existsSync(resolve(__dirname, 'public/tests'))) { apps.push({ @@ -146,7 +134,7 @@ module.exports = function (kibana) { payload: { output: 'stream', parse: false - }, + } } }); @@ -156,7 +144,7 @@ module.exports = function (kibana) { config: { ...proxyRouteConfig } - }) + }); server.route({ path: '/api/console/api_server', @@ -188,6 +176,14 @@ module.exports = function (kibana) { uiExports: { apps: apps, + devTools: ['plugins/console/console'], + + injectDefaultVars(server, options) { + const varsToInject = options; + varsToInject.elasticsearchUrl = server.config().get('elasticsearch.url'); + return varsToInject; + }, + noParse: [ join(modules, 'ace' + sep), join(modules, 'moment_src/moment' + sep), diff --git a/src/plugins/console/public/console.js b/src/plugins/console/public/console.js index 6525cb9b2c0c..563ff57269f6 100644 --- a/src/plugins/console/public/console.js +++ b/src/plugins/console/public/console.js @@ -1,3 +1,7 @@ +import devTools from 'ui/registry/dev_tools'; +import uiRoutes from 'ui/routes'; +import template from './index.html'; + require('ace'); require('ui-bootstrap-custom'); @@ -13,6 +17,14 @@ require('./src/directives/sense_help'); require('./src/directives/sense_welcome'); require('./src/directives/sense_navbar'); -require('ui/chrome') -.setRootTemplate(require('./index.html')) -.setRootController('sense', 'SenseController'); +devTools.register(() => ({ + order: 1, + name: 'console', + display: 'Console', + url: '#/dev_tools/console' +})); + +uiRoutes.when('/dev_tools/console', { + controller: 'SenseController', + template +}); diff --git a/src/plugins/kibana/index.js b/src/plugins/kibana/index.js index 61b83cb38c9d..19c51db013a2 100644 --- a/src/plugins/kibana/index.js +++ b/src/plugins/kibana/index.js @@ -26,6 +26,7 @@ module.exports = function (kibana) { 'fieldFormats', 'navbarExtensions', 'managementSections', + 'devTools', 'docViews' ], @@ -67,6 +68,13 @@ module.exports = function (kibana) { description: 'define index patterns, change config, and more', icon: 'plugins/kibana/assets/settings.svg', linkToLastSubUrl: false + }, + { + title: 'DevTools', + order: 1010, + url: '/app/kibana#/dev_tools', + description: 'development tools', + icon: 'plugins/kibana/assets/wrench.svg' } ], injectDefaultVars(server, options) { diff --git a/src/plugins/kibana/public/assets/wrench.svg b/src/plugins/kibana/public/assets/wrench.svg new file mode 100644 index 000000000000..b10e33b13fef --- /dev/null +++ b/src/plugins/kibana/public/assets/wrench.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/src/plugins/kibana/public/dev_tools/index.html b/src/plugins/kibana/public/dev_tools/index.html new file mode 100644 index 000000000000..5d3e816e91ef --- /dev/null +++ b/src/plugins/kibana/public/dev_tools/index.html @@ -0,0 +1,15 @@ +
+ + +
+
diff --git a/src/plugins/kibana/public/dev_tools/index.js b/src/plugins/kibana/public/dev_tools/index.js new file mode 100644 index 000000000000..253b6ce394f4 --- /dev/null +++ b/src/plugins/kibana/public/dev_tools/index.js @@ -0,0 +1,22 @@ +import uiRoutes from 'ui/routes'; +import uiModules from 'ui/modules'; +import template from 'plugins/kibana/dev_tools/index.html'; +import chrome from 'ui/chrome/chrome'; +import devTools from 'ui/registry/dev_tools'; + +uiRoutes +.when('/dev_tools', { + template: '' +}); + +uiModules +.get('apps/dev_tools') +.directive('kbnDevToolsApp', function (Private) { + return { + restrict: 'E', + template, + link: function ($scope) { + $scope.devTools = Private(devTools).inOrder; + } + }; +}); diff --git a/src/plugins/kibana/public/kibana.js b/src/plugins/kibana/public/kibana.js index bf96cf92207d..4ecc7dacc29e 100644 --- a/src/plugins/kibana/public/kibana.js +++ b/src/plugins/kibana/public/kibana.js @@ -13,6 +13,7 @@ import 'plugins/kibana/visualize/index'; import 'plugins/kibana/dashboard/index'; import 'plugins/kibana/management/index'; import 'plugins/kibana/doc'; +import 'plugins/kibana/dev_tools'; import 'ui/vislib'; import 'ui/agg_response'; import 'ui/agg_types'; diff --git a/src/ui/public/registry/dev_tools.js b/src/ui/public/registry/dev_tools.js new file mode 100644 index 000000000000..e8d7f933bfd7 --- /dev/null +++ b/src/ui/public/registry/dev_tools.js @@ -0,0 +1,6 @@ +import uiRegistry from 'ui/registry/_registry'; +export default uiRegistry({ + name: 'devTools', + index: ['name'], + order: ['order'] +}); diff --git a/src/ui/ui_exports.js b/src/ui/ui_exports.js index 9cd4d2dc1ebe..2bb3ccfac681 100644 --- a/src/ui/ui_exports.js +++ b/src/ui/ui_exports.js @@ -82,6 +82,7 @@ class UiExports { case 'chromeNavControls': case 'navbarExtensions': case 'managementSections': + case 'devTools': case 'docViews': case 'hacks': return (plugin, spec) => { From 51fb8217d3169f81ca5a62bb3f4c8d489e820f93 Mon Sep 17 00:00:00 2001 From: Lukas Olson Date: Thu, 7 Jul 2016 16:55:12 -0700 Subject: [PATCH 02/31] Move dev tools to new location --- src/{plugins => core_plugins}/kibana/public/assets/wrench.svg | 0 src/{plugins => core_plugins}/kibana/public/dev_tools/index.html | 0 src/{plugins => core_plugins}/kibana/public/dev_tools/index.js | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename src/{plugins => core_plugins}/kibana/public/assets/wrench.svg (100%) rename src/{plugins => core_plugins}/kibana/public/dev_tools/index.html (100%) rename src/{plugins => core_plugins}/kibana/public/dev_tools/index.js (100%) diff --git a/src/plugins/kibana/public/assets/wrench.svg b/src/core_plugins/kibana/public/assets/wrench.svg similarity index 100% rename from src/plugins/kibana/public/assets/wrench.svg rename to src/core_plugins/kibana/public/assets/wrench.svg diff --git a/src/plugins/kibana/public/dev_tools/index.html b/src/core_plugins/kibana/public/dev_tools/index.html similarity index 100% rename from src/plugins/kibana/public/dev_tools/index.html rename to src/core_plugins/kibana/public/dev_tools/index.html diff --git a/src/plugins/kibana/public/dev_tools/index.js b/src/core_plugins/kibana/public/dev_tools/index.js similarity index 100% rename from src/plugins/kibana/public/dev_tools/index.js rename to src/core_plugins/kibana/public/dev_tools/index.js From 4522039a33db565fa573038de9db4a6ecf61d59c Mon Sep 17 00:00:00 2001 From: Lukas Olson Date: Tue, 12 Jul 2016 16:39:38 -0700 Subject: [PATCH 03/31] Rename customized ace version for console to consoleAce --- .../console/public/webpackShims/ace.js | 2 +- .../console/public/webpackShims/ace/ace.js | 133 +++++++++--------- .../webpackShims/ace/ext-language_tools.js | 14 +- .../public/webpackShims/ace/ext-searchbox.js | 2 +- .../public/webpackShims/ace/mode-json.js | 10 +- .../public/webpackShims/ace/mode-yaml.js | 8 +- .../public/webpackShims/ace/worker-json.js | 20 +-- 7 files changed, 94 insertions(+), 95 deletions(-) diff --git a/src/core_plugins/console/public/webpackShims/ace.js b/src/core_plugins/console/public/webpackShims/ace.js index 0dae3d33b1df..bd4f5c34df51 100644 --- a/src/core_plugins/console/public/webpackShims/ace.js +++ b/src/core_plugins/console/public/webpackShims/ace.js @@ -1,2 +1,2 @@ require('ace/ace.js'); -module.exports = window.ace; +module.exports = window.consoleAce; diff --git a/src/core_plugins/console/public/webpackShims/ace/ace.js b/src/core_plugins/console/public/webpackShims/ace/ace.js index acf403b4c205..313ee9def944 100644 --- a/src/core_plugins/console/public/webpackShims/ace/ace.js +++ b/src/core_plugins/console/public/webpackShims/ace/ace.js @@ -30,7 +30,7 @@ (function() { -var ACE_NAMESPACE = "ace"; +var ACE_NAMESPACE = "consoleAce"; var global = (function() { return this; @@ -169,7 +169,7 @@ exportAce(ACE_NAMESPACE); })(); -ace.define('ace/ace', ['require', 'exports', 'module' , 'ace/lib/fixoldbrowsers', 'ace/lib/dom', 'ace/lib/event', 'ace/editor', 'ace/edit_session', 'ace/undomanager', 'ace/virtual_renderer', 'ace/multi_select', 'ace/worker/worker_client', 'ace/keyboard/hash_handler', 'ace/placeholder', 'ace/mode/folding/fold_mode', 'ace/theme/textmate', 'ace/ext/error_marker', 'ace/config'], function(require, exports, module) { +consoleAce.define('ace/ace', ['require', 'exports', 'module' , 'ace/lib/fixoldbrowsers', 'ace/lib/dom', 'ace/lib/event', 'ace/editor', 'ace/edit_session', 'ace/undomanager', 'ace/virtual_renderer', 'ace/multi_select', 'ace/worker/worker_client', 'ace/keyboard/hash_handler', 'ace/placeholder', 'ace/mode/folding/fold_mode', 'ace/theme/textmate', 'ace/ext/error_marker', 'ace/config'], function(require, exports, module) { require("./lib/fixoldbrowsers"); @@ -230,7 +230,7 @@ exports.EditSession = EditSession; exports.UndoManager = UndoManager; }); -ace.define('ace/lib/fixoldbrowsers', ['require', 'exports', 'module' , 'ace/lib/regexp', 'ace/lib/es5-shim'], function(require, exports, module) { +consoleAce.define('ace/lib/fixoldbrowsers', ['require', 'exports', 'module' , 'ace/lib/regexp', 'ace/lib/es5-shim'], function(require, exports, module) { require("./regexp"); @@ -238,7 +238,7 @@ require("./es5-shim"); }); -ace.define('ace/lib/regexp', ['require', 'exports', 'module' ], function(require, exports, module) { +consoleAce.define('ace/lib/regexp', ['require', 'exports', 'module' ], function(require, exports, module) { var real = { exec: RegExp.prototype.exec, @@ -310,7 +310,7 @@ ace.define('ace/lib/regexp', ['require', 'exports', 'module' ], function(require }); -ace.define('ace/lib/es5-shim', ['require', 'exports', 'module' ], function(require, exports, module) { +consoleAce.define('ace/lib/es5-shim', ['require', 'exports', 'module' ], function(require, exports, module) { function Empty() {} @@ -1007,7 +1007,7 @@ var toObject = function (o) { }); -ace.define('ace/lib/dom', ['require', 'exports', 'module' ], function(require, exports, module) { +consoleAce.define('ace/lib/dom', ['require', 'exports', 'module' ], function(require, exports, module) { if (typeof document == "undefined") @@ -1240,7 +1240,7 @@ exports.getParentWindow = function(document) { }); -ace.define('ace/lib/event', ['require', 'exports', 'module' , 'ace/lib/keys', 'ace/lib/useragent', 'ace/lib/dom'], function(require, exports, module) { +consoleAce.define('ace/lib/event', ['require', 'exports', 'module' , 'ace/lib/keys', 'ace/lib/useragent', 'ace/lib/dom'], function(require, exports, module) { var keys = require("./keys"); @@ -1555,7 +1555,7 @@ else }; }); -ace.define('ace/lib/keys', ['require', 'exports', 'module' , 'ace/lib/oop'], function(require, exports, module) { +consoleAce.define('ace/lib/keys', ['require', 'exports', 'module' , 'ace/lib/oop'], function(require, exports, module) { var oop = require("./oop"); @@ -1648,7 +1648,7 @@ exports.keyCodeToString = function(keyCode) { }); -ace.define('ace/lib/oop', ['require', 'exports', 'module' ], function(require, exports, module) { +consoleAce.define('ace/lib/oop', ['require', 'exports', 'module' ], function(require, exports, module) { exports.inherits = function(ctor, superCtor) { @@ -1676,7 +1676,7 @@ exports.implement = function(proto, mixin) { }); -ace.define('ace/lib/useragent', ['require', 'exports', 'module' ], function(require, exports, module) { +consoleAce.define('ace/lib/useragent', ['require', 'exports', 'module' ], function(require, exports, module) { exports.OS = { LINUX: "LINUX", MAC: "MAC", @@ -1719,7 +1719,7 @@ exports.isTouchPad = ua.indexOf("TouchPad") >= 0; }); -ace.define('ace/editor', ['require', 'exports', 'module' , 'ace/lib/fixoldbrowsers', 'ace/lib/oop', 'ace/lib/dom', 'ace/lib/lang', 'ace/lib/useragent', 'ace/keyboard/textinput', 'ace/mouse/mouse_handler', 'ace/mouse/fold_handler', 'ace/keyboard/keybinding', 'ace/edit_session', 'ace/search', 'ace/range', 'ace/lib/event_emitter', 'ace/commands/command_manager', 'ace/commands/default_commands', 'ace/config'], function(require, exports, module) { +consoleAce.define('ace/editor', ['require', 'exports', 'module' , 'ace/lib/fixoldbrowsers', 'ace/lib/oop', 'ace/lib/dom', 'ace/lib/lang', 'ace/lib/useragent', 'ace/keyboard/textinput', 'ace/mouse/mouse_handler', 'ace/mouse/fold_handler', 'ace/keyboard/keybinding', 'ace/edit_session', 'ace/search', 'ace/range', 'ace/lib/event_emitter', 'ace/commands/command_manager', 'ace/commands/default_commands', 'ace/config'], function(require, exports, module) { require("./lib/fixoldbrowsers"); @@ -3338,7 +3338,7 @@ config.defineOptions(Editor.prototype, "editor", { exports.Editor = Editor; }); -ace.define('ace/lib/lang', ['require', 'exports', 'module' ], function(require, exports, module) { +consoleAce.define('ace/lib/lang', ['require', 'exports', 'module' ], function(require, exports, module) { exports.stringReverse = function(string) { @@ -3521,7 +3521,7 @@ exports.delayedCall = function(fcn, defaultTimeout) { }; }); -ace.define('ace/keyboard/textinput', ['require', 'exports', 'module' , 'ace/lib/event', 'ace/lib/useragent', 'ace/lib/dom', 'ace/lib/lang'], function(require, exports, module) { +consoleAce.define('ace/keyboard/textinput', ['require', 'exports', 'module' , 'ace/lib/event', 'ace/lib/useragent', 'ace/lib/dom', 'ace/lib/lang'], function(require, exports, module) { var event = require("../lib/event"); @@ -3966,7 +3966,7 @@ var TextInput = function(parentNode, host) { exports.TextInput = TextInput; }); -ace.define('ace/mouse/mouse_handler', ['require', 'exports', 'module' , 'ace/lib/event', 'ace/lib/useragent', 'ace/mouse/default_handlers', 'ace/mouse/default_gutter_handler', 'ace/mouse/mouse_event', 'ace/mouse/dragdrop_handler', 'ace/config'], function(require, exports, module) { +consoleAce.define('ace/mouse/mouse_handler', ['require', 'exports', 'module' , 'ace/lib/event', 'ace/lib/useragent', 'ace/mouse/default_handlers', 'ace/mouse/default_gutter_handler', 'ace/mouse/mouse_event', 'ace/mouse/dragdrop_handler', 'ace/config'], function(require, exports, module) { var event = require("../lib/event"); @@ -4095,7 +4095,7 @@ config.defineOptions(MouseHandler.prototype, "mouseHandler", { exports.MouseHandler = MouseHandler; }); -ace.define('ace/mouse/default_handlers', ['require', 'exports', 'module' , 'ace/lib/dom', 'ace/lib/event', 'ace/lib/useragent'], function(require, exports, module) { +consoleAce.define('ace/mouse/default_handlers', ['require', 'exports', 'module' , 'ace/lib/dom', 'ace/lib/event', 'ace/lib/useragent'], function(require, exports, module) { var dom = require("../lib/dom"); @@ -4332,7 +4332,7 @@ function calcRangeOrientation(range, cursor) { }); -ace.define('ace/mouse/default_gutter_handler', ['require', 'exports', 'module' , 'ace/lib/dom', 'ace/lib/event'], function(require, exports, module) { +consoleAce.define('ace/mouse/default_gutter_handler', ['require', 'exports', 'module' , 'ace/lib/dom', 'ace/lib/event'], function(require, exports, module) { var dom = require("../lib/dom"); var event = require("../lib/event"); @@ -4464,7 +4464,7 @@ exports.GutterHandler = GutterHandler; }); -ace.define('ace/mouse/mouse_event', ['require', 'exports', 'module' , 'ace/lib/event', 'ace/lib/useragent'], function(require, exports, module) { +consoleAce.define('ace/mouse/mouse_event', ['require', 'exports', 'module' , 'ace/lib/event', 'ace/lib/useragent'], function(require, exports, module) { var event = require("../lib/event"); @@ -4538,7 +4538,7 @@ var MouseEvent = exports.MouseEvent = function(domEvent, editor) { }); -ace.define('ace/mouse/dragdrop_handler', ['require', 'exports', 'module' , 'ace/lib/dom', 'ace/lib/event', 'ace/lib/useragent'], function(require, exports, module) { +consoleAce.define('ace/mouse/dragdrop_handler', ['require', 'exports', 'module' , 'ace/lib/dom', 'ace/lib/event', 'ace/lib/useragent'], function(require, exports, module) { var dom = require("../lib/dom"); @@ -4911,7 +4911,7 @@ exports.DragdropHandler = DragdropHandler; }); -ace.define('ace/config', ['require', 'exports', 'module' , 'ace/lib/lang', 'ace/lib/oop', 'ace/lib/net', 'ace/lib/event_emitter'], function(require, exports, module) { +consoleAce.define('ace/config', ['require', 'exports', 'module' , 'ace/lib/lang', 'ace/lib/oop', 'ace/lib/net', 'ace/lib/event_emitter'], function(require, exports, module) { "no use strict"; var lang = require("./lib/lang"); @@ -5163,7 +5163,7 @@ exports.setDefaultValues = function(path, optionHash) { }; }); -ace.define('ace/lib/net', ['require', 'exports', 'module' , 'ace/lib/dom'], function(require, exports, module) { +consoleAce.define('ace/lib/net', ['require', 'exports', 'module' , 'ace/lib/dom'], function(require, exports, module) { var dom = require("./dom"); @@ -5196,7 +5196,7 @@ exports.loadScript = function(path, callback) { }); -ace.define('ace/lib/event_emitter', ['require', 'exports', 'module' ], function(require, exports, module) { +consoleAce.define('ace/lib/event_emitter', ['require', 'exports', 'module' ], function(require, exports, module) { var EventEmitter = {}; @@ -5322,7 +5322,7 @@ exports.EventEmitter = EventEmitter; }); -ace.define('ace/mouse/fold_handler', ['require', 'exports', 'module' ], function(require, exports, module) { +consoleAce.define('ace/mouse/fold_handler', ['require', 'exports', 'module' ], function(require, exports, module) { function FoldHandler(editor) { @@ -5384,7 +5384,7 @@ exports.FoldHandler = FoldHandler; }); -ace.define('ace/keyboard/keybinding', ['require', 'exports', 'module' , 'ace/lib/keys', 'ace/lib/event'], function(require, exports, module) { +consoleAce.define('ace/keyboard/keybinding', ['require', 'exports', 'module' , 'ace/lib/keys', 'ace/lib/event'], function(require, exports, module) { var keyUtil = require("../lib/keys"); @@ -5488,7 +5488,7 @@ var KeyBinding = function(editor) { exports.KeyBinding = KeyBinding; }); -ace.define('ace/edit_session', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/lang', 'ace/config', 'ace/lib/event_emitter', 'ace/selection', 'ace/mode/text', 'ace/range', 'ace/document', 'ace/background_tokenizer', 'ace/search_highlight', 'ace/edit_session/folding', 'ace/edit_session/bracket_match'], function(require, exports, module) { +consoleAce.define('ace/edit_session', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/lang', 'ace/config', 'ace/lib/event_emitter', 'ace/selection', 'ace/mode/text', 'ace/range', 'ace/document', 'ace/background_tokenizer', 'ace/search_highlight', 'ace/edit_session/folding', 'ace/edit_session/bracket_match'], function(require, exports, module) { var oop = require("./lib/oop"); @@ -7181,7 +7181,7 @@ config.defineOptions(EditSession.prototype, "session", { exports.EditSession = EditSession; }); -ace.define('ace/selection', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/lang', 'ace/lib/event_emitter', 'ace/range'], function(require, exports, module) { +consoleAce.define('ace/selection', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/lang', 'ace/lib/event_emitter', 'ace/range'], function(require, exports, module) { var oop = require("./lib/oop"); @@ -7769,7 +7769,7 @@ var Selection = function(session) { exports.Selection = Selection; }); -ace.define('ace/range', ['require', 'exports', 'module' ], function(require, exports, module) { +consoleAce.define('ace/range', ['require', 'exports', 'module' ], function(require, exports, module) { var comparePoints = function(p1, p2) { return p1.row - p2.row || p1.column - p2.column; @@ -8008,7 +8008,7 @@ Range.comparePoints = function(p1, p2) { exports.Range = Range; }); -ace.define('ace/mode/text', ['require', 'exports', 'module' , 'ace/tokenizer', 'ace/mode/text_highlight_rules', 'ace/mode/behaviour', 'ace/unicode', 'ace/lib/lang', 'ace/token_iterator', 'ace/range'], function(require, exports, module) { +consoleAce.define('ace/mode/text', ['require', 'exports', 'module' , 'ace/tokenizer', 'ace/mode/text_highlight_rules', 'ace/mode/behaviour', 'ace/unicode', 'ace/lib/lang', 'ace/token_iterator', 'ace/range'], function(require, exports, module) { var Tokenizer = require("../tokenizer").Tokenizer; @@ -8360,7 +8360,7 @@ var Mode = function() { exports.Mode = Mode; }); -ace.define('ace/tokenizer', ['require', 'exports', 'module' ], function(require, exports, module) { +consoleAce.define('ace/tokenizer', ['require', 'exports', 'module' ], function(require, exports, module) { var MAX_TOKEN_COUNT = 1000; var Tokenizer = function(rules) { this.states = rules; @@ -8644,7 +8644,7 @@ var Tokenizer = function(rules) { exports.Tokenizer = Tokenizer; }); -ace.define('ace/mode/text_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/lang'], function(require, exports, module) { +consoleAce.define('ace/mode/text_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/lang'], function(require, exports, module) { var lang = require("../lib/lang"); @@ -8842,7 +8842,7 @@ var TextHighlightRules = function() { exports.TextHighlightRules = TextHighlightRules; }); -ace.define('ace/mode/behaviour', ['require', 'exports', 'module' ], function(require, exports, module) { +consoleAce.define('ace/mode/behaviour', ['require', 'exports', 'module' ], function(require, exports, module) { var Behaviour = function() { @@ -8902,7 +8902,7 @@ var Behaviour = function() { exports.Behaviour = Behaviour; }); -ace.define('ace/unicode', ['require', 'exports', 'module' ], function(require, exports, module) { +consoleAce.define('ace/unicode', ['require', 'exports', 'module' ], function(require, exports, module) { exports.packages = {}; addUnicodePackage({ @@ -8953,7 +8953,7 @@ function addUnicodePackage (pack) { }); -ace.define('ace/token_iterator', ['require', 'exports', 'module' ], function(require, exports, module) { +consoleAce.define('ace/token_iterator', ['require', 'exports', 'module' ], function(require, exports, module) { var TokenIterator = function(session, initialRow, initialColumn) { this.$session = session; this.$row = initialRow; @@ -9025,7 +9025,7 @@ var TokenIterator = function(session, initialRow, initialColumn) { exports.TokenIterator = TokenIterator; }); -ace.define('ace/document', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/event_emitter', 'ace/range', 'ace/anchor'], function(require, exports, module) { +consoleAce.define('ace/document', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/event_emitter', 'ace/range', 'ace/anchor'], function(require, exports, module) { var oop = require("./lib/oop"); @@ -9381,7 +9381,7 @@ var Document = function(text) { exports.Document = Document; }); -ace.define('ace/anchor', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/event_emitter'], function(require, exports, module) { +consoleAce.define('ace/anchor', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/event_emitter'], function(require, exports, module) { var oop = require("./lib/oop"); @@ -9528,7 +9528,7 @@ var Anchor = exports.Anchor = function(doc, row, column) { }); -ace.define('ace/background_tokenizer', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/event_emitter'], function(require, exports, module) { +consoleAce.define('ace/background_tokenizer', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/event_emitter'], function(require, exports, module) { var oop = require("./lib/oop"); @@ -9675,7 +9675,7 @@ var BackgroundTokenizer = function(tokenizer, editor) { exports.BackgroundTokenizer = BackgroundTokenizer; }); -ace.define('ace/search_highlight', ['require', 'exports', 'module' , 'ace/lib/lang', 'ace/lib/oop', 'ace/range'], function(require, exports, module) { +consoleAce.define('ace/search_highlight', ['require', 'exports', 'module' , 'ace/lib/lang', 'ace/lib/oop', 'ace/range'], function(require, exports, module) { var lang = require("./lib/lang"); @@ -9727,7 +9727,7 @@ var SearchHighlight = function(regExp, clazz, type) { exports.SearchHighlight = SearchHighlight; }); -ace.define('ace/edit_session/folding', ['require', 'exports', 'module' , 'ace/range', 'ace/edit_session/fold_line', 'ace/edit_session/fold', 'ace/token_iterator'], function(require, exports, module) { +consoleAce.define('ace/edit_session/folding', ['require', 'exports', 'module' , 'ace/range', 'ace/edit_session/fold_line', 'ace/edit_session/fold', 'ace/token_iterator'], function(require, exports, module) { var Range = require("../range").Range; @@ -10459,7 +10459,7 @@ exports.Folding = Folding; }); -ace.define('ace/edit_session/fold_line', ['require', 'exports', 'module' , 'ace/range'], function(require, exports, module) { +consoleAce.define('ace/edit_session/fold_line', ['require', 'exports', 'module' , 'ace/range'], function(require, exports, module) { var Range = require("../range").Range; @@ -10677,7 +10677,7 @@ function FoldLine(foldData, folds) { exports.FoldLine = FoldLine; }); -ace.define('ace/edit_session/fold', ['require', 'exports', 'module' , 'ace/range', 'ace/range_list', 'ace/lib/oop'], function(require, exports, module) { +consoleAce.define('ace/edit_session/fold', ['require', 'exports', 'module' , 'ace/range', 'ace/range_list', 'ace/lib/oop'], function(require, exports, module) { var Range = require("../range").Range; @@ -10781,7 +10781,7 @@ function restoreRange(range, anchor) { }); -ace.define('ace/range_list', ['require', 'exports', 'module' , 'ace/range'], function(require, exports, module) { +consoleAce.define('ace/range_list', ['require', 'exports', 'module' , 'ace/range'], function(require, exports, module) { var Range = require("./range").Range; var comparePoints = Range.comparePoints; @@ -10988,7 +10988,7 @@ var RangeList = function() { exports.RangeList = RangeList; }); -ace.define('ace/edit_session/bracket_match', ['require', 'exports', 'module' , 'ace/token_iterator', 'ace/range'], function(require, exports, module) { +consoleAce.define('ace/edit_session/bracket_match', ['require', 'exports', 'module' , 'ace/token_iterator', 'ace/range'], function(require, exports, module) { var TokenIterator = require("../token_iterator").TokenIterator; @@ -11168,7 +11168,7 @@ exports.BracketMatch = BracketMatch; }); -ace.define('ace/search', ['require', 'exports', 'module' , 'ace/lib/lang', 'ace/lib/oop', 'ace/range'], function(require, exports, module) { +consoleAce.define('ace/search', ['require', 'exports', 'module' , 'ace/lib/lang', 'ace/lib/oop', 'ace/range'], function(require, exports, module) { var lang = require("./lib/lang"); @@ -11457,7 +11457,7 @@ var Search = function() { exports.Search = Search; }); -ace.define('ace/commands/command_manager', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/keyboard/hash_handler', 'ace/lib/event_emitter'], function(require, exports, module) { +consoleAce.define('ace/commands/command_manager', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/keyboard/hash_handler', 'ace/lib/event_emitter'], function(require, exports, module) { var oop = require("../lib/oop"); @@ -11557,7 +11557,7 @@ exports.CommandManager = CommandManager; }); -ace.define('ace/keyboard/hash_handler', ['require', 'exports', 'module' , 'ace/lib/keys', 'ace/lib/useragent'], function(require, exports, module) { +consoleAce.define('ace/keyboard/hash_handler', ['require', 'exports', 'module' , 'ace/lib/keys', 'ace/lib/useragent'], function(require, exports, module) { var keyUtil = require("../lib/keys"); @@ -11717,7 +11717,7 @@ function HashHandler(config, platform) { exports.HashHandler = HashHandler; }); -ace.define('ace/commands/default_commands', ['require', 'exports', 'module' , 'ace/lib/lang', 'ace/config'], function(require, exports, module) { +consoleAce.define('ace/commands/default_commands', ['require', 'exports', 'module' , 'ace/lib/lang', 'ace/config'], function(require, exports, module) { var lang = require("../lib/lang"); @@ -12261,7 +12261,7 @@ exports.commands = [{ }); -ace.define('ace/undomanager', ['require', 'exports', 'module' ], function(require, exports, module) { +consoleAce.define('ace/undomanager', ['require', 'exports', 'module' ], function(require, exports, module) { var UndoManager = function() { this.reset(); }; @@ -12328,7 +12328,7 @@ var UndoManager = function() { exports.UndoManager = UndoManager; }); -ace.define('ace/virtual_renderer', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/dom', 'ace/lib/useragent', 'ace/config', 'ace/layer/gutter', 'ace/layer/marker', 'ace/layer/text', 'ace/layer/cursor', 'ace/scrollbar', 'ace/renderloop', 'ace/lib/event_emitter'], function(require, exports, module) { +consoleAce.define('ace/virtual_renderer', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/dom', 'ace/lib/useragent', 'ace/config', 'ace/layer/gutter', 'ace/layer/marker', 'ace/layer/text', 'ace/layer/cursor', 'ace/scrollbar', 'ace/renderloop', 'ace/lib/event_emitter'], function(require, exports, module) { var oop = require("./lib/oop"); @@ -13930,7 +13930,7 @@ config.defineOptions(VirtualRenderer.prototype, "renderer", { exports.VirtualRenderer = VirtualRenderer; }); -ace.define('ace/layer/gutter', ['require', 'exports', 'module' , 'ace/lib/dom', 'ace/lib/oop', 'ace/lib/lang', 'ace/lib/event_emitter'], function(require, exports, module) { +consoleAce.define('ace/layer/gutter', ['require', 'exports', 'module' , 'ace/lib/dom', 'ace/lib/oop', 'ace/lib/lang', 'ace/lib/event_emitter'], function(require, exports, module) { var dom = require("../lib/dom"); @@ -14170,7 +14170,7 @@ exports.Gutter = Gutter; }); -ace.define('ace/layer/marker', ['require', 'exports', 'module' , 'ace/range', 'ace/lib/dom'], function(require, exports, module) { +consoleAce.define('ace/layer/marker', ['require', 'exports', 'module' , 'ace/range', 'ace/lib/dom'], function(require, exports, module) { var Range = require("../range").Range; @@ -14345,7 +14345,7 @@ exports.Marker = Marker; }); -ace.define('ace/layer/text', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/dom', 'ace/lib/lang', 'ace/lib/useragent', 'ace/lib/event_emitter'], function(require, exports, module) { +consoleAce.define('ace/layer/text', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/dom', 'ace/lib/lang', 'ace/lib/useragent', 'ace/lib/event_emitter'], function(require, exports, module) { var oop = require("../lib/oop"); @@ -14953,7 +14953,7 @@ exports.Text = Text; }); -ace.define('ace/layer/cursor', ['require', 'exports', 'module' , 'ace/lib/dom'], function(require, exports, module) { +consoleAce.define('ace/layer/cursor', ['require', 'exports', 'module' , 'ace/lib/dom'], function(require, exports, module) { var dom = require("../lib/dom"); @@ -15139,7 +15139,7 @@ exports.Cursor = Cursor; }); -ace.define('ace/scrollbar', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/dom', 'ace/lib/event', 'ace/lib/event_emitter'], function(require, exports, module) { +consoleAce.define('ace/scrollbar', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/dom', 'ace/lib/event', 'ace/lib/event_emitter'], function(require, exports, module) { var oop = require("./lib/oop"); @@ -15262,7 +15262,7 @@ exports.VScrollBar = VScrollBar; exports.HScrollBar = HScrollBar; }); -ace.define('ace/renderloop', ['require', 'exports', 'module' , 'ace/lib/event'], function(require, exports, module) { +consoleAce.define('ace/renderloop', ['require', 'exports', 'module' , 'ace/lib/event'], function(require, exports, module) { var event = require("./lib/event"); @@ -15299,7 +15299,7 @@ var RenderLoop = function(onRender, win) { exports.RenderLoop = RenderLoop; }); -ace.define('ace/multi_select', ['require', 'exports', 'module' , 'ace/range_list', 'ace/range', 'ace/selection', 'ace/mouse/multi_select_handler', 'ace/lib/event', 'ace/lib/lang', 'ace/commands/multi_select_commands', 'ace/search', 'ace/edit_session', 'ace/editor', 'ace/config'], function(require, exports, module) { +consoleAce.define('ace/multi_select', ['require', 'exports', 'module' , 'ace/range_list', 'ace/range', 'ace/selection', 'ace/mouse/multi_select_handler', 'ace/lib/event', 'ace/lib/lang', 'ace/commands/multi_select_commands', 'ace/search', 'ace/edit_session', 'ace/editor', 'ace/config'], function(require, exports, module) { var RangeList = require("./range_list").RangeList; var Range = require("./range").Range; @@ -16080,7 +16080,7 @@ require("./config").defineOptions(Editor.prototype, "editor", { }); -ace.define('ace/mouse/multi_select_handler', ['require', 'exports', 'module' , 'ace/lib/event'], function(require, exports, module) { +consoleAce.define('ace/mouse/multi_select_handler', ['require', 'exports', 'module' , 'ace/lib/event'], function(require, exports, module) { var event = require("../lib/event"); function isSamePoint(p1, p2) { @@ -16210,7 +16210,7 @@ exports.onMouseDown = onMouseDown; }); -ace.define('ace/commands/multi_select_commands', ['require', 'exports', 'module' , 'ace/keyboard/hash_handler'], function(require, exports, module) { +consoleAce.define('ace/commands/multi_select_commands', ['require', 'exports', 'module' , 'ace/keyboard/hash_handler'], function(require, exports, module) { exports.defaultCommands = [{ name: "addCursorAbove", exec: function(editor) { editor.selectMoreLines(-1); }, @@ -16274,7 +16274,7 @@ exports.keyboardHandler = new HashHandler(exports.multiSelectCommands); }); -ace.define('ace/worker/worker_client', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/event_emitter', 'ace/config'], function(require, exports, module) { +consoleAce.define('ace/worker/worker_client', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/event_emitter', 'ace/config'], function(require, exports, module) { var oop = require("../lib/oop"); @@ -16458,7 +16458,7 @@ exports.UIWorkerClient = UIWorkerClient; exports.WorkerClient = WorkerClient; }); -ace.define('ace/placeholder', ['require', 'exports', 'module' , 'ace/range', 'ace/lib/event_emitter', 'ace/lib/oop'], function(require, exports, module) { +consoleAce.define('ace/placeholder', ['require', 'exports', 'module' , 'ace/range', 'ace/lib/event_emitter', 'ace/lib/oop'], function(require, exports, module) { var Range = require("./range").Range; @@ -16630,7 +16630,7 @@ var PlaceHolder = function(session, length, pos, others, mainClass, othersClass) exports.PlaceHolder = PlaceHolder; }); -ace.define('ace/mode/folding/fold_mode', ['require', 'exports', 'module' , 'ace/range'], function(require, exports, module) { +consoleAce.define('ace/mode/folding/fold_mode', ['require', 'exports', 'module' , 'ace/range'], function(require, exports, module) { var Range = require("../../range").Range; @@ -16719,7 +16719,7 @@ var FoldMode = exports.FoldMode = function() {}; }); -ace.define('ace/theme/textmate', ['require', 'exports', 'module' , 'ace/lib/dom'], function(require, exports, module) { +consoleAce.define('ace/theme/textmate', ['require', 'exports', 'module' , 'ace/lib/dom'], function(require, exports, module) { exports.isDark = false; @@ -16849,7 +16849,7 @@ var dom = require("../lib/dom"); dom.importCssString(exports.cssText, exports.cssClass); }); -ace.define('ace/ext/error_marker', ['require', 'exports', 'module' , 'ace/line_widgets', 'ace/lib/dom', 'ace/range'], function(require, exports, module) { +consoleAce.define('ace/ext/error_marker', ['require', 'exports', 'module' , 'ace/line_widgets', 'ace/lib/dom', 'ace/range'], function(require, exports, module) { var LineWidgets = require("ace/line_widgets").LineWidgets; var dom = require("ace/lib/dom"); @@ -17030,7 +17030,7 @@ dom.importCssString("\ }); -ace.define('ace/line_widgets', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/dom', 'ace/range'], function(require, exports, module) { +consoleAce.define('ace/line_widgets', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/dom', 'ace/range'], function(require, exports, module) { var oop = require("./lib/oop"); @@ -17299,12 +17299,11 @@ exports.LineWidgets = LineWidgets; ; (function() { - ace.require(["ace/ace"], function(a) { + consoleAce.require(["ace/ace"], function(a) { a && a.config.init(); - if (!window.ace) - window.ace = {}; + if (!window.consoleAce) + window.consoleAce = {}; for (var key in a) if (a.hasOwnProperty(key)) - ace[key] = a[key]; + consoleAce[key] = a[key]; }); })(); - \ No newline at end of file diff --git a/src/core_plugins/console/public/webpackShims/ace/ext-language_tools.js b/src/core_plugins/console/public/webpackShims/ace/ext-language_tools.js index c456633497f1..812e26861add 100644 --- a/src/core_plugins/console/public/webpackShims/ace/ext-language_tools.js +++ b/src/core_plugins/console/public/webpackShims/ace/ext-language_tools.js @@ -28,7 +28,7 @@ * * ***** END LICENSE BLOCK ***** */ -ace.define('ace/ext/language_tools', ['require', 'exports', 'module' , 'ace/snippets', 'ace/autocomplete', 'ace/config', 'ace/autocomplete/text_completer', 'ace/editor'], function(require, exports, module) { +consoleAce.define('ace/ext/language_tools', ['require', 'exports', 'module' , 'ace/snippets', 'ace/autocomplete', 'ace/config', 'ace/autocomplete/text_completer', 'ace/editor'], function(require, exports, module) { var snippetManager = require("../snippets").snippetManager; @@ -144,7 +144,7 @@ require("../config").defineOptions(Editor.prototype, "editor", { }); -ace.define('ace/snippets', ['require', 'exports', 'module' , 'ace/lib/lang', 'ace/range', 'ace/keyboard/hash_handler', 'ace/tokenizer', 'ace/lib/dom'], function(require, exports, module) { +consoleAce.define('ace/snippets', ['require', 'exports', 'module' , 'ace/lib/lang', 'ace/range', 'ace/keyboard/hash_handler', 'ace/tokenizer', 'ace/lib/dom'], function(require, exports, module) { var lang = require("./lib/lang") var Range = require("./range").Range @@ -959,7 +959,7 @@ exports.snippetManager = new SnippetManager(); }); -ace.define('ace/autocomplete', ['require', 'exports', 'module' , 'ace/keyboard/hash_handler', 'ace/autocomplete/popup', 'ace/autocomplete/util', 'ace/lib/event', 'ace/lib/lang', 'ace/snippets'], function(require, exports, module) { +consoleAce.define('ace/autocomplete', ['require', 'exports', 'module' , 'ace/keyboard/hash_handler', 'ace/autocomplete/popup', 'ace/autocomplete/util', 'ace/lib/event', 'ace/lib/lang', 'ace/snippets'], function(require, exports, module) { var HashHandler = require("./keyboard/hash_handler").HashHandler; @@ -1276,7 +1276,7 @@ exports.FilteredList = FilteredList; }); -ace.define('ace/autocomplete/popup', ['require', 'exports', 'module' , 'ace/edit_session', 'ace/virtual_renderer', 'ace/editor', 'ace/range', 'ace/lib/event', 'ace/lib/lang', 'ace/lib/dom'], function(require, exports, module) { +consoleAce.define('ace/autocomplete/popup', ['require', 'exports', 'module' , 'ace/edit_session', 'ace/virtual_renderer', 'ace/editor', 'ace/range', 'ace/lib/event', 'ace/lib/lang', 'ace/lib/dom'], function(require, exports, module) { var EditSession = require("../edit_session").EditSession; @@ -1575,7 +1575,7 @@ exports.AcePopup = AcePopup; }); -ace.define('ace/autocomplete/util', ['require', 'exports', 'module' ], function(require, exports, module) { +consoleAce.define('ace/autocomplete/util', ['require', 'exports', 'module' ], function(require, exports, module) { exports.parForEach = function(array, fn, callback) { @@ -1620,7 +1620,7 @@ exports.retrieveFollowingIdentifier = function(text, pos, regex) { }); -ace.define('ace/autocomplete/text_completer', ['require', 'exports', 'module' , 'ace/range'], function(require, exports, module) { +consoleAce.define('ace/autocomplete/text_completer', ['require', 'exports', 'module' , 'ace/range'], function(require, exports, module) { var Range = require("ace/range").Range; var splitRegex = /[^a-zA-Z_0-9\$\-]+/; @@ -1662,4 +1662,4 @@ ace.define('ace/autocomplete/text_completer', ['require', 'exports', 'module' , }; })); }; -}); \ No newline at end of file +}); diff --git a/src/core_plugins/console/public/webpackShims/ace/ext-searchbox.js b/src/core_plugins/console/public/webpackShims/ace/ext-searchbox.js index b75c1930e1d7..a1eac722f50d 100644 --- a/src/core_plugins/console/public/webpackShims/ace/ext-searchbox.js +++ b/src/core_plugins/console/public/webpackShims/ace/ext-searchbox.js @@ -28,7 +28,7 @@ * * ***** END LICENSE BLOCK ***** */ -ace.define('ace/ext/searchbox', ['require', 'exports', 'module' , 'ace/lib/dom', 'ace/lib/lang', 'ace/lib/event', 'ace/keyboard/hash_handler', 'ace/lib/keys'], function(require, exports, module) { +consoleAce.define('ace/ext/searchbox', ['require', 'exports', 'module' , 'ace/lib/dom', 'ace/lib/lang', 'ace/lib/event', 'ace/keyboard/hash_handler', 'ace/lib/keys'], function(require, exports, module) { var dom = require("../lib/dom"); diff --git a/src/core_plugins/console/public/webpackShims/ace/mode-json.js b/src/core_plugins/console/public/webpackShims/ace/mode-json.js index 1972bd6166e7..06b39f90b23d 100644 --- a/src/core_plugins/console/public/webpackShims/ace/mode-json.js +++ b/src/core_plugins/console/public/webpackShims/ace/mode-json.js @@ -28,7 +28,7 @@ * * ***** END LICENSE BLOCK ***** */ -ace.define('ace/mode/json', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/json_highlight_rules', 'ace/mode/matching_brace_outdent', 'ace/mode/behaviour/cstyle', 'ace/mode/folding/cstyle', 'ace/worker/worker_client'], function(require, exports, module) { +consoleAce.define('ace/mode/json', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/json_highlight_rules', 'ace/mode/matching_brace_outdent', 'ace/mode/behaviour/cstyle', 'ace/mode/folding/cstyle', 'ace/worker/worker_client'], function(require, exports, module) { var oop = require("../lib/oop"); @@ -93,7 +93,7 @@ oop.inherits(Mode, TextMode); exports.Mode = Mode; }); -ace.define('ace/mode/json_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text_highlight_rules'], function(require, exports, module) { +consoleAce.define('ace/mode/json_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text_highlight_rules'], function(require, exports, module) { var oop = require("../lib/oop"); @@ -161,7 +161,7 @@ oop.inherits(JsonHighlightRules, TextHighlightRules); exports.JsonHighlightRules = JsonHighlightRules; }); -ace.define('ace/mode/matching_brace_outdent', ['require', 'exports', 'module' , 'ace/range'], function(require, exports, module) { +consoleAce.define('ace/mode/matching_brace_outdent', ['require', 'exports', 'module' , 'ace/range'], function(require, exports, module) { var Range = require("../range").Range; @@ -201,7 +201,7 @@ var MatchingBraceOutdent = function() {}; exports.MatchingBraceOutdent = MatchingBraceOutdent; }); -ace.define('ace/mode/behaviour/cstyle', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/behaviour', 'ace/token_iterator', 'ace/lib/lang'], function(require, exports, module) { +consoleAce.define('ace/mode/behaviour/cstyle', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/behaviour', 'ace/token_iterator', 'ace/lib/lang'], function(require, exports, module) { var oop = require("../../lib/oop"); @@ -529,7 +529,7 @@ oop.inherits(CstyleBehaviour, Behaviour); exports.CstyleBehaviour = CstyleBehaviour; }); -ace.define('ace/mode/folding/cstyle', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/range', 'ace/mode/folding/fold_mode'], function(require, exports, module) { +consoleAce.define('ace/mode/folding/cstyle', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/range', 'ace/mode/folding/fold_mode'], function(require, exports, module) { var oop = require("../../lib/oop"); diff --git a/src/core_plugins/console/public/webpackShims/ace/mode-yaml.js b/src/core_plugins/console/public/webpackShims/ace/mode-yaml.js index f1650fc1c26c..e517111c4d27 100644 --- a/src/core_plugins/console/public/webpackShims/ace/mode-yaml.js +++ b/src/core_plugins/console/public/webpackShims/ace/mode-yaml.js @@ -28,7 +28,7 @@ * * ***** END LICENSE BLOCK ***** */ -ace.define('ace/mode/yaml', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/yaml_highlight_rules', 'ace/mode/matching_brace_outdent', 'ace/mode/folding/coffee'], function(require, exports, module) { +consoleAce.define('ace/mode/yaml', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/yaml_highlight_rules', 'ace/mode/matching_brace_outdent', 'ace/mode/folding/coffee'], function(require, exports, module) { var oop = require("../lib/oop"); @@ -78,7 +78,7 @@ exports.Mode = Mode; }); -ace.define('ace/mode/yaml_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text_highlight_rules'], function(require, exports, module) { +consoleAce.define('ace/mode/yaml_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text_highlight_rules'], function(require, exports, module) { var oop = require("../lib/oop"); @@ -162,7 +162,7 @@ oop.inherits(YamlHighlightRules, TextHighlightRules); exports.YamlHighlightRules = YamlHighlightRules; }); -ace.define('ace/mode/matching_brace_outdent', ['require', 'exports', 'module' , 'ace/range'], function(require, exports, module) { +consoleAce.define('ace/mode/matching_brace_outdent', ['require', 'exports', 'module' , 'ace/range'], function(require, exports, module) { var Range = require("../range").Range; @@ -202,7 +202,7 @@ var MatchingBraceOutdent = function() {}; exports.MatchingBraceOutdent = MatchingBraceOutdent; }); -ace.define('ace/mode/folding/coffee', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/folding/fold_mode', 'ace/range'], function(require, exports, module) { +consoleAce.define('ace/mode/folding/coffee', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/folding/fold_mode', 'ace/range'], function(require, exports, module) { var oop = require("../../lib/oop"); diff --git a/src/core_plugins/console/public/webpackShims/ace/worker-json.js b/src/core_plugins/console/public/webpackShims/ace/worker-json.js index d9e7127bfdef..508c852fd37c 100644 --- a/src/core_plugins/console/public/webpackShims/ace/worker-json.js +++ b/src/core_plugins/console/public/webpackShims/ace/worker-json.js @@ -173,7 +173,7 @@ window.onmessage = function(e) { }; })(this);// https://github.com/kriskowal/es5-shim -ace.define('ace/lib/es5-shim', ['require', 'exports', 'module' ], function(require, exports, module) { +consoleAce.define('ace/lib/es5-shim', ['require', 'exports', 'module' ], function(require, exports, module) { function Empty() {} @@ -870,7 +870,7 @@ var toObject = function (o) { }); -ace.define('ace/mode/json_worker', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/worker/mirror', 'ace/mode/json/json_parse'], function(require, exports, module) { +consoleAce.define('ace/mode/json_worker', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/worker/mirror', 'ace/mode/json/json_parse'], function(require, exports, module) { var oop = require("../lib/oop"); @@ -908,7 +908,7 @@ oop.inherits(JsonWorker, Mirror); }); -ace.define('ace/lib/oop', ['require', 'exports', 'module' ], function(require, exports, module) { +consoleAce.define('ace/lib/oop', ['require', 'exports', 'module' ], function(require, exports, module) { exports.inherits = function(ctor, superCtor) { @@ -935,7 +935,7 @@ exports.implement = function(proto, mixin) { }; }); -ace.define('ace/worker/mirror', ['require', 'exports', 'module' , 'ace/document', 'ace/lib/lang'], function(require, exports, module) { +consoleAce.define('ace/worker/mirror', ['require', 'exports', 'module' , 'ace/document', 'ace/lib/lang'], function(require, exports, module) { var Document = require("../document").Document; @@ -984,7 +984,7 @@ var Mirror = exports.Mirror = function(sender) { }); -ace.define('ace/document', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/event_emitter', 'ace/range', 'ace/anchor'], function(require, exports, module) { +consoleAce.define('ace/document', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/event_emitter', 'ace/range', 'ace/anchor'], function(require, exports, module) { var oop = require("./lib/oop"); @@ -1340,7 +1340,7 @@ var Document = function(text) { exports.Document = Document; }); -ace.define('ace/lib/event_emitter', ['require', 'exports', 'module' ], function(require, exports, module) { +consoleAce.define('ace/lib/event_emitter', ['require', 'exports', 'module' ], function(require, exports, module) { var EventEmitter = {}; @@ -1466,7 +1466,7 @@ exports.EventEmitter = EventEmitter; }); -ace.define('ace/range', ['require', 'exports', 'module' ], function(require, exports, module) { +consoleAce.define('ace/range', ['require', 'exports', 'module' ], function(require, exports, module) { var comparePoints = function(p1, p2) { return p1.row - p2.row || p1.column - p2.column; @@ -1705,7 +1705,7 @@ Range.comparePoints = function(p1, p2) { exports.Range = Range; }); -ace.define('ace/anchor', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/event_emitter'], function(require, exports, module) { +consoleAce.define('ace/anchor', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/event_emitter'], function(require, exports, module) { var oop = require("./lib/oop"); @@ -1852,7 +1852,7 @@ var Anchor = exports.Anchor = function(doc, row, column) { }); -ace.define('ace/lib/lang', ['require', 'exports', 'module' ], function(require, exports, module) { +consoleAce.define('ace/lib/lang', ['require', 'exports', 'module' ], function(require, exports, module) { exports.stringReverse = function(string) { @@ -2035,7 +2035,7 @@ exports.delayedCall = function(fcn, defaultTimeout) { }; }); -ace.define('ace/mode/json/json_parse', ['require', 'exports', 'module' ], function(require, exports, module) { +consoleAce.define('ace/mode/json/json_parse', ['require', 'exports', 'module' ], function(require, exports, module) { var at, // The index of the current character ch, // The current character From 482afb7964bf0759c13e643066034d10f1a621a7 Mon Sep 17 00:00:00 2001 From: Lukas Olson Date: Tue, 30 Aug 2016 19:17:11 -0700 Subject: [PATCH 04/31] [sense-ui] Add controller properties to rather than this --- src/core_plugins/console/public/index.html | 4 ++-- .../console/public/src/controllers/sense_controller.js | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/core_plugins/console/public/index.html b/src/core_plugins/console/public/index.html index 5cca9bafbccd..acd3d0f1bf8a 100644 --- a/src/core_plugins/console/public/index.html +++ b/src/core_plugins/console/public/index.html @@ -5,7 +5,7 @@
    - + @@ -19,7 +19,7 @@ Copy as cURL
  • - Auto indent + Auto indent
  • diff --git a/src/core_plugins/console/public/src/controllers/sense_controller.js b/src/core_plugins/console/public/src/controllers/sense_controller.js index c1da8d192f96..92cbb0db4d1c 100644 --- a/src/core_plugins/console/public/src/controllers/sense_controller.js +++ b/src/core_plugins/console/public/src/controllers/sense_controller.js @@ -21,13 +21,13 @@ module.controller('SenseController', function SenseController($scope, docTitle) const input = require('../input'); const es = require('../es'); - this.sendSelected = () => { + $scope.sendSelected = () => { input.focus(); input.sendCurrentRequestToES(); return false; }; - this.autoIndent = (event) => { + $scope.autoIndent = (event) => { input.autoIndent(); event.preventDefault(); input.focus(); From 88052a31cdedce5e7b8f6d63b77a1225beaf04e2 Mon Sep 17 00:00:00 2001 From: Lukas Olson Date: Tue, 30 Aug 2016 21:46:18 -0700 Subject: [PATCH 05/31] [sense-ui] Re-run init whenever the controller is loaded --- src/core_plugins/console/public/src/app.js | 175 +++++---- .../console/public/src/autocomplete.js | 1 - .../src/controllers/sense_controller.js | 13 +- .../console/public/src/history.js | 1 - src/core_plugins/console/public/src/input.js | 366 +++++++++--------- src/core_plugins/console/public/src/output.js | 114 +++--- .../console/public/src/settings.js | 6 +- 7 files changed, 343 insertions(+), 333 deletions(-) diff --git a/src/core_plugins/console/public/src/app.js b/src/core_plugins/console/public/src/app.js index 114411ce4f78..6833ffe0eddd 100644 --- a/src/core_plugins/console/public/src/app.js +++ b/src/core_plugins/console/public/src/app.js @@ -2,114 +2,113 @@ var $ = require('jquery'); let curl = require('./curl'); let history = require('./history'); -let input = require('./input'); let mappings = require('./mappings'); -let output = require('./output'); let es = require('./es'); let utils = require('./utils'); let _ = require('lodash'); -const chrome = require('ui/chrome'); -$(document.body).removeClass('fouc'); +export default function init(input, output) { + $(document.body).removeClass('fouc'); -// set the value of the input and clear the output -function resetToValues(content) { - if (content != null) { - input.update(content); + // set the value of the input and clear the output + function resetToValues(content) { + if (content != null) { + input.update(content); + } + output.update(""); } - output.update(""); -} -function loadSavedState() { - var sourceLocation = utils.getUrlParam('load_from') || "stored"; - var previousSaveState = history.getSavedEditorState(); + function loadSavedState() { + var sourceLocation = utils.getUrlParam('load_from') || "stored"; + var previousSaveState = history.getSavedEditorState(); - if (sourceLocation == "stored") { - if (previousSaveState) { - resetToValues(previousSaveState.content); + if (sourceLocation == "stored") { + if (previousSaveState) { + resetToValues(previousSaveState.content); + } + else { + resetToValues(); + input.autoIndent(); + } + } + else if (/^https?:\/\//.test(sourceLocation)) { + var loadFrom = {url: sourceLocation, dataType: "text", kbnXsrfToken: false}; + if (/https?:\/\/api.github.com/.test(sourceLocation)) { + loadFrom.headers = {Accept: "application/vnd.github.v3.raw"}; + } + $.ajax(loadFrom).done(function (data) { + resetToValues(data); + input.moveToNextRequestEdge(true); + input.highlightCurrentRequestsAndUpdateActionBar(); + input.updateActionsBar(); + }); } else { resetToValues(); - input.autoIndent(); } + input.moveToNextRequestEdge(true); } - else if (/^https?:\/\//.test(sourceLocation)) { - var loadFrom = {url: sourceLocation, dataType: "text", kbnXsrfToken: false}; - if (/https?:\/\/api.github.com/.test(sourceLocation)) { - loadFrom.headers = {Accept: "application/vnd.github.v3.raw"}; - } - $.ajax(loadFrom).done(function (data) { - resetToValues(data); - input.moveToNextRequestEdge(true); - input.highlightCurrentRequestsAndUpdateActionBar(); - input.updateActionsBar(); + + function setupAutosave() { + var timer; + var saveDelay = 500; + + input.getSession().on("change", function onChange(e) { + if (timer) { + timer = clearTimeout(timer); + } + timer = setTimeout(saveCurrentState, saveDelay); }); } - else { - resetToValues(); - } - input.moveToNextRequestEdge(true); -} -function setupAutosave() { - var timer; - var saveDelay = 500; - - input.getSession().on("change", function onChange(e) { - if (timer) { - timer = clearTimeout(timer); + function saveCurrentState() { + try { + var content = input.getValue(); + history.updateCurrentState(content); + } + catch (e) { + console.log("Ignoring saving error: " + e); } - timer = setTimeout(saveCurrentState, saveDelay); - }); -} - -function saveCurrentState() { - try { - var content = input.getValue(); - history.updateCurrentState(content); - } - catch (e) { - console.log("Ignoring saving error: " + e); - } -} - -// stupid simple restore function, called when the user -// chooses to restore a request from the history -// PREVENTS history from needing to know about the input -history.restoreFromHistory = function applyHistoryElem(req) { - var session = input.getSession(); - var pos = input.getCursorPosition(); - var prefix = ""; - var suffix = "\n"; - if (input.parser.isStartRequestRow(pos.row)) { - pos.column = 0; - suffix += "\n"; - } - else if (input.parser.isEndRequestRow(pos.row)) { - var line = session.getLine(pos.row); - pos.column = line.length; - prefix = "\n\n"; - } - else if (input.parser.isInBetweenRequestsRow(pos.row)) { - pos.column = 0; - } - else { - pos = input.nextRequestEnd(pos); - prefix = "\n\n"; } - var s = prefix + req.method + " " + req.endpoint; - if (req.data) { - s += "\n" + req.data; - } + // stupid simple restore function, called when the user + // chooses to restore a request from the history + // PREVENTS history from needing to know about the input + history.restoreFromHistory = function applyHistoryElem(req) { + var session = input.getSession(); + var pos = input.getCursorPosition(); + var prefix = ""; + var suffix = "\n"; + if (input.parser.isStartRequestRow(pos.row)) { + pos.column = 0; + suffix += "\n"; + } + else if (input.parser.isEndRequestRow(pos.row)) { + var line = session.getLine(pos.row); + pos.column = line.length; + prefix = "\n\n"; + } + else if (input.parser.isInBetweenRequestsRow(pos.row)) { + pos.column = 0; + } + else { + pos = input.nextRequestEnd(pos); + prefix = "\n\n"; + } - s += suffix; + var s = prefix + req.method + " " + req.endpoint; + if (req.data) { + s += "\n" + req.data; + } - session.insert(pos, s); - input.clearSelection(); - input.moveCursorTo(pos.row + prefix.length, 0); - input.focus(); + s += suffix; + + session.insert(pos, s); + input.clearSelection(); + input.moveCursorTo(pos.row + prefix.length, 0); + input.focus(); + }; + + loadSavedState(); + setupAutosave(); }; - -loadSavedState(); -setupAutosave(); diff --git a/src/core_plugins/console/public/src/autocomplete.js b/src/core_plugins/console/public/src/autocomplete.js index f706780cb0bc..9eb83f4ad657 100644 --- a/src/core_plugins/console/public/src/autocomplete.js +++ b/src/core_plugins/console/public/src/autocomplete.js @@ -6,7 +6,6 @@ let utils = require('./utils'); let autocomplete_engine = require('./autocomplete/engine'); let url_pattern_matcher = require('./autocomplete/url_pattern_matcher'); let _ = require('lodash'); -let $ = require('jquery'); let ext_lang_tools = require('ace/ext-language_tools'); diff --git a/src/core_plugins/console/public/src/controllers/sense_controller.js b/src/core_plugins/console/public/src/controllers/sense_controller.js index 92cbb0db4d1c..312e6115f07e 100644 --- a/src/core_plugins/console/public/src/controllers/sense_controller.js +++ b/src/core_plugins/console/public/src/controllers/sense_controller.js @@ -1,5 +1,10 @@ import 'ui/doc_title'; import { useResizeCheckerProvider } from '../sense_editor_resize'; +import $ from 'jquery'; +import getInput from '../input'; +import getOutput from '../output'; +import es from '../es'; +import init from '../app'; const module = require('ui/modules').get('app/sense'); @@ -15,11 +20,9 @@ module.controller('SenseController', function SenseController($scope, docTitle) docTitle.change('Console'); - // require the root app code, which expects to execute once the dom is loaded up - require('../app'); - - const input = require('../input'); - const es = require('../es'); + const output = getOutput($('#output')); + const input = getInput($('#editor'), $('#editor_actions'), $('#copy_as_curl'), output); + init(input, output); $scope.sendSelected = () => { input.focus(); diff --git a/src/core_plugins/console/public/src/history.js b/src/core_plugins/console/public/src/history.js index eb32cc3fa87d..d0787f784a84 100644 --- a/src/core_plugins/console/public/src/history.js +++ b/src/core_plugins/console/public/src/history.js @@ -1,7 +1,6 @@ const $ = require('jquery'); const { uniq } = require('lodash'); const storage = require('./storage'); -const chrome = require('ui/chrome'); const history = module.exports = { restoreFromHistory() { diff --git a/src/core_plugins/console/public/src/input.js b/src/core_plugins/console/public/src/input.js index 97a393c04ec6..8b74e4b972f5 100644 --- a/src/core_plugins/console/public/src/input.js +++ b/src/core_plugins/console/public/src/input.js @@ -4,7 +4,7 @@ let ZeroClipboard = require('zeroclip'); let ext_searchbox = require('ace/ext-searchbox'); let Autocomplete = require('./autocomplete'); let mappings = require('./mappings'); -let output = require('./output'); +let getOutput = require('./output'); let SenseEditor = require('./sense_editor/editor'); let settings = require('./settings'); let storage = require('./storage'); @@ -13,232 +13,238 @@ let es = require('./es'); let history = require('./history'); import uiModules from 'ui/modules'; -var $el = $('#editor'); -var input = new SenseEditor($el); -uiModules.get('app/sense').setupResizeCheckerForRootEditors($el, input, output); +let cached; +export default function getInput($el, $actionsEl, $copyAsCurlEl, output) { + if (!$el) return cached; -input.autocomplete = new Autocomplete(input); + // var $el = $('#editor'); + var input = new SenseEditor($el); -input.$actions = $("#editor_actions"); + uiModules.get('app/sense').setupResizeCheckerForRootEditors($el, input, output); -input.commands.addCommand({ - name: 'auto indent request', - bindKey: {win: 'Ctrl-I', mac: 'Command-I'}, - exec: function () { - input.autoIndent(); - } -}); -input.commands.addCommand({ - name: 'move to previous request start or end', - bindKey: {win: 'Ctrl-Up', mac: 'Command-Up'}, - exec: function () { - input.moveToPreviousRequestEdge() - } -}); -input.commands.addCommand({ - name: 'move to next request start or end', - bindKey: {win: 'Ctrl-Down', mac: 'Command-Down'}, - exec: function () { - input.moveToNextRequestEdge() - } -}); + input.autocomplete = new Autocomplete(input); + input.$actions = $actionsEl; // $("#editor_actions"); -/** - * COPY AS CURL - * - * Since the copy functionality is powered by a flash movie (via ZeroClipboard) - * the only way to trigger the copy is with a litteral mouseclick from the user. - * - * The original shortcut will now just open the menu and highlight the - * - */ -var $copyAsCURL = $('#copy_as_curl'); -var zc = (function setupZeroClipboard() { - var zc = new ZeroClipboard($copyAsCURL); // the ZeroClipboard instance - - zc.on('wrongflash noflash', function () { - if (!storage.get('flash_warning_shown')) { - alert('Console needs flash version 10.0 or greater in order to provide "Copy as cURL" functionality'); - storage.set('flash_warning_shown', 'true'); + input.commands.addCommand({ + name: 'auto indent request', + bindKey: {win: 'Ctrl-I', mac: 'Command-I'}, + exec: function () { + input.autoIndent(); + } + }); + input.commands.addCommand({ + name: 'move to previous request start or end', + bindKey: {win: 'Ctrl-Up', mac: 'Command-Up'}, + exec: function () { + input.moveToPreviousRequestEdge() + } + }); + input.commands.addCommand({ + name: 'move to next request start or end', + bindKey: {win: 'Ctrl-Down', mac: 'Command-Down'}, + exec: function () { + input.moveToNextRequestEdge() } - $copyAsCURL.hide(); }); - zc.on('ready', function () { - function setupCopyButton(cb) { - cb = typeof cb === 'function' ? cb : $.noop; - $copyAsCURL.css('visibility', 'hidden'); - input.getRequestsAsCURL(function (curl) { - $copyAsCURL.attr('data-clipboard-text', curl); - $copyAsCURL.css('visibility', 'visible'); - cb(); - }); - } - input.$actions.on('mouseenter', function () { - if (!$(this).hasClass('open')) { - setupCopyButton(); + /** + * COPY AS CURL + * + * Since the copy functionality is powered by a flash movie (via ZeroClipboard) + * the only way to trigger the copy is with a litteral mouseclick from the user. + * + * The original shortcut will now just open the menu and highlight the + * + */ + var $copyAsCURL = $copyAsCurlEl; // $('#copy_as_curl'); + var zc = (function setupZeroClipboard() { + var zc = new ZeroClipboard($copyAsCURL); // the ZeroClipboard instance + + zc.on('wrongflash noflash', function () { + if (!storage.get('flash_warning_shown')) { + alert('Console needs flash version 10.0 or greater in order to provide "Copy as cURL" functionality'); + storage.set('flash_warning_shown', 'true'); } + $copyAsCURL.hide(); }); - }); - zc.on('complete', function () { - $copyAsCURL.click(); - input.focus(); - }); + zc.on('ready', function () { + function setupCopyButton(cb) { + cb = typeof cb === 'function' ? cb : $.noop; + $copyAsCURL.css('visibility', 'hidden'); + input.getRequestsAsCURL(function (curl) { + $copyAsCURL.attr('data-clipboard-text', curl); + $copyAsCURL.css('visibility', 'visible'); + cb(); + }); + } - return zc; -}()); + input.$actions.on('mouseenter', function () { + if (!$(this).hasClass('open')) { + setupCopyButton(); + } + }); + }); -/** - * Setup the "send" shortcut - */ + zc.on('complete', function () { + $copyAsCURL.click(); + input.focus(); + }); -var CURRENT_REQ_ID = 0; + return zc; + }()); -function sendCurrentRequestToES() { + /** + * Setup the "send" shortcut + */ - var req_id = ++CURRENT_REQ_ID; + var CURRENT_REQ_ID = 0; - input.getRequestsInRange(function (requests) { - if (req_id != CURRENT_REQ_ID) { - return; - } - output.update(''); + function sendCurrentRequestToES() { - if (requests.length == 0) { - return; - } + var req_id = ++CURRENT_REQ_ID; - var isMultiRequest = requests.length > 1; - var finishChain = function () { /* noop */ }; - - var isFirstRequest = true; - - var sendNextRequest = function () { + input.getRequestsInRange(function (requests) { if (req_id != CURRENT_REQ_ID) { return; } + output.update(''); + if (requests.length == 0) { - finishChain(); return; } - var req = requests.shift(); - var es_path = req.url; - var es_method = req.method; - var es_data = req.data.join("\n"); - if (es_data) { - es_data += "\n"; - } //append a new line for bulk requests. - es.send(es_method, es_path, es_data).always(function (dataOrjqXHR, textStatus, jqXhrORerrorThrown) { + var isMultiRequest = requests.length > 1; + var finishChain = function () { /* noop */ }; + + var isFirstRequest = true; + + var sendNextRequest = function () { if (req_id != CURRENT_REQ_ID) { return; } - var xhr; - if (dataOrjqXHR.promise) { - xhr = dataOrjqXHR; + if (requests.length == 0) { + finishChain(); + return; } - else { - xhr = jqXhrORerrorThrown; - } - function modeForContentType(contentType) { - if (contentType.indexOf("text/plain") >= 0) { - return "ace/mode/text"; + var req = requests.shift(); + var es_path = req.url; + var es_method = req.method; + var es_data = req.data.join("\n"); + if (es_data) { + es_data += "\n"; + } //append a new line for bulk requests. + + es.send(es_method, es_path, es_data).always(function (dataOrjqXHR, textStatus, jqXhrORerrorThrown) { + if (req_id != CURRENT_REQ_ID) { + return; } - else if (contentType.indexOf("application/yaml") >= 0) { - return "ace/mode/yaml"; - } - return null; - } - - if (typeof xhr.status == "number" && - // things like DELETE index where the index is not there are OK. - ((xhr.status >= 200 && xhr.status < 300) || xhr.status == 404) - ) { - // we have someone on the other side. Add to history - history.addToHistory(es_path, es_method, es_data); - - - let value = xhr.responseText; - let mode = modeForContentType(xhr.getAllResponseHeaders("Content-Type") || ""); - - if (mode === null || mode === "application/json") { - // assume json - auto pretty - try { - value = JSON.stringify(JSON.parse(value), null, 2); - } - catch (e) { - - } - } - - if (isMultiRequest) { - value = "# " + req.method + " " + req.url + "\n" + value; - } - if (isFirstRequest) { - output.update(value, mode); + var xhr; + if (dataOrjqXHR.promise) { + xhr = dataOrjqXHR; } else { - output.append("\n" + value); + xhr = jqXhrORerrorThrown; } - isFirstRequest = false; - // single request terminate via sendNextRequest as well - sendNextRequest(); - } - else { - let value, mode; - if (xhr.responseText) { - value = xhr.responseText; // ES error should be shown - mode = modeForContentType(xhr.getAllResponseHeaders("Content-Type") || ""); - if (value[0] == "{") { + function modeForContentType(contentType) { + if (contentType.indexOf("text/plain") >= 0) { + return "ace/mode/text"; + } + else if (contentType.indexOf("application/yaml") >= 0) { + return "ace/mode/yaml"; + } + return null; + } + + if (typeof xhr.status == "number" && + // things like DELETE index where the index is not there are OK. + ((xhr.status >= 200 && xhr.status < 300) || xhr.status == 404) + ) { + // we have someone on the other side. Add to history + history.addToHistory(es_path, es_method, es_data); + + + let value = xhr.responseText; + let mode = modeForContentType(xhr.getAllResponseHeaders("Content-Type") || ""); + + if (mode === null || mode === "application/json") { + // assume json - auto pretty try { value = JSON.stringify(JSON.parse(value), null, 2); } catch (e) { + } } - } else { - value = "Request failed to get to the server (status code: " + xhr.status + ")"; - mode = 'ace/mode/text'; - } - if (isMultiRequest) { - value = "# " + req.method + " " + req.url + "\n" + value; - } - if (isFirstRequest) { - output.update(value, mode); + + if (isMultiRequest) { + value = "# " + req.method + " " + req.url + "\n" + value; + } + if (isFirstRequest) { + output.update(value, mode); + } + else { + output.append("\n" + value); + } + isFirstRequest = false; + // single request terminate via sendNextRequest as well + sendNextRequest(); } else { - output.append("\n" + value); + let value, mode; + if (xhr.responseText) { + value = xhr.responseText; // ES error should be shown + mode = modeForContentType(xhr.getAllResponseHeaders("Content-Type") || ""); + if (value[0] == "{") { + try { + value = JSON.stringify(JSON.parse(value), null, 2); + } + catch (e) { + } + } + } else { + value = "Request failed to get to the server (status code: " + xhr.status + ")"; + mode = 'ace/mode/text'; + } + if (isMultiRequest) { + value = "# " + req.method + " " + req.url + "\n" + value; + } + if (isFirstRequest) { + output.update(value, mode); + } + else { + output.append("\n" + value); + } + finishChain(); } - finishChain(); - } - }); - }; + }); + }; - sendNextRequest(); + sendNextRequest(); + }); + } + + + input.commands.addCommand({ + name: 'send to elasticsearch', + bindKey: {win: 'Ctrl-Enter', mac: 'Command-Enter'}, + exec: sendCurrentRequestToES }); -} -input.commands.addCommand({ - name: 'send to elasticsearch', - bindKey: {win: 'Ctrl-Enter', mac: 'Command-Enter'}, - exec: sendCurrentRequestToES -}); + /** + * Init the editor + */ + if (settings) { + settings.applyCurrentSettings(input); + } + input.focus(); + input.highlightCurrentRequestsAndUpdateActionBar(); + input.sendCurrentRequestToES = sendCurrentRequestToES; + require('./input_resize')(input, output); -/** - * Init the editor - */ -if (settings) { - settings.applyCurrentSettings(input); -} -input.focus(); -input.highlightCurrentRequestsAndUpdateActionBar(); - -input.sendCurrentRequestToES = sendCurrentRequestToES; -require('./input_resize')(input, output); - -module.exports = input; + return cached = input; +}; diff --git a/src/core_plugins/console/public/src/output.js b/src/core_plugins/console/public/src/output.js index 0df74267104a..c6d279abbb5b 100644 --- a/src/core_plugins/console/public/src/output.js +++ b/src/core_plugins/console/public/src/output.js @@ -4,63 +4,67 @@ let settings = require('./settings'); let OutputMode = require('./sense_editor/mode/output'); const smartResize = require('./smart_resize'); -var $el = $("#output"); -var output = ace.require('ace/ace').edit($el[0]); +let cached; +export default function getOutput($el) { + if (!$el) return cached; + // var $el = $("#output"); + var output = ace.require('ace/ace').edit($el[0]); -var outputMode = new OutputMode.Mode(); + var outputMode = new OutputMode.Mode(); -output.resize = smartResize(output); -output.update = function (val, mode, cb) { - if (typeof mode === 'function') { - cb = mode; - mode = void 0; + output.resize = smartResize(output); + output.update = function (val, mode, cb) { + if (typeof mode === 'function') { + cb = mode; + mode = void 0; + } + + var session = output.getSession(); + + session.setMode(val ? (mode || outputMode) : 'ace/mode/text'); + session.setValue(val); + if (typeof cb === 'function') { + setTimeout(cb); + } + }; + + output.append = function (val, fold_previous, cb) { + if (typeof fold_previous === 'function') { + cb = fold_previous; + fold_previous = true; + } + if (_.isUndefined(fold_previous)) { + fold_previous = true; + } + var session = output.getSession(); + var lastLine = session.getLength(); + if (fold_previous) { + output.moveCursorTo(Math.max(0, lastLine - 1), 0); + session.toggleFold(false); + + } + session.insert({row: lastLine, column: 0}, "\n" + val); + output.moveCursorTo(lastLine + 1, 0); + if (typeof cb === 'function') { + setTimeout(cb); + } + }; + + output.$el = $el; + + (function (session) { + session.setMode("ace/mode/text"); + session.setFoldStyle('markbeginend'); + session.setTabSize(2); + session.setUseWrapMode(true); + }(output.getSession())); + + output.setShowPrintMargin(false); + output.setReadOnly(true); + + if (settings) { + settings.applyCurrentSettings(output); } - var session = output.getSession(); - - session.setMode(val ? (mode || outputMode) : 'ace/mode/text'); - session.setValue(val); - if (typeof cb === 'function') { - setTimeout(cb); - } + return cached = output; }; - -output.append = function (val, fold_previous, cb) { - if (typeof fold_previous === 'function') { - cb = fold_previous; - fold_previous = true; - } - if (_.isUndefined(fold_previous)) { - fold_previous = true; - } - var session = output.getSession(); - var lastLine = session.getLength(); - if (fold_previous) { - output.moveCursorTo(Math.max(0, lastLine - 1), 0); - session.toggleFold(false); - - } - session.insert({row: lastLine, column: 0}, "\n" + val); - output.moveCursorTo(lastLine + 1, 0); - if (typeof cb === 'function') { - setTimeout(cb); - } -}; - -output.$el = $el; - -(function (session) { - session.setMode("ace/mode/text"); - session.setFoldStyle('markbeginend'); - session.setTabSize(2); - session.setUseWrapMode(true); -}(output.getSession())); - -output.setShowPrintMargin(false); -output.setReadOnly(true); - -if (settings) { - settings.applyCurrentSettings(output); -} - -module.exports = output; diff --git a/src/core_plugins/console/public/src/settings.js b/src/core_plugins/console/public/src/settings.js index 49c11b37c79f..16f128223751 100644 --- a/src/core_plugins/console/public/src/settings.js +++ b/src/core_plugins/console/public/src/settings.js @@ -39,8 +39,8 @@ function setAutocomplete(settings) { function applyCurrentSettings(editor) { if (typeof editor === 'undefined') { - applyCurrentSettings(require('./input')); - applyCurrentSettings(require('./output')); + applyCurrentSettings(require('./input')()); + applyCurrentSettings(require('./output')()); } if (editor) { editor.getSession().setUseWrapMode(getWrapMode()); @@ -60,7 +60,7 @@ function updateSettings({ fontSize, wrapMode, autocomplete}) { setFontSize(fontSize); setWrapMode(wrapMode); setAutocomplete(autocomplete); - require('./input').focus(); + require('./input')().focus(); return getCurrentSettings(); } From aae2a0facbd51c36b9e4df05733216efff9a15fd Mon Sep 17 00:00:00 2001 From: Lukas Olson Date: Wed, 31 Aug 2016 09:44:30 -0700 Subject: [PATCH 06/31] [devtools] Update devtools directive to transclude --- src/core_plugins/kibana/public/dev_tools/index.html | 2 +- src/core_plugins/kibana/public/dev_tools/index.js | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/core_plugins/kibana/public/dev_tools/index.html b/src/core_plugins/kibana/public/dev_tools/index.html index 5d3e816e91ef..b478925a1bef 100644 --- a/src/core_plugins/kibana/public/dev_tools/index.html +++ b/src/core_plugins/kibana/public/dev_tools/index.html @@ -11,5 +11,5 @@ -
    +
    diff --git a/src/core_plugins/kibana/public/dev_tools/index.js b/src/core_plugins/kibana/public/dev_tools/index.js index 253b6ce394f4..f1728a035baa 100644 --- a/src/core_plugins/kibana/public/dev_tools/index.js +++ b/src/core_plugins/kibana/public/dev_tools/index.js @@ -15,6 +15,7 @@ uiModules return { restrict: 'E', template, + transclude: true, link: function ($scope) { $scope.devTools = Private(devTools).inOrder; } From 04d03912e8f143abf35f20a96ddf1e75b53e3c76 Mon Sep 17 00:00:00 2001 From: Lukas Olson Date: Wed, 31 Aug 2016 13:49:51 -0700 Subject: [PATCH 07/31] [console-ui] Wrap in dev tools app --- src/core_plugins/console/public/index.html | 70 ++++++++++--------- .../src/controllers/sense_controller.js | 11 +-- .../public/src/directives/sense_navbar.html | 10 +-- 3 files changed, 44 insertions(+), 47 deletions(-) diff --git a/src/core_plugins/console/public/index.html b/src/core_plugins/console/public/index.html index acd3d0f1bf8a..b6bf037c7e8b 100644 --- a/src/core_plugins/console/public/index.html +++ b/src/core_plugins/console/public/index.html @@ -1,38 +1,40 @@ - + + -
    -
    -
      -
      - - - - - - - - - +
      +
      +
        +
        + + + + + + + + + + + + +
        + +
        GET _search + { + "query": { "match_all": {} } + }
        - -
        - -
        GET _search -{ - "query": { "match_all": {} } -}
        - +
        +
        +
        {}
        +
        -
        -
        -
        {}
        -
        -
        + diff --git a/src/core_plugins/console/public/src/controllers/sense_controller.js b/src/core_plugins/console/public/src/controllers/sense_controller.js index 312e6115f07e..cffbcf068163 100644 --- a/src/core_plugins/console/public/src/controllers/sense_controller.js +++ b/src/core_plugins/console/public/src/controllers/sense_controller.js @@ -16,13 +16,16 @@ module.run(function (Private, $rootScope) { }; }); -module.controller('SenseController', function SenseController($scope, docTitle) { +module.controller('SenseController', function SenseController($scope, $timeout, docTitle) { docTitle.change('Console'); - const output = getOutput($('#output')); - const input = getInput($('#editor'), $('#editor_actions'), $('#copy_as_curl'), output); - init(input, output); + let input, output; + $timeout(() => { + output = getOutput($('#output')); + input = getInput($('#editor'), $('#editor_actions'), $('#copy_as_curl'), output); + init(input, output); + }); $scope.sendSelected = () => { input.focus(); diff --git a/src/core_plugins/console/public/src/directives/sense_navbar.html b/src/core_plugins/console/public/src/directives/sense_navbar.html index 39b60f44a009..7ae8db40405b 100644 --- a/src/core_plugins/console/public/src/directives/sense_navbar.html +++ b/src/core_plugins/console/public/src/directives/sense_navbar.html @@ -1,9 +1 @@ - -
        - - - Elasticsearch Console - - -
        -
        + From 2e8350ec909e7a0528c2a54c359cf770d05bee24 Mon Sep 17 00:00:00 2001 From: Lukas Olson Date: Tue, 6 Sep 2016 15:13:54 -0700 Subject: [PATCH 08/31] Replace underscores with spaces in breadcrumbs --- src/ui/public/chrome/api/angular.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ui/public/chrome/api/angular.js b/src/ui/public/chrome/api/angular.js index e8f9b30115e6..2463c13de7c0 100644 --- a/src/ui/public/chrome/api/angular.js +++ b/src/ui/public/chrome/api/angular.js @@ -47,7 +47,7 @@ module.exports = function (chrome, internals) { length--; } - return path.substr(1, length).split('/'); + return path.substr(1, length).replace(/_/g, ' ').split('/'); }; const notify = new Notifier(); From 2ab0ea76bc1de18d1c8ed46c4bb28757e571bffe Mon Sep 17 00:00:00 2001 From: Lukas Olson Date: Tue, 6 Sep 2016 15:16:31 -0700 Subject: [PATCH 09/31] [dev-tools] Update to use flexbox so console looks nice --- .../dev_tools/directives/dev_tools_app.js | 17 +++++++++++++++++ .../kibana/public/dev_tools/index.js | 18 +----------------- .../dev_tools/partials/dev_tools_app.html | 15 +++++++++++++++ .../public/dev_tools/styles/dev_tools_app.less | 13 +++++++++++++ 4 files changed, 46 insertions(+), 17 deletions(-) create mode 100644 src/core_plugins/kibana/public/dev_tools/directives/dev_tools_app.js create mode 100644 src/core_plugins/kibana/public/dev_tools/partials/dev_tools_app.html create mode 100644 src/core_plugins/kibana/public/dev_tools/styles/dev_tools_app.less diff --git a/src/core_plugins/kibana/public/dev_tools/directives/dev_tools_app.js b/src/core_plugins/kibana/public/dev_tools/directives/dev_tools_app.js new file mode 100644 index 000000000000..c62d0f6970c8 --- /dev/null +++ b/src/core_plugins/kibana/public/dev_tools/directives/dev_tools_app.js @@ -0,0 +1,17 @@ +import uiModules from 'ui/modules'; +import devTools from 'ui/registry/dev_tools'; +import template from 'plugins/kibana/dev_tools/partials/dev_tools_app.html'; +import 'plugins/kibana/dev_tools/styles/dev_tools_app.less'; + +uiModules +.get('apps/dev_tools') +.directive('kbnDevToolsApp', function (Private) { + return { + restrict: 'E', + template, + transclude: true, + link: function ($scope) { + $scope.devTools = Private(devTools).inOrder; + } + }; +}); diff --git a/src/core_plugins/kibana/public/dev_tools/index.js b/src/core_plugins/kibana/public/dev_tools/index.js index f1728a035baa..bb52aa5ae770 100644 --- a/src/core_plugins/kibana/public/dev_tools/index.js +++ b/src/core_plugins/kibana/public/dev_tools/index.js @@ -1,23 +1,7 @@ import uiRoutes from 'ui/routes'; -import uiModules from 'ui/modules'; -import template from 'plugins/kibana/dev_tools/index.html'; -import chrome from 'ui/chrome/chrome'; -import devTools from 'ui/registry/dev_tools'; +import 'plugins/kibana/dev_tools/directives/dev_tools_app'; uiRoutes .when('/dev_tools', { template: '' }); - -uiModules -.get('apps/dev_tools') -.directive('kbnDevToolsApp', function (Private) { - return { - restrict: 'E', - template, - transclude: true, - link: function ($scope) { - $scope.devTools = Private(devTools).inOrder; - } - }; -}); diff --git a/src/core_plugins/kibana/public/dev_tools/partials/dev_tools_app.html b/src/core_plugins/kibana/public/dev_tools/partials/dev_tools_app.html new file mode 100644 index 000000000000..b478925a1bef --- /dev/null +++ b/src/core_plugins/kibana/public/dev_tools/partials/dev_tools_app.html @@ -0,0 +1,15 @@ +
        + + +
        +
        diff --git a/src/core_plugins/kibana/public/dev_tools/styles/dev_tools_app.less b/src/core_plugins/kibana/public/dev_tools/styles/dev_tools_app.less new file mode 100644 index 000000000000..77b2d128f0c1 --- /dev/null +++ b/src/core_plugins/kibana/public/dev_tools/styles/dev_tools_app.less @@ -0,0 +1,13 @@ +@import (reference) "~ui/styles/mixins.less"; + +kbn-dev-tools-app { + .flex-parent; + + .app-container { + .flex-parent; + + .dev-tools-container { + .flex-parent; + } + } +} From 78838725a653f769398161f6cbd461ed74067130 Mon Sep 17 00:00:00 2001 From: Lukas Olson Date: Tue, 6 Sep 2016 16:02:12 -0700 Subject: [PATCH 10/31] [dev_tools] Automatically redirect to first dev tool --- .../kibana/public/dev_tools/index.html | 15 --------------- src/core_plugins/kibana/public/dev_tools/index.js | 8 +++++++- 2 files changed, 7 insertions(+), 16 deletions(-) delete mode 100644 src/core_plugins/kibana/public/dev_tools/index.html diff --git a/src/core_plugins/kibana/public/dev_tools/index.html b/src/core_plugins/kibana/public/dev_tools/index.html deleted file mode 100644 index b478925a1bef..000000000000 --- a/src/core_plugins/kibana/public/dev_tools/index.html +++ /dev/null @@ -1,15 +0,0 @@ -
        - - -
        -
        diff --git a/src/core_plugins/kibana/public/dev_tools/index.js b/src/core_plugins/kibana/public/dev_tools/index.js index bb52aa5ae770..1505e2ceba39 100644 --- a/src/core_plugins/kibana/public/dev_tools/index.js +++ b/src/core_plugins/kibana/public/dev_tools/index.js @@ -1,7 +1,13 @@ import uiRoutes from 'ui/routes'; +import devTools from 'ui/registry/dev_tools'; import 'plugins/kibana/dev_tools/directives/dev_tools_app'; uiRoutes .when('/dev_tools', { - template: '' + resolve: { + redirect(Private, kbnUrl) { + const items = Private(devTools).inOrder; + kbnUrl.redirect(items[0].url.substring(1)); + } + } }); From f12d8ff8db96a96124aab69453e0f64b5b3c568b Mon Sep 17 00:00:00 2001 From: Lukas Olson Date: Tue, 6 Sep 2016 16:21:18 -0700 Subject: [PATCH 11/31] [dev_tools] Show active dev tool --- .../kibana/public/dev_tools/directives/dev_tools_app.js | 3 ++- .../kibana/public/dev_tools/partials/dev_tools_app.html | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/core_plugins/kibana/public/dev_tools/directives/dev_tools_app.js b/src/core_plugins/kibana/public/dev_tools/directives/dev_tools_app.js index c62d0f6970c8..030915298e31 100644 --- a/src/core_plugins/kibana/public/dev_tools/directives/dev_tools_app.js +++ b/src/core_plugins/kibana/public/dev_tools/directives/dev_tools_app.js @@ -5,13 +5,14 @@ import 'plugins/kibana/dev_tools/styles/dev_tools_app.less'; uiModules .get('apps/dev_tools') -.directive('kbnDevToolsApp', function (Private) { +.directive('kbnDevToolsApp', function (Private, $location) { return { restrict: 'E', template, transclude: true, link: function ($scope) { $scope.devTools = Private(devTools).inOrder; + $scope.currentPath = `#${$location.path()}`; } }; }); diff --git a/src/core_plugins/kibana/public/dev_tools/partials/dev_tools_app.html b/src/core_plugins/kibana/public/dev_tools/partials/dev_tools_app.html index b478925a1bef..b3cab408c262 100644 --- a/src/core_plugins/kibana/public/dev_tools/partials/dev_tools_app.html +++ b/src/core_plugins/kibana/public/dev_tools/partials/dev_tools_app.html @@ -3,7 +3,7 @@
        diff --git a/src/core_plugins/kibana/public/management/sections/indices/add_data_steps/parse_csv_step/parse_csv_step.js b/src/core_plugins/kibana/public/management/sections/indices/add_data_steps/parse_csv_step/parse_csv_step.js index 32cd5a7234a4..a0922797d537 100644 --- a/src/core_plugins/kibana/public/management/sections/indices/add_data_steps/parse_csv_step/parse_csv_step.js +++ b/src/core_plugins/kibana/public/management/sections/indices/add_data_steps/parse_csv_step/parse_csv_step.js @@ -4,9 +4,10 @@ import modules from 'ui/modules'; import validateHeaders from './lib/validate_headers'; import template from './parse_csv_step.html'; import './styles/_add_data_parse_csv_step.less'; +import numeral from '@spalger/numeral'; modules.get('apps/management') - .directive('parseCsvStep', function () { + .directive('parseCsvStep', function (addDataMaxBytes) { return { restrict: 'E', template: template, @@ -21,6 +22,8 @@ modules.get('apps/management') const maxSampleRows = 10; const maxSampleColumns = 20; + this.maxBytesFormatted = numeral(addDataMaxBytes).format('0 b'); + this.delimiterOptions = [ { label: 'comma', @@ -55,6 +58,13 @@ modules.get('apps/management') this.formattedErrors = []; this.formattedWarnings = []; + if (this.file.size > addDataMaxBytes) { + this.formattedErrors.push( + `File size (${this.file.size} bytes) is greater than the configured limit of ${addDataMaxBytes} bytes` + ); + return; + } + const config = _.assign( { header: true, diff --git a/src/core_plugins/kibana/server/routes/api/ingest/register_data.js b/src/core_plugins/kibana/server/routes/api/ingest/register_data.js index 9172e5ba88d6..979bace5c826 100644 --- a/src/core_plugins/kibana/server/routes/api/ingest/register_data.js +++ b/src/core_plugins/kibana/server/routes/api/ingest/register_data.js @@ -6,16 +6,16 @@ import { patternToIngest } from '../../../../common/lib/convert_pattern_and_inge import { PassThrough } from 'stream'; import JSONStream from 'JSONStream'; -const ONE_GIGABYTE = 1024 * 1024 * 1024; - export function registerData(server) { + const maxBytes = server.config().get('kibana.addDataMaxBytes'); + server.route({ path: '/api/kibana/{id}/_data', method: 'POST', config: { payload: { output: 'stream', - maxBytes: ONE_GIGABYTE + maxBytes } }, handler: function (req, reply) { From 18cb2cc72a46e8ca6e36cc2f5f4b0a766175c659 Mon Sep 17 00:00:00 2001 From: Lukas Olson Date: Mon, 12 Sep 2016 14:40:21 -0600 Subject: [PATCH 18/31] [dev-tools] Make suggested edits --- .../public/src/controllers/sense_controller.js | 7 +++++-- src/core_plugins/console/public/src/input.js | 17 +++++++---------- src/core_plugins/console/public/src/output.js | 14 ++++++++------ src/core_plugins/kibana/index.js | 2 +- .../dev_tools/directives/dev_tools_app.js | 1 + .../dev_tools/partials/dev_tools_app.html | 2 +- .../public/dev_tools/styles/dev_tools_app.less | 14 +++++--------- src/ui/public/chrome/api/angular.js | 4 +++- 8 files changed, 31 insertions(+), 30 deletions(-) diff --git a/src/core_plugins/console/public/src/controllers/sense_controller.js b/src/core_plugins/console/public/src/controllers/sense_controller.js index cffbcf068163..448f3c4bad60 100644 --- a/src/core_plugins/console/public/src/controllers/sense_controller.js +++ b/src/core_plugins/console/public/src/controllers/sense_controller.js @@ -2,7 +2,7 @@ import 'ui/doc_title'; import { useResizeCheckerProvider } from '../sense_editor_resize'; import $ from 'jquery'; import getInput from '../input'; -import getOutput from '../output'; +import { initializeOutput } from '../output'; import es from '../es'; import init from '../app'; @@ -21,8 +21,11 @@ module.controller('SenseController', function SenseController($scope, $timeout, docTitle.change('Console'); let input, output; + + // We need to wait for these elements to be rendered before we can select them with jQuery + // and then initialize this app $timeout(() => { - output = getOutput($('#output')); + output = initializeOutput($('#output')); input = getInput($('#editor'), $('#editor_actions'), $('#copy_as_curl'), output); init(input, output); }); diff --git a/src/core_plugins/console/public/src/input.js b/src/core_plugins/console/public/src/input.js index 8b74e4b972f5..d369f2d62558 100644 --- a/src/core_plugins/console/public/src/input.js +++ b/src/core_plugins/console/public/src/input.js @@ -4,7 +4,6 @@ let ZeroClipboard = require('zeroclip'); let ext_searchbox = require('ace/ext-searchbox'); let Autocomplete = require('./autocomplete'); let mappings = require('./mappings'); -let getOutput = require('./output'); let SenseEditor = require('./sense_editor/editor'); let settings = require('./settings'); let storage = require('./storage'); @@ -17,14 +16,13 @@ let cached; export default function getInput($el, $actionsEl, $copyAsCurlEl, output) { if (!$el) return cached; - // var $el = $('#editor'); var input = new SenseEditor($el); uiModules.get('app/sense').setupResizeCheckerForRootEditors($el, input, output); input.autocomplete = new Autocomplete(input); - input.$actions = $actionsEl; // $("#editor_actions"); + input.$actions = $actionsEl; input.commands.addCommand({ name: 'auto indent request', @@ -58,25 +56,24 @@ export default function getInput($el, $actionsEl, $copyAsCurlEl, output) { * The original shortcut will now just open the menu and highlight the * */ - var $copyAsCURL = $copyAsCurlEl; // $('#copy_as_curl'); var zc = (function setupZeroClipboard() { - var zc = new ZeroClipboard($copyAsCURL); // the ZeroClipboard instance + var zc = new ZeroClipboard($copyAsCurlEl); // the ZeroClipboard instance zc.on('wrongflash noflash', function () { if (!storage.get('flash_warning_shown')) { alert('Console needs flash version 10.0 or greater in order to provide "Copy as cURL" functionality'); storage.set('flash_warning_shown', 'true'); } - $copyAsCURL.hide(); + $copyAsCurlEl.hide(); }); zc.on('ready', function () { function setupCopyButton(cb) { cb = typeof cb === 'function' ? cb : $.noop; - $copyAsCURL.css('visibility', 'hidden'); + $copyAsCurlEl.css('visibility', 'hidden'); input.getRequestsAsCURL(function (curl) { - $copyAsCURL.attr('data-clipboard-text', curl); - $copyAsCURL.css('visibility', 'visible'); + $copyAsCurlEl.attr('data-clipboard-text', curl); + $copyAsCurlEl.css('visibility', 'visible'); cb(); }); } @@ -89,7 +86,7 @@ export default function getInput($el, $actionsEl, $copyAsCurlEl, output) { }); zc.on('complete', function () { - $copyAsCURL.click(); + $copyAsCurlEl.click(); input.focus(); }); diff --git a/src/core_plugins/console/public/src/output.js b/src/core_plugins/console/public/src/output.js index c6d279abbb5b..21b9f498bc52 100644 --- a/src/core_plugins/console/public/src/output.js +++ b/src/core_plugins/console/public/src/output.js @@ -4,11 +4,9 @@ let settings = require('./settings'); let OutputMode = require('./sense_editor/mode/output'); const smartResize = require('./smart_resize'); -let cached; -export default function getOutput($el) { - if (!$el) return cached; - // var $el = $("#output"); - var output = ace.require('ace/ace').edit($el[0]); +let output; +export function initializeOutput($el) { + output = ace.require('ace/ace').edit($el[0]); var outputMode = new OutputMode.Mode(); @@ -66,5 +64,9 @@ export default function getOutput($el) { settings.applyCurrentSettings(output); } - return cached = output; + return output; +}; + +export default function getOutput() { + return output; }; diff --git a/src/core_plugins/kibana/index.js b/src/core_plugins/kibana/index.js index 373f897855af..8f9b0ab052b3 100644 --- a/src/core_plugins/kibana/index.js +++ b/src/core_plugins/kibana/index.js @@ -82,7 +82,7 @@ module.exports = function (kibana) { linkToLastSubUrl: false }, { - title: 'DevTools', + title: 'Dev Tools', order: 1010, url: '/app/kibana#/dev_tools', description: 'development tools', diff --git a/src/core_plugins/kibana/public/dev_tools/directives/dev_tools_app.js b/src/core_plugins/kibana/public/dev_tools/directives/dev_tools_app.js index 030915298e31..266dc49f5e37 100644 --- a/src/core_plugins/kibana/public/dev_tools/directives/dev_tools_app.js +++ b/src/core_plugins/kibana/public/dev_tools/directives/dev_tools_app.js @@ -8,6 +8,7 @@ uiModules .directive('kbnDevToolsApp', function (Private, $location) { return { restrict: 'E', + replace: true, template, transclude: true, link: function ($scope) { diff --git a/src/core_plugins/kibana/public/dev_tools/partials/dev_tools_app.html b/src/core_plugins/kibana/public/dev_tools/partials/dev_tools_app.html index b3cab408c262..e4948b80c8d2 100644 --- a/src/core_plugins/kibana/public/dev_tools/partials/dev_tools_app.html +++ b/src/core_plugins/kibana/public/dev_tools/partials/dev_tools_app.html @@ -1,4 +1,4 @@ -
        +