landers.angular
Version:
landers.angular
41 lines (39 loc) • 2 kB
JavaScript
;angular.module('Landers.angular')
.directive('landersRaty', ['Flat', function(Flat){
return {
restrict : 'A',
template : '<div class="raty-star center"></div><div class="raty-hint"></div>',
link : function($scope, $ele, $attrs){
var $star = $ele.find('.raty-star');
var ngmodel = $attrs['ngModel'];
var $hint = $ele.find('.raty-hint');
var config = {};
if ($attrs['ratyNumber']) config.number = ~~$attrs['ratyNumber'];
if ($attrs['ratyScore']) config.score = ~~$attrs['ratyScore'];
if ($attrs['ratyTargetType']) config.targetType = $attrs['ratyTargetType'];
if ($attrs['ratyPath']) config.path = $attrs['ratyPath'];
if ($attrs['ratySize']) config.size = ~~$attrs['ratySize'];
config = angular.extend({}, {
number: 10, // 多少个星星设置
score: 10, // 初始值是设置
targetType: 'number', //类型选择,number是数字值,hint,是设置的数组值
path : '/static/img/star/',
cancelOff : 'cancel-off-big.png',
cancelOn : 'cancel-on-big.png',
size : 24,
starHalf : 'star-half-big.png',
starOff : 'star-off-big.png',
starOn : 'star-on-big.png',
cancel : false,
targetKeep: true,
precision : false,//是否包含小数
click: function(score, evt) {
if (ngmodel) Flat.set($scope, ngmodel, score);
}
}, config);
if (ngmodel) Flat.set($scope, ngmodel, config.score);
if (config.target === true) config.target = $hint;
$star.raty(config);
}
};
}]);