forms: added a codemirror form widget.
This commit is contained in:
parent
435b9a549d
commit
587dee26ef
2 changed files with 62 additions and 0 deletions
32
rhodecode/model/validation_schema/widgets.py
Normal file
32
rhodecode/model/validation_schema/widgets.py
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright (C) 2011-2017 RhodeCode GmbH
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License, version 3
|
||||
# (only), as published by the Free Software Foundation.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# This program is dual-licensed. If you wish to learn more about the
|
||||
# RhodeCode Enterprise Edition, including its added features, Support services,
|
||||
# and proprietary license terms, please see https://rhodecode.com/licenses/
|
||||
|
||||
import logging
|
||||
|
||||
import deform
|
||||
import deform.widget
|
||||
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class CodeMirrorWidget(deform.widget.TextAreaWidget):
|
||||
template = 'codemirror'
|
||||
requirements = (('deform', None), ('codemirror', None))
|
||||
30
rhodecode/templates/forms/codemirror.pt
Normal file
30
rhodecode/templates/forms/codemirror.pt
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
<div tal:define="rows rows|field.widget.rows;
|
||||
cols cols|field.widget.cols;
|
||||
css_class css_class|field.widget.css_class;
|
||||
oid oid|field.oid;
|
||||
name name|field.name;
|
||||
style style|field.widget.style;
|
||||
help_block help_block|field.widget.help_block|'';
|
||||
codemirror_options codemirror_options|field.widget.codemirror_options|{};
|
||||
codemirror_mode codemirror_mode|field.widget.codemirror_mode|''
|
||||
">
|
||||
|
||||
<textarea tal:attributes="rows rows;
|
||||
cols cols;
|
||||
class string: form-control ${css_class or ''};
|
||||
style style"
|
||||
id="${oid}"
|
||||
name="${name}">${cstruct}</textarea>
|
||||
|
||||
<p tal:condition="help_block" class="help-block">${help_block}</p>
|
||||
<script type="text/javascript">
|
||||
deform.addCallback(
|
||||
'${oid}',
|
||||
function(oid) {
|
||||
var myCodeMirror = initCodeMirror(oid, '', false, ${codemirror_options});
|
||||
setCodeMirrorMode(myCodeMirror, '${codemirror_mode}');
|
||||
}
|
||||
);
|
||||
</script>
|
||||
|
||||
</div>
|
||||
Loading…
Add table
Add a link
Reference in a new issue