#include <SOGoUI/UIxComponent.h>
-
@interface AnaisSelector : UIxComponent
{
+ NSString *title;
+ NSString *windowId;
+ NSString *division;
+ NSString *callback;
}
+- (void)setTitle:(NSString *)_title;
+- (NSString *)title;
+- (void)setWindowId:(NSString *)_winId;
+- (NSString *)windowId;
+- (void)setDivision:(NSString *)_division;
+- (NSString *)division;
+- (void)setCallback:(NSString *)_callback;
+- (NSString *)callback;
+
+- (NSString *)jsFunctionName;
+- (NSString *)jsFunctionHref;
+- (NSString *)getCode;
@end
+#include "common.h"
@implementation AnaisSelector
+- (id)init {
+ self = [super init];
+ if(self) {
+ [self setTitle:@"Anais"];
+ [self setWindowId:@"Anais"];
+ [self setCallback:@"undefined"];
+ }
+ return self;
+}
+
+- (void)dealloc {
+ [self->title release];
+ [self->windowId release];
+ [self->division release];
+ [self->callback release];
+ [super dealloc];
+}
+
+- (void)setTitle:(NSString *)_title {
+ ASSIGN(self->title, _title);
+}
+- (NSString *)title {
+ return self->title;
+}
+
+- (void)setWindowId:(NSString *)_winId {
+ ASSIGN(self->windowId, _winId);
+}
+- (NSString *)windowId {
+ return self->windowId;
+}
+
+- (void)setDivision:(NSString *)_division {
+ ASSIGN(self->division, _division);
+}
+- (NSString *)division {
+ return self->division;
+}
+
+- (void)setCallback:(NSString *)_callback {
+ ASSIGN(self->callback, _callback);
+}
+- (NSString *)callback {
+ return self->callback;
+}
+
+
+/* JavaScript */
+
+- (NSString *)jsFunctionName {
+ return [NSString stringWithFormat:@"openAnaisWindowWithId%@",
+ [self windowId]];
+}
+
+- (NSString *)jsFunctionHref {
+ return [NSString stringWithFormat:@"javascript:%@()",
+ [self jsFunctionName]];
+}
+
+- (NSString *)getCode {
+ static NSString *codeFmt = \
+ @"function %@() {\n"
+ @" var url = '/anais/aideAnais.php?m_fonc=%@%@&m_champ=mail,uid,sn#mon_etiquette';\n"
+ @" var anaisWindow = window.open(url, '%@', 'width=350, height=600, left=10, top=10, toolbar=no, dependent=yes, menubar=no, location=no, resizable=yes, scrollbars=yes, directories=no, status=no');\n"
+ @" anaisWindow.focus();\n"
+ @"}";
+ static NSString *divFmt = @"&m_type=%@";
+ NSString *fmt;
+
+ if([self division])
+ fmt = [NSString stringWithFormat:divFmt, [self division]];
+ else
+ fmt = @"";
+
+ return [NSString stringWithFormat:codeFmt,
+ [self jsFunctionName],
+ [self callback],
+ fmt,
+ [self windowId]];
+}
+
@end