Anonymous 10 ani în urmă
comite
32da2df9be
100 a modificat fișierele cu 591 adăugiri și 0 ștergeri
  1. 4 0
      .bowerrc
  2. 1 0
      .codenvy/project.json
  3. 43 0
      app/main.js
  4. 13 0
      app/shell.html
  5. 7 0
      app/shell.js
  6. 31 0
      app/widgets/filebrowser/newItemModal.html
  7. 34 0
      app/widgets/filebrowser/newItemModal.js
  8. 18 0
      app/widgets/filebrowser/renameModal.html
  9. 34 0
      app/widgets/filebrowser/renameModal.js
  10. 45 0
      app/widgets/filebrowser/view.html
  11. 135 0
      app/widgets/filebrowser/viewmodel.js
  12. 14 0
      bower.json
  13. 88 0
      data/filesystem.json
  14. 37 0
      index.html
  15. 33 0
      lib/ace-min-noconflict/.bower.json
  16. 0 0
      lib/ace-min-noconflict/ace.js
  17. 24 0
      lib/ace-min-noconflict/bower.json
  18. 0 0
      lib/ace-min-noconflict/ext-beautify.js
  19. 0 0
      lib/ace-min-noconflict/ext-chromevox.js
  20. 0 0
      lib/ace-min-noconflict/ext-elastic_tabstops_lite.js
  21. 0 0
      lib/ace-min-noconflict/ext-emmet.js
  22. 5 0
      lib/ace-min-noconflict/ext-error_marker.js
  23. 0 0
      lib/ace-min-noconflict/ext-keybinding_menu.js
  24. 0 0
      lib/ace-min-noconflict/ext-language_tools.js
  25. 5 0
      lib/ace-min-noconflict/ext-linking.js
  26. 0 0
      lib/ace-min-noconflict/ext-modelist.js
  27. 0 0
      lib/ace-min-noconflict/ext-old_ie.js
  28. 0 0
      lib/ace-min-noconflict/ext-searchbox.js
  29. 0 0
      lib/ace-min-noconflict/ext-settings_menu.js
  30. 5 0
      lib/ace-min-noconflict/ext-spellcheck.js
  31. 0 0
      lib/ace-min-noconflict/ext-split.js
  32. 0 0
      lib/ace-min-noconflict/ext-static_highlight.js
  33. 5 0
      lib/ace-min-noconflict/ext-statusbar.js
  34. 0 0
      lib/ace-min-noconflict/ext-textarea.js
  35. 5 0
      lib/ace-min-noconflict/ext-themelist.js
  36. 0 0
      lib/ace-min-noconflict/ext-whitespace.js
  37. 0 0
      lib/ace-min-noconflict/keybinding-emacs.js
  38. 0 0
      lib/ace-min-noconflict/keybinding-vim.js
  39. 0 0
      lib/ace-min-noconflict/mode-abap.js
  40. 0 0
      lib/ace-min-noconflict/mode-abc.js
  41. 0 0
      lib/ace-min-noconflict/mode-actionscript.js
  42. 1 0
      lib/ace-min-noconflict/mode-ada.js
  43. 0 0
      lib/ace-min-noconflict/mode-apache_conf.js
  44. 0 0
      lib/ace-min-noconflict/mode-applescript.js
  45. 0 0
      lib/ace-min-noconflict/mode-asciidoc.js
  46. 0 0
      lib/ace-min-noconflict/mode-assembly_x86.js
  47. 0 0
      lib/ace-min-noconflict/mode-autohotkey.js
  48. 0 0
      lib/ace-min-noconflict/mode-batchfile.js
  49. 0 0
      lib/ace-min-noconflict/mode-c9search.js
  50. 0 0
      lib/ace-min-noconflict/mode-c_cpp.js
  51. 0 0
      lib/ace-min-noconflict/mode-cirru.js
  52. 0 0
      lib/ace-min-noconflict/mode-clojure.js
  53. 0 0
      lib/ace-min-noconflict/mode-cobol.js
  54. 0 0
      lib/ace-min-noconflict/mode-coffee.js
  55. 0 0
      lib/ace-min-noconflict/mode-coldfusion.js
  56. 0 0
      lib/ace-min-noconflict/mode-csharp.js
  57. 0 0
      lib/ace-min-noconflict/mode-css.js
  58. 0 0
      lib/ace-min-noconflict/mode-curly.js
  59. 0 0
      lib/ace-min-noconflict/mode-d.js
  60. 0 0
      lib/ace-min-noconflict/mode-dart.js
  61. 0 0
      lib/ace-min-noconflict/mode-diff.js
  62. 0 0
      lib/ace-min-noconflict/mode-django.js
  63. 0 0
      lib/ace-min-noconflict/mode-dockerfile.js
  64. 0 0
      lib/ace-min-noconflict/mode-dot.js
  65. 0 0
      lib/ace-min-noconflict/mode-eiffel.js
  66. 0 0
      lib/ace-min-noconflict/mode-ejs.js
  67. 0 0
      lib/ace-min-noconflict/mode-elixir.js
  68. 0 0
      lib/ace-min-noconflict/mode-elm.js
  69. 0 0
      lib/ace-min-noconflict/mode-erlang.js
  70. 0 0
      lib/ace-min-noconflict/mode-forth.js
  71. 0 0
      lib/ace-min-noconflict/mode-ftl.js
  72. 1 0
      lib/ace-min-noconflict/mode-gcode.js
  73. 1 0
      lib/ace-min-noconflict/mode-gherkin.js
  74. 1 0
      lib/ace-min-noconflict/mode-gitignore.js
  75. 0 0
      lib/ace-min-noconflict/mode-glsl.js
  76. 0 0
      lib/ace-min-noconflict/mode-golang.js
  77. 0 0
      lib/ace-min-noconflict/mode-groovy.js
  78. 0 0
      lib/ace-min-noconflict/mode-haml.js
  79. 0 0
      lib/ace-min-noconflict/mode-handlebars.js
  80. 0 0
      lib/ace-min-noconflict/mode-haskell.js
  81. 0 0
      lib/ace-min-noconflict/mode-haxe.js
  82. 0 0
      lib/ace-min-noconflict/mode-html.js
  83. 0 0
      lib/ace-min-noconflict/mode-html_ruby.js
  84. 0 0
      lib/ace-min-noconflict/mode-ini.js
  85. 0 0
      lib/ace-min-noconflict/mode-io.js
  86. 0 0
      lib/ace-min-noconflict/mode-jack.js
  87. 0 0
      lib/ace-min-noconflict/mode-jade.js
  88. 0 0
      lib/ace-min-noconflict/mode-java.js
  89. 0 0
      lib/ace-min-noconflict/mode-javascript.js
  90. 0 0
      lib/ace-min-noconflict/mode-json.js
  91. 0 0
      lib/ace-min-noconflict/mode-jsoniq.js
  92. 0 0
      lib/ace-min-noconflict/mode-jsp.js
  93. 0 0
      lib/ace-min-noconflict/mode-jsx.js
  94. 0 0
      lib/ace-min-noconflict/mode-julia.js
  95. 0 0
      lib/ace-min-noconflict/mode-latex.js
  96. 0 0
      lib/ace-min-noconflict/mode-lean.js
  97. 0 0
      lib/ace-min-noconflict/mode-less.js
  98. 0 0
      lib/ace-min-noconflict/mode-liquid.js
  99. 1 0
      lib/ace-min-noconflict/mode-lisp.js
  100. 0 0
      lib/ace-min-noconflict/mode-live_script.js

+ 4 - 0
.bowerrc

@@ -0,0 +1,4 @@
+{
+	"directory" : "lib",
+	"json" : "bower.json"
+}

+ 1 - 0
.codenvy/project.json

@@ -0,0 +1 @@
+{"mixinTypes":[],"runners":{"configs":{"system:/javascript/web/simple":{"ram":0,"variables":{},"options":{}}},"default":"system:/javascript/web/simple"},"builders":{"configs":{}},"description":"A DurandalJS widget to provide a filebrowser","type":"BasicJS","attributes":{"language":["javascript"],"framework":["BasicJS"]}}

+ 43 - 0
app/main.js

@@ -0,0 +1,43 @@
+requirejs.config({
+	paths: {
+		'text'					: '../lib/requirejs-text/text',
+		'durandal'				: '../lib/durandal/js',
+		'plugins'				: '../lib/durandal/js/plugins',
+		'transitions'			: '../lib/durandal/js/transitions',
+		'knockout'				: '../lib/knockout.js/knockout',
+		'knockout.mapping'	: '../lib/bower-knockout-mapping/dist/knockout.mapping.min',
+		'knockout.validation': '../lib/knockout-validation/dist/knockout.validation.min',
+		'jquery'					: '../lib/jquery/jquery.min',
+		'perfect.scrollbar'	: '../lib/perfect-scrollbar/js/perfect-scrollbar.jquery'
+	},
+	shim: {
+		'knockout.mapping': {
+			deps: ['knockout'],
+			exports: 'knockout.mapping'
+		},
+		'knockout.validation': {
+			deps: ['knockout'],
+			exports: 'knockout.validation'
+		}
+	}
+});
+
+define(['durandal/system', 'durandal/app'], function (system, app) {
+	system.debug(true);
+
+	app.title = 'File browser Durandal Widget';
+
+	app.configurePlugins({
+		router	: true,
+		dialog	: true,
+		widget	: {
+			kinds: [
+				'filebrowser'
+			]
+		}
+	});
+
+	app.start().then(function() {
+		app.setRoot('shell');
+	});
+});

+ 13 - 0
app/shell.html

@@ -0,0 +1,13 @@
+<div class="row-fluid">
+	<aside class="col-md-3" id="filebrowser">
+    <div data-bind="widget: {kind:'filebrowser'}"></div>
+  </aside>
+  <main class="col-md-6" id="main">
+     <div class="scrollable" id="mainOutput">
+
+    </div>
+  </main> 
+  <aside class="col-md-3" id="helpPane">
+  
+  </aside>
+</div>

+ 7 - 0
app/shell.js

@@ -0,0 +1,7 @@
+define(function (require) {
+  var app = require('durandal/app'),
+      ko = require('knockout');
+ 
+  return {
+   };
+});

+ 31 - 0
app/widgets/filebrowser/newItemModal.html

@@ -0,0 +1,31 @@
+<div class="modal-content">
+    <div class="modal-header">
+        <button type="button" class="close" data-dismiss="modal" aria-label="Close" data-bind="click: close"><span aria-hidden="true">&times;</span></button>
+        <h4 class="modal-title">New item</h4>
+    </div>
+    <div class="modal-body">
+        <form data-bind="submit: ok" class="form-horizontal">
+             <div class="row form-group">
+                <label class="col-sm-2">Type</label>
+                <div class="col-sm-10">
+                    <label class="radio-inline">
+                      <input type="radio" name="typeItem" id="typeItemFile" value="file" data-bind="checked: typeItem"> File
+                    </label>
+                    <label class="radio-inline">
+                      <input type="radio" name="typeItem" id="typeItemFolder" value="folder" data-bind="checked: typeItem"> Folder
+                    </label>
+                </div>
+              </div>
+             <div class="row form-group">
+                <label for="nameInput" class="col-sm-2 control-label">Name</label>
+                <div class="col-sm-10">
+                    <input data-bind="value: input, valueUpdate: 'afterkeydown'" name="nameInput" class="form-control autofocus"/>
+                </div>
+              </div>
+        </form>
+    </div>
+    <div class="modal-footer">
+        <button class="btn btn-primary" data-bind="click: ok, visible: isValid">Create</button>
+        <button class="btn btn-default" data-bind="click: close">Cancel</button>
+    </div>
+</div>

+ 34 - 0
app/widgets/filebrowser/newItemModal.js

@@ -0,0 +1,34 @@
+define(['plugins/dialog', 'knockout', 'knockout.validation'], function (dialog, ko, ko_validation) {
+
+    ko.validation = ko_validation;
+
+    var NewItemModal = function() {
+        var self = this;
+        self.input = ko.observable('').extend({
+            required: true,
+            pattern: {
+                message : 'The name must not contain a \'/\'',
+                params  : '^[^/]+$'
+            }
+        });
+        self.typeItem = ko.observable('file');
+        self.form = ko.validatedObservable( {input: self.input} );
+        self.isValid = ko.computed(function() {
+            return self.form.isValid();
+        });
+    };
+
+    NewItemModal.prototype.ok = function() {
+        dialog.close(this, { name: this.input(), type: this.typeItem()});
+    };
+
+    NewItemModal.prototype.close = function() {
+        dialog.close(this);
+    };
+
+    NewItemModal.show = function(defaultValue){
+        return dialog.show(new NewItemModal(defaultValue));
+    };
+
+    return NewItemModal;
+});

+ 18 - 0
app/widgets/filebrowser/renameModal.html

@@ -0,0 +1,18 @@
+<div class="modal-content">
+    <div class="modal-header">
+        <button type="button" class="close" data-dismiss="modal" aria-label="Close" data-bind="click: close"><span aria-hidden="true">&times;</span></button>
+        <h4 class="modal-title">Rename</h4>
+    </div>
+    <div class="modal-body">
+        <form data-bind="submit: ok" class="form-inline">
+             <div class="form-group">
+                <label for="renameInput">New name</label>
+                <input data-bind="value: input, valueUpdate: 'afterkeydown'" name="renameInput" class="form-control autofocus"/>
+              </div>
+        </form>
+    </div>
+    <div class="modal-footer">
+        <button class="btn btn-primary" data-bind="click: ok, visible: isValid">Ok</button>
+        <button class="btn btn-default" data-bind="click: close">Cancel</button>
+    </div>
+</div>

+ 34 - 0
app/widgets/filebrowser/renameModal.js

@@ -0,0 +1,34 @@
+define(['plugins/dialog', 'knockout', , 'knockout.validation'], function (dialog, ko, ko_validation) {
+
+    ko.validation = ko_validation;
+
+    var RenameModal = function(defaultValue) {
+        var self = this;
+        self.previousName = defaultValue;
+        self.input = ko.observable(defaultValue).extend({
+            required: true,
+            pattern: {
+                message : 'The name must not contain a \'/\'',
+                params  : '^[^/]+$'
+            }
+        });
+        self.form = ko.validatedObservable( {input: self.input} );
+        self.isValid = ko.computed(function() {
+            return self.form.isValid() && self.input() != self.previousName;
+        });
+    };
+
+    RenameModal.prototype.ok = function() {
+        dialog.close(this, this.input());
+    };
+
+    RenameModal.prototype.close = function() {
+        dialog.close(this);
+    };
+
+    RenameModal.show = function(defaultValue){
+        return dialog.show(new RenameModal(defaultValue));
+    };
+
+    return RenameModal;
+});

+ 45 - 0
app/widgets/filebrowser/view.html

@@ -0,0 +1,45 @@
+<div id="filebrowser" class="filebrowser">
+	<!-- ko if: folder() -->
+		<!-- ko let: { loopRoot: $data } -->
+			<ul data-bind="template: { name: 'tree-template', foreach: folder().children() }" class="tree-file"></ul>
+		<!-- /ko -->
+	<!-- /ko -->
+
+	<script id="tree-template" type="text/html">
+		<!-- ko if: $data.type() === "folder" -->
+			<li class="folder">
+				<i class="fa fa-folder-o" data-bind="attr: {id: 'icon_folder_' + $data.uuid()}"></i>
+				<span data-bind="text: $data.name, event: { dblclick: loopRoot.openFolder, contextmenu: loopRoot.openContextMenu, click: loopRoot.select }"/>
+				<input type="checkbox" data-bind="attr: {id: $data.uuid}" />
+				<ul data-bind="template: { name: 'tree-template', foreach: $data.children }"></ul>
+			</li>
+		<!-- /ko -->
+		<!--ko if: $data.type() !== "folder"-->
+			<li data-bind="attr: {'data-id': $data.uuid, 'data-filetype': $data.type()}" class="file">
+				<!--ko ifnot: $data.type -->
+				<i data-bind="attr: {class: 'fa fa-file-o'}"></i>
+				<!-- /ko -->
+				<!--ko if: $data.type -->
+				<i data-bind="attr: {class: 'fa fa-file-' + $data.type() + '-o', title: $data.type()}"></i>
+				<!-- /ko -->
+				<span data-bind="text: $data.name, event: { dblclick: loopRoot.openFile, contextmenu: loopRoot.openContextMenu, click: loopRoot.select }, attr: {'data-extra': $data.extra ? $data.extra : ''}"></span>
+			</li>
+		<!-- /ko -->
+	</script>    
+	
+	<!-- Context menu -->
+	<div id="fileBrowserContextMenu" class="dropdown open" data-bind="visible: showContextMenu" tabindex="1">
+		<ul class="dropdown-menu" role="menu" aria-labelledby="contextMenu">
+			<!-- ko if: selected() != undefined && !selected().extra -->
+			<li role="presentation"><a role="menuitem" tabindex="-1" href="#" data-bind="click: newItem">New ...</a></li>
+			<!-- /ko -->
+			<li role="presentation"><a role="menuitem" tabindex="-1" href="#" data-bind="click: openRenamePopup">Rename</a></li>
+			<li role="presentation"><a role="menuitem" tabindex="-1" href="#" data-bind="click: copy">Copy</a></li>
+			<!-- ko if: selected() != undefined && !selected().extra -->
+			<li role="presentation" data-bind="css: { 'disabled': !hasCopied()}"><a role="menuitem" tabindex="-1" href="#" data-bind="click: paste">Paste</a></li>
+			<!-- /ko -->
+			<li role="presentation"><a role="menuitem" tabindex="-1" href="#" data-bind="click: openDeletePopup">Delete</a></li>
+		</ul>
+	</div>
+	<!-- End of Context menu -->
+</div>

