Merge pull request #14208 from owncloud/oc-msg-remove-object-dependency

Remove dependency from arbitrary data object structure for easier usage
This commit is contained in:
Morris Jobke 2015-02-26 14:57:21 +01:00
commit a183b5d7e2
1 changed files with 73 additions and 38 deletions

View File

@ -618,34 +618,30 @@ OC.addStyle.loaded=[];
OC.addScript.loaded=[]; OC.addScript.loaded=[];
/** /**
* @todo Write documentation * A little class to manage a status field for a "saving" process.
* It can be used to display a starting message (e.g. "Saving...") and then
* replace it with a green success message or a red error message.
*
* @namespace OC.msg
*/ */
OC.msg={ OC.msg = {
/** /**
* @param selector * Displayes a "Saving..." message in the given message placeholder
* @todo Write documentation *
* @param {Object} selector Placeholder to display the message in
*/ */
startSaving:function(selector){ startSaving: function(selector) {
OC.msg.startAction(selector, t('core', 'Saving...')); this.startAction(selector, t('core', 'Saving...'));
}, },
/** /**
* @param selector * Displayes a custom message in the given message placeholder
* @param data *
* @todo Write documentation * @param {Object} selector Placeholder to display the message in
* @param {string} message Plain text message to display (no HTML allowed)
*/ */
finishedSaving:function(selector, data){ startAction: function(selector, message) {
OC.msg.finishedAction(selector, data); $(selector).text(message)
},
/**
* @param selector
* @param {string} message Message to display
* @todo WRite documentation
*/
startAction:function(selector, message){
$(selector)
.html( message )
.removeClass('success') .removeClass('success')
.removeClass('error') .removeClass('error')
.stop(true, true) .stop(true, true)
@ -653,25 +649,64 @@ OC.msg={
}, },
/** /**
* @param selector * Displayes an success/error message in the given selector
* @param data *
* @todo Write documentation * @param {Object} selector Placeholder to display the message in
* @param {Object} response Response of the server
* @param {Object} response.data Data of the servers response
* @param {string} response.data.message Plain text message to display (no HTML allowed)
* @param {string} response.status is being used to decide whether the message
* is displayed as an error/success
*/ */
finishedAction:function(selector, data){ finishedSaving: function(selector, response) {
if( data.status === "success" ){ this.finishedAction(selector, response);
$(selector).html( data.data.message ) },
.addClass('success')
.removeClass('error') /**
.stop(true, true) * Displayes an success/error message in the given selector
.delay(3000) *
.fadeOut(900) * @param {Object} selector Placeholder to display the message in
.show(); * @param {Object} response Response of the server
}else{ * @param {Object} response.data Data of the servers response
$(selector).html( data.data.message ) * @param {string} response.data.message Plain text message to display (no HTML allowed)
.addClass('error') * @param {string} response.status is being used to decide whether the message
.removeClass('success') * is displayed as an error/success
.show(); */
finishedAction: function(selector, response) {
if (response.status === "success") {
this.finishedSuccess(selector, response.data.message);
} else {
this.finishedError(selector, response.data.message);
} }
},
/**
* Displayes an success message in the given selector
*
* @param {Object} selector Placeholder to display the message in
* @param {string} message Plain text success message to display (no HTML allowed)
*/
finishedSuccess: function(selector, message) {
$(selector).text(message)
.addClass('success')
.removeClass('error')
.stop(true, true)
.delay(3000)
.fadeOut(900)
.show();
},
/**
* Displayes an error message in the given selector
*
* @param {Object} selector Placeholder to display the message in
* @param {string} message Plain text error message to display (no HTML allowed)
*/
finishedError: function(selector, message) {
$(selector).text(message)
.addClass('error')
.removeClass('success')
.show();
} }
}; };