written 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/written/app/assets/javascripts/written/core/content.coffee +10 -10
- data/lib/written/app/assets/javascripts/written/core/cursor.coffee +6 -6
- data/lib/written/app/assets/javascripts/written/core/document.coffee +39 -6
- data/lib/written/app/assets/javascripts/written/parsers/block/code.coffee +34 -30
- data/lib/written/app/assets/javascripts/written/parsers/block/heading.coffee +28 -30
- data/lib/written/app/assets/javascripts/written/parsers/block/image.coffee +30 -49
- data/lib/written/app/assets/javascripts/written/parsers/block/olist.coffee +46 -49
- data/lib/written/app/assets/javascripts/written/parsers/block/paragraph.coffee +28 -32
- data/lib/written/app/assets/javascripts/written/parsers/block/quote.coffee +30 -32
- data/lib/written/app/assets/javascripts/written/parsers/block/ulist.coffee +43 -45
- data/lib/written/app/assets/javascripts/written/parsers/inline/code.coffee +28 -30
- data/lib/written/app/assets/javascripts/written/parsers/inline/italic.coffee +21 -25
- data/lib/written/app/assets/javascripts/written/parsers/inline/link.coffee +21 -25
- data/lib/written/app/assets/javascripts/written/parsers/inline/strong.coffee +21 -25
- data/lib/written/app/assets/javascripts/written/parsers/parsers.coffee +87 -19
- data/lib/written/app/assets/javascripts/written.coffee +0 -1
- data/lib/written/version.rb +1 -1
- data/test/server/app/assets/javascripts/application.coffee +5 -15
- metadata +2 -18
- data/lib/written/app/assets/javascripts/written/core/extensions/text.coffee +0 -2
- data/lib/written/app/assets/javascripts/written/core/stringify.coffee +0 -15
- data/lib/written/app/assets/javascripts/written/parsers/block.coffee +0 -69
- data/lib/written/app/assets/javascripts/written/parsers/inline/list.coffee +0 -27
- data/lib/written/app/assets/javascripts/written/parsers/inline.coffee +0 -81
- data/lib/written/app/assets/javascripts/written/polyfills/CustomElements/CustomElements.js +0 -32
- data/lib/written/app/assets/javascripts/written/polyfills/CustomElements/base.js +0 -40
- data/lib/written/app/assets/javascripts/written/polyfills/CustomElements/boot.js +0 -124
- data/lib/written/app/assets/javascripts/written/polyfills/CustomElements/observe.js +0 -318
- data/lib/written/app/assets/javascripts/written/polyfills/CustomElements/register.js +0 -369
- data/lib/written/app/assets/javascripts/written/polyfills/CustomElements/traverse.js +0 -86
- data/lib/written/app/assets/javascripts/written/polyfills/CustomElements/upgrade.js +0 -130
- data/lib/written/app/assets/javascripts/written/polyfills/MutationObserver/MutationObserver.js +0 -575
- data/lib/written/app/assets/javascripts/written/polyfills/WeakMap/WeakMap.js +0 -49
- data/lib/written/app/assets/javascripts/written/polyfills/base.coffee +0 -10
- data/lib/written/app/assets/javascripts/written/polyfills/dom.js +0 -104
@@ -1,86 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* @license
|
3
|
-
* Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
|
4
|
-
* This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
|
5
|
-
* The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
|
6
|
-
* The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
|
7
|
-
* Code distributed by Google as part of the polymer project is also
|
8
|
-
* subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
9
|
-
*/
|
10
|
-
|
11
|
-
// helper methods for traversing through element trees
|
12
|
-
window.CustomElements.addModule(function(scope){
|
13
|
-
|
14
|
-
// imports
|
15
|
-
var IMPORT_LINK_TYPE = window.HTMLImports ? window.HTMLImports.IMPORT_LINK_TYPE : 'none';
|
16
|
-
|
17
|
-
// walk the subtree rooted at node, including descent into shadow-roots,
|
18
|
-
// applying 'cb' to each element
|
19
|
-
function forSubtree(node, cb) {
|
20
|
-
//flags.dom && node.childNodes && node.childNodes.length && console.group('subTree: ', node);
|
21
|
-
findAllElements(node, function(e) {
|
22
|
-
if (cb(e)) {
|
23
|
-
return true;
|
24
|
-
}
|
25
|
-
forRoots(e, cb);
|
26
|
-
});
|
27
|
-
forRoots(node, cb);
|
28
|
-
//flags.dom && node.childNodes && node.childNodes.length && console.groupEnd();
|
29
|
-
}
|
30
|
-
|
31
|
-
|
32
|
-
// walk the subtree rooted at node, applying 'find(element, data)' function
|
33
|
-
// to each element
|
34
|
-
// if 'find' returns true for 'element', do not search element's subtree
|
35
|
-
function findAllElements(node, find, data) {
|
36
|
-
var e = node.firstElementChild;
|
37
|
-
if (!e) {
|
38
|
-
e = node.firstChild;
|
39
|
-
while (e && e.nodeType !== Node.ELEMENT_NODE) {
|
40
|
-
e = e.nextSibling;
|
41
|
-
}
|
42
|
-
}
|
43
|
-
while (e) {
|
44
|
-
if (find(e, data) !== true) {
|
45
|
-
findAllElements(e, find, data);
|
46
|
-
}
|
47
|
-
e = e.nextElementSibling;
|
48
|
-
}
|
49
|
-
return null;
|
50
|
-
}
|
51
|
-
|
52
|
-
// walk all shadowRoots on a given node.
|
53
|
-
function forRoots(node, cb) {
|
54
|
-
var root = node.shadowRoot;
|
55
|
-
while(root) {
|
56
|
-
forSubtree(root, cb);
|
57
|
-
root = root.olderShadowRoot;
|
58
|
-
}
|
59
|
-
}
|
60
|
-
|
61
|
-
function forDocumentTree(doc, cb) {
|
62
|
-
_forDocumentTree(doc, cb, []);
|
63
|
-
}
|
64
|
-
|
65
|
-
|
66
|
-
function _forDocumentTree(doc, cb, processingDocuments) {
|
67
|
-
doc = window.wrap(doc);
|
68
|
-
if (processingDocuments.indexOf(doc) >= 0) {
|
69
|
-
return;
|
70
|
-
}
|
71
|
-
processingDocuments.push(doc);
|
72
|
-
var imports = doc.querySelectorAll('link[rel=' + IMPORT_LINK_TYPE + ']');
|
73
|
-
for (var i=0, l=imports.length, n; (i<l) && (n=imports[i]); i++) {
|
74
|
-
if (n.import) {
|
75
|
-
_forDocumentTree(n.import, cb, processingDocuments);
|
76
|
-
}
|
77
|
-
}
|
78
|
-
cb(doc);
|
79
|
-
}
|
80
|
-
|
81
|
-
// exports
|
82
|
-
scope.forDocumentTree = forDocumentTree;
|
83
|
-
scope.forSubtree = forSubtree;
|
84
|
-
|
85
|
-
|
86
|
-
});
|
@@ -1,130 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* @license
|
3
|
-
* Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
|
4
|
-
* This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
|
5
|
-
* The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
|
6
|
-
* The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
|
7
|
-
* Code distributed by Google as part of the polymer project is also
|
8
|
-
* subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
9
|
-
*/
|
10
|
-
|
11
|
-
/**
|
12
|
-
* Implements custom element upgrading
|
13
|
-
* @module upgrade
|
14
|
-
*/
|
15
|
-
|
16
|
-
window.CustomElements.addModule(function(scope) {
|
17
|
-
|
18
|
-
// imports
|
19
|
-
var flags = scope.flags;
|
20
|
-
|
21
|
-
/**
|
22
|
-
* Upgrade an element to a custom element. Upgrading an element
|
23
|
-
* causes the custom prototype to be applied, an `is` attribute
|
24
|
-
* to be attached (as needed), and invocation of the `readyCallback`.
|
25
|
-
* If the element is in the main document, the `attachedkCallback` method
|
26
|
-
* will be invoked.
|
27
|
-
* `upgrade` does nothing if the element is already upgraded, or
|
28
|
-
* if it matches no registered custom tag name.
|
29
|
-
*
|
30
|
-
* @method ugprade
|
31
|
-
* @param {Element} element The element to upgrade.
|
32
|
-
* @return {Element} The upgraded element.
|
33
|
-
*/
|
34
|
-
// Upgrade a node if it can be upgraded and is not already.
|
35
|
-
function upgrade(node, isAttached) {
|
36
|
-
// upgrade template elements before custom elements
|
37
|
-
if (node.localName === 'template') {
|
38
|
-
if (window.HTMLTemplateElement && HTMLTemplateElement.decorate) {
|
39
|
-
HTMLTemplateElement.decorate(node);
|
40
|
-
}
|
41
|
-
}
|
42
|
-
if (!node.__upgraded__ && (node.nodeType === Node.ELEMENT_NODE)) {
|
43
|
-
var is = node.getAttribute('is');
|
44
|
-
// find definition first by localName and secondarily by is attribute
|
45
|
-
var definition = scope.getRegisteredDefinition(node.localName) ||
|
46
|
-
scope.getRegisteredDefinition(is);
|
47
|
-
if (definition) {
|
48
|
-
// upgrade with is iff the definition tag matches the element tag
|
49
|
-
// and don't upgrade if there's an is and the definition does not extend
|
50
|
-
// a native element
|
51
|
-
if ((is && definition.tag == node.localName) ||
|
52
|
-
(!is && !definition.extends)) {
|
53
|
-
return upgradeWithDefinition(node, definition, isAttached);
|
54
|
-
}
|
55
|
-
}
|
56
|
-
}
|
57
|
-
}
|
58
|
-
|
59
|
-
function upgradeWithDefinition(element, definition, isAttached) {
|
60
|
-
flags.upgrade && console.group('upgrade:', element.localName);
|
61
|
-
// some definitions specify an 'is' attribute
|
62
|
-
if (definition.is) {
|
63
|
-
element.setAttribute('is', definition.is);
|
64
|
-
}
|
65
|
-
// make 'element' implement definition.prototype
|
66
|
-
implementPrototype(element, definition);
|
67
|
-
// flag as upgraded
|
68
|
-
element.__upgraded__ = true;
|
69
|
-
// lifecycle management
|
70
|
-
created(element);
|
71
|
-
// attachedCallback fires in tree order, call before recursing
|
72
|
-
if (isAttached) {
|
73
|
-
scope.attached(element);
|
74
|
-
}
|
75
|
-
// there should never be a shadow root on element at this point
|
76
|
-
scope.upgradeSubtree(element, isAttached);
|
77
|
-
flags.upgrade && console.groupEnd();
|
78
|
-
// OUTPUT
|
79
|
-
return element;
|
80
|
-
}
|
81
|
-
|
82
|
-
// Set __proto__ on supported platforms and use a mixin strategy when
|
83
|
-
// this is not supported; e.g. on IE10.
|
84
|
-
function implementPrototype(element, definition) {
|
85
|
-
// prototype swizzling is best
|
86
|
-
if (Object.__proto__) {
|
87
|
-
element.__proto__ = definition.prototype;
|
88
|
-
} else {
|
89
|
-
// where above we can re-acquire inPrototype via
|
90
|
-
// getPrototypeOf(Element), we cannot do so when
|
91
|
-
// we use mixin, so we install a magic reference
|
92
|
-
customMixin(element, definition.prototype, definition.native);
|
93
|
-
element.__proto__ = definition.prototype;
|
94
|
-
}
|
95
|
-
}
|
96
|
-
|
97
|
-
function customMixin(inTarget, inSrc, inNative) {
|
98
|
-
// TODO(sjmiles): 'used' allows us to only copy the 'youngest' version of
|
99
|
-
// any property. This set should be precalculated. We also need to
|
100
|
-
// consider this for supporting 'super'.
|
101
|
-
var used = {};
|
102
|
-
// start with inSrc
|
103
|
-
var p = inSrc;
|
104
|
-
// The default is HTMLElement.prototype, so we add a test to avoid mixing in
|
105
|
-
// native prototypes
|
106
|
-
while (p !== inNative && p !== HTMLElement.prototype) {
|
107
|
-
var keys = Object.getOwnPropertyNames(p);
|
108
|
-
for (var i=0, k; k=keys[i]; i++) {
|
109
|
-
if (!used[k]) {
|
110
|
-
Object.defineProperty(inTarget, k,
|
111
|
-
Object.getOwnPropertyDescriptor(p, k));
|
112
|
-
used[k] = 1;
|
113
|
-
}
|
114
|
-
}
|
115
|
-
p = Object.getPrototypeOf(p);
|
116
|
-
}
|
117
|
-
}
|
118
|
-
|
119
|
-
function created(element) {
|
120
|
-
// invoke createdCallback
|
121
|
-
if (element.createdCallback) {
|
122
|
-
element.createdCallback();
|
123
|
-
}
|
124
|
-
}
|
125
|
-
|
126
|
-
scope.upgrade = upgrade;
|
127
|
-
scope.upgradeWithDefinition = upgradeWithDefinition;
|
128
|
-
scope.implementPrototype = implementPrototype;
|
129
|
-
|
130
|
-
});
|