IDEMPIERE-5482 - Field Style Scope HTML Element (#1572)
* IDEMPIERE-5482 - Field Style Scope HTML Element * IDEMPIERE-5482 - implemented in report engine, removed the new field * IDEMPIERE-5482 - add IsWrapWithSpan to AD_Style * IDEMPIERE-5482 - pr1572 patch
This commit is contained in:
parent
ea6c44b913
commit
89a093ca49
|
@ -0,0 +1,30 @@
|
||||||
|
-- IDEMPIERE-5482
|
||||||
|
SELECT register_migration_script('202304111343_IDEMPIERE-5482.sql') FROM dual;
|
||||||
|
|
||||||
|
SET SQLBLANKLINES ON
|
||||||
|
SET DEFINE OFF
|
||||||
|
|
||||||
|
-- Apr 11, 2023, 1:43:46 PM CEST
|
||||||
|
INSERT INTO AD_Element (AD_Element_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,ColumnName,Name,Description,PrintName,EntityType,AD_Element_UU) VALUES (203805,0,0,'Y',TO_TIMESTAMP('2023-04-11 13:43:45','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2023-04-11 13:43:45','YYYY-MM-DD HH24:MI:SS'),100,'IsWrapWithSpan','Wrap With Span','Wrap content in Span and apply the Style to it.','Wrap With Span','D','8c87a12e-eded-48c5-89d4-7c49fd29f4fa')
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Apr 11, 2023, 1:46:32 PM CEST
|
||||||
|
INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,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,FKConstraintType,IsHtml) VALUES (215834,0,'Wrap With Span','Wrap content in Span and apply the Style to it.',200207,'IsWrapWithSpan','N',1,'N','N','Y','N','N',0,'N',20,0,0,'Y',TO_TIMESTAMP('2023-04-11 13:46:32','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2023-04-11 13:46:32','YYYY-MM-DD HH24:MI:SS'),100,203805,'Y','N','D','N','N','N','Y','5ca5f2d0-6f43-4643-b63d-6e299d20f869','Y',0,'N','N','N','N')
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Apr 11, 2023, 1:46:36 PM CEST
|
||||||
|
ALTER TABLE AD_Style ADD IsWrapWithSpan CHAR(1) DEFAULT 'N' CHECK (IsWrapWithSpan IN ('Y','N')) NOT NULL
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Apr 11, 2023, 1:46:55 PM CEST
|
||||||
|
INSERT INTO AD_Field (AD_Field_ID,Name,Description,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 (207618,'Wrap With Span','Wrap content in Span and apply the Style to it.',200213,215834,'Y',1,70,'N','N','N','N',0,0,'Y',TO_TIMESTAMP('2023-04-11 13:46:55','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2023-04-11 13:46:55','YYYY-MM-DD HH24:MI:SS'),100,'N','Y','D','7ee72596-5bcd-47ea-a2ad-b6631a969034','Y',50,2,2)
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Apr 11, 2023, 1:47:29 PM CEST
|
||||||
|
UPDATE AD_Field SET IsDisplayed='Y', SeqNo=60, XPosition=2,Updated=TO_TIMESTAMP('2023-04-11 13:47:29','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=207618
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Apr 11, 2023, 1:47:29 PM CEST
|
||||||
|
UPDATE AD_Field SET IsDisplayed='Y', SeqNo=70, XPosition=5,Updated=TO_TIMESTAMP('2023-04-11 13:47:29','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=204202
|
||||||
|
;
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
-- IDEMPIERE-5482
|
||||||
|
SELECT register_migration_script('202304111343_IDEMPIERE-5482.sql') FROM dual;
|
||||||
|
|
||||||
|
-- Apr 11, 2023, 1:43:46 PM CEST
|
||||||
|
INSERT INTO AD_Element (AD_Element_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,ColumnName,Name,Description,PrintName,EntityType,AD_Element_UU) VALUES (203805,0,0,'Y',TO_TIMESTAMP('2023-04-11 13:43:45','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2023-04-11 13:43:45','YYYY-MM-DD HH24:MI:SS'),100,'IsWrapWithSpan','Wrap With Span','Wrap content in Span and apply the Style to it.','Wrap With Span','D','8c87a12e-eded-48c5-89d4-7c49fd29f4fa')
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Apr 11, 2023, 1:46:32 PM CEST
|
||||||
|
INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,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,FKConstraintType,IsHtml) VALUES (215834,0,'Wrap With Span','Wrap content in Span and apply the Style to it.',200207,'IsWrapWithSpan','N',1,'N','N','Y','N','N',0,'N',20,0,0,'Y',TO_TIMESTAMP('2023-04-11 13:46:32','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2023-04-11 13:46:32','YYYY-MM-DD HH24:MI:SS'),100,203805,'Y','N','D','N','N','N','Y','5ca5f2d0-6f43-4643-b63d-6e299d20f869','Y',0,'N','N','N','N')
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Apr 11, 2023, 1:46:36 PM CEST
|
||||||
|
ALTER TABLE AD_Style ADD COLUMN IsWrapWithSpan CHAR(1) DEFAULT 'N' CHECK (IsWrapWithSpan IN ('Y','N')) NOT NULL
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Apr 11, 2023, 1:46:55 PM CEST
|
||||||
|
INSERT INTO AD_Field (AD_Field_ID,Name,Description,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 (207618,'Wrap With Span','Wrap content in Span and apply the Style to it.',200213,215834,'Y',1,70,'N','N','N','N',0,0,'Y',TO_TIMESTAMP('2023-04-11 13:46:55','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2023-04-11 13:46:55','YYYY-MM-DD HH24:MI:SS'),100,'N','Y','D','7ee72596-5bcd-47ea-a2ad-b6631a969034','Y',50,2,2)
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Apr 11, 2023, 1:47:29 PM CEST
|
||||||
|
UPDATE AD_Field SET IsDisplayed='Y', SeqNo=60, XPosition=2,Updated=TO_TIMESTAMP('2023-04-11 13:47:29','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=207618
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Apr 11, 2023, 1:47:29 PM CEST
|
||||||
|
UPDATE AD_Field SET IsDisplayed='Y', SeqNo=70, XPosition=5,Updated=TO_TIMESTAMP('2023-04-11 13:47:29','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=204202
|
||||||
|
;
|
||||||
|
|
|
@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
|
||||||
|
|
||||||
/** Generated Interface for AD_Style
|
/** Generated Interface for AD_Style
|
||||||
* @author iDempiere (generated)
|
* @author iDempiere (generated)
|
||||||
* @version Release 10
|
* @version Release 11
|
||||||
*/
|
*/
|
||||||
public interface I_AD_Style
|
public interface I_AD_Style
|
||||||
{
|
{
|
||||||
|
@ -145,6 +145,19 @@ public interface I_AD_Style
|
||||||
*/
|
*/
|
||||||
public boolean isActive();
|
public boolean isActive();
|
||||||
|
|
||||||
|
/** Column name IsWrapWithSpan */
|
||||||
|
public static final String COLUMNNAME_IsWrapWithSpan = "IsWrapWithSpan";
|
||||||
|
|
||||||
|
/** Set Wrap With Span.
|
||||||
|
* Wrap content in Span and apply the Style to it.
|
||||||
|
*/
|
||||||
|
public void setIsWrapWithSpan (boolean IsWrapWithSpan);
|
||||||
|
|
||||||
|
/** Get Wrap With Span.
|
||||||
|
* Wrap content in Span and apply the Style to it.
|
||||||
|
*/
|
||||||
|
public boolean isWrapWithSpan();
|
||||||
|
|
||||||
/** Column name Name */
|
/** Column name Name */
|
||||||
public static final String COLUMNNAME_Name = "Name";
|
public static final String COLUMNNAME_Name = "Name";
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ import java.util.Properties;
|
||||||
|
|
||||||
/** Generated Model for AD_Style
|
/** Generated Model for AD_Style
|
||||||
* @author iDempiere (generated)
|
* @author iDempiere (generated)
|
||||||
* @version Release 10 - $Id$ */
|
* @version Release 11 - $Id$ */
|
||||||
@org.adempiere.base.Model(table="AD_Style")
|
@org.adempiere.base.Model(table="AD_Style")
|
||||||
public class X_AD_Style extends PO implements I_AD_Style, I_Persistent
|
public class X_AD_Style extends PO implements I_AD_Style, I_Persistent
|
||||||
{
|
{
|
||||||
|
@ -30,7 +30,7 @@ public class X_AD_Style extends PO implements I_AD_Style, I_Persistent
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 20221224L;
|
private static final long serialVersionUID = 20230411L;
|
||||||
|
|
||||||
/** Standard Constructor */
|
/** Standard Constructor */
|
||||||
public X_AD_Style (Properties ctx, int AD_Style_ID, String trxName)
|
public X_AD_Style (Properties ctx, int AD_Style_ID, String trxName)
|
||||||
|
@ -42,6 +42,8 @@ public class X_AD_Style extends PO implements I_AD_Style, I_Persistent
|
||||||
setAD_Style_UU (null);
|
setAD_Style_UU (null);
|
||||||
setEntityType (null);
|
setEntityType (null);
|
||||||
// @SQL=SELECT CASE WHEN '@P|AdempiereSys:N@'='Y' THEN 'D' ELSE get_sysconfig('DEFAULT_ENTITYTYPE','U',0,0) END FROM Dual
|
// @SQL=SELECT CASE WHEN '@P|AdempiereSys:N@'='Y' THEN 'D' ELSE get_sysconfig('DEFAULT_ENTITYTYPE','U',0,0) END FROM Dual
|
||||||
|
setIsWrapWithSpan (false);
|
||||||
|
// N
|
||||||
setName (null);
|
setName (null);
|
||||||
} */
|
} */
|
||||||
}
|
}
|
||||||
|
@ -56,6 +58,40 @@ public class X_AD_Style extends PO implements I_AD_Style, I_Persistent
|
||||||
setAD_Style_UU (null);
|
setAD_Style_UU (null);
|
||||||
setEntityType (null);
|
setEntityType (null);
|
||||||
// @SQL=SELECT CASE WHEN '@P|AdempiereSys:N@'='Y' THEN 'D' ELSE get_sysconfig('DEFAULT_ENTITYTYPE','U',0,0) END FROM Dual
|
// @SQL=SELECT CASE WHEN '@P|AdempiereSys:N@'='Y' THEN 'D' ELSE get_sysconfig('DEFAULT_ENTITYTYPE','U',0,0) END FROM Dual
|
||||||
|
setIsWrapWithSpan (false);
|
||||||
|
// N
|
||||||
|
setName (null);
|
||||||
|
} */
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Standard Constructor */
|
||||||
|
public X_AD_Style (Properties ctx, String AD_Style_UU, String trxName)
|
||||||
|
{
|
||||||
|
super (ctx, AD_Style_UU, trxName);
|
||||||
|
/** if (AD_Style_UU == null)
|
||||||
|
{
|
||||||
|
setAD_Style_ID (0);
|
||||||
|
setAD_Style_UU (null);
|
||||||
|
setEntityType (null);
|
||||||
|
// @SQL=SELECT CASE WHEN '@P|AdempiereSys:N@'='Y' THEN 'D' ELSE get_sysconfig('DEFAULT_ENTITYTYPE','U',0,0) END FROM Dual
|
||||||
|
setIsWrapWithSpan (false);
|
||||||
|
// N
|
||||||
|
setName (null);
|
||||||
|
} */
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Standard Constructor */
|
||||||
|
public X_AD_Style (Properties ctx, String AD_Style_UU, String trxName, String ... virtualColumns)
|
||||||
|
{
|
||||||
|
super (ctx, AD_Style_UU, trxName, virtualColumns);
|
||||||
|
/** if (AD_Style_UU == null)
|
||||||
|
{
|
||||||
|
setAD_Style_ID (0);
|
||||||
|
setAD_Style_UU (null);
|
||||||
|
setEntityType (null);
|
||||||
|
// @SQL=SELECT CASE WHEN '@P|AdempiereSys:N@'='Y' THEN 'D' ELSE get_sysconfig('DEFAULT_ENTITYTYPE','U',0,0) END FROM Dual
|
||||||
|
setIsWrapWithSpan (false);
|
||||||
|
// N
|
||||||
setName (null);
|
setName (null);
|
||||||
} */
|
} */
|
||||||
}
|
}
|
||||||
|
@ -161,6 +197,29 @@ public class X_AD_Style extends PO implements I_AD_Style, I_Persistent
|
||||||
return (String)get_Value(COLUMNNAME_EntityType);
|
return (String)get_Value(COLUMNNAME_EntityType);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Set Wrap With Span.
|
||||||
|
@param IsWrapWithSpan Wrap content in Span and apply the Style to it.
|
||||||
|
*/
|
||||||
|
public void setIsWrapWithSpan (boolean IsWrapWithSpan)
|
||||||
|
{
|
||||||
|
set_Value (COLUMNNAME_IsWrapWithSpan, Boolean.valueOf(IsWrapWithSpan));
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Get Wrap With Span.
|
||||||
|
@return Wrap content in Span and apply the Style to it.
|
||||||
|
*/
|
||||||
|
public boolean isWrapWithSpan()
|
||||||
|
{
|
||||||
|
Object oo = get_Value(COLUMNNAME_IsWrapWithSpan);
|
||||||
|
if (oo != null)
|
||||||
|
{
|
||||||
|
if (oo instanceof Boolean)
|
||||||
|
return ((Boolean)oo).booleanValue();
|
||||||
|
return "Y".equals(oo);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/** Set Name.
|
/** Set Name.
|
||||||
@param Name Alphanumeric identifier of the entity
|
@param Name Alphanumeric identifier of the entity
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -63,9 +63,11 @@ import org.adempiere.exceptions.AdempiereException;
|
||||||
import org.adempiere.pdf.Document;
|
import org.adempiere.pdf.Document;
|
||||||
import org.adempiere.print.export.PrintDataExcelExporter;
|
import org.adempiere.print.export.PrintDataExcelExporter;
|
||||||
import org.adempiere.print.export.PrintDataXLSXExporter;
|
import org.adempiere.print.export.PrintDataXLSXExporter;
|
||||||
|
import org.apache.ecs.MultiPartElement;
|
||||||
import org.apache.ecs.XhtmlDocument;
|
import org.apache.ecs.XhtmlDocument;
|
||||||
import org.apache.ecs.xhtml.a;
|
import org.apache.ecs.xhtml.a;
|
||||||
import org.apache.ecs.xhtml.script;
|
import org.apache.ecs.xhtml.script;
|
||||||
|
import org.apache.ecs.xhtml.span;
|
||||||
import org.apache.ecs.xhtml.style;
|
import org.apache.ecs.xhtml.style;
|
||||||
import org.apache.ecs.xhtml.table;
|
import org.apache.ecs.xhtml.table;
|
||||||
import org.apache.ecs.xhtml.tbody;
|
import org.apache.ecs.xhtml.tbody;
|
||||||
|
@ -994,29 +996,7 @@ queued-job-count = 0 (class javax.print.attribute.standard.QueuedJobCount)
|
||||||
{
|
{
|
||||||
td td = new td();
|
td td = new td();
|
||||||
tr.addElement(td);
|
tr.addElement(td);
|
||||||
//set style
|
MStyle style = item.getAD_FieldStyle_ID() > 0 ? MStyle.get(Env.getCtx(), item.getAD_FieldStyle_ID()) : null;
|
||||||
int AD_FieldStyle_ID = item.getAD_FieldStyle_ID();
|
|
||||||
if(AD_FieldStyle_ID > 0) {
|
|
||||||
MStyle style = MStyle.get(Env.getCtx(), AD_FieldStyle_ID);
|
|
||||||
X_AD_StyleLine[] lines = style.getStyleLines();
|
|
||||||
StringBuilder styleBuilder = new StringBuilder();
|
|
||||||
for (X_AD_StyleLine line : lines)
|
|
||||||
{
|
|
||||||
String inlineStyle = line.getInlineStyle().trim();
|
|
||||||
String displayLogic = line.getDisplayLogic();
|
|
||||||
if (!Util.isEmpty(displayLogic))
|
|
||||||
{
|
|
||||||
if (!Evaluator.evaluateLogic(new PrintDataEvaluatee(null, m_printData), displayLogic))
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (styleBuilder.length() > 0 && !(styleBuilder.charAt(styleBuilder.length()-1)==';'))
|
|
||||||
styleBuilder.append("; ");
|
|
||||||
styleBuilder.append(inlineStyle);
|
|
||||||
}
|
|
||||||
if(styleBuilder.length() > 0)
|
|
||||||
td.setStyle(styleBuilder.toString());
|
|
||||||
}
|
|
||||||
//
|
|
||||||
Object obj = instanceAttributeColumn != null ? instanceAttributeColumn.getPrintDataElement(row)
|
Object obj = instanceAttributeColumn != null ? instanceAttributeColumn.getPrintDataElement(row)
|
||||||
: m_printData.getNodeByPrintFormatItemId(item.getAD_PrintFormatItem_ID());
|
: m_printData.getNodeByPrintFormatItemId(item.getAD_PrintFormatItem_ID());
|
||||||
if (obj == null || !isDisplayPFItem(item)){
|
if (obj == null || !isDisplayPFItem(item)){
|
||||||
|
@ -1122,15 +1102,40 @@ queued-job-count = 0 (class javax.print.attribute.standard.QueuedJobCount)
|
||||||
href.addElement(Util.maskHTML(value));
|
href.addElement(Util.maskHTML(value));
|
||||||
if (cssPrefix != null)
|
if (cssPrefix != null)
|
||||||
href.setClass(cssPrefix + "-href");
|
href.setClass(cssPrefix + "-href");
|
||||||
|
// Set Style
|
||||||
|
if(style != null && style.isWrapWithSpan())
|
||||||
|
setStyle(href, style);
|
||||||
|
else
|
||||||
|
setStyle(td, style);
|
||||||
extension.extendIDColumn(row, td, href, pde);
|
extension.extendIDColumn(row, td, href, pde);
|
||||||
} else {
|
} else {
|
||||||
td.addElement(Util.maskHTML(value));
|
// Set Style
|
||||||
|
if(style != null && style.isWrapWithSpan()) {
|
||||||
|
span span = new span();
|
||||||
|
setStyle(span, style);
|
||||||
|
span.addElement(Util.maskHTML(value));
|
||||||
|
td.addElement(span);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
setStyle(td, style);
|
||||||
|
td.addElement(Util.maskHTML(value));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
td.addElement(Util.maskHTML(value));
|
// Set Style
|
||||||
|
if(style != null && style.isWrapWithSpan()) {
|
||||||
|
span span = new span();
|
||||||
|
setStyle(span, style);
|
||||||
|
span.addElement(Util.maskHTML(value));
|
||||||
|
td.addElement(span);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
setStyle(td, style);
|
||||||
|
td.addElement(Util.maskHTML(value));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (cssPrefix != null)
|
if (cssPrefix != null)
|
||||||
{
|
{
|
||||||
|
@ -2764,4 +2769,28 @@ queued-job-count = 0 (class javax.print.attribute.standard.QueuedJobCount)
|
||||||
instance.setReportType(type);
|
instance.setReportType(type);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void setStyle(MultiPartElement element, MStyle style) {
|
||||||
|
if (style == null || style.getAD_Style_ID() == 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
X_AD_StyleLine[] lines = style.getStyleLines();
|
||||||
|
StringBuilder styleBuilder = new StringBuilder();
|
||||||
|
for (X_AD_StyleLine line : lines)
|
||||||
|
{
|
||||||
|
String inlineStyle = line.getInlineStyle().trim();
|
||||||
|
String displayLogic = line.getDisplayLogic();
|
||||||
|
if (!Util.isEmpty(displayLogic))
|
||||||
|
{
|
||||||
|
if (!Evaluator.evaluateLogic(new PrintDataEvaluatee(null, m_printData), displayLogic))
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (styleBuilder.length() > 0 && !(styleBuilder.charAt(styleBuilder.length()-1)==';'))
|
||||||
|
styleBuilder.append("; ");
|
||||||
|
styleBuilder.append(inlineStyle);
|
||||||
|
}
|
||||||
|
if(styleBuilder.length() > 0)
|
||||||
|
element.setStyle(styleBuilder.toString());
|
||||||
|
//
|
||||||
|
}
|
||||||
} // ReportEngine
|
} // ReportEngine
|
||||||
|
|
|
@ -38,7 +38,10 @@ import org.compiere.model.MStyle;
|
||||||
import org.compiere.util.Env;
|
import org.compiere.util.Env;
|
||||||
import org.compiere.util.Evaluatee;
|
import org.compiere.util.Evaluatee;
|
||||||
import org.compiere.util.KeyNamePair;
|
import org.compiere.util.KeyNamePair;
|
||||||
|
import org.zkoss.zhtml.Text;
|
||||||
|
import org.zkoss.zk.ui.HtmlBasedComponent;
|
||||||
import org.zkoss.zul.Listcell;
|
import org.zkoss.zul.Listcell;
|
||||||
|
import org.zkoss.zul.Span;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* List item renderer for Info Window list box.
|
* List item renderer for Info Window list box.
|
||||||
|
@ -165,14 +168,15 @@ public class WInfoWindowListItemRenderer extends WListItemRenderer
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if (styleStr != null && styleStr.startsWith(MStyle.SCLASS_PREFIX)) {
|
if(style.isWrapWithSpan()) {
|
||||||
String sclass = styleStr.substring(MStyle.SCLASS_PREFIX.length());
|
Span span = new Span();
|
||||||
listcell.setSclass(sclass);
|
span.appendChild(new Text(listcell.getValue()));
|
||||||
} else if (style != null && styleStr.startsWith(MStyle.ZCLASS_PREFIX)) {
|
listcell.setLabel(null);
|
||||||
String zclass = styleStr.substring(MStyle.ZCLASS_PREFIX.length());
|
listcell.appendChild(span);
|
||||||
listcell.setZclass(zclass);
|
setStyle(span, styleStr);
|
||||||
} else {
|
}
|
||||||
ZkCssHelper.appendStyle(listcell, styleStr);
|
else {
|
||||||
|
setStyle(listcell, styleStr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -182,4 +186,16 @@ public class WInfoWindowListItemRenderer extends WListItemRenderer
|
||||||
|
|
||||||
return listcell;
|
return listcell;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void setStyle(HtmlBasedComponent component, String style) {
|
||||||
|
if (style != null && style.startsWith(MStyle.SCLASS_PREFIX)) {
|
||||||
|
String sclass = style.substring(MStyle.SCLASS_PREFIX.length());
|
||||||
|
component.setSclass(sclass);
|
||||||
|
} else if (style != null && style.startsWith(MStyle.ZCLASS_PREFIX)) {
|
||||||
|
String zclass = style.substring(MStyle.ZCLASS_PREFIX.length());
|
||||||
|
component.setZclass(zclass);
|
||||||
|
} else {
|
||||||
|
ZkCssHelper.appendStyle(component, style);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue