Import/Export: Fix some style issues

- missing import/export icons in defininition list
- preview looks weird in import & export dialogs
- [object] instead of index in mapping list
This commit is contained in:
nathan 2022-10-26 09:57:34 -06:00
parent 005aaa0ea2
commit 64fd769586
9 changed files with 210 additions and 200 deletions

View File

@ -2143,6 +2143,7 @@ lion-validation-feedback[type] {
border-color: #9ea930; border-color: #9ea930;
background-image: url(images/tick.png); background-image: url(images/tick.png);
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: contain;
padding-left: 20px; padding-left: 20px;
white-space: nowrap; white-space: nowrap;
} }

View File

@ -399,7 +399,7 @@ use EGroupware\Api\Etemplate;
if(count($data) != count($options['csv_fields']) && max(array_keys($data)) != max(array_keys($options['csv_fields']))) if(count($data) != count($options['csv_fields']) && max(array_keys($data)) != max(array_keys($options['csv_fields'])))
{ {
$message[] = lang("Column mismatch. Expected %1 columns, your file has %2.", $message[] = lang("Column mismatch. Expected %1 columns, your file has %2.",
count($options['field_mapping']), count($options['csv_fields']),
count($data) count($data)
); );
$ok = false; $ok = false;

View File

@ -100,11 +100,14 @@ class ImportExportApp extends EgwApp
export_preview(event, widget) export_preview(event, widget)
{ {
var preview = jQuery(widget.getRoot().getWidgetById('preview_box').getDOMNode()); var preview = jQuery(widget.getRoot().getWidgetById('preview_box').getDOMNode());
// TD gets the class too
preview.parent().show();
jQuery('.content', preview).empty() jQuery('.content', preview).empty()
.append('<div class="loading" style="width:100%;height:100%"></div>'); .append('<div class="loading" style="width:100%;height:100%"></div>');
preview preview
.show(100, jQuery.proxy(function() { .show(100, jQuery.proxy(function()
{
widget.clicked = true; widget.clicked = true;
widget.getInstanceManager().submit(false, true); widget.getInstanceManager().submit(false, true);
widget.clicked = false; widget.clicked = false;
@ -115,14 +118,20 @@ class ImportExportApp extends EgwApp
import_preview(event, widget) import_preview(event, widget)
{ {
var test = widget.getRoot().getWidgetById('dry-run'); var test = widget.getRoot().getWidgetById('dry-run');
if(test.getValue() == test.options.unselected_value) return true; if(test.getValue() == test.options.unselected_value)
{
return true;
}
// Show preview // Show preview
var preview = jQuery(widget.getRoot().getWidgetById('preview_box').getDOMNode()); var preview = jQuery(widget.getRoot().getWidgetById('preview_box').getDOMNode());
// TD gets the class too
preview.parent().show();
jQuery('.content', preview).empty(); jQuery('.content', preview).empty();
preview preview
.addClass('loading') .addClass('loading')
.show(100, jQuery.proxy(function() { .show(100, jQuery.proxy(function()
{
widget.clicked = true; widget.clicked = true;
widget.getInstanceManager().submit(false, true); widget.getInstanceManager().submit(false, true);
widget.clicked = false; widget.clicked = false;

View File

@ -1,4 +1,4 @@
div.preview { .preview {
position: absolute; position: absolute;
top: 0px; top: 0px;
left: 0px; left: 0px;
@ -12,11 +12,12 @@ div.preview {
margin: 1.5%; margin: 1.5%;
} }
div.preview .content { .preview .content {
overflow: auto; overflow: auto;
max-height: 99%; max-height: 99%;
display: block; display: block;
} }
.preview_box .header, .preview .header { .preview_box .header, .preview .header {
font-size: 150%; font-size: 150%;
margin-bottom: 5px; margin-bottom: 5px;
@ -28,10 +29,7 @@ div.preview .content {
vertical-align: top; vertical-align: top;
} }
.preview div[id$='buttons'] { .preview [id$='buttons'] {
position: absolute;
bottom: 0px;
width: 100%;
margin-left: 50%; margin-left: 50%;
} }

View File

@ -21,10 +21,13 @@
<nextmatch-accountfilter empty_label="Owner" id="owner"/> <nextmatch-accountfilter empty_label="Owner" id="owner"/>
</row> </row>
<row class="row $row_cont[class]"> <row class="row $row_cont[class]">
<image src="${row}[type]" no_lang="1" onclick="window.open(egw::link('/index.php','menuaction=importexport.importexport_${row_cont[type]}_ui.${row_cont[type]}_dialog&amp;appname=${row_cont[application]}&amp;definition=${row_cont[definition_id]}'),'_blank','dependent=yes,width=850,height=440,scrollbars=yes,status=yes'); return false;" class="lr_padding button"/> <image src="${row_cont[type]}" no_lang="1"
onclick="window.open(egw::link('/index.php','menuaction=importexport.importexport_${row_cont[type]}_ui.${row_cont[type]}_dialog&amp;appname=${row_cont[application]}&amp;definition=${row_cont[definition_id]}'),'_blank','dependent=yes,width=850,height=440,scrollbars=yes,status=yes'); return false;"
class="lr_padding button"/>
<description id="${row}[name]" no_lang="1" class="lr_padding"/> <description id="${row}[name]" no_lang="1" class="lr_padding"/>
<description id="${row}[application]" class="lr_padding"/> <description id="${row}[application]" class="lr_padding"/>
<listbox type="select-account" id="${row}[allowed_users]" no_lang="1" readonly="true" rows="5" empty_label='Private' class="lr_padding"/> <listbox type="select-account" id="${row}[allowed_users]" no_lang="1" readonly="true" rows="5"
empty_label='Private' class="lr_padding"/>
<menulist> <menulist>
<menupopup type="select-account" id="${row}[owner]" readonly="true"/> <menupopup type="select-account" id="${row}[owner]" readonly="true"/>
</menulist> </menulist>

View File

@ -3,7 +3,7 @@
<!-- $Id$ --> <!-- $Id$ -->
<overlay> <overlay>
<template id="importexport.export_dialog.general_tab_content" template="" lang="" group="0" version=""> <template id="importexport.export_dialog.general_tab_content" template="" lang="" group="0" version="">
<grid> <grid width="100%">
<columns> <columns>
<column/> <column/>
<column/> <column/>
@ -21,7 +21,8 @@
<row class="select_definition"> <row class="select_definition">
<description value="Select definition"/> <description value="Select definition"/>
<menulist> <menulist>
<menupopup id="definition" no_lang="1" onchange="widget.getInstanceManager().postSubmit(); return false;"/> <menupopup id="definition" no_lang="1"
onchange="widget.getInstanceManager().postSubmit(); return false;"/>
</menulist> </menulist>
</row> </row>
<row class="select_plugin"> <row class="select_plugin">
@ -39,7 +40,7 @@
</grid> </grid>
</template> </template>
<template id="importexport.export_dialog.general_tab" template="" lang="" group="0" version=""> <template id="importexport.export_dialog.general_tab" template="" lang="" group="0" version="">
<grid height="200px"> <grid height="200px" width="100%">
<columns> <columns>
<column/> <column/>
<column/> <column/>
@ -161,18 +162,21 @@
<hbox span="all"> <hbox span="all">
<hbox> <hbox>
<button label="Export" id="export" image="export" background_image="1"/> <button label="Export" id="export" image="export" background_image="1"/>
<button label="Preview" id="preview" onclick="app.importexport.export_preview" image="prieview" background_image="1"/> <button label="Preview" id="preview" onclick="app.importexport.export_preview"
image="prieview" background_image="1"/>
</hbox> </hbox>
<button class="cancel" align="right" label="Cancel" id="cancel" onclick="window.close(); return false;" image="cancel" background_image="1"/> <button class="cancel" align="right" label="Cancel" id="cancel"
onclick="window.close(); return false;" image="cancel" background_image="1"/>
</hbox> </hbox>
</row> </row>
<row> <row>
<box id="preview_box" span="all" class="preview_box"> <vbox id="preview_box" span="all" class="preview">
<html id="preview-box" class="content"/> <html id="preview-box" class="content"/>
<box align="center" id="preview-box-buttons" class="preview-box-buttons"> <box align="center" id="preview-box-buttons" class="preview-box-buttons">
<button align="center" label="OK" onclick="jQuery(this).parents('div.preview_box').css('display','none'); return false;"/> <button align="center" label="OK"
</box> onclick="jQuery(this).parents('.preview').css('display','none'); return false;"/>
</box> </box>
</vbox>
</row> </row>
</rows> </rows>
</grid> </grid>
@ -203,9 +207,6 @@
overflow: auto; overflow: auto;
} }
.preview-box-buttons { .preview-box-buttons {
position: absolute;
bottom: 0px;
width: 100%;
margin-left: 50%; margin-left: 50%;
} }
</styles> </styles>

View File

@ -22,7 +22,7 @@
</grid> </grid>
</template> </template>
<template id="importexport.import_dialog" template="" lang="" group="0" version="1.9.005"> <template id="importexport.import_dialog" template="" lang="" group="0" version="1.9.005">
<grid> <grid width="100%">
<columns> <columns>
<column/> <column/>
<column/> <column/>
@ -52,12 +52,13 @@
<template template="@plugin_options_template"/> <template template="@plugin_options_template"/>
</row> </row>
<row> <row>
<box id="preview_box" span="all" class="preview"> <vbox id="preview_box" span="all" class="preview">
<html id="preview" class="content"/> <html id="preview" class="content"/>
<box align="center" id="buttons"> <box align="center" id="buttons">
<buttononly align="center" label="OK" onclick="jQuery(this).parents('div.preview').css('display','none'); return false;"/> <buttononly align="center" label="OK"
</box> onclick="jQuery(this).parents('.preview').css('display','none'); return false;"/>
</box> </box>
</vbox>
<description/> <description/>
</row> </row>
<row> <row>

View File

@ -28,7 +28,7 @@
<description value="Translation"/> <description value="Translation"/>
</row> </row>
<row> <row>
<description id="$row_cont[index]" value="$row_cont[index]" no_lang="1"/> <description value="$row_cont[index]" no_lang="1"/>
<description value="$row_cont[title]" no_lang="1"/> <description value="$row_cont[title]" no_lang="1"/>
<listbox id="{$row}[field]" no_lang="1"/> <listbox id="{$row}[field]" no_lang="1"/>
<textbox id="{$row}[conversion]"/> <textbox id="{$row}[conversion]"/>

View File

@ -11,7 +11,7 @@
* @package projectmanager * @package projectmanager
* @version $Id$ * @version $Id$
*/ */
div.preview { .preview {
position: absolute; position: absolute;
top: 0px; top: 0px;
left: 0px; left: 0px;
@ -24,7 +24,7 @@ div.preview {
border: 1px solid black; border: 1px solid black;
margin: 1.5%; margin: 1.5%;
} }
div.preview .content { .preview .content {
overflow: auto; overflow: auto;
max-height: 99%; max-height: 99%;
display: block; display: block;
@ -39,10 +39,7 @@ div.preview .content {
.preview tr { .preview tr {
vertical-align: top; vertical-align: top;
} }
.preview div[id$='buttons'] { .preview [id$='buttons'] {
position: absolute;
bottom: 0px;
width: 100%;
margin-left: 50%; margin-left: 50%;
} }
.wizard_content > div > table { .wizard_content > div > table {