Skip to content

Commit cd1ef92

Browse files
authored
Merge pull request #268 from mattboldt/265-pass-html-node
Added feature to use HTML element instead of element ID string
2 parents 67cb666 + 3a22d1b commit cd1ef92

File tree

9 files changed

+39
-26
lines changed

9 files changed

+39
-26
lines changed

README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -294,5 +294,3 @@ Thanks for checking this out. If you have any questions, I'll be on [Twitter](ht
294294
If you're using this, let me know! I'd love to see it.
295295

296296
It would also be great if you mentioned me or my website somewhere. [www.mattboldt.com](http://www.mattboldt.com)
297-
298-

docs/API.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ Welcome to Typed.js!
192192

193193
**Parameters**
194194

195-
- `elementId` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** HTML element ID
195+
- `elementId` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** HTML element ID _OR_ HTML element
196196
- `options` **[object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** options object
197197

198198
Returns **[object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** a new Typed object
@@ -219,4 +219,4 @@ Reset Typed and optionally restarts
219219

220220
**Parameters**
221221

222-
- `restart` **[boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)?= rt) **
222+
- `restart` **[boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)?= nser**

docs/index.html

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1849,7 +1849,9 @@ <h3 class='fl m0' id='typed'>
18491849
<div class='space-bottom0'>
18501850
<div>
18511851
<span class='code bold'>elementId</span> <code class='quiet'>(<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>)</code>
1852-
HTML element ID
1852+
HTML element ID
1853+
<em>OR</em>
1854+
HTML element
18531855

18541856
</div>
18551857

@@ -2084,7 +2086,7 @@ <h3 class='fl m0' id='typed'>
20842086
<p>Reset Typed and optionally restarts</p>
20852087

20862088

2087-
<div class='pre p1 fill-light mt0'>reset(restart: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a>?= rt) )</div>
2089+
<div class='pre p1 fill-light mt0'>reset(restart: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a>?= nser)</div>
20882090

20892091

20902092

@@ -2100,7 +2102,7 @@ <h3 class='fl m0' id='typed'>
21002102

21012103
<div class='space-bottom0'>
21022104
<div>
2103-
<span class='code bold'>restart</span> <code class='quiet'>(<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a>?= rt) )</code>
2105+
<span class='code bold'>restart</span> <code class='quiet'>(<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a>?= nser)</code>
21042106

21052107
</div>
21062108

gulpfile.js

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -72,20 +72,17 @@ gulp.task('server', function () {
7272
gulp.watch(['docs/images/**/*'], server.notify);
7373
});
7474

75+
gulp.task('serve', [
76+
'watch',
77+
'server'
78+
]);
79+
7580
// Watch Task
7681
gulp.task('watch', () => {
7782
livereload({ start: true });
78-
gulp.watch('src/*.js', ['default']);
83+
gulp.watch('src/*.js', ['md-docs', 'html-docs', 'default']);
7984
});
8085

81-
gulp.task('serve', [
82-
'default',
83-
'md-docs',
84-
'html-docs',
85-
'server',
86-
'watch'
87-
]);
88-
8986
gulp.task('default', [
9087
'lint',
9188
'build',

lib/typed.js

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ return /******/ (function(modules) { // webpackBootstrap
7979

8080
/**
8181
* Welcome to Typed.js!
82-
* @param {string} elementId HTML element ID
82+
* @param {string} elementId HTML element ID _OR_ HTML element
8383
* @param {object} options options object
8484
* @returns {object} a new Typed object
8585
*/
@@ -579,13 +579,17 @@ return /******/ (function(modules) { // webpackBootstrap
579579
* Load up defaults & options on the Typed instance
580580
* @param {Typed} self instance of Typed
581581
* @param {object} options options object
582-
* @param {string} elementId HTML element ID
582+
* @param {string} elementId HTML element ID _OR_ instance of HTML element
583583
* @private
584584
*/
585585

586586
value: function load(self, options, elementId) {
587587
// chosen element to manipulate text
588-
self.el = document.querySelector(elementId);
588+
if (typeof elementId === 'string') {
589+
self.el = document.querySelector(elementId);
590+
} else {
591+
self.el = elementId;
592+
}
589593

590594
self.options = {};
591595
Object.assign(self.options, _defaultsJs2['default'], options);
@@ -639,7 +643,11 @@ return /******/ (function(modules) { // webpackBootstrap
639643
});
640644

641645
// div containing strings
642-
self.stringsElement = document.querySelector(self.options.stringsElement);
646+
if (typeof self.options.stringsElement === 'string') {
647+
self.stringsElement = document.querySelector(self.options.stringsElement);
648+
} else {
649+
self.stringsElement = self.options.stringsElement;
650+
}
643651

644652
if (self.stringsElement) {
645653
self.strings = [];

lib/typed.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/typed.min.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/initializer.js

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,17 @@ export default class Initializer {
88
* Load up defaults & options on the Typed instance
99
* @param {Typed} self instance of Typed
1010
* @param {object} options options object
11-
* @param {string} elementId HTML element ID
11+
* @param {string} elementId HTML element ID _OR_ instance of HTML element
1212
* @private
1313
*/
1414

1515
load(self, options, elementId) {
1616
// chosen element to manipulate text
17-
self.el = document.querySelector(elementId);
17+
if (typeof elementId === 'string') {
18+
self.el = document.querySelector(elementId);
19+
} else {
20+
self.el = elementId;
21+
}
1822

1923
self.options = {};
2024
Object.assign(self.options, defaults, options);
@@ -66,7 +70,11 @@ export default class Initializer {
6670
self.strings = self.options.strings.map((s) => s.trim());
6771

6872
// div containing strings
69-
self.stringsElement = document.querySelector(self.options.stringsElement);
73+
if (typeof self.options.stringsElement === 'string') {
74+
self.stringsElement = document.querySelector(self.options.stringsElement);
75+
} else {
76+
self.stringsElement = self.options.stringsElement;
77+
}
7078

7179
if (self.stringsElement) {
7280
self.strings = [];

src/typed.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { htmlParser } from './html-parser.js';
33

44
/**
55
* Welcome to Typed.js!
6-
* @param {string} elementId HTML element ID
6+
* @param {string} elementId HTML element ID _OR_ HTML element
77
* @param {object} options options object
88
* @returns {object} a new Typed object
99
*/

0 commit comments

Comments
 (0)