@jupyterlab/filebrowser 4.6.0-alpha.4 → 4.6.0-alpha.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/browser.d.ts +14 -0
- package/lib/browser.js +48 -1
- package/lib/browser.js.map +1 -1
- package/lib/crumbs.d.ts +76 -0
- package/lib/crumbs.js +362 -81
- package/lib/crumbs.js.map +1 -1
- package/lib/listing.d.ts +84 -11
- package/lib/listing.js +276 -99
- package/lib/listing.js.map +1 -1
- package/lib/model.d.ts +25 -0
- package/lib/model.js +48 -2
- package/lib/model.js.map +1 -1
- package/lib/opendialog.d.ts +7 -0
- package/lib/opendialog.js +5 -4
- package/lib/opendialog.js.map +1 -1
- package/lib/pathnavigator.d.ts +108 -0
- package/lib/pathnavigator.js +389 -0
- package/lib/pathnavigator.js.map +1 -0
- package/package.json +11 -11
- package/src/browser.ts +50 -1
- package/src/crumbs.ts +432 -87
- package/src/listing.ts +418 -119
- package/src/model.ts +63 -2
- package/src/opendialog.ts +13 -0
- package/src/pathnavigator.ts +456 -0
- package/style/base.css +64 -35
- package/style/pathnavigator.css +72 -0
package/lib/model.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAIzD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C;;GAEG;AACH,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAEvC;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAEhD;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC;AAatC;;;;;;GAMG;AACH,MAAM,OAAO,gBAAgB;IAC3B;;OAEG;IACH,YAAY,OAAkC;;QA8lBtC,uBAAkB,GAAG,IAAI,MAAM,CAAc,IAAI,CAAC,CAAC;QACnD,iBAAY,GAAG,IAAI,MAAM,CAA8B,IAAI,CAAC,CAAC;QAC7D,WAAM,GAAsB,EAAE,CAAC;QAC/B,SAAI,GAAW,EAAE,CAAC;QAElB,iBAAY,GAAG,IAAI,MAAM,CAA6B,IAAI,CAAC,CAAC;QAC5D,WAAM,GAAG,IAAI,GAAG,EAAU,CAAC;QAC3B,aAAQ,GAAyB,IAAI,CAAC;QACtC,iBAAY,GAAkB,IAAI,CAAC;QACnC,eAAU,GAAG,IAAI,MAAM,CAAa,IAAI,CAAC,CAAC;QAC1C,cAAS,GAAqB,EAAE,CAAC;QACjC,WAAM,GAAoB,IAAI,CAAC;QAG/B,gBAAW,GAAG,KAAK,CAAC;QACpB,cAAS,GAAG,IAAI,eAAe,EAAQ,CAAC;QACxC,aAAQ,GAAmB,EAAE,CAAC;QAC9B,mBAAc,GAAG,IAAI,MAAM,CACjC,IAAI,CACL,CAAC;QAhnBA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,cAAc,CAAC;QACvD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,iBAAiB,GAAG,MAAA,OAAO,CAAC,gBAAgB,mCAAI,IAAI,CAAC;QAC1D,IAAI,CAAC,MAAM,GAAG;YACZ,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;YACrC,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,SAAS;YAClB,aAAa,EAAE,SAAS;YACxB,QAAQ,EAAE,YAAY;YACtB,MAAM,EAAE,MAAM;SACf,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC;QACpC,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,wBAAwB,CAAC;QAE5E,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;QACrC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAChE,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;QAEtE,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAQ,EAAE,EAAE;YACvC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC;gBAEnE,CAAS,CAAC,WAAW,GAAG,mBAAmB,CAAC;gBAC7C,OAAO,mBAAmB,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC;YACpB,IAAI,EAAE,MAAA,OAAO,CAAC,IAAI,mCAAI,IAAI;YAC1B,IAAI,EAAE,+BAA+B;YACrC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;YAC3B,SAAS,EAAE;gBACT,QAAQ,EAAE,eAAe;gBACzB,OAAO,EAAE,IAAI;gBACb,GAAG,EAAE,GAAG,GAAG,IAAI;aAChB;YACD,OAAO,EAAE,OAAO,CAAC,cAAc,IAAI,aAAa;SACjD,CAAC,CAAC;IACL,CAAC;IAOD;;OAEG;IACH,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QACD,MAAM,CAAC,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACtE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACvB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAC3B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,CAAC,IAAI,GAAG,GAAG;QACjB,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5E,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAC/C,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,2CAA2C;YAC3C,IAAI,IAAI,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC;YACvB,CAAC;YACD,wEAAwE;YACxE,MAAM,IAAI,CAAC,QAAQ,CAAC;QACtB,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;QAC3B,MAAM,OAAO,GAA2B,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC1D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5B,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ;aAC9B,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC;aAClB,IAAI,CAAC,QAAQ,CAAC,EAAE;YACf,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,OAAO;YACT,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACtB,oEAAoE;gBACpE,iDAAiD;gBACjD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC7B,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7C,CAAC;gBAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;oBACrB,IAAI,EAAE,MAAM;oBACZ,QAAQ;oBACR,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YACtE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/B,CAAC,CAAC;aACD,KAAK,CAAC,KAAK,CAAC,EAAE;YACb,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACpE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAC5B,2BAA2B,EAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CACjB,CAAC;gBACF,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACrB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACpC,OAAO,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;QACH,CAAC,CAAC,CAAC;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,QAAQ,CAAC,IAAY;QACzB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACtE,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC;QACnB,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACnC,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACnC,OAAO,KAAK,CAAC,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,QAAQ,GAAG,IAAI;QACvC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QACzB,MAAM,GAAG,GAAG,gBAAgB,EAAE,MAAM,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAE7B,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,0DAA0D;QAC1D,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAEhB,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QAED,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;QAE7B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAErC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAClC,OAAO;YACT,CAAC;YAED,MAAM,IAAI,GAAI,KAA4B,CAAC,MAAM,CAAW,CAAC;YAC7D,sDAAsD;YACtD,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;YACD,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAE5D,MAAM,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED,IAAI,gBAAgB,CAAC,KAAc;QACjC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;IACjC,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,MAAM,CAAC,IAAU,EAAE,IAAa;QACpC,6BAA6B;QAC7B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,2BAA2B,CAAC,CAAC,CAAC;QAC/D,CAAC;QAED,sEAAsE;QACtE,6DAA6D;QAC7D,wEAAwE;QACxE,+BAA+B;QAC/B,MAAM,aAAa,GAAG,UAAU,CAAC,kBAAkB,EAAE,CAAC;QACtD,MAAM,eAAe,GACnB,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB;YAC9C,aAAa,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,+BAA+B;QAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAE9C,IAAI,SAAS,IAAI,CAAC,eAAe,EAAE,CAAC;YAClC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CACxB,iCAAiC,EACjC,eAAe,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,EAC/B,IAAI,CAAC,IAAI,CACV,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClB,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,MAAM,GAAG,GAAG,mBAAmB,CAAC;QAChC,IAAI,SAAS,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACxD,MAAM,6BAA6B,CAAC;QACtC,CAAC;QACD,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAClC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAClC,IACE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;YAC3C,CAAC,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EACnC,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAClC,MAAM,aAAa,GAAG,eAAe,IAAI,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QAChE,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,IAAU;QACzC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC;YAClC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,yBAAyB,CAAC;YAChD,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAClB,yDAAyD,EACzD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CACtC;YACD,OAAO,EAAE;gBACP,MAAM,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxD,MAAM,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;aACvD;SACF,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,OAAO,CACnB,IAAU,EACV,OAAgB,EAChB,UAAmB;QAEnB,oCAAoC;QACpC,IAAI,IAAI,GACN,OAAO,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;QACpE,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,IAAI,GAAyB,MAAM,CAAC;QAC1C,MAAM,MAAM,GAAwB,QAAQ,CAAC;QAE7C,MAAM,WAAW,GAAG,KAAK,EACvB,IAAU,EACV,KAAc,EACY,EAAE;YAC5B,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC3B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACpC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC;gBACxB,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,CACvB,MAAM,CAAC,qBAAqB,IAAI,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAElC,4DAA4D;YAC5D,MAAM,OAAO,GAAI,MAAM,CAAC,MAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAExD,MAAM,KAAK,GAA6B;gBACtC,IAAI;gBACJ,MAAM;gBACN,IAAI;gBACJ,KAAK;gBACL,OAAO;aACR,CAAC;YACF,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAChE,CAAC,CAAC;QAEF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,OAAO,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE;oBACrD,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC;gBACxC,CAAC,CAAC,CAAC;gBACH,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QAED,IAAI,UAAuC,CAAC;QAE5C,IAAI,MAAM,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;YACvB,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QAEH,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,IAAI,UAAU,EAAE,CAAC;YACrD,MAAM,GAAG,GAAG,KAAK,GAAG,UAAU,CAAC;YAC/B,MAAM,SAAS,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC;YACnC,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC;YAEhD,MAAM,SAAS,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACxD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YACpD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;gBACvB,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,MAAM;aACjB,CAAC,CAAC;YACH,MAAM,GAAG,SAAS,CAAC;YAEnB,IAAI,YAA6B,CAAC;YAClC,IAAI,CAAC;gBACH,YAAY,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;YAClE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE;oBACrD,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC;gBACxC,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;oBACvB,IAAI,EAAE,SAAS;oBACf,QAAQ,EAAE,MAAM;oBAChB,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAC;gBAEH,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,IAAI,SAAS,EAAE,CAAC;gBACd,UAAU,GAAG,YAAY,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;YACvB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,oBAAoB;QAC1B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO,OAAO,CAAC,MAAM,CAAC,4CAA4C,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACO,cAAc,CAAC,QAAyB;QAChD,4BAA4B;QAC5B,IAAI,CAAC,MAAM,GAAG;YACZ,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,aAAa,EAAE,QAAQ,CAAC,aAAa;YACrC,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM;SACxB,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAsB,EAAE,EAAE;YAClD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACO,gBAAgB,CACxB,MAAwB,EACxB,MAAgC;QAEhC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACO,aAAa,CACrB,MAAyB,EACzB,MAA6B;QAE7B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAC9B,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC3C,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,MAAM,KAAK,GACT,QAAQ;YACR,QAAQ,CAAC,IAAI;YACb,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI;YAC9C,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,QAAQ;gBACN,QAAQ,CAAC,IAAI;gBACb,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI;gBAClD,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,SAAS,CAAC;QAElB,2EAA2E;QAC3E,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;IACH,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,MAAgC;QACxD,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;CA0BF;AAwDD;;GAEG;AACH,MAAM,OAAO,+BAAgC,SAAQ,gBAAgB;IACnE,YAAY,OAAiD;QAC3D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,IAAI,KAAK,CAAC;IACjE,CAAC;IAED;;;;OAIG;IACH,KAAK;QACH,OAAO,IAAI,CAAC,mBAAmB;YAC7B,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE;YACf,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,KAAc;QAC5B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC;CAGF;AAiBD;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,+BAA+B;IACzE,YAAY,OAAwC;;QAClD,KAAK,CAAC,OAAO,CAAC,CAAC;QAqET,2BAAsB,GAAG,IAAI,MAAM,CAGzC,IAAI,CAAC,CAAC;QAvEN,IAAI,CAAC,OAAO;YACV,MAAA,OAAO,CAAC,MAAM,mCACd,CAAC,KAAK,CAAC,EAAE;gBACP,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,kBAAkB,GAAG,MAAA,OAAO,CAAC,iBAAiB,mCAAI,IAAI,CAAC;QAC5D,IAAI,CAAC,eAAe,GAAG,MAAA,OAAO,CAAC,cAAc,mCAAI,IAAI,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IACD,IAAI,iBAAiB,CAAC,KAAc;QAClC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IACD,IAAI,cAAc,CAAC,KAAc;QAC/B,IAAI,IAAI,CAAC,eAAe,KAAK,KAAK,EAAE,CAAC;YACnC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,IAAI,qBAAqB;QAIvB,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,KAAK;QACH,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,EAAE;YACnC,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC3D,OAAO,IAAI,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACrC,KAAK,CAAC,OAAO,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,CAAC;gBAClC,OAAO,CAAC,CAAC,QAAQ,CAAC;YACpB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,MAA0D;QAClE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC;CASF"}
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
|
package/lib/opendialog.d.ts
CHANGED
|
@@ -23,6 +23,13 @@ export declare namespace FileDialog {
|
|
|
23
23
|
* Default path to open
|
|
24
24
|
*/
|
|
25
25
|
defaultPath?: string;
|
|
26
|
+
/**
|
|
27
|
+
* The root path for navigation.
|
|
28
|
+
*
|
|
29
|
+
* When set, navigation will be restricted to this path and its
|
|
30
|
+
* subdirectories. Users will not be able to navigate above this path.
|
|
31
|
+
*/
|
|
32
|
+
root?: string;
|
|
26
33
|
/**
|
|
27
34
|
* Text to display above the file browser.
|
|
28
35
|
*/
|
package/lib/opendialog.js
CHANGED
|
@@ -64,7 +64,7 @@ class OpenDialog extends Dialog {
|
|
|
64
64
|
// Resolve the dialog with current filebrowser selection
|
|
65
65
|
this.resolve();
|
|
66
66
|
};
|
|
67
|
-
const openDialog = new OpenDialogBody(options.manager, options.filter, translator, options.defaultPath, options.label, true, handleOpenFile);
|
|
67
|
+
const openDialog = new OpenDialogBody(options.manager, options.filter, translator, options.defaultPath, options.root, options.label, true, handleOpenFile);
|
|
68
68
|
super({
|
|
69
69
|
title: options.title,
|
|
70
70
|
buttons: [
|
|
@@ -84,13 +84,13 @@ class OpenDialog extends Dialog {
|
|
|
84
84
|
* Open dialog widget
|
|
85
85
|
*/
|
|
86
86
|
class OpenDialogBody extends Widget {
|
|
87
|
-
constructor(manager, filter, translator, defaultPath, label, filterDirectories, handleOpenFile) {
|
|
87
|
+
constructor(manager, filter, translator, defaultPath, root, label, filterDirectories, handleOpenFile) {
|
|
88
88
|
super();
|
|
89
89
|
this._ready = new PromiseDelegate();
|
|
90
90
|
translator = translator !== null && translator !== void 0 ? translator : nullTranslator;
|
|
91
91
|
const trans = translator.load('jupyterlab');
|
|
92
92
|
this.addClass(OPEN_DIALOG_CLASS);
|
|
93
|
-
Private.createFilteredFileBrowser('filtered-file-browser-dialog', manager, filter, {}, translator, defaultPath, filterDirectories, handleOpenFile)
|
|
93
|
+
Private.createFilteredFileBrowser('filtered-file-browser-dialog', manager, filter, {}, translator, defaultPath, root, filterDirectories, handleOpenFile)
|
|
94
94
|
.then(browser => {
|
|
95
95
|
this._browser = browser;
|
|
96
96
|
// Add toolbar items
|
|
@@ -203,7 +203,7 @@ var Private;
|
|
|
203
203
|
* as the initial ID passed into the factory is used for only one file browser
|
|
204
204
|
* instance.
|
|
205
205
|
*/
|
|
206
|
-
Private.createFilteredFileBrowser = async (id, manager, filter, options = {}, translator, defaultPath, filterDirectories, handleOpenFile) => {
|
|
206
|
+
Private.createFilteredFileBrowser = async (id, manager, filter, options = {}, translator, defaultPath, root, filterDirectories, handleOpenFile) => {
|
|
207
207
|
translator = translator || nullTranslator;
|
|
208
208
|
const model = new FilterFileBrowserModel({
|
|
209
209
|
manager,
|
|
@@ -211,6 +211,7 @@ var Private;
|
|
|
211
211
|
translator,
|
|
212
212
|
driveName: options.driveName,
|
|
213
213
|
refreshInterval: options.refreshInterval,
|
|
214
|
+
root,
|
|
214
215
|
filterDirectories
|
|
215
216
|
});
|
|
216
217
|
const widget = new FileBrowser({
|
package/lib/opendialog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opendialog.js","sourceRoot":"","sources":["../src/opendialog.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAIhD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;GAEG;AACH,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAE3C;;GAEG;AACH,MAAM,uBAAuB,GAAG,sBAAsB,CAAC;AAEvD;;GAEG;AACH,MAAM,KAAW,UAAU,
|
|
1
|
+
{"version":3,"file":"opendialog.js","sourceRoot":"","sources":["../src/opendialog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import type { ITranslator } from '@jupyterlab/translation';
|
|
2
|
+
import type { Message } from '@lumino/messaging';
|
|
3
|
+
import type { ISignal } from '@lumino/signaling';
|
|
4
|
+
import { Widget } from '@lumino/widgets';
|
|
5
|
+
import type { FileBrowserModel } from './model';
|
|
6
|
+
/**
|
|
7
|
+
* A widget that renders a path text input with directory autocomplete.
|
|
8
|
+
* It owns only the input field and the suggestions dropdown.
|
|
9
|
+
* The trigger button and edit-mode state are managed by the parent widget.
|
|
10
|
+
*/
|
|
11
|
+
export declare class PathNavigator extends Widget {
|
|
12
|
+
constructor(options: PathNavigator.IOptions);
|
|
13
|
+
/**
|
|
14
|
+
* A signal emitted when the navigator closes (Escape, blur, or after
|
|
15
|
+
* navigation is committed). The parent widget should use this to exit
|
|
16
|
+
* edit mode.
|
|
17
|
+
*/
|
|
18
|
+
get closed(): ISignal<this, void>;
|
|
19
|
+
/**
|
|
20
|
+
* Dispose of the resources held by the widget.
|
|
21
|
+
*/
|
|
22
|
+
dispose(): void;
|
|
23
|
+
/**
|
|
24
|
+
* Open the path input: prefill with the model's current path, focus,
|
|
25
|
+
* and load suggestions.
|
|
26
|
+
*/
|
|
27
|
+
open(): void;
|
|
28
|
+
/**
|
|
29
|
+
* A message handler invoked on an `'after-attach'` message.
|
|
30
|
+
*/
|
|
31
|
+
protected onAfterAttach(msg: Message): void;
|
|
32
|
+
/**
|
|
33
|
+
* A message handler invoked on a `'before-detach'` message.
|
|
34
|
+
*/
|
|
35
|
+
protected onBeforeDetach(msg: Message): void;
|
|
36
|
+
handleEvent(event: Event): void;
|
|
37
|
+
/**
|
|
38
|
+
* Close the input and notify the parent via the `closed` signal.
|
|
39
|
+
*/
|
|
40
|
+
private _close;
|
|
41
|
+
/**
|
|
42
|
+
* Navigate to the given path, then close the input.
|
|
43
|
+
*/
|
|
44
|
+
private _commitNavigation;
|
|
45
|
+
/**
|
|
46
|
+
* Whether the refreshed path corresponds to the last submitted path.
|
|
47
|
+
*/
|
|
48
|
+
matchesSubmittedPath(localPath: string): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Fetch and display directory suggestions for the given input value.
|
|
51
|
+
*/
|
|
52
|
+
private _updateSuggestions;
|
|
53
|
+
/**
|
|
54
|
+
* Re-render the suggestions list from the given paths.
|
|
55
|
+
*/
|
|
56
|
+
private _renderSuggestions;
|
|
57
|
+
/**
|
|
58
|
+
* Handle keyboard navigation and confirmation inside the input.
|
|
59
|
+
*/
|
|
60
|
+
private _evtKeydown;
|
|
61
|
+
/**
|
|
62
|
+
* Handle mousedown on a suggestion item.
|
|
63
|
+
*
|
|
64
|
+
* Using mousedown (before blur) and calling preventDefault() keeps focus on
|
|
65
|
+
* the input, so we can navigate without the blur handler firing first.
|
|
66
|
+
*/
|
|
67
|
+
private _evtSuggestionMousedown;
|
|
68
|
+
/**
|
|
69
|
+
* Move the active suggestion up or down by `direction` steps.
|
|
70
|
+
*/
|
|
71
|
+
private _navigateSuggestions;
|
|
72
|
+
/**
|
|
73
|
+
* Accept the highlighted suggestion (Tab key).
|
|
74
|
+
* If none is highlighted, complete to the sole match or longest common prefix.
|
|
75
|
+
*/
|
|
76
|
+
private _acceptSuggestion;
|
|
77
|
+
/**
|
|
78
|
+
* Handle the model's `refreshed` signal.
|
|
79
|
+
* Invalidate the suggestion cache so the next lookup fetches fresh data.
|
|
80
|
+
* If the input is currently open, proactively re-fetch suggestions.
|
|
81
|
+
*/
|
|
82
|
+
private _onModelRefreshed;
|
|
83
|
+
private _model;
|
|
84
|
+
private _trans;
|
|
85
|
+
private _inputNode;
|
|
86
|
+
private _suggestionsNode;
|
|
87
|
+
private _closed;
|
|
88
|
+
private _isOpen;
|
|
89
|
+
private _suggestions;
|
|
90
|
+
private _currentFilteredSuggestions;
|
|
91
|
+
private _activeSuggestionIndex;
|
|
92
|
+
private _suggestionDirPath;
|
|
93
|
+
private _suggestionFetchTime;
|
|
94
|
+
private _fetchId;
|
|
95
|
+
private _submittedLocalPath;
|
|
96
|
+
}
|
|
97
|
+
export declare namespace PathNavigator {
|
|
98
|
+
interface IOptions {
|
|
99
|
+
/**
|
|
100
|
+
* The file browser model.
|
|
101
|
+
*/
|
|
102
|
+
model: FileBrowserModel;
|
|
103
|
+
/**
|
|
104
|
+
* The application language translator.
|
|
105
|
+
*/
|
|
106
|
+
translator?: ITranslator;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
@@ -0,0 +1,389 @@
|
|
|
1
|
+
// Copyright (c) Jupyter Development Team.
|
|
2
|
+
// Distributed under the terms of the Modified BSD License.
|
|
3
|
+
import { showErrorMessage } from '@jupyterlab/apputils';
|
|
4
|
+
import { nullTranslator } from '@jupyterlab/translation';
|
|
5
|
+
import { Signal } from '@lumino/signaling';
|
|
6
|
+
import { Widget } from '@lumino/widgets';
|
|
7
|
+
/**
|
|
8
|
+
* We cache per directory; in case the filesystem changes below us, we refresh
|
|
9
|
+
* every 5000 ms just in case; Note that on model update it should refresh as
|
|
10
|
+
* well; so this is extra precautions.
|
|
11
|
+
*/
|
|
12
|
+
const SUGGESTION_CACHE_TTL_MS = 5000;
|
|
13
|
+
const PATHNAVIGATOR_CLASS = 'jp-PathNavigator';
|
|
14
|
+
const PATHNAVIGATOR_SUGGESTIONS_CLASS = 'jp-PathNavigator-suggestions';
|
|
15
|
+
/**
|
|
16
|
+
* A widget that renders a path text input with directory autocomplete.
|
|
17
|
+
* It owns only the input field and the suggestions dropdown.
|
|
18
|
+
* The trigger button and edit-mode state are managed by the parent widget.
|
|
19
|
+
*/
|
|
20
|
+
export class PathNavigator extends Widget {
|
|
21
|
+
constructor(options) {
|
|
22
|
+
var _a;
|
|
23
|
+
super({ node: document.createElement('span') });
|
|
24
|
+
this._closed = new Signal(this);
|
|
25
|
+
this._isOpen = false;
|
|
26
|
+
this._suggestions = [];
|
|
27
|
+
this._currentFilteredSuggestions = [];
|
|
28
|
+
this._activeSuggestionIndex = -1;
|
|
29
|
+
this._suggestionDirPath = '';
|
|
30
|
+
this._suggestionFetchTime = 0;
|
|
31
|
+
this._fetchId = 0;
|
|
32
|
+
this._submittedLocalPath = null;
|
|
33
|
+
this.addClass(PATHNAVIGATOR_CLASS);
|
|
34
|
+
this._model = options.model;
|
|
35
|
+
this._trans = ((_a = options.translator) !== null && _a !== void 0 ? _a : nullTranslator).load('jupyterlab');
|
|
36
|
+
this._inputNode = document.createElement('input');
|
|
37
|
+
this._inputNode.type = 'text';
|
|
38
|
+
this._inputNode.placeholder = this._trans.__('Type a path…');
|
|
39
|
+
this._suggestionsNode = document.createElement('ul');
|
|
40
|
+
this._suggestionsNode.className = PATHNAVIGATOR_SUGGESTIONS_CLASS;
|
|
41
|
+
this._suggestionsNode.style.display = 'none';
|
|
42
|
+
this.node.appendChild(this._inputNode);
|
|
43
|
+
this.node.appendChild(this._suggestionsNode);
|
|
44
|
+
this._model.refreshed.connect(this._onModelRefreshed, this);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* A signal emitted when the navigator closes (Escape, blur, or after
|
|
48
|
+
* navigation is committed). The parent widget should use this to exit
|
|
49
|
+
* edit mode.
|
|
50
|
+
*/
|
|
51
|
+
get closed() {
|
|
52
|
+
return this._closed;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Dispose of the resources held by the widget.
|
|
56
|
+
*/
|
|
57
|
+
dispose() {
|
|
58
|
+
if (this.isDisposed) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
this._model.refreshed.disconnect(this._onModelRefreshed, this);
|
|
62
|
+
Signal.clearData(this);
|
|
63
|
+
super.dispose();
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Open the path input: prefill with the model's current path, focus,
|
|
67
|
+
* and load suggestions.
|
|
68
|
+
*/
|
|
69
|
+
open() {
|
|
70
|
+
this._isOpen = true;
|
|
71
|
+
const contents = this._model.manager.services.contents;
|
|
72
|
+
const currentPath = contents.localPath(this._model.path);
|
|
73
|
+
const prefill = currentPath ? currentPath + '/' : '';
|
|
74
|
+
this._inputNode.value = prefill;
|
|
75
|
+
// Defer focus so that callers (e.g. command palette) can finish their
|
|
76
|
+
// own focus cleanup before we grab focus. Without this, the palette's
|
|
77
|
+
// closing logic can steal focus back, triggering the blur→close handler
|
|
78
|
+
// and immediately exiting edit mode.
|
|
79
|
+
requestAnimationFrame(() => {
|
|
80
|
+
if (!this._isOpen || this.isDisposed) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
this._inputNode.focus();
|
|
84
|
+
this._inputNode.setSelectionRange(prefill.length, prefill.length);
|
|
85
|
+
});
|
|
86
|
+
void this._updateSuggestions(prefill);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* A message handler invoked on an `'after-attach'` message.
|
|
90
|
+
*/
|
|
91
|
+
onAfterAttach(msg) {
|
|
92
|
+
super.onAfterAttach(msg);
|
|
93
|
+
this._inputNode.addEventListener('input', this);
|
|
94
|
+
this._inputNode.addEventListener('keydown', this);
|
|
95
|
+
this._inputNode.addEventListener('blur', this);
|
|
96
|
+
// Use mousedown (not click) so we can preventDefault() before blur fires.
|
|
97
|
+
this._suggestionsNode.addEventListener('mousedown', this);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* A message handler invoked on a `'before-detach'` message.
|
|
101
|
+
*/
|
|
102
|
+
onBeforeDetach(msg) {
|
|
103
|
+
this._inputNode.removeEventListener('input', this);
|
|
104
|
+
this._inputNode.removeEventListener('keydown', this);
|
|
105
|
+
this._inputNode.removeEventListener('blur', this);
|
|
106
|
+
this._suggestionsNode.removeEventListener('mousedown', this);
|
|
107
|
+
super.onBeforeDetach(msg);
|
|
108
|
+
}
|
|
109
|
+
handleEvent(event) {
|
|
110
|
+
switch (event.type) {
|
|
111
|
+
case 'input':
|
|
112
|
+
void this._updateSuggestions(this._inputNode.value);
|
|
113
|
+
break;
|
|
114
|
+
case 'keydown':
|
|
115
|
+
this._evtKeydown(event);
|
|
116
|
+
break;
|
|
117
|
+
case 'blur':
|
|
118
|
+
this._close();
|
|
119
|
+
break;
|
|
120
|
+
case 'mousedown':
|
|
121
|
+
this._evtSuggestionMousedown(event);
|
|
122
|
+
break;
|
|
123
|
+
default:
|
|
124
|
+
break;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Close the input and notify the parent via the `closed` signal.
|
|
129
|
+
*/
|
|
130
|
+
_close() {
|
|
131
|
+
if (!this._isOpen || this.isDisposed) {
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
this._isOpen = false;
|
|
135
|
+
this._submittedLocalPath = null;
|
|
136
|
+
this._suggestionsNode.style.display = 'none';
|
|
137
|
+
this._closed.emit();
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Navigate to the given path, then close the input.
|
|
141
|
+
*/
|
|
142
|
+
_commitNavigation(path) {
|
|
143
|
+
// Strip trailing slash (except bare root), then ensure a leading slash so
|
|
144
|
+
// model.cd() → resolvePath() treats this as absolute rather than relative
|
|
145
|
+
// to the current directory.
|
|
146
|
+
let normalized = path.endsWith('/') && path.length > 1 ? path.slice(0, -1) : path;
|
|
147
|
+
if (!normalized.startsWith('/')) {
|
|
148
|
+
normalized = '/' + normalized;
|
|
149
|
+
}
|
|
150
|
+
// Collapse any double slashes that may result from the above transforms.
|
|
151
|
+
normalized = normalized.replace(/\/\/+/g, '/');
|
|
152
|
+
this._submittedLocalPath = this._model.manager.services.contents.localPath(normalized || '/');
|
|
153
|
+
// Hide suggestions immediately so the input looks committed.
|
|
154
|
+
this._suggestionsNode.style.display = 'none';
|
|
155
|
+
this._model
|
|
156
|
+
.cd(normalized || '/')
|
|
157
|
+
.then(() => this._close())
|
|
158
|
+
.catch(error => {
|
|
159
|
+
this._submittedLocalPath = null;
|
|
160
|
+
void showErrorMessage(this._trans.__('Open Error'), error);
|
|
161
|
+
this._close();
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Whether the refreshed path corresponds to the last submitted path.
|
|
166
|
+
*/
|
|
167
|
+
matchesSubmittedPath(localPath) {
|
|
168
|
+
return this._submittedLocalPath === localPath;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Fetch and display directory suggestions for the given input value.
|
|
172
|
+
*/
|
|
173
|
+
async _updateSuggestions(inputValue) {
|
|
174
|
+
if (!this._isOpen) {
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
const lastSlash = inputValue.lastIndexOf('/');
|
|
178
|
+
const rawDirPart = lastSlash >= 0 ? inputValue.slice(0, lastSlash) : '';
|
|
179
|
+
// Normalize to a path relative to the Jupyter server root by stripping
|
|
180
|
+
// any leading slash.
|
|
181
|
+
const dirPart = rawDirPart.startsWith('/')
|
|
182
|
+
? rawDirPart.slice(1)
|
|
183
|
+
: rawDirPart;
|
|
184
|
+
const searchPart = lastSlash >= 0 ? inputValue.slice(lastSlash + 1) : inputValue;
|
|
185
|
+
// Re-fetch when the directory changes or the cache has gone stale.
|
|
186
|
+
const cacheStale = Date.now() - this._suggestionFetchTime > SUGGESTION_CACHE_TTL_MS;
|
|
187
|
+
if (dirPart !== this._suggestionDirPath || cacheStale) {
|
|
188
|
+
const fetchId = ++this._fetchId;
|
|
189
|
+
try {
|
|
190
|
+
const contents = this._model.manager.services.contents;
|
|
191
|
+
const result = await contents.get(dirPart || '', { content: true });
|
|
192
|
+
// Discard result if a newer fetch has started or the widget was closed.
|
|
193
|
+
if (fetchId !== this._fetchId || !this._isOpen) {
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
this._suggestionDirPath = dirPart;
|
|
197
|
+
this._suggestionFetchTime = Date.now();
|
|
198
|
+
const items = result.type === 'directory'
|
|
199
|
+
? result.content
|
|
200
|
+
: [];
|
|
201
|
+
this._suggestions = items
|
|
202
|
+
.filter(item => item.type === 'directory')
|
|
203
|
+
.map(item => (dirPart ? `${dirPart}/${item.name}` : item.name));
|
|
204
|
+
}
|
|
205
|
+
catch (_a) {
|
|
206
|
+
this._suggestionDirPath = dirPart;
|
|
207
|
+
this._suggestionFetchTime = Date.now();
|
|
208
|
+
this._suggestions = [];
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
const lower = searchPart.toLowerCase();
|
|
212
|
+
const showHidden = searchPart.startsWith('.') ||
|
|
213
|
+
('includeHiddenFiles' in this._model &&
|
|
214
|
+
this._model.includeHiddenFiles);
|
|
215
|
+
const filtered = this._suggestions.filter(s => {
|
|
216
|
+
const base = s.slice(s.lastIndexOf('/') + 1);
|
|
217
|
+
if (!showHidden && base.startsWith('.')) {
|
|
218
|
+
return false;
|
|
219
|
+
}
|
|
220
|
+
return base.toLowerCase().startsWith(lower);
|
|
221
|
+
});
|
|
222
|
+
this._activeSuggestionIndex = -1;
|
|
223
|
+
this._renderSuggestions(filtered.slice().sort((a, b) => {
|
|
224
|
+
const nameA = a.slice(a.lastIndexOf('/') + 1);
|
|
225
|
+
const nameB = b.slice(b.lastIndexOf('/') + 1);
|
|
226
|
+
return nameA.localeCompare(nameB);
|
|
227
|
+
}));
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Re-render the suggestions list from the given paths.
|
|
231
|
+
*/
|
|
232
|
+
_renderSuggestions(suggestions) {
|
|
233
|
+
this._suggestionsNode.replaceChildren();
|
|
234
|
+
this._currentFilteredSuggestions = suggestions;
|
|
235
|
+
if (suggestions.length === 0) {
|
|
236
|
+
this._suggestionsNode.style.display = 'none';
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
239
|
+
for (const path of suggestions) {
|
|
240
|
+
const li = document.createElement('li');
|
|
241
|
+
const name = path.slice(path.lastIndexOf('/') + 1);
|
|
242
|
+
li.textContent = name;
|
|
243
|
+
li.dataset.path = path;
|
|
244
|
+
if (name.startsWith('.')) {
|
|
245
|
+
li.dataset.isDot = '';
|
|
246
|
+
}
|
|
247
|
+
this._suggestionsNode.appendChild(li);
|
|
248
|
+
}
|
|
249
|
+
this._suggestionsNode.style.display = '';
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Handle keyboard navigation and confirmation inside the input.
|
|
253
|
+
*/
|
|
254
|
+
_evtKeydown(event) {
|
|
255
|
+
var _a;
|
|
256
|
+
switch (event.key) {
|
|
257
|
+
case 'Enter':
|
|
258
|
+
this._commitNavigation(this._inputNode.value);
|
|
259
|
+
break;
|
|
260
|
+
case 'Escape':
|
|
261
|
+
this._close();
|
|
262
|
+
break;
|
|
263
|
+
case 'Tab':
|
|
264
|
+
// Only prevent default Tab behavior when there is a suggestion to accept.
|
|
265
|
+
if ((_a = this._currentFilteredSuggestions) === null || _a === void 0 ? void 0 : _a.length) {
|
|
266
|
+
event.preventDefault();
|
|
267
|
+
this._acceptSuggestion();
|
|
268
|
+
}
|
|
269
|
+
break;
|
|
270
|
+
case 'ArrowDown':
|
|
271
|
+
event.preventDefault();
|
|
272
|
+
this._navigateSuggestions(1);
|
|
273
|
+
break;
|
|
274
|
+
case 'ArrowUp':
|
|
275
|
+
event.preventDefault();
|
|
276
|
+
this._navigateSuggestions(-1);
|
|
277
|
+
break;
|
|
278
|
+
// `/` should be use to commit navigation to a new folder while the user
|
|
279
|
+
// types. It just happens for current implementation to not need anything.
|
|
280
|
+
// case '/'
|
|
281
|
+
// break
|
|
282
|
+
default:
|
|
283
|
+
break;
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Handle mousedown on a suggestion item.
|
|
288
|
+
*
|
|
289
|
+
* Using mousedown (before blur) and calling preventDefault() keeps focus on
|
|
290
|
+
* the input, so we can navigate without the blur handler firing first.
|
|
291
|
+
*/
|
|
292
|
+
_evtSuggestionMousedown(event) {
|
|
293
|
+
// Prevent the input from losing focus before we process the selection.
|
|
294
|
+
event.preventDefault();
|
|
295
|
+
let target = event.target;
|
|
296
|
+
while (target && target !== this._suggestionsNode) {
|
|
297
|
+
if (target.tagName === 'LI') {
|
|
298
|
+
const path = target.dataset.path;
|
|
299
|
+
if (path) {
|
|
300
|
+
this._commitNavigation(path);
|
|
301
|
+
}
|
|
302
|
+
return;
|
|
303
|
+
}
|
|
304
|
+
target = target.parentElement;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* Move the active suggestion up or down by `direction` steps.
|
|
309
|
+
*/
|
|
310
|
+
_navigateSuggestions(direction) {
|
|
311
|
+
const items = Array.from(this._suggestionsNode.children);
|
|
312
|
+
if (items.length === 0) {
|
|
313
|
+
return;
|
|
314
|
+
}
|
|
315
|
+
if (this._activeSuggestionIndex >= 0) {
|
|
316
|
+
items[this._activeSuggestionIndex].classList.remove('jp-mod-active');
|
|
317
|
+
}
|
|
318
|
+
this._activeSuggestionIndex += direction;
|
|
319
|
+
if (this._activeSuggestionIndex < 0) {
|
|
320
|
+
this._activeSuggestionIndex = items.length - 1;
|
|
321
|
+
}
|
|
322
|
+
else if (this._activeSuggestionIndex >= items.length) {
|
|
323
|
+
this._activeSuggestionIndex = 0;
|
|
324
|
+
}
|
|
325
|
+
const activeItem = items[this._activeSuggestionIndex];
|
|
326
|
+
activeItem.classList.add('jp-mod-active');
|
|
327
|
+
activeItem.scrollIntoView({ block: 'nearest' });
|
|
328
|
+
const path = activeItem.dataset.path;
|
|
329
|
+
if (path) {
|
|
330
|
+
// It is tempting to append / here, though not appending it allows us to
|
|
331
|
+
// use this key (`/`) as committing navigation in the pathnavigator and
|
|
332
|
+
// keep typing, and showing completion while Enter/Return validate the
|
|
333
|
+
// breadcrumb level. Appending / here feels awkward when used in
|
|
334
|
+
// practice.
|
|
335
|
+
// Note that (`/`) is not handled specifically in `_evtKeydown`, as the
|
|
336
|
+
// codepath is the same as default;
|
|
337
|
+
this._inputNode.value = path;
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* Accept the highlighted suggestion (Tab key).
|
|
342
|
+
* If none is highlighted, complete to the sole match or longest common prefix.
|
|
343
|
+
*/
|
|
344
|
+
_acceptSuggestion() {
|
|
345
|
+
const items = Array.from(this._suggestionsNode.children);
|
|
346
|
+
if (this._activeSuggestionIndex >= 0 &&
|
|
347
|
+
items[this._activeSuggestionIndex]) {
|
|
348
|
+
const path = items[this._activeSuggestionIndex].dataset.path;
|
|
349
|
+
if (path) {
|
|
350
|
+
this._inputNode.value = path + '/';
|
|
351
|
+
void this._updateSuggestions(this._inputNode.value);
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
else if (this._currentFilteredSuggestions.length === 1) {
|
|
355
|
+
this._inputNode.value = this._currentFilteredSuggestions[0] + '/';
|
|
356
|
+
void this._updateSuggestions(this._inputNode.value);
|
|
357
|
+
}
|
|
358
|
+
else if (this._currentFilteredSuggestions.length > 1) {
|
|
359
|
+
// Complete to the longest common prefix of all matching names.
|
|
360
|
+
const names = this._currentFilteredSuggestions.map(s => s.slice(s.lastIndexOf('/') + 1));
|
|
361
|
+
let prefix = names[0];
|
|
362
|
+
for (const name of names.slice(1)) {
|
|
363
|
+
let i = 0;
|
|
364
|
+
while (i < prefix.length && i < name.length && prefix[i] === name[i]) {
|
|
365
|
+
i++;
|
|
366
|
+
}
|
|
367
|
+
prefix = prefix.slice(0, i);
|
|
368
|
+
}
|
|
369
|
+
if (prefix) {
|
|
370
|
+
const lastSlash = this._inputNode.value.lastIndexOf('/');
|
|
371
|
+
const dirPart = lastSlash >= 0 ? this._inputNode.value.slice(0, lastSlash + 1) : '';
|
|
372
|
+
this._inputNode.value = dirPart + prefix;
|
|
373
|
+
void this._updateSuggestions(this._inputNode.value);
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
/**
|
|
378
|
+
* Handle the model's `refreshed` signal.
|
|
379
|
+
* Invalidate the suggestion cache so the next lookup fetches fresh data.
|
|
380
|
+
* If the input is currently open, proactively re-fetch suggestions.
|
|
381
|
+
*/
|
|
382
|
+
_onModelRefreshed() {
|
|
383
|
+
this._suggestionFetchTime = 0;
|
|
384
|
+
if (this._isOpen) {
|
|
385
|
+
void this._updateSuggestions(this._inputNode.value);
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
//# sourceMappingURL=pathnavigator.js.map
|