Commit 2f84b110 authored by Thibaut Frain's avatar Thibaut Frain

Added bootstrap wysiwyg editor gadget

parent 250ae97c
......@@ -235,7 +235,11 @@ module.exports = function (grunt) {
relative_dest: 'lib/jquery.js',
dest: '<%= global_config.dest %>/<%= curl.jquery.relative_dest %>'
},
jqueryhotkeysjs: {
src: 'https://raw.githubusercontent.com/jeresig/jquery.hotkeys/master/jquery.hotkeys.js',
relative_dest: 'lib/jquery.hotkeys.j',
dest: '<%= global_config.dest %>/<%= curl.jqueryhotkeysjs.relative_dest %>'
},
jquerymobilejs: {
src_base: 'http://code.jquery.com/mobile/1.4.0-alpha.2/jquery.mobile-1.4.0-alpha.2',
src: '<%= curl.jquerymobilejs.src_base %>.js',
......@@ -266,6 +270,18 @@ module.exports = function (grunt) {
src: 'https://raw.github.com/daneden/animate.css/master/animate.css',
relative_dest: 'lib/animate.css',
dest: '<%= global_config.dest %>/<%= curl.animatecss.relative_dest %>'
},
bootstrap: {
src: 'https://github.com/twbs/bootstrap/releases/download/v3.1.1/bootstrap-3.1.1-dist.zip',
relative_dest: 'lib/bootstrap-3.1.1-dist',
js_relative_dest: '<%= curl.bootstrap.relative_dest %>/js/bootstrap.min.js',
css_relative_dest: '<%= curl.bootstrap.relative_dest %>/css/bootstrap.min.css',
dest: '<%= global_config.tmp %>/bootstrap.zip'
},
bootstrapwysiwyg: {
src: 'https://raw.githubusercontent.com/mindmup/bootstrap-wysiwyg/master/bootstrap-wysiwyg.js',
relative_dest: 'lib/bootstrap-wysiwyg.js',
dest: '<%= global_config.dest %>/<%= curl.bootstrapwysiwyg.relative_dest %>'
}
// qunit: {
// all: ['test/index.html']
......@@ -287,6 +303,10 @@ module.exports = function (grunt) {
jquery_sheet: {
src: '<%= curl.jquerysheet.dest %>',
dest: '<%= global_config.dest %>/lib/'
},
bootstrap: {
src: '<%= global_config.tmp %>/bootstrap.zip',
dest: '<%= global_config.dest %>/lib/'
}
},
......
/*global window, jQuery, rJS*/
(function (window, $, rJS) {
"use strict";
rJS(window)
.declareMethod('getContent', function () {
return this.editor.html();
})
.declareMethod('setContent', function (content) {
this.editor.html(content);
})
.declareMethod('clearContent', function () {
this.editor.html('');
})
.ready(function (g) {
g.getElement()
.then(function (element) {
g.editor = $(element).find('.editor');
g.editor.wysiwyg();
});
});
}(window, jQuery, rJS));
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Bootstrap Wysiwyg</title>
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-combined.no-icons.min.css">
<link rel="stylesheet" href="../<%= curl.bootstrap.css_relative_dest %>">
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/font-awesome/3.0.2/css/font-awesome.css">
<script src="../<%= curl.jquery.relative_dest %>"></script>
<script src="../<%= curl.jqueryhotkeysjs.relative_dest %>"></script>
<script src="../<%= curl.bootstrap.js_relative_dest %>"></script>
<script src="../<%= curl.bootstrapwysiwyg.relative_dest %>"></script>
<script src="../<%= copy.rsvp.relative_dest %>"></script>
<script src="../<%= copy.renderjs.relative_dest %>"></script>
<script src="bootstrap_wysiwyg.js"></script>
</head>
<body>
<div class="btn-toolbar" data-role="editor-toolbar" data-target="#editor">
<div class="btn-group">
<a class="btn dropdown-toggle" data-toggle="dropdown" title="Font"><i class="icon-font"></i><b class="caret"></b></a>
<ul class="dropdown-menu">
</ul>
</div>
<div class="btn-group">
<a class="btn dropdown-toggle" data-toggle="dropdown" title="Font Size"><i class="icon-text-height"></i>&nbsp;<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a data-edit="fontSize 5"><font size="5">Huge</font></a></li>
<li><a data-edit="fontSize 3"><font size="3">Normal</font></a></li>
<li><a data-edit="fontSize 1"><font size="1">Small</font></a></li>
</ul>
</div>
<div class="btn-group">
<a class="btn" data-edit="bold" title="Bold (Ctrl/Cmd+B)"><i class="icon-bold"></i></a>
<a class="btn" data-edit="italic" title="Italic (Ctrl/Cmd+I)"><i class="icon-italic"></i></a>
<a class="btn" data-edit="strikethrough" title="Strikethrough"><i class="icon-strikethrough"></i></a>
<a class="btn" data-edit="underline" title="Underline (Ctrl/Cmd+U)"><i class="icon-underline"></i></a>
</div>
<div class="btn-group">
<a class="btn" data-edit="insertunorderedlist" title="Bullet list"><i class="icon-list-ul"></i></a>
<a class="btn" data-edit="insertorderedlist" title="Number list"><i class="icon-list-ol"></i></a>
<a class="btn" data-edit="outdent" title="Reduce indent (Shift+Tab)"><i class="icon-indent-left"></i></a>
<a class="btn" data-edit="indent" title="Indent (Tab)"><i class="icon-indent-right"></i></a>
</div>
<div class="btn-group">
<a class="btn" data-edit="justifyleft" title="Align Left (Ctrl/Cmd+L)"><i class="icon-align-left"></i></a>
<a class="btn" data-edit="justifycenter" title="Center (Ctrl/Cmd+E)"><i class="icon-align-center"></i></a>
<a class="btn" data-edit="justifyright" title="Align Right (Ctrl/Cmd+R)"><i class="icon-align-right"></i></a>
<a class="btn" data-edit="justifyfull" title="Justify (Ctrl/Cmd+J)"><i class="icon-align-justify"></i></a>
</div>
<div class="btn-group">
<a class="btn dropdown-toggle" data-toggle="dropdown" title="Hyperlink"><i class="icon-link"></i></a>
<div class="dropdown-menu input-append">
<input class="span2" placeholder="URL" type="text" data-edit="createLink"/>
<button class="btn" type="button">Add</button>
</div>
<a class="btn" data-edit="unlink" title="Remove Hyperlink"><i class="icon-cut"></i></a>
</div>
<div class="btn-group">
<a class="btn" title="Insert picture (or just drag & drop)" id="pictureBtn"><i class="icon-picture"></i></a>
<input type="file" data-role="magic-overlay" data-target="#pictureBtn" data-edit="insertImage" />
</div>
<div class="btn-group">
<a class="btn" data-edit="undo" title="Undo (Ctrl/Cmd+Z)"><i class="icon-undo"></i></a>
<a class="btn" data-edit="redo" title="Redo (Ctrl/Cmd+Y)"><i class="icon-repeat"></i></a>
</div>
</div>
<div class="editor" style="
max-height: 600px;
height: 600px;
background-color: white;
border-collapse: separate;
border: 1px solid rgb(204, 204, 204);
padding: 4px;
box-sizing: content-box;
-webkit-box-shadow: rgba(0, 0, 0, 0.0745098) 0px 1px 1px 0px inset;
box-shadow: rgba(0, 0, 0, 0.0745098) 0px 1px 1px 0px inset;
border-top-right-radius: 3px;
border-bottom-right-radius: 3px;
border-bottom-left-radius: 3px;
border-top-left-radius: 3px;
overflow: scroll;
outline: none;"></div>
</body>
</html>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment