awips2/components/marked-element/marked-element.html
2016-04-03 22:04:09 -05:00

54 lines
1.4 KiB
HTML

<!--
Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
Code distributed by Google as part of the polymer project is also
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
-->
<link rel="import" href="../polymer/polymer.html">
<link rel="import" href="marked-import.html">
<!--
Element wrapper for the `marked` (http://marked.org/) library.
@class marked-element
@blurb Element wrapper for the marked library.
@status alpha
@snap snap.png
-->
<polymer-element name="marked-element" attributes="text">
<script>
Polymer('marked-element', {
text: '',
attached: function() {
marked.setOptions({
highlight: this.highlight.bind(this)
});
if (!this.text) {
this.text = this.innerHTML;
}
},
textChanged: function (oldVal, newVal) {
if (newVal) {
this.innerHTML = marked(this.text);
} else {
this.innerHTML = "";
}
},
highlight: function(code, lang) {
var event = this.fire('marked-js-highlight', {code: code, lang: lang});
return event.detail.code || code;
}
});
</script>
</polymer-element>