CETEIcean 1.7.0 → 1.7.1
Sign up to get free protection for your applications and to get access to all the features.
- package/package.json +3 -3
- package/src/CETEI.js +12 -4
- package/src/behaviors.js +0 -9
- package/test/EEBOTest.html +0 -1
- package/test/registerElements.html +0 -31
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "CETEIcean",
|
3
|
-
"version": "1.7.
|
3
|
+
"version": "1.7.1",
|
4
4
|
"description": "JavaScript library to load a TEI XML document and register it as HTML5 custom elements.",
|
5
5
|
"main": "src/CETEI.js",
|
6
6
|
"keywords": [
|
@@ -23,8 +23,8 @@
|
|
23
23
|
"http-server": "^14.1.1",
|
24
24
|
"onchange": "^6.1.1",
|
25
25
|
"rollup": "^2.57.0",
|
26
|
-
"rollup-plugin-terser": "
|
27
|
-
"terser": "^
|
26
|
+
"rollup-plugin-terser": "^7.0.2",
|
27
|
+
"terser": "^5.14.2"
|
28
28
|
},
|
29
29
|
"scripts": {
|
30
30
|
"build": "rollup -c rollup.config.js",
|
package/src/CETEI.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import defaultBehaviors from './defaultBehaviors';
|
2
2
|
import * as utilities from './utilities';
|
3
|
-
import {addBehaviors, addBehavior,
|
3
|
+
import {addBehaviors, addBehavior, removeBehavior} from './behaviors';
|
4
4
|
import {learnElementNames, learnCustomElementNames} from './dom';
|
5
5
|
|
6
6
|
class CETEI {
|
@@ -10,7 +10,6 @@ class CETEI {
|
|
10
10
|
// Bind methods
|
11
11
|
this.addBehaviors = addBehaviors.bind(this);
|
12
12
|
this.addBehavior = addBehavior.bind(this);
|
13
|
-
this.applyBehaviors = applyBehaviors.bind(this);
|
14
13
|
this.removeBehavior = removeBehavior.bind(this);
|
15
14
|
|
16
15
|
// Bind selected utilities
|
@@ -438,6 +437,15 @@ template(str, elt) {
|
|
438
437
|
return result;
|
439
438
|
}
|
440
439
|
|
440
|
+
// Define or apply behaviors for the document
|
441
|
+
applyBehaviors() {
|
442
|
+
if (window.customElements) {
|
443
|
+
this.define.call(this, this.els);
|
444
|
+
} else {
|
445
|
+
this.fallback.call(this, this.els);
|
446
|
+
}
|
447
|
+
}
|
448
|
+
|
441
449
|
/*
|
442
450
|
Registers the list of elements provided with the browser.
|
443
451
|
Called by makeHTML5(), but can be called independently if, for example,
|
@@ -446,7 +454,7 @@ template(str, elt) {
|
|
446
454
|
define(names) {
|
447
455
|
for (let name of names) {
|
448
456
|
try {
|
449
|
-
|
457
|
+
const fn = this.getHandler(this.behaviors, name);
|
450
458
|
window.customElements.define(this.tagName(name), class extends HTMLElement {
|
451
459
|
constructor() {
|
452
460
|
super();
|
@@ -472,7 +480,7 @@ define(names) {
|
|
472
480
|
// When using the same CETEIcean instance for multiple TEI files, this error becomes very common.
|
473
481
|
// It's muted by default unless the debug option is set.
|
474
482
|
if (this.debug) {
|
475
|
-
console.log(tagName(name) + " couldn't be registered or is already registered.");
|
483
|
+
console.log(this.tagName(name) + " couldn't be registered or is already registered.");
|
476
484
|
console.log(error);
|
477
485
|
}
|
478
486
|
}
|
package/src/behaviors.js
CHANGED
@@ -71,12 +71,3 @@ export function removeBehavior(ns, element) {
|
|
71
71
|
}
|
72
72
|
delete this.behaviors[`${p}:${element}`];
|
73
73
|
}
|
74
|
-
|
75
|
-
// Define or apply behaviors for the document
|
76
|
-
export function applyBehaviors() {
|
77
|
-
if (window.customElements) {
|
78
|
-
this.define.call(this, this.els);
|
79
|
-
} else {
|
80
|
-
this.fallback.call(this, this.els);
|
81
|
-
}
|
82
|
-
}
|
package/test/EEBOTest.html
CHANGED
@@ -75,7 +75,6 @@
|
|
75
75
|
CETEIcean.getHTML5('https://raw.githubusercontent.com/textcreationpartnership/A00689/master/A00689.xml', function(data) {
|
76
76
|
document.getElementById("TEI").innerHTML = "";
|
77
77
|
document.getElementById("TEI").appendChild(data);
|
78
|
-
CETEIcean.addStyle(document, data);
|
79
78
|
// Fix combining abbreviation marker in Chrome
|
80
79
|
if (!!window.chrome) {
|
81
80
|
var gs = document.getElementsByTagName("tei-g");
|
@@ -1,31 +0,0 @@
|
|
1
|
-
<html>
|
2
|
-
<head>
|
3
|
-
<meta charset="utf-8">
|
4
|
-
<link rel="stylesheet" href="CETEIcean.css" media="screen" charset="utf-8">
|
5
|
-
</head>
|
6
|
-
<body>
|
7
|
-
<div id="TEI"></div>
|
8
|
-
<script src="../dist/CETEI.js"></script>
|
9
|
-
<script>
|
10
|
-
|
11
|
-
/* Testing the functions for registering elements. All these should work */
|
12
|
-
|
13
|
-
// Repeated elements should be skipped
|
14
|
-
var els = ["TEI", "TEI", "teiHeader"];
|
15
|
-
|
16
|
-
var CETEIcean = new CETEI();
|
17
|
-
|
18
|
-
if (document.registerElement) {
|
19
|
-
CETEIcean.registerAll(els);
|
20
|
-
if (document.createElement("tei-TEI") instanceof HTMLElement) {
|
21
|
-
console.log("tei-TEI correctly registered without conflict");
|
22
|
-
}
|
23
|
-
}
|
24
|
-
else {
|
25
|
-
console.log("HTML CE not supported. Fallback used.")
|
26
|
-
}
|
27
|
-
|
28
|
-
|
29
|
-
</script>
|
30
|
-
</body>
|
31
|
-
</html>
|