Hi Isomorphic,
do you have an idea that could explain the difference between a client-side a logged getValues() call and the values actually sent in the request by saveData() immediately afterwards (v12.1p_2022-08-10)? There is no fancy transformRequest on the DataSource or anything like this, just DynamicForm and ValuesManager.
I got my DynamicForm's name via the Watch Tab in the developer console and then enter this in the "Evaluate JS Expression"-box:
Result in log (see ENABLED: false, which is a CheckBox in a DynamicForm with one item, currently not checked):
I then click that enabled-box to check it and try again:
Result in log (see ENABLED: true, which is a CheckBox in a DynamicForm with one item, currently checked):
I now execute saveData(), again in the Evaluate JS Expression-box:
Result in log:
Request data in RPC Tab (see that ENABLED:false is sent to the server, even though the getValues()-call above said it is true)
Do you have an idea?
Thank you & Best regards
Blama
do you have an idea that could explain the difference between a client-side a logged getValues() call and the values actually sent in the request by saveData() immediately afterwards (v12.1p_2022-08-10)? There is no fancy transformRequest on the DataSource or anything like this, just DynamicForm and ValuesManager.
I got my DynamicForm's name via the Watch Tab in the developer console and then enter this in the "Evaluate JS Expression"-box:
Code:
isc_InternEnableDynamicForm_0.valuesManager.getValues();
Code:
Evaluator: result of 'isc_InternEnableDynamicForm_0.valuesManager.getValues();...' (0ms):
{INTERN_PASSWORD_NEED_UPPERCASE: true,
INTERN_PASSWORD_NEED_NUMBER: true,
INTERN_CAN_USE_OLD_PASSWORD_AS_NEW_PASSWORD: false,
INTERN_PASSWORD_MAX_LENGTH: 12,
ENABLED: false,
INTERN_PASSWORD_NEED_LOWERCASE: true,
TYPE: "intern",
INTERN_PASSWORD_MIN_LENGTH: 6}
Code:
isc_InternEnableDynamicForm_0.valuesManager.getValues();
Code:
Evaluator: result of 'isc_InternEnableDynamicForm_0.valuesManager.getValues();...' (0ms):
{INTERN_PASSWORD_NEED_UPPERCASE: true,
INTERN_PASSWORD_NEED_NUMBER: true,
INTERN_CAN_USE_OLD_PASSWORD_AS_NEW_PASSWORD: false,
INTERN_PASSWORD_MAX_LENGTH: 12,
ENABLED: true,
INTERN_PASSWORD_NEED_LOWERCASE: true,
TYPE: "intern",
INTERN_PASSWORD_MIN_LENGTH: 6}
Code:
isc_InternEnableDynamicForm_0.valuesManager.saveData();
Code:
Evaluator: result of '//isc_InternEnableDynamicForm_0.valuesManager.getValues();...' (142ms):
{operationType: "update",
dataSource: "INTERN_LOGIN_CONFIG",
data: Obj,
callback: Obj,
requestId: "INTERN_LOGIN_CONFIG_request38",
_origUseStrictJSON: undef,
useStrictJSON: null,
_origFallbackToEval: undef,
fallbackToEval: false,
textMatchStyle: "exact",
_alreadyDuped: true,
oldValues: Obj,
afterFlowCallback: "isc_ValuesManager_8._saveDataReply(dsReq..."[63],
operation: Obj{ID:updateInternSettings},
operationId: "updateInternSettings",
componentId: "isc_ValuesManager_8",
prompt: "Speichere Formulardaten …",
editor: [ValuesManager ID:isc_ValuesManager_8],
internalClientContext: Obj,
willHandleError: true,
lastClientEventThreadCode: "TMR5",
_origParentNode: undef,
parentNode: null,
_origBypassCache: undef,
bypassCache: true,
showPrompt: true,
_dsCallback: Obj,
unconvertedDSRequest: Obj,
dataProtocol: "getParams",
_dsRequest: Obj,
_callStack: "\r\n [c]RPCManager.sendRequest(request=..."[1917],
jsonReviver: DataSource.jsonReviver(),
suppressAutoDraw: true,
_localActionURL: undef,
actionURL: "http://lms.localhost/lms/sc/IDACall?loca..."[45],
transport: "xmlHttpRequest",
useSimpleHttp: undef,
promptStyle: "cursor",
promptCursor: "progress",
useCursorTracker: false,
cursorTrackerConstructor: "Img",
cursorTrackerProperties: Obj,
_component: [ValuesManager ID:isc_ValuesManager_8],
showedPrompt: true,
transactionNum: 26}
Code:
{
dataSource:"INTERN_LOGIN_CONFIG",
operationType:"update",
operationId:"updateInternSettings",
componentId:"isc_ValuesManager_8",
data:{
INTERN_PASSWORD_NEED_UPPERCASE:true,
INTERN_PASSWORD_NEED_NUMBER:true,
INTERN_CAN_USE_OLD_PASSWORD_AS_NEW_PASSWORD:false,
INTERN_PASSWORD_MAX_LENGTH:12,
ENABLED:false,
INTERN_PASSWORD_NEED_LOWERCASE:true,
TYPE:"intern",
INTERN_PASSWORD_MIN_LENGTH:6
},
textMatchStyle:"exact",
callback:{
target:[ValuesManager ID:isc_ValuesManager_8],
methodName:"saveEditorReply"
},
showPrompt:true,
prompt:"Speichere Formulardaten …",
oldValues:{
INTERN_PASSWORD_NEED_UPPERCASE:true,
INTERN_PASSWORD_NEED_NUMBER:true,
INTERN_CAN_USE_OLD_PASSWORD_AS_NEW_PASSWORD:false,
INTERN_SPECIAL_CHARS_REQUIRED:null,
INTERN_PASSWORD_MAX_LENGTH:12,
ENABLED:false,
INTERN_PASSWORD_NEED_LOWERCASE:true,
TYPE:"intern",
INTERN_PASSWORD_MIN_LENGTH:6
},
requestId:"INTERN_LOGIN_CONFIG_request38",
internalClientContext:{
},
fallbackToEval:false,
afterFlowCallback:"isc_ValuesManager_8._saveDataReply(dsRequest, dsResponse, data)",
editor:[ValuesManager ID:isc_ValuesManager_8],
lastClientEventThreadCode:"TMR5",
bypassCache:true,
dataProtocol:"getParams"
}
Do you have an idea?
Thank you & Best regards
Blama
Comment