- From: Marcos Caceres <marcosscaceres@gmail.com>
- Date: Fri, 14 Mar 2008 15:29:28 +1000
- To: "Sergey Ilinsky" <castonet@yahoo.co.uk>
- Cc: public-appformats@w3.org
Hi Sergey, I've thought about it some more and I don't think we need a custom event model for preferences. The preference UI is just going to be created with HTML/Script anyway so the author has full explicit control over all changes (unlike Yahoo! Widgets, which uses a custom preferences UI so preference-change events make sense). Instead, developers can build a simple wrapper around preference getting and setting.. eg: PrefManager = { hasPref: function(key){.... true or false...}, setPref: function(key, value){ ... setPreferenceForKey(), broadcast event to listeners... }, getPref: function(key){ ... get key.....}, deletePref: function(key){... broadcast custom change event....}, subscribe: function(callback) { ... ... }, unsubscribe: function(someFunction){ ... like using addEventListener... }, //you can get fancy too watchKey: function(someKey, callback){ ... ...}, ..and so on.... } I think this is simpler, more flexible, and meets the use case. What do you think? Kind regards, Marcos On Thu, Mar 13, 2008 at 7:24 PM, Marcos Caceres <marcosscaceres@gmail.com> wrote: > Hi Sergey, > > > On Thu, Mar 13, 2008 at 1:07 AM, Sergey Ilinsky <castonet@yahoo.co.uk> wrote: > > Not sure if the issue was previously discussed - > > I could not find its trails anyway.. > > > > If I understand correctly, the purpose of the following API > > functions preferenceForKey / setPreferenceForKey > > available on Widget interface is to query widget runtime for > > "widget instance" - specific settings. > > > > Then several questions/issues come: > > > > 1) will there be a "setting" element available > > in the configuration file for the purpose of publishing > > widget settings? (Widget runtime could then, for example, > > provide a consistent UI for editing settings) > > Probably not (though the Open Ajax Alliance (OAA) is working on this > in their metadata format). I strongly believe that the preferences > should be set "onload" using script. Personally, and in the case of > the kind widgets we are defining, I think it would be messy to have > preferences being set in the config file. For one, it would mean > having to define a bunch of types that ECMAScript already gives us. > Also, I think the preference UI is better custom built using HTML. > > > > 2) how a widget will then be notified on settings changes > > made from the widget runtime UI? > > Good point. We will probably add an event for that... or something like: > > widget.addEventListener("preferenceChange", listener, true|false); > > Or > > widget.onPreferencesChanged = function(event){ ...do something with event... } > > and the event object might contain the key, the new value, and the old value: > > interface PreferenceChagedEvent : Event { > readonly attribute DOMString prevValue; > readonly attribute DOMString newValue; > readonly attribute DOMString preferenceKey; > }; > > > Kind regards, > Marcos > -- > Marcos Caceres > http://datadriven.com.au > -- Marcos Caceres http://datadriven.com.au
Received on Friday, 14 March 2008 05:30:13 UTC