Commit b318d70aa14404d68dd03cb4528145289ae3f676

Authored by nbm
1 parent 2244e784

Use self-rendering fieldsets


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@4082 c91229c3-7414-0410-bfa2-8a42b809f60b
presentation/lookAndFeel/knowledgeTree/documentmanagement/getTypeMetadataFields.php
@@ -8,16 +8,27 @@ require_once(KT_LIB_DIR . '/metadata/fieldset.inc.php'); @@ -8,16 +8,27 @@ require_once(KT_LIB_DIR . '/metadata/fieldset.inc.php');
8 8
9 require_once(KT_LIB_DIR . '/visualpatterns/PatternMetaData.inc'); 9 require_once(KT_LIB_DIR . '/visualpatterns/PatternMetaData.inc');
10 10
  11 +class KTSimplePage {
  12 + function requireJSResource() {
  13 + }
  14 +}
  15 +
11 class GetTypeMetadataFieldsDispatcher extends KTDispatcher { 16 class GetTypeMetadataFieldsDispatcher extends KTDispatcher {
12 function do_main() { 17 function do_main() {
  18 + $this->oPage = new KTSimplePage;
13 return $this->getTypeMetadataFieldsets ($_REQUEST['fDocumentTypeID']); 19 return $this->getTypeMetadataFieldsets ($_REQUEST['fDocumentTypeID']);
14 } 20 }
15 21
16 function getTypeMetadataFieldsets ($iDocumentTypeID) { 22 function getTypeMetadataFieldsets ($iDocumentTypeID) {
  23 + $fieldsets = array();
  24 + $fieldsetDisplayReg =& KTFieldsetDisplayRegistry::getSingleton();
  25 + $activesets = KTFieldset::getForDocumentType($iDocumentTypeID);
  26 + foreach ($activesets as $oFieldset) {
  27 + $displayClass = $fieldsetDisplayReg->getHandler($oFieldset->getNamespace());
  28 + array_push($fieldsets, new $displayClass($oFieldset));
  29 + }
17 $aTemplateData = array( 30 $aTemplateData = array(
18 - 'caption' => _('Type specific meta data'),  
19 - 'empty_message' => _("No Type Specific Meta Data"),  
20 - 'fieldsets' => KTFieldSet::getForDocumentType($iDocumentTypeID), 31 + 'fieldsets' => $fieldsets,
21 ); 32 );
22 $oTemplating = KTTemplating::getSingleton(); 33 $oTemplating = KTTemplating::getSingleton();
23 $oTemplate = $oTemplating->loadTemplate("ktcore/metadata/editable_metadata_fieldsets"); 34 $oTemplate = $oTemplating->loadTemplate("ktcore/metadata/editable_metadata_fieldsets");
templates/ktcore/metadata/editable_metadata_fieldsets.smarty
1 -{$context->oPage->requireJSResource("thirdpartyjs/MochiKit/Base.js")}  
2 -{$context->oPage->requireJSResource("thirdpartyjs/MochiKit/Iter.js")}  
3 -{$context->oPage->requireJSResource("thirdpartyjs/MochiKit/DOM.js")}  
4 -{$context->oPage->requireJSResource("thirdpartyjs/MochiKit/DateTime.js")}  
5 -{$context->oPage->requireJSResource("resources/js/taillog.js")}  
6 -{$context->oPage->requireJSResource("resources/js/conditional_usage.js")}  
7 -  
8 -{literal}  
9 -<style>  
10 -  
11 -.kt_treenodes {  
12 - list-style: none;  
13 - margin: 0;  
14 - padding: 0;  
15 - border: 0;  
16 - text-align: left !important;  
17 -}  
18 -  
19 -.leafnode {font-weight: bold; }  
20 -  
21 -.kt_treenodes ul {  
22 - list-style: none;  
23 - text-align: left;  
24 -}  
25 -.kt_treenodes li.treenode > a.pathnode {  
26 - background: transparent url(/graphics/plus.png) center left no-repeat;  
27 - padding-left: 15px;  
28 -}  
29 -  
30 -.kt_treenodes li.treenode.active > a.pathnode {  
31 - background: transparent url(/graphics/minus.png) center left no-repeat;  
32 -}  
33 -  
34 -.kt_treenodes li.active > ul {  
35 - display: block;  
36 -}  
37 -  
38 -.kt_treenodes li ul {  
39 - display: none;  
40 -}  
41 -  
42 -</style>  
43 -{/literal}  
44 -  
45 -{if !$metadata_prefix}  
46 - {assign var="metadata_prefix" value="emd"}  
47 -{/if}  
48 -  
49 -{if $caption}  
50 - <p>{$caption}</p>  
51 -{/if}  
52 -  
53 {foreach from=$fieldsets item=oFieldset} 1 {foreach from=$fieldsets item=oFieldset}
54 -{if $oFieldset->getIsConditional()}  
55 -<fieldset class="conditional_metadata">  
56 -<input type="hidden" class="fixed" name="fieldset" value="{$oFieldset->getId()}" />  
57 -{else}  
58 -<fieldset>  
59 -{/if}  
60 - <legend><span title="Fieldset: {$oFieldset->getId()}">{$oFieldset->getName()}</span></legend>  
61 -  
62 - <table class="prettysw" cellpadding="0" cellspacing="0">  
63 - <tbody class="conditional_target">  
64 - {if !$oFieldset->getIsConditional()}  
65 - { foreach item=oField from=$oFieldset->getFields() }  
66 - <tr>  
67 - <th>{$oField->getName()}</th>  
68 - <td>  
69 -  
70 - {php}  
71 - $oField = $this->_tpl_vars['oField'];  
72 - $sPrefix = $this->_tpl_vars['metadata_prefix'];  
73 - $sValue = $this->_tpl_vars['values'][$oField->getID()];  
74 - $this->assign('pattern',  
75 - new PatternMetadata($oField->getName(), $sPrefix . $oField->getID(), $sValue));  
76 - {/php}  
77 - {$pattern->render()}  
78 -  
79 - </td>  
80 - </tr>  
81 - { /foreach }  
82 - {/if}  
83 - </tbody>  
84 - </table>  
85 -</fieldset>  
86 -{foreachelse}  
87 -No fields found 2 + {$oFieldset->renderEdit($document_data)}
88 {/foreach} 3 {/foreach}
89 -  
90 -<!--  
91 -<table id="brad-log">  
92 -<tbody><tr><td>asdf</td></tr></tbody>  
93 -</table>  
94 --->