wissel.net

Usability - Productivity - Business - The web - Singapore & Twins

The Eventful Notes Client -- Part 2


Slavek suggested in his comment to " The Eventful Notes Client" to use the Statusbar instead of popup messages. I replaced "@Prompt([OK];"Eventful Notes";" with "@Statusbar(", "MsgBox" with "Print" and "alert(" with "@window.status = (". Being naturally lazy I used Teamstudio Configurator for this. Here we go:

-- Open database into frameset --

07/09/2007 09:42:47 PM  Status Msg: Menu Page Title
07/09/2007 09:42:47 PM  Status Msg: Name of embedded Outline
07/09/2007 09:42:47 PM  Status Msg: $All Global Initialize
07/09/2007 09:42:47 PM  Status Msg: $All Initialize
07/09/2007 09:42:47 PM  Status Msg: $All QueryOpen
07/09/2007 09:42:48 PM  Status Msg: Initialize for database NotesEventExample
07/09/2007 09:42:48 PM  Status Msg: PostOpen for database NotesEventExample
07/09/2007 09:42:48 PM  Status Msg: $All PostOpen
07/09/2007 09:42:48 PM  Status Msg: $All OnSelect

-- Change to a different view --
07/09/2007 09:43:21 PM  Status Msg: $All QueryClose
07/09/2007 09:43:21 PM  Status Msg: $All Terminate
07/09/2007 09:43:21 PM  Status Msg: $All Global Terminate
07/09/2007 09:43:21 PM  Status Msg: SecondView Global Initialize
07/09/2007 09:43:21 PM  Status Msg: SecondView View Initialize
07/09/2007 09:43:21 PM  Status Msg: SecondView QueryOpen
07/09/2007 09:43:21 PM  Status Msg: SecondView PostOpen
07/09/2007 09:43:21 PM  Status Msg: SecondView OnSelect

-- Compose new document --
07/09/2007 09:43:26 PM  Status Msg: Global Initialize for EventDemo
07/09/2007 09:43:26 PM  Status Msg: Form Initialize for EventDemo
07/09/2007 09:43:26 PM  Status Msg:  This is the JS Header for EventDemo
07/09/2007 09:43:26 PM  Status Msg: Window Title
07/09/2007 09:43:26 PM  Status Msg: QueryOpen for EventDemo
07/09/2007 09:43:26 PM  Status Msg: Default Value of TextEntryField  <<-- Default value fires before Initialize
07/09/2007 09:43:26 PM  Status Msg: Initialize of TextEntryField
07/09/2007 09:43:26 PM  Status Msg: Formula of ComputedForDisplayField
07/09/2007 09:43:26 PM  Status Msg: Formula of ComputedField
07/09/2007 09:43:26 PM  Status Msg: Possible values for RadioButtons
07/09/2007 09:43:26 PM  Status Msg: Default Value of RadioButtons
07/09/2007 09:43:26 PM  Status Msg: Initialize of RadioButtons
07/09/2007 09:43:26 PM  Status Msg: Default Value of DialogList
07/09/2007 09:43:26 PM  Status Msg: Initialize of DialogList
07/09/2007 09:43:26 PM  Status Msg: Possible values for DialogList

-- The subform is here --
07/09/2007 09:43:26 PM  Status Msg: Compute Subform Name
07/09/2007 09:43:26 PM  Status Msg: Initialize for Subform subTest
07/09/2007 09:43:26 PM  Status Msg:  JS Header for subform subTest
07/09/2007 09:43:26 PM  Status Msg: Default Value of subTextEntryField
07/09/2007 09:43:26 PM  Status Msg: Formula of subComputedForDisplayField
07/09/2007 09:43:26 PM  Status Msg: Formula of subComputedField
07/09/2007 09:43:26 PM  Status Msg: Possible values for subRadioButtons <-- Values execute
07/09/2007 09:43:26 PM  Status Msg: Default Value of subRadioButtons
07/09/2007 09:43:26 PM  Status Msg: Default Value of subDialogList
07/09/2007 09:43:26 PM  Status Msg: Possible values for subDialogList <-- Values execute for dialog list!
07/09/2007 09:43:26 PM  Status Msg: Initialize of subTextEntryField
07/09/2007 09:43:26 PM  Status Msg: Initialize of subRadioButtons
07/09/2007 09:43:26 PM  Status Msg: Initialize of subDialogList

