0

I have created a Visualforce Page which is displaying the Child related list as inline on Parent record detail page. Also I have used the inlineEditsupport to edit the child records by double clicking it.

Here is the code snippet of VF page i have used to inline editing :

<apex:outputField value="{!invcLine.Name}" >
    <apex:inlineEditSupport showOnEdit="saveButton, cancelButton" hideOnEdit="editButton" event="ondblclick" changedStyleClass="myBoldClass" resetFunction="resetInlineEdit"/>
</apex:outputField>

The problem i am facing is when I double click to edit the record the inline editing is not working and in the console its showing this error:

enter image description here

"Uncaught ReferenceError: Perf is not defined"

  • is this an embedded VF ? – erkan çipil May 16 '17 at 12:20
1

Following a ticket we have made to the salesforce support, they deployed the patch 208.5 / Summer '17 Patch 4.5.

The issue is now resolved.

0

It is known issue on salesforce, after summer 17 release, and they scheduled to fix on path 5.0, Check the link

https://success.salesforce.com/issues_view?id=a1p3A0000001CYWQA2&title=inline-edit-not-working-on-embedded-visualforce-page

Here is the workaround that works for me!

window.enablePerf = function(window) {
    'use strict';
    var a = { DEBUG: { name: "DEBUG", value: 1 }, INTERNAL: { name: "INTERNAL", value: 2 }, PRODUCTION: { name: "PRODUCTION", value: 3 }, DISABLED: { name: "DISABLED", value: 4 } };
    window.PerfConstants = { PAGE_START_MARK: "PageStart", PERF_PAYLOAD_PARAM: "bulkPerf", MARK_NAME: "mark", MEASURE_NAME: "measure", MARK_START_TIME: "st", MARK_LAST_TIME: "lt", PAGE_NAME: "pn", ELAPSED_TIME: "et", REFERENCE_TIME: "rt", Perf_LOAD_DONE: "loadDone", STATS: { NAME: "stat", SERVER_ELAPSED: "internal_serverelapsed", DB_TOTAL_TIME: "internal_serverdbtotaltime", DB_CALLS: "internal_serverdbcalls", DB_FETCHES: "internal_serverdbfetches" } };
    window.PerfLogLevel = a;
    var b = window.Perf = {
        currentLogLevel: a.DISABLED,
        mark: function() { return b },
        endMark: function() { return b },
        updateMarkName: function() { return b },
        measureToJson: function() { return "" },
        toJson: function() { return "" },
        setTimer: function() { return b },
        setServerTime: function() { return b },
        toPostVar: function() { return "" },
        getMeasures: function() { return [] },
        getBeaconData: function() { return null },
        setBeaconData: function() {},
        clearBeaconData: function() {},
        removeStats: function() {},
        stat: function() { return b },
        getStat: function() { return -1 },
        onLoad: function() {},
        startTransaction: function() { return b },
        endTransaction: function() { return b },
        updateTransaction: function() { return b },
        isOnLoadFired: function() { return !1 },
        util: { setCookie: function() {} },
        enabled: !1
    };
};

Upload this js as a static resource and on your page call the following piece of code on window load or whatever you call on page init.

if(!this["Perf"]){
                window.enablePerf(this);
            }
0

I don't know what exactly you getting this issue, but try to Import "require('react-addons-perf');" to your code. Like " var Perf = require('react-addons-perf'); "

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.