...
The custom data entry layout file for the new page must follow this naming convention: <definition_page_filename>layout.xml. More than one layout files can exist per data entry definition page. In such cases, a default data entry layout file per database must be defined in templates properties file (templates.properties)
ui-expand |
---|
title | New Data Entry Page Example |
---|
|
Code Block |
---|
language | xml |
---|
title | status.xml |
---|
collapse | true |
---|
| <?xml version="1.0" encoding="UTF-8"?><page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/dataEntry.xsd">
<id>jobs/status</id>
<name>key_status</name>
<module>JOBS</module>
<functioncall>
<functions>
<function>
</function>
</functions>
</functioncall>
<datasources>
<datasource>
<key>form</key>
<classname>com.crm.web.generator.datasource.DTODatasource</classname>
</datasource>
</datasources>
<mainmenu>
<components>
<component>
<id>cmpHome</id>
<name>key_home</name>
<visiblemodes>read</visiblemodes>
<elements>
<button>
<id>btnHome</id>
<name>key_home</name>
<setmode>read</setmode>
<refresh>page</refresh>
<url>page.do?act=summary&xml=jobs/statuses</url>
</button>
</elements>
</component>
<component>
<id>cmpNew</id>
<name>key_new</name>
<visiblemodes>read</visiblemodes>
<elements>
<button>
<id>btnNew</id>
<name>key_new</name>
<setmode>new</setmode>
<refresh>page</refresh>
<functioncall>
<functions>
<function>
<type>ejb</type>
<classname>ejb/COMPANYCRMUIJobStatus</classname>
<functionname>createButton</functionname>
<resultaction>replace</resultaction>
<datatype>root</datatype>
</function>
</functions>
</functioncall>
</button>
</elements>
</component>
<component>
<id>cmpEdit</id>
<name>key_edit</name>
<visiblemodes>read</visiblemodes>
<elements>
<button>
<id>btnEdit</id>
<name>key_edit</name>
<visibilityconditions>'[[getValue,java.lang.String,isEditable]]'!='0'</visibilityconditions>
<setmode>edit</setmode>
<refresh>page</refresh>
<disableonclick>true</disableonclick>
<functioncall>
<functions>
<function>
<type>ejb</type>
<classname>ejb/COMPANYCRMUIJobStatus</classname>
<functionname>editButton</functionname>
<resultaction>replace</resultaction>
<datatype>root</datatype>
<parameters>
<parameter>
<value>[[getDTO]]</value>
<datatype>java.lang.Object</datatype>
</parameter>
</parameters>
</function>
</functions>
</functioncall>
</button>
<button>
<id>btnEdit</id>
<name>key_edit</name>
<visibilityconditions>'[[getValue,java.lang.String,isEditable]]'=='0'</visibilityconditions>
<style>TopToolbarItemsDisabled</style>
</button>
</elements>
</component>
<component>
<id>cmpDelete</id>
<name>key_delete</name>
<visiblemodes>read</visiblemodes>
<elements>
<button>
<id>btnDelete</id>
<name>key_delete</name>
<visibilityconditions>'[[getValue,java.lang.String,isDeletable]]'!='0'</visibilityconditions>
<setmode>read</setmode>
<refresh>page</refresh>
<url>page.do?act=summary&xml=jobs/statuses</url>
<functioncall>
<functions>
<function>
<type>ejb</type>
<classname>ejb/COMPANYCRMUIJobStatus</classname>
<functionname>deleteButton</functionname>
<datatype>root</datatype>
<parameters>
<parameter>
<value>[[getDTO]]</value>
<datatype>java.lang.Object</datatype>
</parameter>
</parameters>
</function>
</functions>
</functioncall>
</button>
<button>
<id>btnDelete</id>
<name>key_delete</name>
<visibilityconditions>'[[getValue,java.lang.String,isDeletable]]'=='0'</visibilityconditions>
<style>TopToolbarItemsDisabled</style>
</button>
</elements>
</component>
<component>
<id>cmpSave</id>
<name>key_save</name>
<visiblemodes>edit,new</visiblemodes>
<elements>
<button>
<id>btnSave</id>
<name>key_save</name>
<setmode>read</setmode>
<refresh>page</refresh>
<functioncall>
<functions>
<function>
<type>ejb</type>
<classname>ejb/COMPANYCRMUIJobStatus</classname>
<functionname>saveButton</functionname>
<resultaction>replace</resultaction>
<datatype>root</datatype>
<parameters>
<parameter>
<value>[[getDTO]]</value>
<datatype>java.lang.Object</datatype>
</parameter>
</parameters>
</function>
</functions>
</functioncall>
</button>
</elements>
</component>
<component>
<id>cmpCancel</id>
<name>key_cancel</name>
<visiblemodes>edit,new</visiblemodes>
<elements>
<button>
<id>btnCancel</id>
<name>key_cancel</name>
<setmode>read</setmode>
<refresh>cancel,page.do?act=summary&xml=jobs/statuses</refresh>
</button>
</elements>
</component>
</components>
</mainmenu>
<main>
<components>
<component>
<id>cmpLifeCycleState</id>
<name>key_lifecyclestate</name>
<elements>
<selectbox>
<id>slbLifeCycleState</id>
<lookuptype>ejb</lookuptype>
<label>key_life_cycle_state</label>
<datapath>lifeCycleState</datapath>
<datatype>enum</datatype>
<classname>com.crm.dataobject.jobs.JobLifeCycleState</classname>
<reload>true</reload>
<onload>
<type>ejb</type>
<classname>ejb/CRMUIJob</classname>
<functionname>getLifeCycleStateOptions</functionname>
</onload>
</selectbox>
</elements>
</component>
</components>
</main>
<details>
<tabs>
</tabs>
</details>
</page> |
Code Block |
---|
language | xml |
---|
title | statuslayout.xml |
---|
collapse | true |
---|
| <?xml version="1.0" encoding="UTF-8"?><page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/dataEntryLayout.xsd">
<mainmenu>
<components>
<component><id>cmpHome</id></component>
<component><id>cmpNew</id></component>
<component><id>cmpEdit</id></component>
<component><id>cmpDelete</id></component>
<component><id>cmpSave</id></component>
<component><id>cmpCancel</id></component>
</components>
</mainmenu>
<main>
<view>
<type>areas</type>
<screenareas>
<screenarea>
<leftscreenarea>
<sections>
<section><id>secMainInformation</id></section>
<section><id>secLogInformation</id></section>
</sections>
</leftscreenarea>
</screenarea>
</screenareas>
</view>
<sections>
<section>
<id>secMainInformation</id>
<name>key_main_information</name>
<disable>false</disable>
<instruction>key_instruction_jobs_status_sec_main_information</instruction>
<left>
<components>
<component><id>file:general/name.xml</id></component>
<component><id>file:general/altCode.xml</id></component>
<component><id>cmpLifeCycleState</id></component>
</components>
</left>
<right>
<components>
<component><id>file:general/description_rowspan_2.xml</id></component>
</components>
</right>
</section>
<section>
<id>secLogInformation</id>
<name>key_log_information</name>
<disable>false</disable>
<left>
<columns>3</columns>
<components>
<component>
<id>file:loginfo/logInfoGroup.xml</id>
<colspan>3</colspan>
</component>
</components>
</left>
</section>
</sections>
</main>
<details>
<tabs>
</tabs>
</details>
</page> |
|
As you can see in the example above, for the name, alternative code and log information components, generic components were used. For more information on generic components and how to use them, go to Use Generic Components.
...
The custom data entry layout file must have a unique file path, include ALL sections and components that need to be displayed and be defined in templates.properties file.
ui-expand |
---|
title | Customise Existing Data Entry Page Example |
---|
|
Code Block |
---|
language | xml |
---|
title | contactInformationCustom.xml |
---|
collapse | true |
---|
| <?xml version="1.0" encoding="UTF-8"?><page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/dataEntry.xsd">
<id>contactinfo/contactInformation</id>
<datapath>name</datapath>
<module>CONTACT_INFORMATION</module>
<functioncall>
<functions>
<function>
</function>
</functions>
</functioncall>
<datasources>
<datasource>
<key>form</key>
<classname>com.crm.web.generator.datasource.DTODatasource</classname>
</datasource>
</datasources>
<mainmenu>
</mainmenu>
<main>
<components>
<component>
<id>cmpHomeType</id>
<name>key_home_type</name>
<elements>
<textbox>
<id>txtHomeType</id>
<label>key_home_type</label>
<datapath>ciuserfield2</datapath>
</textbox>
</elements>
</component>
</components>
</main>
<details>
<tabs>
</tabs>
</details>
</page>
|
Code Block |
---|
language | xml |
---|
title | contactInformationCustomlayout.xml |
---|
collapse | true |
---|
| <?xml version="1.0" encoding="UTF-8"?><page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/dataEntryLayout.xsd">
<mainmenu>
<components>
<component><id>cmpHome</id></component>
<component><id>cmpNew</id></component>
<component><id>cmpEdit</id></component>
<component><id>cmpDelete</id></component>
<component><id>cmpSave</id></component>
<component><id>cmpSaveInModal</id></component>
<component><id>cmpCancel</id></component>
<component><id>cmpActions</id></component>
</components>
</mainmenu>
<main>
<view>
<type>list</type>
<screenareas>
<screenarea>
<leftscreenarea>
<sections>
<section><id>secMainInformation</id></section>
...
</sections>
</leftscreenarea>
</screenarea>
</screenareas>
</view>
<sections>
<section>
<id>secMainInformation</id>
<name>key_main_information</name>
<disable>false</disable>
<left>
<components>
...
<component><id>cmpHomeType</id></component>
</components>
</left>
...
</section>
...
</sections>
</main>
<details>
<tabs>
...
</tabs>
</details>
</page> |
|
...