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