-- subform ends here --
07/09/2007 09:43:26 PM  Status Msg: Default Value of AfterSubform
07/09/2007 09:43:26 PM  Status Msg: Initialize of AfterSubform
07/09/2007 09:43:26 PM  Status Msg: Default Value of AfterView
07/09/2007 09:43:26 PM  Status Msg: Initialize of AfterView
07/09/2007 09:43:26 PM  Status Msg: Entering of TextEntryField <-- Entering fires before onFocus
07/09/2007 09:43:26 PM  Status Msg:  OnFocus of TextEntryField
07/09/2007 09:43:26 PM  Status Msg: PostOpen for EventDemo <-- PostOpen fires after onFocus of the first field, Form PostOpen before SubForm PostOpen
07/09/2007 09:43:26 PM  Status Msg: PostOpen for Subform subTest
07/09/2007 09:43:26 PM  Status Msg:  Form onLoad <-- onLoad fires after PostOpen, before embedded view!
07/09/2007 09:43:26 PM  Status Msg:  onLoad for subform subTest
07/09/2007 09:43:26 PM  Status Msg: Embedded View Name <<-- After View name is established the view events fire!
07/09/2007 09:43:26 PM  Status Msg: $All Global Initialize
07/09/2007 09:43:26 PM  Status Msg: $All Initialize
07/09/2007 09:43:26 PM  Status Msg: $All QueryOpen
07/09/2007 09:43:26 PM  Status Msg: $All PostOpen
07/09/2007 09:43:26 PM  Status Msg: $All OnSelect

-- Load completed : Text Entry starts --
07/09/2007 09:43:31 PM  Status Msg:  OnBlur of TextEntryField
07/09/2007 09:43:31 PM  Status Msg: Exiting of TextEntryField
07/09/2007 09:43:31 PM  Status Msg: Entering of RadioButtons
07/09/2007 09:43:31 PM  Status Msg:  OnFocus of RadioButtons
07/09/2007 09:43:34 PM  Status Msg:  OnBlur of RadioButtons
07/09/2007 09:43:34 PM  Status Msg: Exiting of RadioButtons
07/09/2007 09:43:34 PM  Status Msg:  OnChange of RadioButtons <<- Fires after we leave the Radio button!
07/09/2007 09:43:34 PM  Status Msg: Entering of DialogList
07/09/2007 09:43:34 PM  Status Msg:  OnFocus of DialogList
07/09/2007 09:43:38 PM  Status Msg:  OnBlur of DialogList
07/09/2007 09:43:38 PM  Status Msg: Exiting of DialogList
07/09/2007 09:43:38 PM  Status Msg:  OnChange of DialogList
07/09/2007 09:43:38 PM  Status Msg: Entering of subTextEntryField
07/09/2007 09:43:38 PM  Status Msg:  OnFocus of subTextEntryField
07/09/2007 09:43:41 PM  Status Msg:  OnBlur of subTextEntryField
07/09/2007 09:43:41 PM  Status Msg: Exiting of subTextEntryField
07/09/2007 09:43:41 PM  Status Msg: Entering of subRadioButtons
07/09/2007 09:43:41 PM  Status Msg:  OnFocus of subRadioButtons
07/09/2007 09:43:42 PM  Status Msg:  OnBlur of subRadioButtons
07/09/2007 09:43:42 PM  Status Msg: Exiting of subRadioButtons
07/09/2007 09:43:42 PM  Status Msg:  OnChange of subRadioButtons
07/09/2007 09:43:42 PM  Status Msg: Entering of subDialogList
07/09/2007 09:43:42 PM  Status Msg:  OnFocus of subDialogList
07/09/2007 09:43:46 PM  Status Msg:  OnBlur of subDialogList
07/09/2007 09:43:46 PM  Status Msg: Exiting of subDialogList
07/09/2007 09:43:46 PM  Status Msg:  OnChange of subDialogList
07/09/2007 09:43:46 PM  Status Msg: Entering of AfterView
07/09/2007 09:43:46 PM  Status Msg:  OnFocus of AfterView

