Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    SmartClient 6.5.1: Patch for issue: Incremental ListGrid fields and canEdit:false

    In SmartClient 6.5.1 there exists a bug whereby in some circumstances a horizontally scrolled editable listGrid with a number of fields, including some which are canEdit:false can fail to show an editor for certain fields.

    This patch should resolve this issue:

    Code:
    //----------------------------------------------------------------------------
    // Isomorphic SmartClient 6.5.1 patch
    // Purpose: Fix for a case where editors could fail to show for some fields when
    // incrementally rendering out ListGrid columns if editing was disabled on other fields
    // 
    // Applies to SmartClient 6.5.1 build only
    //----------------------------------------------------------------------------
    if (window.isc && isc.version.startsWith("6.5.1/") ){
    
    if (isc.ListGrid) {
    isc.ListGrid.addProperties({
    $32s: function (_1, _2) {
        var _3 = this.$30a;
        this.$30a = true;
        if (!this.isDrawn() || !this.body) {
            return;
        }
        var _4 = this.isEmpty() ||
            !_3 &&
            _1 >= this.data.getLength() &&
            (this.showNewRecordRow || this.body.getTableElement(_1, _2) == null);
        if (_4 ||
            this.body.isDirty() ||
            (this.frozenBody && this.frozenBody.isDirty())) {
            var _5 = this.bodyLayout ? this.bodyLayout : this.body;
            _5.redraw("Showing editor");
            return;
        }
        if (this.editByCell) {
            this.refreshCell(_1, _2);
        } else {
            var _6 = this.getDrawnFields();
            for (var i = 0; i < _6.length; i++) {
                var _8 = _6[i][this.fieldIdProperty], 
                    _9 = this.$286.getItem(_8), _2 = _9.colNum, _10 = !!(_3 && _9.isDrawn()), 
                    _11 = this.canEditCell(_1, _2);
                if (_10 != _11) {
                    this.refreshCell(_1, _2);
                } else if (this.selectOnEdit || this.lastOverRow) {
                    this.body.$29h(this.getCellRecord(_1, _2), _1, _2);
                }
            }
        }
    }
    });
    }
    
    
    } else if (window.isc) {
      isc.Log.logWarn("Patch for SmartClient 6.5.1 build included in this application. " +
                "You are currently running SmartClient verion '"+ isc.version + 
                "'. This patch is not compatible with this build and will have no effect. " +
                "It should be removed from your application source.");
    
    }
    
    // End of patch
    // ------------
Working...
X