Created click dragger flag to allow container filling, improved auto sizing for active panel clickdragger
This commit is contained in:
parent
ccc26e1ae2
commit
41e70ff3cf
2 changed files with 55 additions and 18 deletions
|
|
@ -46,7 +46,7 @@ class cPanel{
|
|||
/**
|
||||
* Click-Dragger object for re-sizable active panel
|
||||
*/
|
||||
this.activePanelDragger = new canopyUXUtils.clickDragger("#cpanel-active-drag-handle", "#cpanel-active-div", false, null, false, 75, 1);
|
||||
this.activePanelDragger = new canopyUXUtils.clickDragger("#cpanel-active-drag-handle", "#cpanel-active-div", false, null, false, 75, 1, true);
|
||||
|
||||
/**
|
||||
* Click-Dragger object for re-sizable pinned panel
|
||||
|
|
@ -126,7 +126,8 @@ class cPanel{
|
|||
this.activePanelCloseIcon.addEventListener("click", this.hideActivePanel.bind(this));
|
||||
this.activePanelPinIcon.addEventListener("click", this.pinPanel.bind(this));
|
||||
this.activePanelPopoutIcon.addEventListener("click", this.popActivePanel.bind(this));
|
||||
this.client.chatBox.clickDragger.handle.addEventListener("clickdragend", this.handleActivePanelParentWidthChange.bind(this));
|
||||
this.client.chatBox.clickDragger.handle.addEventListener("clickdrag", this.handleActivePanelParentDrag.bind(this));
|
||||
this.client.chatBox.clickDragger.handle.addEventListener("clickdragend", this.handleActivePanelParentDragEnd.bind(this));
|
||||
this.pinnedPanelCloseIcon.addEventListener("click", this.hidePinnedPanel.bind(this));
|
||||
this.pinnedPanelUnpinIcon.addEventListener("click", this.unpinPanel.bind(this));
|
||||
this.pinnedPanelPopoutIcon.addEventListener("click", this.popPinnedPanel.bind(this));
|
||||
|
|
@ -154,12 +155,31 @@ class cPanel{
|
|||
this.activePanel.docSwitch();
|
||||
}
|
||||
|
||||
handleActivePanelParentWidthChange(event){
|
||||
handleActivePanelParentDrag(event){
|
||||
//Get parent width from parent click dragger
|
||||
let parentWidth = event.element.style.width.slice(0,-2);
|
||||
//Get active panel width
|
||||
let elementWidth = this.activePanelDiv.style.width.slice(0,-2);
|
||||
|
||||
//If the element is already at 100%
|
||||
if(elementWidth == "" || elementWidth == 100){
|
||||
//Ignore
|
||||
return;
|
||||
}
|
||||
|
||||
//If the active panel is bigger than the chat parents width
|
||||
if(elementWidth >= parentWidth - this.activePanelDragger.limitTolerance){
|
||||
//Trick the setElementWidth function into making it fill its container
|
||||
this.activePanelDragger.setElementWidth(this.activePanelDragger.sizeLimit);
|
||||
}
|
||||
}
|
||||
|
||||
handleActivePanelParentDragEnd(event){
|
||||
//Get parent width from parent click dragger
|
||||
let parentWidth = event.element.style.width.slice(0,-2);
|
||||
|
||||
//Set activePanelDragger size limit to parent width
|
||||
this.activePanelDragger.sizeLimit = parentWidth;
|
||||
this.activePanelDragger.sizeLimit = Number(parentWidth);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue