From: Alexandros V. <av...@no...> - 2007-03-16 12:23:25
|
(That was a large subject). I built a plugin two months ago, called 'javascript_libs'. The purpose of the plugin is to: 1) Provide some popular javascript libraries and frameworks (prototype, scriptaculous, lightbox) in an easy to install squirrelmail plugin package. 2) Provide plugins or Squirrelmail core code, with a function that they can use to enable the usage of such a library / framework very easily. How easily you say? This easily: javascript_libs_register('read_body.php', array('spica', 'lightbox_plus')); 3) Handle some basic dependencies between libraries. For instance, if a plugin wants to use scriptaculous, then prototype.js is also included. 4) Allow two or more plugins to use the same javascript files / libraries, in the same page, but in the end include them only once. Unfortunately, as with many things I've layed my hands on, it's not finished yet. :/ Specifically, I need to implement duplicate inclusion suppression and test how well it behaves when two different plugins use the same js in the same page. Anyway, I'm attaching the javascript_libs plugin and a sample plugin that uses lightbox_plus to display an image attachment in this email, in order to get some feedback. Do you find it useful? Should we publish this in squirrelmail.org? I've coded this with STABLE in mind, do you see a different way of including javascript libraries in the new template framework? Notes: * Some javascript libraries might be outdated, I hear there's new prototype scriptaculous versions out. * The sample plugin actually needs a small patch in functions/mime.php in order to work, it is included in the tarball. * I'm coding some major UI improvements in avelsieve these days, and I just used javascript_libs to load scriptaculous and add some effects. I must confess it looks groovy. 8-) -- Alexandros Vellis National & Kapodistrian University of Athens Network Operations Centre |