-- Pressing of F9 key --
07/09/2007 09:43:49 PM  Status Msg: QueryRecalc for EventDemo
07/09/2007 09:43:49 PM  Status Msg:  QueryRecalc for subform subtest (JavaScript)
07/09/2007 09:43:49 PM  Status Msg: Input translation of TextEntryField
07/09/2007 09:43:49 PM  Status Msg: Formula of ComputedForDisplayField
07/09/2007 09:43:49 PM  Status Msg: Formula of ComputedField
07/09/2007 09:43:49 PM  Status Msg: Input translation of RadioButtons
07/09/2007 09:43:49 PM  Status Msg: Input translation of DialogList
07/09/2007 09:43:49 PM  Status Msg: Input translation of subTextEntryField
07/09/2007 09:43:49 PM  Status Msg: Formula of subComputedForDisplayField
07/09/2007 09:43:49 PM  Status Msg: Formula of subComputedField
07/09/2007 09:43:49 PM  Status Msg: Input translation of subRadioButtons
07/09/2007 09:43:49 PM  Status Msg: Input translation of subDialogList
07/09/2007 09:43:49 PM  Status Msg: Input translation of AfterSubform
07/09/2007 09:43:49 PM  Status Msg: Input translation of AfterView
07/09/2007 09:43:49 PM  Status Msg: Input validation ofTextEntryField <<- validation fires after other formulas
07/09/2007 09:43:49 PM  Status Msg: Input validation ofRadioButtons
07/09/2007 09:43:49 PM  Status Msg: Input validation ofDialogList
07/09/2007 09:43:49 PM  Status Msg: Input validation ofsubTextEntryField
07/09/2007 09:43:49 PM  Status Msg: Input validation ofsubRadioButtons
07/09/2007 09:43:49 PM  Status Msg: Input validation ofsubDialogList
07/09/2007 09:43:49 PM  Status Msg: Input validation ofAfterSubform
07/09/2007 09:43:49 PM  Status Msg: Input validation ofAfterView
07/09/2007 09:43:49 PM  Status Msg: $All Terminate <<-- embedded view is closed!!!
07/09/2007 09:43:49 PM  Status Msg: $All Global Terminate
07/09/2007 09:43:49 PM  Status Msg: Embedded View Name <<-- and name computed newly
07/09/2007 09:43:50 PM  Status Msg: $All Global Initialize
07/09/2007 09:43:50 PM  Status Msg: $All Initialize
07/09/2007 09:43:50 PM  Status Msg: $All QueryOpen
07/09/2007 09:43:50 PM  Status Msg: PostRecalc for EventDemo
07/09/2007 09:43:50 PM  Status Msg: PostRecalc for Subform subTest
07/09/2007 09:43:50 PM  Status Msg: $All PostOpen <<-- View Post Open fires after PostRecalc!
07/09/2007 09:43:50 PM  Status Msg: $All OnSelect

-- Back to the first field --
07/09/2007 09:43:51 PM  Status Msg:  OnBlur of AfterView
07/09/2007 09:43:51 PM  Status Msg: Exiting of AfterView
07/09/2007 09:43:51 PM  Status Msg: Entering of TextEntryField
07/09/2007 09:43:51 PM  Status Msg:  OnFocus of TextEntryField

