]> err.no Git - sope/commitdiff
added support for extra attrs
authorhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Mon, 21 Mar 2005 16:16:39 +0000 (16:16 +0000)
committerhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Mon, 21 Mar 2005 16:16:39 +0000 (16:16 +0000)
added type binding
do not generate language attribute

git-svn-id: http://svn.opengroupware.org/SOPE/trunk@684 e4a50df8-12e2-0310-a44c-efbce7f8a7e3

sope-appserver/NGObjWeb/ChangeLog
sope-appserver/NGObjWeb/DynamicElements/WOJavaScript.m
sope-appserver/NGObjWeb/Version

index 86240c9a38d674c5b1744834988d2aec2b8a39e7..14384e2b2c1de4ab748c50ed8a7b6e7f11ae6850 100644 (file)
@@ -1,3 +1,9 @@
+2005-03-21  Helge Hess  <helge.hess@skyrix.com>
+
+       * DynamicElements/WOJavaScript.m: added support for extra attributes,
+         generate script 'type' field as 'text/javascript' instead of
+         'language', as suggested by Mont (v4.5.140)
+
 2005-03-20  Helge Hess  <helge.hess@opengroupware.org>
 
        * v4.5.139
index 16fa79825911a68fef533df3536c22bfd2222917..e70fa0dea438a4e6743dc4531f30bf76f6fe6143 100644 (file)
@@ -30,6 +30,8 @@
   WOAssociation *scriptString;
   WOAssociation *scriptSource;
   WOAssociation *hideInComment;
+  
+  WOAssociation *type;
 }
 
 @end /* WOJavaScript */
     self->scriptString  = OWGetProperty(_config, @"scriptString");
     self->scriptSource  = OWGetProperty(_config, @"scriptSource");
     self->hideInComment = OWGetProperty(_config, @"hideInComment");
+    self->type          = OWGetProperty(_config, @"type");
   }
   return self;
 }
 
 - (void)dealloc {
+  [self->type          release];
   [self->scriptFile    release];
   [self->scriptString  release];
   [self->scriptSource  release];
 
 - (void)appendToResponse:(WOResponse *)_response inContext:(WOContext *)_ctx {
   WOComponent *sComponent;
+  NSString *st;
   BOOL hide;
   
   if ([[_ctx request] isFromClientComponent])
   sComponent = [_ctx component];
   hide = [self->hideInComment boolValueInComponent:sComponent];
   
-  WOResponse_AddCString(_response, "<script language=\"JavaScript\" ");
-
+  WOResponse_AddCString(_response, "<script");
+  
+  if ((st = [self->type stringValueInComponent:sComponent]) != nil) {
+    WOResponse_AddCString(_response, " type=\"");
+    [_response appendContentHTMLAttributeValue:st];
+    WOResponse_AddCString(_response, "\"");
+  }
+  else {
+    WOResponse_AddCString(_response, " type=\"text/javascript\"");
+  }
+  
   /* add URL to script */
   if (self->scriptSource) {
+    st = [self->scriptSource stringValueInComponent:sComponent];
     WOResponse_AddCString(_response, " src=\"");
-    [_response appendContentHTMLAttributeValue:
-                 [self->scriptSource stringValueInComponent:sComponent]];
+    [_response appendContentHTMLAttributeValue:st];
     WOResponse_AddCString(_response, "\"");
   }
-    
-  if (self->otherTagString) {
+  
+  [self appendExtraAttributesToResponse:_response inContext:_ctx];
+  if (self->otherTagString != nil) {
     WOResponse_AddChar(_response, ' ');
     WOResponse_AddString(_response,
                          [self->otherTagString stringValueInComponent:
index 39200753174934a5fecc93cac5c0f57a8395efaf..83b1bd768429451682fb6ed1db94e2a99bd6ff2b 100644 (file)
@@ -1,6 +1,6 @@
 # version file
 
-SUBMINOR_VERSION:=139
+SUBMINOR_VERSION:=140
 
 # v4.5.122 requires libNGExtensions v4.5.153
 # v4.5.91  requires libNGExtensions v4.5.134