46 lines
1.1 KiB
JavaScript
46 lines
1.1 KiB
JavaScript
/*global Markdown:true*/
|
|
|
|
/**
|
|
A control to support using PageDown as an Ember view.
|
|
|
|
@class PagedownEditor
|
|
@extends Ember.ContainerView
|
|
@namespace Discourse
|
|
@module Discourse
|
|
**/
|
|
Discourse.PagedownEditor = Ember.ContainerView.extend({
|
|
elementId: 'pagedown-editor',
|
|
|
|
init: function() {
|
|
this._super();
|
|
|
|
// Add a button bar
|
|
this.pushObject(Em.View.create({ elementId: 'wmd-button-bar' }));
|
|
this.pushObject(Em.TextArea.create({
|
|
valueBinding: 'parentView.value',
|
|
elementId: 'wmd-input'
|
|
}));
|
|
|
|
this.pushObject(Em.View.createWithMixins(Discourse.Presence, {
|
|
elementId: 'wmd-preview',
|
|
classNameBindings: [':preview', 'hidden'],
|
|
hidden: (function() {
|
|
return this.blank('parentView.value');
|
|
}).property('parentView.value')
|
|
}));
|
|
},
|
|
|
|
didInsertElement: function() {
|
|
var $wmdInput;
|
|
$wmdInput = $('#wmd-input');
|
|
$wmdInput.data('init', true);
|
|
this.editor = new Markdown.Editor(Discourse.Utilities.markdownConverter({
|
|
sanitize: true
|
|
}));
|
|
return this.editor.run();
|
|
}
|
|
|
|
});
|
|
|
|
|