-- Saving the form (Ctrl+S) --
07/09/2007 09:43:55 PM  Status Msg: QuerySave for EventDemo
07/09/2007 09:43:55 PM  Status Msg: QuerySave for Subform subTest
07/09/2007 09:43:55 PM  Status Msg:  Form onSubmit
07/09/2007 09:43:55 PM  Status Msg: Input translation of TextEntryField
07/09/2007 09:43:55 PM  Status Msg: Formula of ComputedForDisplayField
07/09/2007 09:43:55 PM  Status Msg: Formula of ComputedField
07/09/2007 09:43:55 PM  Status Msg: Input translation of RadioButtons
07/09/2007 09:43:55 PM  Status Msg: Input translation of DialogList
07/09/2007 09:43:55 PM  Status Msg: Input translation of subTextEntryField
07/09/2007 09:43:55 PM  Status Msg: Formula of subComputedForDisplayField
07/09/2007 09:43:55 PM  Status Msg: Formula of subComputedField
07/09/2007 09:43:55 PM  Status Msg: Input translation of subRadioButtons
07/09/2007 09:43:55 PM  Status Msg: Input translation of subDialogList
07/09/2007 09:43:55 PM  Status Msg: Input translation of AfterSubform
07/09/2007 09:43:55 PM  Status Msg: Input translation of AfterView
07/09/2007 09:43:55 PM  Status Msg: Input validation ofTextEntryField
07/09/2007 09:43:55 PM  Status Msg: Input validation ofRadioButtons
07/09/2007 09:43:55 PM  Status Msg: Input validation ofDialogList
07/09/2007 09:43:55 PM  Status Msg: Input validation ofsubTextEntryField
07/09/2007 09:43:55 PM  Status Msg: Input validation ofsubRadioButtons
07/09/2007 09:43:55 PM  Status Msg: Input validation ofsubDialogList
07/09/2007 09:43:55 PM  Status Msg: Input validation ofAfterSubform
07/09/2007 09:43:55 PM  Status Msg: Input validation ofAfterView
07/09/2007 09:43:55 PM  Status Msg: PostSave for EventDemo
07/09/2007 09:43:55 PM  Status Msg: PostSave for Subform subTest
07/09/2007 09:43:55 PM  Status Msg: Window Title <-- Window title gets recomputed

-- Closing the saved document --
07/09/2007 09:43:58 PM  Status Msg: QueryClose for EventDemo
07/09/2007 09:43:58 PM  Status Msg: QueryClose for Subform subTest
07/09/2007 09:43:58 PM  Status Msg:  Form onUnload
07/09/2007 09:43:58 PM  Status Msg:  onUnload for subform subTest
07/09/2007 09:43:58 PM  Status Msg: $All Terminate
07/09/2007 09:43:58 PM  Status Msg: $All Global Terminate
07/09/2007 09:43:58 PM  Status Msg: Terminate of TextEntryField
07/09/2007 09:43:58 PM  Status Msg: Terminate of RadioButtons
07/09/2007 09:43:58 PM  Status Msg: Terminate of DialogList
07/09/2007 09:43:58 PM  Status Msg: Terminate of subTextEntryField
07/09/2007 09:43:58 PM  Status Msg: Terminate of subRadioButtons
07/09/2007 09:43:58 PM  Status Msg: Terminate of subDialogList
07/09/2007 09:43:58 PM  Status Msg: Terminate of AfterSubform
07/09/2007 09:43:58 PM  Status Msg: Terminate of AfterView
07/09/2007 09:43:58 PM  Status Msg: Form Terminate for EventDemo
07/09/2007 09:43:58 PM  Status Msg: Global Terminate for EventDemo
07/09/2007 09:43:58 PM  Status Msg: Terminate for Subform subTest

-- Document closed --
07/09/2007 09:44:00 PM  Status Msg:  1 document selected
07/09/2007 09:44:00 PM  Status Msg: SecondView OnSelect <-- clicking on second document
07/09/2007 09:44:00 PM  Status Msg:  2 documents selected

-- Delete documents --
07/09/2007 09:44:02 PM  Status Msg: QueryDocumentDelete for database NotesEventExample
07/09/2007 09:44:02 PM  Status Msg: 2 document(s) marked for deletion.  Press F9 to refresh.
07/09/2007 09:44:02 PM  Status Msg: SecondView OnSelect

-- Undelete one document --
07/09/2007 09:44:06 PM  Status Msg: QueryDocumentUndelete for database NotesEventExample
07/09/2007 09:44:06 PM  Status Msg: 1 document(s) marked for deletion.  Press F9 to refresh.

-- F9 on the view level (one document marked as deleted) --
07/09/2007 09:44:08 PM  Status Msg: SecondView QueryRecalc
07/09/2007 09:44:09 PM  Status Msg: Deleting document(s) marked for deletion...
07/09/2007 09:44:09 PM  Status Msg: PostdocumentDelete for database NotesEventExample

-- Open existing document --

