mirror of https://github.com/rancher/ui.git
34 lines
863 B
JavaScript
34 lines
863 B
JavaScript
import Component from '@ember/component';
|
|
import layout from './template';
|
|
import { observer } from '@ember/object'
|
|
|
|
export default Component.extend({
|
|
layout,
|
|
language: 'javascript',
|
|
code: '',
|
|
hide: false,
|
|
constrained: true,
|
|
|
|
tagName: 'PRE',
|
|
classNames: ['line-numbers'],
|
|
classNameBindings: ['languageClass','hide:hide','constrained:constrained'],
|
|
|
|
languageClass: function() {
|
|
var lang = this.get('language');
|
|
if ( lang )
|
|
{
|
|
return 'language-'+lang;
|
|
}
|
|
}.property('language'),
|
|
|
|
didReceiveAttrs() {
|
|
this.highlightedChanged();
|
|
},
|
|
|
|
highlighted: null,
|
|
highlightedChanged: observer('language','code', function() {
|
|
var lang = this.get('language');
|
|
this.set('highlighted', Prism.highlight(this.get('code')||'', Prism.languages[lang], lang));
|
|
}),
|
|
});
|