IDEMPIERE-4084 - Improve toolbar customization
This commit is contained in:
parent
0b10b5ee1e
commit
33d2a4d0f7
|
@ -0,0 +1,47 @@
|
||||||
|
SET SQLBLANKLINES ON
|
||||||
|
SET DEFINE OFF
|
||||||
|
|
||||||
|
-- IDEMPIERE-4084 improve toolbar more configurable
|
||||||
|
-- Jan 24, 2020, 8:22:03 PM CET
|
||||||
|
INSERT INTO AD_Element (AD_Element_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,ColumnName,Name,Help,PrintName,EntityType,AD_Element_UU) VALUES (203396,0,0,'Y',TO_DATE('2020-01-24 20:22:02','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2020-01-24 20:22:02','YYYY-MM-DD HH24:MI:SS'),100,'isShowMore','Group in show more',NULL,'Group in show more','D','ba2bc74f-3b73-48c0-b1fa-8182d5275c77')
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 24, 2020, 8:22:34 PM CET
|
||||||
|
INSERT INTO AD_Column (AD_Column_ID,Version,Name,AD_Table_ID,ColumnName,DefaultValue,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure,IsHtml) VALUES (214166,0,'Group in show more',200003,'isShowMore','N',1,'N','N','N','N','N',0,'N',20,0,0,'Y',TO_DATE('2020-01-24 20:22:34','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2020-01-24 20:22:34','YYYY-MM-DD HH24:MI:SS'),100,203396,'Y','N','D','N','N','N','Y','065f4119-dd27-42bf-997a-cfa9af541363','Y',0,'N','N','N')
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 24, 2020, 8:22:51 PM CET
|
||||||
|
ALTER TABLE AD_ToolBarButton ADD isShowMore CHAR(1) DEFAULT 'N' CHECK (isShowMore IN ('Y','N'))
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 24, 2020, 8:23:08 PM CET
|
||||||
|
INSERT INTO AD_Field (AD_Field_ID,Name,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLength,SeqNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,XPosition,ColumnSpan) VALUES (206377,'Group in show more',200002,214166,'Y',1,160,'N','N','N','N',0,0,'Y',TO_DATE('2020-01-24 20:23:07','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2020-01-24 20:23:07','YYYY-MM-DD HH24:MI:SS'),100,'N','Y','D','df8fdfc2-139d-4246-95bb-89c62b72ab98','Y',160,2,2)
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 24, 2020, 8:23:47 PM CET
|
||||||
|
UPDATE AD_Field SET IsDisplayed='Y', SeqNo=110, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=5, IsToolbarButton=NULL,Updated=TO_DATE('2020-01-24 20:23:47','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=206377
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 24, 2020, 8:23:47 PM CET
|
||||||
|
UPDATE AD_Field SET SeqNo=120, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2020-01-24 20:23:47','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200753
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 24, 2020, 8:23:47 PM CET
|
||||||
|
UPDATE AD_Field SET SeqNo=130, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2020-01-24 20:23:47','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202546
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 24, 2020, 8:23:47 PM CET
|
||||||
|
UPDATE AD_Field SET SeqNo=140, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2020-01-24 20:23:47','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202547
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 24, 2020, 8:33:05 PM CET
|
||||||
|
INSERT INTO AD_Message (MsgType,MsgText,MsgTip,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('M','More','',0,0,'Y',TO_DATE('2020-01-24 20:33:05','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2020-01-24 20:33:05','YYYY-MM-DD HH24:MI:SS'),100,200593,'ShowMore','D','a0b7f1d7-4bfd-4a5a-a86b-6e85aae57d17')
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 24, 2020, 8:33:46 PM CET
|
||||||
|
UPDATE AD_Field SET DisplayLogic='@Action@=W', AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2020-01-24 20:33:46','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=206377
|
||||||
|
;
|
||||||
|
|
||||||
|
SELECT register_migration_script('202001291950_IDEMPIERE-4084.sql') FROM dual
|
||||||
|
;
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
-- IDEMPIERE-4084 improve toolbar more configurable
|
||||||
|
-- Jan 24, 2020, 8:22:03 PM CET
|
||||||
|
INSERT INTO AD_Element (AD_Element_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,ColumnName,Name,Help,PrintName,EntityType,AD_Element_UU) VALUES (203396,0,0,'Y',TO_TIMESTAMP('2020-01-24 20:22:02','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2020-01-24 20:22:02','YYYY-MM-DD HH24:MI:SS'),100,'isShowMore','Group in show more',NULL,'Group in show more','D','ba2bc74f-3b73-48c0-b1fa-8182d5275c77')
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 24, 2020, 8:22:34 PM CET
|
||||||
|
INSERT INTO AD_Column (AD_Column_ID,Version,Name,AD_Table_ID,ColumnName,DefaultValue,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure,IsHtml) VALUES (214166,0,'Group in show more',200003,'isShowMore','N',1,'N','N','N','N','N',0,'N',20,0,0,'Y',TO_TIMESTAMP('2020-01-24 20:22:34','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2020-01-24 20:22:34','YYYY-MM-DD HH24:MI:SS'),100,203396,'Y','N','D','N','N','N','Y','065f4119-dd27-42bf-997a-cfa9af541363','Y',0,'N','N','N')
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 24, 2020, 8:22:51 PM CET
|
||||||
|
ALTER TABLE AD_ToolBarButton ADD COLUMN isShowMore CHAR(1) DEFAULT 'N' CHECK (isShowMore IN ('Y','N'))
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 24, 2020, 8:23:08 PM CET
|
||||||
|
INSERT INTO AD_Field (AD_Field_ID,Name,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLength,SeqNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,XPosition,ColumnSpan) VALUES (206377,'Group in show more',200002,214166,'Y',1,160,'N','N','N','N',0,0,'Y',TO_TIMESTAMP('2020-01-24 20:23:07','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2020-01-24 20:23:07','YYYY-MM-DD HH24:MI:SS'),100,'N','Y','D','df8fdfc2-139d-4246-95bb-89c62b72ab98','Y',160,2,2)
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 24, 2020, 8:23:47 PM CET
|
||||||
|
UPDATE AD_Field SET IsDisplayed='Y', SeqNo=110, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=5, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2020-01-24 20:23:47','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=206377
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 24, 2020, 8:23:47 PM CET
|
||||||
|
UPDATE AD_Field SET SeqNo=120, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2020-01-24 20:23:47','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200753
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 24, 2020, 8:23:47 PM CET
|
||||||
|
UPDATE AD_Field SET SeqNo=130, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2020-01-24 20:23:47','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202546
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 24, 2020, 8:23:47 PM CET
|
||||||
|
UPDATE AD_Field SET SeqNo=140, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2020-01-24 20:23:47','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202547
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 24, 2020, 8:33:05 PM CET
|
||||||
|
INSERT INTO AD_Message (MsgType,MsgText,MsgTip,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('M','More','',0,0,'Y',TO_TIMESTAMP('2020-01-24 20:33:05','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2020-01-24 20:33:05','YYYY-MM-DD HH24:MI:SS'),100,200593,'ShowMore','D','a0b7f1d7-4bfd-4a5a-a86b-6e85aae57d17')
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 24, 2020, 8:33:46 PM CET
|
||||||
|
UPDATE AD_Field SET DisplayLogic='@Action@=W', AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2020-01-24 20:33:46','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=206377
|
||||||
|
;
|
||||||
|
|
||||||
|
SELECT register_migration_script('202001291950_IDEMPIERE-4084.sql') FROM dual
|
||||||
|
;
|
||||||
|
|
|
@ -250,6 +250,15 @@ public interface I_AD_ToolBarButton
|
||||||
*/
|
*/
|
||||||
public boolean isCustomization();
|
public boolean isCustomization();
|
||||||
|
|
||||||
|
/** Column name isShowMore */
|
||||||
|
public static final String COLUMNNAME_isShowMore = "isShowMore";
|
||||||
|
|
||||||
|
/** Set Group in show more */
|
||||||
|
public void setisShowMore (boolean isShowMore);
|
||||||
|
|
||||||
|
/** Get Group in show more */
|
||||||
|
public boolean isShowMore();
|
||||||
|
|
||||||
/** Column name KeyStroke_KeyCode */
|
/** Column name KeyStroke_KeyCode */
|
||||||
public static final String COLUMNNAME_KeyStroke_KeyCode = "KeyStroke_KeyCode";
|
public static final String COLUMNNAME_KeyStroke_KeyCode = "KeyStroke_KeyCode";
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ public class X_AD_ToolBarButton extends PO implements I_AD_ToolBarButton, I_Pers
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 20191121L;
|
private static final long serialVersionUID = 20200124L;
|
||||||
|
|
||||||
/** Standard Constructor */
|
/** Standard Constructor */
|
||||||
public X_AD_ToolBarButton (Properties ctx, int AD_ToolBarButton_ID, String trxName)
|
public X_AD_ToolBarButton (Properties ctx, int AD_ToolBarButton_ID, String trxName)
|
||||||
|
@ -364,6 +364,27 @@ public class X_AD_ToolBarButton extends PO implements I_AD_ToolBarButton, I_Pers
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Set Group in show more.
|
||||||
|
@param isShowMore Group in show more */
|
||||||
|
public void setisShowMore (boolean isShowMore)
|
||||||
|
{
|
||||||
|
set_Value (COLUMNNAME_isShowMore, Boolean.valueOf(isShowMore));
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Get Group in show more.
|
||||||
|
@return Group in show more */
|
||||||
|
public boolean isShowMore ()
|
||||||
|
{
|
||||||
|
Object oo = get_Value(COLUMNNAME_isShowMore);
|
||||||
|
if (oo != null)
|
||||||
|
{
|
||||||
|
if (oo instanceof Boolean)
|
||||||
|
return ((Boolean)oo).booleanValue();
|
||||||
|
return "Y".equals(oo);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/** Set KeyCode.
|
/** Set KeyCode.
|
||||||
@param KeyStroke_KeyCode
|
@param KeyStroke_KeyCode
|
||||||
KeyCode for shortcuts
|
KeyCode for shortcuts
|
||||||
|
|
|
@ -143,7 +143,7 @@ public class WArchive implements EventListener<Event>
|
||||||
//
|
//
|
||||||
|
|
||||||
m_popup.setPage(invoker.getPage());
|
m_popup.setPage(invoker.getPage());
|
||||||
m_popup.open(invoker);
|
m_popup.open(invoker, "after_start");
|
||||||
} // getZoomTargets
|
} // getZoomTargets
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -182,7 +182,7 @@ public class WRequest implements EventListener<Event>
|
||||||
}
|
}
|
||||||
|
|
||||||
m_popup.setPage(invoker.getPage());
|
m_popup.setPage(invoker.getPage());
|
||||||
m_popup.open(invoker);
|
m_popup.open(invoker, "after_start");
|
||||||
} // getZoomTargets
|
} // getZoomTargets
|
||||||
|
|
||||||
public void onEvent(final Event e) throws Exception
|
public void onEvent(final Event e) throws Exception
|
||||||
|
|
|
@ -31,6 +31,7 @@ import org.adempiere.webui.LayoutUtils;
|
||||||
import org.adempiere.webui.action.Actions;
|
import org.adempiere.webui.action.Actions;
|
||||||
import org.adempiere.webui.action.IAction;
|
import org.adempiere.webui.action.IAction;
|
||||||
import org.adempiere.webui.component.FToolbar;
|
import org.adempiere.webui.component.FToolbar;
|
||||||
|
import org.adempiere.webui.component.Menupopup;
|
||||||
import org.adempiere.webui.component.Tabpanel;
|
import org.adempiere.webui.component.Tabpanel;
|
||||||
import org.adempiere.webui.component.ToolBarButton;
|
import org.adempiere.webui.component.ToolBarButton;
|
||||||
import org.adempiere.webui.event.ToolbarListener;
|
import org.adempiere.webui.event.ToolbarListener;
|
||||||
|
@ -61,10 +62,12 @@ import org.zkoss.zk.ui.event.KeyEvent;
|
||||||
import org.zkoss.zk.ui.event.OpenEvent;
|
import org.zkoss.zk.ui.event.OpenEvent;
|
||||||
import org.zkoss.zk.ui.util.Clients;
|
import org.zkoss.zk.ui.util.Clients;
|
||||||
import org.zkoss.zul.A;
|
import org.zkoss.zul.A;
|
||||||
|
import org.zkoss.zul.Menuitem;
|
||||||
import org.zkoss.zul.Popup;
|
import org.zkoss.zul.Popup;
|
||||||
import org.zkoss.zul.Separator;
|
import org.zkoss.zul.Separator;
|
||||||
import org.zkoss.zul.Space;
|
import org.zkoss.zul.Space;
|
||||||
import org.zkoss.zul.Toolbarbutton;
|
import org.zkoss.zul.Toolbarbutton;
|
||||||
|
import org.zkoss.zul.impl.LabelImageElement;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -114,7 +117,12 @@ public class ADWindowToolbar extends FToolbar implements EventListener<Event>
|
||||||
|
|
||||||
private ToolBarButton btnProcess;
|
private ToolBarButton btnProcess;
|
||||||
|
|
||||||
|
private ToolBarButton btnShowMore;
|
||||||
|
private Menupopup menupopup;
|
||||||
|
|
||||||
private HashMap<String, ToolBarButton> buttons = new HashMap<String, ToolBarButton>();
|
private HashMap<String, ToolBarButton> buttons = new HashMap<String, ToolBarButton>();
|
||||||
|
private HashMap<ToolBarButton, Menuitem> menuItems = new HashMap<ToolBarButton, Menuitem>();
|
||||||
|
private ArrayList<ToolBarButton> mobileShowMoreButtons = new ArrayList<ToolBarButton>();
|
||||||
|
|
||||||
// private ToolBarButton btnExit;
|
// private ToolBarButton btnExit;
|
||||||
|
|
||||||
|
@ -168,6 +176,10 @@ public class ADWindowToolbar extends FToolbar implements EventListener<Event>
|
||||||
{
|
{
|
||||||
LayoutUtils.addSclass("adwindow-toolbar", this);
|
LayoutUtils.addSclass("adwindow-toolbar", this);
|
||||||
|
|
||||||
|
//Show more menu pop up
|
||||||
|
menupopup = new Menupopup();
|
||||||
|
this.appendChild(menupopup);
|
||||||
|
|
||||||
btnIgnore = createButton("Ignore", "Ignore", "Ignore");
|
btnIgnore = createButton("Ignore", "Ignore", "Ignore");
|
||||||
btnIgnore.setTooltiptext(btnIgnore.getTooltiptext()+ " Alt+Z");
|
btnIgnore.setTooltiptext(btnIgnore.getTooltiptext()+ " Alt+Z");
|
||||||
btnHelp = createButton("Help", "Help","Help");
|
btnHelp = createButton("Help", "Help","Help");
|
||||||
|
@ -237,6 +249,10 @@ public class ADWindowToolbar extends FToolbar implements EventListener<Event>
|
||||||
btnFileImport = createButton("FileImport", "FileImport", "FileImport");
|
btnFileImport = createButton("FileImport", "FileImport", "FileImport");
|
||||||
btnCSVImport = createButton("CSVImport", "CSVImport", "CSVImport");
|
btnCSVImport = createButton("CSVImport", "CSVImport", "CSVImport");
|
||||||
|
|
||||||
|
btnShowMore = createButton("ShowMore", "ShowMore", "ShowMore");
|
||||||
|
btnShowMore.setDisabled(true);
|
||||||
|
btnShowMore.setVisible(false);
|
||||||
|
|
||||||
MToolBarButton[] officialButtons = MToolBarButton.getToolbarButtons("W", null);
|
MToolBarButton[] officialButtons = MToolBarButton.getToolbarButtons("W", null);
|
||||||
for (MToolBarButton button : officialButtons) {
|
for (MToolBarButton button : officialButtons) {
|
||||||
if (! button.isActive()) {
|
if (! button.isActive()) {
|
||||||
|
@ -273,11 +289,22 @@ public class ADWindowToolbar extends FToolbar implements EventListener<Event>
|
||||||
ToolbarCustomButton toolbarCustomBtn = new ToolbarCustomButton(button, btn, actionId, windowNo);
|
ToolbarCustomButton toolbarCustomBtn = new ToolbarCustomButton(button, btn, actionId, windowNo);
|
||||||
toolbarCustomButtons.add(toolbarCustomBtn);
|
toolbarCustomButtons.add(toolbarCustomBtn);
|
||||||
|
|
||||||
|
if (ClientInfo.isMobile() && button.isShowMore())
|
||||||
|
mobileShowMoreButtons.add(btn);
|
||||||
|
else if (button.isShowMore())
|
||||||
|
createMenuitem(btn);
|
||||||
|
else {
|
||||||
this.appendChild(btn);
|
this.appendChild(btn);
|
||||||
action.decorate(btn);
|
action.decorate(btn);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (buttons.get(button.getComponentName()) != null) {
|
if (buttons.get(button.getComponentName()) != null) {
|
||||||
|
if (ClientInfo.isMobile() && button.isShowMore())
|
||||||
|
mobileShowMoreButtons.add(buttons.get(button.getComponentName()));
|
||||||
|
else if (button.isShowMore())
|
||||||
|
createMenuitem(buttons.get(button.getComponentName()));
|
||||||
|
else {
|
||||||
this.appendChild(buttons.get(button.getComponentName()));
|
this.appendChild(buttons.get(button.getComponentName()));
|
||||||
if (button.isAddSeparator()) {
|
if (button.isAddSeparator()) {
|
||||||
this.appendChild(new Separator("vertical"));
|
this.appendChild(new Separator("vertical"));
|
||||||
|
@ -285,6 +312,12 @@ public class ADWindowToolbar extends FToolbar implements EventListener<Event>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
if (!ClientInfo.isMobile() && !menuItems.isEmpty()) {
|
||||||
|
this.appendChild(btnShowMore);
|
||||||
|
btnShowMore.setDisabled(false);
|
||||||
|
btnShowMore.setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
configureKeyMap();
|
configureKeyMap();
|
||||||
|
|
||||||
|
@ -329,11 +362,37 @@ public class ADWindowToolbar extends FToolbar implements EventListener<Event>
|
||||||
return btn;
|
return btn;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create Menu Item based on ToolBar button
|
||||||
|
* @param button
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private Menuitem createMenuitem(ToolBarButton button){
|
||||||
|
Menuitem item = new Menuitem(button.getTooltiptext());
|
||||||
|
if (button.getImage() != null)
|
||||||
|
item.setImage(button.getImage());
|
||||||
|
else if (ThemeManager.isUseFontIconForImage()) {
|
||||||
|
item.setIconSclass(button.getIconSclass());
|
||||||
|
LayoutUtils.addSclass("font-icon-toolbar-button", item);
|
||||||
|
}
|
||||||
|
item.setValue(button.getName());
|
||||||
|
item.addEventListener(Events.ON_CLICK, evt -> doOnClick(new Event(Events.ON_CLICK, button)));
|
||||||
|
menupopup.appendChild(item);
|
||||||
|
menuItems.put(button, item);
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
|
||||||
public ToolBarButton getButton(String name)
|
public ToolBarButton getButton(String name)
|
||||||
{
|
{
|
||||||
return buttons.get(name);
|
return buttons.get(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public LabelImageElement getToolbarItem(String name)
|
||||||
|
{
|
||||||
|
return menuItems.get(buttons.get(name)) != null ? buttons.get("ShowMore") :
|
||||||
|
buttons.get(name);
|
||||||
|
}
|
||||||
|
|
||||||
/** VK_A thru VK_Z are the same as ASCII 'A' thru 'Z' (0x41 - 0x5A) */
|
/** VK_A thru VK_Z are the same as ASCII 'A' thru 'Z' (0x41 - 0x5A) */
|
||||||
public static final int VK_A = 0x41;
|
public static final int VK_A = 0x41;
|
||||||
public static final int VK_B = 0x42;
|
public static final int VK_B = 0x42;
|
||||||
|
@ -407,7 +466,10 @@ public class ADWindowToolbar extends FToolbar implements EventListener<Event>
|
||||||
{
|
{
|
||||||
if(event.getTarget() instanceof ToolBarButton)
|
if(event.getTarget() instanceof ToolBarButton)
|
||||||
{
|
{
|
||||||
|
if (!event.getTarget().getId().contentEquals(BTNPREFIX+"ShowMore"))
|
||||||
doOnClick(event);
|
doOnClick(event);
|
||||||
|
else
|
||||||
|
menupopup.open(btnShowMore, "after_start");
|
||||||
}
|
}
|
||||||
} else if (eventName.equals(Events.ON_CTRL_KEY))
|
} else if (eventName.equals(Events.ON_CTRL_KEY))
|
||||||
{
|
{
|
||||||
|
@ -477,17 +539,22 @@ public class ADWindowToolbar extends FToolbar implements EventListener<Event>
|
||||||
{
|
{
|
||||||
this.btnParentRecord.setDisabled(!enableParent);
|
this.btnParentRecord.setDisabled(!enableParent);
|
||||||
this.btnDetailRecord.setDisabled(!enableDetail);
|
this.btnDetailRecord.setDisabled(!enableDetail);
|
||||||
|
enableMenuitem(btnParentRecord, enableParent);
|
||||||
|
enableMenuitem(btnDetailRecord, enableDetail);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void enableRefresh(boolean enabled)
|
public void enableRefresh(boolean enabled)
|
||||||
{
|
{
|
||||||
this.btnRefresh.setDisabled(!enabled);
|
this.btnRefresh.setDisabled(!enabled);
|
||||||
|
enableMenuitem(btnRefresh, enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void enableSave(boolean enabled)
|
public void enableSave(boolean enabled)
|
||||||
{
|
{
|
||||||
this.btnSave.setDisabled(!enabled);
|
this.btnSave.setDisabled(!enabled);
|
||||||
this.btnSaveAndCreate.setDisabled(!enabled);
|
this.btnSaveAndCreate.setDisabled(!enabled);
|
||||||
|
enableMenuitem(btnSave, enabled);
|
||||||
|
enableMenuitem(btnSaveAndCreate, enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isSaveEnable() {
|
public boolean isSaveEnable() {
|
||||||
|
@ -502,6 +569,7 @@ public class ADWindowToolbar extends FToolbar implements EventListener<Event>
|
||||||
public void enableDelete(boolean enabled)
|
public void enableDelete(boolean enabled)
|
||||||
{
|
{
|
||||||
this.btnDelete.setDisabled(!enabled);
|
this.btnDelete.setDisabled(!enabled);
|
||||||
|
enableMenuitem(btnDelete, enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isDeleteEnable()
|
public boolean isDeleteEnable()
|
||||||
|
@ -516,82 +584,105 @@ public class ADWindowToolbar extends FToolbar implements EventListener<Event>
|
||||||
public void enableIgnore(boolean enabled)
|
public void enableIgnore(boolean enabled)
|
||||||
{
|
{
|
||||||
this.btnIgnore.setDisabled(!enabled);
|
this.btnIgnore.setDisabled(!enabled);
|
||||||
|
enableMenuitem(btnIgnore, enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void enableNew(boolean enabled)
|
public void enableNew(boolean enabled)
|
||||||
{
|
{
|
||||||
this.btnNew.setDisabled(!enabled);
|
this.btnNew.setDisabled(!enabled);
|
||||||
|
enableMenuitem(btnNew, enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void enableCopy(boolean enabled)
|
public void enableCopy(boolean enabled)
|
||||||
{
|
{
|
||||||
this.btnCopy.setDisabled(!enabled);
|
this.btnCopy.setDisabled(!enabled);
|
||||||
|
enableMenuitem(btnCopy, enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void enableAttachment(boolean enabled)
|
public void enableAttachment(boolean enabled)
|
||||||
{
|
{
|
||||||
this.btnAttachment.setDisabled(!enabled);
|
this.btnAttachment.setDisabled(!enabled);
|
||||||
|
enableMenuitem(btnAttachment, enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void enableChat(boolean enabled)
|
public void enableChat(boolean enabled)
|
||||||
{
|
{
|
||||||
this.btnChat.setDisabled(!enabled);
|
this.btnChat.setDisabled(!enabled);
|
||||||
|
enableMenuitem(btnChat, enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void enablePrint(boolean enabled)
|
public void enablePrint(boolean enabled)
|
||||||
{
|
{
|
||||||
this.btnPrint.setDisabled(!enabled);
|
this.btnPrint.setDisabled(!enabled);
|
||||||
|
enableMenuitem(btnPrint, enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void enableReport(boolean enabled)
|
public void enableReport(boolean enabled)
|
||||||
{
|
{
|
||||||
this.btnReport.setDisabled(!enabled);
|
this.btnReport.setDisabled(!enabled);
|
||||||
|
enableMenuitem(btnReport, enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void enableFind(boolean enabled)
|
public void enableFind(boolean enabled)
|
||||||
{
|
{
|
||||||
this.btnFind.setDisabled(!enabled);
|
this.btnFind.setDisabled(!enabled);
|
||||||
|
enableMenuitem(btnFind, enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void enableGridToggle(boolean enabled)
|
public void enableGridToggle(boolean enabled)
|
||||||
{
|
{
|
||||||
btnGridToggle.setDisabled(!enabled);
|
btnGridToggle.setDisabled(!enabled);
|
||||||
|
enableMenuitem(btnGridToggle, enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void enableCustomize(boolean enabled)
|
public void enableCustomize(boolean enabled)
|
||||||
{
|
{
|
||||||
btnCustomize.setDisabled(!enabled);
|
btnCustomize.setDisabled(!enabled);
|
||||||
|
enableMenuitem(btnCustomize, enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void enableArchive(boolean enabled)
|
public void enableArchive(boolean enabled)
|
||||||
{
|
{
|
||||||
btnArchive.setDisabled(!enabled);
|
btnArchive.setDisabled(!enabled);
|
||||||
|
enableMenuitem(btnArchive, enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void enableZoomAcross(boolean enabled)
|
public void enableZoomAcross(boolean enabled)
|
||||||
{
|
{
|
||||||
btnZoomAcross.setDisabled(!enabled);
|
btnZoomAcross.setDisabled(!enabled);
|
||||||
|
enableMenuitem(btnZoomAcross, enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void enableActiveWorkflows(boolean enabled)
|
public void enableActiveWorkflows(boolean enabled)
|
||||||
{
|
{
|
||||||
btnActiveWorkflows.setDisabled(!enabled);
|
btnActiveWorkflows.setDisabled(!enabled);
|
||||||
|
enableMenuitem(btnActiveWorkflows, enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void enableRequests(boolean enabled)
|
public void enableRequests(boolean enabled)
|
||||||
{
|
{
|
||||||
btnRequests.setDisabled(!enabled);
|
btnRequests.setDisabled(!enabled);
|
||||||
|
enableMenuitem(btnRequests, enabled);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void enableMenuitem(Toolbarbutton button, boolean enabled) {
|
||||||
|
if (menuItems.get(button) != null)
|
||||||
|
menuItems.get(button).setDisabled(!enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void lock(boolean locked)
|
public void lock(boolean locked)
|
||||||
{
|
{
|
||||||
this.btnLock.setPressed(locked);
|
setPressed("Lock", locked);
|
||||||
|
|
||||||
if (ThemeManager.isUseFontIconForImage())
|
if (ThemeManager.isUseFontIconForImage())
|
||||||
{
|
{
|
||||||
String iconSclass = "z-icon-" + (this.btnLock.isPressed() ? "lock" : "unlock") ;
|
String iconSclass = "z-icon-" + (this.btnLock.isPressed() ? "lock" : "unlock") ;
|
||||||
this.btnLock.setIconSclass(iconSclass);
|
this.btnLock.setIconSclass(iconSclass);
|
||||||
LayoutUtils.addSclass("font-icon-toolbar-button", this.btnLock);
|
LayoutUtils.addSclass("font-icon-toolbar-button", this.btnLock);
|
||||||
|
if (menuItems.get(btnLock) != null) {
|
||||||
|
menuItems.get(btnLock).setIconSclass(iconSclass);
|
||||||
|
LayoutUtils.addSclass("font-icon-toolbar-button", menuItems.get(btnLock));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -604,12 +695,16 @@ public class ADWindowToolbar extends FToolbar implements EventListener<Event>
|
||||||
String imgURL = "images/"+ (this.btnLock.isPressed() ? "LockX" : "Lock") + suffix;
|
String imgURL = "images/"+ (this.btnLock.isPressed() ? "LockX" : "Lock") + suffix;
|
||||||
imgURL = ThemeManager.getThemeResource(imgURL);
|
imgURL = ThemeManager.getThemeResource(imgURL);
|
||||||
this.btnLock.setImage(imgURL);
|
this.btnLock.setImage(imgURL);
|
||||||
|
if (menuItems.get(btnLock) != null) {
|
||||||
|
menuItems.get(btnLock).setImage(imgURL);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void enablePostIt(boolean enabled)
|
public void enablePostIt(boolean enabled)
|
||||||
{
|
{
|
||||||
this.btnPostIt.setDisabled(!enabled);
|
this.btnPostIt.setDisabled(!enabled);
|
||||||
|
enableMenuitem(btnPostIt, enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Event getEvent()
|
public Event getEvent()
|
||||||
|
@ -665,6 +760,10 @@ public class ADWindowToolbar extends FToolbar implements EventListener<Event>
|
||||||
{
|
{
|
||||||
btn.setVisible(visible);
|
btn.setVisible(visible);
|
||||||
}
|
}
|
||||||
|
for (Menuitem mn : menuItems.values())
|
||||||
|
{
|
||||||
|
mn.setVisible(visible);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -679,6 +778,11 @@ public class ADWindowToolbar extends FToolbar implements EventListener<Event>
|
||||||
{
|
{
|
||||||
btn.setVisible(visible);
|
btn.setVisible(visible);
|
||||||
}
|
}
|
||||||
|
Menuitem mn = menuItems.get(btn);
|
||||||
|
if (mn != null)
|
||||||
|
{
|
||||||
|
mn.setVisible(visible);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -696,6 +800,7 @@ public class ADWindowToolbar extends FToolbar implements EventListener<Event>
|
||||||
public void enableExport(boolean b) {
|
public void enableExport(boolean b) {
|
||||||
if (btnExport != null)
|
if (btnExport != null)
|
||||||
btnExport.setDisabled(!b);
|
btnExport.setDisabled(!b);
|
||||||
|
enableMenuitem(btnExport, b);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -705,6 +810,7 @@ public class ADWindowToolbar extends FToolbar implements EventListener<Event>
|
||||||
public void enableFileImport(boolean b) {
|
public void enableFileImport(boolean b) {
|
||||||
if (btnFileImport != null)
|
if (btnFileImport != null)
|
||||||
btnFileImport.setDisabled(!b);
|
btnFileImport.setDisabled(!b);
|
||||||
|
enableMenuitem(btnFileImport, b);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -714,6 +820,7 @@ public class ADWindowToolbar extends FToolbar implements EventListener<Event>
|
||||||
public void enableCSVImport(boolean b) {
|
public void enableCSVImport(boolean b) {
|
||||||
if (btnCSVImport != null)
|
if (btnCSVImport != null)
|
||||||
btnCSVImport.setDisabled(!b);
|
btnCSVImport.setDisabled(!b);
|
||||||
|
enableMenuitem(btnCSVImport, b);
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean ToolBarMenuRestictionLoaded = false;
|
private boolean ToolBarMenuRestictionLoaded = false;
|
||||||
|
@ -733,6 +840,13 @@ public class ADWindowToolbar extends FToolbar implements EventListener<Event>
|
||||||
this.removeChild(p);
|
this.removeChild(p);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
} else if (p instanceof Menupopup) {
|
||||||
|
for (Component p1 = p.getFirstChild(); p1 != null; p1 = p1.getNextSibling()) {
|
||||||
|
if ( p1 instanceof Menuitem && restrictName.equals((((Menuitem)p1).getValue())) ) {
|
||||||
|
p.removeChild(p1);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -749,6 +863,13 @@ public class ADWindowToolbar extends FToolbar implements EventListener<Event>
|
||||||
this.removeChild(p);
|
this.removeChild(p);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
} else if (p instanceof Menupopup) {
|
||||||
|
for (Component p1 = p.getFirstChild(); p1 != null; p1 = p1.getNextSibling()) {
|
||||||
|
if ( p1 instanceof Menuitem && advancedName.equals((((Menuitem)p1).getValue())) ) {
|
||||||
|
p.removeChild(p1);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -759,8 +880,10 @@ public class ADWindowToolbar extends FToolbar implements EventListener<Event>
|
||||||
// If no workflow set for the table => disable btnWorkflow
|
// If no workflow set for the table => disable btnWorkflow
|
||||||
if (!btnActiveWorkflows.isDisabled()) {
|
if (!btnActiveWorkflows.isDisabled()) {
|
||||||
GridTab gridTab = adwindow.getADWindowContent().getActiveGridTab();
|
GridTab gridTab = adwindow.getADWindowContent().getActiveGridTab();
|
||||||
if (gridTab != null)
|
if (gridTab != null) {
|
||||||
btnActiveWorkflows.setDisabled(!hasWorkflow(gridTab));
|
btnActiveWorkflows.setDisabled(!hasWorkflow(gridTab));
|
||||||
|
enableMenuitem(btnActiveWorkflows, !btnActiveWorkflows.isDisabled());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
ToolBarMenuRestictionLoaded = true;
|
ToolBarMenuRestictionLoaded = true;
|
||||||
}
|
}
|
||||||
|
@ -775,6 +898,7 @@ public class ADWindowToolbar extends FToolbar implements EventListener<Event>
|
||||||
public void enableProcessButton(boolean b) {
|
public void enableProcessButton(boolean b) {
|
||||||
if (btnProcess != null) {
|
if (btnProcess != null) {
|
||||||
btnProcess.setDisabled(!b);
|
btnProcess.setDisabled(!b);
|
||||||
|
enableMenuitem(btnProcess, b);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -806,6 +930,13 @@ public class ADWindowToolbar extends FToolbar implements EventListener<Event>
|
||||||
p.setVisible(false);
|
p.setVisible(false);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
} else if (p instanceof Menupopup) {
|
||||||
|
for (Component p1 = p.getFirstChild(); p1 != null; p1 = p1.getNextSibling()) {
|
||||||
|
if ( p1 instanceof Menuitem && restrictName.equals((((Menuitem)p1).getValue())) ) {
|
||||||
|
p.removeChild(p1);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -835,6 +966,7 @@ public class ADWindowToolbar extends FToolbar implements EventListener<Event>
|
||||||
this.setWidgetOverride("toolbarScrollable", "function (wgt) {\n" +
|
this.setWidgetOverride("toolbarScrollable", "function (wgt) {\n" +
|
||||||
" var total = jq(wgt.$n()).width();\n" +
|
" var total = jq(wgt.$n()).width();\n" +
|
||||||
" var w = wgt.firstChild;\n" +
|
" var w = wgt.firstChild;\n" +
|
||||||
|
" var a = " + !mobileShowMoreButtons.isEmpty() + ";\n" +
|
||||||
"\n" +
|
"\n" +
|
||||||
" // make sure all images are loaded.\n" +
|
" // make sure all images are loaded.\n" +
|
||||||
" if (zUtl.isImageLoading()) {\n" +
|
" if (zUtl.isImageLoading()) {\n" +
|
||||||
|
@ -854,6 +986,10 @@ public class ADWindowToolbar extends FToolbar implements EventListener<Event>
|
||||||
" var event = new zk.Event(wgt, 'onOverflowButton', w.uuid, {toServer: true}); \n" +
|
" var event = new zk.Event(wgt, 'onOverflowButton', w.uuid, {toServer: true}); \n" +
|
||||||
" zAu.send(event); \n" +
|
" zAu.send(event); \n" +
|
||||||
" }\n" +
|
" }\n" +
|
||||||
|
" else if (a) {\n" +
|
||||||
|
" var event = new zk.Event(wgt, 'onOverflowButton', null, {toServer: true}); \n" +
|
||||||
|
" zAu.send(event); \n" +
|
||||||
|
" }\n" +
|
||||||
"}");
|
"}");
|
||||||
addEventListener(Events.ON_AFTER_SIZE, (AfterSizeEvent evt) -> onAfterSize(evt));
|
addEventListener(Events.ON_AFTER_SIZE, (AfterSizeEvent evt) -> onAfterSize(evt));
|
||||||
|
|
||||||
|
@ -892,6 +1028,7 @@ public class ADWindowToolbar extends FToolbar implements EventListener<Event>
|
||||||
private void onOverflowButton(Event evt) {
|
private void onOverflowButton(Event evt) {
|
||||||
overflows = new ArrayList<>();
|
overflows = new ArrayList<>();
|
||||||
String uuid = (String) evt.getData();
|
String uuid = (String) evt.getData();
|
||||||
|
if (uuid != null) {
|
||||||
boolean overflowStarted = false;
|
boolean overflowStarted = false;
|
||||||
for(Component comp : getChildren()) {
|
for(Component comp : getChildren()) {
|
||||||
if (comp instanceof ToolBarButton) {
|
if (comp instanceof ToolBarButton) {
|
||||||
|
@ -903,10 +1040,14 @@ public class ADWindowToolbar extends FToolbar implements EventListener<Event>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
//Add at the end of the overflow those buttons marked as isShowMore
|
||||||
|
for (ToolBarButton toolbarButton : mobileShowMoreButtons)
|
||||||
|
overflows.add(toolbarButton);
|
||||||
if (overflows.size() > 0) {
|
if (overflows.size() > 0) {
|
||||||
overflowButton = new A();
|
overflowButton = new A();
|
||||||
overflowButton.setIconSclass("z-icon-angle-double-down");
|
overflowButton.setIconSclass("z-icon-ShowMore");
|
||||||
overflowButton.setStyle("position: absolute; right: 2px; bottom: 6px; font-size: 12px; font-weight: 500;");
|
overflowButton.setStyle("position: absolute; right: 4px; font-size: 18px; font-weight: 500; color: #333");
|
||||||
appendChild(overflowButton);
|
appendChild(overflowButton);
|
||||||
overflowPopup = new Popup();
|
overflowPopup = new Popup();
|
||||||
overflowPopup.addEventListener(Events.ON_OPEN, (OpenEvent oe) -> {
|
overflowPopup.addEventListener(Events.ON_OPEN, (OpenEvent oe) -> {
|
||||||
|
@ -950,4 +1091,16 @@ public class ADWindowToolbar extends FToolbar implements EventListener<Event>
|
||||||
Clients.evalJavaScript(script);
|
Clients.evalJavaScript(script);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setPressed(String buttonName, boolean pressed) {
|
||||||
|
getButton(buttonName).setPressed(pressed);
|
||||||
|
if (menuItems.get(getButton(buttonName)) != null) {
|
||||||
|
if (pressed)
|
||||||
|
menuItems.get(getButton(buttonName)).setSclass("z-toolbarbutton-checked");
|
||||||
|
else {
|
||||||
|
menuItems.get(getButton(buttonName)).setClass("");
|
||||||
|
menuItems.get(getButton(buttonName)).setClass("z-menu-item");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -942,9 +942,9 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
m_popup.setPage(toolbar.getButton("Lock").getPage());
|
m_popup.setPage(toolbar.getToolbarItem("Lock").getPage());
|
||||||
}
|
}
|
||||||
m_popup.open(toolbar.getButton("Lock"));
|
m_popup.open(toolbar.getToolbarItem("Lock"), "after_start");
|
||||||
} // lock
|
} // lock
|
||||||
//
|
//
|
||||||
|
|
||||||
|
@ -967,7 +967,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onEvent(Event event) throws Exception {
|
public void onEvent(Event event) throws Exception {
|
||||||
toolbar.getButton("Attachment").setPressed(adTabbox.getSelectedGridTab().hasAttachment());
|
toolbar.setPressed("Attachment",adTabbox.getSelectedGridTab().hasAttachment());
|
||||||
focusToActivePanel();
|
focusToActivePanel();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -1020,7 +1020,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
|
||||||
@Override
|
@Override
|
||||||
public void onEvent(Event event) throws Exception {
|
public void onEvent(Event event) throws Exception {
|
||||||
hideBusyMask();
|
hideBusyMask();
|
||||||
toolbar.getButton("Chat").setPressed(adTabbox.getSelectedGridTab().hasChat());
|
toolbar.setPressed("Chat",adTabbox.getSelectedGridTab().hasChat());
|
||||||
focusToActivePanel();
|
focusToActivePanel();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -1061,7 +1061,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
|
||||||
@Override
|
@Override
|
||||||
public void onEvent(Event event) throws Exception {
|
public void onEvent(Event event) throws Exception {
|
||||||
hideBusyMask();
|
hideBusyMask();
|
||||||
toolbar.getButton("PostIt").setPressed(adTabbox.getSelectedGridTab().hasPostIt());
|
toolbar.setPressed("PostIt",adTabbox.getSelectedGridTab().hasPostIt());
|
||||||
focusToActivePanel();
|
focusToActivePanel();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -1339,9 +1339,9 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
|
||||||
{
|
{
|
||||||
toolbar.enableTabNavigation(breadCrumb.hasParentLink(), adTabbox.getSelectedDetailADTabpanel() != null);
|
toolbar.enableTabNavigation(breadCrumb.hasParentLink(), adTabbox.getSelectedDetailADTabpanel() != null);
|
||||||
|
|
||||||
toolbar.getButton("Attachment").setPressed(adTabbox.getSelectedGridTab().hasAttachment());
|
toolbar.setPressed("Attachment",adTabbox.getSelectedGridTab().hasAttachment());
|
||||||
toolbar.getButton("PostIt").setPressed(adTabbox.getSelectedGridTab().hasPostIt());
|
toolbar.setPressed("PostIt",adTabbox.getSelectedGridTab().hasPostIt());
|
||||||
toolbar.getButton("Chat").setPressed(adTabbox.getSelectedGridTab().hasChat());
|
toolbar.setPressed("Chat",adTabbox.getSelectedGridTab().hasChat());
|
||||||
|
|
||||||
if (toolbar.isPersonalLock)
|
if (toolbar.isPersonalLock)
|
||||||
{
|
{
|
||||||
|
@ -1361,7 +1361,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
|
||||||
toolbar.enableCustomize(adtab.isGridView());
|
toolbar.enableCustomize(adtab.isGridView());
|
||||||
}
|
}
|
||||||
|
|
||||||
toolbar.getButton("Find").setPressed(adTabbox.getSelectedGridTab().isQueryActive() ||
|
toolbar.setPressed("Find",adTabbox.getSelectedGridTab().isQueryActive() ||
|
||||||
(!isNewRow && (m_onlyCurrentRows || m_onlyCurrentDays > 0)));
|
(!isNewRow && (m_onlyCurrentRows || m_onlyCurrentDays > 0)));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1678,7 +1678,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
|
||||||
if (canHaveAttachment)
|
if (canHaveAttachment)
|
||||||
{
|
{
|
||||||
toolbar.enableAttachment(true);
|
toolbar.enableAttachment(true);
|
||||||
toolbar.getButton("Attachment").setPressed(adTabbox.getSelectedGridTab().hasAttachment());
|
toolbar.setPressed("Attachment",adTabbox.getSelectedGridTab().hasAttachment());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1699,9 +1699,9 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
|
||||||
if (canHaveChat)
|
if (canHaveChat)
|
||||||
{
|
{
|
||||||
toolbar.enableChat(true);
|
toolbar.enableChat(true);
|
||||||
toolbar.getButton("Chat").setPressed(adTabbox.getSelectedGridTab().hasChat());
|
toolbar.setPressed("Chat",adTabbox.getSelectedGridTab().hasChat());
|
||||||
toolbar.enablePostIt(true);
|
toolbar.enablePostIt(true);
|
||||||
toolbar.getButton("PostIt").setPressed(adTabbox.getSelectedGridTab().hasPostIt());
|
toolbar.setPressed("PostIt",adTabbox.getSelectedGridTab().hasPostIt());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1727,7 +1727,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
|
||||||
toolbar.enableZoomAcross(!isNewRow);
|
toolbar.enableZoomAcross(!isNewRow);
|
||||||
toolbar.enableActiveWorkflows(!isNewRow);
|
toolbar.enableActiveWorkflows(!isNewRow);
|
||||||
toolbar.enableRequests(!isNewRow);
|
toolbar.enableRequests(!isNewRow);
|
||||||
toolbar.getButton("Find").setPressed(adTabbox.getSelectedGridTab().isQueryActive() ||
|
toolbar.setPressed("Find", adTabbox.getSelectedGridTab().isQueryActive() ||
|
||||||
(!isNewRow && (m_onlyCurrentRows || m_onlyCurrentDays > 0)));
|
(!isNewRow && (m_onlyCurrentRows || m_onlyCurrentDays > 0)));
|
||||||
|
|
||||||
toolbar.enablePrint(adTabbox.getSelectedGridTab().isPrinted() && !isNewRow);
|
toolbar.enablePrint(adTabbox.getSelectedGridTab().isPrinted() && !isNewRow);
|
||||||
|
@ -2090,7 +2090,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
toolbar.getButton("Find").setPressed(adTabbox.getSelectedGridTab().isQueryActive());
|
toolbar.setPressed("Find",adTabbox.getSelectedGridTab().isQueryActive());
|
||||||
}
|
}
|
||||||
focusToActivePanel();
|
focusToActivePanel();
|
||||||
}
|
}
|
||||||
|
@ -2638,7 +2638,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
|
||||||
query.addRestriction(link, MQuery.EQUAL,
|
query.addRestriction(link, MQuery.EQUAL,
|
||||||
Env.getContext(ctx, curWindowNo, link));
|
Env.getContext(ctx, curWindowNo, link));
|
||||||
}
|
}
|
||||||
new WZoomAcross(toolbar.getEvent().getTarget(), adTabbox.getSelectedGridTab()
|
new WZoomAcross(toolbar.getToolbarItem("ZoomAcross"), adTabbox.getSelectedGridTab()
|
||||||
.getTableName(), adTabbox.getSelectedGridTab().getAD_Window_ID(), query);
|
.getTableName(), adTabbox.getSelectedGridTab().getAD_Window_ID(), query);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2674,7 +2674,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
|
||||||
if(bpartner != null)
|
if(bpartner != null)
|
||||||
C_BPartner_ID = Integer.valueOf(bpartner.toString());
|
C_BPartner_ID = Integer.valueOf(bpartner.toString());
|
||||||
|
|
||||||
new WRequest(toolbar.getEvent().getTarget(), adTabbox.getSelectedGridTab().getAD_Table_ID(), adTabbox.getSelectedGridTab().getRecord_ID(), C_BPartner_ID);
|
new WRequest(toolbar.getToolbarItem("Requests"), adTabbox.getSelectedGridTab().getAD_Table_ID(), adTabbox.getSelectedGridTab().getRecord_ID(), C_BPartner_ID);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
|
@ -2701,7 +2701,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
|
||||||
if (adTabbox.getSelectedGridTab().getRecord_ID() <= 0)
|
if (adTabbox.getSelectedGridTab().getRecord_ID() <= 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
new WArchive(toolbar.getEvent().getTarget(), adTabbox.getSelectedGridTab().getAD_Table_ID(), adTabbox.getSelectedGridTab().getRecord_ID());
|
new WArchive(toolbar.getToolbarItem("Archive"), adTabbox.getSelectedGridTab().getAD_Table_ID(), adTabbox.getSelectedGridTab().getRecord_ID());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3320,7 +3320,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
|
||||||
popup.render(adtab.getToolbarButtons());
|
popup.render(adtab.getToolbarButtons());
|
||||||
if (popup.getChildren().size() > 0) {
|
if (popup.getChildren().size() > 0) {
|
||||||
popup.setPage(this.getComponent().getPage());
|
popup.setPage(this.getComponent().getPage());
|
||||||
popup.open(getToolbar().getButton("Process"), "after_start");
|
popup.open(getToolbar().getToolbarItem("Process"), "after_start");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -201,7 +201,7 @@ public class ReportAction implements EventListener<Event>
|
||||||
confirmPanel.addActionListener(this);
|
confirmPanel.addActionListener(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
LayoutUtils.openPopupWindow(panel.getToolbar().getButton("Report"), winReport, "after_start");
|
LayoutUtils.openPopupWindow(panel.getToolbar().getToolbarItem("Report"), winReport, "after_start");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -280,4 +280,7 @@
|
||||||
.z-icon-CSVImport:before {
|
.z-icon-CSVImport:before {
|
||||||
content: "\f0f6";
|
content: "\f0f6";
|
||||||
}
|
}
|
||||||
|
.z-icon-ShowMore:before {
|
||||||
|
content: "\f142";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 341 B |
Binary file not shown.
After Width: | Height: | Size: 325 B |
Loading…
Reference in New Issue