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 8  
9 9 require_once(KT_LIB_DIR . '/visualpatterns/PatternMetaData.inc');
10 10  
  11 +class KTSimplePage {
  12 + function requireJSResource() {
  13 + }
  14 +}
  15 +
11 16 class GetTypeMetadataFieldsDispatcher extends KTDispatcher {
12 17 function do_main() {
  18 + $this->oPage = new KTSimplePage;
13 19 return $this->getTypeMetadataFieldsets ($_REQUEST['fDocumentTypeID']);
14 20 }
15 21  
16 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 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 33 $oTemplating = KTTemplating::getSingleton();
23 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 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 3 {/foreach}
89   -
90   -<!--
91   -<table id="brad-log">
92   -<tbody><tr><td>asdf</td></tr></tbody>
93   -</table>
94   --->
... ...