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) Refactor: tray open/close events
Date Thu, 23 Oct 2014 20:41:33 GMT

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

Ben Keen updated COUCHDB-2401:
------------------------------
    Description: 
Small thing, 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.


  was:
Small thing, 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, change this to make it more generic.
Namely, all of them would publish the same events:

FauxtonAPI.Events.trigger("Tray:open");
FauxtonAPI.Events.trigger("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.

Also, the event string itself should be placed in the new constants.js.



> Refactor: tray open/close events
> --------------------------------
>
>                 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
>
> Small thing, 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.



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

Mime
View raw message