Jerome Velociter wrote:
> Hi,
>
> sdumitriu (SVN) wrote:
>> Author: sdumitriu
>> Date: 2009-04-20 22:25:52 +0200 (Mon, 20 Apr 2009)
>> New Revision: 18869
>>
>> Added:
>> platform/web/trunk/standard/src/main/webapp/resources/icons/xwiki/
>>
>> platform/web/trunk/standard/src/main/webapp/resources/icons/xwiki/ajax-loader-large.gif
>>
>> platform/web/trunk/standard/src/main/webapp/resources/icons/xwiki/ajax-loader-white.gif
>>
>> platform/web/trunk/standard/src/main/webapp/resources/js/xwiki/actionbuttons/
>>
>> platform/web/trunk/standard/src/main/webapp/resources/js/xwiki/actionbuttons/actionButtons.js
>> Modified:
>> platform/web/trunk/standard/src/main/webapp/templates/edit.vm
>> platform/web/trunk/standard/src/main/webapp/templates/editactions.vm
>> platform/web/trunk/standard/src/main/webapp/templates/inline.vm
>> platform/web/trunk/standard/src/main/webapp/templates/macros.vm
>> platform/web/trunk/standard/src/main/webapp/templates/preview.vm
>> platform/web/trunk/standard/src/main/webapp/templates/previewactions.vm
>> Log:
>> XWIKI-3654: Improve editor and preview buttons
>> XWIKI-2597: Hitting 'Back to edit' after previewing an in-line form does not
>> return to inline editing
>> XWIKI-3653: Edit comment and Minor edit settings lost when going to the
>> preview and back to edit
>> Done.
>>
>> [snip]
>>
>> Added:
>> platform/web/trunk/standard/src/main/webapp/resources/js/xwiki/actionbuttons/actionButtons.js
>> ===================================================================
>> ---
>> platform/web/trunk/standard/src/main/webapp/resources/js/xwiki/actionbuttons/actionButtons.js
>> (rev 0)
>> +++
>> platform/web/trunk/standard/src/main/webapp/resources/js/xwiki/actionbuttons/actionButtons.js
>> 2009-04-20 20:25:52 UTC (rev 18869)
>> @@ -0,0 +1,218 @@
>> +// ======================================
>> +// Form buttons: shortcuts, AJAX improvements and form validation
>> +// To be completed.
>> +if (typeof(XWiki) == 'undefined') {
>> + XWiki = new Object();
>> +}
>> +if (typeof(XWiki.actionButtons) == 'undefined') {
>> + XWiki.actionButtons = new Object();
>> +}
>> +
>> +XWiki.actionButtons.EditActions = Class.create({
> Why do you make this a class and not an object ? It looks like it will
> never be instanciated more than once
No reason other than my Java OO habit of making classes.
>> + initialize : function() {
>> + this.addListeners();
>> + this.addShortcuts();
>> + this.saveAndContinueListener = new
>> XWiki.actionButtons.EditActions.AjaxSaveAndContinue(this);
>> + },
>> [snip]
>> + onCancel : function(evt) {
>> + evt.stop();
>> + var location = evt.element().form.action;
>> + if (location.indexOf('?' == -1)) {
>> + location += '?';
>> + }
>> + window.location = location + 'action_cancel=true';
>> + },
>> + onPreview : function(evt) {
>> + if (!this.validateForm(evt.element().form)) {
>> + evt.stop();
>> + }
>> + },
>> + onSaveAndView : function(evt) {
>> + if (!this.validateForm(evt.element().form)) {
>> + evt.stop();
>> + }
>> + }
>> +});
>
> Maybe we could fire custom events here for code that want to listen to
> cancel/preview/save clicks. I faced the case several times, and ended up
> using some wicked CSS selectors to find the buttons to observe.
>
> We could do something like :
>
> onSaveAndView : function(evt) {
> if (!this.validateForm(evt.element().form)) {
> evt.stop();
> }
> else {
> document.fire("xwiki:actions:save:before");
> }
> }
Yes, that would be a good idea.
--
Sergiu Dumitriu
http://purl.org/net/sergiu/
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs