WIP: Using new page object, frames stored and retrieved in msgbase, code cleanup, more optimisations needed
This commit is contained in:
83
load/control/echomail.js
Normal file
83
load/control/echomail.js
Normal file
@@ -0,0 +1,83 @@
|
||||
/**
|
||||
* This control renders echomail
|
||||
*
|
||||
* The system echomail prefix is *1, with echomail pages built from the following page number:
|
||||
* zzzzEEpppp, where:
|
||||
* + zzzz is the zone, zero padded, the zone identifies the message groups
|
||||
* + EE is the echomail area, ie: the message areas
|
||||
* + pppp is the message number, identified by the tag attached to the message header
|
||||
*
|
||||
* (Tags are added to the messages via an external process.)
|
||||
*/
|
||||
|
||||
var CONTROL_ECHOMAIL = '1';
|
||||
|
||||
//load('frame.js');
|
||||
//load('graphic.js');
|
||||
|
||||
log(LOG_DEBUG,'+ Control ECHOMAIL loaded');
|
||||
|
||||
function echomail(page) {
|
||||
var complete = false;
|
||||
var pageframe = undefined;
|
||||
|
||||
log(LOG_DEBUG,'Loading echomail page:'+page);
|
||||
|
||||
// Setup our frame
|
||||
fo = viewdata ? new FrameViewdata() : new FrameAnsi();
|
||||
fo.loadMessage(page,viewdata ? 'vtx' : 'tex');
|
||||
|
||||
if (fo.content)
|
||||
pageframe = fo.render();
|
||||
|
||||
// Called before processing for a field
|
||||
Object.defineProperty(this, 'getName', {
|
||||
get: function () {
|
||||
return 'ECHOMAIL';
|
||||
}
|
||||
});
|
||||
|
||||
Object.defineProperty(this, 'isComplete', {
|
||||
get: function () {
|
||||
return complete;
|
||||
}
|
||||
});
|
||||
|
||||
// Handle the keyboard responses as we receive them.
|
||||
this.handle=function(read) {
|
||||
log(LOG_DEBUG,'Control ECHOMAIL handle() start. ('+read+')');
|
||||
|
||||
switch(read) {
|
||||
case KEY_DOWN:
|
||||
log(LOG_DEBUG,' - Control TEST scroll 0,1');
|
||||
pageframe.scroll(0,1);
|
||||
read = '';
|
||||
break;
|
||||
|
||||
case KEY_UP:
|
||||
log(LOG_DEBUG,' - Control TEST scroll 0,-1');
|
||||
pageframe.scroll(0,-1);
|
||||
read = '';
|
||||
break;
|
||||
}
|
||||
|
||||
pageframe.cycle();
|
||||
|
||||
return read;
|
||||
}
|
||||
|
||||
// @todo Does this need to be defined?
|
||||
this.prefield=function() {};
|
||||
|
||||
this.ready=function() {
|
||||
//log(LOG_DEBUG,' - pageframe:'+pageframe+',typeof:'+(typeof pageframe));
|
||||
if ((typeof pageframe) === 'undefined')
|
||||
log(LOG_DEBUG,'+ Control ECHOMAIL page doesnt exist ['+page+']');
|
||||
else
|
||||
log(LOG_DEBUG,'+ Control ECHOMAIL ready');
|
||||
|
||||
return (typeof pageframe) !== 'undefined';
|
||||
}
|
||||
}
|
||||
|
||||
this;
|
Reference in New Issue
Block a user