I've been recreating some of our custom jsp addons for 1.4 dspaces as
aspects in Manakin, and I have some questions concerning javascript. I was
unable to find documentation addressing following issues and so far, I have
only found examples of dspace installations using javascript as part of a
theme.
That's fine for javascript that does something mainly visual e.g. a sliding
animation to show/hide the contents of a div, or a script emphasising a menu
item when the mouse hovers over it. It's a good thing that these scripts are
part of the theme layer because that way they can differ from theme to
theme.
However, there are ways of using javascript where can it be considered to be
functional rather than visual and thus preferably not part of a theme.
Consider the problem of alerting a user of unsaved changes on a settings
page. This requires an onblur action for every setting (form field) to
trigger a javascript function that verifies whether that setting has
changed. If the setting has changed a warning should be shown at the top of
the page.
I believe the manner in which that the warning will be shown, and the way it
looks should be part of the theme. But the onblur actions, and the verify
function should be part of the aspect, as they don't do anything visual
whatsoever.
Right now the only way I have found to add a js action to a component is to
write a .js file that looks for a component with the proper id when a page
loads and adds the action in js. And subsequently adding that file as a
parameter to every "IncludePageMeta"-transformer in every theme's sitemap.
I guess another way could be to write a XSL file and use XPath to look for
the right component and add the action and then add that XSL-Transformer in
every theme's sitemap somewhere after dri2xhtml.xsl.
The problem with both these solutions is that they have to be done at the
theme level, and therefore the functionality of the aspect doesn't fit in
one neat package, which was the beauty of manakin in the first place.
Would it be possible to have an addAction("onblur/onclick/onfocus/...",
"someJsFunction();") method in java for DRI components, or maybe even an
addAttribute("anyAttribute", "anyValue") method, or are there fundamental
objections to this concept?
Or maybe there already is a way of including javascript in an aspect, and I
just haven't found it, in which case I would be obliged to anyone pointing
me in the right direction.
Best regards,
Art Lowel
(I apologize if this message got on the mailing list twice, I sent it using
an email adress that was not subscribed to this list the first time)
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
DSpace-tech mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dspace-tech