Jump to content

neo4a

uniGUI Subscriber
  • Posts

    70
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by neo4a

  1. My ticket status is unchanged (seen, in progress, solved). And my last test with rel 1.7xx or so failed. So what to respond? And to complete this off topic discussion: If a forum moderator see that a forum thread is rising a bug in your product why it's up to the customer to open a ticket? Are the moderators unable to do this?
  2. REMINDER. And no, there was no re-/action at all.
  3. Done. Does that get the same attention as the other bug reports that have been unanswered there for months? SCNR.
  4. Perfect. Perfect. It is working now. Thanks. But from a point of view of a delphi developer it should be done with UnimNestedList1.Items[3].Selected := True; without any additional js-call, isn't it?!
  5. If you set an item in code as selected there is no visual feedback/highlight. Looks like same problem like here
  6. No problem to set an item of TUnimNestedList as: aItem.selected := true; But which js-call I have to use to visual show this item as selected because uniGUI wont't handle that? (BTW, no problem if I click on this item but I want to do that by code.) Thank you.
  7. If I run my app as pwa and session is terminated InvalidSessionTemplate is used to redirect to my uniGUI app. Unfortunally running my app as pwa this will open an additional safari browser instead of running instance. Pwa instance will show for "some time" uniGUI-InvalidSession page (at least in iOS) or I have to reinstall app by deleting pwa icon from boars and reinstall it from browser. Did somebody found a solution how to modify InvalidSessionTemplate so that redirection link will use pwa web instance? TIA.
  8. It is not possible to reflect carousel page to an specific TUnimSegmentedButton by setting .pressed property at runtime, e.g.: procedure TMainmForm.CarouselChange(Sender: TObject); begin AdjustButtons; end; procedure TMainmForm.AdjustButtons; begin segButtons.Items[0].Pressed := Carousel.ActivePage = pageStart; segButtons.Items[1].Pressed := Carousel.ActivePage = pageBlinds; segButtons.Items[2].Pressed := Carousel.ActivePage = pageOpens; end; Do I have to put some js script somewhere?
  9. Following my sample you would do it in TMainForm.UniFormShow(Sender: TObject) by AutoStartAction aApp := (Sender as TUniGUISession).UniApplication; aBLIEwin := aApp.Parameters.Values['BLIEWIN']; In my sample BLIEWIN is parameter name, so by URL of http://localhost:8077/m?BLIEWIN=param variable aBLIEWIN contains "param". At this point you can decide, wether to show a login form or not by setting procedure var Handled HTH.
  10. Maybe you can adapt my approach to your needs (simplified procedure): procedure TUniMainModule.UniGUIMainModuleBeforeLogin(Sender: TObject; var Handled: Boolean); var aApp : TUniGUIApplication; aBLIEwin : string; begin Handled := false; try aApp := (Sender as TUniGUISession).UniApplication; aBLIEwin := aApp.Parameters.Values['BLIEWIN']; if not aBLIEwin.IsEmpty then begin if not Assigned(FdmUser) then FdmUser := TdmUser.Create(self); Handled := FdmUser.CheckLogin(aBLIEwin, FAutoStartAction); end; finally FIsLogin := Handled; end; end; This link http://localhost:8077/m?BLIEWI=param will bypass login form and in App.MainForm: procedure TMainForm.UniFormShow(Sender: TObject); var aAction : TAction; begin aAction := UniMainModule.AutoStartAction; if Assigned(aAction) then begin UniMainModule.AutoStartAction := nil; ModuleExecute(aAction); end; end; HTH.
  11. Thanks for clarification. This matches also to the information in the linked article in my post. One more solution isr to use a native app and embed your unigui app. BTW, this is the way I use one of my unigui app right from windows environment. Using a Delphi app and a browser control, passing user credentials (domain, login and host name) as parameter to embeded unigui app. So it is possible to provide a "silent login" from a domain driven bussiness environment.
  12. Your answer makes me think that there is no machine-specific attribute in UniGUI that you can use (for mobile clients e.g. IMEI). Can you tell me a way to create such a unique attribute on the server side and store it on the client so that it can be used session-independently? Device fingerprint.
  13. I need to embed my unigui web app into a Twebbrowser control of my native windows app. How can I react to mouse or keyboard clicks in the web form in my Windows app? In particular, I would like to know which table row in the Unigui form was clicked to call some functions in the Windows app. Thank you.
  14. And if you want to redirect https://yourdomain.com/app to internal uniGUI App in IIS you have to install modules: requestRouter_XXX.msi rewrite_XXX.msi Create https binding with letsencrypt and providing a web.config with these settings: <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="Redirect to UniGUI app" patternSyntax="Wildcard" stopProcessing="true"> <match url="*" /> <action type="Rewrite" url="http://localhost:8077/{R:1}" /> <conditions> </conditions> <serverVariables> <set name="HTTP_X_FORWARDED_HOST" value="{HTTP_HOST}" /> <set name="HTTP_X_FORWARDED_SCHEMA" value="https" /> <set name="HTTP_X_FORWARDED_PROTO" value="https" /> </serverVariables> </rule> </rules> </rewrite> </system.webServer> </configuration>
  15. There is a TitleButton with essentially a call to: procedure TUniMainModule.DoRestartTimer(Sender: TObject); begin UniSession.UniApplication.Restart; end; App is handling reconnecting, re-login and restoring previous view. For my purpusoses it works very well. Our (very known) user are instructed to press restart button...
  16. Thank you. Found this already and several other ones but none of them are working with demo project provided above. BTW, most recent version of sources in linked project are TypeScript (.ts) files.
  17. Hi Felix, I'm trying to run your project but get several error messages ("resizeCanvas is not defined" etc.). Can you please include your CustomFiles to your project: files/signature_pad.js files/points.js files/app.js files/css/signature-pad.css Thank you.
  18. I support both mobile and desktop clients with my app. What does the basic structure of a mobile app look like that dynamically adapts to changes in browser size? Unfortunately even the demo project under "Demos\Touch\Clientside Alignment" does not work reliably, especially if you only change the width of the browser, the app areas are not dynamically adjusted. Areas remain empty or disappear without scrollbars. This is not a croped screenshot. It shows the result of a width resized browser window. Same effect is visible in multi window mode of iPad (pro) etc. Again, I need a working sample that avoid this behavior in most cases without reloading browser page.
  19. Using 1.70.0.1493 this problem still exists.
  20. Following discussion in this thread I'd like to know which version and documentation are valid for either desktop and mobile environment. There are some differences between JS syntax, e.g. Mobile: UniSession.addJS('Ext.Viewport.setMasked({xtype: ''loadmask'', message: ''Einen Moment bitte...''});'); UniSession.addJS('Ext.toast({message: "Die App wird neu gestartet...", timeout: 5000});'); Desktop: // Next line doesn't work in desktop mode //UniSession.addJS('Ext.Viewport.setMasked({xtype: ''loadmask'', message: ''Einen Moment bitte...''});'); UniSession.AddJS('Ext.toast({html: "The App will restart now...", header: false, autoCloseDelay: 5000});'); Thanks.
  21. FYI, this is my approach handling session restarting for desktop and mobile version in Mainmodule only: procedure TUniMainModule.act_ReloadExecute(Sender: TObject); var aTimer : TUniTimer; begin inherited; if UniSession.IsMobile then begin UniSession.addJS('Ext.Viewport.setMasked({xtype: ''loadmask'', message: ''Please be patient...''});'); UniSession.addJS('Ext.toast({message: "The App will restart now...", timeout: 5000});'); aTimer := TUnimTimer.Create(Masterform); end else begin UniSession.AddJS('Ext.toast({html: "The App will restart now...", header: false, autoCloseDelay: 5000, modal: true});'); aTimer := TUniTimer.Create(Masterform); end; with aTimer do begin Interval := 1000; RunOnce := True; OnTimer := DoRestartTimer; Enabled := True; end; end; procedure TUniMainModule.DoRestartTimer(Sender: TObject); begin UniSession.UniApplication.Restart; end;
  22. Ok. That works. But it seemed that Tuni(m)timer is not working within Mainmodule. procedure TUniMainModule.act_ReloadExecute(Sender: TObject); begin inherited; UniSession.addJS('Ext.Viewport.setMasked({xtype: ''loadmask'', message: ''Neustart''});'); if UniSession.ismobile then unimTimer1.enabled := True else uniTimer1.enabled := True; Tuni(m)timer.OnTimer is never executed. I'm trying to keep non visual things in datamodule.
  23. With the sample above I get 'undefined' as toast im mobile view of my app. What do I need to change? Thanks.
×
×
  • Create New...