forked from Chandler/noSecrets4NSA
-
Notifications
You must be signed in to change notification settings - Fork 0
/
noSecrets4NSA.js
66 lines (53 loc) · 1.56 KB
/
noSecrets4NSA.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
/**
* noSecrets4NSA.js
* a jquery plugin that hides your deepest darkest secrets from the NSA
* by jenn schiffer
*/
(function($) {
var pluginName = 'noSecrets4NSA';
var defaults = {
alertMessage : 'Click OK if you are NSA.',
nsaMessage : '<h1>No, NSA!</h1><h3>You won\'t be reading MY secrets today!',
};
var classes = {
nsaMessage : 'noSecrets4NSA-message',
secret : 'noSecrets4NSA-secret'
}
var areYouNSA = window.confirm(defaults.alertMessage);
var methods = {
init : function (opts) {
return this.each(function() {
var $this = $(this).addClass(pluginName);
var options = $.extend(defaults, opts);
var data = {
$this : $this,
alertMessage : options.alertMessage,
nsaMessage : options.nsaMessage,
secrets : $this.html(),
};
$this.data(pluginName, data);
$this.html('');
methods.manageSecrets.call($this, areYouNSA);
});
},
manageSecrets : function ( wellAreYou ) {
var $this = $(this);
var data = $this.data(pluginName);
if ( wellAreYou ) {
$this.html(data.nsaMessage).addClass(classes.nsaMessage);
}
else {
$this.html(data.secrets).addClass(classes.secret);
}
},
};
$.fn[pluginName] = function (method) {
if ( methods[method] ) {
return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
} else if (typeof method === 'object' || !method) {
return methods.init.apply(this,arguments);
} else {
$.error('Method ' + method + ' does not exist');
}
};
})( jQuery );