diff --git a/00.DOCUMENTATION/00. Introduction/README.md b/00.DOCUMENTATION/A-Introduction/README.md similarity index 65% rename from 00.DOCUMENTATION/00. Introduction/README.md rename to 00.DOCUMENTATION/A-Introduction/README.md index f74e23ee8493c5fbf63cdaaf481e7000f83dcef6..b2786d1f99d313ba70974fbc4b8e786a57094962 100644 --- a/00.DOCUMENTATION/00. Introduction/README.md +++ b/00.DOCUMENTATION/A-Introduction/README.md @@ -12,20 +12,39 @@ The app can be tested by simply opening explorerjs.html and providing a graph in #### Basic integration policy As a client-side lib, **tinawebJS can entirely reside in the `static` directory of your app**. -So the procedure to integrate is basically just to extract the tinawebJS distribution in your `static` directory +For the rest of the exemples we assume you cloned the code in a directory called `path/to/yourapp/static/ProjectExplorer` + +So the procedure to integrate is basically just to extract the tinawebJS distribution in your `static` directory. There are two exceptions are: - the html starting point itself: - to use it as is: - 1) just link to it from your html dir or templates dir + 1) go into the root directory of projectExplorer in your static dir + ``` + # with our exemple + cd path/to/yourapp/static/ProjectExplorer + ``` + + 2) apply the changing paths tool `adapt_html_paths.sh` like this: + ``` + bash twtools/adapt_html_paths.sh 'static/projectExplorer/' + # ------------------------ + # the relative url prefix in your deployment routes + ``` + this creates a new file: `explorerjs.prod.html` + + 3) now just link to the new file from your html dir or templates dir ``` - ~/yourapp > ln -s static/tinawebJS/explorerjs.html - ~/yourapp > ls -l - 4,0K 2030-03-15 16:49 HTML ELEMENTS OF YOUR APP - 32 2030-06-28 10:14 explorerjs.html -> static/tinawebJS/explorerjs.html + # cd back/to/your/app/root (or html files dir) + cd ../../ + ln -s static/ProjectExplorer/explorerjs.prod.html explorerjs.html + + # now `ls -l` should show something like this: + # - HTML ELEMENTS OF YOUR APP + # - HTML ELEMENTS OF YOUR APP + # - explorerjs.html -> static/ProjectExplorer/explorerjs.prod.html ``` - 2) apply the changing paths tool from `twtools/adapt_html_paths.sh` - to use it within a different GUI layout: take our html as an exemple and create your own html importing the same libs and exposing the same div ids. diff --git a/00.DOCUMENTATION/01. Interactions Bipartites/00_Bipartite-Components.png b/00.DOCUMENTATION/B-Interactions_Bipartites/00_Bipartite-Components.png similarity index 100% rename from 00.DOCUMENTATION/01. Interactions Bipartites/00_Bipartite-Components.png rename to 00.DOCUMENTATION/B-Interactions_Bipartites/00_Bipartite-Components.png diff --git a/00.DOCUMENTATION/01. Interactions Bipartites/00_Bipartite-Engine.png b/00.DOCUMENTATION/B-Interactions_Bipartites/00_Bipartite-Engine.png similarity index 100% rename from 00.DOCUMENTATION/01. Interactions Bipartites/00_Bipartite-Engine.png rename to 00.DOCUMENTATION/B-Interactions_Bipartites/00_Bipartite-Engine.png diff --git a/00.DOCUMENTATION/01. Interactions Bipartites/00_Bipartite-Engine:SocSem-example.png b/00.DOCUMENTATION/B-Interactions_Bipartites/00_Bipartite-Engine:SocSem-example.png similarity index 100% rename from 00.DOCUMENTATION/01. Interactions Bipartites/00_Bipartite-Engine:SocSem-example.png rename to 00.DOCUMENTATION/B-Interactions_Bipartites/00_Bipartite-Engine:SocSem-example.png diff --git a/00.DOCUMENTATION/01. Interactions Bipartites/README.md b/00.DOCUMENTATION/B-Interactions_Bipartites/README.md similarity index 100% rename from 00.DOCUMENTATION/01. Interactions Bipartites/README.md rename to 00.DOCUMENTATION/B-Interactions_Bipartites/README.md diff --git a/00.DOCUMENTATION/01. Interactions Bipartites/TagCloud.pdf b/00.DOCUMENTATION/B-Interactions_Bipartites/TagCloud.pdf similarity index 100% rename from 00.DOCUMENTATION/01. Interactions Bipartites/TagCloud.pdf rename to 00.DOCUMENTATION/B-Interactions_Bipartites/TagCloud.pdf diff --git a/00.DOCUMENTATION/01. Interactions Bipartites/bigraph-building.pdf b/00.DOCUMENTATION/B-Interactions_Bipartites/bigraph-building.pdf similarity index 100% rename from 00.DOCUMENTATION/01. Interactions Bipartites/bigraph-building.pdf rename to 00.DOCUMENTATION/B-Interactions_Bipartites/bigraph-building.pdf diff --git a/00.DOCUMENTATION/C-advanced/call_graph.dot b/00.DOCUMENTATION/C-advanced/call_graph.dot new file mode 100644 index 0000000000000000000000000000000000000000..a5f4504044233fa890249223fb030c5850566518 --- /dev/null +++ b/00.DOCUMENTATION/C-advanced/call_graph.dot @@ -0,0 +1,84 @@ +// dot call_graph.dot -Tpng -o tina_call_graph.png +digraph tina_call_graph { + graph [ordering="out"]; + rankdir=LR ; + + edge [fontsize=10] ; + label=<<B><U>tinawebJS</U></B><BR/>(initialization callgraph)>; + labelloc="t" ; + + // settings + "settings var" -> "settings:SystemStates"; + "settings var" -> "settings:sigmaJsDrawingProperties"; + "settings var" -> "etc."; + + // getUrlParam + "t.globalUtils:getUrlParam" -> "var mainfile (url)" ; + + // main 1: get graph + "t.main" -> "var mainfile (url)" ; + "var mainfile (url)" -> "ajax garg" ; + "ajax garg" -> "t.main:MainFunction" ; + + // main 2: parse graph + "t.main:MainFunction" -> "t.sigma.parseCustom:ParseCustom" ; + "t.main:MainFunction" -> "t.sigma.parseCustom:scanFile" ; + "t.sigma.parseCustom:scanFile" -> "t.sigma.parseCustom:getJSONCategories" ; + "t.sigma.parseCustom:getJSONCategories" -> "t.sigma.parseCustom:scanJSON" ; + "t.main:MainFunction" -> "t.sigma.parseCustom:makeSystemStates" ; + "t.main:MainFunction" -> "t.sigma.parseCustom:buildInitialState" ; + "t.main:MainFunction" -> "t.sigma.parseCustom:makeDicts" ; + "t.sigma.parseCustom:makeDicts" -> "t.sigma.parseCustom:dictfyJSON" [label="cats={'terms':0}"] ; + + // main 3: new TinaWebJS() + "t.main:MainFunction" -> "var twjs_" ; + "var twjs_" -> "t.TinawebJS:TinaWebJS:new" ; + + // main 4: adjust canvas routine + "t.main:MainFunction" -> "t.TinawebJS:AdjustSigmaCanvas" ; // twjs_.AdjustSigmaCanvas() + "t.TinawebJS:AdjustSigmaCanvas" -> "t.TinawebJS:sigmaLimits" ; + "t.TinawebJS:sigmaLimits" -> "t.TinawebJS:visibleHeight" ; + "t.TinawebJS:sigmaLimits" -> "new canvas!" ; + + // main 5: partialGraph and new SigmaUtils() + "t.main:MainFunction" -> "var partialGraph" ; + "var partialGraph" -> "sigma:init"; + "t.main:MainFunction" -> "t.SigmaUtils:SigmaUtils:new" ; + "t.main:MainFunction" -> "t.SigmaUtils:SigmaUtils:FillGraph" ; // [ Poblating the Sigma-Graph ] + "t.SigmaUtils:SigmaUtils:FillGraph" -> "SigmaPublic.addNode" [label="x N"]; + "t.SigmaUtils:SigmaUtils:FillGraph" -> "SigmaPublic.addEdge" [label="x N"]; + "SigmaPublic.addEdge" -> "t.globalUtils:hex2rga" [label="x M"]; + "t.SigmaUtils:SigmaUtils:FillGraph" -> "t.enviroment:updateSearchLabels" [label="N x push labels"]; + + // main 6: state and settings for partialGraph + // "settings:sigmaJsDrawingProperties" -> "var partialGraph" ; + // "settings:SystemStates" -> "var partialGraph" ; + "var partialGraph" -> "t.main:partialGraph:setState"; + + // main 7: twjs_.initListeners( categories , partialGraph) + "t.main:MainFunction" -> "t.TinawebJS:initListeners" ; + "t.TinawebJS:initListeners" -> "t.TinawebJS:SelectionEngine:new" [label="initListeners:SelInst"] ; + "t.TinawebJS:initListeners" -> "onclick:#changetype" ; + "t.TinawebJS:initListeners" -> "onclick:#changelevel" ; + "t.TinawebJS:initListeners" -> "onclick:#aUnfold" ; + "t.TinawebJS:initListeners" -> "t.minimap:startMiniMap" [label = "if minimap"] ; + "t.TinawebJS:initListeners" -> "t.methods:pushSWClick" [label = "var swclickActual"] ; + "t.TinawebJS:initListeners" -> "t.methods:cancelSelection" ; + "t.methods:cancelSelection" -> "t.methods:highlightSelectedNodes" [label = "false"] ; + "t.methods:highlightSelectedNodes" -> "t.globalUtils:is_empty" ; + "t.methods:cancelSelection" -> "erase:#names" ; + "t.methods:cancelSelection" -> "erase:#ngrams_actions" ; + "t.methods:cancelSelection" -> "erase:#topPapers" ; + "t.methods:cancelSelection" -> "erase:#opossiteNodes" ; + "t.methods:cancelSelection" -> "erase:#searchinput" ; + "t.methods:cancelSelection" -> "t.methods:LevelButtonDisable" ; + "t.TinawebJS:initListeners" -> "t.sigmaUtils:showMeSomeLabels" ; + "t.sigmaUtils:showMeSomeLabels" -> "t.sigmaUtils:getVisibleNodes" ; + + "t.TinawebJS:initListeners" -> "t.TinawebJS:SearchListeners" ; + "t.TinawebJS:SearchListeners" -> "autocomplete:#searchinput" ; + "autocomplete:#searchinput" -> "t.TinawebJS:SelectionEngine:new" [label="SearchListeners:SelInst"] ; + + /*t.methods:highlightSelectedNodes*/ + +} diff --git a/00.DOCUMENTATION/C-advanced/changeTypeOriginalVersion.md b/00.DOCUMENTATION/C-advanced/changeTypeOriginalVersion.md new file mode 100644 index 0000000000000000000000000000000000000000..3c22f90f0802852f2e07a844f9f09a09a4f29cb6 --- /dev/null +++ b/00.DOCUMENTATION/C-advanced/changeTypeOriginalVersion.md @@ -0,0 +1,97 @@ + +// THIS IS THE ORIGINAL FIRST VERSION OF changeType() +// It's not used since before I arrived, but useful as a logical resume +// +// States: +// A : Macro-Social +// B : Macro-Semantic +// A*: Macro-Social w/selections +// B*: Macro-Semantic w/selections +// a : Meso-Social +// b : Meso-Semantic +// AaBb: Socio-Semantic +function RefreshState(newNOW){ + + console.log("\t\t\tin RefreshState newNOW:_"+newNOW+"_.") + + if (newNOW!="") { + PAST = NOW; + NOW = newNOW; + + // if(NOW=="a" || NOW=="A" || NOW=="AaBb") { + // $("#category-A").show(); + // } + // if(NOW=="b" || NOW=="B" || NOW=="AaBb") { + // $("#category-B").show(); + // } + } + + $("#category-A").hide(); + $("#category-B").hide(); + // i=0; for(var s in selections) { i++; break;} + // if(is_empty(selections) || i==0) LevelButtonDisable(true); + // else LevelButtonDisable(false); + + //complete graphs case + // sels=getNodeIDs(selections).length + if(NOW=="A" || NOW=="a") { + // N : number of nodes + // k : number of ( selected nodes + their neighbors ) + // s : number of selections + var N=( Object.keys(TW.Nodes).filter(function(n){return TW.Nodes[n].type==TW.conf.catSoc}) ).length + var k=Object.keys(getNeighs(Object.keys(selections),nodes1)).length + var s=Object.keys(selections).length + console.log("in social N: "+N+" - k: "+k+" - s: "+s) + if(NOW=="A"){ + if( (s==0 || k>=(N-1)) ) { + LevelButtonDisable(true); + } else LevelButtonDisable(false); + if(s==N) LevelButtonDisable(false); + } + + if(NOW=="a") { + LevelButtonDisable(false); + } + + $("#semLoader").hide(); + $("#category-A").show(); + $("#colorGraph").show(); + + } + if(NOW=="B" || NOW=="b") { + var N=( Object.keys(TW.Nodes).filter(function(n){return TW.Nodes[n].type==TW.conf.catSem}) ).length + var k=Object.keys(getNeighs(Object.keys(selections),nodes2)).length + var s=Object.keys(selections).length + console.log("in semantic N: "+N+" - k: "+k+" - s: "+s) + if(NOW=="B") { + if( (s==0 || k>=(N-1)) ) { + LevelButtonDisable(true); + } else LevelButtonDisable(false); + if(s==N) LevelButtonDisable(false); + } + + if(NOW=="b") { + LevelButtonDisable(false); + } + if ( semanticConverged ) { + $("#semLoader").hide(); + $("#category-B").show(); + setTimeout(function(){ + EdgeWeightFilter("#sliderBEdgeWeight", "0|1", "weight"); + NodeWeightFilter ( "#sliderBNodeWeight" , "NGram", "size"); + },30) + } else { + $("#semLoader").css('visibility', 'visible'); + $("#semLoader").show(); + } + + } + if(NOW=="AaBb"){ + LevelButtonDisable(true); + $("#category-A").show(); + $("#category-B").show(); + } + + TW.partialGraph.render(); + +} diff --git a/doc/developer_manual.md b/00.DOCUMENTATION/C-advanced/developer_manual.md similarity index 100% rename from doc/developer_manual.md rename to 00.DOCUMENTATION/C-advanced/developer_manual.md diff --git a/00.DOCUMENTATION/C-advanced/exemple_git_tree.md b/00.DOCUMENTATION/C-advanced/exemple_git_tree.md new file mode 100644 index 0000000000000000000000000000000000000000..8ae400410d92fd416b37c021fe385810aae70bd6 --- /dev/null +++ b/00.DOCUMENTATION/C-advanced/exemple_git_tree.md @@ -0,0 +1,78 @@ +Remarques sur l'intégration de tina +=================================== + +### Pour info: procédure suivie + +Je copie ici les 2 commandes utilisées pour rendre visible comment a été faite la fusion du git de tina dans celui de garg. + +Grace à cette méthode, quand on clonera le dépot gargantext, on obtiendra aussi les contenus du dépôt tina dans notre sous-dossier **`static/lib/graphExplorer`**. + +**NB** +Il n'est pas nécessaire de refaire cette procédure, dorénavant les fichiers restent là dans le sous-dossier. + + + 1. on a ajouté le dépôt extérieur de graphExplorer comme si c'était une remote normale + ``` + git remote add dependancy_graphExplorer_garg https://gogs.iscpif.fr/humanities/graphExplorer_garg + ``` + + 2. on a lancé la commande `subtree` avec cette remote, pour récupérer le dépôt tina et le placer dans garg dans le dossier indiqué par l'option `prefix` + + ``` + git subtree add --prefix=static/lib/graphExplorer dependancy_graphExplorer_garg master + ``` + + Résultat: + ``` + # git fetch dependancy_graphExplorer_garg master + # (...) + # Receiving objects: 100% (544/544), 1.72 MiB | 0 bytes/s, done. + # Resolving deltas: 100% (307/307), done. + # From https://gogs.iscpif.fr/humanities/graphExplorer_garg + # * branch master -> FETCH_HEAD + # * [new branch] master -> dependancy_graphExplorer_garg/master + # Added dir 'static/lib/graphExplorer' + ``` + + 3. au passage la même commande a aussi créé le commit suivant dans ma branche gargantext + ``` + # commit b8d7f061f8c236bad390eb968d153fd6729b7434 + # Merge: 3bfb707 d256049 + # Author: rloth <romain.loth@iscpif.fr> + # Date: Thu Jul 7 16:01:46 2016 +0200 + # + # Add 'static/lib/graphExplorer/' from commit 'd256049' + ``` + (ici le commit *d256049* indique le point où en était le dépôt tina quand il a été copié) + + +### Utilisation en développement quotidien + +Il n'y a plus rien de particulier à faire. Le dossier contient les éléments de tina qui nous sont nécessaires. On peut ignorer l'existence du subtree et travailler normalement, dans ce dossier et ailleurs. + +**=> nos opérations de commit / pull quotidiennes ne sont pas affectées** + +Il n'est pas non plus nécessaire de prendre en compte la présence ou l'absence de la "remote" (lien extérieur) dans son travail. + +### Utilisation avancée: pour propager les résultats entre dépôts + +A présent le dépôt tina peut être vu comme une sorte de dépôt upstream circonscrit à un seul sous-dossier **`static/lib/graphExplorer`** ! + +Mais si des changements interviennent dans le dépôt tina, ils ne seront pas automatiquement intégrés dans sa copie intégrée à garg. Pour opérer des A/R entre les dépôts le plus simple est une 1ère fois d'ajouter le même pointeur extérieur : +``` +git remote add dependancy_graphExplorer_garg https://gogs.iscpif.fr/humanities/graphExplorer_garg +``` + +A partir de là , il devient très simple de faire des opérations push/pull entre dépôts si besoin est.. + + 1. Récupération de mises à jour tina => garg. + Pour intégrer des changements upstream de tina vers garg, il suffit de lancer la commande suivante: + + ``` + git subtree pull --prefix=static/lib/graphExplorer dependancy_graphExplorer_garg master --squash + ``` + + 2. Inversement, les changements effectués dans le dossier **`static/lib/graphExplorer`** par les développeurs garg peuvent aussi être poussés du dépôt garg vers le dépôt tina par un subtree push + ``` + git subtree push --prefix=static/lib/graphExplorer dependancy_graphExplorer_garg master + ``` diff --git a/00.DOCUMENTATION/C-advanced/old_heatmapColors_with_binning.js b/00.DOCUMENTATION/C-advanced/old_heatmapColors_with_binning.js new file mode 100644 index 0000000000000000000000000000000000000000..2d7e66dffeeb6569a979ea2982a184e918d0d9e9 --- /dev/null +++ b/00.DOCUMENTATION/C-advanced/old_heatmapColors_with_binning.js @@ -0,0 +1,152 @@ + +// KEPT FOR REFERENCE, BINNING NOW PRECOMPUTED in parseCustom +// rewrite of gradientColors with binning and for attributes that can have negative float values +// /!\ age and growth_rate attributes referred to by name +function colorsRelByBins_old(daclass) { + cancelSelection(false); + + var binColors + var doModifyLabel = false + + TW.handpickedcolor = true + + // for debug of heatmapColoring + var totalsPerBinMin = {} + + + // should be = binColors.length + var nTicksParam = (daclass == 'age') ? 8 : 12 + // do first loop entirely to get percentiles => bins, then modify alt_color + + // estimating ticks + let tickThresholds = [] + let valArray = [] + for (var j=0 ; j < TW.nNodes ; j++) { + let n = TW.partialGraph.graph.nodes(TW.nodeIds[j]) + + if ( + !n.hidden + && n.attributes + && n.attributes.category == 'terms' + && n.attributes[daclass] != undefined + ) { + valArray.push(Number(n.attributes[daclass])) + } + } + + var len = valArray.length + + valArray.sort(function(a, b) {return a - b;}) // important :) + + for (var l=0 ; l < nTicksParam ; l++) { + let nthVal = Math.floor(len * l / nTicksParam) + + tickThresholds.push(valArray[nthVal]) + } + + // also always add the max+1 as last tick (excluded upper bound of last bin) + tickThresholds.push((valArray[len-1])+1) + + console.info(`[|===|=== ${nTicksParam} color ticks ===|===|]\n`, tickThresholds) + + + cancelSelection(false); + + if (daclass == 'age') { + // 9 colors + binColors = TW.gui.getHeatmapColors(9) + } + else if (daclass == 'growth_rate') { + + doModifyLabel = true + + // 12 colors + binColors = TW.gui.getHeatmapColors(12) + + } + + // verification + if (nTicksParam != binColors.length) { + console.warn (`heatmapColoring setup mismatch: nTicksParam ${nTicksParam} should == nColors ${binColors.length}`) + } + + + // get the nodes + for (var j=0 ; j < TW.nNodes ; j++) { + let n = TW.partialGraph.graph.nodes(TW.nodeIds[j]) + if (! n.hidden + && n.attributes + && n.attributes.category == 'terms' + && ! isUndef(n.attributes[daclass]) + ) { + + var valSt = n.attributes[daclass] + + var originalLabel = TW.Nodes[n.id].label + if (doModifyLabel) { + n.label = `(${valSt}) ${originalLabel}` + } + else { + n.label = originalLabel + } + + var theVal = parseFloat(valSt) + var foundBin = false + // console.log('theVal:',theVal) + + if( !isNaN(theVal) ) { //is float + // iterate over bins + for(var k=0 ; k < tickThresholds.length-1; k++) { + var binMin = tickThresholds[k] + var binMax = tickThresholds[(k+1)] + if((theVal >= binMin) && (theVal < binMax)) { + // TW.partialGraph._core.graph.nodesIndex[n.id].binMin = binMin + // TW.partialGraph._core.graph.nodesIndex[n.id].color = binColors[j] + + n.binMin = binMin + n.color = binColors[k] + n.customAttrs.alt_color = binColors[k] + n.customAttrs.altgrey_color = false + foundBin = true + // console.log(`theVal ${theVal} => found its bin ${binMin} ... ${binColors[k]}`) + + if (!totalsPerBinMin[binMin]) { + totalsPerBinMin[binMin] = 1 + } + else { + totalsPerBinMin[binMin]++ + } + break + } + } + + // case no bin after loop (perhaps more ticks than colors-1 ??) + if (!foundBin) { + console.warn('no bin for theVal', theVal, n.id) + n.binMin = null + n.color = '#000' + n.customAttrs.alt_color = '#000' + } + } + else { + // case no val + // console.log('no val for', n.id) + n.binMin = null + n.color = '#555' + n.customAttrs.alt_color = '#555' + } + + } + } + + // console.debug(valArray) + + console.info('coloring distribution per tick thresholds' , totalsPerBinMin) + + // Edge precompute alt_rgb by new source-target nodes-colours combination + repaintEdges() + + // set_ClustersLegend ( daclass ) + + TW.partialGraph.render(); +} diff --git a/00.DOCUMENTATION/C-advanced/possible/tweaking_rendering.js b/00.DOCUMENTATION/C-advanced/possible/tweaking_rendering.js new file mode 100644 index 0000000000000000000000000000000000000000..b0cd428846d911d6307e1c1175951c5f95f47f84 --- /dev/null +++ b/00.DOCUMENTATION/C-advanced/possible/tweaking_rendering.js @@ -0,0 +1,35 @@ +// frequent commands +TW.rend.clear() +TW.rend.render() + +TW.partialGraph.settings.embedObjects({prefix: 'renderer1:'})('singleHover') + + + + + // POSS: edit config of CanvasRenderingContext2D + // TW.rend.contexts.nodes.imageSmoothingQuality = "high" + // TW.rend.contexts.edges.imageSmoothingQuality = "high" + // TW.rend.contexts.labels.imageSmoothingQuality = "high" + + + // cf. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D + + TW.rend.contexts.nodes.globalCompositeOperation = "multiply" + TW.rend.contexts.edges.globalCompositeOperation = "multiply" + TW.rend.contexts.labels.globalCompositeOperation = "multiply" + + + +// rendering one + +var oneNode = TW.partialGraph.graph.nodes(4) + +sigma.canvas.nodes.def( + oneNode, + TW.rend.contexts.nodes, + TW.partialGraph.settings.embedObjects({prefix: 'cam0:'}) +) + +// for fixed "hoverlike" labels => override the module's sigma.canvas.labels.def with an "if" like below (or add another type) +// cf. sigmaUtils.twRender.canvas.labels diff --git a/00.DOCUMENTATION/C-advanced/possible/tweaking_rendering.txt b/00.DOCUMENTATION/C-advanced/possible/tweaking_rendering.txt new file mode 100644 index 0000000000000000000000000000000000000000..677a5005f6d6cc44428a8ad06ebcbf0affb8ae9f --- /dev/null +++ b/00.DOCUMENTATION/C-advanced/possible/tweaking_rendering.txt @@ -0,0 +1,32 @@ +// current commands + + + +TW.partialGraph.settings.embedObjects({prefix: 'renderer1:'})('singleHover') + + + + + // POSS: edit config of CanvasRenderingContext2D + // TW.rend.contexts.nodes.imageSmoothingQuality = "high" + // TW.rend.contexts.edges.imageSmoothingQuality = "high" + // TW.rend.contexts.labels.imageSmoothingQuality = "high" + + + // cf. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D + + TW.rend.contexts.nodes.globalCompositeOperation = "multiply" + TW.rend.contexts.edges.globalCompositeOperation = "multiply" + TW.rend.contexts.labels.globalCompositeOperation = "multiply" + + + +// rendering one + +var oneNode = TW.partialGraph.graph.nodes(4) + +sigma.canvas.nodes.def( + oneNode, + TW.rend.contexts.nodes, + TW.partialGraph.settings.embedObjects({prefix: 'cam0:'}) +) diff --git a/00.DOCUMENTATION/C-advanced/refactoring_changes.md b/00.DOCUMENTATION/C-advanced/refactoring_changes.md new file mode 100644 index 0000000000000000000000000000000000000000..7ecefd5074d247607a19de5c1226951ddfaa6d75 --- /dev/null +++ b/00.DOCUMENTATION/C-advanced/refactoring_changes.md @@ -0,0 +1,63 @@ +## Liste des principaux changements effectués + +... durant la refonte à l'occasion du passage à sigma 1.2 + + 1. refonte du début du `main` pour distinguer les choix initiaux (mode gexf et mode json, biparti ou pas) de la suite harmonisée (instanciation du graphe) + 2. réécriture accesseurs et actions d'affichage (suppression de certains rendus identiques consécutifs) + 3. préparation d'un index inversé par attributs + - structure valeurs par attributs => liste des nodes + - ou groupes de valeurs par attributs => liste des nodes + - utile pour les filtres, les légendes et facettes de recherche + - sait créer de façon configurable des "bins" (= paniers de valeurs) pour tout attribut à valeurs continues ou ayant un effectif très nombreux + 4. selection: code simplifié pour les évenements click, et rendu plus esthtique pour l'identification des voisins + 5. sélection sur zone beaucoup plus rapide grace au quadtree + 6. exploration plus fluide grace au précalcul des couleurs de base, alternatives, grisées + 7. optimisations mémoire + - éviter dans une large mesure les copies implicites de l'ensemble des nodes + - version sigma.noIndexes.js sans les indexs faisant doublons avec tina + - par défaut ces indexs doublaient la signature RAM + - ancien tina 60MB => nouveau 120MB + - avec la version noIndexes ancien 60MB => nouveau 64MB + 8. nouvelle api topPapers pour l'interrogation directe de twitter + 9. meilleure stratégie pour les customizations du rendering (elles ne nécessitent plus de modifier le code de sigma lui-même) + 10. nouveau layout plus rapide lors des évenements resize + 11. reconnexion du mode biparti qui était fonctionnel dans les versions tina classiques (types nommés en durs "sem/soc" avant 2014) avec l'architecture SystemStates dans les tina après 2014 (qui préserve l'historique des types mais les encode d'une façon plus compliquée à base de "typestrings") + 12. plusieurs rangements + - suppression des anciennes structures "localdb" inutilisées (héritées de cortext?) + - portage vers les librairies bootstrap et jquery dans leurs nouvelles versions + - ajout de namespaces pour limiter le nombre de variables globales + - settings_explorer: suppression de settings non utilisés, reconnexion de settings présents + - suppression de fonctions obsolètes + 13. debugFlags dans les settings + 14. intégration du plugin sigma noverlap: fonctionnalité très importante (mais coûteuse) + 15. mode 'standalone' (local), ajout d'un <input type='file'> + +### Changements cours ou encore à faire: + 15. architecture générale + - fonctions linéaires sur scénarios ==> objets d'interaction + évenements + (serait beaucoup plus facile à maintenir et faciliterait la modularité) + 16. utilisation plus à fond des nouveaux plugins sigma + - cf. http://twjs.org/sigma + - `filters` très puissant + - stratégie via la prop `hidden` (au lieu de del/add comme actuellement) + - primitives combinables: nodesBy, edgesBy, neighborsOf + - dragNodes: plus agréable de pouvoir déplacer les noeuds + 17. clarifications reverse api + - specifications sur arguments en entrée (url) et possibilités bridge + - specifications sur types de documents + - noms des categories attendues, et attributs possibles + - formats à savoir traiter + 18. clarifications API pour les serveurs de sources + - serveur topPapers à inclure comme module ou projets à part + - spécificités API gargantext (actions sur les Ngrammes/listes) : inclure ou à part ? + 19. cohérence de certains choix: + - la selection des "opposite neighbors" n'est pas close: on ne retrouve que le voisinage local, mais on ne peut pas retomber sur le graphe d'origine sans recharger la page + - pourquoi catSoc par défaut? => FAIT + - pourquoi ne pas intégrer fillGraph dans l'instance parseCustom ? + - pourquoi ne pas intégrer env/listeners dans l'instance TW ? + 20. thèmes de couleurs possibles + effets canvas eg multiply => possibilités GUI + + + + // £TODO rendering optimization: reduce effort by looping only on previously selected and neighbors + // and having (!active && !highlight) tested instead of then useless grey flag diff --git a/explorerjs.html b/explorerjs.html index df4625db272a6f95275861f53d6e268776e1c3a8..c3f7d361bca7e4f4bfae313835b570877434925f 100644 --- a/explorerjs.html +++ b/explorerjs.html @@ -5,7 +5,7 @@ <meta charset="utf-8"> <meta name="language" content='EN'> <meta name="language" content='FR'> - <meta name="keywords" content="dataviz, graph, data exploration, sigmajs, tinawebjs"> + <meta name="keywords" content="dataviz, graph, data exploration, sigmajs, tinawebjs, projectExplorer"> <meta name="copyright" content="ISCPIF - UPS 3611 CNRS - 2017"> <meta name="revised" content="2017-04-01/rloth"> <meta name="viewport" content="width=device-width, initial-scale=1"> @@ -54,19 +54,18 @@ <!-- CSS --> - <link rel="stylesheet" href="twlibs/css2/twjs.css"> - <link rel="stylesheet" href="twlibs/css2/twjs-mobile.css"> - <link rel="stylesheet" href="twlibs/css2/selection-panels.css"> - <link rel="stylesheet" href="twlibs/css2/selection-panels-mobile.css"> - - <link rel="stylesheet" href="twlibs/jquery-3/jquery-ui-1.12.1/jquery-ui.min.css" media="screen"> - <link rel="stylesheet" href="twlibs/bootstrap-3/css/bootstrap.min.css" media="screen"> - <!-- NB bs2/3 not used for main grid (graph + bars) but inside the bars --> - <link rel="stylesheet" href="twlibs/css2/freshslider.css" media="screen"> - - <link type="text/css" href="twlibs/tweets/tweet.light.ltr.css" rel="stylesheet"/> - <link type="text/css" href="twlibs/tweets/custom.css" rel="stylesheet"/> - <link type="text/css" href="twlibs/css2/user_form.css" rel="stylesheet"/> + <link rel="stylesheet" href="twlibs3/jquery-3/jquery-ui-1.12.1/jquery-ui.min.css" media="screen"> + <!-- NB bootstrap 3 not used for main grid (graph + bars) but inside the bars --> + <link rel="stylesheet" href="twlibs3/bootstrap-3/css/bootstrap.min.css" media="screen"> + <link rel="stylesheet" href="twlibs3/css/freshslider/freshslider.css" media="screen"> + <link rel="stylesheet" href="twlibs3/tweets/tweet.light.ltr.css" /> + <link rel="stylesheet" href="twlibs3/tweets/custom.css"/> + + <link rel="stylesheet" href="twlibs/css/twjs.css"> + <link rel="stylesheet" href="twlibs/css/twjs-mobile.css"> + <link rel="stylesheet" href="twlibs/css/selection-panels.css"> + <link rel="stylesheet" href="twlibs/css/selection-panels-mobile.css"> + <link rel="stylesheet" href="twlibs/css/user_form.css" /> <!-- JS --> <!-- <script src="script.js"></script> --> @@ -116,11 +115,11 @@ <li><a href="http://www.cnrs.fr" target="_blank" class="navbar-higher" title="CNRS"> - <img src="twlibs/img2/logo_cnrs_transparent.gif" height="23"></a></li> + <img src="twlibs/img/logo_cnrs_transparent.gif" height="23"></a></li> <li><a href="http://iscpif.fr" target="_blank" class="navbar-higher" title="ISC-PIF"> - <img src="twlibs/img2/logo_ISCPIF_small.svg" height="23"></a></li> + <img src="twlibs/img/logo_ISCPIF_small.svg" height="23"></a></li> </ul> @@ -160,7 +159,7 @@ <li><a href="https://communityexplorer.org" class="navbar-higher" title="Community Explorer"> - <img src="twlibs/img2/logo.png" + <img src="twlibs/img/logo.png" style="width:60px; position:absolute; top:-60px; left:-75px; z-index:5; overflow:visible;"> </a></li> @@ -194,7 +193,7 @@ <li id="setcolorsMenu" class="dropdown"> <a class="dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false"> - Set Colors <img title="Set Colors" src="twlibs/img2/colors.png" width="20px"><span class="caret"></span> + Set Colors <img title="Set Colors" src="twlibs/img/colors.png" width="20px"><span class="caret"></span> </a> <ul id="colorgraph-menu" class="dropdown-menu"> </ul> @@ -314,7 +313,7 @@ <!-- <li> <a href="#" id="geomapicon" onclick="$('#geomapmodal').modal('show'); callGeomapADEME();"> - <img title="World Map Distribution" width="34px" src="twlibs/img2/world.png"></img> + <img title="World Map Distribution" width="34px" src="twlibs/img/world.png"></img> </a> </li> --> @@ -322,13 +321,13 @@ <li> <a href="#" id="snapicon" onclick="saveGraphIMG();" class="zoombarbuttons"> - <img title="Take a photo!" style="width:30px" src="twlibs/img2/camera.png"></img> + <img title="Take a photo!" style="width:30px" src="twlibs/img/camera.png"></img> </a> </li> <li> <a href="#savemodal" id="saveAs" class="zoombarbuttons" data-toggle="modal" data-target="#savemodal"> - <img style="width:28px" title="Save As..." src="twlibs/img2/save.png"></img> + <img style="width:28px" title="Save As..." src="twlibs/img/save.png"></img> </a> </li> @@ -348,21 +347,21 @@ <li> <a href="#" id="lensButton" class="zoombarbuttons" title="Center View"> - <img src="twlibs/img2/target.png"> + <img src="twlibs/img/target.png"> </a> </li> <li> <a href="#" id="layoutButton" class="zoombarbuttons" title="Force Atlas Layout"> - <img src="twlibs/img2/edges.png"> + <img src="twlibs/img/edges.png"> </a> </li> <li> <a href="#" id="noverlapButton" class="zoombarbuttons" title="Disperse Overlapping Nodes"> - <img src="twlibs/img2/disperse.png"> + <img src="twlibs/img/disperse.png"> </a> </li> @@ -371,7 +370,7 @@ <a href="#facet-options" id="facets" class="zoombarbuttons" title="Facets coloring options" data-toggle="modal" data-target="#facet-options"> - <img src="twlibs/img2/facet_options.png"></img> + <img src="twlibs/img/facet_options.png"></img> </a> </li> @@ -420,7 +419,7 @@ <!-- to reopen the panel --> <div id="sideunfold"> - <img title="Open sidepanel" src="twlibs/img2/unfold2.png"></img> + <img title="Open sidepanel" src="twlibs/img/unfold2.png"></img> </div> </div> @@ -518,7 +517,7 @@ style="width:85%; "> </a> <a href="https://github.com/moma" target="_blank"> - <img src="twlibs/img2/moma.png" + <img src="twlibs/img/moma.png" alt="Sciencemapping" style="width:85%; "> </a> @@ -529,7 +528,7 @@ <br><br> <div id="sidefold"> - <img title="Close sidepanel" src="twlibs/img2/fold2.png"></img> + <img title="Close sidepanel" src="twlibs/img/fold2.png"></img> </div> </div> <div id="hidden-elements"> @@ -597,7 +596,7 @@ <div id="modalloader" class="modal fade"> <div id="loader" class="loader"> - <img src="twlibs/img2/loader.gif"></img> + <img src="twlibs/img/loader.gif"></img> </div> <div id="closeloader" data-dismiss="modal"></div> </div> @@ -731,46 +730,45 @@ </div> <!-- SCRIPTS --> - <script src="twlibs/jquery-3/jquery-3.2.0.min.js" type="text/javascript"></script> - <script src="twlibs/jquery-3/jquery-ui-1.12.1/jquery-ui.min.js" type="text/javascript"></script> - <script src="twlibs/jquery-3/jquery.easytabs.js" type="text/javascript"></script> - <script src="twlibs/freshslider.1.0.js" type="text/javascript" ></script> - <script src="twlibs/readmore.js" type="text/javascript"></script> - <script src="twlibs/tweets/widgets.js" type="text/javascript" language="javascript"></script> - <script src="twlibs/bootstrap-native/bootstrap-native.min.js"></script> - - <script src="tinawebJS/globalUtils.js" type="text/javascript"></script> - + <script src="twlibs3/jquery-3/jquery-3.2.0.min.js" type="text/javascript"></script> + <script src="twlibs3/jquery-3/jquery-ui-1.12.1/jquery-ui.min.js" type="text/javascript"></script> + <script src="twlibs3/jquery-3/jquery.easytabs.js" type="text/javascript"></script> + <script src="twlibs3/freshslider/freshslider.1.0.js" type="text/javascript" ></script> + <script src="twlibs3/readmore.js" type="text/javascript"></script> + <script src="twlibs3/tweets/widgets.js" type="text/javascript" language="javascript"></script> + <script src="twlibs3/bootstrap-native/bootstrap-native.min.js"></script> <!-- new sigma 1.2 imports --> - <!-- <script src="tinawebJS/sigma_v1.2/sigma.min.js" type="text/javascript" language="javascript"></script> --> - <!-- <script src="tinawebJS/sigma_v1.2/sigma.noIndexes.js" type="text/javascript" language="javascript"></script> --> - <script src="tinawebJS/sigma_v1.5/sigma.js" type="text/javascript" language="javascript"></script> + <!-- <script src="twlibs3/sigma_v1.2/sigma.min.js" type="text/javascript" language="javascript"></script> --> + <!-- <script src="twlibs3/sigma_v1.2/sigma.noIndexes.js" type="text/javascript" language="javascript"></script> --> + <script src="twlibs3/sigma_v1.5/sigma.js" type="text/javascript" language="javascript"></script> <!-- NB: our sigma.noIndexes.js has exactly the same functions & varnames as the v1.2 stock sigma.(min).js but with a much lighter RAM footprint! cf. https://github.com/jacomyal/sigma.js/issues/340 --> - <script src="tinawebJS/sigma_v1.2/plugins/sigma.plugins.animate/sigma.plugins.animate.js"></script> - <script src="tinawebJS/sigma_v1.2/plugins/sigma.layout.noverlap/sigma.layout.noverlap.js"></script> - <script src="tinawebJS/sigma_v1.2/plugins/sigma.layout.forceAtlas2/supervisor.js"></script> - <script src="tinawebJS/sigma_v1.2/plugins/sigma.layout.forceAtlas2/worker.js"></script> - <script src="tinawebJS/sigma_v1.2/plugins/sigma.renderers.snapshot/sigma.renderers.snapshot.js"></script> - <script src="tinawebJS/sigma_v1.2/plugins/sigma.plugins.dragNodes/sigma.plugins.dragNodes.js"></script> + <script src="twlibs3/sigma_v1.2/plugins/sigma.plugins.animate/sigma.plugins.animate.js"></script> + <script src="twlibs3/sigma_v1.2/plugins/sigma.layout.noverlap/sigma.layout.noverlap.js"></script> + <script src="twlibs3/sigma_v1.2/plugins/sigma.layout.forceAtlas2/supervisor.js"></script> + <script src="twlibs3/sigma_v1.2/plugins/sigma.layout.forceAtlas2/worker.js"></script> + <script src="twlibs3/sigma_v1.2/plugins/sigma.renderers.snapshot/sigma.renderers.snapshot.js"></script> + <script src="twlibs3/sigma_v1.2/plugins/sigma.plugins.dragNodes/sigma.plugins.dragNodes.js"></script> + + <script src="twmain/globalUtils.js"></script> <!-- new sigma (1.0c => 1.2) compatibility imports --> - <script src="tinawebJS/sigma_tools.js"></script> + <script src="twmain/sigma_tools.js"></script> <!-- classic tinawebJS imports --> - <script type="text/javascript" src="tinawebJS/jLouvain.js"></script> - <script src="settings_explorerjs.js" type="text/javascript" language="javascript"></script> - <script src="tinawebJS/enviroment.js" type="text/javascript" language="javascript"></script> - <script src="tinawebJS/sigma.parseCustom.js" type="text/javascript" language="javascript"></script> - <script src="tinawebJS/sigmaUtils.js" type="text/javascript" language="javascript"></script> - <script src="extras_explorerjs.js" type="text/javascript" language="javascript"></script> - <script src="tinawebJS/methods.js" type="text/javascript" language="javascript"></script> - <script src="tinawebJS/Tinaweb.js" type="text/javascript" language="javascript"></script> - <script src="tinawebJS/main.js" type="text/javascript" language="javascript"></script> + <script src="settings_explorerjs.js"></script> + <script src="twmain/jLouvain.js"></script> + <script src="twmain/enviroment.js"></script> + <script src="twmain/sigma.parseCustom.js"></script> + <script src="twmain/sigmaUtils.js"></script> + <script src="twmain/extras_explorerjs.js"></script> + <script src="twmain/methods.js"></script> + <script src="twmain/Tinaweb.js"></script> + <script src="twmain/main.js"></script> <!-- /SCRIPTS --> </body> diff --git a/twbackends/phpAPI/default_div.php b/twbackends/phpAPI/default_div.php index 1ae0a1fc117c4d2c557b9087609e8fd26de2f222..084cc37ea2e9e6109d36c412fed01ab426855f01 100755 --- a/twbackends/phpAPI/default_div.php +++ b/twbackends/phpAPI/default_div.php @@ -113,7 +113,7 @@ foreach ($wos_ids as $id => $score) { $sql = 'SELECT data FROM ISITITLE WHERE id='.$id.' group by data'; foreach ($base->query($sql) as $row) { - $external_link="<a href=http://google.com/webhp?#q=".urlencode('"'.$row['data'].'"')." target=blank>".' <img width=15px src="libs/img2/google.png"></a>'; + $external_link="<a href=http://google.com/webhp?#q=".urlencode('"'.$row['data'].'"')." target=blank>".' <img width=15px src="twlibs/img/google.png"></a>'; $output.="<li title='".$score."'>"; $output.=$external_link.imagestar($score,$factor,$twjs).' '; $output.='<a href="JavaScript:newPopup(\''.$twjs.'default_doc_details.php?gexf='.urlencode($gexf).'&index='.$table.'&query='.urlencode($query).'&type='.urlencode($_GET["type"]).'&id='.$id.' \')">'.$row['data']." </a> "; @@ -294,10 +294,10 @@ function imagestar($score,$factor,$twjs) { if ($score > .5) { $star_image = ''; for ($s = 0; $s < min(5,$score/$factor); $s++) { - $star_image.='<img src="libs/img2/star.gif" border="0" >'; + $star_image.='<img src="twlibs/img/star.gif" border="0" >'; } } else { - $star_image.='<img src="libs/img2/stargrey.gif" border="0">'; + $star_image.='<img src="twlibs/img/stargrey.gif" border="0">'; } return $star_image; } diff --git a/twbackends/phpAPI/favorite.php b/twbackends/phpAPI/favorite.php index b481307f1cdbfb2399d07a02bfbe4c25995dca85..e2ba8a97d06fa7a67a7a68541f33474d6cec9f0f 100755 --- a/twbackends/phpAPI/favorite.php +++ b/twbackends/phpAPI/favorite.php @@ -114,10 +114,10 @@ function imagestar($score,$factor,$twjs) { if ($score > .5) { $star_image = ''; for ($s = 0; $s < min(5,$score/$factor); $s++) { - $star_image.='<img src="libs/img2/star.gif" border="0" >'; + $star_image.='<img src="twlibs/img/star.gif" border="0" >'; } } else { - $star_image.='<img src="libs/img2/stargrey.gif" border="0">'; + $star_image.='<img src="twlibs/img/stargrey.gif" border="0">'; } return $star_image; } diff --git a/twbackends/phpAPI/full_doc_list.php b/twbackends/phpAPI/full_doc_list.php index 97848de762fc3288ccea29266858c3fa0b8b285a..3588c4e5a485fa9135b1958a99d4d537a67dbb1f 100755 --- a/twbackends/phpAPI/full_doc_list.php +++ b/twbackends/phpAPI/full_doc_list.php @@ -100,7 +100,7 @@ foreach ($wos_ids as $id => $score) { //the old one: //$output.='<a href="JavaScript:newPopup(\''.$twjs.'php/default_doc_details.php?id='.$id.' \')">'.$row['data']." </a> "; - $external_link="<a href=http://scholar.google.com/scholar?q=".urlencode('"'.$row['data'].'"')." target=blank>".' <img width=20px src="libs/img2/gs.png"></a>'; + $external_link="<a href=http://scholar.google.com/scholar?q=".urlencode('"'.$row['data'].'"')." target=blank>".' <img width=20px src="twlibs/img/gs.png"></a>'; //$output.='<a href="JavaScript:newPopup(''php/doc_details.php?id='.$id.''')"> Link</a>'; } @@ -133,10 +133,10 @@ function imagestar($score,$factor,$twjs) { if ($score > .5) { $star_image = ''; for ($s = 0; $s < min(5,$score/$factor); $s++) { - $star_image.='<img src="libs/img2/star.gif" border="0" >'; + $star_image.='<img src="twlibs/img/star.gif" border="0" >'; } } else { - $star_image.='<img src="libs/img2/stargrey.gif" border="0">'; + $star_image.='<img src="twlibs/img/stargrey.gif" border="0">'; } return $star_image; } diff --git a/twbackends/phpAPI/full_doc_list2.php b/twbackends/phpAPI/full_doc_list2.php index a54d455846e8235b7500ed6358b8adfe29281881..41fb3229416aed28781cf157e60c0d777ec658ec 100755 --- a/twbackends/phpAPI/full_doc_list2.php +++ b/twbackends/phpAPI/full_doc_list2.php @@ -101,7 +101,7 @@ foreach ($wos_ids as $id => $score) { //the old one: //$output.='<a href="JavaScript:newPopup(\''.$twjs.'php/default_doc_details.php?id='.$id.' \')">'.$row['data']." </a> "; - $external_link="<a href=http://scholar.google.com/scholar?q=".urlencode('"'.$row['data'].'"')." target=blank>".' <img width=20px src="libs/img2/gs.png"></a>'; + $external_link="<a href=http://scholar.google.com/scholar?q=".urlencode('"'.$row['data'].'"')." target=blank>".' <img width=20px src="twlibs/img/gs.png"></a>'; //$output.='<a href="JavaScript:newPopup(''php/doc_details.php?id='.$id.''')"> Link</a>'; } @@ -134,10 +134,10 @@ function imagestar($score,$factor,$twjs) { if ($score > .5) { $star_image = ''; for ($s = 0; $s < min(5,$score/$factor); $s++) { - $star_image.='<img src="libs/img2/star.gif" border="0" >'; + $star_image.='<img src="twlibs/img/star.gif" border="0" >'; } } else { - $star_image.='<img src="libs/img2/stargrey.gif" border="0">'; + $star_image.='<img src="twlibs/img/stargrey.gif" border="0">'; } return $star_image; } diff --git a/twbackends/phpAPI/full_doc_list_tidf.php b/twbackends/phpAPI/full_doc_list_tidf.php index acc13822bffb3b960be428ea15cf7b599ef6792b..ab6c7c562359618518bc7e2c6e6c18e76689b92e 100755 --- a/twbackends/phpAPI/full_doc_list_tidf.php +++ b/twbackends/phpAPI/full_doc_list_tidf.php @@ -147,7 +147,7 @@ foreach ($wos_ids as $id => $score) { //the old one: //$output.='<a href="JavaScript:newPopup(\''.$twjs.'php/default_doc_details.php?id='.$id.' \')">'.$row['data']." </a> "; - $external_link="<a href=http://scholar.google.com/scholar?q=".urlencode('"'.$row['data'].'"')." target=blank>".' <img width=20px src="libs/img2/gs.png"></a>'; + $external_link="<a href=http://scholar.google.com/scholar?q=".urlencode('"'.$row['data'].'"')." target=blank>".' <img width=20px src="twlibs/img/gs.png"></a>'; //$output.='<a href="JavaScript:newPopup(''php/doc_details.php?id='.$id.''')"> Link</a>'; } @@ -190,10 +190,10 @@ function imagestar($score,$factor,$twjs) { if ($score > .5) { $star_image = ''; for ($s = 0; $s < min(5,$score/$factor); $s++) { - $star_image.='<img src="libs/img2/star.gif" border="0" >'; + $star_image.='<img src="twlibs/img/star.gif" border="0" >'; } } else { - $star_image.='<img src="libs/img2/stargrey.gif" border="0">'; + $star_image.='<img src="twlibs/img/stargrey.gif" border="0">'; } return $star_image; } diff --git a/twbackends/phpAPI/info_div2.php b/twbackends/phpAPI/info_div2.php index 7497b1ac0b1a910adc07e6470ab0d5667c7f5ba3..fc019015892270e6c7e6dee8689edc3296c2254c 100755 --- a/twbackends/phpAPI/info_div2.php +++ b/twbackends/phpAPI/info_div2.php @@ -99,7 +99,7 @@ foreach ($wos_ids as $id => $score) { $sql = 'SELECT data FROM ISITITLE WHERE id='.$id.' group by data'; foreach ($base->query($sql) as $row) { - $external_link="<a href=http://google.com/webhp?#q=".urlencode('"'.utf8_decode($row['data']).'"')." target=blank>".' <img width=15px src="libs/img2/google.png"></a>'; + $external_link="<a href=http://google.com/webhp?#q=".urlencode('"'.utf8_decode($row['data']).'"')." target=blank>".' <img width=15px src="twlibs/img/google.png"></a>'; $output.="<li title='".$score."'>"; $output.=$external_link.imagestar($score,$factor,$twjs).' '; $output.='<a href="JavaScript:newPopup(\''.$twjs.'default_doc_details2.php?gexf='.urlencode($gexf).'&query='.urlencode($query).'&type='.urlencode($_GET["type"]).'&id='.$id.' \')">'.htmlentities($row['data'], ENT_QUOTES, "UTF-8")." </a> "; @@ -177,10 +177,10 @@ function imagestar($score,$factor,$twjs) { if ($score > .5) { $star_image = ''; for ($s = 0; $s < min(5,$score/$factor); $s++) { - $star_image.='<img src="libs/img2/star.gif" border="0" >'; + $star_image.='<img src="twlibs/img/star.gif" border="0" >'; } } else { - $star_image.='<img src="libs/img2/stargrey.gif" border="0">'; + $star_image.='<img src="twlibs/img/stargrey.gif" border="0">'; } return $star_image; } diff --git a/twlibs/README.md b/twlibs/README.md new file mode 100644 index 0000000000000000000000000000000000000000..7e6bfaa6e9421ce6cc384156c237ba6f91e5a365 --- /dev/null +++ b/twlibs/README.md @@ -0,0 +1 @@ +### tinawebJS CSS, image and fonts dependencies diff --git a/twlibs/css2/JosefinSans300.woff b/twlibs/css/JosefinSans300.woff similarity index 100% rename from twlibs/css2/JosefinSans300.woff rename to twlibs/css/JosefinSans300.woff diff --git a/twlibs/css2/JosefinSans400.woff b/twlibs/css/JosefinSans400.woff similarity index 100% rename from twlibs/css2/JosefinSans400.woff rename to twlibs/css/JosefinSans400.woff diff --git a/twlibs/css2/JosefinSans700.woff b/twlibs/css/JosefinSans700.woff similarity index 100% rename from twlibs/css2/JosefinSans700.woff rename to twlibs/css/JosefinSans700.woff diff --git a/twlibs/css2/font.css b/twlibs/css/font.css similarity index 100% rename from twlibs/css2/font.css rename to twlibs/css/font.css diff --git a/twlibs/css2/grid.css b/twlibs/css/grid.css similarity index 100% rename from twlibs/css2/grid.css rename to twlibs/css/grid.css diff --git a/twlibs/css2/selection-panels-mobile.css b/twlibs/css/selection-panels-mobile.css similarity index 100% rename from twlibs/css2/selection-panels-mobile.css rename to twlibs/css/selection-panels-mobile.css diff --git a/twlibs/css2/selection-panels.css b/twlibs/css/selection-panels.css similarity index 98% rename from twlibs/css2/selection-panels.css rename to twlibs/css/selection-panels.css index e71ac8c584357c0e2f20098197ba06529ac2b77a..e15307988f7c293b90fc4c30f20deb926cfa5785 100644 --- a/twlibs/css2/selection-panels.css +++ b/twlibs/css/selection-panels.css @@ -127,7 +127,7 @@ display: block; width: 24px; height: 24px; - background:url("../img2/plusmoins.png"); + background:url("../img/plusmoins.png"); margin: 0 auto; } diff --git a/twlibs/css2/twjs-mobile.css b/twlibs/css/twjs-mobile.css similarity index 100% rename from twlibs/css2/twjs-mobile.css rename to twlibs/css/twjs-mobile.css diff --git a/twlibs/css2/twjs.css b/twlibs/css/twjs.css similarity index 100% rename from twlibs/css2/twjs.css rename to twlibs/css/twjs.css diff --git a/twlibs/css2/user_form.css b/twlibs/css/user_form.css similarity index 100% rename from twlibs/css2/user_form.css rename to twlibs/css/user_form.css diff --git a/twlibs/img2/bg.jpg b/twlibs/img/bg.jpg similarity index 100% rename from twlibs/img2/bg.jpg rename to twlibs/img/bg.jpg diff --git a/twlibs/img2/bouton_generique.png b/twlibs/img/bouton_generique.png similarity index 100% rename from twlibs/img2/bouton_generique.png rename to twlibs/img/bouton_generique.png diff --git a/twlibs/img2/buttons_work.svg b/twlibs/img/buttons_work.svg similarity index 100% rename from twlibs/img2/buttons_work.svg rename to twlibs/img/buttons_work.svg diff --git a/twlibs/img2/camera.png b/twlibs/img/camera.png similarity index 100% rename from twlibs/img2/camera.png rename to twlibs/img/camera.png diff --git a/twlibs/img2/changenetwork.png b/twlibs/img/changenetwork.png similarity index 100% rename from twlibs/img2/changenetwork.png rename to twlibs/img/changenetwork.png diff --git a/twlibs/img2/chat.png b/twlibs/img/chat.png similarity index 100% rename from twlibs/img2/chat.png rename to twlibs/img/chat.png diff --git a/twlibs/img2/climpek.png b/twlibs/img/climpek.png similarity index 100% rename from twlibs/img2/climpek.png rename to twlibs/img/climpek.png diff --git a/twlibs/img2/climpek_@2X.png b/twlibs/img/climpek_@2X.png similarity index 100% rename from twlibs/img2/climpek_@2X.png rename to twlibs/img/climpek_@2X.png diff --git a/twlibs/img2/colors.png b/twlibs/img/colors.png similarity index 100% rename from twlibs/img2/colors.png rename to twlibs/img/colors.png diff --git a/twlibs/img2/disperse.png b/twlibs/img/disperse.png similarity index 100% rename from twlibs/img2/disperse.png rename to twlibs/img/disperse.png diff --git a/twlibs/img2/edges.png b/twlibs/img/edges.png similarity index 100% rename from twlibs/img2/edges.png rename to twlibs/img/edges.png diff --git a/twlibs/img2/facet_options.png b/twlibs/img/facet_options.png similarity index 100% rename from twlibs/img2/facet_options.png rename to twlibs/img/facet_options.png diff --git a/twlibs/img2/fleches-horiz.png b/twlibs/img/fleches-horiz.png similarity index 100% rename from twlibs/img2/fleches-horiz.png rename to twlibs/img/fleches-horiz.png diff --git a/twlibs/img2/flickr.png b/twlibs/img/flickr.png similarity index 100% rename from twlibs/img2/flickr.png rename to twlibs/img/flickr.png diff --git a/twlibs/img2/fold2.png b/twlibs/img/fold2.png similarity index 100% rename from twlibs/img2/fold2.png rename to twlibs/img/fold2.png diff --git a/twlibs/img2/google.png b/twlibs/img/google.png similarity index 100% rename from twlibs/img2/google.png rename to twlibs/img/google.png diff --git a/twlibs/img2/home.png b/twlibs/img/home.png similarity index 100% rename from twlibs/img2/home.png rename to twlibs/img/home.png diff --git a/twlibs/img2/loader.gif b/twlibs/img/loader.gif similarity index 100% rename from twlibs/img2/loader.gif rename to twlibs/img/loader.gif diff --git a/twlibs/img2/loading-bar.gif b/twlibs/img/loading-bar.gif similarity index 100% rename from twlibs/img2/loading-bar.gif rename to twlibs/img/loading-bar.gif diff --git a/twlibs/img2/logo.png b/twlibs/img/logo.png similarity index 100% rename from twlibs/img2/logo.png rename to twlibs/img/logo.png diff --git a/twlibs/img2/logo_ISCPIF_small.svg b/twlibs/img/logo_ISCPIF_small.svg similarity index 100% rename from twlibs/img2/logo_ISCPIF_small.svg rename to twlibs/img/logo_ISCPIF_small.svg diff --git a/twlibs/img2/logo_cnrs_transparent.gif b/twlibs/img/logo_cnrs_transparent.gif similarity index 100% rename from twlibs/img2/logo_cnrs_transparent.gif rename to twlibs/img/logo_cnrs_transparent.gif diff --git a/twlibs/img2/loupe-edges.png b/twlibs/img/loupe-edges.png similarity index 100% rename from twlibs/img2/loupe-edges.png rename to twlibs/img/loupe-edges.png diff --git a/twlibs/img2/loupe-edges2.png b/twlibs/img/loupe-edges2.png similarity index 100% rename from twlibs/img2/loupe-edges2.png rename to twlibs/img/loupe-edges2.png diff --git a/twlibs/img2/moma.png b/twlibs/img/moma.png similarity index 100% rename from twlibs/img2/moma.png rename to twlibs/img/moma.png diff --git a/twlibs/img2/play-circled2.png b/twlibs/img/play-circled2.png similarity index 100% rename from twlibs/img2/play-circled2.png rename to twlibs/img/play-circled2.png diff --git a/twlibs/img2/plus_hover.png b/twlibs/img/plus_hover.png similarity index 100% rename from twlibs/img2/plus_hover.png rename to twlibs/img/plus_hover.png diff --git a/twlibs/img2/plus_normal.png b/twlibs/img/plus_normal.png similarity index 100% rename from twlibs/img2/plus_normal.png rename to twlibs/img/plus_normal.png diff --git a/twlibs/img2/plusmoins.png b/twlibs/img/plusmoins.png similarity index 100% rename from twlibs/img2/plusmoins.png rename to twlibs/img/plusmoins.png diff --git a/twlibs/img2/save.png b/twlibs/img/save.png similarity index 100% rename from twlibs/img2/save.png rename to twlibs/img/save.png diff --git a/twlibs/img2/star.gif b/twlibs/img/star.gif similarity index 100% rename from twlibs/img2/star.gif rename to twlibs/img/star.gif diff --git a/twlibs/img2/stargrey.gif b/twlibs/img/stargrey.gif similarity index 100% rename from twlibs/img2/stargrey.gif rename to twlibs/img/stargrey.gif diff --git a/twlibs/img2/stats.png b/twlibs/img/stats.png similarity index 100% rename from twlibs/img2/stats.png rename to twlibs/img/stats.png diff --git a/twlibs/img2/target.png b/twlibs/img/target.png similarity index 100% rename from twlibs/img2/target.png rename to twlibs/img/target.png diff --git a/twlibs/img2/tc_play.png b/twlibs/img/tc_play.png similarity index 100% rename from twlibs/img2/tc_play.png rename to twlibs/img/tc_play.png diff --git a/twlibs/img2/tc_stop.png b/twlibs/img/tc_stop.png similarity index 100% rename from twlibs/img2/tc_stop.png rename to twlibs/img/tc_stop.png diff --git a/twlibs/img2/unfold2.png b/twlibs/img/unfold2.png similarity index 100% rename from twlibs/img2/unfold2.png rename to twlibs/img/unfold2.png diff --git a/twlibs/img2/wikipedia.png b/twlibs/img/wikipedia.png similarity index 100% rename from twlibs/img2/wikipedia.png rename to twlibs/img/wikipedia.png diff --git a/twlibs/img2/world.png b/twlibs/img/world.png similarity index 100% rename from twlibs/img2/world.png rename to twlibs/img/world.png diff --git a/twlibs/bootstrap-3/css/bootstrap-theme.css b/twlibs3/bootstrap-3/css/bootstrap-theme.css similarity index 100% rename from twlibs/bootstrap-3/css/bootstrap-theme.css rename to twlibs3/bootstrap-3/css/bootstrap-theme.css diff --git a/twlibs/bootstrap-3/css/bootstrap-theme.css.map b/twlibs3/bootstrap-3/css/bootstrap-theme.css.map similarity index 100% rename from twlibs/bootstrap-3/css/bootstrap-theme.css.map rename to twlibs3/bootstrap-3/css/bootstrap-theme.css.map diff --git a/twlibs/bootstrap-3/css/bootstrap-theme.min.css b/twlibs3/bootstrap-3/css/bootstrap-theme.min.css similarity index 100% rename from twlibs/bootstrap-3/css/bootstrap-theme.min.css rename to twlibs3/bootstrap-3/css/bootstrap-theme.min.css diff --git a/twlibs/bootstrap-3/css/bootstrap-theme.min.css.map b/twlibs3/bootstrap-3/css/bootstrap-theme.min.css.map similarity index 100% rename from twlibs/bootstrap-3/css/bootstrap-theme.min.css.map rename to twlibs3/bootstrap-3/css/bootstrap-theme.min.css.map diff --git a/twlibs/bootstrap-3/css/bootstrap.css b/twlibs3/bootstrap-3/css/bootstrap.css similarity index 100% rename from twlibs/bootstrap-3/css/bootstrap.css rename to twlibs3/bootstrap-3/css/bootstrap.css diff --git a/twlibs/bootstrap-3/css/bootstrap.css.map b/twlibs3/bootstrap-3/css/bootstrap.css.map similarity index 100% rename from twlibs/bootstrap-3/css/bootstrap.css.map rename to twlibs3/bootstrap-3/css/bootstrap.css.map diff --git a/twlibs/bootstrap-3/css/bootstrap.min.css b/twlibs3/bootstrap-3/css/bootstrap.min.css similarity index 100% rename from twlibs/bootstrap-3/css/bootstrap.min.css rename to twlibs3/bootstrap-3/css/bootstrap.min.css diff --git a/twlibs/bootstrap-3/css/bootstrap.min.css.map b/twlibs3/bootstrap-3/css/bootstrap.min.css.map similarity index 100% rename from twlibs/bootstrap-3/css/bootstrap.min.css.map rename to twlibs3/bootstrap-3/css/bootstrap.min.css.map diff --git a/twlibs/bootstrap-3/fonts/glyphicons-halflings-regular.eot b/twlibs3/bootstrap-3/fonts/glyphicons-halflings-regular.eot similarity index 100% rename from twlibs/bootstrap-3/fonts/glyphicons-halflings-regular.eot rename to twlibs3/bootstrap-3/fonts/glyphicons-halflings-regular.eot diff --git a/twlibs/bootstrap-3/fonts/glyphicons-halflings-regular.svg b/twlibs3/bootstrap-3/fonts/glyphicons-halflings-regular.svg similarity index 100% rename from twlibs/bootstrap-3/fonts/glyphicons-halflings-regular.svg rename to twlibs3/bootstrap-3/fonts/glyphicons-halflings-regular.svg diff --git a/twlibs/bootstrap-3/fonts/glyphicons-halflings-regular.ttf b/twlibs3/bootstrap-3/fonts/glyphicons-halflings-regular.ttf similarity index 100% rename from twlibs/bootstrap-3/fonts/glyphicons-halflings-regular.ttf rename to twlibs3/bootstrap-3/fonts/glyphicons-halflings-regular.ttf diff --git a/twlibs/bootstrap-3/fonts/glyphicons-halflings-regular.woff b/twlibs3/bootstrap-3/fonts/glyphicons-halflings-regular.woff similarity index 100% rename from twlibs/bootstrap-3/fonts/glyphicons-halflings-regular.woff rename to twlibs3/bootstrap-3/fonts/glyphicons-halflings-regular.woff diff --git a/twlibs/bootstrap-3/fonts/glyphicons-halflings-regular.woff2 b/twlibs3/bootstrap-3/fonts/glyphicons-halflings-regular.woff2 similarity index 100% rename from twlibs/bootstrap-3/fonts/glyphicons-halflings-regular.woff2 rename to twlibs3/bootstrap-3/fonts/glyphicons-halflings-regular.woff2 diff --git a/twlibs/bootstrap-native/.npmignore b/twlibs3/bootstrap-native/.npmignore similarity index 100% rename from twlibs/bootstrap-native/.npmignore rename to twlibs3/bootstrap-native/.npmignore diff --git a/twlibs/bootstrap-native/LICENSE b/twlibs3/bootstrap-native/LICENSE similarity index 100% rename from twlibs/bootstrap-native/LICENSE rename to twlibs3/bootstrap-native/LICENSE diff --git a/twlibs/bootstrap-native/README.md b/twlibs3/bootstrap-native/README.md similarity index 100% rename from twlibs/bootstrap-native/README.md rename to twlibs3/bootstrap-native/README.md diff --git a/twlibs/bootstrap-native/bootstrap-native.js b/twlibs3/bootstrap-native/bootstrap-native.js similarity index 100% rename from twlibs/bootstrap-native/bootstrap-native.js rename to twlibs3/bootstrap-native/bootstrap-native.js diff --git a/twlibs/bootstrap-native/bootstrap-native.min.js b/twlibs3/bootstrap-native/bootstrap-native.min.js similarity index 100% rename from twlibs/bootstrap-native/bootstrap-native.min.js rename to twlibs3/bootstrap-native/bootstrap-native.min.js diff --git a/twlibs/freshslider.1.0.js b/twlibs3/freshslider/freshslider.1.0.js similarity index 100% rename from twlibs/freshslider.1.0.js rename to twlibs3/freshslider/freshslider.1.0.js diff --git a/twlibs/css2/freshslider.css b/twlibs3/freshslider/freshslider.css similarity index 100% rename from twlibs/css2/freshslider.css rename to twlibs3/freshslider/freshslider.css diff --git a/twlibs/jquery-3/AUTHORS.txt b/twlibs3/jquery-3/AUTHORS.txt similarity index 100% rename from twlibs/jquery-3/AUTHORS.txt rename to twlibs3/jquery-3/AUTHORS.txt diff --git a/twlibs/jquery-3/jquery-3.2.0.js b/twlibs3/jquery-3/jquery-3.2.0.js similarity index 100% rename from twlibs/jquery-3/jquery-3.2.0.js rename to twlibs3/jquery-3/jquery-3.2.0.js diff --git a/twlibs/jquery-3/jquery-3.2.0.min.js b/twlibs3/jquery-3/jquery-3.2.0.min.js similarity index 100% rename from twlibs/jquery-3/jquery-3.2.0.min.js rename to twlibs3/jquery-3/jquery-3.2.0.min.js diff --git a/twlibs/jquery-3/jquery-3.2.0.min.map b/twlibs3/jquery-3/jquery-3.2.0.min.map similarity index 100% rename from twlibs/jquery-3/jquery-3.2.0.min.map rename to twlibs3/jquery-3/jquery-3.2.0.min.map diff --git a/twlibs/jquery-3/jquery-ui-1.12.1/AUTHORS.txt b/twlibs3/jquery-3/jquery-ui-1.12.1/AUTHORS.txt similarity index 100% rename from twlibs/jquery-3/jquery-ui-1.12.1/AUTHORS.txt rename to twlibs3/jquery-3/jquery-ui-1.12.1/AUTHORS.txt diff --git a/twlibs/jquery-3/jquery-ui-1.12.1/LICENSE.txt b/twlibs3/jquery-3/jquery-ui-1.12.1/LICENSE.txt similarity index 100% rename from twlibs/jquery-3/jquery-ui-1.12.1/LICENSE.txt rename to twlibs3/jquery-3/jquery-ui-1.12.1/LICENSE.txt diff --git a/twlibs/jquery-3/jquery-ui-1.12.1/images/ui-icons_444444_256x240.png b/twlibs3/jquery-3/jquery-ui-1.12.1/images/ui-icons_444444_256x240.png similarity index 100% rename from twlibs/jquery-3/jquery-ui-1.12.1/images/ui-icons_444444_256x240.png rename to twlibs3/jquery-3/jquery-ui-1.12.1/images/ui-icons_444444_256x240.png diff --git a/twlibs/jquery-3/jquery-ui-1.12.1/images/ui-icons_555555_256x240.png b/twlibs3/jquery-3/jquery-ui-1.12.1/images/ui-icons_555555_256x240.png similarity index 100% rename from twlibs/jquery-3/jquery-ui-1.12.1/images/ui-icons_555555_256x240.png rename to twlibs3/jquery-3/jquery-ui-1.12.1/images/ui-icons_555555_256x240.png diff --git a/twlibs/jquery-3/jquery-ui-1.12.1/images/ui-icons_777620_256x240.png b/twlibs3/jquery-3/jquery-ui-1.12.1/images/ui-icons_777620_256x240.png similarity index 100% rename from twlibs/jquery-3/jquery-ui-1.12.1/images/ui-icons_777620_256x240.png rename to twlibs3/jquery-3/jquery-ui-1.12.1/images/ui-icons_777620_256x240.png diff --git a/twlibs/jquery-3/jquery-ui-1.12.1/images/ui-icons_777777_256x240.png b/twlibs3/jquery-3/jquery-ui-1.12.1/images/ui-icons_777777_256x240.png similarity index 100% rename from twlibs/jquery-3/jquery-ui-1.12.1/images/ui-icons_777777_256x240.png rename to twlibs3/jquery-3/jquery-ui-1.12.1/images/ui-icons_777777_256x240.png diff --git a/twlibs/jquery-3/jquery-ui-1.12.1/images/ui-icons_cc0000_256x240.png b/twlibs3/jquery-3/jquery-ui-1.12.1/images/ui-icons_cc0000_256x240.png similarity index 100% rename from twlibs/jquery-3/jquery-ui-1.12.1/images/ui-icons_cc0000_256x240.png rename to twlibs3/jquery-3/jquery-ui-1.12.1/images/ui-icons_cc0000_256x240.png diff --git a/twlibs/jquery-3/jquery-ui-1.12.1/images/ui-icons_ffffff_256x240.png b/twlibs3/jquery-3/jquery-ui-1.12.1/images/ui-icons_ffffff_256x240.png similarity index 100% rename from twlibs/jquery-3/jquery-ui-1.12.1/images/ui-icons_ffffff_256x240.png rename to twlibs3/jquery-3/jquery-ui-1.12.1/images/ui-icons_ffffff_256x240.png diff --git a/twlibs/jquery-3/jquery-ui-1.12.1/index.html b/twlibs3/jquery-3/jquery-ui-1.12.1/index.html similarity index 100% rename from twlibs/jquery-3/jquery-ui-1.12.1/index.html rename to twlibs3/jquery-3/jquery-ui-1.12.1/index.html diff --git a/twlibs/jquery-3/jquery-ui-1.12.1/jquery-ui.css b/twlibs3/jquery-3/jquery-ui-1.12.1/jquery-ui.css similarity index 100% rename from twlibs/jquery-3/jquery-ui-1.12.1/jquery-ui.css rename to twlibs3/jquery-3/jquery-ui-1.12.1/jquery-ui.css diff --git a/twlibs/jquery-3/jquery-ui-1.12.1/jquery-ui.js b/twlibs3/jquery-3/jquery-ui-1.12.1/jquery-ui.js similarity index 100% rename from twlibs/jquery-3/jquery-ui-1.12.1/jquery-ui.js rename to twlibs3/jquery-3/jquery-ui-1.12.1/jquery-ui.js diff --git a/twlibs/jquery-3/jquery-ui-1.12.1/jquery-ui.min.css b/twlibs3/jquery-3/jquery-ui-1.12.1/jquery-ui.min.css similarity index 100% rename from twlibs/jquery-3/jquery-ui-1.12.1/jquery-ui.min.css rename to twlibs3/jquery-3/jquery-ui-1.12.1/jquery-ui.min.css diff --git a/twlibs/jquery-3/jquery-ui-1.12.1/jquery-ui.min.js b/twlibs3/jquery-3/jquery-ui-1.12.1/jquery-ui.min.js similarity index 100% rename from twlibs/jquery-3/jquery-ui-1.12.1/jquery-ui.min.js rename to twlibs3/jquery-3/jquery-ui-1.12.1/jquery-ui.min.js diff --git a/twlibs/jquery-3/jquery-ui-1.12.1/jquery-ui.structure.css b/twlibs3/jquery-3/jquery-ui-1.12.1/jquery-ui.structure.css similarity index 100% rename from twlibs/jquery-3/jquery-ui-1.12.1/jquery-ui.structure.css rename to twlibs3/jquery-3/jquery-ui-1.12.1/jquery-ui.structure.css diff --git a/twlibs/jquery-3/jquery-ui-1.12.1/jquery-ui.structure.min.css b/twlibs3/jquery-3/jquery-ui-1.12.1/jquery-ui.structure.min.css similarity index 100% rename from twlibs/jquery-3/jquery-ui-1.12.1/jquery-ui.structure.min.css rename to twlibs3/jquery-3/jquery-ui-1.12.1/jquery-ui.structure.min.css diff --git a/twlibs/jquery-3/jquery-ui-1.12.1/jquery-ui.theme.css b/twlibs3/jquery-3/jquery-ui-1.12.1/jquery-ui.theme.css similarity index 100% rename from twlibs/jquery-3/jquery-ui-1.12.1/jquery-ui.theme.css rename to twlibs3/jquery-3/jquery-ui-1.12.1/jquery-ui.theme.css diff --git a/twlibs/jquery-3/jquery-ui-1.12.1/jquery-ui.theme.min.css b/twlibs3/jquery-3/jquery-ui-1.12.1/jquery-ui.theme.min.css similarity index 100% rename from twlibs/jquery-3/jquery-ui-1.12.1/jquery-ui.theme.min.css rename to twlibs3/jquery-3/jquery-ui-1.12.1/jquery-ui.theme.min.css diff --git a/twlibs/jquery-3/jquery.easytabs.js b/twlibs3/jquery-3/jquery.easytabs.js similarity index 100% rename from twlibs/jquery-3/jquery.easytabs.js rename to twlibs3/jquery-3/jquery.easytabs.js diff --git a/twlibs/jquery-3/jquery.easytabs.min.js b/twlibs3/jquery-3/jquery.easytabs.min.js similarity index 100% rename from twlibs/jquery-3/jquery.easytabs.min.js rename to twlibs3/jquery-3/jquery.easytabs.min.js diff --git a/twlibs/jquery-3/jquery.highlight-3.js b/twlibs3/jquery-3/jquery.highlight-3.js similarity index 100% rename from twlibs/jquery-3/jquery.highlight-3.js rename to twlibs3/jquery-3/jquery.highlight-3.js diff --git a/twlibs/readmore.js b/twlibs3/readmore.js similarity index 100% rename from twlibs/readmore.js rename to twlibs3/readmore.js diff --git a/tinawebJS/sigma_v1.2/plugins/sigma.layout.forceAtlas2/Gruntfile.js b/twlibs3/sigma_v1.2/plugins/sigma.layout.forceAtlas2/Gruntfile.js similarity index 100% rename from tinawebJS/sigma_v1.2/plugins/sigma.layout.forceAtlas2/Gruntfile.js rename to twlibs3/sigma_v1.2/plugins/sigma.layout.forceAtlas2/Gruntfile.js diff --git a/tinawebJS/sigma_v1.2/plugins/sigma.layout.forceAtlas2/README.md b/twlibs3/sigma_v1.2/plugins/sigma.layout.forceAtlas2/README.md similarity index 100% rename from tinawebJS/sigma_v1.2/plugins/sigma.layout.forceAtlas2/README.md rename to twlibs3/sigma_v1.2/plugins/sigma.layout.forceAtlas2/README.md diff --git a/tinawebJS/sigma_v1.2/plugins/sigma.layout.forceAtlas2/supervisor.js b/twlibs3/sigma_v1.2/plugins/sigma.layout.forceAtlas2/supervisor.js similarity index 100% rename from tinawebJS/sigma_v1.2/plugins/sigma.layout.forceAtlas2/supervisor.js rename to twlibs3/sigma_v1.2/plugins/sigma.layout.forceAtlas2/supervisor.js diff --git a/tinawebJS/sigma_v1.2/plugins/sigma.layout.forceAtlas2/tasks/forceAtlas2.js b/twlibs3/sigma_v1.2/plugins/sigma.layout.forceAtlas2/tasks/forceAtlas2.js similarity index 100% rename from tinawebJS/sigma_v1.2/plugins/sigma.layout.forceAtlas2/tasks/forceAtlas2.js rename to twlibs3/sigma_v1.2/plugins/sigma.layout.forceAtlas2/tasks/forceAtlas2.js diff --git a/tinawebJS/sigma_v1.2/plugins/sigma.layout.forceAtlas2/worker.js b/twlibs3/sigma_v1.2/plugins/sigma.layout.forceAtlas2/worker.js similarity index 100% rename from tinawebJS/sigma_v1.2/plugins/sigma.layout.forceAtlas2/worker.js rename to twlibs3/sigma_v1.2/plugins/sigma.layout.forceAtlas2/worker.js diff --git a/tinawebJS/sigma_v1.2/plugins/sigma.layout.noverlap/README.md b/twlibs3/sigma_v1.2/plugins/sigma.layout.noverlap/README.md similarity index 100% rename from tinawebJS/sigma_v1.2/plugins/sigma.layout.noverlap/README.md rename to twlibs3/sigma_v1.2/plugins/sigma.layout.noverlap/README.md diff --git a/tinawebJS/sigma_v1.2/plugins/sigma.layout.noverlap/sigma.layout.noverlap.js b/twlibs3/sigma_v1.2/plugins/sigma.layout.noverlap/sigma.layout.noverlap.js similarity index 100% rename from tinawebJS/sigma_v1.2/plugins/sigma.layout.noverlap/sigma.layout.noverlap.js rename to twlibs3/sigma_v1.2/plugins/sigma.layout.noverlap/sigma.layout.noverlap.js diff --git a/tinawebJS/sigma_v1.2/plugins/sigma.plugins.animate/README.md b/twlibs3/sigma_v1.2/plugins/sigma.plugins.animate/README.md similarity index 100% rename from tinawebJS/sigma_v1.2/plugins/sigma.plugins.animate/README.md rename to twlibs3/sigma_v1.2/plugins/sigma.plugins.animate/README.md diff --git a/tinawebJS/sigma_v1.2/plugins/sigma.plugins.animate/sigma.plugins.animate.js b/twlibs3/sigma_v1.2/plugins/sigma.plugins.animate/sigma.plugins.animate.js similarity index 100% rename from tinawebJS/sigma_v1.2/plugins/sigma.plugins.animate/sigma.plugins.animate.js rename to twlibs3/sigma_v1.2/plugins/sigma.plugins.animate/sigma.plugins.animate.js diff --git a/tinawebJS/sigma_v1.2/plugins/sigma.plugins.dragNodes/README.md b/twlibs3/sigma_v1.2/plugins/sigma.plugins.dragNodes/README.md similarity index 100% rename from tinawebJS/sigma_v1.2/plugins/sigma.plugins.dragNodes/README.md rename to twlibs3/sigma_v1.2/plugins/sigma.plugins.dragNodes/README.md diff --git a/tinawebJS/sigma_v1.2/plugins/sigma.plugins.dragNodes/sigma.plugins.dragNodes.js b/twlibs3/sigma_v1.2/plugins/sigma.plugins.dragNodes/sigma.plugins.dragNodes.js similarity index 100% rename from tinawebJS/sigma_v1.2/plugins/sigma.plugins.dragNodes/sigma.plugins.dragNodes.js rename to twlibs3/sigma_v1.2/plugins/sigma.plugins.dragNodes/sigma.plugins.dragNodes.js diff --git a/tinawebJS/sigma_v1.2/plugins/sigma.renderers.snapshot/README.md b/twlibs3/sigma_v1.2/plugins/sigma.renderers.snapshot/README.md similarity index 100% rename from tinawebJS/sigma_v1.2/plugins/sigma.renderers.snapshot/README.md rename to twlibs3/sigma_v1.2/plugins/sigma.renderers.snapshot/README.md diff --git a/tinawebJS/sigma_v1.2/plugins/sigma.renderers.snapshot/sigma.renderers.snapshot.js b/twlibs3/sigma_v1.2/plugins/sigma.renderers.snapshot/sigma.renderers.snapshot.js similarity index 100% rename from tinawebJS/sigma_v1.2/plugins/sigma.renderers.snapshot/sigma.renderers.snapshot.js rename to twlibs3/sigma_v1.2/plugins/sigma.renderers.snapshot/sigma.renderers.snapshot.js diff --git a/tinawebJS/sigma_v1.2/sigma.js b/twlibs3/sigma_v1.2/sigma.js similarity index 100% rename from tinawebJS/sigma_v1.2/sigma.js rename to twlibs3/sigma_v1.2/sigma.js diff --git a/tinawebJS/sigma_v1.2/sigma.min.js b/twlibs3/sigma_v1.2/sigma.min.js similarity index 100% rename from tinawebJS/sigma_v1.2/sigma.min.js rename to twlibs3/sigma_v1.2/sigma.min.js diff --git a/tinawebJS/sigma_v1.2/sigma.noIndexes.js b/twlibs3/sigma_v1.2/sigma.noIndexes.js similarity index 100% rename from tinawebJS/sigma_v1.2/sigma.noIndexes.js rename to twlibs3/sigma_v1.2/sigma.noIndexes.js diff --git a/tinawebJS/sigma_v1.5/plugins.js b/twlibs3/sigma_v1.5/plugins.js similarity index 100% rename from tinawebJS/sigma_v1.5/plugins.js rename to twlibs3/sigma_v1.5/plugins.js diff --git a/tinawebJS/sigma_v1.5/sigma.js b/twlibs3/sigma_v1.5/sigma.js similarity index 100% rename from tinawebJS/sigma_v1.5/sigma.js rename to twlibs3/sigma_v1.5/sigma.js diff --git a/tinawebJS/sigma_v1.5/sigma.require.js b/twlibs3/sigma_v1.5/sigma.require.js similarity index 100% rename from tinawebJS/sigma_v1.5/sigma.require.js rename to twlibs3/sigma_v1.5/sigma.require.js diff --git a/tinawebJS/sigma_v1.5/this_build_from_linkurious_src b/twlibs3/sigma_v1.5/this_build_from_linkurious_src similarity index 100% rename from tinawebJS/sigma_v1.5/this_build_from_linkurious_src rename to twlibs3/sigma_v1.5/this_build_from_linkurious_src diff --git a/twlibs/tweets/custom.css b/twlibs3/tweets/custom.css similarity index 100% rename from twlibs/tweets/custom.css rename to twlibs3/tweets/custom.css diff --git a/twlibs/tweets/tweet.light.ltr.css b/twlibs3/tweets/tweet.light.ltr.css similarity index 100% rename from twlibs/tweets/tweet.light.ltr.css rename to twlibs3/tweets/tweet.light.ltr.css diff --git a/twlibs/tweets/widgets.js b/twlibs3/tweets/widgets.js similarity index 100% rename from twlibs/tweets/widgets.js rename to twlibs3/tweets/widgets.js diff --git a/tinawebJS/Tinaweb.js b/twmain/Tinaweb.js similarity index 100% rename from tinawebJS/Tinaweb.js rename to twmain/Tinaweb.js diff --git a/tinawebJS/enviroment.js b/twmain/enviroment.js similarity index 99% rename from tinawebJS/enviroment.js rename to twmain/enviroment.js index 02f2297df8ae3be778a9126652b3c51e65d5663c..15cfb085ab22c5c36e73d535491e7165b604bace 100755 --- a/tinawebJS/enviroment.js +++ b/twmain/enviroment.js @@ -1000,7 +1000,7 @@ function updateSearchLabels(id,name,type){ function createWaitIcon(idname, width) { let icon = document.createElement('img') - icon.src = 'libs/img2/loader.gif' + icon.src = 'twlibs/img/loader.gif' icon.style.position = 'absolute' icon.style.left = '0' diff --git a/extras_explorerjs.js b/twmain/extras_explorerjs.js similarity index 99% rename from extras_explorerjs.js rename to twmain/extras_explorerjs.js index 6c5df93aacccd850c89c8b7204c5c077197750ae..baec2e5e091aafd2362615182645d1ac4cbf7c1c 100755 --- a/extras_explorerjs.js +++ b/twmain/extras_explorerjs.js @@ -357,7 +357,7 @@ function set_ClustersLegend ( daclass, groupedByTicks ) { function getTopPapers(){ // waiting image - let image='<img style="display:block; margin: 0px auto;" src="libs/img2/loader.gif"></img>'; + let image='<img style="display:block; margin: 0px auto;" src="twlibs/img/loader.gif"></img>'; $("#topPapers").html(image); // swNodetypes <=> active types expressed as "semantic" and "social" diff --git a/tinawebJS/globalUtils.js b/twmain/globalUtils.js similarity index 100% rename from tinawebJS/globalUtils.js rename to twmain/globalUtils.js diff --git a/tinawebJS/jLouvain.js b/twmain/jLouvain.js similarity index 100% rename from tinawebJS/jLouvain.js rename to twmain/jLouvain.js diff --git a/tinawebJS/main.js b/twmain/main.js similarity index 100% rename from tinawebJS/main.js rename to twmain/main.js diff --git a/tinawebJS/methods.js b/twmain/methods.js similarity index 98% rename from tinawebJS/methods.js rename to twmain/methods.js index ba2f47945a44f56f3ad067f24d1f1e07f9fc55c3..91a4f100477b99d8c324a9f3801faf4e64448b26 100755 --- a/tinawebJS/methods.js +++ b/twmain/methods.js @@ -339,9 +339,9 @@ function htmlfied_nodesatts(elems){ if(swActual(node.type) == 'semantic'){ information += '<li><b>' + node.label + '</b></li>'; - let google='<a href=http://www.google.com/#hl=en&source=hp&q=%20'+node.label.replace(" ","+")+'%20><img src="libs/img2/google.png"></img></a>'; - let wiki = '<a href=http://en.wikipedia.org/wiki/'+node.label.replace(" ","_")+'><img src="libs/img2/wikipedia.png"></img></a>'; - let flickr= '<a href=http://www.flickr.com/search/?w=all&q='+node.label.replace(" ","+")+'><img src="libs/img2/flickr.png"></img></a>'; + let google='<a href=http://www.google.com/#hl=en&source=hp&q=%20'+node.label.replace(" ","+")+'%20><img src="twlibs/img/google.png"></img></a>'; + let wiki = '<a href=http://en.wikipedia.org/wiki/'+node.label.replace(" ","_")+'><img src="twlibs/img/wikipedia.png"></img></a>'; + let flickr= '<a href=http://www.flickr.com/search/?w=all&q='+node.label.replace(" ","+")+'><img src="twlibs/img/flickr.png"></img></a>'; information += '<li>'+google+" "+wiki+" "+flickr+'</li><br>'; semnodes.push(information) } diff --git a/tinawebJS/sigma.parseCustom.js b/twmain/sigma.parseCustom.js similarity index 100% rename from tinawebJS/sigma.parseCustom.js rename to twmain/sigma.parseCustom.js diff --git a/tinawebJS/sigmaUtils.js b/twmain/sigmaUtils.js similarity index 100% rename from tinawebJS/sigmaUtils.js rename to twmain/sigmaUtils.js diff --git a/tinawebJS/sigma_tools.js b/twmain/sigma_tools.js similarity index 100% rename from tinawebJS/sigma_tools.js rename to twmain/sigma_tools.js diff --git a/tinawebJS/unused_kept_for_reference/asyncFA2.js b/twmain/unused_kept_for_reference/asyncFA2.js similarity index 100% rename from tinawebJS/unused_kept_for_reference/asyncFA2.js rename to twmain/unused_kept_for_reference/asyncFA2.js diff --git a/tinawebJS/unused_kept_for_reference/sigma.forceatlas2.js b/twmain/unused_kept_for_reference/sigma.forceatlas2.js similarity index 100% rename from tinawebJS/unused_kept_for_reference/sigma.forceatlas2.js rename to twmain/unused_kept_for_reference/sigma.forceatlas2.js diff --git a/tinawebJS/unused_kept_for_reference/sigma.v1.customized.js b/twmain/unused_kept_for_reference/sigma.v1.customized.js similarity index 100% rename from tinawebJS/unused_kept_for_reference/sigma.v1.customized.js rename to twmain/unused_kept_for_reference/sigma.v1.customized.js diff --git a/twtools/adapt_html_paths.sh b/twtools/adapt_html_paths.sh new file mode 100644 index 0000000000000000000000000000000000000000..f12035029b69b0152111639ef4c3c60cd258f5bc --- /dev/null +++ b/twtools/adapt_html_paths.sh @@ -0,0 +1,35 @@ +#! /bin/bash + +# Usage exemple: +# bash twtools/adapt_html_paths.sh 'static/projectExplorer/' + + +function helpmessage { + echo '---' + echo 'Suggested usage:' + echo ' > bash twtools/adapt_html_paths.sh "your/relative/url/to/ProjectExplorer/"' + echo '---' + echo 'Explanation:' + echo 'This script helps you deploy ProjectExplorer by adapting all relative paths in the explorerjs.html file for your future production routes.' + echo '---' +} + + +if [ "$1" == "" -o "$1" == "-h" -o "$1" == "-help" -o "$1" == "--help" ] + then + helpmessage + exit 1 + else + # exemple: newpathprefix='static/projectExplorer' + newpathprefix=$1 +fi + +if [ -e explorerjs.html ] + then + perl -pse 's/ ((?:href|src)=[\x22\x27]?)(twlibs|twmain)/ $1$pathprefix$2/g' -- -pathprefix=$newpathprefix < explorerjs.html > explorerjs.prod.html + exit 0 + else + echo 'Please run this script from the ProjectExplorer root' + echo '(because script is looking for ./explorerjs.html)' + helpmessage +fi