56
56
* @asset (qxl/packagebrowser/icon/github-16x16.png)
57
57
*
58
58
* @ignore (location.*)
59
+ * @ignore (showdown)
59
60
* @ignore (qx.$$appRoot)
60
61
*/
62
+ /* global showdown */
61
63
qx . Class . define ( "qxl.packagebrowser.PackageBrowser" , {
62
64
extend : qx . ui . container . Composite ,
63
65
@@ -77,7 +79,6 @@ qx.Class.define("qxl.packagebrowser.PackageBrowser", {
77
79
} ,
78
80
79
81
construct : function ( ) {
80
-
81
82
qxShowdown . Load ;
82
83
this . base ( arguments ) ;
83
84
@@ -254,8 +255,8 @@ qx.Class.define("qxl.packagebrowser.PackageBrowser", {
254
255
255
256
// -- documentaton
256
257
var docButton = new qx . ui . toolbar . Button ( this . tr ( "Documentation" ) , "icon/22/apps/internet-web-browser.png" ) ;
257
- docButton . addListener ( "execute" , ( ) => {
258
- window . open ( ' https://www.qooxdoo.org/docs/#/cli/packages' ) ;
258
+ docButton . addListener ( "execute" , ( ) => {
259
+ window . open ( " https://www.qooxdoo.org/docs/#/cli/packages" ) ;
259
260
} , this ) ;
260
261
docButton . setToolTipText ( "Open package system documentation" ) ;
261
262
bar . add ( docButton ) ;
@@ -501,7 +502,6 @@ qx.Class.define("qxl.packagebrowser.PackageBrowser", {
501
502
leftReloadTree : function ( e ) {
502
503
this . _sampleToTreeNodeMap = { } ;
503
504
var _sampleToTreeNodeMap = this . _sampleToTreeNodeMap ;
504
- var _initialSection = null ;
505
505
var _initialNode = null ;
506
506
507
507
// set a section to open initially
@@ -584,15 +584,14 @@ qx.Class.define("qxl.packagebrowser.PackageBrowser", {
584
584
585
585
// -- Main --------------------------------
586
586
var ttree = this . tests . handler . ttree ;
587
- var that = this ;
588
587
589
588
// Handle current Tree Selection and Content
590
589
this . tree . setUserData ( "modelLink" , ttree ) ; // link top level widgets and model
591
590
592
591
this . tree . getRoot ( ) . setOpen ( true ) ;
593
592
buildSubTree ( this . tree . getRoot ( ) , ttree ) ;
594
593
595
- if ( _initialNode != null ) {
594
+ if ( _initialNode !== null ) {
596
595
this . updateIframe ( _initialNode ) ;
597
596
} else {
598
597
this . tree . setSelection ( [ this . tree . getRoot ( ) ] ) ;
@@ -673,13 +672,15 @@ qx.Class.define("qxl.packagebrowser.PackageBrowser", {
673
672
case "problems" :
674
673
html = this . __getProblemsHtml ( modelNode ) ;
675
674
break ;
676
- default :
675
+ default : {
677
676
let children = modelNode . getChildren ( ) ;
678
677
if ( Array . isArray ( children ) && children . length && children [ 0 ] . type === "library" ) {
678
+ /* eslint-disable-next-line consistent-return */
679
679
return this . updateIframe ( children [ 0 ] ) ;
680
680
}
681
681
state = modelNode . pwd ( ) . slice ( 1 ) . concat ( [ modelNode . label ] ) . join ( "/" ) ;
682
682
url = this . welcomeUrl ;
683
+ }
683
684
}
684
685
} else if ( ! url ) {
685
686
url = this . welcomeUrl ;
@@ -749,10 +750,18 @@ qx.Class.define("qxl.packagebrowser.PackageBrowser", {
749
750
const repo_url = "https://github.com/" + modelNode . uri . split ( / \/ / ) . slice ( 0 , 2 ) . join ( "/" ) ;
750
751
const display = v => v ? "" : "display:none" ;
751
752
753
+ /**
754
+ * @param {...any } args
755
+ */
752
756
function createTableRow ( ...args ) {
753
757
return "<tr>" + args . map ( arg => `<td>${ arg } </td>` ) . join ( "" ) + "</tr>" ;
754
758
}
755
759
760
+ /**
761
+ * @param href
762
+ * @param linktext
763
+ * @param target
764
+ */
756
765
function createAnchor ( href , linktext , target = "_blank" ) {
757
766
return `<a href="${ href } " ${ target ? "target=\"" + target + "\"" : "" } >${ linktext || href } </a>` ;
758
767
}
@@ -761,6 +770,7 @@ qx.Class.define("qxl.packagebrowser.PackageBrowser", {
761
770
if ( ! pkg_uri . startsWith ( "@" ) && ! pkg_uri . startsWith ( "qooxdoo-" ) ) {
762
771
return createTableRow ( createAnchor ( `javascript:void(top.location.hash='${ pkg_uri . replace ( "/" , "~" ) } ~library')` , pkg_uri ) , range ) ;
763
772
}
773
+ return null ;
764
774
} ) . filter ( v => Boolean ( v ) ) ;
765
775
let html = `
766
776
<h1>${ lib . info . name } </h1>
@@ -771,7 +781,7 @@ qx.Class.define("qxl.packagebrowser.PackageBrowser", {
771
781
${ createTableRow ( "Authors:" , this . __getAuthorsHtml ( lib . info . authors ) ) }
772
782
${ createTableRow ( "Homepage:" , createAnchor ( lib . info . homepage ) ) }
773
783
${ createTableRow ( "Repository:" , createAnchor ( repo_url ) ) }
774
- ${ createTableRow ( "Issues:" , createAnchor ( this . __getNewIssueUrl ( modelNode . uri ) , "List of issues" ) + " | " + createAnchor ( this . __getNewIssueUrl ( modelNode . uri , true ) , "Create new issue" ) ) }
784
+ ${ createTableRow ( "Issues:" , createAnchor ( this . __getNewIssueUrl ( modelNode . uri ) , "List of issues" ) + " | " + createAnchor ( this . __getNewIssueUrl ( modelNode . uri , true ) , "Create new issue" ) ) }
775
785
${ createTableRow ( "Keywords:" , this . __getKeywordssHtml ( lib . info . keywords || [ ] ) ) }
776
786
</table>
777
787
<h2 style="${ display ( lib . info . description ) } ">Description</h2>
@@ -808,7 +818,7 @@ qx.Class.define("qxl.packagebrowser.PackageBrowser", {
808
818
} ,
809
819
810
820
__getNewIssueUrl ( uri , newIssue = false ) {
811
- uri = uri . split ( "/" ) . slice ( 0 , 2 ) . join ( "/" ) ;
821
+ uri = uri . split ( "/" ) . slice ( 0 , 2 ) . join ( "/" ) ;
812
822
return `https://github.com/${ uri } /issues${ newIssue ? "/new" : "" } ` ;
813
823
} ,
814
824
@@ -839,7 +849,7 @@ qx.Class.define("qxl.packagebrowser.PackageBrowser", {
839
849
The package author should run <span class="code">qx package migrate</span>
840
850
in the root folder of this package, follow the instructions, and
841
851
release a new version of the package.</p>` ;
842
- log = log . replace ( migrateSignal , "" ) ;
852
+ log = log . replace ( migrateSignal , "" ) ;
843
853
}
844
854
const newIssueBody = [
845
855
`Compiling package '${ info . name } ' with the following environment:` , "" ,
@@ -899,7 +909,7 @@ qx.Class.define("qxl.packagebrowser.PackageBrowser", {
899
909
result . push ( line . replace ( explanation . regex , explanation . description ) ) ;
900
910
}
901
911
return result ;
902
- } , [ ] ) ;
912
+ } , [ ] ) ;
903
913
if ( explainMessages . length ) {
904
914
html += `<h2>Explanation</h2>
905
915
<ul><li>${ explainMessages . join ( "</li><li>" ) } </li></ul>` ;
@@ -918,7 +928,7 @@ qx.Class.define("qxl.packagebrowser.PackageBrowser", {
918
928
const appsHtml = children . map ( childNode => {
919
929
const hash = childNode . pwd ( ) . slice ( 1 ) . concat ( [ childNode . label ] ) . join ( "~" ) ;
920
930
return `<a href="javascript:void(top.location.hash='${ hash } ')"><h2>${ childNode . label } </h2></a>` +
921
- ( childNode . description ? `<p>${ childNode . description } </p>` : "" )
931
+ ( childNode . description ? `<p>${ childNode . description } </p>` : "" ) ;
922
932
}
923
933
) . join ( "\n" ) ;
924
934
return `<h1>Demo Applications</h1>
@@ -958,8 +968,7 @@ qx.Class.define("qxl.packagebrowser.PackageBrowser", {
958
968
} ,
959
969
960
970
async __getReleasesHtml ( modelNode , treeNode ) {
961
-
962
- let uri = modelNode . uri . split ( "/" ) . slice ( 0 , 2 ) . join ( "/" ) ;
971
+ let uri = modelNode . uri . split ( "/" ) . slice ( 0 , 2 ) . join ( "/" ) ;
963
972
let apiUrl = `https://api.github.com/repos/${ uri } /releases` ;
964
973
qxl . packagebrowser . Popup . getInstance ( ) . useIcon ( "waiting" ) . display ( `Loading, please wait... ` ) ;
965
974
try {
@@ -969,7 +978,7 @@ qx.Class.define("qxl.packagebrowser.PackageBrowser", {
969
978
let result = await ( await fetch ( apiUrl ) ) . json ( ) ;
970
979
if ( result . length ) {
971
980
html = `<h1>Releases</h1>` ;
972
- html += result . map ( release => {
981
+ html += result . map ( release => {
973
982
if ( release . draft ) {
974
983
return null ;
975
984
}
@@ -990,7 +999,7 @@ qx.Class.define("qxl.packagebrowser.PackageBrowser", {
990
999
if ( release . tag_name === modelNode . latestVersion ) {
991
1000
titleSuffixes . push ( "current version" ) ;
992
1001
}
993
- let div = document . createElement ( ' div' ) ;
1002
+ let div = document . createElement ( " div" ) ;
994
1003
div . innerText = release . body ;
995
1004
let description = div . innerHTML ;
996
1005
return `
@@ -1036,7 +1045,7 @@ qx.Class.define("qxl.packagebrowser.PackageBrowser", {
1036
1045
// check for the tags
1037
1046
var tags = folder . getUserData ( "tags" ) ;
1038
1047
var inTags = false ;
1039
- if ( tags != null ) {
1048
+ if ( tags !== null ) {
1040
1049
for ( let j = 0 ; j < tags . length ; j ++ ) {
1041
1050
inTags = Boolean ( tags [ j ] . match ( searchRegExp ) ) ;
1042
1051
if ( inTags ) {
@@ -1097,10 +1106,11 @@ qx.Class.define("qxl.packagebrowser.PackageBrowser", {
1097
1106
req . addListener ( "success" , function ( evt ) {
1098
1107
var content = evt . getTarget ( ) . getResponse ( ) ;
1099
1108
if ( ! content ) {
1100
- alert ( "Failed to load package data" ) ;
1109
+ /* eslint-disable-next-line no-alert */
1110
+ alert ( "Failed to load package data" ) ;
1101
1111
return ;
1102
1112
}
1103
-
1113
+ /* eslint-disable-next-line no-eval */
1104
1114
let treeData = eval ( content ) ;
1105
1115
1106
1116
// give the browser a chance to update its UI before doing more
@@ -1114,7 +1124,7 @@ qx.Class.define("qxl.packagebrowser.PackageBrowser", {
1114
1124
if ( state . startsWith ( "filter/" ) ) {
1115
1125
qx . event . Timer . once ( ( ) => {
1116
1126
this . _searchTextField . setValue ( state . slice ( 7 ) ) ;
1117
- } , null , 1000 ) ;
1127
+ } , null , 1000 ) ;
1118
1128
} else {
1119
1129
this . updateIframe ( state ) ;
1120
1130
}
0 commit comments