[
https://issues.apache.org/struts/browse/WW-1536?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Musachy Barroso resolved WW-1536.
---------------------------------
Resolution: Fixed
I added a "cache" property that wen set to true, a custom dojo profile will be
used, making it possible to cache the javascript files on the browser. This
property is false by default. Here is the dojo profile used:
var dependencies = [
"dojo.io.*",
"dojo.io.BrowserIO",
"dojo.event.*",
"dojo.lfx.*",
"dojo.namespaces.*",
"dojo.widget.Editor2",
"struts.widget.*",
];
and here is the list of files that dojo compiled into the profile:
dojoGuardStart.js
../src/bootstrap1.js
../src/loader.js
dojoGuardEnd.js
../src/hostenv_browser.js
../src/string/common.js
../src/string.js
../src/lang/common.js
../src/lang/extras.js
../src/io/common.js
../src/lang/array.js
../src/lang/func.js
../src/string/extras.js
../src/dom.js
../src/undo/browser.js
../src/io/BrowserIO.js
../src/io/cookie.js
../src/io/__package__.js
../src/event/common.js
../src/event/topic.js
../src/event/browser.js
../src/event/__package__.js
../src/gfx/color.js
../src/lfx/Animation.js
../src/html/common.js
../src/uri/Uri.js
../src/html/style.js
../src/html/display.js
../src/html/color.js
../src/html/layout.js
../src/lfx/html.js
../src/lfx/__package__.js
../__package__.js
../src/xml/Parse.js
../src/lang/declare.js
../src/ns.js
../src/widget/Manager.js
../src/uri/__package__.js
../src/a11y.js
../src/widget/Widget.js
../src/widget/Parse.js
../src/widget/DomWidget.js
../src/html/util.js
../src/lfx/toggle.js
../src/widget/HtmlWidget.js
../src/widget/__package__.js
../src/html/__package__.js
../src/html/selection.js
../src/Deferred.js
../src/widget/RichText.js
../src/lang/type.js
../src/lang/assert.js
../src/AdapterRegistry.js
../src/lang/repr.js
../src/lang/__package__.js
../src/html/iframe.js
../src/widget/PopupContainer.js
../src/widget/ColorPalette.js
../src/widget/ContentPane.js
../src/widget/Editor2Toolbar.js
../src/uri/cache.js
../src/lfx/shadow.js
../src/widget/html/layout.js
../src/dnd/DragAndDrop.js
../src/dnd/HtmlDragManager.js
../src/dnd/HtmlDragAndDrop.js
../src/dnd/__package__.js
../src/dnd/HtmlDragMove.js
../src/widget/Dialog.js
../src/widget/ResizeHandle.js
../src/widget/FloatingPane.js
../src/widget/Editor2Plugin/AlwaysShowToolbar.js
../src/widget/Editor2.js
../../struts/2_1/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts/widget/Bind.js
../src/lang/timing/Timer.js
../../struts/2_1/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts/widget/BindDiv.js
../../struts/2_1/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts/widget/BindAnchor.js
../src/widget/html/stabile.js
../src/widget/ComboBox.js
../../struts/2_1/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts/widget/ComboBox.js
../src/widget/DropdownContainer.js
../src/date/serialize.js
../src/date/common.js
../src/date/supplemental.js
../src/i18n/common.js
../src/date/format.js
../src/widget/TimePicker.js
../src/widget/DropdownTimePicker.js
../../struts/2_1/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts/widget/StrutsTimePicker.js
../src/widget/DatePicker.js
../src/widget/DropdownDatePicker.js
../../struts/2_1/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts/widget/StrutsDatePicker.js
../../struts/2_1/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts/widget/__package__.js
> TabbedPanel improvements
> ------------------------
>
> Key: WW-1536
> URL: https://issues.apache.org/struts/browse/WW-1536
> Project: Struts 2
> Issue Type: Improvement
> Components: Views
> Affects Versions: 2.0.2
> Reporter: Musachy Barroso
> Assigned To: Musachy Barroso
> Priority: Minor
> Fix For: 2.1.x
>
> Attachments: FilterDispatcher_patch.patch
>
>
> 1) Does it really need to download 500+ kB of javascript and related
> code to display a set of empty tabs? Can it be compressed somehow? Any
> switches for that?
> 2) Why does that javascript and related code get reloaded every time?
> I try to enter the page with tabs again (not forcing reload with SHIFT) and
> all that stuff is fetched again.
> Can it be something with http headers?
> The total amount of data that is sent is really frustrating me.
> 3) In addition to that I could observe 16 multiple requests for
> GET /myApp/struts/xhtml/styles.css HTTP/1.1
> to display single HTML page with 7 remote panels
> (test, all panels referring the same simple page with 1 test
> sentence - nothing more).
> 4) It is not written anywhere in docs - but these tabs do not work if the S2
> application uses 'html' for action extension (overriding the default).
> Some of the resources returned by Struts for tabbedPanel also end
> with 'html'
> and the struts controller sees a problem.
> GET /myApp/struts/dojo/src/widget/templates/TabContainer.html HTTP/1.1
> I can only see a stacktrace that such action is not defined in my app,
> dojo does not get such page and instead of tabs I can only see
> error message
> in the browser.
> After I changed the extension for my actions to something else -
> it started to work.
> But it took me 30 minutes to understand the problem.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.