Announcement

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

    bug in ISC_DataBinding in 11.1 build

    Version v11.1p_2019-12-02/Enterprise Deployment (2019-12-02)

    Hello, I've just noticed that sometimes in my application I get this js error:
    Code:
    ISC_Forms.js?isc_version=v121d_2018-05-02.js:33078 Uncaught TypeError: record.addProperties is not a function
        at cons.getValues (ISC_DataBinding.js?isc_version=v121d_2018-05-02.js:62563)
        at cons.processRules (ISC_DataBinding.js?isc_version=v121d_2018-05-02.js:62583)
        at cons._processComponentTriggerEvent (ISC_DataBinding.js?isc_version=v121d_2018-05-02.js:62460)
        at cons.processContextChanged (ISC_DataBinding.js?isc_version=v121d_2018-05-02.js:62445)
        at cons.fireRuleContextChanged (ISC_Core.js?isc_version=v121d_2018-05-02.js:85154)
        at cons._itemChanged (ISC_Forms.js?isc_version=v121d_2018-05-02.js:8277)
        at cons.handleChanged (ISC_Forms.js?isc_version=v121d_2018-05-02.js:31085)
        at cons.storeValue (ISC_Forms.js?isc_version=v121d_2018-05-02.js:31048)
        at cons._updateValue (ISC_Forms.js?isc_version=v121d_2018-05-02.js:30940)
        at cons.updateValue (ISC_Forms.js?isc_version=v121d_2018-05-02.js:30897)
        at cons.invokeSuper (ISC_Core.js?isc_version=v121d_2018-05-02.js:6806)
        at cons.Super (ISC_Core.js?isc_version=v121d_2018-05-02.js:6624)
        at cons.updateValue (ISC_Forms.js?isc_version=v121d_2018-05-02.js:56982)
        at cons.elementChanged (ISC_Forms.js?isc_version=v121d_2018-05-02.js:33072)
        at cons.bubbleItemHandler (ISC_Forms.js?isc_version=v121d_2018-05-02.js:15360)
        at cons.elementChanged (ISC_Forms.js?isc_version=v121d_2018-05-02.js:15388)
        at cons._handleElementChanged (ISC_Forms.js?isc_version=v121d_2018-05-02.js:33217)
        at HTMLInputElement._nativeChangeHandler (ISC_Forms.js?isc_version=v121d_2018-05-02.js:17841)
    getValues @ ISC_DataBinding.js?isc_version=v121d_2018-05-02.js:62563
    processRules @ ISC_DataBinding.js?isc_version=v121d_2018-05-02.js:62583
    _processComponentTriggerEvent @ ISC_DataBinding.js?isc_version=v121d_2018-05-02.js:62460
    processContextChanged @ ISC_DataBinding.js?isc_version=v121d_2018-05-02.js:62445
    fireRuleContextChanged @ ISC_Core.js?isc_version=v121d_2018-05-02.js:85154
    _itemChanged @ ISC_Forms.js?isc_version=v121d_2018-05-02.js:8277
    handleChanged @ ISC_Forms.js?isc_version=v121d_2018-05-02.js:31085
    storeValue @ ISC_Forms.js?isc_version=v121d_2018-05-02.js:31048
    _updateValue @ ISC_Forms.js?isc_version=v121d_2018-05-02.js:30940
    updateValue @ ISC_Forms.js?isc_version=v121d_2018-05-02.js:30897
    invokeSuper @ ISC_Core.js?isc_version=v121d_2018-05-02.js:6806
    Super @ ISC_Core.js?isc_version=v121d_2018-05-02.js:6624
    updateValue @ ISC_Forms.js?isc_version=v121d_2018-05-02.js:56982
    elementChanged @ ISC_Forms.js?isc_version=v121d_2018-05-02.js:33072
    bubbleItemHandler @ ISC_Forms.js?isc_version=v121d_2018-05-02.js:15360
    elementChanged @ ISC_Forms.js?isc_version=v121d_2018-05-02.js:15388
    _handleElementChanged @ ISC_Forms.js?isc_version=v121d_2018-05-02.js:33217
    _nativeChangeHandler @ ISC_Forms.js?isc_version=v121d_2018-05-02.js:17841
    it seems that line 62562 in modules-debug/ISC_DataBinding.js has an error:

    Code:
        //> @attr rulesEngine.ruleContext (Object : null : IRW)
        // The +link{canvas.ruleScope,rule context} to be used during rules processing.
        // <p>
        // If not provided a rule context is generated on the fly from the rules engine
        // member forms.
        // @visibility rules
        //<
    
        // getValues() Assembles a record values type object comprised of values from all
        // member forms. This will be used by rule / validator logic.
        // Note that for databound forms we store the form values under the dataSource name
        // as an attribute on this object.
        getValues : function () {
            if (this.ruleContext) return this.ruleContext;
    
            var record = {};
            for (var i = 0; i < this.members.length; i++) {
                var member = this.members[i];
                if (!member.getValues) continue;
    
                var values = member.getValues(),
                    dataSource = member.getDataSource(),
                    dsID = dataSource ? dataSource.getID() : null;
    
                if (dsID != null) {
                    record[dsID] = isc.addProperties(record[dsID] || {}, values);
                } else {
    
                   record.addProperties(values);
               }
            }
    
            return record;
        },
    I think it should be
    Code:
    isc.addProperties(record, values);
    as it is in 12.1

    #2
    Yes, that is a bug that was fixed in later versions but not back-ported. The patch has been applied to 11.1 and will be available in the next build (Dec 5).

    Regards,
    Isomorphic

    Comment

    Working...
    X