Hi guys,

i am developing a new application and have the following situation:

1) In a control block the user can do some settings.

2) All datasources in the application depend on the settings.

3) When a user opens a form (consisting of multiple panels), the related datasources are being executed and data displayed.

The challenge now is what to do when the user changes the settings. It is not possible to re-execute all datasources because that will take much too long. Preferrably i would like to close all opened panels. However, that has one big problem: when the user re-opens such panel, the old data (with the previous setting) is displayed and the "initialize" event is not triggered.

I can think of two solutions:

1) Force somehow that the "initialize" event for the panels is always triggered instead on only on the first time the panel is opened. Is this possible? If yes i would be able to detect changes in the settings.

2) Reset the application completely in such a way that all panels are closed and datasources resetted to their not-yet-being-executed state.

Please advise.

Kind regards, Jan Willem

asked 03 Oct '16, 11:09

Jan%20Willem%20Vermeer's gravatar image

Jan Willem V...
1231331
accept rate: 0%


Hi formspider team,

is the second solution possible? Can i close all datasources, tabs and panels? How?

Offcourse i know how to close a tab with panels, but the problem is that the panels always stay alive...

Kind regards, Jan Willem

link

answered 06 Oct '16, 15:40

Jan%20Willem%20Vermeer's gravatar image

Jan Willem V...
1231331
accept rate: 0%

Hi Jan Willem,

One easy solution is to restart the application using the api_application.restart (http://theformspider.com/API/api_application.html#restart)

A restart may not always be desirable though. There is not API to reinitialize a panel. However, you can requery only the datasources that need to be requeried. To do this, you may keep track of the datasources that are already queried and have a reference to the settings parameter being changed.

I guess if you already know which panels should be reinitialized, it is not a far cry from there to figure out which datasources should be requeried.

Hope this helps.

Kind Regards,
Yalim

link

answered 12 Oct '16, 10:24

Yalim's gravatar image

Yalim ♦♦
2.8k5
accept rate: 22%

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Tags:

×32
×6
×6
×4

Asked: 03 Oct '16, 11:09

Seen: 709 times

Last updated: 12 Oct '16, 10:24


© Copyright Gerger 2017