[Architecture] Combining complex panels in the preferences framework

Justin Obara obara.justin at gmail.com
Tue Sep 3 09:20:54 EDT 2013


Hi Alexander,

You may have come upon another limitation, but perhaps there is a way around. The templates block in the options can take in multiple resources e.g.

resources: {
	keyEchoTemplate: {},
	wordEchoTemplate: {}
}

Although I'm not sure how this is handled by the renderer. So you'll have to try it out and see how things go. 

It seems that my example worked because the templates were already combined. If the above suggestion doesn't work, you could manually insert the fetched templates into the DOM, which should allow the renderer to see it. In the above example you would find the template markup at "that.options.resources.keyEchoTemplate.resourceText" and "that.options.resources.wordEchoTemplate.resourcetext". You can insert it into the DOM with something like jQuery's append.

You can see something similar from UIO.
https://github.com/fluid-project/infusion/blob/master/src/components/uiOptions/js/UIOptions.js#L416

However, that being said you might run into issues with the auxiliary schema, as it's probably not setup to accept multiple templates for a single component.

Let me know if you have any more thoughts and/or expectations for how you'd like this to all work.

Thanks
Justin

On 2013-09-02, at 8:45 AM, Alexander Milchev <amilchev at asteasolutions.com> wrote:

> Hi Anastasia,
> 
> Thank you for the reply, but I'm afraid you got me wrong. Perhaps I should explain myself better.
> 
> My ambition is to break a bigger panel so that each piece has its own template.
> The question is relevant to the grade merging, discussed previously in this thread. I've been working on the Speak Text adjuster group and I tried to merge these two panels into this big one, as Justin suggested. The important part of the auxSchema is that both adjusters' panels' type is the big panel (keyEcho, wordEcho) and all this information is overwritten by the last defined, so these selectors are looked for in this template, instead of the appropriate one.
> 
> Is there an elegant way to work around this?
> 
> Thanks,
> Alexander
> 
> 
> On Mon, Sep 2, 2013 at 3:32 PM, Chris Petsos <cpetsos at certh.gr> wrote:
> Hi Alexander,
> 
> I don't know if this is what you need, but in my version of PMT the "big panel" is here and all the "sub-panels" are here (e.g. magnifier-follows, magnifier-position etc.) separate from each other. This is something that is supported out-of-the-box in UIO. You'll get a feeling of how it's being done if you browse the code a bit. Feel free to ask if you have any questions. I don't know if some specialized grade merging is needed for that; or are you trying to perform something more sophisticated?
> 
> Cheers,
> 
> Chris.
> 
> 
> On 09/02/2013 03:26 PM, Alexander Milchev wrote:
>> Hi Anastasia,
>> 
>> Thank you for the reply, but I'm afraid you got me wrong. Perhaps I should have explained myself better.
>> 
>> My ambition is to break a bigger panel so that each piece has its own template. 
>> The question is relevant to the grade merging, discussed previously in this thread. I've been working on the Speak Text adjuster group and I tried to merge these two panels into this big one, as Justin suggested. The important part of the auxSchema is that both adjusters' panels' type is the big panel (keyEcho, wordEcho) and all this information is overwritten by the last defined, so these selectors are looked for in this template, instead of the appropriate one.
>> 
>> Is there an elegant way to work around this?
>> 
>> Thanks,
>> Alexander
>> 
>> 
>> On Fri, Aug 30, 2013 at 10:27 PM, Cheetham, Anastasia <acheetham at ocadu.ca> wrote:
>> 
>> On 2013-08-30, at 9:43 AM, Alexander Milchev wrote:
>> 
>> > Hi everyone,
>> >
>> > I tried out the grade merging today and a question popped up.
>> >
>> > It seemed to me that no more than one html template could be shared between multiple users of the same panel. This would be the template of the adjuster, defined last in the auxSchema. For instance (in Justin's example), if the auxSchema relates the big panel "fluid.uiOptions.panels.linksControls" to both emphasizeLinks and imputsLarger adjusters and imputsLarger is defined second, then info for template, container and message for emphasizeLinks is neglected and overwritten by those of imputsLarger.
>> >
>> > Does this mean that all templates must be stuffed in one big html file (hope it doesn't) and how can the templates be apportioned properly?
>> >
>> > Thanks,
>> > Alexander
>> 
>> Hi, Alexander,
>> 
>> It's possible I'm not quite understanding your question, and if so, please forgive me. But it is certainly possible for each panel to have its own template.
>> 
>> The auxiliary schema for the starter panels shows how this is done:
>> https://github.com/fluid-project/infusion/blob/master/src/components/uiOptions/js/StarterSchemas.js
>> 
>> The root part of the schema defines the template that will contain all of the panels:
>> https://github.com/fluid-project/infusion/blob/master/src/components/uiOptions/js/StarterSchemas.js#L34
>> This template contains an empty div for each panel.
>> 
>> The root part of the schema also defines a root directory for the individual panels:
>> https://github.com/fluid-project/infusion/blob/master/src/components/uiOptions/js/StarterSchemas.js#L33
>> 
>> Each of the panel blocks specifies its own template relative to the root directory:
>> https://github.com/fluid-project/infusion/blob/master/src/components/uiOptions/js/StarterSchemas.js#L45
>> https://github.com/fluid-project/infusion/blob/master/src/components/uiOptions/js/StarterSchemas.js#L66
>> https://github.com/fluid-project/infusion/blob/master/src/components/uiOptions/js/StarterSchemas.js#L87
>> etc.
>> 
>> (It isn't necessary to use the root directory prefix, that's just something you can use if it's helpful.)
>> 
>> Alexander, does this answer your question, or am I confused?
>> 
>> --
>> Anastasia Cheetham     Inclusive Design Research Centre
>> acheetham at ocadu.ca           Inclusive Design Institute
>>                                         OCAD University
>> 
>> 
>> 
>> The information in this e-mail and any accompanying files is intended only for the recipients named above. This message may contain CONFIDENTIAL INFORMATION THAT IS LEGALLY PRIVILEGED. If you are not an intended recipient, you may not download, copy, disseminate, distribute or use in any way the information in this e-mail. Any of these actions can be a criminal offense. If you have received this e-mail in error, please notify Astea Solutions AD immediately by reply e-mail, and delete this e-mail and any copies of it.
>> 
>> 
>> _______________________________________________
>> Architecture mailing list
>> Architecture at lists.gpii.net
>> http://lists.gpii.net/cgi-bin/mailman/listinfo/architecture
> 
> 
> 
> The information in this e-mail and any accompanying files is intended only for the recipients named above. This message may contain CONFIDENTIAL INFORMATION THAT IS LEGALLY PRIVILEGED. If you are not an intended recipient, you may not download, copy, disseminate, distribute or use in any way the information in this e-mail. Any of these actions can be a criminal offense. If you have received this e-mail in error, please notify Astea Solutions AD immediately by reply e-mail, and delete this e-mail and any copies of it.
> _______________________________________________
> Architecture mailing list
> Architecture at lists.gpii.net
> http://lists.gpii.net/cgi-bin/mailman/listinfo/architecture

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.idrc.ocad.ca/pipermail/fluid-work/attachments/20130903/fd676ca1/attachment.html>


More information about the fluid-work mailing list