source: Dev/trunk/src/client/dojox/form/tests/test_FileUploaderTabs.html

Last change on this file was 483, checked in by hendrikvanantwerpen, 11 years ago

Added Dojo 1.9.3 release.

File size: 4.5 KB
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
2<html lang="en">
3<head>
4    <title>FileUploader TabContainer Test</title>
5    <link href="../../../dijit/themes/dijit.css" rel="stylesheet" />
6        <link href="../../../dijit/themes/dijit.css" rel="stylesheet" />
7    <link href="../../../dijit/themes/tundra/form/Button.css" rel="stylesheet" />
8        <link href="../../../dijit/themes/tundra/Dialog.css" rel="stylesheet" />
9        <link href="../../../dijit/themes/tundra/layout/TabContainer.css" rel="stylesheet" />
10    <link href="../resources/FileUploader.css" rel="stylesheet" />
11        <script>
12        djConfig = {
13            isDebug: true,
14                        popup:true,
15            parseOnLoad: true
16        }
17    </script>
18    <script src="../../../dojo/dojo.js"></script>
19    <script>
20                dojo.require("dojo.parser");
21        dojo.require("dojox.form.FileUploader");
22        dojo.require("dijit.form.Button");
23                dojo.require("dijit.Dialog");
24                dojo.require("dijit.form.Form");
25                dojo.require("dijit.layout.ContentPane");
26                dojo.require("dijit.layout.TabContainer");
27               
28                var fakeTab;
29                showFake = function(){
30                        dojo.style(fakeTab, "left", "0px");
31                }
32                hideFake = function(){
33                        dojo.style(fakeTab, "left",  "-2000px");
34                }
35        dojo.addOnLoad(function(){
36                        var tab = dijit.byId("tab3");
37                        fakeTab = dojo.byId("fakeTab");
38                        hideFake();
39                        dojo.connect(tab, "onShow", showFake);
40                        dojo.connect(tab, "onHide", hideFake);
41                });
42       
43       
44    </script>
45    <style>
46                html{
47                        height:100%;
48                }
49                body{
50                        font-family:sans-serif;
51                        font-size:12px;
52                        height:100%;
53                }
54                #tabs{
55                        width:60%;
56                        height:250px;
57                        margin:0px 20%;
58                }
59                .dijitContentPane{
60                        padding:10px;
61                }
62                table td{
63                        width:33%;
64                        vertical-align:top;
65                }
66                .scrolls{
67                        width:100%;
68                        height:75px;
69                        overflow-y:scroll;
70                        position:relative;
71                }
72                .note{
73                        font-size:11px;
74                        font-family:sans-serif;
75                        color:#666;
76                        width:400px;
77                        margin-top:15px;
78                }
79                .note.nw{
80                        width:auto !important;
81                }
82                h3{
83                        width:600px;
84                        font-weight:normal;
85                        font-size:14px;
86                }
87                .formContent{
88                        width:300px;
89                        height:150px;
90                }
91               
92                #myDialog #dialogContentPane{
93                        width:400px;
94                        height:200px;
95                       
96                }
97                #fakeTab{
98                        position:absolute;
99                        left:0px;
100                        top:125px;
101                        width:60%;
102                        height:250px;
103                        margin:0px 20%;
104                        padding:15px;
105                }
106    </style>
107       
108       
109</head>
110<body class="tundra">
111        <h1>FileUploader TabContainer Test</h1>
112        <h3>
113                Testing that FileUploader works in Tabs initially shown and initially hidden.
114                <strong>See important node below</strong>
115        </h3>
116       
117         <div id="tabs" dojoType="dijit.layout.TabContainer" persist="false" tabStrip="true">
118                <div id="tab1" dojoType="dijit.layout.ContentPane" title="Tab 1">
119                        <button isDebug="false" devMode="false" dojoType="dojox.form.FileUploader">Tab #1 Flash</button>
120                        <button isDebug="false" devMode="false" force="html" dojoType="dojox.form.FileUploader">Tab #1 HTML</button>
121                </div>
122                <div id="tab2" dojoType="dijit.layout.ContentPane" title="Tab 2">                       
123                        <button isDebug="false" devMode="false" dojoType="dojox.form.FileUploader">Tab #2 Flash</button>
124                        <button isDebug="false" devMode="false" force="html" dojoType="dojox.form.FileUploader">Tab #2 HTML</button>
125                </div>
126                <div id="tab3" dojoType="dijit.layout.ContentPane" title="Tab 3">                       
127                </div>
128        </div>
129         
130        <div id="fakeTab">
131                        <button isDebug="false" devMode="false" dojoType="dojox.form.FileUploader">Tab #3 Flash</button>
132                        <button isDebug="false" devMode="false" force="html" dojoType="dojox.form.FileUploader">Tab #3 HTML</button>
133        </div>
134       
135        <p style="font-size:12px; border:2px solid #ff0000; padding:3px;">
136                <strong>NOTE:</strong> This test shows FileUploader successfully being created in TabContainers, <strong>BUT</strong>
137                there is a serious limitation in the Flash version for Firefox and Safari. When a node in those browsers is hidden
138                (or essentially repainted which can mean other style applications) the SWF is reloaded. This means that if you browse
139                for a file but don't upload upload it, change the tab and return, the files will no longer be in the FileUploader.
140                This problem can be seen when tabbing between Tab 1 and Tab 2 and observing the console logs and you will see the
141                SWF reinitializes. This problem does not exist in Internet Explorer. The HTML version of the Uploader should also
142                work fine.
143                <br/><br/>
144                This test also shows work around for the problem. View source of this test and see that in Tab 3, the FileUploader
145                is in a seperate div floating over the TabContainer. When Tab #3 is shown and hidden, the div is moved off and on screen.
146        </p>
147</body>
148</html>
Note: See TracBrowser for help on using the repository browser.