Ga naar inhoud
  • 0

"back" toets


guyvt

Vraag

Iemand een goed idee om een "back" toets te implementeren ?

 

Die zou steeds terug moeten gaan naar het vorige scherm, indien je via een of andere navigatie doorheen je programma 'loopt'.

Een beetje zoals de back knop van een webbrowser je de pagina toont die je ervoor hebt bezocht.

 

Ik vind het op zich geen leuk idee om te ontwikkelen, maar m'n klant houdt vol ...

Link naar reactie

4 antwoorden op deze vraag

Aanbevolen berichten

  • 0

Dat brengt je 1 stap terug en daarna is het weer gedaan.

Beter kan je in je navigatie script ook een teller opnemen die verhoogd wordt en je variabele met layoutnamen herhalend maken door de teller op te nemen.

 

Je moet dan wel bij de knop 'terug' een script aanroepen met daarin ga naar layout, teller min 1 en variabele[teller] legen.

 

Als je begrijpt wat ik bedoel :)

 

Gaat dus iets worden als:

navigeer naar layout "abc"

$$Teller = $$Teller + 1

$$Historie[$$Teller] = layoutnaam

 

navigeer naar layout "xyz"

$$Teller = $$Teller + 1

$$Historie[$$Teller] = layoutnaam

 

knop terug:

$$Historie[$$Teller] = ""

$$Teller = $$Teller - 1

navigeer naar layout $$Historie[$$Teller]

 

Je kan erover denken om het leegmaken achterwege te laten, dan heb je ook nog de mogelijkheid om een knop 'verder' te implementeren.

Maar dat brengt weer andere problemen met zich: wat als je na terug een navigatie script aanroept? Dan moet alles wat al bestaat wat na de huidige tellerstand komt worden gewist, anders werkt je 'verder' onverwacht.

 

rmw

Link naar reactie
  • 0

Dank je !

 

Ik zie twee problemen:

- ooit bereik je het 'plafond' van het repeating field & daar moet de script mee rekening houden

- dit gaat terug naar de Layout, maar nog niet naar het record (of de found set) die toen actief was

 

Maar hiermee kan ik alvast aan de slag.

 

- Guy

Link naar reactie
  • 0

Je dient 'alles' vast te leggen met een variable en Back and Forth via aparte scripts laten lopen:

 

Back

Set Variable($$PreviousContext;GetValue(Get(ScriptParameter); ValueCount(Get(ScriptParameter)) - 1)
Set Variable($$LastLayout;LeftWords($$PreviousContext; WordCount($$PreviousContext) - 1)
Set Variable($$LastRecord;RightWords($$PreviousContext; 1)

 

Dat kun je aanvullen met SSLastField via het gebruik van een scripttrigger.

 

Op niveau van Back navigatie krijg je dan:

 

Go to Layout($$LastLayout)
Go to Record/Request/Page(No dialog;$$LastRecord)
SetVariable($$StepTrace2;$$StepTrace2  & ¶ &  RightWords($$StepTrace;2)

 

waarna je dan opnieuw die stap moet loggen:

 

SetVariable($$StepTrace;Let(
NewLog = LeftValues(Get(ScriptParameter); ValueCount(Get(ScriptParameter)) - 1);
Left(NewLog; Length(NewLog) - 1)
)

 

Alles bij elkaar heel wat werk voor een vrij breekbaar iets.

Field, layout, tab en record zou je ook kunnen loggen via een serie Custom Functions die je laat samenwerken.

 

Misschien een leuk hebbeding voor de klant, maar waarschijnlijk een nachtmerrie voor de developer.

Link naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...