You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by "Adam Winer (JIRA)" <ji...@apache.org> on 2009/02/11 17:56:59 UTC

[jira] Assigned: (SHINDIG-911) bugs about features/setprefs/setprefs.js

     [ https://issues.apache.org/jira/browse/SHINDIG-911?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Adam Winer reassigned SHINDIG-911:
----------------------------------

    Assignee: Adam Winer

> bugs about features/setprefs/setprefs.js
> ----------------------------------------
>
>                 Key: SHINDIG-911
>                 URL: https://issues.apache.org/jira/browse/SHINDIG-911
>             Project: Shindig
>          Issue Type: Bug
>          Components: Features (Javascript)
>            Reporter: Pan Jie
>            Assignee: Adam Winer
>            Priority: Minor
>
> Here is features/setprefs/setprefs.js
> /**
>  * Stores a preference.
>  * @param {String | Object} key The pref to store.
>  * @param {String} val The values to store.
>  * @private This feature is documented in prefs.js
>  */
> gadgets.Prefs.prototype.set = function(key, value) {
>   if (arguments.length > 2) {
>     // For backwards compatibility. This can take the form:
>     // prefs.set(key0, value0, key1, value1, key2, value2);
>     // prefs.set({key0: value0, key1: value1, key2: value2});
>     var obj = {};
>     for (var i = 0, j = arguments.length; i < j; i += 2) {
>       obj[arguments[i]] = arguments[i + 1];
>     }
>     gadgets.Prefs.setInternal_(obj);
>   } else {
>     gadgets.Prefs.setInternal_(key, value);
>   }
>   var args = [
>     null, // go to parent
>     "set_pref", // service name
>     null, // no callback
>     gadgets.util.getUrlParameters().ifpctok || 0 // Legacy IFPC "security".
>   ].concat(Array.prototype.slice.call(arguments));
>   gadgets.rpc.call.apply(gadgets.rpc, args);
> };
> /**
>  * Stores a preference from the given list.
>  * @param {String} key The pref to store.
>  * @param {Array.<String | Number>} val The values to store.
>  * @private This feature is documented in prefs.js
>  */
> gadgets.Prefs.prototype.setArray = function(key, val) {
>   // We must escape pipe (|) characters to ensure that decoding in
>   // getArray actually works properly.
>   for (var i = 0, j = val.length; i < j; ++i) {
>     val[i] = val[i].replace(/\|/g, "%7C");
>   }
>   gadgets.Prefs.setInternal_(key, val.join('|'));
> };
> 1. setArray should allow Array<Number> as parameter val. But code "val[i].replace(/\|/g, "%7C");" will failed if val[i] is not string.
> 2. setArray should also call rpc "set_pref" to change user preferences similar to gadgets.Prefs.prototype.set. But there were no such code.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.