Commit 2244e7846d153106ae459f50a0e65bae401c26ae

Authored by nbm
1 parent 3edf668e

Modernise - use requireJSResource, requireJSStandalone, widgets, and

self-rendering fieldsets.


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@4081 c91229c3-7414-0410-bfa2-8a42b809f60b
templates/ktcore/document/add.smarty
1 -<script language="javascript" src="/thirdpartyjs/MochiKit/Base.js">  
2 -</script>  
3 -<script language="javascript" src="/thirdpartyjs/MochiKit/Async.js">  
4 -</script>  
5 -<script language="javascript" src="/thirdpartyjs/MochiKit/DOM.js">  
6 -</script>  
7 -{literal}  
8 -<script language="javascript">  
9 -  
10 -var fetching = null; 1 +{$context->oPage->requireJSResource('thirdpartyjs/MochiKit/Base.js')}
  2 +{$context->oPage->requireJSResource('thirdpartyjs/MochiKit/Async.js')}
  3 +{$context->oPage->requireJSResource('thirdpartyjs/MochiKit/Iter.js')}
  4 +{$context->oPage->requireJSResource('thirdpartyjs/MochiKit/DOM.js')}
11 5
12 -function swapInItem(req) {  
13 - var cp = getElement(fetching); 6 +{capture assign=sJavascript}
  7 +{literal}
  8 +function swapInItem(elementId, req) {
  9 + var cp = getElement(elementId);
14 cp.innerHTML = req.responseText; 10 cp.innerHTML = req.responseText;
15 initialiseConditionalFieldsets(); 11 initialiseConditionalFieldsets();
16 } 12 }
@@ -21,9 +17,8 @@ function xmlFailure(err) { @@ -21,9 +17,8 @@ function xmlFailure(err) {
21 17
22 function swapElementFromRequest(elementId, url) { 18 function swapElementFromRequest(elementId, url) {
23 var deff = doSimpleXMLHttpRequest(url); 19 var deff = doSimpleXMLHttpRequest(url);
24 - deff.addCallback(swapInItem);  
25 - fetching = elementId;  
26 - var cp = getElement(fetching); 20 + deff.addCallback(partial(swapInItem, elementId));
  21 + var cp = getElement(elementId);
27 cp.innerHTML="loading..."; 22 cp.innerHTML="loading...";
28 } 23 }
29 24
@@ -33,41 +28,45 @@ function getMetadataForType(id) { @@ -33,41 +28,45 @@ function getMetadataForType(id) {
33 + id); 28 + id);
34 } 29 }
35 30
36 -</script> 31 +function document_type_changed() {
  32 + typeselect = getElement('add-document-type');
  33 + getMetadataForType(typeselect.value);
  34 +}
  35 +
  36 +function startupMetadata() {
  37 + typeselect = getElement('add-document-type');
  38 + addToCallStack(typeselect, "onchange", document_type_changed, false);
  39 + document_type_changed();
  40 +}
  41 +
  42 +addLoadEvent(startupMetadata);
37 {/literal} 43 {/literal}
  44 +{/capture}
  45 +{$context->oPage->requireJSStandalone($sJavascript)}
38 46
39 -<h1>Add a document</h1> 47 +<h2>Add a document</h2>
40 48
41 <form method="POST" action="{$smarty.server.PHP_SELF}" enctype="multipart/form-data"> 49 <form method="POST" action="{$smarty.server.PHP_SELF}" enctype="multipart/form-data">
  50 +<fieldset><legend>Add a document</legend>
42 <input type="hidden" name="action" value="upload"> 51 <input type="hidden" name="action" value="upload">
43 <input type="hidden" name="postReceived" value="1"> 52 <input type="hidden" name="postReceived" value="1">
  53 +<input type="hidden" name="fFolderId" value="{$context->oFolder->getId()}">
44 54
45 -<table class="prettysw" cellspacing="0" cellpadding="0">  
46 - <tr>  
47 - <th>Folder</th>  
48 - <td><input type="hidden" name="fFolderId" value="{$folder_id}">{" > "|join:$folder_path_array}</td>  
49 - </tr>  
50 - <tr>  
51 - <th>File</th>  
52 - <td><input type="file" name="fFile"></td>  
53 - </tr>  
54 - <tr>  
55 - <th>Title</th>  
56 - <td><input type="textbox" name="fName"></td>  
57 - </tr>  
58 - <tr>  
59 - <th>Document Type</th>  
60 - <td>{$document_type_choice}</td>  
61 - </tr>  
62 -</table> 55 +{foreach from=$add_fields item=oWidget }
  56 + {$oWidget->render()}
  57 +{/foreach}
63 58
64 <div id="generic_metadata_fields"> 59 <div id="generic_metadata_fields">
65 -{$generic_metadata_fields} 60 +{foreach item=oFieldset from=$generic_fieldsets}
  61 + {$oFieldset->renderEdit($document_data)}
  62 +{/foreach}
66 </div> 63 </div>
67 64
68 <div id="type_metadata_fields"> 65 <div id="type_metadata_fields">
69 {$type_metadata_fields} 66 {$type_metadata_fields}
70 </div> 67 </div>
71 68
72 -<input type="submit" name="submit" value="Import"> 69 +<div class="form_actions">
  70 + <input type="submit" name="submit" value="Import">
  71 +</div>
73 </form> 72 </form>