-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsocial-micoshare.js
More file actions
89 lines (80 loc) · 2.3 KB
/
Copy pathsocial-micoshare.js
File metadata and controls
89 lines (80 loc) · 2.3 KB
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
(function (factory) {
var root = process.browser? window : module.exports;
console.log(root);
factory(root);
}(function (root) {
var social_microshare = function(container_selector, services, grayscale) {
require("./styles.less");
var templates = {
twitter: require("./svgs/twitter.html"),
facebook: require("./svgs/facebook.html"),
linkedin: require("./svgs/linkedin.html"),
pinterest: require("./svgs/pinterest.html"),
reddit: require("./svgs/reddit.html")
};
var methods = {
twitter: require("./lib/twitter"),
facebook: require("./lib/facebook"),
linkedin: require("./lib/linkedin"),
pinterest: require("./lib/pinterest"),
reddit: require("./lib/reddit")
};
var share = {};
var parent = document.querySelector(container_selector);
var div = document.createElement("div");
div.className = "social_microshare";
parent.appendChild(div);
services.forEach(service => {
service = service.toLowerCase();
if (!templates[service]) {
console.log("Couldn't find icon for", service + ". Options are", Object.keys(templates).join(","));
return;
}
var el = document.createElement("div");
el.innerHTML = templates[service]();
el.className = "social_icon " + service;
if (grayscale) {
el.className += " gray";
}
div.appendChild(el);
el.onclick = function() {
if (!share[service]) {
console.log("You need to define the share options for", service);
return;
}
share[service]();
}
});
return {
twitter: function(opts) {
share.twitter = methods.twitter(opts);
},
facebook: function(opts) {
share.facebook = methods.facebook(opts);
},
linkedin: function(opts) {
share.linkedin = methods.linkedin(opts);
},
pinterest: function(opts) {
share.pinterest = methods.pinterest(opts);
},
reddit: function(opts) {
share.reddit = methods.reddit(opts);
},
all: function(opts) {
share.facebook = methods.facebook(opts);
share.linkedin = methods.linkedin(opts);
share.pinterest = methods.pinterest(opts);
share.twitter = methods.twitter(opts);
share.reddit = methods.reddit(opts);
},
share: share
};
}
console.log("browser", process.browser, root);
if (process.browser) {
root.social_microshare = social_microshare;
} else {
root = social_microshare;
}
}));