var JV = require('./Jpc_ValueDefine'); var JpcCommonHelper = require('./helper/Jpc_Helper_Common'); var JpcBandHelper = require('./helper/Jpc_Helper_Band'); var JpcBand = { createNew: function(rptTpl, defProperties) { var me = this; var JpcBandResult = {}; if (rptTpl[JV.NODE_BAND_COLLECTION]) { for (var i = 0; i < rptTpl[JV.NODE_BAND_COLLECTION].length; i++) { me.createSingle(rptTpl[JV.NODE_BAND_COLLECTION][i], JpcBandResult, rptTpl, defProperties); } } return JpcBandResult; }, createSingle: function(bandNode, parentObj, rptTpl, defProperties) { var me = this; if (bandNode && bandNode[JV.BAND_PROP_NAME]) { var item = {Left:0, Right:0, Top:0, Bottom:0}; item[JV.BAND_PROP_STYLE] = JpcCommonHelper.getStyle(bandNode[JV.BAND_PROP_STYLE], defProperties.styles, null); item[JV.BAND_PROP_CONTROL] = JpcCommonHelper.getControl(bandNode[JV.BAND_PROP_CONTROL], defProperties.ctrls, null); if (bandNode[JV.BAND_PROP_HEIGHT]) { item[JV.BAND_PROP_HEIGHT] = 1.0 * bandNode[JV.BAND_PROP_HEIGHT]; } else { item[JV.BAND_PROP_HEIGHT] = 0.0; } if (bandNode[JV.BAND_PROP_WIDTH]) { item[JV.BAND_PROP_WIDTH] = 1.0 * bandNode[JV.BAND_PROP_WIDTH]; } else { item[JV.BAND_PROP_WIDTH] = 0.0; } item[JV.BAND_PROP_DISPLAY_TYPE] = JpcBandHelper.getBandTypeValByString(bandNode[JV.BAND_PROP_DISPLAY_TYPE]); item[JV.BAND_PROP_ALIGNMENT] = JpcCommonHelper.getLayoutAlignment(bandNode[JV.BAND_PROP_ALIGNMENT]); item[JV.PROP_CALCULATION] = JpcCommonHelper.getPosCalculationType(bandNode[JV.PROP_CALCULATION]); if (bandNode[JV.BAND_PROP_MERGE_BORDER]) { item[JV.BAND_PROP_MERGE_BORDER] = bandNode[JV.BAND_PROP_MERGE_BORDER]; } if (bandNode[JV.BAND_PROP_SUB_BANDS]) { for (var i = 0; i < bandNode[JV.BAND_PROP_SUB_BANDS].length; i++) { me.createSingle(bandNode[JV.BAND_PROP_SUB_BANDS][i], parentObj, rptTpl, defProperties); } } parentObj[bandNode[JV.BAND_PROP_NAME]] = item; if (item[JV.BAND_PROP_MERGE_BORDER] != null && item[JV.BAND_PROP_MERGE_BORDER] != undefined && item[JV.BAND_PROP_MERGE_BORDER] == 'T') { parentObj[JV.BAND_PROP_MERGE_BAND] = item; } } } } module.exports = JpcBand;