Permalink
Browse files

add some scripting

  • Loading branch information...
1 parent b7fced0 commit 18ddb7e41b615593dab7f3cf5ea38e2110d3a951 Benjamin Tambourine committed Jan 11, 2012
@@ -4,6 +4,10 @@
block: 'i-bem',
elem: 'dom',
mods: {'init': 'auto'}
+ },
+ {
+ blocks: 'i-bem',
+ elem: 'html'
}
]
})
@@ -2,8 +2,15 @@ block b-rating {
tag: 'span'
- !this.mods.style, mix: [{
- mods: { style: 'stars' }
+ !this.mods.style, !this.elem, mix: [{
+ mods: {
+ style: 'stars',
+ frac: 2
+ }
+ }]
+
+ this.ctx._frac, !this.elem, mix: [{
+ mods: { frac: this.ctx._frac }
}]
content: {
@@ -1,15 +1,63 @@
BEM.DOM.decl('b-rating', {
- onSetMod : {
- 'js' : function() {
+ _onClick : function() {
+ if (!this.params.url) return;
+ var that = this;
+
+ $.get(this.params.url, function(data) {
+ (typeof data.value == 'number') && that.setValue(data.value)
+
+ }, 'json')
+ },
+
+ setValue : function(value) {
+/*
+ var mods = this.getMods(),
+ marks = [],
+ length = parseInt(mods.length),
+ frac = parseInt(mods.frac) || 1;
+
+ for (var i = 0; i < length; i++) {
+ marks.push({
+ elem: 'mark',
+ elemMods: {
+ fill: (i >= value)
+ ? 'no'
+ : (i < Math.floor(value))
+ ? 'full'
+ : Math.round((value - Math.floor(value)) * frac)
+ }
+ })
+ }
+*/
+
+ var mods = this.getMods(),
+ marks = this.elem('mark'),
+ length = parseInt(mods.length),
+ frac = parseInt(mods.frac) || 1,
+ fill;
+
+ for (var i = 0, l = marks.length; i < l; i++) {
+ fill = (i >= value)
+ ? 'no'
+ : (i < Math.floor(value))
+ ? 'full'
+ : Math.round((value - Math.floor(value)) * frac);
+
+ this.setMod($(marks[i]), 'fill', fill)
}
+
}
}, {
live : function() {
+ this.liveBindTo('click', function(e) {
+ this._onClick(e);
+ });
+
}
});
@@ -0,0 +1 @@
+{"value":4}
@@ -34,7 +34,7 @@
{
block: 'b-text',
content: [
- 'Семьдесят пять тридцатых равно двум пятым ',
+ 'Семьдесят пять тридцатых равно двум с половиной ',
{
block: 'b-rating',
mods: {
@@ -83,6 +83,43 @@
},
'4.3'
]
+ },
+ {
+ block: 'b-text',
+ elem: 'h3',
+ content: 'Скрипты'
+ },
+ {
+ block: 'b-text',
+ content: [
+ 'Пока вы читали, рейтинг накрутился ',
+ {
+ block: 'b-rating',
+ mods: {
+ length: 5
+ },
+ value: 1,
+ js: {
+ url: '/blocks/b-rating/example/value'
+ }
+ }
+ ]
+ },
+ {
+ block: 'b-text',
+ content: [
+ 'Пока вы читали, рейтинг накрутился ',
+ {
+ block: 'b-rating',
+ mods: {
+ length: 5
+ },
+ value: 1,
+ js: {
+ url1: '/blocks/b-rating/example/value'
+ }
+ }
+ ]
}
]

0 comments on commit 18ddb7e

Please sign in to comment.