* Etemplate: Add link icon overlay to link list

This commit is contained in:
nathan 2021-12-03 14:18:48 -07:00
parent de2c406c76
commit 5b7706c77d
6 changed files with 95 additions and 62 deletions

View File

@ -1683,7 +1683,8 @@ var et2_link_list = /** @class */ (function (_super) {
download_url: _link_data.download_url, download_url: _link_data.download_url,
name: _link_data.title, name: _link_data.title,
mime: _link_data.type, mime: _link_data.type,
path: _link_data.icon path: _link_data.icon,
mode: _link_data.mode
}); });
icon.append(vfs_widget.getDOMNode()); icon.append(vfs_widget.getDOMNode());
} }

View File

@ -2074,7 +2074,8 @@ export class et2_link_list extends et2_link_string
download_url:_link_data.download_url, download_url:_link_data.download_url,
name:_link_data.title, name:_link_data.title,
mime:_link_data.type, mime:_link_data.type,
path:_link_data.icon path:_link_data.icon,
mode: _link_data.mode
}); });
icon.append(vfs_widget.getDOMNode()); icon.append(vfs_widget.getDOMNode());
} }

View File

@ -198,12 +198,18 @@ class Link extends Etemplate\Widget
$link['help'] = lang('Delete this file'); $link['help'] = lang('Delete this file');
$link['title'] = Api\Vfs::decodePath($link['title']); $link['title'] = Api\Vfs::decodePath($link['title']);
$link['icon'] = Api\Link::vfs_path($link['app2'],$link['id2'],$link['id'],true); $link['icon'] = Api\Link::vfs_path($link['app2'],$link['id2'],$link['id'],true);
$link['download_url'] = Api\Vfs::download_url($link['icon']); $link['download_url'] = Api\Vfs::download_url($link['icon']);
// Make links to directories load in filemanager // Make links to directories load in filemanager
if($link['type'] == Api\Vfs::DIR_MIME_TYPE) if($link['type'] == Api\Vfs::DIR_MIME_TYPE)
{ {
$link['target'] = 'filemanager'; $link['target'] = 'filemanager';
} }
else
{
$stat = Api\Vfs::lstat($link['icon']);
$link['mode'] = $stat['mode'];
}
} }
else else
{ {

View File

@ -1034,6 +1034,7 @@ ul.et2_link_string {
-ms-user-select: none; -ms-user-select: none;
user-select: none; user-select: none;
white-space: normal; white-space: normal;
margin-bottom:2px;
} }
.et2_link_list tr { .et2_link_list tr {
cursor: pointer; cursor: pointer;
@ -2713,25 +2714,36 @@ span.et2_checkbox_slideSwitch.switchOn > span.slideSwitch_container a {
float: left; float: left;
} }
.et2_toolbar_more span.et2_checkbox_slideSwitch > input { .et2_toolbar_more span.et2_checkbox_slideSwitch > input {
display: none; display: none;
} }
.et2_radiobox { .et2_radiobox {
margin-right: 10px; margin-right: 10px;
} }
.et2_radiobox[disabled] { .et2_radiobox[disabled] {
opacity: 0.5; opacity: 0.5;
} }
.overlayContainer {
position: absolute;
right: -2px;
bottom: -2px;
vertical-align: bottom;
text-align: right;
}
/** /**
* Do not wrap content of a single widget incl. a label or children of a hbox. * Do not wrap content of a single widget incl. a label or children of a hbox.
* Taking into eg. select-account widget rendered as ul and prefixed with a label * Taking into eg. select-account widget rendered as ul and prefixed with a label
* and maintaining some space between widgets. * and maintaining some space between widgets.
*/ */
.et2_nowrap{ .et2_nowrap {
white-space: nowrap; white-space: nowrap;
} }
ul.et2_nowrap, div.et2_nowrap{
display: inline-block; ul.et2_nowrap, div.et2_nowrap {
display: inline-block;
} }
.et2_nowrap > *{ .et2_nowrap > *{
padding-left: 5px; padding-left: 5px;

View File

@ -4173,36 +4173,45 @@ td.message span.message {
* @version $Id: layout_table.less 3089 2014-06-11 14:02:57Z pixelegg $ * @version $Id: layout_table.less 3089 2014-06-11 14:02:57Z pixelegg $
*/ */
/*z.b. Dateimanager overlay*/ /*z.b. Dateimanager overlay*/
.egwGridView_grid span.iconOverlayContainer { span.iconOverlayContainer {
margin: 2px 5px 2px 2px; margin: 2px 5px 2px 2px;
position: relative; position: relative;
-moz-user-select: none; -moz-user-select: none;
-khtml-user-select: none; -khtml-user-select: none;
user-select: none; user-select: none;
overflow: visible; overflow: visible;
display: inline-block; display: inline-block;
} }
.egwGridView_grid span.overlayContainer {
position: absolute; span.overlayContainer {
right: -2px; position: absolute;
bottom: -2px; right: -2px;
vertical-align: bottom; bottom: -2px;
text-align: right; vertical-align: bottom;
text-align: right;
} }
.egwGridView_grid span.iconContainer {
display: inline-block; span.iconContainer {
padding: 0; display: inline-block;
margin: 0; padding: 0;
text-align: center; margin: 0;
text-align: center;
} }
.egwGridView_grid span.overlayContainer img.overlay {
position: relative; span.overlayContainer img.overlay {
top: 1px; position: relative;
margin: 0; top: 1px;
padding: 0; margin: 0;
height: 9px; padding: 0;
width: 11px; height: 9px;
width: 11px;
} }
.et2_link_list span.overlayContainer img.overlay {
height: 9px !important;
width: 9px !important;
}
/** /**
* EGroupware: Stylite Pixelegg template * EGroupware: Stylite Pixelegg template
* *

View File

@ -15,39 +15,43 @@
//############################################################################################################## //##############################################################################################################
/*z.b. Dateimanager overlay*/ /*z.b. Dateimanager overlay*/
.egwGridView_grid span.iconOverlayContainer { span.iconOverlayContainer {
margin: 2px 5px 2px 2px; margin: 2px 5px 2px 2px;
position: relative; position: relative;
-moz-user-select: none; -moz-user-select: none;
-khtml-user-select: none; -khtml-user-select: none;
user-select: none; user-select: none;
overflow: visible; overflow: visible;
display: inline-block; display: inline-block;
} }
.egwGridView_grid span.overlayContainer { span.overlayContainer {
position: absolute; position: absolute;
right: -2px; right: -2px;
bottom: -2px; bottom: -2px;
vertical-align: bottom; vertical-align: bottom;
text-align: right; text-align: right;
} }
.egwGridView_grid span.iconContainer { span.iconContainer {
display: inline-block; display: inline-block;
padding: 0; padding: 0;
margin: 0; margin: 0;
text-align: center; text-align: center;
} }
.egwGridView_grid span.overlayContainer img.overlay { span.overlayContainer img.overlay {
position: relative; position: relative;
top: 1px; top: 1px;
margin: 0; margin: 0;
padding: 0; padding: 0;
height: 9px; height: 9px;
width: 11px; width: 11px;
} }
.et2_link_list span.overlayContainer img.overlay {
height: 9px !important;
width: 9px !important;
}