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 10 cp.innerHTML = req.responseText;
15 11 initialiseConditionalFieldsets();
16 12 }
... ... @@ -21,9 +17,8 @@ function xmlFailure(err) {
21 17  
22 18 function swapElementFromRequest(elementId, url) {
23 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 22 cp.innerHTML="loading...";
28 23 }
29 24  
... ... @@ -33,41 +28,45 @@ function getMetadataForType(id) {
33 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 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 49 <form method="POST" action="{$smarty.server.PHP_SELF}" enctype="multipart/form-data">
  50 +<fieldset><legend>Add a document</legend>
42 51 <input type="hidden" name="action" value="upload">
43 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 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 63 </div>
67 64  
68 65 <div id="type_metadata_fields">
69 66 {$type_metadata_fields}
70 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 72 </form>
... ...