233 lines
7.6 KiB
JavaScript
233 lines
7.6 KiB
JavaScript
function date(date, settings) {
|
|
if (!date) return '';
|
|
var day = date.getDate();
|
|
if (day <= 9) {
|
|
day = '0' + day;
|
|
}
|
|
var month = date.getMonth() + 1;
|
|
if (month <= 9) {
|
|
month = '0' + month;
|
|
}
|
|
var year = date.getFullYear();
|
|
return year + '-' + month + '-' + day;
|
|
};
|
|
|
|
Date.prototype.format = function(fmt) { //author: meizz
|
|
var o = {
|
|
"M+": this.getMonth() + 1, //月份
|
|
"d+": this.getDate(), //日
|
|
"h+": this.getHours(), //小时
|
|
"m+": this.getMinutes(), //分
|
|
"s+": this.getSeconds(), //秒
|
|
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
|
|
"S": this.getMilliseconds() //毫秒
|
|
};
|
|
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
|
|
for (var k in o)
|
|
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
|
|
return fmt;
|
|
}
|
|
|
|
app.directive('jsDataCreateInit', function($compile) {
|
|
return {
|
|
restrict: 'A',
|
|
link: function($scope, $element, $attrs) {
|
|
$('.ui.calendar.js-date-create-begin').calendar({
|
|
type: 'date',
|
|
formatter: {
|
|
date: date
|
|
},
|
|
onChange: function(date, text) {
|
|
console.log($scope.username);
|
|
$('.ui.calendar.js-date-create-begin :input').val(text).trigger("change");
|
|
},
|
|
endCalendar: $('.ui.calendar.js-date-create-end')
|
|
});
|
|
|
|
$('.ui.calendar.js-date-create-end').calendar({
|
|
type: 'date',
|
|
formatter: {
|
|
date: date
|
|
},
|
|
onChange: function(date, text) {
|
|
$('.ui.calendar.js-date-create-end :input').val(text).trigger("change");
|
|
},
|
|
startCalendar: $('.ui.calendar.js-date-create-begin')
|
|
});
|
|
|
|
$('.js-create-date').dropdown('set value', -1);
|
|
},
|
|
};
|
|
});
|
|
|
|
app.directive('jsDataClickInit', function($compile) {
|
|
return {
|
|
restrict: 'A',
|
|
link: function($scope, $element, $attrs) {
|
|
$('.ui.calendar.js-date-click-begin').calendar({
|
|
type: 'date',
|
|
formatter: {
|
|
date: date
|
|
},
|
|
onChange: function(date, text) {
|
|
$('.ui.calendar.js-date-click-begin :input').val(text).trigger("change");
|
|
},
|
|
endCalendar: $('.ui.calendar.js-date-click-end')
|
|
});
|
|
$('.ui.calendar.js-date-click-end').calendar({
|
|
type: 'date',
|
|
formatter: {
|
|
date: date
|
|
},
|
|
onChange: function(date, text) {
|
|
$('.ui.calendar.js-date-click-end :input').val(text).trigger("change");
|
|
},
|
|
startCalendar: $('.ui.calendar.js-date-click-begin')
|
|
});
|
|
$('.js-click-date').dropdown('set value', -1);
|
|
},
|
|
};
|
|
});
|
|
|
|
app.directive('jsDropdownUserRangeInit', function($compile, $timeout) {
|
|
return {
|
|
restrict: 'A',
|
|
link: function($scope, $element, $attrs) {
|
|
$('.ui.dropdown.js-user-range').dropdown({
|
|
onChange: function(value, text, $choice) {
|
|
$timeout(function() {
|
|
$scope.showTags = (value == '1');
|
|
$scope.searchHotBookmarks = (value == '3');
|
|
$scope.bookmarks = [];
|
|
$scope.totalPages = 0
|
|
})
|
|
},
|
|
});
|
|
$('.js-user-range').dropdown('set value', '1');
|
|
},
|
|
};
|
|
});
|
|
|
|
app.directive('jsDropdownTagsInit', function($compile) {
|
|
return {
|
|
restrict: 'A',
|
|
link: function($scope, $element, $attrs) {
|
|
$('.ui.dropdown.js-search-tags').dropdown({
|
|
useLabels: false
|
|
});
|
|
|
|
$('.ui.dropdown.js-search-tags .text').removeClass('default');
|
|
},
|
|
};
|
|
});
|
|
|
|
app.directive('jsEditTagsInit', function($compile) {
|
|
return {
|
|
restrict: 'A',
|
|
link: function($scope, $element, $attrs) {
|
|
if ($scope.$last === true) {
|
|
console.log('jsEditTagsInit.....................')
|
|
$('.ui.modal.js-add-bookmark .ui.dropdown').removeClass('loading');
|
|
$('.ui.dropdown.js-tags').dropdown({
|
|
forceSelection: false,
|
|
maxSelections: 3,
|
|
action: 'combo',
|
|
onChange: function(value, text, $choice) {
|
|
var selectedTags = $('.ui.modal.js-add-bookmark .ui.dropdown').dropdown('get value');
|
|
$timeout(function() {
|
|
$scope.tagsError = (selectedTags.length == 0 || selectedTags.length > 3) && ($('.ui.modal.js-add-bookmark').modal('is active'));
|
|
});
|
|
}
|
|
});
|
|
}
|
|
},
|
|
};
|
|
});
|
|
|
|
app.directive('jsMenuInit', function($compile) {
|
|
return {
|
|
restrict: 'A',
|
|
link: function($scope, $element, $attrs) {
|
|
if ($scope.$last === true) {
|
|
console.log('jsMenuInit......')
|
|
$('.js-bookmark-dropdown').dropdown({
|
|
action: 'hide',
|
|
on: 'hover',
|
|
});
|
|
|
|
$('.js-bookmark-dropdown .ui.checkbox').checkbox();
|
|
$('.ui.checkbox.js-radio-navigate').checkbox('check');
|
|
$('.ui.menu a.item').on('click', function() {
|
|
$(this).addClass('selected').siblings().removeClass('selected');
|
|
});
|
|
|
|
$(".ui.menu a.item:first").hover(
|
|
function() {
|
|
$('.js-bookmark-dropdown').dropdown('show');
|
|
},
|
|
function() {
|
|
setTimeout(() => {
|
|
if ($('.js-menu-option:hover').length === 0) {
|
|
$('.js-bookmark-dropdown').dropdown('hide');
|
|
}
|
|
}, 100)
|
|
}
|
|
);
|
|
|
|
$('.ui.menu a.item').on('click', function() {
|
|
$(this).addClass('selected').siblings().removeClass('selected');
|
|
});
|
|
}
|
|
},
|
|
};
|
|
});
|
|
|
|
app.directive('jsSearchOptionInit', function($compile) {
|
|
return {
|
|
restrict: 'A',
|
|
link: function($scope, $element, $attrs) {
|
|
console.log('jsSearchOptionInit......')
|
|
$('.js-search-option').dropdown({
|
|
// on: 'hover',
|
|
});
|
|
},
|
|
};
|
|
});
|
|
|
|
app.directive('errSrc', function() {
|
|
return {
|
|
link: function(scope, element, attrs) {
|
|
element.bind('error', function() {
|
|
if (attrs.src != attrs.errSrc) {
|
|
attrs.$set('src', attrs.errSrc);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
});
|
|
|
|
app.directive('faviconErr', function() {
|
|
return {
|
|
link: function(scope, element, attrs) {
|
|
element.bind('error', function() {
|
|
if (attrs.src != attrs.faviconErr) {
|
|
attrs.$set('src', attrs.faviconErr);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
});
|
|
|
|
app.filter('searchType', function() {
|
|
return function(type) {
|
|
var types = {};
|
|
types[0] = '书签';
|
|
types[1] = '谷歌';
|
|
types[2] = 'Github';
|
|
types[3] = '栈溢出';
|
|
types[4] = '百度';
|
|
|
|
return types[type];
|
|
}
|
|
});
|