+ 135 - 0
app/widgets/filebrowser/viewmodel.js

@@ -0,0 +1,135 @@
+define(['durandal/app', 'durandal/composition', 'plugins/http',
+        'jquery', 'knockout', 'knockout.mapping',
+        'perfect.scrollbar',
+        './renameModal', './newItemModal'],
+        function(app, composition,http, $, ko, ko_mapping, perfectScrollbar, RenameModal, NewItemModal) {
+
+	ko.mapping = ko_mapping;
+	
+	ko.bindingHandlers['let'] = {
+	    'init': function(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
+	        // Make a modified binding context, with extra properties, and apply it to descendant elements
+	        var innerContext = bindingContext.extend(valueAccessor());
+	        ko.applyBindingsToDescendants(innerContext, element);
+	
+	        return { controlsDescendantBindings: true };
+	    }
+	};
+	ko.virtualElements.allowedBindings['let'] = true;
+    
+    var ctor = function() { },
+        selected = ko.observableArray(),
+        showContextMenu = ko.observable(false),
+        copied = ko.observable(undefined),
+        folder = ko.observable(ko.mapping.fromJS({children: []})),
+        scrollable = $('#filebrowser'),
+        cachedData;
+
+    ctor.prototype.activate = function(settings) {
+        this.settings = settings;
+        this.selected = selected;
+        this.hasCopied = ko.computed( function() {
+           return copied() !== undefined;
+        });
+        this.showContextMenu = showContextMenu;
+        this.folder = folder;
+        scrollable.perfectScrollbar();
+    };
+
+    ctor.prototype.openFile = function(object, event) {
+        console.log('File dblclick ', arguments);
+    };
+    ctor.prototype.select = function(object, event) {
+        if( !event.ctrlKey ) {
+            $('li > span.select').removeClass('select');
+            selected.removeAll();
+        }
+        $(event.target).toggleClass('select');
+        selected.push( ko.mapping.fromJS(object) );
+    };
+    ctor.prototype.openFolder = function(event) {
+        var id = arguments[0].uuid();
+    	console.log('openFolder', id);
+        $('input[type=checkbox][id=' + id + ']').click();
+        $('#icon_folder_' + id).toggleClass('fa-folder-o').toggleClass('fa-folder-open-o');
+        $('#filebrowser').perfectScrollbar('update');
+    };
+    
+    /** Context Menu **/
+
+    ctor.prototype.openContextMenu = function(object, event) {
+        console.log('openContextMenu');
+        selected( ko.mapping.fromJS(object) );
+        // Position du menu, calculer la pos pour eviter sortie du viewport
+        var posX = event.pageX,
+            posY = event.pageY,
+            windowWidth = $(window).width(),
+            windowHeight = $(window).height(),
+            contextMenu = $('#fileBrowserContextMenu'),
+            menuWidth = contextMenu.width(),
+            menuHeight = contextMenu.height();
+
+        posX = Math.min(posX - 45, windowWidth - menuWidth - 15);
+        posY = Math.min(posY - 80, windowHeight - menuHeight - 10);
+
+        // affichage
+        contextMenu.css({
+            left : posX + 'px',
+            top : posY + 'px'
+        });
+
+        showContextMenu(true);
+    };
+
+    ctor.prototype.openRenamePopup = function(ctor, event) {
+        RenameModal.show(ctor.selected().name()).then(function(response) {
+            if( response !== undefined ) {
+                ctor.selected().name(response);
+            }
+        });
+    };
+
+    ctor.prototype.openDeletePopup = function(ctor, event) {
+        app.showMessage(
+            'Are you sure you want to delete this ' +
+                (ctor.selected().is_folder ? ' folder and all its content' : 'file') + '?',
+            'Delete ' + ctor.selected().name(), [ { text: "Yes", value: "yes" }, { text: "No", value: "no" }]).then( function( dialogResult ) {
+                if( dialogResult === 'yes' ) {
+                    console.log('Deleting', ctor.selected().name());
+                }
+            });
+    };
+
+    ctor.prototype.copy = function(ctor, event) {
+        console.log('Copied', ctor.selected().name());
+        copied( ctor.selected() );
+    };
+
+    ctor.prototype.paste = function(ctor, event) {
+        if( copied() !== undefined ) {
+            console.log('Paste', copied().name(), 'into', ctor.selected().name());
+            copied( undefined );
+        }
+    };
+
+    ctor.prototype.newItem = function(ctor, event) {
+        NewItemModal.show().then(function(response) {
+            if( response !== undefined ) {
+                console.log('New item : ' + response.type + ' - ' + response.name );
+            }
+        });
+    };
+
+    $(document).on('click', function() {
+        showContextMenu(false);
+    });
+    /** End of Context Menu */
+
+  	http.get('/data/filesystem.json').then(function(response) {
+     	console.log(response);
+        folder(ko.mapping.fromJS(response));
+        $('#filebrowser').perfectScrollbar();
+   });
+
+    return ctor;
+});

