<link rel="stylesheet" href="/phorkie.css" />
<title>{% block title %}{% endblock %} - phorkie</title>
<script src="/jquery-1.7.2.min.js"></script>
+ <script src="/phorkie.js"></script>
</head>
<body>
<div class="navbar">
<div class="row-fluid">
<div class="span6">
<input type="hidden" name="files[{{fileid}}][original_name]" value="{{file.getFilename}}"/>
- <input type="text" name="files[{{fileid}}][name]" id="filename_{{fileid}}" value="{{file.getFilename}}" placeholder="Filename (optional)"/>
+ <input type="text" name="files[{{fileid}}][name]" id="filename_{{fileid}}" value="{{file.getFilename}}" placeholder="Filename (optional)" class="filename" onchange="filenameChange(this, {{fileid}})" onkeyup="filenameChange(this, {{fileid}})"/>
</div>
<div class="span6 typeselect" style="text-align: right" id="typeselect_{{fileid}}">
<label for="type_{{fileid}}" class="inline">Type</label>
{{htmlhelper.getLanguageOptions(file)|raw}}
</select>
</div>
+ <div class="span6" style="display:none; text-align: right" id="typetext_{{fileid}}">
+ <p>Type determined from filename</p>
+ </div>
</div>
<textarea name="files[{{fileid}}][content]" id="content_{{fileid}}" cols="80" rows="15" class="content">{{file.getContent}}</textarea>
<div class="row-fluid">
</div>
</form>
+<script type="application/javascript">
+$(document).ready(function() {
+ initFilenames();
+});
+</script>
{% endblock %}
</div>
</form>
+<script type="application/javascript">
+$(document).ready(function() {
+ initFilenames();
+});
+</script>
{% endblock %}
--- /dev/null
+function filenameChange(elem, id) {
+ var filename = elem.value;
+ var hasExt = filename.indexOf(".") != -1;
+ if (hasExt) {
+ $('#typeselect_' + id).hide();
+ $('#typetext_' + id).show();
+ } else {
+ $('#typeselect_' + id).show();
+ $('#typetext_' + id).hide();
+ }
+}
+function initFilenames()
+{
+ $('input.filename').each(
+ function(num, elem) {
+ var id = elem.id;
+ var pos = id.indexOf('_');
+ if (pos != -1) {
+ var elemNum = id.substr(pos + 1);
+ if (elemNum != 'new') {
+ filenameChange(elem, elemNum);
+ }
+ }
+ }
+ );
+}