This module replaces AJAX loading spinners (aka throbbers) with an extendable and CSS-styleable subsystem.
Currently it integrates with the external libraries Raphael or Spin.js to draw throbbers.
There is a "raphael" module, but the library included is outdated. I created a patch, but until "raphael" has been updated, these two modules will conflict.
Hurricane uses the Libraries API to load external libraries.
Project page: http://drupal.org/sandbox/pmelab/1806234
Git clone:
git clone http://git.drupal.org/sandbox/pmelab/1806234.git sites/all/modules/hurricane
git clone https://github.com/DmitryBaranovskiy/raphael.git sites/all/libraries/raphael
git clone https://github.com/fgnass/spin.js.git sites/all/libraries/spinjs
Neither Spin.js nor Raphaël are required for Hurricane to work. They are used in optional, prepackaged rendering plugins. But for testing the module, you will want to download them.
Hurricane is built to integrate any other library able to draw throbbers. Or no external library at all, if you want to build the javascript animation from scratch (as shown in drop.js).
Comments
Comment #1
r2integrated commentedHey there, thanks for the application!
Unfortunately I am unable to proceed with reviewing your application due to some bugs. I installed the module as per your instructions however whenever I attempt to perform any AJAX operations, such as adding a field to a view, however I am receiving an error popup. I've traced the point where the error is caught to misc/ajax.js line 258. The error is a TypeError, thrown because some Javascript code, presumably in your module, is attempting to call a function which is undefined. Please investigate and fix so we can evaluate the module.
PAreview came back almost clean:
This automated report was generated with PAReview.sh, your friendly project application review script. You can also use the online version to check your project. Get a review bonus and we will come back to your application sooner.
Comment #2
pmelab commentedThanks for (trying) to review!
I've found a bug that produced the error you described. If
hurricane_integrationis enabled but no throbbers where activated in the themes settings, it tried to callundefined. Has this been the case? Should be fixed now.http://ventral.org/pareview thinks line 20 of the README.txt is 80 characters long, not 81.
Odd
Comment #3
pmelab commentedForgot to change status to "needs review" ...
Comment #4
r2integrated commentedOverall:
Your fix worked, I can review it now! There are some relatively minor issues documented below, but overall this is really well done. One question I have though - is it stated clearly anywhere which to use - Raphael or SpinJS? I'm able to install both modules but I am unsure of which is being utilized.
Automated Review:
Clean.
Manual Review:
Comment #5
pmelab commentedThank you!
@ Overall:
It depends on the developers choice between "beauty" and filesize. And ultimately they are proof of concept that completely different technologies are possible. I added additional information in the Usage section to the README.txt and project page.
@ Manual Review:
administer themespermission, since they are most likely to use it.Comment #6
dasjohi,
congratulations - this feel like a very solid project application.
i have tested all the sub-modules provided and found them to be working just fine both on chrome/mac + chrome/android.
here are some remarks:
- hurricane.info states "Raphael based loading indicators" as description. As raphael is one possible integration, you might rather name it something like "Javascript based and CSS-styleable loading spinners."
- would be great to have a
hurricane.api.phpthat documentshook_hurricane_renderers()- a little cleanup patch goes here: #1865162: Minor code cleanup
i'm leaving this on needs review as i'm not very familiar with how strict the application process is. from my point of view the above remarks shouldn't prevent this already very ready module to be released.
Comment #7
jphelan commentedThis is a great module. Well done.
Manual Review:
Comment #8
pmelab commentedThanks for the review!
@ 1.
Finally fixed that. Somehow I managed to forget about it.
@ 2.
There's been a bug that loaded all available renderers if you check only one checkbox. Fixed.
The checkboxes are responsible for loading specific renderers for a theme, which then can be chosen by setting the
font-familyCSS property on the throbbers parent element. This section appears even without hurricane_integration enabled, if you choose to attach the throbbers manually by loading the library (drupal_add_library('hurricane', 'hurricane');) and and using the jQuery plugin ($.hurricane()).@ 3.
All renderers work without hurricane_integration, but they won't appear anywhere. Thats what the integration module does. I added a note to the README.txt and project description.
Comment #9
jphelan commentedGreat with @2 fixed, it works as expected.
The only other thing I have is just a suggestion. The reset button did not do what I excepted it to do, I thought it would reset the the selected renderer options back to their defaults not disable everything. I would suggest either adding a note to what reset does or change it to the behavior I mention. Just a suggestion though.
Great module, I will probably be using it on an upcoming project.
Comment #10
pmelab commentedGood point. Doesn't make sense to disable all renderers, since there are no real "default" values. Fixed in the latest commit.
Comment #11
jthorson commentedJust one additional comment:
Thanks for your contribution, pmelab!
I updated your account to let you promote this to a full project and also create new projects as either a sandbox or a "full" project.
Here are some recommended readings to help with excellent maintainership:
You can find lots more contributors chatting on IRC in #drupal-contribute. So, come hang out and get involved!
Thanks, also, for your patience with the review process. Anyone is welcome to participate in the review process. Please consider reviewing other projects that are pending review. I encourage you to learn more about that process and join the group of reviewers.
Thanks to the dedicated reviewer(s) as well.
Comment #12.0
(not verified) commentedAdded a note about library requirements, or the lack of them.