[svn:p5ee] r13471 - p5ee/trunk/App-Widget-ExtJS/lib/App/Widget/ExtJS

[email protected] Thu, 5 Nov 2009 09:17:16 -0800 (PST)
Newsgroups perl.cvs.p5ee
Message-ID <[email protected]>
Author: spadkins
Date: Thu Nov  5 09:17:14 2009
New Revision: 13471

Modified:
   p5ee/trunk/App-Widget-ExtJS/lib/App/Widget/ExtJS/AppFrame.pm

Log:
fix bug with embedded javascript

Modified: p5ee/trunk/App-Widget-ExtJS/lib/App/Widget/ExtJS/AppFrame.pm
==============================================================================
--- p5ee/trunk/App-Widget-ExtJS/lib/App/Widget/ExtJS/AppFrame.pm	(original)
+++ p5ee/trunk/App-Widget-ExtJS/lib/App/Widget/ExtJS/AppFrame.pm	Thu Nov  5 09:17:14 2009
@@ -226,10 +226,26 @@
 </table>
 EOF
     }
+
+    my ($script_frag);
     my $script = "";
-    if ($screen =~ s!(<script[^<>]*>.*?</script>)!!is) {
-        $script = $1;
+
+    while($screen =~ s!<script[^<>]*>\s*(.*?)</script>!!is) {
+        $script_frag = $1;
+        if ($script_frag =~ /^Ext.onReady/) {
+            $script .= $script_frag;
+        }
+        else {
+           $script .= <<EOF; 
+Ext.onReady(function(){
+$script_frag
+});
+EOF
+        }
     }
+    #if ($screen =~ s!(<script[^<>]*>.*?</script>)!!is) {
+    #    $script = $1;
+    #}
 
     $screen =~ s/'/\\'/g;
     $screen =~ s/\s+$//s;
@@ -237,6 +253,14 @@
     #$screen =~ s!'</script>\\n'!"<\\/script>\\n"!sg;
     $selector =~ s/{PANEL}/$screen/;
 
+    if ($script) {
+       $script = <<EOF; 
+<script type="text/javascript">
+$script
+</script>
+EOF
+    }
+
     $html = <<EOF;
 <div id="$name">
 <div id="$name-selector">