diff --git a/src/extensionsIntegrated/Phoenix/new-project.js b/src/extensionsIntegrated/Phoenix/new-project.js index b1641fcb3..78859fa45 100644 --- a/src/extensionsIntegrated/Phoenix/new-project.js +++ b/src/extensionsIntegrated/Phoenix/new-project.js @@ -78,7 +78,7 @@ define(function (require, exports, module) { return; } if(newProjectDialogueObj && newProjectDialogueObj.isVisible()){ - return; + return newProjectDialogueObj; } let templateVars = { Strings: Strings, @@ -88,6 +88,7 @@ define(function (require, exports, module) { newProjectDialogueObj = Dialogs.showModalDialogUsingTemplate(dialogueContents, true); _focusContentWindow(); Metrics.countEvent(Metrics.EVENT_TYPE.NEW_PROJECT, "dialogue", "open"); + return newProjectDialogueObj; } function _addMenuEntries() { @@ -145,20 +146,36 @@ define(function (require, exports, module) { ProjectManager.on(ProjectManager.EVENT_AFTER_PROJECT_OPEN, projectOpened); + let _bootDoneDeferred = new $.Deferred(); + let _bootDonePromise = jsPromise(_bootDoneDeferred.promise()); + + function onBootComplete() { + return _bootDonePromise; + } + function init() { _addMenuEntries(); const shouldShowWelcome = PhStore.getItem("new-project.showWelcomeScreen") || 'Y'; if(shouldShowWelcome !== 'Y') { Metrics.countEvent(Metrics.EVENT_TYPE.NEW_PROJECT, "dialogue", "disabled"); guidedTour.startTourIfNeeded(); + _bootDoneDeferred.resolve(); return; } _shouldNotShowDialog() .then(notShow=>{ if(notShow){ + _bootDoneDeferred.resolve(); return; } - _showNewProjectDialogue(); + const dialog = _showNewProjectDialogue(); + if(dialog){ + dialog.done(()=>{ + _bootDoneDeferred.resolve(); + }); + } else { + _bootDoneDeferred.resolve(); + } DocumentCommandHandlers.on(DocumentCommandHandlers._EVENT_OPEN_WITH_FILE_FROM_OS, ()=>{ closeDialogue(); }); @@ -489,6 +506,7 @@ define(function (require, exports, module) { } exports.init = init; + exports.onBootComplete = onBootComplete; exports.openFolder = openFolder; exports.closeDialogue = closeDialogue; exports.downloadAndOpenProject = downloadAndOpenProject; diff --git a/tracking-repos.json b/tracking-repos.json index f57621a12..fed98c3e7 100644 --- a/tracking-repos.json +++ b/tracking-repos.json @@ -1,5 +1,5 @@ { "phoenixPro": { - "commitID": "4e4348d3661edb57b4612a9ee9697d74308acc02" + "commitID": "d22d7fe15d6ea894c594d5589e60250ce9ba135b" } }