Grid Editor is a visual javascript editor for the bootstrap grid system, written as a jQuery plugin.
It provides integration plugins for the following rich text editors: TinyMCE, summernote and CKEditor.
- Dependencies: Grid Editor depends on jQuery, jQuery UI, and Bootstap, so make sure you have included those in the page.
- If you want to use the tincyMCE integration, include tinyMCE and tinyMCE jQuery plugin as well.
- If you want to use the summernote integration, include summernote as well.
- If you want to use the CKEditor integration, include CKEditor as well.
- Download the latest version of Grid Editor and include it in your page:
<!-- Make sure jQuery, jQuery UI, and bootstrap 3 are included. TinyMCE is optional. -->
<link rel="stylesheet" type="text/css" href="grid-editor/dist/grideditor.css" />
<script src="grid-editor/dist/jquery.grideditor.min.js"></script>
$('#myGrid').gridEditor({
new_row_layouts: [[12], [6,6], [9,3]],
});
// Call this to get the result after the user has done some editing:
var html = $('#myGrid').gridEditor('getHtml');
getHtml
: Returns the clean html.
var html = $('#myGrid').gridEditor('getHtml');
new_row_layouts
: Set the column layouts that appear in the "new row" buttons at the top of the editor.
$('#myGrid').gridEditor({
new_row_layouts: [[12], [6,6], [9,3]],
});
row_classes
: Set the css classes that the user can toggle on the rows, under the settings button.
$('#myGrid').gridEditor({
row_classes: [{label: 'Example class', cssClass: 'example-class'}],
});
col_classes
: The same as row_classes, but for columns.
row_tools
: Add extra tool button to the row toolbar.
$('#myGrid').gridEditor({
row_tools: [{
title: 'Set background image',
iconClass: 'glyphicon-picture',
on: {
click: function() {
$(this).closest('.row').css('background-image', 'url(http://placekitten.com/g/300/300)');
}
}
}]
});
col_tools
: The same as row_tools, but for columns.
custom_filter
: Allows the execution of a custom function before initialization and after de-initialization. Accepts a functions or a function name as string.
Gives the canvas
element and isInit
(true/false) as parameter.
$('#myGrid').gridEditor({
'custom_filter': 'functionname',
});
function functionname(canvas, isInit) {
if(isInit) {
// do magic on init
} else {
// do magic on de-init
}
}
or
$('#myGrid').gridEditor({
'custom_filter': function(canvas, isInit) {
//...
},
});
valid_col_sizes
: Specify the column widths that can be selected using the +/- buttons
$('#myGrid').gridEditor({
'valid_col_sizes': [2, 5, 8, 10],
});
source_textarea
: Allows to set an already existing textarea as in-/output for grid editor
$('#myGrid').gridEditor({
source_textarea: 'textarea.grideditor',
});
Grid editor comes bundles with support for the following rich text editors (RTEs):
content_types
: Specify the RTE to use. Valid values: ['tinymce']
, ['summernote']
, ['ckeditor']
. Default value: ['tinymce']
.
$('#myGrid').gridEditor({
content_types: ['summernote'],
});
ckeditor.config
: Specify ckeditor config, when using the ckeditor
content_types
.
See the CKEditor documentation.
Also check out the ckeditor example.
$('#myGrid').gridEditor({
ckeditor: {
config: { language: 'fr' }
}
});
summernote.config
: Specify summernote config, when using the summernote
content_types
.
See the summernote documentation.
Also check out the summernote example.
$('#myGrid').gridEditor({
summernote: {
config: { shortcuts: false }
}
});
tinymce.config
: Specify tinyMCE config, when using the tinymce
content_types
.
See the tinyMCE documentation.
Also check out the tinymce example.
$('#myGrid').gridEditor({
tinymce: {
config: { paste_as_text: true }
}
});
Grid Editor can easily be used with Font Awesome by including dist/grideditor-font-awesome.css
. Note that Font Awesome (min. version 4.0) has to be included before this stylesheet.
Grid Editor was heavily inspired by Neokoenig's grid manager