From 65931199499934fa04d3262a6ecf16074bda734c Mon Sep 17 00:00:00 2001 From: Ty Voliter Date: Tue, 14 Aug 2012 12:49:13 -0700 Subject: [PATCH] - removed htmlContentLoad.js module. Functionality moved to brackets.js - modified SidebarView.js and ProjectManager.js to init DOM dependant variables after htmlContentLoadComplete event --- src/brackets.js | 15 +++++------ src/index.html | 4 +-- src/project/ProjectManager.js | 47 +++++++++++++++++++---------------- src/project/SidebarView.js | 34 +++++++++++-------------- 4 files changed, 51 insertions(+), 49 deletions(-) diff --git a/src/brackets.js b/src/brackets.js index a77a8785926..f5c0d66bfe3 100644 --- a/src/brackets.js +++ b/src/brackets.js @@ -23,7 +23,7 @@ /*jslint vars: true, plusplus: true, devel: true, nomen: true, indent: 4, maxerr: 50 */ -/*global require, define, brackets: true, $, PathUtils, window, navigator */ +/*global require, define, brackets: true, $, PathUtils, window, navigator, Mustache */ require.config({ paths: { @@ -57,12 +57,6 @@ define(function (require, exports, module) { require("thirdparty/path-utils/path-utils.min"); require("thirdparty/smart-auto-complete/jquery.smart_autocomplete"); - // Load HTML Content - // The htmlContentLoad module renders all of html in Bracktes. - // If a module depends on the DOM being fulling formed before it is loaded - // then the module should listen for the event "htmlContentLoadComplete" - require("htmlContent/htmlContentLoad"); - // Load LiveDeveopment require("LiveDevelopment/main"); @@ -87,6 +81,7 @@ define(function (require, exports, module) { QuickOpen = require("search/QuickOpen"), Menus = require("command/Menus"), FileUtils = require("file/FileUtils"), + MainViewHTML = require("text!htmlContent/main-view.html"), Strings = require("strings"), Dialogs = require("widgets/Dialogs"), ExtensionLoader = require("utils/ExtensionLoader"), @@ -346,7 +341,13 @@ define(function (require, exports, module) { // Main Brackets initialization _initGlobalBrackets(); + + // Localize MainViewHTML and inject into tag + $('body').html(Mustache.render(MainViewHTML, Strings)); + // modules that depend on the HTML DOM should listen to + // the htmlContentLoadComplete event. $(brackets).trigger("htmlContentLoadComplete"); + $(window.document).ready(_onReady); }); diff --git a/src/index.html b/src/index.html index 6c0b1fa80bb..b1c50cc092a 100644 --- a/src/index.html +++ b/src/index.html @@ -56,8 +56,8 @@ - diff --git a/src/project/ProjectManager.js b/src/project/ProjectManager.js index f3abe6dae15..ecae3d31cd4 100644 --- a/src/project/ProjectManager.js +++ b/src/project/ProjectManager.js @@ -59,10 +59,11 @@ define(function (require, exports, module) { /** * @private - * Reference to the tree control container div + * Reference to the tree control container div. Initialized by + * htmlContentLoadComplete handler * @type {jQueryObject} */ - var $projectTreeContainer = $("#project-files-container"); + var $projectTreeContainer; /** * @private @@ -927,6 +928,29 @@ define(function (require, exports, module) { $(".jstree-rename-input").blur(); } + + // Initialize variables and listeners that depend on the HTML DOM + $(brackets).on("htmlContentLoadComplete", function () { + $projectTreeContainer = $("#project-files-container"); + + $("#open-files-container").on("contentChanged", function () { + _redraw(false); // redraw jstree when working set size changes + }); + }); + + // Init PreferenceStorage + var defaults = { + projectPath: _getDefaultProjectPath() /* initialize to brackets source */ + }; + _prefs = PreferencesManager.getPreferenceStorage(PREFERENCES_CLIENT_ID, defaults); + + // Event Handlers + $(FileViewController).on("documentSelectionFocusChange", _documentSelectionFocusChange); + $(FileViewController).on("fileViewFocusChange", _fileViewFocusChange); + + // Commands + CommandManager.register(Strings.CMD_OPEN_FOLDER, Commands.FILE_OPEN_FOLDER, openProject); + // Define public API exports.getProjectRoot = getProjectRoot; exports.isWithinProject = isWithinProject; @@ -937,23 +961,4 @@ define(function (require, exports, module) { exports.getInitialProjectPath = getInitialProjectPath; exports.createNewItem = createNewItem; exports.forceFinishRename = forceFinishRename; - - // Initialize now - (function () { - var defaults = { - projectPath: _getDefaultProjectPath() /* initialize to brackets source */ - }; - - // Init PreferenceStorage - _prefs = PreferencesManager.getPreferenceStorage(PREFERENCES_CLIENT_ID, defaults); - - // Event Handlers - $(FileViewController).on("documentSelectionFocusChange", _documentSelectionFocusChange); - $(FileViewController).on("fileViewFocusChange", _fileViewFocusChange); - $("#open-files-container").on("contentChanged", function () { - _redraw(false); // redraw jstree when working set size changes - }); - - CommandManager.register(Strings.CMD_OPEN_FOLDER, Commands.FILE_OPEN_FOLDER, openProject); - }()); }); diff --git a/src/project/SidebarView.js b/src/project/SidebarView.js index 07e3b10563b..0289ae5c577 100644 --- a/src/project/SidebarView.js +++ b/src/project/SidebarView.js @@ -23,7 +23,7 @@ /*jslint vars: true, plusplus: true, devel: true, nomen: true, indent: 4, maxerr: 50 */ -/*global define, $, document, window */ +/*global define, $, document, window, brackets */ define(function (require, exports, module) { "use strict"; @@ -48,24 +48,7 @@ define(function (require, exports, module) { $sidebarResizer, $openFilesContainer, $projectTitle, - $projectFilesContainer, - isSidebarClosed; - - // Init sidebar resizer and setup working set view after the DOM - // is initialized - $(brackets).on("htmlContentLoadComplete", function () { - $sidebar = $("#sidebar"); - $sidebarMenuText = $("#menu-view-hide-sidebar span"); - $sidebarResizer = $("#sidebar-resizer"); - $openFilesContainer = $("#open-files-container"); - $projectTitle = $("#project-title"); - $projectFilesContainer = $("#project-files-container"); - - // init - WorkingSetView.create($openFilesContainer); - _initSidebarResizer(); - }); - + $projectFilesContainer; /** * @private @@ -248,10 +231,23 @@ define(function (require, exports, module) { }); } + // Initialize items dependent on HTML DOM + $(brackets).on("htmlContentLoadComplete", function () { + $sidebar = $("#sidebar"); + $sidebarMenuText = $("#menu-view-hide-sidebar span"); + $sidebarResizer = $("#sidebar-resizer"); + $openFilesContainer = $("#open-files-container"); + $projectTitle = $("#project-title"); + $projectFilesContainer = $("#project-files-container"); + // init + WorkingSetView.create($openFilesContainer); + _initSidebarResizer(); + }); $(ProjectManager).on("projectOpen", _updateProjectTitle); CommandManager.register(Strings.CMD_HIDE_SIDEBAR, Commands.VIEW_HIDE_SIDEBAR, toggleSidebar); + // Define public API exports.toggleSidebar = toggleSidebar; }); \ No newline at end of file