This patch code resolves an issue with SmartClient versions 7.0rc2 and 8.0 whereby generated HTML for Button and SectionHeader could be incomplete in some cases. This typically had no user-visible impact except when putting together HTML for the print-view of these components.
Code:
if (window.isc != null) {
if (isc.version.startsWith("7.0rc2/") ||
isc.version.startsWith("SC_SNAPSHOT-2011-01-05/"))
{
isc.Button.addProperties({
fillInCell:function (_1, _2) {
var _3 = this.isRTL();
var _4 = this.getTitleHTML();
if (!this.icon) {
if (isc.Browser.isMoz) {
var _5 = this.reliableMinHeight;
_1[_2] = _5 ? "<div>" : null;
_1[_2 + 1] = _4;
_1[_2 + 2] = _5 ? "</div>" : null;
this.$5c(_1, _2 + 3);
} else {
_1[_2] = _4;
this.$5c(_1, _2 + 1);
}
return;
}
var _6 = this.iconOrientation != this.$o1, _7 = this.$5d();
if (this.noIconSubtable) {
var _8 = isc.Canvas.spacerHTML(this.iconSpacing, 1);
_1[_2] = _6 ? isc.SB.concat(_7, _8, _4) : isc.SB.concat(_4, _8, _7);
this.$5c(_1, _2 + 1);
return;
}
var _9 = this.$5b(), _10;
if (_9) {
_10 = (this.iconWidth ? this.iconWidth : this.iconSize) + this.iconSpacing;
}
_1[_2] = _9 ? this.$4i : this.$4h;
var _11 = this.isPrinting ? this.getPrintStyleName() : this.titleStyle ? this.titleStyle + (this.isDisabled() ? isc.StatefulCanvas.STATE_DISABLED : isc.emptyString) : this.getStateName();
if (_6) {
_1[++_2] = this.$4n;
_1[++_2] = _11;
_1[++_2] = this.$4o;
_1[++_2] = !_3 ? this.$4j : this.$4k;
_1[++_2] = this.iconSpacing;
if (_9) {
_1[++_2] = "px;width:";
_1[++_2] = _10;
}
_1[++_2] = this.$4l;
_1[++_2] = _7;
_1[++_2] = this.$4m;
_1[++_2] = this.$4n;
_1[++_2] = _11;
_1[++_2] = this.$4o;
if (_9) {
_1[++_2] = "' align='";
_1[++_2] = this.align;
}
_1[++_2] = this.wrap ? this.$4p : this.$4q;
_1[++_2] = _4;
} else {
_1[++_2] = this.$4n;
_1[++_2] = _11;
_1[++_2] = this.$4o;
if (_9) {
_1[++_2] = "' align='";
_1[++_2] = this.align;
}
_1[++_2] = this.wrap ? this.$4p : this.$4q;
_1[++_2] = _4;
_1[++_2] = this.$4m;
_1[++_2] = this.$4n;
_1[++_2] = _11;
_1[++_2] = this.$4o;
_1[++_2] = !_3 ? this.$4k : this.$4j;
_1[++_2] = this.iconSpacing;
if (_9) {
_1[++_2] = "px;width:";
_1[++_2] = _10;
}
_1[++_2] = this.$4l;
_1[++_2] = _7;
}
_1[++_2] = this.$4r;
this.$5c(_1, _2+1);
}
});
} else {
isc.Log.logWarn("Patch code for SmartClient versions 7.0rc2 and 8.0 [full version string: 'SC_SNAPSHOT-2011-01-05/'] " +
"included in this application. You are running SmartClient version " +
isc.version + ". The patch code will have no effect in this application and should be removed.");
}
}