[update] Show difference between versions + [update] button

This commit is contained in:
brunosimon
2016-08-15 23:28:15 +02:00
parent 2a54fe708d
commit 5ac57d4c4f
10 changed files with 103 additions and 3 deletions
+4
View File
@@ -50,6 +50,10 @@ class App
// Some file
project.files.create_version( './folder-test/test-4.css', fs.readFileSync( '../test-folder/folder-1/test-4.css', 'utf8' ) )
project.files.create_version( './folder-test/depth-test/test-3.js', fs.readFileSync( '../test-folder/folder-2/test-3.js', 'utf8' ) )
project.files.create_version( './folder-test/depth-test/test-3.js', fs.readFileSync( '../test-folder/folder-2/test-3-diff-1.js', 'utf8' ) )
project.files.create_version( './folder-test/depth-test/test-3.js', fs.readFileSync( '../test-folder/folder-2/test-3-diff-2.js', 'utf8' ) )
project.files.create_version( './folder-test/depth-test/test-3.js', fs.readFileSync( '../test-folder/folder-2/test-3-diff-3.js', 'utf8' ) )
project.files.create_version( './folder-test/depth-test/test-3.js', fs.readFileSync( '../test-folder/folder-2/test-3-diff-4.js', 'utf8' ) )
project.files.create_version( './folder-test/test-1.html', fs.readFileSync( '../test-folder/test-1.html', 'utf8' ) )
project.files.create_version( './folder-test/test-2.php', fs.readFileSync( '../test-folder/test-2.php', 'utf8' ) )
project.files.create_version( './folder-test/big-one.txt', 'content 4\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline\nline' )
+11 -1
View File
@@ -37,7 +37,17 @@ class File
version.date = new Date()
version.content = content
version.diff = last_version ? diff.diffChars( last_version.content, version.content ) : false
if( !last_version )
version.diff = false
else
version.diff = diff.diffLines(
last_version.content,
version.content,
{
// ignoreWhitespace: true
}
)
// Emit
this.socket.emit( 'create_version', { file: this.path.full, version: version } )
@@ -29,6 +29,18 @@ application.controller(
$scope.always_last_version = !$scope.always_last_version;
};
$scope.mark_all_as_read = function()
{
// Each file
for( var _file_key in project.files )
{
var _file = project.files[ _file_key ];
_file.notif = 0
_file.new = false
}
};
$scope.folder_click = function( folder )
{
// console.log('folder click');
+1 -1
View File
@@ -117,7 +117,7 @@ application.factory(
// Connect event
socket.on( 'connect', function()
{
console.log('connected');
} );
socket.on( 'create_file', function( data )
+6 -1
View File
@@ -3,6 +3,7 @@
*/
body {background:#24262e;font-size:14px;font-family:Helvetica,Arial;color:#f1f5ff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
a {text-decoration:none;}
* {padding:0;margin:0;box-sizing:border-box;}
/**
* Main header
@@ -44,7 +45,11 @@ section.page-project section.file .code pre {position:relative;overflow:hidden;}
section.page-project section.file .code pre code {line-height:20px;font-family:monospace;}
section.page-project section.file .code pre code.lines {position:absolute;top:0;left:0;width:38px;padding:0.5em;opacity:0.2;}
section.page-project section.file .code pre code.hljs {margin-left:38px;}
// section.page-project section.file .code pre code {position:absolute;top:0;left:20px;}
section.page-project section.file .code pre code.differences {position:absolute;top:0;left:38px;padding:0.5em;}
section.page-project section.file .code pre code.differences .value {opacity:0.4;}
section.page-project section.file .code pre code.differences span.removed {display:none;border:1px solid red;}
section.page-project section.file .code pre code.differences span.removed .value {display:none;}
section.page-project section.file .code pre code.differences span.added {border:1px solid #b0ea23;background:rgba(176, 234, 35, 0.1);}
.hljs-line-numbers {text-align:right;border-right:1px solid #ccc;color:#999;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}
+6
View File
@@ -25,6 +25,8 @@ section.page-project(ng-controller="ProjectController as controller",ng-init="in
div.always-last-version-toggle(ng-click="always_last_version_toggle_click()",ng-class="always_last_version ? 'active' : 'inactive'")
.switch
| always last version
div.mark-all-as-read(ng-click="mark_all_as_read()")
| Mark all as read
.aside-tree
nav.files-tree-nav
ul
@@ -54,6 +56,10 @@ section.page-project(ng-controller="ProjectController as controller",ng-init="in
.line= line_index++
code(hljs,hljs-source="version.content")
| {{ version.content }}
code.differences(ng-if="version.diff")
span(ng-repeat="_difference in version.diff",ng-class="{removed: _difference.removed, added: _difference.added}")
span.value
| {{ _difference.value }}
include ../../partials/footer.jade