typedjs-rails 1.0.2 → 1.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.md +3 -1
- data/app/assets/javascripts/typed.js +68 -11
- data/lib/typedjs/version.rb +1 -1
- data/typedjs-rails.gemspec +1 -1
- metadata +59 -82
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 1d3a0d8f97114c6c9153690899a4371ba603048d
|
4
|
+
data.tar.gz: 5468528a770860eaee5608a9623f1b0f6e533882
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 085186bd07a291006b365b14746f7fe55ca5854ab9daabf52ef5d3e8e66039845d18d7f3ee63eecd70cf9267da1f0a8dd26c31e38db3a0e3d69f08d3dff334a1
|
7
|
+
data.tar.gz: 33bf3971a5602de5bffd5611d117fc1a4f71559fff64ccbee3b0b98af4e8d0b681be2509e490000e4c5e272bbba3360cf221c0133ae24a88347012bb586423ac
|
data/README.md
CHANGED
@@ -1,11 +1,13 @@
|
|
1
1
|
# typedjs-rails
|
2
2
|
This gem just includes [Typed.js](https://github.com/mattboldt/typed.js) as an asset in the Rails 3.1 (or newer) asset pipeline.
|
3
3
|
|
4
|
+
The current version in the gem is Typed.js 1.1.1
|
5
|
+
|
4
6
|
## Installation
|
5
7
|
|
6
8
|
Add the gem to the Gemfile
|
7
9
|
|
8
|
-
gem "typedjs-rails", "~> 1.0.
|
10
|
+
gem "typedjs-rails", "~> 1.0.3"
|
9
11
|
|
10
12
|
## Usage
|
11
13
|
|
@@ -60,6 +60,9 @@
|
|
60
60
|
// amount of time to wait before backspacing
|
61
61
|
this.backDelay = this.options.backDelay;
|
62
62
|
|
63
|
+
// div containing strings
|
64
|
+
this.stringsElement = this.options.stringsElement;
|
65
|
+
|
63
66
|
// input strings of text
|
64
67
|
this.strings = this.options.strings;
|
65
68
|
|
@@ -85,6 +88,11 @@
|
|
85
88
|
// custom cursor
|
86
89
|
this.cursorChar = this.options.cursorChar;
|
87
90
|
|
91
|
+
// shuffle the strings
|
92
|
+
this.shuffle = this.options.shuffle;
|
93
|
+
// the order of strings
|
94
|
+
this.sequence = [];
|
95
|
+
|
88
96
|
// All systems go!
|
89
97
|
this.build();
|
90
98
|
};
|
@@ -95,22 +103,36 @@
|
|
95
103
|
|
96
104
|
,
|
97
105
|
init: function() {
|
98
|
-
// begin the loop w/ first current string (global self.
|
106
|
+
// begin the loop w/ first current string (global self.strings)
|
99
107
|
// current string will be passed as an argument each time after this
|
100
108
|
var self = this;
|
101
109
|
self.timeout = setTimeout(function() {
|
110
|
+
for (var i=0;i<self.strings.length;++i) self.sequence[i]=i;
|
111
|
+
|
112
|
+
// shuffle the array if true
|
113
|
+
if(self.shuffle) self.sequence = self.shuffleArray(self.sequence);
|
114
|
+
|
102
115
|
// Start typing
|
103
|
-
self.typewrite(self.strings[self.arrayPos], self.strPos);
|
116
|
+
self.typewrite(self.strings[self.sequence[self.arrayPos]], self.strPos);
|
104
117
|
}, self.startDelay);
|
105
118
|
}
|
106
119
|
|
107
120
|
,
|
108
121
|
build: function() {
|
122
|
+
var self = this;
|
109
123
|
// Insert cursor
|
110
124
|
if (this.showCursor === true) {
|
111
125
|
this.cursor = $("<span class=\"typed-cursor\">" + this.cursorChar + "</span>");
|
112
126
|
this.el.after(this.cursor);
|
113
127
|
}
|
128
|
+
if (this.stringsElement) {
|
129
|
+
self.strings = [];
|
130
|
+
this.stringsElement.hide();
|
131
|
+
var strings = this.stringsElement.find('p');
|
132
|
+
$.each(strings, function(key, value){
|
133
|
+
self.strings.push($(value).html());
|
134
|
+
});
|
135
|
+
}
|
114
136
|
this.init();
|
115
137
|
}
|
116
138
|
|
@@ -156,14 +178,21 @@
|
|
156
178
|
|
157
179
|
if (self.contentType === 'html') {
|
158
180
|
// skip over html tags while typing
|
159
|
-
|
181
|
+
var curChar = curString.substr(curStrPos).charAt(0)
|
182
|
+
if (curChar === '<' || curChar === '&') {
|
160
183
|
var tag = '';
|
161
|
-
|
184
|
+
var endTag = '';
|
185
|
+
if (curChar === '<') {
|
186
|
+
endTag = '>'
|
187
|
+
} else {
|
188
|
+
endTag = ';'
|
189
|
+
}
|
190
|
+
while (curString.substr(curStrPos).charAt(0) !== endTag) {
|
162
191
|
tag += curString.substr(curStrPos).charAt(0);
|
163
192
|
curStrPos++;
|
164
193
|
}
|
165
194
|
curStrPos++;
|
166
|
-
tag +=
|
195
|
+
tag += endTag;
|
167
196
|
}
|
168
197
|
}
|
169
198
|
|
@@ -196,11 +225,13 @@
|
|
196
225
|
|
197
226
|
// start typing each new char into existing string
|
198
227
|
// curString: arg, self.el.html: original text inside element
|
199
|
-
var nextString =
|
228
|
+
var nextString = curString.substr(0, curStrPos + 1);
|
200
229
|
if (self.attr) {
|
201
230
|
self.el.attr(self.attr, nextString);
|
202
231
|
} else {
|
203
|
-
if (self.
|
232
|
+
if (self.isInput) {
|
233
|
+
self.el.val(nextString);
|
234
|
+
} else if (self.contentType === 'html') {
|
204
235
|
self.el.html(nextString);
|
205
236
|
} else {
|
206
237
|
self.el.text(nextString);
|
@@ -262,11 +293,13 @@
|
|
262
293
|
|
263
294
|
// ----- continue important stuff ----- //
|
264
295
|
// replace text with base text + typed characters
|
265
|
-
var nextString =
|
296
|
+
var nextString = curString.substr(0, curStrPos);
|
266
297
|
if (self.attr) {
|
267
298
|
self.el.attr(self.attr, nextString);
|
268
299
|
} else {
|
269
|
-
if (self.
|
300
|
+
if (self.isInput) {
|
301
|
+
self.el.val(nextString);
|
302
|
+
} else if (self.contentType === 'html') {
|
270
303
|
self.el.html(nextString);
|
271
304
|
} else {
|
272
305
|
self.el.text(nextString);
|
@@ -288,15 +321,34 @@
|
|
288
321
|
|
289
322
|
if (self.arrayPos === self.strings.length) {
|
290
323
|
self.arrayPos = 0;
|
324
|
+
|
325
|
+
// Shuffle sequence again
|
326
|
+
if(self.shuffle) self.sequence = self.shuffleArray(self.sequence);
|
327
|
+
|
291
328
|
self.init();
|
292
329
|
} else
|
293
|
-
self.typewrite(self.strings[self.arrayPos], curStrPos);
|
330
|
+
self.typewrite(self.strings[self.sequence[self.arrayPos]], curStrPos);
|
294
331
|
}
|
295
332
|
|
296
333
|
// humanized value for typing
|
297
334
|
}, humanize);
|
298
335
|
|
299
336
|
}
|
337
|
+
/**
|
338
|
+
* Shuffles the numbers in the given array.
|
339
|
+
* @param {Array} array
|
340
|
+
* @returns {Array}
|
341
|
+
*/
|
342
|
+
,shuffleArray: function(array) {
|
343
|
+
var tmp, current, top = array.length;
|
344
|
+
if(top) while(--top) {
|
345
|
+
current = Math.floor(Math.random() * (top + 1));
|
346
|
+
tmp = array[current];
|
347
|
+
array[current] = array[top];
|
348
|
+
array[top] = tmp;
|
349
|
+
}
|
350
|
+
return array;
|
351
|
+
}
|
300
352
|
|
301
353
|
// Start & Stop currently not working
|
302
354
|
|
@@ -324,7 +376,9 @@
|
|
324
376
|
var id = this.el.attr('id');
|
325
377
|
this.el.after('<span id="' + id + '"/>')
|
326
378
|
this.el.remove();
|
327
|
-
this.cursor
|
379
|
+
if (typeof this.cursor !== 'undefined') {
|
380
|
+
this.cursor.remove();
|
381
|
+
}
|
328
382
|
// Send the callback
|
329
383
|
self.options.resetCallback();
|
330
384
|
}
|
@@ -343,12 +397,15 @@
|
|
343
397
|
|
344
398
|
$.fn.typed.defaults = {
|
345
399
|
strings: ["These are the default values...", "You know what you should do?", "Use your own!", "Have a great day!"],
|
400
|
+
stringsElement: null,
|
346
401
|
// typing speed
|
347
402
|
typeSpeed: 0,
|
348
403
|
// time before typing starts
|
349
404
|
startDelay: 0,
|
350
405
|
// backspacing speed
|
351
406
|
backSpeed: 0,
|
407
|
+
// shuffle the strings
|
408
|
+
shuffle: false,
|
352
409
|
// time before backspacing
|
353
410
|
backDelay: 500,
|
354
411
|
// loop
|
data/lib/typedjs/version.rb
CHANGED
data/typedjs-rails.gemspec
CHANGED
metadata
CHANGED
@@ -1,77 +1,65 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: typedjs-rails
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 1
|
8
|
-
- 0
|
9
|
-
- 2
|
10
|
-
version: 1.0.2
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.3
|
11
5
|
platform: ruby
|
12
|
-
authors:
|
6
|
+
authors:
|
13
7
|
- TheDartCode
|
14
8
|
autorequire:
|
15
9
|
bindir: bin
|
16
10
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
- !ruby/object:Gem::Dependency
|
11
|
+
date: 2016-01-28 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
21
14
|
name: railties
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
hash: 5
|
29
|
-
segments:
|
30
|
-
- 3
|
31
|
-
- 1
|
32
|
-
version: "3.1"
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '3.1'
|
33
20
|
type: :runtime
|
34
|
-
version_requirements: *id001
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: bundler
|
37
21
|
prerelease: false
|
38
|
-
|
39
|
-
|
40
|
-
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '3.1'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
41
31
|
- - ~>
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
|
44
|
-
segments:
|
45
|
-
- 1
|
46
|
-
- 0
|
47
|
-
version: "1.0"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.0'
|
48
34
|
type: :development
|
49
|
-
version_requirements: *id002
|
50
|
-
- !ruby/object:Gem::Dependency
|
51
|
-
name: rails
|
52
35
|
prerelease: false
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ~>
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rails
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '3.1'
|
63
48
|
type: :development
|
64
|
-
|
65
|
-
|
66
|
-
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '3.1'
|
55
|
+
description: Gem that includes Typed.js, in the Rails Asset Pipeline introduced in
|
56
|
+
Rails 3.1
|
57
|
+
email:
|
67
58
|
- giorgos@thedartcode.com
|
68
59
|
executables: []
|
69
|
-
|
70
60
|
extensions: []
|
71
|
-
|
72
61
|
extra_rdoc_files: []
|
73
|
-
|
74
|
-
files:
|
62
|
+
files:
|
75
63
|
- .gitignore
|
76
64
|
- Gemfile
|
77
65
|
- README.md
|
@@ -82,36 +70,25 @@ files:
|
|
82
70
|
- typedjs-rails.gemspec
|
83
71
|
homepage: http://www.thedartcode.com/
|
84
72
|
licenses: []
|
85
|
-
|
73
|
+
metadata: {}
|
86
74
|
post_install_message:
|
87
75
|
rdoc_options: []
|
88
|
-
|
89
|
-
require_paths:
|
76
|
+
require_paths:
|
90
77
|
- lib
|
91
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
none: false
|
102
|
-
requirements:
|
103
|
-
- - ">="
|
104
|
-
- !ruby/object:Gem::Version
|
105
|
-
hash: 3
|
106
|
-
segments:
|
107
|
-
- 0
|
108
|
-
version: "0"
|
78
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
84
|
+
requirements:
|
85
|
+
- - '>='
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '0'
|
109
88
|
requirements: []
|
110
|
-
|
111
89
|
rubyforge_project:
|
112
|
-
rubygems_version:
|
90
|
+
rubygems_version: 2.4.6
|
113
91
|
signing_key:
|
114
|
-
specification_version:
|
92
|
+
specification_version: 4
|
115
93
|
summary: Gem for easily adding Typed.js to the Rails Asset Pipeline
|
116
94
|
test_files: []
|
117
|
-
|