95e2c3a93202ee912624bb730724313faae7c886
chmalee
  Wed Dec 4 16:41:31 2024 -0800
Use the DataTables select API instead of implementing my own checkboxes

Working child/parent rows. Just need to add checkboxes to the children and indent them a smidge

Fix log in for api key in pre-finish hook. Make the pre-finish hook determine if we came from hubtools or not and don't create hub.txts if we did. Fix writing of parentRows. Make client not use .child() but instead show or hide based on a load time constraint, which is not quite working all the way yet

Make select/deselect work with child files. Remove some dead code

Make deletes work by moving any requested directories to the end of the delete list and then deleting the directories so rmdir doesn't fail

Fix new table rows not animating on add

Make newly updloaded files show up in table include their parent dir and hub.txt, and indent them appropriately

Hash filenames to file objects in the client so we don't add duplicate rows to the table when multiple files are uploaded at once. Update the selected file div after deleting files. Make clicks on hub.txt files load the hub. Turn the file clicked on to pack. Remove some old copy from the template page

Revert early experimental commit when trying to allow bigDataUrl uploads directly through hgCustom

Fix up some comments to be more correct

Remove old CGI experiment

diff --git src/hg/hgMyData/hgMyData.c src/hg/hgMyData/hgMyData.c
deleted file mode 100644
index d934928..0000000
--- src/hg/hgMyData/hgMyData.c
+++ /dev/null
@@ -1,104 +0,0 @@
-/* hgMyData - CGI for managing a users' tracks and other data. */
-#include "common.h"
-#include "linefile.h"
-#include "hash.h"
-#include "options.h"
-#include "jksql.h"
-#include "htmshell.h"
-#include "web.h"
-#include "cheapcgi.h"
-#include "cart.h"
-#include "hui.h"
-#include "udc.h"
-#include "knetUdc.h"
-#include "jsHelper.h"
-#include "cartJson.h"
-#include "wikiLink.h"
-
-/* Global Variables */
-struct cart *cart;             /* CGI and other variables */
-struct hash *oldVars = NULL;
-
-void getUiState(struct cartJson *cj, struct hash *paramHash)
-/* Get just the JSON needed to show the initial web page */
-{
-}
-
-
-void printMainPageIncludes()
-{
-webIncludeResourceFile("gb.css");
-webIncludeResourceFile("gbStatic.css");
-webIncludeResourceFile("spectrum.min.css");
-webIncludeResourceFile("hgGtexTrackSettings.css");
-puts("<link rel='stylesheet' href='https://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css'>");
-puts("<link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/jstree/3.2.1/themes/default/style.min.css' />");
-puts("<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.1/jquery.min.js'></script>");
-puts("<script src=\"//code.jquery.com/ui/1.10.3/jquery-ui.min.js\"></script>");
-puts("<script src=\"https://cdnjs.cloudflare.com/ajax/libs/jstree/3.3.7/jstree.min.js\"></script>\n");
-jsIncludeFile("utils.js", NULL);
-jsIncludeFile("ajax.js", NULL);
-jsIncludeFile("lodash.3.10.0.compat.min.js", NULL);
-jsIncludeFile("cart.js", NULL);
-jsIncludeFile("hgMyData.js", NULL);
-
-// Write the skeleton HTML, which will get filled out by the javascript
-webIncludeFile("inc/hgMyData.html");
-webIncludeFile("inc/gbFooter.html");
-}
-
-void doMainPage()
-{
-char *database = NULL;
-char *genome = NULL;
-getDbAndGenome(cart, &database, &genome, oldVars);
-
-int timeout = cartUsualInt(cart, "udcTimeout", 300);
-if (udcCacheTimeout() < timeout)
-    udcSetCacheTimeout(timeout);
-knetUdcInstall();
-
-webStartGbNoBanner(cart, database, "Manage My Data");
-printMainPageIncludes();
-char *hgsid = cartSessionId(cart);
-
-jsInlineF("var hgsid='%s';\n", hgsid);
-struct cartJson *cj = cartJsonNew(cart);
-jsInlineF("%s;\n", cartJsonDumpJson(cj));
-// Call our init function to fill out the page
-jsInline("hgMyData.init();\n");
-webEndGb();
-}
-
-void doCartJson()
-/* Register functions that return JSON to client */
-{
-struct cartJson *cj = cartJsonNew(cart);
-cartJsonRegisterHandler(cj, "getUiState", getUiState);
-//cartJsonRegisterHandler(cj, "remove", removeTrack);
-//cartJsonRegisterHandler(cj, "upload", uploadTrack);
-//cartJsonRegisterHandler(cj, "list", listTracks);
-cartJsonExecute(cj);
-}
-
-void doMiddle(struct cart *theCart)
-/* Set up globals and dispatch appropriately */
-{
-cart = theCart;
-if (cgiOptionalString(CARTJSON_COMMAND))
-    doCartJson();
-else
-    doMainPage();
-}
-
-/* Null terminated list of CGI Variables we don't want to save
- * permanently. */
-char *excludeVars[] = {"Submit", "submit", NULL,};
-
-int main(int argc, char *argv[])
-/* Process command line. */
-{
-cgiSpoof(&argc, argv);
-cartEmptyShellNoContent(doMiddle, hUserCookie(), excludeVars, oldVars);
-return 0;
-}