-
Notifications
You must be signed in to change notification settings - Fork 23
/
Copy pathCategories.js
71 lines (67 loc) · 3.99 KB
/
Categories.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
// jshint ignore: start
var React = require('react');
var $ = require('jquery');
module.exports = React.createClass({
setCategory: function(event) {
var target = $(event.target);
var value = target.attr("data-val");
var type = target.attr("data-type");
this.props.onClick({category: value, filterType: type});
$(".categories .btn, .dropdown-toggle").removeClass("active");
target.addClass("active");
if (target.attr("data-type") === 'subset') {
target.closest(".dropdown")
.find(".dropdown-menu").toggle().end()
.find(".dropdown-toggle").addClass("active")
.find(".selected").text(event.target.textContent);
}
},
toggleDropdown: function(e) {
$(e.target).closest(".dropdown").children(".dropdown-menu").toggle();
},
render: function() {
return (
<div className="categories">
<div>
<h2>Category</h2>
<span onClick={this.setCategory} className="btn active" data-type="category" data-val="all">All</span>
<span onClick={this.setCategory} className="btn" data-type="category" data-val="sans-serif">Sans-Serif</span>
<span onClick={this.setCategory} className="btn" data-type="category" data-val="serif">Serif</span>
<span onClick={this.setCategory} className="btn" data-type="category" data-val="display">Display</span>
<span onClick={this.setCategory} className="btn" data-type="category" data-val="handwriting">Handwriting</span>
<span onClick={this.setCategory} className="btn" data-type="category" data-val="monospace">Monospace</span>
<span onClick={this.setCategory} className="btn" data-type="category" data-val="stars"><i className="fa fa-star"></i></span>
</div>
<div>
<h2>Suggestions</h2>
<span onClick={this.setCategory} className="btn" data-type="suggestion" data-val="paragraphs">Paragraphs</span>
<span onClick={this.setCategory} className="btn" data-type="suggestion" data-val="headings">Headings</span>
</div>
<div>
<h2>Subset</h2>
<span className="dropdown">
<div onClick={this.toggleDropdown} className="dropdown-toggle">
<span className="selected">Latin</span> <i className="fa fa-caret-down"></i>
</div>
<div className="dropdown-menu">
<span onClick={this.setCategory} className="btn" data-type="subset" data-val="arabic">Arabic</span>
<span onClick={this.setCategory} className="btn" data-type="subset" data-val="cyrillic">Cyrillic</span>
<span onClick={this.setCategory} className="btn" data-type="subset" data-val="cyrillic-ext">Cyrillic Extended</span>
<span onClick={this.setCategory} className="btn" data-type="subset" data-val="devanagari">Devanagari</span>
<span onClick={this.setCategory} className="btn" data-type="subset" data-val="greek">Greek</span>
<span onClick={this.setCategory} className="btn" data-type="subset" data-val="greek-ext">Greek Extended</span>
<span onClick={this.setCategory} className="btn" data-type="subset" data-val="hebrew">Hebrew</span>
<span onClick={this.setCategory} className="btn" data-type="subset" data-val="khmer">Khmer</span>
<span onClick={this.setCategory} className="btn" data-type="subset" data-val="latin">Latin</span>
<span onClick={this.setCategory} className="btn" data-type="subset" data-val="latin-ext">Latin Extended</span>
<span onClick={this.setCategory} className="btn" data-type="subset" data-val="tamil">Tamil</span>
<span onClick={this.setCategory} className="btn" data-type="subset" data-val="telugu">Telugu</span>
<span onClick={this.setCategory} className="btn" data-type="subset" data-val="thai">Thai</span>
<span onClick={this.setCategory} className="btn" data-type="subset" data-val="vietnamese">Vietnamese</span>
</div>
</span>
</div>
</div>
);
}
});