diff --git a/bower.json b/bower.json index a105e493..11ed9f66 100644 --- a/bower.json +++ b/bower.json @@ -25,7 +25,10 @@ "jquery-fullscreen": "~1.1.4", "cjs": "*", "ace": "~1.2.2", - "browserfs": "0.5.8" + "browserfs": "0.5.8", + "ace": "~1.2.2", + "bootstrap-contextmenu": "^0.3.4", + "bootbox.js": "^4.4.0" }, "devDependencies": {}, "resolutions": { diff --git a/gulp-tasks/build-js.js b/gulp-tasks/build-js.js index fe3db887..a280ea04 100644 --- a/gulp-tasks/build-js.js +++ b/gulp-tasks/build-js.js @@ -53,6 +53,7 @@ const requireJsOptimizerFilesConfig = [ 'components/vm-state-label/vm-state-label', 'components/compiler-state-label/compiler-state-label', 'components/not-found-page/not-found-page', + 'components/file-browser/file-browser', 'ace/mode/c_cpp', 'ace/theme/monokai', 'ace/theme/terminal', diff --git a/src/app/require.config.js b/src/app/require.config.js index 67d15f29..414b76e9 100644 --- a/src/app/require.config.js +++ b/src/app/require.config.js @@ -29,6 +29,9 @@ require.config({ "FileSaver": "bower_modules/FileSaver/FileSaver.min", // exports window global "saveAs" "Blob": "bower_modules/Blob/Blob", // exports window global "Blob" "browserfs": "bower_modules/browserfs/dist/browserfs.min", + "bootstrap-contextmenu":"bower_modules/bootstrap-contextmenu/bootstrap-contextmenu", + "bootbox": "bower_modules/bootbox.js/bootbox", + // Application-specific modules "app/config": "app/config/config.dev" // overridden to 'config.dist' in build config @@ -38,7 +41,9 @@ require.config({ "jquery-ui": { deps: ["jquery"] }, "jquery-ui-layout": { deps: ["jquery", "jquery-ui"] }, "jquery-fullscreen": { deps: ["jquery"] }, - "typeahead-jquery": { deps: ["jquery"] } + "typeahead-jquery": { deps: ["jquery"] }, + "bootbox": { deps: ["jquery"] }, + "bootstrap-contextmenu": { deps: ["bootstrap"] } }, packages: [ { diff --git a/src/app/startup.js b/src/app/startup.js index 84faf2b5..e4db642a 100644 --- a/src/app/startup.js +++ b/src/app/startup.js @@ -38,6 +38,7 @@ ko.components.register('playground-footer', { require: 'components/playground-fo ko.components.register('vm-state-label', { require: 'components/vm-state-label/vm-state-label' }); ko.components.register('compiler-state-label', { require: 'components/compiler-state-label/compiler-state-label' }); ko.components.register('not-found-page', { require: 'components/not-found-page/not-found-page' }); +ko.components.register('file-browser', { require: 'components/file-browser/file-browser' }); // [Scaffolded component registrations will be inserted here. To retain this feature, don't remove this comment.] // Start the application diff --git a/src/app/sys-global-observables.js b/src/app/sys-global-observables.js index 659f284f..a4b154a4 100644 --- a/src/app/sys-global-observables.js +++ b/src/app/sys-global-observables.js @@ -15,4 +15,9 @@ export var gccErrorCount = ko.observable(0); export var gccWarningCount = ko.observable(0); export var editorAnnotations = ko.observableArray([]); +export var currentFileName = ko.observable('untitled'); +export var currentFilePath = ko.observable(''); + export var projectLicense = ko.observable(''); + +export var Editor = {}; diff --git a/src/components/editor/editor.html b/src/components/editor/editor.html index 4995d182..dd6a04ca 100644 --- a/src/components/editor/editor.html +++ b/src/components/editor/editor.html @@ -9,7 +9,11 @@ -
+
+ +