yavsc/ZicMoove/ZicMoove.Droid/Markdown/MarkdownEditor.cshtml

97 lines
2.9 KiB
Plaintext

@model MarkdownViewModel
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
.standalone-container {
margin: 0;
width: 100%;
height: 100%;
}
</style>
@if (Model.Editable)
{
<link rel="stylesheet" href="quill.snow.css" />
<style>
#bubble-container {
width: 100%;
height: 100%;
}
#bubble-container div.ql-editor {
padding-top:3em;
}
.hidden {
display: none;
}
</style>
}
</head>
<body>
<div class="standalone-container">
<div id="bubble-container">@Html.Write(Model.GetHtml())</div>
</div>
<script type="text/javascript" src="jquery.js"></script>
@if (Model.Editable)
{
<script type="text/javascript" src="quill.min.js"></script>
<script type="text/javascript" src="showdown.js"></script>
<script type="text/javascript" src="to-markdown.js"></script>
<script type="text/javascript" src="md-helpers.js"></script>
<script type="text/javascript">
var toolbarOptions = [
['bold', 'italic', 'underline', 'strike'], // toggled buttons
['blockquote', 'code-block'],
[{ 'header': 1 }, { 'header': 2 }, { 'header': 3 }], // custom button values
[{ 'list': 'ordered' }, { 'list': 'bullet' }],
[{ 'indent': '-1' }, { 'indent': '+1' }], // outdent/indent
['link', 'image', 'video'],
['clean'] // remove formatting button
];
var showImageUI = function (value) {
if (value) {
var href = prompt('Enter the URL');
this.quill.format('image', href);
} else {
this.quill.format('image', false);
}
};
$(document).ready(function () {
var quill = new Quill('#bubble-container', {
modules: {
toolbar: toolbarOptions
},
placeholder: 'Composez votre texte ...',
theme: 'snow'
});
function getMD() {
return markdownize($('#bubble-container div.ql-editor').html())
}
quill.on('text-change', function (delta, oldDelta, source) {
if (source === "user") {
contentEdited(getMD());
}
});
var toolbar = quill.getModule('toolbar');
toolbar.addHandler('image', showImageUI);
jsLoaded();
});
</script>
}
else
{
<script type="text/javascript">
$(document).ready(function() {
jsLoaded();
});
</script>
}
</body>
</html>