Add a Nested Dataset ==================== Scenario -------- As a scientist, I want to add a nested dataset to an existing dataset folder so I can easily organize related data. Mockup Image ------------ .. image:: images/add-nested-dataset-mockup.png Technical Sequence Diagram --------------------------- .. @startuml images/add-nested-dataset-sequence-diagram.png !include ../plantuml-styles.txt skinparam SequenceGroupBorderColor #AAAAAA skinparam SequenceGroupBorderThickness #AAAAAA actor "Scientist" participant EMLView as EMLView <<Backbone.View>> participant DataPackageView as DataPackageView <<Backbone.View>> participant DataItemView as DataItemView <<Backbone.View>> participant DataPackage as DataPackage <<Backbone.Collection>> participant EML as EML <<Backbone.Model>> participant Router as Router <<Backbone.router>> EMLView -> DataPackage : on("new-folder", handleNewFolder) DataPackageView -> DataItemView : listenTo("add-folder", addFolder) Scientist -> DataItemView : clicks on "Add a folder" DataPackageView -> DataPackageView : addFolder() activate DataPackageView DataPackageView -> DataPackage : new() activate DataPackage DataPackage -> EML : new() activate EML EML --> DataPackage : newEML deactivate EML DataPackage -> DataPackage : add(newEML) DataPackage --> DataPackageView : newPackage deactivate DataPackage DataPackageView -> DataItemView : new(newPackage) deactivate DataPackageView activate DataItemView DataItemView -> DataItemView : render() DataItemView -> DataItemView : on("blur #titleText", handleChange()) DataItemView --> Scientist: shows new folder row note right We highlight and focus the title for the scientist to change end note deactivate DataItemView activate Scientist Scientist -> DataItemView : Enters title deactivate Scientist activate DataItemView DataItemView -> DataItemView : handleChange() DataItemView -> EML : set("title", title) activate EML DataItemView -> EML : getParent() EML --> DataItemView : dataPackage deactivate EML DataItemView -> DataPackage : trigger("new-folder") deactivate DataItemView DataPackage -> EMLView : handleNewFolder(dataPackage) activate EMLView EMLView -> Router : navigate("#view/{pid}", dataPackage) deactivate EMLView @enduml .. image:: images/add-nested-dataset-sequence-diagram.png