munrocape / 302-group-7 Goto Github PK
View Code? Open in Web Editor NEWcodebase for our extension
codebase for our extension
Panels that are open should stay open - even if the alternate panel is opened or the user clicks outside of the panel.
This should be open to extension if we want the panels to close on certain actions (we add a close button, we want the dropdown to close immediately after the user performs an add/remove action)
In data/js/dropdownContentScript.js, starting on line 143
$("#submitNewAuthor").click(function(){
if ($.trim( $('#newAuthorName').val() ) === '' ) {
console.log('Blank input.');
$(".authorName").html("Please enter an Author's name")
}
else {
self.port.emit(ADD_NEW_PROJECT, $("#newAuthorName").val())
self.port.emit(SEND_STORAGE, HOME)
$('#main').css("display", "block");
$('#createNewAuthorView').css("display", "none");
}
})
especially note:
self.port.emit(ADD_NEW_PROJECT, $("#newAuthorName").val())
self.port.emit(SEND_STORAGE, HOME)
Its emitting the wrong thing.
This is the dropdown in the browser seen in this mockup: here.
Implement with materialize design - does not need to match mockup 1:1 except for button placement and what text appears.
Seed it with fake data
Look at the current ecosystem for any libraries (and their licenses) that we could potentially use.
`self.port.on(SELECT_PROJECT, function(project) {
console.log(project.name + " selected")
$(".projectName").html(project.name)
let html = ''
for (let i = 0; i < project.sources.length; i++) {
console.log(project.sources[i])
html += '
})`
Essentially for each i, if you scroll up earlier in the file, you see an example:
$('#' + i).click(function() { // Handler for project i self.port.emit(SEND_STORAGE, SELECT_PROJECT, i) })
Do something similar except add a listener to the i'th source, and add an id in my html string for the tag with source_ + i concatenated
Icon for a given project needs to be wired up to actually delete a project per specification
After loading the data from fake_data.json I access source in a project and update + save the author, this is saved as a string which breaks functionality with citation functions. This should follow the array structure as in fake_data.
When you add a project, and then add a second one, the name of the first one is still present. Also, if you have an empty project name, you cannot proceed and no help text is provided
Useless storing information about the id, going to refactor as it is not needed
This controller will be tied to the drop down button and actions.
Stub this out and connect it to the button created in #4
Add angular into the project locally to reference. 1.3.x/1.4.x.
Replace the console logging with logging within the controller based on button click.
Use the data controller in #11 to get the references and current project
Allow the user to add the page as a reference, remove the page as a reference if it is already a reference.
Refer to the finalized mockups from #8
This is the "trasition: authors" dropdown seen here: here.
Implement with materialize design - does not need to match mockup 1:1 except for button placement and what text appears.
Seed it with fake data.
For now I set all the project names to go to the template projectView page. This should be updated to ref the project details, maybe a helper function to load the project details and port to the next view.
In file: dropdownContentScript.js:9
Create a function that can get the current URL.
Here is a relevant SO
By default the footer will display one style of bibliography. When the buttons are clicked they will clear the current bibliography and replace it with the intended one.
Work with @elAmir3mmar / the group to finalize layout.
Refer to the use cases to identify what buttons and flows would be helpful
The UI/X driving forces should carry over from the mockups and our design brief:
This is the unlabeled add reference/author dropdown seen here: here.
Implement with materialize design - does not need to match mockup 1:1 except for button placement and what text appears.
Seed it with fake data.
here is the general structure.
Alongside the contentURL
attribute in the respective Views we also need a contentScriptFile
attribute that points to the content script. There should be one each for the dropdown/footer.
index.js
.Create:
-small requests branch
-branches for each major feature we are currently developing
Same as #6
Create functions to get the project lists from the data controller. These will form what you display.
Hola! @munrocape has created a ZenHub account for the munrocape organization. ZenHub is the leading team collaboration and project management solution built for GitHub.
To get set up with ZenHub, all you have to do is download the browser extension and log in with your GitHub account. Once you do, you’ll get access to ZenHub’s complete feature-set immediately.
ZenHub adds a series of enhancements directly inside the GitHub UI:
Still curious? See more ZenHub features or read user reviews. This issue was written by your friendly ZenHub bot, posted by request from @munrocape.
When the user selects the "drop down" button, show a floating window below the button. Refer the the mockups for general dimensions of what it should look like
This is for the "project transition" seen here: here.
Implement with materialize design - does not need to match mockup 1:1 except for button placement and what text appears.
Seed it with fake data
Deal with adding a brand new source, the HTML will need to be changed slightly so it doesn't load an invalid page. Again mess around with the divs, and have the correct input fields when adding a source, follow the example in our fake_data.json:
"sources": [{ "name": "Barnes Hut Algorithm", "link": "http://arborjs.org/docs/barnes-hut", "year": 2005, "authors": ["Tom Ventimiglia", "Kevin Wayne"], "references": ["http://www.cs.princeton.edu/courses/archive/fall03/cs126/assignments/barnes-hut.html"] }]
This is the "trasition: sources" dropdown seen here: here.
Implement with materialize design - does not need to match mockup 1:1 except for button placement and what text appears.
Seed it with fake data.
This issue encompasses creating the extension minutia that are required to be published on jpm
.
The best reference for this can be found here
Message: Error: The page is currently hidden and can no longer be used until it is visible again.
Implement all of the user case related functions. get/set/delete references and projects.
We shouldn't lose our documentation.
I think there are two options:
I prefer the second option - it gives us an opportunity to reflect on what we have done and where we want to go as well as adopt a more common format for future contributors / viewers of the project.
There is an html file in dropdown folder where you can edit and add the necessary details for creating a new project
When a user clicks "add new reference" and inputs the required data, it should update the source accordingly. I.e instead of that placeholder text, put the real deal.
When a user enters a source name, it should replace the placeholder text. Also for bonus points, make sure the input is not empty.
Currently, we can only set one label on the dropdown. Extend it so that we can set two labels - one for the button, and one for the drop down.
Unfortunately my screen capture doesn't pick up on hover text. But currently button.label
is what sets this and we would need MenuButton.button_label
and MenuButton.dropdown_label
or something to that effect that we can define.
Submitting a new source to a project redirects to the main page. The source should instead be saved under the project and return to the project view.
This controller will be the data source for the footer and extension controllers. It will listen to events and react accordingly.
Stub out the following:
addReference()
removeReference(projectId int, referenceId int)
getReferences(projectId int)
getProjects()
getCurrentProject()
setDefaultCitation()
getDefaultCitation()
generateCitation(projectId int)
generateCitation(projectId int, bibFormatter func)
For this sprint, seed the projects list with only one element. Set the current project to reference this.
@ACalza @ChrisMckerracher did the UML. They will be a great resource in planning this out
This is the "trasition: source options" dropdown seen here: here.
Implement with materialize design - does not need to match mockup 1:1 except for button placement and what text appears.
Seed it with fake data.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.