couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ben Keen (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (COUCHDB-2401) Create generic Tray component
Date Fri, 07 Nov 2014 21:34:35 GMT

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

Ben Keen updated COUCHDB-2401:
------------------------------
    Description: 
Now we've moved most content to trays, the code can really be cleaned up. Create a generic
Tray component that contains all boilerplate code, like hide/show/toggle, etc.

Right now we're explicitly telling other components to do things, like in the Query Options
/ API Bar that tell eachother to close if they're about to be opened: 

FauxtonAPI.Events.trigger("APIbar:closeTray");

Now that the Add New Database is going to be a tray as well, I'd like to improve this. Namely,
all of them would publish the same events:

FauxtonAPI.Events.trigger("Tray:open"); // this would actually be a constant, like C.EVENT.TRAY.OPEN
FauxtonAPI.Events.trigger("Tray:close"); // C.EVENT.TRAY.CLOSE

They would then use that to subscribe to ANY tray's open event, and know to close itself if
another's being opened. The benefits are that a component doesn't need to know about other
components (loose coupling yay). And going forth it would mean less code.


  was:
Now we've moved most content to trays, the code can really be cleaned up. 

1. CSS can be largely standardized between them
-- page right-aligning trays should have 12px, not 5px to the right of the tray 
2. Create a generic Tray component that contains all boilerplate code, like hide/show/toggle,
etc.
3. Refactor: tray open/close events

This last one is small, but significant. Right now we're explicitly telling other components
to do things, like in the Query Options / API Bar that tell eachother to close if they're
about to be opened: 

FauxtonAPI.Events.trigger("APIbar:closeTray");

Now that the Add New Database is going to be a tray as well, I'd like to improve this. Namely,
all of them would publish the same events:

FauxtonAPI.Events.trigger("Tray:open"); // this would actually be a constant, like C.EVENT.TRAY.OPEN
FauxtonAPI.Events.trigger("Tray:close"); // C.EVENT.TRAY.CLOSE

They would then use that to subscribe to ANY tray's open event, and know to close itself if
another's being opened. The benefits are that a component doesn't need to know about other
components (loose coupling yay). And going forth it would mean less code.



> Create generic Tray component
> -----------------------------
>
>                 Key: COUCHDB-2401
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-2401
>             Project: CouchDB
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: Fauxton
>            Reporter: Ben Keen
>            Assignee: Ben Keen
>
> Now we've moved most content to trays, the code can really be cleaned up. Create a generic
Tray component that contains all boilerplate code, like hide/show/toggle, etc.
> Right now we're explicitly telling other components to do things, like in the Query Options
/ API Bar that tell eachother to close if they're about to be opened: 
> FauxtonAPI.Events.trigger("APIbar:closeTray");
> Now that the Add New Database is going to be a tray as well, I'd like to improve this.
Namely, all of them would publish the same events:
> FauxtonAPI.Events.trigger("Tray:open"); // this would actually be a constant, like C.EVENT.TRAY.OPEN
> FauxtonAPI.Events.trigger("Tray:close"); // C.EVENT.TRAY.CLOSE
> They would then use that to subscribe to ANY tray's open event, and know to close itself
if another's being opened. The benefits are that a component doesn't need to know about other
components (loose coupling yay). And going forth it would mean less code.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message