Set proper mail template according to its pane mode

This commit is contained in:
Hadi Nategh 2022-07-29 13:26:58 +02:00
parent 3a92e104da
commit 0a9693ca17
4 changed files with 107 additions and 49 deletions

View File

@ -486,7 +486,7 @@ class mail_ui
$content[self::$nm_index]['placeholder_actions'] = array('composeasnew');
$content[self::$nm_index]['get_rows'] = 'mail_ui::get_rows';
$content[self::$nm_index]['num_rows'] = 0; // Do not send any rows with initial request
$content[self::$nm_index]['default_cols'] = 'status,attachments,subject,address,date,size'; // I columns to use if there's no user or default pref (! as first char uses all but the named columns), default all columns
$content[self::$nm_index]['default_cols'] = 'avatar,status,attachments,subject,address,date,size'; // I columns to use if there's no user or default pref (! as first char uses all but the named columns), default all columns
$content[self::$nm_index]['csv_fields'] = false;
if ($msg)
{
@ -610,6 +610,7 @@ class mail_ui
case "expand":
case "fixed":
$etpl->setElementAttribute('mailSplitter', 'orientation', 'h');
$etpl->setElementAttribute('nm', 'template', 'mail.index.rows.horizental');
break;
default:
$etpl->setElementAttribute('mailSplitter', 'orientation', 'v');

View File

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE overlay PUBLIC "-//EGroupware GmbH//eTemplate 2//EN" "http://www.egroupware.org/etemplate2.dtd">
<!-- $Id$ -->
<overlay>
<template id="mail.index.rows.horizental" template="" lang="" group="0" version="1.9.001">
<grid width="100%">
<columns>
<column minWidth="50" maxWidth="50" width="50"/>
<column width="20"/>
<column width="20"/>
<column width="40%"/>
<column minWidth="42" width="95"/>
<column width="95"/>
<column width="95"/>
<column width="30%"/>
<column width="30%"/>
<column width="80"/>
<column width="80"/>
</columns>
<rows>
<row class="th">
<nextmatch-header label="avatar" id="avatar"/>
<nextmatch-header statustext="Status" label="St." id="status"/>
<nextmatch-header statustext="attachments, ..." label="..." id="attachments"/>
<nextmatch-sortheader label="subject" id="subject"/>
<nextmatch-sortheader align="center" label="date" id="date" sortmode="DESC"/>
<nextmatch-sortheader align="center" label="arrival" id="arrival"/>
<nextmatch-sortheader label="mail-address" id="address"/>
<nextmatch-sortheader label="to" id="toaddress"/>
<nextmatch-sortheader label="from" id="fromaddress"/>
<nextmatch-sortheader align="center" label="size" id="size"/>
<nextmatch-header statustext="security" label="Security" id="security"/>
</row>
<row class="$row_cont[class]">
<lavatar image="$row_cont[avatar]" fname="$row_cont[address]" size="3.7em" shape="square"/>
<description span="1" class="status_img"/>
<html id="${row}[attachments]"/>
<vbox>
<description id="${row}[subject]" no_lang="1"/>
<description id="${row}[bodypreview]" no_lang="1" class='et2_label bodypreview'/>
</vbox>
<hbox>
<date-time_today align="center" id="${row}[date]" readonly="true"/>
</hbox>
<date-time_today align="center" id="${row}[modified]" readonly="true"/>
<url-email id="${row}[address]" contact_plus = "true" readonly="true"/>
<url-email id="${row}[toaddress]" contact_plus = "true" readonly="true"/>
<url-email id="${row}[fromaddress]" contact_plus = "true" readonly="true"/>
<vfs-size align="right" id="${row}[size]" no_lang="1" readonly="true"/>
<image src="$row_cont[smime]" />
</row>
</rows>
</grid>
</template>
</overlay>

View File

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE overlay PUBLIC "-//EGroupware GmbH//eTemplate 2//EN" "http://www.egroupware.org/etemplate2.dtd">
<!-- $Id$ -->
<overlay>
<template id="mail.index.rows.vertical" template="" lang="" group="0" version="1.9.001">
<grid width="100%">
<columns>
<column width="90%"/>
<column width="80"/>
</columns>
<rows>
<row class="th">
<nextmatch-sortheader label="subject" id="subject"/>
<nextmatch-sortheader align="center" label="date" id="date" sortmode="DESC"/>
<nextmatch-sortheader align="center" label="arrival" id="arrival"/>
<nextmatch-sortheader label="mail-address" id="address"/>
<nextmatch-sortheader label="to" id="toaddress"/>
<nextmatch-sortheader label="from" id="fromaddress"/>
<nextmatch-sortheader align="center" label="size" id="size"/>
<nextmatch-header statustext="security" label="Security" id="security"/>
</row>
<row class="$row_cont[class]">
<hbox class="$row_cont[class] mobile_cat_col">
<lavatar image="$row_cont[avatar]" fname="$row_cont[address]" size="3.7em" shape="square"/>
<vbox>
<url-email id="${row}[address]" class="$row_cont[class]" readonly="true"/>
<hbox>
<description id="${row}[subject]" no_lang="1" class="$row_cont[class]" />
</hbox>
<description id="${row}[bodypreview]" no_lang="1" class='et2_label bodypreview'/>
</vbox>
</hbox>
<vbox>
<hbox>
<date-time_today align="center" class="$row_cont[class]" id="${row}[date]" readonly="true"/>
</hbox>
<hbox>
<image src="$row_cont[smime]" height="16px"/>
<html id="${row}[attachments]"/>
<description class="status_img $row_cont[class]"/>
</hbox>
</vbox>
</row>
</rows>
</grid>
</template>
</overlay>

View File

@ -4,13 +4,12 @@
<overlay>
<template id="mail.index.splitter" height="100%" template="" lang="" group="0" version="1.9.001">
<split dock_side="bottomDock" id="mailSplitter">
<nextmatch id="nm" onselect="app.mail.mail_preview" class="" template="mail.index.rows" header_left="mail.index.add" header_right="mail.index.header_right" disable_selection_advance="true"/>
<nextmatch id="nm" onselect="app.mail.mail_preview" class="" template="mail.index.rows.vertical" header_left="mail.index.add" header_right="mail.index.header_right" disable_selection_advance="true"/>
<template id="mail.index.preview"/>
</split>
</template>
<template id="mail.index.preview">
<toolbar id="toolbar" list_header="short"/>
<grid id="mailPreview" width="100%" height="100%" >
<columns>
<column/>
@ -25,7 +24,6 @@
<image src="mail"/>
<description value="Select an item to read"/>
</box>
<hbox class="mailPreviewHeaders">
<description id="subject" readonly="true"
hover_action="app.mail.modifyMessageSubjectDialog"
@ -143,54 +141,10 @@
</rows>
</grid>
</template>
<template id="mail.index.nosplitter" template="" lang="" group="0" version="1.9.001">
<nextmatch id="nm" onselect="app.mail.mail_preview" template="mail.index.rows" header_left="mail.index.add"
<nextmatch id="nm" onselect="app.mail.mail_preview" template="mail.index.rows.horizental" header_left="mail.index.add"
header_right="mail.index.header_right"/>
</template>
<template id="mail.index.rows" template="" lang="" group="0" version="1.9.001">
<grid width="100%">
<columns>
<column width="90%"/>
<column width="80"/>
</columns>
<rows>
<row class="th">
<nextmatch-sortheader label="subject" id="subject"/>
<nextmatch-sortheader align="center" label="date" id="date" sortmode="DESC"/>
<nextmatch-sortheader align="center" label="arrival" id="arrival"/>
<nextmatch-sortheader label="mail-address" id="address"/>
<nextmatch-sortheader label="to" id="toaddress"/>
<nextmatch-sortheader label="from" id="fromaddress"/>
<nextmatch-sortheader align="center" label="size" id="size"/>
<nextmatch-header statustext="security" label="Security" id="security"/>
</row>
<row class="$row_cont[class]">
<hbox class="$row_cont[class] mobile_cat_col">
<lavatar image="$row_cont[avatar]" fname="$row_cont[address]" size="3.7em" shape="square"/>
<vbox>
<url-email id="${row}[address]" class="$row_cont[class]" readonly="true"/>
<hbox>
<description id="${row}[subject]" no_lang="1" class="$row_cont[class]" />
</hbox>
<description id="${row}[bodypreview]" no_lang="1" class='et2_label bodypreview'/>
</vbox>
</hbox>
<vbox>
<hbox>
<date-time_today align="center" class="$row_cont[class]" id="${row}[date]" readonly="true"/>
</hbox>
<hbox>
<image src="$row_cont[smime]" height="16px"/>
<html id="${row}[attachments]"/>
<description class="status_img $row_cont[class]"/>
</hbox>
</vbox>
</row>
</rows>
</grid>
</template>
<template id="mail.index.add" template="" lang="" group="0" version="1.9.001">
<buttononly id="button[mailcreate]" onclick="app.mail.mail_compose(false);" label="Compose" image="add"/>
</template>