07/09/2007 11:15:32 PM  Status Msg: $All QueryOpenDocument
07/09/2007 11:15:32 PM  Status Msg: Global Initialize for EventDemo
07/09/2007 11:15:32 PM  Status Msg: Form Initialize for EventDemo
07/09/2007 11:15:32 PM  Status Msg:  This is the JS Header
07/09/2007 11:15:32 PM  Status Msg: Window Title
07/09/2007 11:15:32 PM  Status Msg: QueryOpen for EventDemo
07/09/2007 11:15:32 PM  Status Msg: Initialize of TextEntryField
07/09/2007 11:15:32 PM  Status Msg: Formula of ComputedForDisplayField
07/09/2007 11:15:32 PM  Status Msg: Possible values for RadioButtons <-- possible values execute even in READ MODE!!!!
07/09/2007 11:15:32 PM  Status Msg: Initialize of RadioButtons
07/09/2007 11:15:32 PM  Status Msg: Initialize of DialogList
07/09/2007 11:15:32 PM  Status Msg: Possible values for DialogList <-- possible values execute even in READ MODE!!!! (get rid of these @DBLookups then!)
07/09/2007 11:15:32 PM  Status Msg: Compute Subform Name
07/09/2007 11:15:32 PM  Status Msg: Initialize for Subform subTest
07/09/2007 11:15:32 PM  Status Msg:  JS Header for subform subTest
07/09/2007 11:15:32 PM  Status Msg: Formula of subComputedForDisplayField
07/09/2007 11:15:32 PM  Status Msg: Possible values for subRadioButtons
07/09/2007 11:15:32 PM  Status Msg: Possible values for subDialogList
07/09/2007 11:15:32 PM  Status Msg: Initialize of subTextEntryField
07/09/2007 11:15:32 PM  Status Msg: Initialize of subRadioButtons
07/09/2007 11:15:32 PM  Status Msg: Initialize of subDialogList
07/09/2007 11:15:32 PM  Status Msg: Initialize of AfterSubform
07/09/2007 11:15:32 PM  Status Msg: Initialize of AfterView
07/09/2007 11:15:32 PM  Status Msg: PostOpen for EventDemo
07/09/2007 11:15:32 PM  Status Msg: PostOpen for Subform subTest
07/09/2007 11:15:32 PM  Status Msg:  Form onLoad
07/09/2007 11:15:32 PM  Status Msg:  onLoad for subform subTest
07/09/2007 11:15:32 PM  Status Msg: Embedded View Name <-- ViewName fires after the onLOAD event
07/09/2007 11:15:32 PM  Status Msg: $All Global Initialize
07/09/2007 11:15:32 PM  Status Msg: $All Initialize
07/09/2007 11:15:32 PM  Status Msg: $All QueryOpen
07/09/2007 11:15:32 PM  Status Msg: $All PostOpen
07/09/2007 11:15:32 PM  Status Msg: $All OnSelect

-- Switch to Edit Mode (Ctrl+E) --
07/09/2007 11:15:35 PM  Status Msg: QueryModeChange for EventDemo
07/09/2007 11:15:35 PM  Status Msg: QueryModeChange for Subform subTest
07/09/2007 11:15:35 PM  Status Msg: Entering of TextEntryField
07/09/2007 11:15:35 PM  Status Msg:  OnFocus of TextEntryField
07/09/2007 11:15:36 PM  Status Msg: PostModeChange for EventDemo
07/09/2007 11:15:36 PM  Status Msg: PostModeChange for Subform subTest