+ 14 - 0
bower.json

@@ -0,0 +1,14 @@
+{
+  "name": "filebrowser-durandal-widget",
+  "dependencies" : {
+    "durandal" 					: "~2.1.0",
+    "knockout-validation"		: "~2.0.2",
+    "bower-knockout-mapping"	: "~2.5.0",
+    "perfect-scrollbar"			: "~0.6.0",
+    "bootstrap"					: "~3.3.4",
+    "fontawesome"				: "~4.3.0",
+    "less.js"					: "~2.4.0",
+    "lesshat"					: "~3.0.2",
+    "ace-min-noconflict"		: "~1.1.8"
+  }
+}

+ 88 - 0
data/filesystem.json

@@ -0,0 +1,88 @@
+{
+   "uuid":"folder1",
+   "name":"root",
+   "type":"folder",
+   "children":[
+      {
+         "uuid":"docs",
+         "name":"docs",
+         "type":"folder",
+         "children":[
+		      {
+		         "uuid":"multimedia",
+		         "name":"multimedia",
+		         "type":"folder",
+		         "children":[
+		            {
+		               "name":"movie.mov",
+		               "uuid":"movie.mov",
+		               "type":"video",
+		               "extra":false
+		            },
+		            {
+		               "name":"icon.ico",
+		               "uuid":"icon.ico",
+		               "type":"image",
+		               "extra":false
+		            },
+		            {
+		               "name":"picture.png",
+		               "uuid":"picture.png",
+		               "type":"image",
+		               "extra":false
+		            }
+		         ]
+		      },
+            {
+               "name":"readme.txt",
+               "uuid":"readme.txt",
+               "type":"text",
+               "extra":false
+            },
+            {
+               "name":"slideshow.mov",
+               "uuid":"slideshow.mov",
+               "type":"video",
+               "extra":false
+            },
+            {
+               "name":"slideshow.ppt",
+               "uuid":"slideshow.ppt",
+               "type":"powerpoint",
+               "extra":false
+            },
+            {
+               "name":"slideshow.docx",
+               "uuid":"slideshow.docx",
+               "type":"word",
+               "extra":false
+            }
+         ]
+      },
+      {
+         "uuid":"structural",
+         "name":"structural",
+         "type":"folder",
+         "children":[
+            {
+               "name":"structure.json",
+               "uuid":"structure.json",
+               "type":"code",
+               "extra":"json"
+            },
+            {
+               "name":"structure.xml",
+               "uuid":"structure.xml",
+               "type":"code",
+               "extra":"xml"
+            },
+            {
+               "name":"structure.csv",
+               "uuid":"structure.csv",
+               "type":"code",
+               "extra":"csv"
+            }
+         ]
+      }
+   ]
+}

+ 37 - 0
index.html

@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html>
+	<head>
+		<link rel="stylesheet" href="lib/bootstrap/dist/css/bootstrap.css"/>
+		<link rel="stylesheet" href="lib/fontawesome/css/font-awesome.css"/>
+		<link rel="stylesheet" href="lib/durandal/css/durandal.css"/>
+      <link rel="stylesheet" href="lib/perfect-scrollbar/css/perfect-scrollbar.css" />
+     
+      <link rel="stylesheet" href="style/starterkit.css" />
+      <link rel="stylesheet/less" href="style/filebrowser.less" />
+     
+     	<script>
+        less = {
+          env: "development"
+        };
+      </script>
+     	<script src="lib/less.js/dist/less.min.js"></script>
+	</head>
+	<body>
+     	<nav class="navbar navbar-default">
+        	<div class="container-fluid">
+           <div class="navbar-header">
+					<a class="navbar-brand" href="#">Filebrowser Durandal Widget</a>             	
+           </div>
+        </div>
+      </nav>
+		<div id="applicationHost">
+			 <div class="splash">
+	            <h1 class="message">Filebrowser Durandal widget</h1>
+	            <i class="fa fa-spinner fa-2x fa-spin active"></i>
+	        </div>
+		</div>
+
+     
+		<script src="lib/requirejs/require.js" data-main="app/main"></script>
+	</body>
+</html>

+ 33 - 0
lib/ace-min-noconflict/.bower.json

@@ -0,0 +1,33 @@
+{
+  "name": "ace-min-noconflict",
+  "version": "1.1.9",
+  "homepage": "https://github.com/tylerlong/ace-min-noconflict",
+  "authors": [
+    "Tyler Long <tyler4long@gmail.com>"
+  ],
+  "description": "ACE editor minimized noconflict built files.",
+  "main": "ace.js",
+  "keywords": [
+    "ACE",
+    "editor"
+  ],
+  "license": "BSD",
+  "ignore": [
+    "**/.*",
+    "node_modules",
+    "bower_components",
+    "test",
+    "tests",
+    "fabfile.py",
+    "README.md"
+  ],
+  "_release": "1.1.9",
+  "_resolution": {
+    "type": "version",
+    "tag": "v1.1.9",
+    "commit": "2e62fa0b52407120d452131125062f6fc1beb8c6"
+  },
+  "_source": "git://github.com/tylerlong/ace-min-noconflict.git",
+  "_target": "~1.1.8",
+  "_originalSource": "ace-min-noconflict"
+}

Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/ace.js


