mirror of
https://github.com/Athou/commafeed.git
synced 2026-03-21 21:37:29 +00:00
format date differently if date is today
This commit is contained in:
@@ -92,6 +92,7 @@ public abstract class BasePage extends WebPage {
|
|||||||
response.render(JavaScriptHeaderItem.forUrl("js/main.js"));
|
response.render(JavaScriptHeaderItem.forUrl("js/main.js"));
|
||||||
response.render(JavaScriptHeaderItem.forUrl("js/controllers.js"));
|
response.render(JavaScriptHeaderItem.forUrl("js/controllers.js"));
|
||||||
response.render(JavaScriptHeaderItem.forUrl("js/directives.js"));
|
response.render(JavaScriptHeaderItem.forUrl("js/directives.js"));
|
||||||
|
response.render(JavaScriptHeaderItem.forUrl("js/filters.js"));
|
||||||
response.render(JavaScriptHeaderItem.forUrl("js/services.js"));
|
response.render(JavaScriptHeaderItem.forUrl("js/services.js"));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
<js minimize="false">/vendor/nginfinitescroll/*.js</js>
|
<js minimize="false">/vendor/nginfinitescroll/*.js</js>
|
||||||
<js minimize="false">/vendor/ngupload/*.js</js>
|
<js minimize="false">/vendor/ngupload/*.js</js>
|
||||||
<js minimize="false">/vendor/spinjs/*.js</js>
|
<js minimize="false">/vendor/spinjs/*.js</js>
|
||||||
|
<js minimize="false">/vendor/momentjs/*.js</js>
|
||||||
|
|
||||||
<css minimize="false">/vendor/bootstrap/*.css</css>
|
<css minimize="false">/vendor/bootstrap/*.css</css>
|
||||||
<css minimize="false">/vendor/angularui/*.css</css>
|
<css minimize="false">/vendor/angularui/*.css</css>
|
||||||
|
|||||||
@@ -258,17 +258,17 @@ module.controller('CategoryDetailsCtrl', ['$scope', '$state', '$stateParams', 'F
|
|||||||
return parseInt($stateParams._id, 10) != $stateParams._id;
|
return parseInt($stateParams._id, 10) != $stateParams._id;
|
||||||
};
|
};
|
||||||
|
|
||||||
$scope.filterCurrent = function(elem) {
|
$scope.filterCurrent = function(elem) {
|
||||||
if (!$scope.category)
|
if (!$scope.category)
|
||||||
return true;
|
return true;
|
||||||
return elem.id != $scope.category.id;
|
return elem.id != $scope.category.id;
|
||||||
};
|
};
|
||||||
|
|
||||||
CategoryService.get(function() {
|
CategoryService.get(function() {
|
||||||
if ($scope.isMeta()) {
|
if ($scope.isMeta()) {
|
||||||
$scope.category = {
|
$scope.category = {
|
||||||
id : $stateParams._id,
|
id : $stateParams._id,
|
||||||
name : $stateParams._id,
|
name : $stateParams._id
|
||||||
};
|
};
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
15
src/main/webapp/js/filters.js
Normal file
15
src/main/webapp/js/filters.js
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
var module = angular.module('commafeed.filters', []);
|
||||||
|
|
||||||
|
module.filter('entryDate', function() {
|
||||||
|
return function(timestamp) {
|
||||||
|
var d = moment(timestamp);
|
||||||
|
var now = moment();
|
||||||
|
var formatted;
|
||||||
|
if (d.date() === now.date() && Math.abs(d.diff(now)) < 86400000) {
|
||||||
|
formatted = d.fromNow();
|
||||||
|
} else {
|
||||||
|
formatted = d.format('YYYY-MM-DD HH:mm');
|
||||||
|
}
|
||||||
|
return formatted;
|
||||||
|
};
|
||||||
|
});
|
||||||
@@ -1,84 +1,85 @@
|
|||||||
var app = angular.module('commafeed', [ 'ui', 'ui.bootstrap', 'ui.state',
|
var app = angular.module('commafeed', [ 'ui', 'ui.bootstrap', 'ui.state',
|
||||||
'commafeed.directives', 'commafeed.controllers', 'commafeed.services',
|
'commafeed.directives', 'commafeed.controllers', 'commafeed.services',
|
||||||
'ngSanitize', 'ngUpload', 'infinite-scroll', 'ngGrid' ]);
|
'commafeed.filters', 'ngSanitize', 'ngUpload', 'infinite-scroll',
|
||||||
|
'ngGrid' ]);
|
||||||
|
|
||||||
app.config(['$routeProvider', '$stateProvider', '$urlRouterProvider',
|
app.config([ '$routeProvider', '$stateProvider', '$urlRouterProvider',
|
||||||
function($routeProvider, $stateProvider, $urlRouterProvider) {
|
function($routeProvider, $stateProvider, $urlRouterProvider) {
|
||||||
var trackCtrl = ['AnalyticsService', function(AnalyticsService) {
|
var trackCtrl = [ 'AnalyticsService', function(AnalyticsService) {
|
||||||
AnalyticsService.track();
|
AnalyticsService.track();
|
||||||
}];
|
} ];
|
||||||
|
|
||||||
$stateProvider.state('feeds', {
|
|
||||||
'abstract' : true,
|
|
||||||
url : '/feeds',
|
|
||||||
templateUrl : 'templates/feeds.html'
|
|
||||||
});
|
|
||||||
$stateProvider.state('feeds.view', {
|
|
||||||
url : '/view/:_type/:_id',
|
|
||||||
templateUrl : 'templates/feeds.view.html',
|
|
||||||
controller : 'FeedListCtrl'
|
|
||||||
});
|
|
||||||
$stateProvider.state('feeds.search', {
|
|
||||||
url : '/search/:_keywords',
|
|
||||||
templateUrl : 'templates/feeds.view.html',
|
|
||||||
controller : 'FeedListCtrl'
|
|
||||||
});
|
|
||||||
$stateProvider.state('feeds.feed_details', {
|
|
||||||
url : '/details/feed/:_id',
|
|
||||||
templateUrl : 'templates/feeds.feed_details.html',
|
|
||||||
controller : 'FeedDetailsCtrl'
|
|
||||||
});
|
|
||||||
$stateProvider.state('feeds.category_details', {
|
|
||||||
url : '/details/category/:_id',
|
|
||||||
templateUrl : 'templates/feeds.category_details.html',
|
|
||||||
controller : 'CategoryDetailsCtrl'
|
|
||||||
});
|
|
||||||
$stateProvider.state('feeds.help', {
|
|
||||||
url : '/help',
|
|
||||||
templateUrl : 'templates/feeds.help.html',
|
|
||||||
controller: trackCtrl
|
|
||||||
});
|
|
||||||
|
|
||||||
$stateProvider.state('admin', {
|
$stateProvider.state('feeds', {
|
||||||
'abstract' : true,
|
'abstract' : true,
|
||||||
url : '/admin',
|
url : '/feeds',
|
||||||
templateUrl : 'templates/admin.html'
|
templateUrl : 'templates/feeds.html'
|
||||||
});
|
});
|
||||||
$stateProvider.state('admin.userlist', {
|
$stateProvider.state('feeds.view', {
|
||||||
url : '/user/list',
|
url : '/view/:_type/:_id',
|
||||||
templateUrl : 'templates/admin.userlist.html',
|
templateUrl : 'templates/feeds.view.html',
|
||||||
controller : 'ManageUsersCtrl'
|
controller : 'FeedListCtrl'
|
||||||
});
|
});
|
||||||
$stateProvider.state('admin.useradd', {
|
$stateProvider.state('feeds.search', {
|
||||||
url : '/user/add',
|
url : '/search/:_keywords',
|
||||||
templateUrl : 'templates/admin.useradd.html',
|
templateUrl : 'templates/feeds.view.html',
|
||||||
controller : 'ManageUserCtrl'
|
controller : 'FeedListCtrl'
|
||||||
});
|
});
|
||||||
$stateProvider.state('admin.useredit', {
|
$stateProvider.state('feeds.feed_details', {
|
||||||
url : '/user/edit/:_id',
|
url : '/details/feed/:_id',
|
||||||
templateUrl : 'templates/admin.useredit.html',
|
templateUrl : 'templates/feeds.feed_details.html',
|
||||||
controller : 'ManageUserCtrl'
|
controller : 'FeedDetailsCtrl'
|
||||||
});
|
});
|
||||||
$stateProvider.state('admin.settings', {
|
$stateProvider.state('feeds.category_details', {
|
||||||
url : '/settings',
|
url : '/details/category/:_id',
|
||||||
templateUrl : 'templates/admin.settings.html',
|
templateUrl : 'templates/feeds.category_details.html',
|
||||||
controller : 'ManageSettingsCtrl'
|
controller : 'CategoryDetailsCtrl'
|
||||||
});
|
});
|
||||||
|
$stateProvider.state('feeds.help', {
|
||||||
|
url : '/help',
|
||||||
|
templateUrl : 'templates/feeds.help.html',
|
||||||
|
controller : trackCtrl
|
||||||
|
});
|
||||||
|
|
||||||
$stateProvider.state('settings', {
|
$stateProvider.state('admin', {
|
||||||
url : '/settings',
|
'abstract' : true,
|
||||||
templateUrl : 'templates/settings.html',
|
url : '/admin',
|
||||||
controller : 'SettingsCtrl'
|
templateUrl : 'templates/admin.html'
|
||||||
});
|
});
|
||||||
|
$stateProvider.state('admin.userlist', {
|
||||||
|
url : '/user/list',
|
||||||
|
templateUrl : 'templates/admin.userlist.html',
|
||||||
|
controller : 'ManageUsersCtrl'
|
||||||
|
});
|
||||||
|
$stateProvider.state('admin.useradd', {
|
||||||
|
url : '/user/add',
|
||||||
|
templateUrl : 'templates/admin.useradd.html',
|
||||||
|
controller : 'ManageUserCtrl'
|
||||||
|
});
|
||||||
|
$stateProvider.state('admin.useredit', {
|
||||||
|
url : '/user/edit/:_id',
|
||||||
|
templateUrl : 'templates/admin.useredit.html',
|
||||||
|
controller : 'ManageUserCtrl'
|
||||||
|
});
|
||||||
|
$stateProvider.state('admin.settings', {
|
||||||
|
url : '/settings',
|
||||||
|
templateUrl : 'templates/admin.settings.html',
|
||||||
|
controller : 'ManageSettingsCtrl'
|
||||||
|
});
|
||||||
|
|
||||||
$stateProvider.state('profile', {
|
$stateProvider.state('settings', {
|
||||||
url : '/profile',
|
url : '/settings',
|
||||||
templateUrl : 'templates/profile.html',
|
templateUrl : 'templates/settings.html',
|
||||||
controller : 'ProfileCtrl'
|
controller : 'SettingsCtrl'
|
||||||
});
|
});
|
||||||
|
|
||||||
$urlRouterProvider.when('/', '/feeds/view/category/all');
|
$stateProvider.state('profile', {
|
||||||
$urlRouterProvider.when('/admin', '/admin/settings');
|
url : '/profile',
|
||||||
$urlRouterProvider.otherwise('/');
|
templateUrl : 'templates/profile.html',
|
||||||
|
controller : 'ProfileCtrl'
|
||||||
|
});
|
||||||
|
|
||||||
}]);
|
$urlRouterProvider.when('/', '/feeds/view/category/all');
|
||||||
|
$urlRouterProvider.when('/admin', '/admin/settings');
|
||||||
|
$urlRouterProvider.otherwise('/');
|
||||||
|
|
||||||
|
} ]);
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
<favicon url="entry.feedLink" />
|
<favicon url="entry.feedLink" />
|
||||||
{{entry.feedName}}
|
{{entry.feedName}}
|
||||||
</span>
|
</span>
|
||||||
<span class="entry-date">{{entry.date | date: 'yyyy-MM-dd HH:mm'}}</span>
|
<span class="entry-date">{{entry.date | entryDate}}</span>
|
||||||
<span class="entry-name" ng-class="{unread: entry.read == false, shrink: true}" ng-bind-html-unsafe="entry.title"></span>
|
<span class="entry-name" ng-class="{unread: entry.read == false, shrink: true}" ng-bind-html-unsafe="entry.title"></span>
|
||||||
|
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
6
src/main/webapp/vendor/momentjs/moment-2.0.0.min.js
vendored
Normal file
6
src/main/webapp/vendor/momentjs/moment-2.0.0.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user