added LSL2 stored procedures
This commit is contained in:
141
LSL2/STPROC/NOTE_PTRS_EVENTS.txt
Normal file
141
LSL2/STPROC/NOTE_PTRS_EVENTS.txt
Normal file
@ -0,0 +1,141 @@
|
||||
Compile function NOTE_PTRS_EVENTS(CtrlEntId, Event, @PARAMS)
|
||||
#pragma precomp SRP_PreCompiler
|
||||
#window NOTE_PTRS
|
||||
|
||||
DECLARE SUBROUTINE Set_Property, Set_Property, obj_Notes, obj_Appwindow, Notes_Services
|
||||
DECLARE SUBROUTINE obj_Note_Ptrs, ErrMsg, Send_Event, obj_Tables, Start_Window, Database_Services
|
||||
DECLARE FUNCTION Get_Property, Get_Status, Popup, Dialog_Box, obj_Tables, NextKey, Notes_Services
|
||||
|
||||
|
||||
$INSERT POPUP_EQUATES
|
||||
$INSERT LOGICAL
|
||||
$INSERT APPCOLORS
|
||||
$INSERT NOTES_EQU
|
||||
$INSERT NOTE_PTRS_EQU
|
||||
|
||||
GoToEvent Event for CtrlEntId else
|
||||
// Event not implemented
|
||||
end
|
||||
|
||||
Return EventFlow or 1
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// EVENT HANDLERS
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
Event WINDOW.CREATE(CreateParam)
|
||||
|
||||
EventFlow = 1
|
||||
|
||||
End Event
|
||||
|
||||
Event PUB_MARK_ALL_READ.CLICK()
|
||||
|
||||
Notes_Services('MarkAllAsRead', @User4)
|
||||
GoSub Refresh
|
||||
|
||||
end event
|
||||
|
||||
Event PUB_ARCHIVE.CLICK()
|
||||
|
||||
If Get_Property( @WINDOW: '.NOTE_DATA', 'SELPOS')<2> NE 0 then
|
||||
//debug
|
||||
CurrRow = ''
|
||||
NoteDataList = Get_Property(@WINDOW:'.NOTE_DATA','LIST')
|
||||
CurrRow = Get_Property(@WINDOW:'.NOTE_DATA','SELPOS')<2>
|
||||
|
||||
CONVERT @VM TO @SVM IN NoteDataList
|
||||
CONVERT @FM TO @VM IN NoteDataList
|
||||
|
||||
npParms = 'NOTE_PTRS':@RM:@USER4
|
||||
UserRec = obj_Tables('ReadRec',npParms)
|
||||
NoteID = NoteDataList<1, CurrRow, 7>
|
||||
IF Get_Status(errCode) THEN
|
||||
ErrMsg(errCode)
|
||||
RETURN
|
||||
END
|
||||
|
||||
LOCATE NoteID IN UserRec<NOTE_PTRS_NOTE_IDS$> USING @VM SETTING Fpos THEN
|
||||
NewUserRec = UserRec
|
||||
NewUserRec<NOTE_PTRS_ARCHIVED$, FPos> = True$
|
||||
Database_Services('WriteDataRow', 'NOTE_PTRS', @USER4, NewUserRec, True$, '', '')
|
||||
END
|
||||
end
|
||||
GOSUB Refresh
|
||||
|
||||
end event
|
||||
|
||||
Event PUB_UNARCHIVE.CLICK()
|
||||
|
||||
If Get_Property( @WINDOW: '.NOTE_DATA2', 'SELPOS')<2> NE 0 then
|
||||
//debug
|
||||
CurrRow = ''
|
||||
NoteDataList = Get_Property(@WINDOW:'.NOTE_DATA2','LIST')
|
||||
CurrRow = Get_Property(@WINDOW:'.NOTE_DATA2','SELPOS')<2>
|
||||
|
||||
CONVERT @VM TO @SVM IN NoteDataList
|
||||
CONVERT @FM TO @VM IN NoteDataList
|
||||
|
||||
npParms = 'NOTE_PTRS':@RM:@USER4
|
||||
UserRec = obj_Tables('ReadRec',npParms)
|
||||
NoteID = NoteDataList<1, CurrRow, 7>
|
||||
IF Get_Status(errCode) THEN
|
||||
ErrMsg(errCode)
|
||||
RETURN
|
||||
END
|
||||
|
||||
LOCATE NoteID IN UserRec<NOTE_PTRS_NOTE_IDS$> USING @VM SETTING Fpos THEN
|
||||
NewUserRec = UserRec
|
||||
NewUserRec<NOTE_PTRS_ARCHIVED$, FPos> = False$
|
||||
Database_Services('WriteDataRow', 'NOTE_PTRS', @USER4, NewUserRec, True$, '', '')
|
||||
END
|
||||
end
|
||||
GOSUB Refresh
|
||||
|
||||
end event
|
||||
|
||||
Event PUB_GOTO_ARCHIVE.CLICK()
|
||||
|
||||
Send_Event(@WINDOW,'PAGE',2)
|
||||
Gosub Refresh
|
||||
|
||||
end event
|
||||
|
||||
Event PUB_GOTO_INBOX.CLICK()
|
||||
|
||||
Send_Event(@WINDOW,'PAGE',1)
|
||||
Gosub Refresh
|
||||
|
||||
end event
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// INTERNAL GO-SUBS
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
|
||||
* * * * * * *
|
||||
Refresh:
|
||||
* * * * * * *
|
||||
|
||||
PrevInbox = Get_Property( @WINDOW: '.NOTE_DATA', 'SELPOS')<2>
|
||||
PrevArchive = Get_Property( @WINDOW: '.NOTE_DATA2', 'SELPOS')<2>
|
||||
|
||||
InboxList = Notes_Services('GetInboxMessages', @USER4)
|
||||
CurrInbox = Get_Property( @WINDOW:'.NOTE_DATA', 'ARRAY')
|
||||
If InboxList NE CurrInbox then
|
||||
Set_Property( @WINDOW:'.NOTE_DATA', 'ARRAY', InboxList)
|
||||
If PrevInbox NE 0 then Set_Property( @WINDOW: '.NOTE_DATA', 'SELPOS', PrevInbox)
|
||||
end
|
||||
|
||||
ArchiveList = Notes_Services('GetArchivedMessages', @USER4)
|
||||
CurrArchive = Get_Property( @WINDOW:'.NOTE_DATA2', 'ARRAY')
|
||||
If ArchiveList NE CurrArchive then
|
||||
Set_Property( @WINDOW:'.NOTE_DATA2', 'ARRAY', ArchiveList)
|
||||
If PrevArchive NE 0 then Set_Property( @WINDOW: '.NOTE_DATA2', 'SELPOS', PrevArchive)
|
||||
end
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user