+ 24 - 0
lib/ace-min-noconflict/bower.json

@@ -0,0 +1,24 @@
+{
+  "name": "ace-min-noconflict",
+  "version": "1.1.9",
+  "homepage": "https://github.com/tylerlong/ace-min-noconflict",
+  "authors": [
+    "Tyler Long <tyler4long@gmail.com>"
+  ],
+  "description": "ACE editor minimized noconflict built files.",
+  "main": "ace.js",
+  "keywords": [
+    "ACE",
+    "editor"
+  ],
+  "license": "BSD",
+  "ignore": [
+    "**/.*",
+    "node_modules",
+    "bower_components",
+    "test",
+    "tests",
+    "fabfile.py",
+    "README.md"
+  ]
+}

Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/ext-beautify.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/ext-chromevox.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/ext-elastic_tabstops_lite.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/ext-emmet.js


+ 5 - 0
lib/ace-min-noconflict/ext-error_marker.js

@@ -0,0 +1,5 @@
+;
+                (function() {
+                    ace.require(["ace/ext/error_marker"], function() {});
+                })();
+            

Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/ext-keybinding_menu.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/ext-language_tools.js


+ 5 - 0
lib/ace-min-noconflict/ext-linking.js

@@ -0,0 +1,5 @@
+ace.define("ace/ext/linking",["require","exports","module","ace/editor","ace/config"],function(e,t,n){function i(e){var t=e.editor,n=e.getAccelKey();if(n){var t=e.editor,r=e.getDocumentPosition(),i=t.session,s=i.getTokenAt(r.row,r.column);t._emit("linkHover",{position:r,token:s})}}function s(e){var t=e.getAccelKey(),n=e.getButton();if(n==0&&t){var r=e.editor,i=e.getDocumentPosition(),s=r.session,o=s.getTokenAt(i.row,i.column);r._emit("linkClick",{position:i,token:o})}}var r=e("ace/editor").Editor;e("../config").defineOptions(r.prototype,"editor",{enableLinking:{set:function(e){e?(this.on("click",s),this.on("mousemove",i)):(this.off("click",s),this.off("mousemove",i))},value:!1}})});
+                (function() {
+                    ace.require(["ace/ext/linking"], function() {});
+                })();
+            

Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/ext-modelist.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/ext-old_ie.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/ext-searchbox.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/ext-settings_menu.js


+ 5 - 0
lib/ace-min-noconflict/ext-spellcheck.js

@@ -0,0 +1,5 @@
+ace.define("ace/ext/spellcheck",["require","exports","module","ace/lib/event","ace/editor","ace/config"],function(e,t,n){"use strict";var r=e("../lib/event");t.contextMenuHandler=function(e){var t=e.target,n=t.textInput.getElement();if(!t.selection.isEmpty())return;var i=t.getCursorPosition(),s=t.session.getWordRange(i.row,i.column),o=t.session.getTextRange(s);t.session.tokenRe.lastIndex=0;if(!t.session.tokenRe.test(o))return;var u="",a=o+" "+u;n.value=a,n.setSelectionRange(o.length,o.length+1),n.setSelectionRange(0,0),n.setSelectionRange(0,o.length);var f=!1;r.addListener(n,"keydown",function l(){r.removeListener(n,"keydown",l),f=!0}),t.textInput.setInputHandler(function(e){console.log(e,a,n.selectionStart,n.selectionEnd);if(e==a)return"";if(e.lastIndexOf(a,0)===0)return e.slice(a.length);if(e.substr(n.selectionEnd)==a)return e.slice(0,-a.length);if(e.slice(-2)==u){var r=e.slice(0,-2);if(r.slice(-1)==" ")return f?r.substring(0,n.selectionEnd):(r=r.slice(0,-1),t.session.replace(s,r),"")}return e})};var i=e("../editor").Editor;e("../config").defineOptions(i.prototype,"editor",{spellcheck:{set:function(e){var n=this.textInput.getElement();n.spellcheck=!!e,e?this.on("nativecontextmenu",t.contextMenuHandler):this.removeListener("nativecontextmenu",t.contextMenuHandler)},value:!0}})});
+                (function() {
+                    ace.require(["ace/ext/spellcheck"], function() {});
+                })();
+            

Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/ext-split.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/ext-static_highlight.js


+ 5 - 0
lib/ace-min-noconflict/ext-statusbar.js

@@ -0,0 +1,5 @@
+ace.define("ace/ext/statusbar",["require","exports","module","ace/lib/dom","ace/lib/lang"],function(e,t,n){"use strict";var r=e("ace/lib/dom"),i=e("ace/lib/lang"),s=function(e,t){this.element=r.createElement("div"),this.element.className="ace_status-indicator",this.element.style.cssText="display: inline-block;",t.appendChild(this.element);var n=i.delayedCall(function(){this.updateStatus(e)}.bind(this));e.on("changeStatus",function(){n.schedule(100)}),e.on("changeSelection",function(){n.schedule(100)})};(function(){this.updateStatus=function(e){function n(e,n){e&&t.push(e,n||"|")}var t=[];n(e.keyBinding.getStatusText(e)),e.commands.recording&&n("REC");var r=e.selection.lead;n(r.row+":"+r.column," ");if(!e.selection.isEmpty()){var i=e.getSelectionRange();n("("+(i.end.row-i.start.row)+":"+(i.end.column-i.start.column)+")")}t.pop(),this.element.textContent=t.join("")}}).call(s.prototype),t.StatusBar=s});
+                (function() {
+                    ace.require(["ace/ext/statusbar"], function() {});
+                })();
+            

Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/ext-textarea.js


