forked from mirrors/Scribe.js
commit
c144c1ffb7
11 changed files with 125 additions and 20 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -7,4 +7,4 @@ logs*/
|
|||
|
||||
Thumbs.db
|
||||
|
||||
npm-debug.log
|
||||
npm-debug.logGruntfile.js
|
||||
|
|
44
Gruntfile.js
Normal file
44
Gruntfile.js
Normal file
|
@ -0,0 +1,44 @@
|
|||
'use strict';
|
||||
|
||||
module.exports = function(grunt) {
|
||||
|
||||
// Project configuration.
|
||||
grunt.initConfig({
|
||||
jshint: {
|
||||
options: {
|
||||
jshintrc: '.jshintrc'
|
||||
},
|
||||
gruntfile: {
|
||||
src: ['scribe.js', 'Gruntfile.js']
|
||||
},
|
||||
lib: {
|
||||
src: ['lib/**/*.js', 'examples/**/*.js', 'static/js/**/*.js']
|
||||
},
|
||||
test: {
|
||||
src: ['test/**/*.js']
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
gruntfile: {
|
||||
files: '<%= jshint.gruntfile.src %>',
|
||||
tasks: ['jshint:gruntfile']
|
||||
},
|
||||
lib: {
|
||||
files: '<%= jshint.lib.src %>',
|
||||
tasks: ['jshint:lib']
|
||||
},
|
||||
test: {
|
||||
files: '<%= jshint.test.src %>',
|
||||
tasks: ['jshint:test']
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
// These plugins provide necessary tasks.
|
||||
grunt.loadNpmTasks('grunt-contrib-jshint');
|
||||
grunt.loadNpmTasks('grunt-contrib-watch');
|
||||
|
||||
// Default task.
|
||||
grunt.registerTask('default', ['jshint']);
|
||||
|
||||
};
|
|
@ -236,6 +236,20 @@
|
|||
}
|
||||
});
|
||||
|
||||
|
||||
/**
|
||||
* /api/timezone
|
||||
*
|
||||
* Send the server timezone offset
|
||||
*/
|
||||
webPanel.get('/api/timezoneOffset', function (req, res) {
|
||||
|
||||
res.status(200).json({
|
||||
timezoneOffset : (new Date()).getTimezoneOffset()
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
return webPanel;
|
||||
|
||||
};
|
||||
|
|
|
@ -204,6 +204,43 @@
|
|||
});
|
||||
});
|
||||
|
||||
/**
|
||||
* $rootScope.scribeTimezone
|
||||
*
|
||||
* Store the Scribe server timezoneOffset for showing good dates
|
||||
*
|
||||
* @type {Int}
|
||||
*/
|
||||
$rootScope.scribeTimezone = 0;
|
||||
|
||||
ScribeAPI.timezoneOffset(function (result) {
|
||||
$rootScope.scribeTimezone = result.timezoneOffset;
|
||||
});
|
||||
|
||||
/**
|
||||
* timezoneDate
|
||||
*
|
||||
* Add/remove minutes to the timestamp according to
|
||||
* the timezone offset between server and browser time
|
||||
* Because angular date filter print date with the browser timezone
|
||||
*
|
||||
* @param {Int|String} timestamp
|
||||
* @return {Int} the new timestamp
|
||||
*
|
||||
* @type {Function}
|
||||
*/
|
||||
$rootScope.timezoneDate = function (timestamp) {
|
||||
|
||||
timestamp = Number(timestamp);
|
||||
|
||||
var serverOffset = $rootScope.scribeTimezone;
|
||||
var localOffset = (new Date()).getTimezoneOffset();
|
||||
|
||||
var offset = serverOffset - localOffset;
|
||||
|
||||
return timestamp + offset * 60;
|
||||
};
|
||||
|
||||
/**
|
||||
* $rootScope.back
|
||||
*
|
||||
|
|
|
@ -43,11 +43,15 @@
|
|||
//build blocks
|
||||
$scope.blocks = dates.map(function (item) {
|
||||
|
||||
var itemDate = $rootScope.timezoneDate(item.date);
|
||||
console.log(item.date);
|
||||
console.log(itemDate);
|
||||
|
||||
return {
|
||||
type : 'date',
|
||||
messageTop : $filter('date')(item.date, 'MMM'),
|
||||
message : $filter('date')(item.date, 'd'),
|
||||
messageBottom : $filter('date')(item.date, 'yyyy'),
|
||||
messageTop : $filter('date')(itemDate, 'MMM'),
|
||||
message : $filter('date')(itemDate, 'd'),
|
||||
messageBottom : $filter('date')(itemDate, 'yyyy'),
|
||||
click : function () {
|
||||
//save files
|
||||
logs.setLogs(item.files.map(function (el, index) {
|
||||
|
|
|
@ -69,7 +69,9 @@
|
|||
templateUrl : 'partials/elements/log.html',
|
||||
replace : true,
|
||||
|
||||
controller : ['$scope', function ($scope) {
|
||||
controller : ['$rootScope', '$scope', function ($rootScope, $scope) {
|
||||
|
||||
$scope.timezoneDate = $rootScope.timezoneDate;
|
||||
|
||||
/**
|
||||
* $scope.handleTags
|
||||
|
|
|
@ -46,6 +46,10 @@
|
|||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
timezoneOffset : {
|
||||
methof : 'GET',
|
||||
url : 'api/timezoneOffset'
|
||||
}
|
||||
}
|
||||
);
|
||||
|
|
|
@ -13,13 +13,13 @@
|
|||
|
||||
<span class="log__item log__time log__time_80" ng-if="showDate != 0 && (showDate == 1 || log.show.date)">
|
||||
<span class="log__time__higher">
|
||||
{{log.context.time | date: 'EEE MMM dd yyyy'}}
|
||||
{{timezoneDate(log.context.time) | date: 'EEE MMM dd yyyy'}}
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<span class="log__item log__time log__time_122" ng-if="showTime != 0 && (showTime == 1 || log.show.time)">
|
||||
<span class="log__time__lower">
|
||||
{{log.context.time | date: 'yyyy-MM-ddTHH:mm:ss:Z'}}
|
||||
{{timezoneDate(log.context.time) | date: 'yyyy-MM-ddTHH:mm:ss:Z'}}
|
||||
</span>
|
||||
</span>
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue