forked from extern/egroupware
Home WIP: Get calendar working
This commit is contained in:
parent
fc3feb974a
commit
1538496df1
@ -21,6 +21,7 @@ import shoelace from "../Styles/shoelace";
|
||||
import {Et2Dialog} from "../Et2Dialog/Et2Dialog";
|
||||
import {et2_IResizeable} from "../et2_core_interfaces";
|
||||
import {HomeApp} from "../../../../home/js/app";
|
||||
import {etemplate2} from "../etemplate2";
|
||||
|
||||
/**
|
||||
* Participate in Home
|
||||
@ -181,13 +182,14 @@ export class Et2Portlet extends Et2Widget(SlCard)
|
||||
this.settings = typeof attrs.settings == "string" ? data.value || data.settings || {} : attrs.settings;
|
||||
|
||||
// Set size & position, if available
|
||||
if(data && (data.row || data.height))
|
||||
// NB: initial load can't find them by entry in array mgr, we check the data directly
|
||||
if(attrs.row || attrs.height || data.row || data.height)
|
||||
{
|
||||
this.style.gridRow = (data.row || "auto") + " / span " + (data.height || 1);
|
||||
this.style.gridRow = (attrs.row || data.row || "auto") + " / span " + (attrs.height || data.height || 1);
|
||||
}
|
||||
if(data && (data.col || data.width))
|
||||
if(attrs.col || attrs.width || data.col || data.width)
|
||||
{
|
||||
this.style.gridColumn = (data.col || "auto") + " / span " + (data.width || 1);
|
||||
this.style.gridColumn = (attrs.col || data.col || "auto") + " / span " + (attrs.width || data.width || 1);
|
||||
}
|
||||
}
|
||||
|
||||
@ -345,6 +347,9 @@ export class Et2Portlet extends Et2Widget(SlCard)
|
||||
|
||||
// Update position settings
|
||||
this.update_settings({row: row, col: col, width: width, height: height});
|
||||
|
||||
// If there's a full etemplate living inside, make it resize
|
||||
etemplate2.getById(this.id).resize();
|
||||
}
|
||||
|
||||
|
||||
@ -469,9 +474,6 @@ export class Et2Portlet extends Et2Widget(SlCard)
|
||||
// Only resize once, and only if needed
|
||||
if(data.attributes.width || data.attributes.height)
|
||||
{
|
||||
this.style.columnSpan = data.attributes.width;
|
||||
this.style.rowSpan = data.attributes.height;
|
||||
|
||||
// Tell children
|
||||
try
|
||||
{
|
||||
|
@ -15,8 +15,8 @@ use EGroupware\Api\Framework;
|
||||
use EGroupware\Api\Etemplate;
|
||||
|
||||
/**
|
||||
* The addressbook_list_portlet uses a nextmatch / favorite
|
||||
* to display a list of entries.
|
||||
* The list uses a nextmatch / favorite
|
||||
* to display a list of entries, but other views do their own things
|
||||
*/
|
||||
class calendar_favorite_portlet extends home_favorite_portlet
|
||||
{
|
||||
@ -246,7 +246,8 @@ class calendar_favorite_portlet extends home_favorite_portlet
|
||||
return $properties;
|
||||
}
|
||||
|
||||
public function get_actions() {
|
||||
public function get_actions()
|
||||
{
|
||||
if($this->favorite['state']['view'] == 'listview' || !$this->actions)
|
||||
{
|
||||
return array();
|
||||
@ -256,4 +257,9 @@ class calendar_favorite_portlet extends home_favorite_portlet
|
||||
return $this->actions;
|
||||
}
|
||||
}
|
||||
|
||||
public function get_type()
|
||||
{
|
||||
return 'et2-portlet-calendar';
|
||||
}
|
||||
}
|
||||
|
26
calendar/js/Et2PortletCalendar.ts
Normal file
26
calendar/js/Et2PortletCalendar.ts
Normal file
@ -0,0 +1,26 @@
|
||||
import shoelace from "../../api/js/etemplate/Styles/shoelace";
|
||||
import {css} from "@lion/core";
|
||||
import {Et2PortletFavorite} from "../../home/js/Et2PortletFavorite";
|
||||
|
||||
/**
|
||||
* Home portlet to show a note
|
||||
*/
|
||||
export class Et2PortletCalendar extends Et2PortletFavorite
|
||||
{
|
||||
static get styles()
|
||||
{
|
||||
return [
|
||||
...shoelace,
|
||||
...(super.styles || []),
|
||||
css`
|
||||
|
||||
`
|
||||
]
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if(!customElements.get("et2-portlet-calendar"))
|
||||
{
|
||||
customElements.define("et2-portlet-calendar", Et2PortletCalendar);
|
||||
}
|
@ -2296,10 +2296,7 @@ export class et2_calendar_timegrid extends et2_calendar_view implements et2_IDet
|
||||
// Take the whole tab height, or home portlet
|
||||
if(this.getInstanceManager().app === 'home')
|
||||
{
|
||||
var height = jQuery(this.getParent().getDOMNode(this)).parentsUntil('.et2_portlet').last().parent().innerHeight();
|
||||
|
||||
// Allow for portlet header
|
||||
height -= jQuery('.ui-widget-header',this.div.parents('.egw_fw_ui_tab_content')).outerHeight(true);
|
||||
var height = jQuery(this.getParent().getDOMNode(this)).parentsUntil('et2-portlet-calendar').last().innerHeight();
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -2324,7 +2321,7 @@ export class et2_calendar_timegrid extends et2_calendar_view implements et2_IDet
|
||||
|
||||
if(this.getInstanceManager().app === 'home')
|
||||
{
|
||||
var modify_node = jQuery(this.getParent().getDOMNode(this)).parentsUntil('.et2_portlet').last();
|
||||
var modify_node = jQuery(this.getParent().getDOMNode(this)).parentsUntil('et2-portlet-calendar').last();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -16,6 +16,7 @@ import {Et2PortletFavorite} from "./Et2PortletFavorite";
|
||||
import {loadWebComponent} from "../../api/js/etemplate/Et2Widget/Et2Widget";
|
||||
import "./Et2PortletList";
|
||||
import "./Et2PortletNote";
|
||||
import "../../calendar/js/Et2PortletCalendar"
|
||||
import Sortable from "sortablejs/modular/sortable.complete.esm.js";
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user