+ 5 - 0
lib/ace-min-noconflict/ext-themelist.js

@@ -0,0 +1,5 @@
+ace.define("ace/ext/themelist",["require","exports","module","ace/lib/fixoldbrowsers"],function(e,t,n){"use strict";e("ace/lib/fixoldbrowsers");var r=[["Chrome"],["Clouds"],["Crimson Editor"],["Dawn"],["Dreamweaver"],["Eclipse"],["GitHub"],["Solarized Light"],["TextMate"],["Tomorrow"],["XCode"],["Kuroir"],["KatzenMilch"],["Ambiance","ambiance","dark"],["Chaos","chaos","dark"],["Clouds Midnight","clouds_midnight","dark"],["Cobalt","cobalt","dark"],["idle Fingers","idle_fingers","dark"],["krTheme","kr_theme","dark"],["Merbivore","merbivore","dark"],["Merbivore Soft","merbivore_soft","dark"],["Mono Industrial","mono_industrial","dark"],["Monokai","monokai","dark"],["Pastel on dark","pastel_on_dark","dark"],["Solarized Dark","solarized_dark","dark"],["Terminal","terminal","dark"],["Tomorrow Night","tomorrow_night","dark"],["Tomorrow Night Blue","tomorrow_night_blue","dark"],["Tomorrow Night Bright","tomorrow_night_bright","dark"],["Tomorrow Night 80s","tomorrow_night_eighties","dark"],["Twilight","twilight","dark"],["Vibrant Ink","vibrant_ink","dark"]];t.themesByName={},t.themes=r.map(function(e){var n=e[1]||e[0].replace(/ /g,"_").toLowerCase(),r={caption:e[0],theme:"ace/theme/"+n,isDark:e[2]=="dark",name:n};return t.themesByName[n]=r,r})});
+                (function() {
+                    ace.require(["ace/ext/themelist"], function() {});
+                })();
+            

Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/ext-whitespace.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/keybinding-emacs.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/keybinding-vim.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-abap.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-abc.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-actionscript.js


+ 1 - 0
lib/ace-min-noconflict/mode-ada.js

