WebGUI.Admin.prototype.getHelperHandler was using gotoAsset(), which calls tree.goto(), which mangles the URL into being a request for
the data needed to draw the Tree view of that asset, or tries to. that works fine when navigating to an asset, but foo?func=edit is
not an asset, and the mangled URL is garbled. all of the urls (okay, the one attached to the 'edit' and 'view' entries) aren't
trying to direct the admin to an asset but instead are trying to direct it to an admin screen, which, again, cannot be shown in the
data table in Tree view. so edit and view were fixed by changing that to instead do a showView(), which flops over to the View mode
and then loads the URL without trying to mangle it.
at this point, nothing is blowing up in Doug's JS admin when testing the asset helper menu items in View or Tree mode, though
there are still some problems.
change the Lock AssetHelper to both refresh and display a message indicating that the asset is locked. the refresh is needed for tree view which displays a little icon.
WebGUI.Admin.prototype.addPasteHandler: guessing but fix use of 'this' vs 'self'
currentTabName() to avoid code duplication for figuring out which context we're running in (Tree/View)
WebGUI.Admin.prototype.pasteAsset: handle pasting in the Tree view by flopping over to the View view first
WebGUI.Admin.Tree.prototype.goto: better error handling/debugging
added this FIXME to WebGUI.Admin.prototype.gotoAsset:
a lot of Tree view operations fail after this point. where the View version just directly goes to the URL, the Tree view tries to modify the URL to pass the extjs-st
query parameters. the view frame grows query parameters when it shows various edit and admin screens.
add comments about safe/unsafe uses of goto with respect to Tree's URL mangling
made updating the status message in the Fork progress dialog optional so the 'undefined' message should be gone now.
WebGUI.Admin.prototype.addPasteHandler: guessing but fix use of 'this' vs 'self'
currentTabName() to avoid code duplication for figuring out which context we're running in (Tree/View)
WebGUI.Admin.prototype.pasteAsset: handle pasting in the Tree view by flopping over to the View view first
removed WebGUI.Admin.Tree.prototype.runHelperForSelected and relatedly WebGUI.Admin.Tree.prototype.cut, copy, shortcut, duplicate, delete; these are dead code
WebGUI.Admin.Tree.prototype.goto: better error handling/debugging
added this FIXME to WebGUI.Admin.prototype.gotoAsset:
a lot of Tree view operations fail after this point. where the View version just directly goes to the URL, the Tree view tries to modify the URL to pass the extjs-style grid's parameters back. this winds up creating unworkable URLs that try to do two things at once, with two '?'s, two 'op='s, etc. there are two ways to fix this: if we're trying to go to an asset (gotoAsset) and we're in Tree view, flop back to View mode first; or else two distinct requests, one for the remote request (which might generate additional requests to draw in dialog boxes, progress bars, forms, etc) and then when that's all done, refresh the grid view. WebGUI.Admin.prototype.pasteAsset takes the route of flopping to Tree view first.
(editor Save/Cancel, YUI Datatable Loading/Error messages, and also column sort tooltips (new in YUI 29.0).
- Added CSS files for the existing two DataTable Templates. Each file should be added to the corresponding
template as a CSS Attachment.
- Avoid terminating the editor on Enter.
- Arrange for TAB to save and move editor for next cell also for HTMLarea editor.
- Define classes "wg-dt-textarea" and "wg-dt-htmlarea" + styling for the corresponding cells.
- Commented out handleTableKeyEvent() (reason in the code).
- Implemented a simple workaround to restore the "editor" field (not preserved due to an unknown reason).
Lint at line 5 character 16: 'WebGUI' was used before it was defined.
var WebGUI = {};
Lint at line 53 character 86: Missing '()' invoking a constructor.
data[ columns[ i ].key ] = columns[i].formatter == "date" ? new Date : "";
Lint at line 89 character 21: 'i' is already defined.
for ( var i = 0; i < cols.length; i++ ) {
Lint at line 612 character 25: 'col' is already defined.
var col = this.dataTable.getColumn( oldKey );
Lint at line 661 character 63: Missing '()' invoking a constructor.
allRecords[j].setData(newKey, new Date);
In WebKit browsers, when a schema is saved, existing column
field types are reset to "Text". This is not a bug in WebKit, and
will happen in any browser that implements Option() as documented.
Option() is not supposed to have an immediate action if only the
default selection is updated on a newly added select object.
See: http://download.oracle.com/docs/cd/E19957-01/816-6408-10/option.htm .
Repeat-By:
1. New Content->basic->Datatable
2. data
3. Edit Schema
4. col1, Number, Add Column
5. col2, E-mail, Add Column
6. col3, URL, Add Column
7. Edit Schema (note that the field types got reset to "Text")
8 Save (now the field types incorrectly got overwritten in the DataTable)
Fixed by adding 4th arguments to actually make the new selection to be
equal to the default one.
Repeat-by:
1. New Content->Basic->DataTable
2. data
3. Edit Schema
4. col1, add Column
5. col2, add Column
6. col3, Save
7. Edit Schema
Note that col2 is missing.
Fix:
Change the name of the variable in the row loop.