[ 
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.

Reply via email to