@@ -0,0 +1 @@
+ace.define("ace/mode/ada_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="abort|else|new|return|abs|elsif|not|reverse|abstract|end|null|accept|entry|select|access|exception|of|separate|aliased|exit|or|some|all|others|subtype|and|for|out|synchronized|array|function|overriding|at|tagged|generic|package|task|begin|goto|pragma|terminate|body|private|then|if|procedure|type|case|in|protected|constant|interface|until||is|raise|use|declare|range|delay|limited|record|when|delta|loop|rem|while|digits|renames|with|do|mod|requeue|xor",t="true|false|null",n="count|min|max|avg|sum|rank|now|coalesce|main",r=this.createKeywordMapper({"support.function":n,keyword:e,"constant.language":t},"identifier",!0);this.$rules={start:[{token:"comment",regex:"--.*$"},{token:"string",regex:'".*?"'},{token:"string",regex:"'.*?'"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\/|\\/\\/|%|<@>|@>|<@|&|\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"paren.lparen",regex:"[\\(]"},{token:"paren.rparen",regex:"[\\)]"},{token:"text",regex:"\\s+"}]}};r.inherits(s,i),t.AdaHighlightRules=s}),ace.define("ace/mode/ada",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/ada_highlight_rules","ace/range"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./ada_highlight_rules").AdaHighlightRules,o=e("../range").Range,u=function(){this.HighlightRules=s};r.inherits(u,i),function(){this.lineCommentStart="--",this.$id="ace/mode/ada"}.call(u.prototype),t.Mode=u})

Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-apache_conf.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-applescript.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-asciidoc.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-assembly_x86.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-autohotkey.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-batchfile.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-c9search.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-c_cpp.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-cirru.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-clojure.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-cobol.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-coffee.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-coldfusion.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-csharp.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-css.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-curly.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-d.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-dart.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-diff.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-django.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-dockerfile.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-dot.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-eiffel.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-ejs.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-elixir.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-elm.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-erlang.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-forth.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-ftl.js


+ 1 - 0
lib/ace-min-noconflict/mode-gcode.js

@@ -0,0 +1 @@
+ace.define("ace/mode/gcode_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="IF|DO|WHILE|ENDWHILE|CALL|ENDIF|SUB|ENDSUB|GOTO|REPEAT|ENDREPEAT|CALL",t="PI",n="ATAN|ABS|ACOS|ASIN|SIN|COS|EXP|FIX|FUP|ROUND|LN|TAN",r=this.createKeywordMapper({"support.function":n,keyword:e,"constant.language":t},"identifier",!0);this.$rules={start:[{token:"comment",regex:"\\(.*\\)"},{token:"comment",regex:"([N])([0-9]+)"},{token:"string",regex:"([G])([0-9]+\\.?[0-9]?)"},{token:"string",regex:"([M])([0-9]+\\.?[0-9]?)"},{token:"constant.numeric",regex:"([-+]?([0-9]*\\.?[0-9]+\\.?))|(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)"},{token:r,regex:"[A-Z]"},{token:"keyword.operator",regex:"EQ|LT|GT|NE|GE|LE|OR|XOR"},{token:"paren.lparen",regex:"[\\[]"},{token:"paren.rparen",regex:"[\\]]"},{token:"text",regex:"\\s+"}]}};r.inherits(s,i),t.GcodeHighlightRules=s}),ace.define("ace/mode/gcode",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/gcode_highlight_rules","ace/range"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./gcode_highlight_rules").GcodeHighlightRules,o=e("../range").Range,u=function(){this.HighlightRules=s};r.inherits(u,i),function(){this.$id="ace/mode/gcode"}.call(u.prototype),t.Mode=u})

+ 1 - 0
lib/ace-min-noconflict/mode-gherkin.js

@@ -0,0 +1 @@
+ace.define("ace/mode/gherkin_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s="\\\\(x[0-9A-Fa-f]{2}|[0-7]{3}|[\\\\abfnrtv'\"]|U[0-9A-Fa-f]{8}|u[0-9A-Fa-f]{4})",o=function(){this.$rules={start:[{token:"constant.numeric",regex:"(?:(?:[1-9]\\d*)|(?:0))"},{token:"comment",regex:"#.*$"},{token:"keyword",regex:"Feature:|Background:|Scenario:|Scenario Outline:|Examples:|Given|When|Then|And|But|\\*"},{token:"string",regex:'"{3}',next:"qqstring3"},{token:"string",regex:'"',next:"qqstring"},{token:"comment",regex:"@[A-Za-z0-9]+",next:"start"},{token:"comment",regex:"<.+>"},{token:"comment",regex:"\\| ",next:"table-item"},{token:"comment",regex:"\\|$",next:"start"}],qqstring3:[{token:"constant.language.escape",regex:s},{token:"string",regex:'"{3}',next:"start"},{defaultToken:"string"}],qqstring:[{token:"constant.language.escape",regex:s},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],"table-item":[{token:"string",regex:"[A-Za-z0-9 ]*",next:"start"}]}};r.inherits(o,i),t.GherkinHighlightRules=o}),ace.define("ace/mode/gherkin",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/gherkin_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("./gherkin_highlight_rules").GherkinHighlightRules,o=function(){this.HighlightRules=s};r.inherits(o,i),function(){this.lineCommentStart="#",this.$id="ace/mode/gherkin",this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i="  ",s=this.getTokenizer().getLineTokens(t,e),o=s.tokens;return console.log(e),t.match("[ ]*\\|")&&(r+="| "),o.length&&o[o.length-1].type=="comment"?r:(e=="start"&&(t.match("Scenario:|Feature:|Scenario Outline:|Background:")?r+=i:t.match("(Given|Then).+(:)$|Examples:")?r+=i:t.match("\\*.+")&&(r+="* ")),r)}}.call(o.prototype),t.Mode=o})

+ 1 - 0
lib/ace-min-noconflict/mode-gitignore.js

@@ -0,0 +1 @@
+ace.define("ace/mode/gitignore_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment",regex:/^\s*#.*$/},{token:"keyword",regex:/^\s*!.*$/}]},this.normalizeRules()};s.metaData={fileTypes:["gitignore"],name:"Gitignore"},r.inherits(s,i),t.GitignoreHighlightRules=s}),ace.define("ace/mode/gitignore",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/gitignore_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./gitignore_highlight_rules").GitignoreHighlightRules,o=function(){this.HighlightRules=s};r.inherits(o,i),function(){this.lineCommentStart="#",this.$id="ace/mode/gitignore"}.call(o.prototype),t.Mode=o})

Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-glsl.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-golang.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-groovy.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-haml.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-handlebars.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-haskell.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-haxe.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-html.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-html_ruby.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-ini.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-io.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-jack.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-jade.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-java.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-javascript.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-json.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-jsoniq.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-jsp.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-jsx.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-julia.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-latex.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-lean.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-less.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-liquid.js


+ 1 - 0
lib/ace-min-noconflict/mode-lisp.js

@@ -0,0 +1 @@
+ace.define("ace/mode/lisp_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="case|do|let|loop|if|else|when",t="eq|neq|and|or",n="null|nil",r="cons|car|cdr|cond|lambda|format|setq|setf|quote|eval|append|list|listp|memberp|t|load|progn",i=this.createKeywordMapper({"keyword.control":e,"keyword.operator":t,"constant.language":n,"support.function":r},"identifier",!0);this.$rules={start:[{token:"comment",regex:";.*$"},{token:["storage.type.function-type.lisp","text","entity.name.function.lisp"],regex:"(?:\\b(?:(defun|defmethod|defmacro))\\b)(\\s+)((?:\\w|\\-|\\!|\\?)*)"},{token:["punctuation.definition.constant.character.lisp","constant.character.lisp"],regex:"(#)((?:\\w|[\\\\+-=<>'\"&#])+)"},{token:["punctuation.definition.variable.lisp","variable.other.global.lisp","punctuation.definition.variable.lisp"],regex:"(\\*)(\\S*)(\\*)"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+(?:L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?(?:L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:i,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"string",regex:'"(?=.)',next:"qqstring"}],qqstring:[{token:"constant.character.escape.lisp",regex:"\\\\."},{token:"string",regex:'[^"\\\\]+'},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"start"}]}};r.inherits(s,i),t.LispHighlightRules=s}),ace.define("ace/mode/lisp",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/lisp_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./lisp_highlight_rules").LispHighlightRules,o=function(){this.HighlightRules=s};r.inherits(o,i),function(){this.lineCommentStart=";",this.$id="ace/mode/lisp"}.call(o.prototype),t.Mode=o})

Fișier diff suprimat deoarece este prea mare
+ 0 - 0
lib/ace-min-noconflict/mode-live_script.js


Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff