Hey guys, again another issue in progress.
Link on GITHUB: Issue #225
Link of my working tree: https://github.com/luisgmarine/nightinga...taEditorV5
Current picture of progresss: http://imagebin.org/287310
Things to do:
Things done:
Things that should be happening when testing:
When editing metadata for a media item, the advanced tab should now be enabled by default. The advanced tab should have a menu bar at the top that the user can click and check tag properties that the user wants displayed in the tab.
Thanks for all suggestions/help!
-Luis
Link on GITHUB: Issue #225
Link of my working tree: https://github.com/luisgmarine/nightinga...taEditorV5
Current picture of progresss: http://imagebin.org/287310
Things to do:
- More comments to better explain some of the loops
- Remove unecessary new lines
- Look to implement indexOf() as opposed to having multiple chain for loops to do comparisons. Could be a speed thing.
- currently the code has two seperate places where you can hide/unhide elements i the window. Need to move the hiding/unhiding of elements to a seperate function that can then be called when needed. This reduces the amount of redudant code. The new function should be able to take in a user's string property list, the default list of all row elements loaded on the window. The menuitems checked state should also be handled here, thus it would require the list of menuitems adding a third parameter. The checkItem() function already hides the row elements according to the the users string property list.
- as opposed to using the already existing preference to determine if the item is audio/video, you can simplyy get it by a string using something like item.sbproperty(read some of the comments by Dirk)
Things done:
- After the constructors parses through the users preference there is an issue where the menu items are not properly checked/unchecked.
- When you hide the 'File Location' property, it leaves behind a small button. The button is actually what is used to trigger an open dialog box for the 'File Location' property. This could either be automatically built in, or it is another element that is created with an ID that can be removed/hidden when the user does not want to view this property.
- after I assign the JSON string to a preference and covert it back to a javascript array, the constructor can't seem to load the converted array.
- Figure out where to store the string preferences as a json value
- Create a new parameter for what ever function is in charge of loading the metadata dialog, in order to have separate arrays to hold properties selected by the user for videos and music. Need to track down where the metadata dialog window is being called from (when the users right-clicks and selects it, find out where that is being triggered. I remember doing a search in the codebase for "isVideo" (thanks to rsjtdrjgfuzkfg)
- When calling the constructor for the advance tab some of the elements are improperly being tagged with ID and Class name that are the same, thus creating duplicate attribute values for elements and not properly distinguishing between the two different attributes (ID and Class)
- Advanced tab is enabled for videos.
- Remove the string that is calling our onMenupopupHidden function from the constructor as this could possibly lead to a security hole. Instead there should be another way to trigger the function call. Right now creating a DOM Listener is the best option (thanks to rsjtdrjgfuzkfg)
- Change the current menu label value to "trackeditor.tab.advanced" = "Advanced" as a string.
- Create an array from the currently checked items in the menupopup. This is triggered when the menupopup window closes.
- Implement a way for the TrackEditorAdvancedTab() function to take in an array as a parameter, that will will used to populate a custom list of tags the user wants displayed in the advanced tab.
- Properly display the names of the propertyID's in the menupopup. Solved using propInfo.displayName. It turns the ugly URLS "http://song/blah/blah/#track" to "Track"
- Implement a way to reload the advance Tab once changes have been made. Right now I'm looking at loading all the items and hiding them according if they are not on the checked items list.
- Fix the weird scrolling situation when the menupopup is active. Right now it scrolls the window behind it, causing this funky things to happen.
- Change the alignment of the menu to the right(thanks to freaktechnik for pointing out the "flex" attribute to allow you to use the "align" attribute properly).
Things that should be happening when testing:
When editing metadata for a media item, the advanced tab should now be enabled by default. The advanced tab should have a menu bar at the top that the user can click and check tag properties that the user wants displayed in the tab.
Thanks for all suggestions/help!
-Luis