-- Save the document (Ctrl+S) --
07/09/2007 11:15:41 PM  Status Msg: QuerySave for EventDemo
07/09/2007 11:15:41 PM  Status Msg: QuerySave for Subform subTest
07/09/2007 11:15:41 PM  Status Msg:  Form onSubmit
07/09/2007 11:15:41 PM  Status Msg: Input translation of TextEntryField
07/09/2007 11:15:41 PM  Status Msg: Formula of ComputedForDisplayField
07/09/2007 11:15:41 PM  Status Msg: Formula of ComputedField
07/09/2007 11:15:41 PM  Status Msg: Input translation of RadioButtons
07/09/2007 11:15:41 PM  Status Msg: Input translation of DialogList
07/09/2007 11:15:41 PM  Status Msg: Input translation of subTextEntryField
07/09/2007 11:15:41 PM  Status Msg: Formula of subComputedForDisplayField
07/09/2007 11:15:41 PM  Status Msg: Formula of subComputedField
07/09/2007 11:15:41 PM  Status Msg: Input translation of subRadioButtons
07/09/2007 11:15:41 PM  Status Msg: Input translation of subDialogList
07/09/2007 11:15:41 PM  Status Msg: Input translation of AfterSubform
07/09/2007 11:15:41 PM  Status Msg: Input translation of AfterView
07/09/2007 11:15:41 PM  Status Msg: Input validation ofTextEntryField
07/09/2007 11:15:41 PM  Status Msg: Input validation ofRadioButtons
07/09/2007 11:15:41 PM  Status Msg: Input validation ofDialogList
07/09/2007 11:15:41 PM  Status Msg: Input validation ofsubTextEntryField
07/09/2007 11:15:41 PM  Status Msg: Input validation ofsubRadioButtons
07/09/2007 11:15:41 PM  Status Msg: Input validation ofsubDialogList
07/09/2007 11:15:41 PM  Status Msg: Input validation ofAfterSubform
07/09/2007 11:15:41 PM  Status Msg: Input validation ofAfterView
07/09/2007 11:15:41 PM  Status Msg: PostSave for EventDemo
07/09/2007 11:15:41 PM  Status Msg: PostSave for Subform subTest
07/09/2007 11:15:41 PM  Status Msg: Window Title

-- Close the document --
07/09/2007 11:15:43 PM  Status Msg: QueryClose for EventDemo
07/09/2007 11:15:43 PM  Status Msg: QueryClose for Subform subTest
07/09/2007 11:15:43 PM  Status Msg:  Form onUnload
07/09/2007 11:15:43 PM  Status Msg:  onUnload for subform subTest
07/09/2007 11:15:43 PM  Status Msg: $All Terminate
07/09/2007 11:15:43 PM  Status Msg: $All Global Terminate
07/09/2007 11:15:43 PM  Status Msg: Terminate of TextEntryField
07/09/2007 11:15:43 PM  Status Msg: Terminate of RadioButtons
07/09/2007 11:15:43 PM  Status Msg: Terminate of DialogList
07/09/2007 11:15:43 PM  Status Msg: Terminate of subTextEntryField
07/09/2007 11:15:43 PM  Status Msg: Terminate of subRadioButtons
07/09/2007 11:15:43 PM  Status Msg: Terminate of subDialogList
07/09/2007 11:15:43 PM  Status Msg: Terminate of AfterSubform
07/09/2007 11:15:43 PM  Status Msg: Terminate of AfterView
07/09/2007 11:15:43 PM  Status Msg: Form Terminate for EventDemo
07/09/2007 11:15:43 PM  Status Msg: Global Terminate for EventDemo
07/09/2007 11:15:43 PM  Status Msg: Terminate for Subform subTest

-- Database close --
07/09/2007 09:44:10 PM  Status Msg: SecondView QueryClose
07/09/2007 09:44:10 PM  Status Msg: SecondView Terminate
07/09/2007 09:44:10 PM  Status Msg: SecondView Global Terminate
07/09/2007 09:44:10 PM  Status Msg: QueryClose for database NotesEventExample
07/09/2007 09:44:10 PM  Status Msg: Terminate for database NotesEventExample

Interesting factoids:

  • The JavaScript-isch events fire after the LotusScript one
  • When you press F9 the view name gets recomputed, but not on Save
  • The Window title gets refreshed on save (but not on F9), (as the last thing)
  • Switching to Edit mode doesn't recompute the values for keyword fields (check how they behave when you check "Refresh choices on document refresh")
Next stop: what is the exact scope of the various objects (currentDB, UIview, UIdocument etc)

Posted by on 09 July 2007 | Comments (2) | categories: Show-N-Tell Thursday

Comments

  1. posted by Nathan T. Freeman on Tuesday 10 July 2007 AD:
    Very nice.

    1) Any possibilities of getting the NSF you used to do this up on OpenNTF.org?

    2) How about doing a computed subform and seeing when that event fires?

    3) It'd also be interesting to see what happens when you do a Switch Form on an open document.
  2. posted by Stephan H. Wissel on Wednesday 11 July 2007 AD:
    Added a form, so you can switch. The database is in the download section of this blog as well as on OpenNTF here: http://www.openntf.org/Projects/codebin/codebin.nsf/CodeByDate/1FA687B7D5D67334862573150012D638