eric Posted January 6, 2016 Posted January 6, 2016 Hello, How to get the change event in the TUniSyntaxEdit component? Thanks, ~eric Quote
Sherzod Posted January 7, 2016 Posted January 7, 2016 Hi eric For now, try: procedure TMainForm.UniFormCreate(Sender: TObject); var UniSyntaxEditJSName: string; begin UniSyntaxEditJSName := UniSyntaxEdit1.JSName; UniSession.AddJS('Ext.onReady(function(){'+ 'var timerEdKeyUp = setInterval(function(){'+ ' if ('+UniSyntaxEditJSName +'.codeEditor.editor) {'+UniSyntaxEditJSName + '.codeEditor.editor.keyUp = function(e){'+ ' ajaxRequest('+UniSyntaxEditJSName+', ''_change'', [''codeValue=''+'+UniSyntaxEditJSName+'.codeEditor.getCode()])};'+ ' clearInterval(timerEdKeyUp)'+ ' }}, 500)'+ '})'); end; procedure TMainForm.UniSyntaxEdit1AjaxEvent(Sender: TComponent; EventName: string; Params: TStrings); begin if EventName = '_change' then begin //ShowMessage(Params.Values['codeValue']); end; end; Best regards. Quote
fh80 Posted July 20, 2025 Posted July 20, 2025 on TUniSyntaxEditEx class the change event don't exist too. How can we edit the code above so that we can have this event? Quote
Sherzod Posted July 20, 2025 Posted July 20, 2025 54 minutes ago, fh80 said: on TUniSyntaxEditEx class the change event don't exist too. How can we edit the code above so that we can have this event? Hello, Is it just to detect any change, nothing more? Quote
Sherzod Posted July 20, 2025 Posted July 20, 2025 If yes: 1. procedure TMainForm.UniFormCreate(Sender: TObject); begin UniSyntaxEditEx1.JSInterface.JSAddListener('afterrender', 'function(me){Ext.defer(function(){var editor=me.codeEditor;if(editor){editor.on("change",function(){ajaxRequest(me,"_change",{})})}}, 500)}'); end; 2. procedure TMainForm.UniSyntaxEditEx1AjaxEvent(Sender: TComponent; EventName: string; Params: TUniStrings); begin if EventName = '_change' then ShowMessage('Changed') end; Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.