mbuali's picture
Upload folder using huggingface_hub
d1ceb73 verified
"use strict";(self.webpackChunk_JUPYTERLAB_CORE_OUTPUT=self.webpackChunk_JUPYTERLAB_CORE_OUTPUT||[]).push([[9821],{69821:(e,t,n)=>{n.r(t),n.d(t,{IPluginManager:()=>y,PluginListModel:()=>h,Plugins:()=>g});var i=n(53312),s=n(68722),a=n(87408),r=n(35613),l=n(81997),o=n(20998),d=n(12030),c=n(78156);function u(e){return c.createElement("div",{className:"jp-pluginmanager-PluginInUseMessage"},e.trans.__('While the plugin "%1" is not required by other enabled plugins, some plugins provide optional features depending on it. These plugins are:',e.plugin.id),c.createElement("ul",null,e.optionalDependants.map((e=>c.createElement("li",{key:"optionalDependantsDialog-"+e.id},e.id)))),e.trans.__("Do you want to disable it anyway?"))}class h extends r.VDomModel{constructor(e){var t,n,i;super(),this.statusError=null,this.actionError=null,this._trackerDataChanged=new l.Signal(this),this._isLoading=!1,this._pendingActions=[],this._ready=new o.PromiseDelegate,this._pluginData=e.pluginData,this._serverSettings=e.serverSettings||a.ServerConnection.makeSettings(),this._query=e.query||"",this._isDisclaimed=null!==(t=e.isDisclaimed)&&void 0!==t&&t,this._extraLockedPlugins=null!==(n=e.extraLockedPlugins)&&void 0!==n?n:[],this.refresh().then((()=>this._ready.resolve())).catch((e=>this._ready.reject(e))),this._trans=(null!==(i=e.translator)&&void 0!==i?i:d.nullTranslator).load("jupyterlab")}get available(){return[...this._available.values()]}get isLoading(){return this._isLoading}get isDisclaimed(){return this._isDisclaimed}set isDisclaimed(e){e!==this._isDisclaimed&&(this._isDisclaimed=e,this.stateChanged.emit(),this._trackerDataChanged.emit(void 0))}get query(){return this._query}set query(e){this._query!==e&&(this._query=e,this.stateChanged.emit(),this._trackerDataChanged.emit(void 0))}get trackerDataChanged(){return this._trackerDataChanged}get ready(){return this._ready.promise}async enable(e){if(!this.isDisclaimed)throw new Error("User has not confirmed the disclaimer");await this._performAction("enable",e),e.enabled=!0}async disable(e){if(!this.isDisclaimed)throw new Error("User has not confirmed the disclaimer");const{dependants:t,optionalDependants:n}=this.getDependants(e);if(t.length>0)(0,i.showDialog)({title:this._trans.__("This plugin is required by other plugins"),body:(s={plugin:e,dependants:t,trans:this._trans},c.createElement(c.Fragment,null,s.trans.__('The plugin "%1" cannot be disabled as it is required by other plugins:',s.plugin.id),c.createElement("ul",null,s.dependants.map((e=>c.createElement("li",{key:"dependantsDialog-"+e.id},e.id)))),s.trans.__("Please disable the dependant plugins first."))),buttons:[i.Dialog.okButton()]});else{var s;if(n.length>0&&!(await(0,i.showDialog)({title:this._trans.__("This plugin is used by other plugins"),body:u({plugin:e,optionalDependants:n,trans:this._trans}),buttons:[i.Dialog.okButton({label:this._trans.__("Disable anyway")}),i.Dialog.cancelButton()]})).button.accept)return;await this._performAction("disable",e),this.actionError||(e.enabled=!1)}}getDependants(e){const t=[],n=[];if(e.provides){const i=e.provides.name;for(const e of this._available.values())e.enabled&&(e.requires.filter((e=>!!e)).some((e=>e.name===i))&&t.push(e),e.optional.filter((e=>!!e)).some((e=>e.name===i))&&n.push(e))}return{dependants:t,optionalDependants:n}}hasPendingActions(){return this._pendingActions.length>0}_performAction(e,t){this.actionError=null;const n=this._requestAPI({},{method:"POST",body:JSON.stringify({cmd:e,plugin_name:t.id})});return n.catch((e=>{this.actionError=e.toString()})),this._addPendingAction(n),n}_addPendingAction(e){this._pendingActions.push(e);const t=()=>{const t=this._pendingActions.indexOf(e);this._pendingActions.splice(t,1),this.stateChanged.emit(void 0)};e.then(t,t),this.stateChanged.emit(void 0)}async refresh(){var e;this.statusError=null,this._isLoading=!0,this.stateChanged.emit();try{const t={allLocked:!0,lockRules:[]},n=null!==(e=await this._requestAPI())&&void 0!==e?e:t;this._available=new Map(this._pluginData.availablePlugins.map((e=>{let t=e.provides?e.provides.name.split(":")[1]:void 0;return e.provides&&!t&&(t=e.provides.name),[e.id,{...e,locked:this._isLocked(e.id,n),tokenLabel:t}]})))}catch(e){this.statusError=e.toString()}finally{this._isLoading=!1,this.stateChanged.emit()}}_isLocked(e,t){if(t.allLocked)return!0;if(this._extraLockedPlugins.includes(e))return!0;const n=e.split(":")[0];return!!t.lockRules.includes(n)||!!t.lockRules.includes(e)}async _requestAPI(e={},t={}){const n=this._serverSettings,i=s.URLExt.join(n.baseUrl,"lab/api/plugins");let r;try{r=await a.ServerConnection.makeRequest(i+s.URLExt.objectToQueryString(e),t,n)}catch(e){throw new a.ServerConnection.NetworkError(e)}let l=await r.text();if(l.length>0)try{l=JSON.parse(l)}catch(e){console.log("Not a JSON response body.",r)}if(!r.ok)throw new a.ServerConnection.ResponseError(r,l.message||l);return l}}var p=n(63485);class g extends p.Panel{constructor(e){const{model:t,translator:n}=e;super(),this.model=t,this.addClass("jp-pluginmanager"),this.trans=n.load("jupyterlab"),this.addWidget(new _(t,this.trans));const i=new b(t,this.trans);this.addWidget(i);const s=new m(t,this.trans);this.addWidget(s)}}class m extends i.VDomRenderer{constructor(e,t){super(e),this.trans=t,this.addClass("jp-pluginmanager-AvailableList")}render(){return c.createElement(c.Fragment,null,null!==this.model.statusError?c.createElement(E,null,this.trans.__("Error querying installed extensions%1",this.model.statusError?`: ${this.model.statusError}`:".")):this.model.isLoading?c.createElement("div",{className:"jp-pluginmanager-loader"},this.trans.__("Updating plugin list…")):c.createElement(r.Table,{blankIndicator:()=>c.createElement("div",null,this.trans.__("No entries")),sortKey:"plugin-id",rows:this.model.available.filter((e=>{const t=new RegExp(this.model.query,"i");return t.test(e.id)||t.test(e.extension)||e.tokenLabel&&t.test(e.tokenLabel)})).map((e=>({data:e,key:e.id}))),columns:[{id:"plugin-id",label:this.trans.__("Plugin"),renderCell:e=>c.createElement(c.Fragment,null,c.createElement("code",null,e.id),c.createElement("br",null),e.description),sort:(e,t)=>e.id.localeCompare(t.id)},{id:"description",label:this.trans.__("Description"),renderCell:e=>c.createElement(c.Fragment,null,e.description),sort:(e,t)=>e.description&&t.description?e.description.localeCompare(t.description):void 0,isHidden:!0},{id:"autostart",label:this.trans.__("Autostart?"),renderCell:e=>{switch(e.autoStart){case"defer":return this.trans.__("Defer");case!0:return this.trans.__("Yes");case!1:case void 0:return this.trans.__("No");default:const t=e.autoStart;throw new Error(`Unknown value: ${t}`)}},sort:(e,t)=>e.autoStart===t.autoStart?0:e.autoStart?-1:1},{id:"requires",label:this.trans.__("Depends on"),renderCell:e=>c.createElement(c.Fragment,null,e.requires.map((e=>e.name)).join("\n")),sort:(e,t)=>(e.requires||[]).length-(t.requires||[]).length,isHidden:!0},{id:"extension",label:this.trans.__("Extension"),renderCell:e=>c.createElement(c.Fragment,null,e.extension),sort:(e,t)=>e.extension.localeCompare(t.extension)},{id:"provides",label:this.trans.__("Provides"),renderCell:e=>c.createElement(c.Fragment,null,e.provides?c.createElement("code",{title:e.provides.name},e.tokenLabel):"-"),sort:(e,t)=>(e.tokenLabel||"").localeCompare(t.tokenLabel||"")},{id:"enabled",label:this.trans.__("Enabled"),renderCell:e=>c.createElement(c.Fragment,null,c.createElement("input",{type:"checkbox",checked:e.enabled,disabled:e.locked||!this.model.isDisclaimed,title:e.locked||!this.model.isDisclaimed?e.locked?this.trans.__("This plugin is locked."):this.trans.__("To enable/disable, please acknowledge the disclaimer."):e.enabled?this.trans.__("Disable %1 plugin",e.id):this.trans.__("Enable %1 plugin",e.id),onChange:t=>{this.model.isDisclaimed&&(t.target.checked?this.onAction("enable",e):this.onAction("disable",e))}}),e.locked?c.createElement(r.lockIcon.react,{tag:"span",title:this.trans.__("This plugin was locked by system administrator or is a critical dependency and cannot be enabled/disabled.")}):""),sort:(e,t)=>+e.enabled-+t.enabled}]}))}onAction(e,t){switch(e){case"enable":return this.model.enable(t);case"disable":return this.model.disable(t);default:throw new Error(`Invalid action: ${e}`)}}}class _ extends i.VDomRenderer{constructor(e,t){super(e),this.trans=t,this.addClass("jp-pluginmanager-Disclaimer")}render(){return c.createElement("div",null,c.createElement("div",null,this.trans.__("Customise your experience/improve performance by disabling plugins you do not need. To disable or uninstall an entire extension use the Extension Manager instead. Changes will apply after reloading JupyterLab.")),c.createElement("label",null,c.createElement("input",{type:"checkbox",className:"jp-mod-styled jp-pluginmanager-Disclaimer-checkbox",defaultChecked:this.model.isDisclaimed,onChange:e=>{this.model.isDisclaimed=e.target.checked}}),this.trans.__("I understand that disabling core application plugins may render features and parts of the user interface unavailable and recovery using `jupyter labextension enable <plugin-name>` command may be required")))}}class b extends i.VDomRenderer{constructor(e,t){super(e),this.trans=t,this.addClass("jp-pluginmanager-Header")}render(){return c.createElement(c.Fragment,null,c.createElement(r.FilterBox,{placeholder:this.trans.__("Filter"),updateFilter:(e,t)=>{this.model.query=null!=t?t:""},initialQuery:this.model.query,useFuzzyFilter:!1}),c.createElement("div",{className:"jp-pluginmanager-pending "+(this.model.hasPendingActions()?"jp-mod-hasPending":"")}),this.model.actionError&&c.createElement(E,null,c.createElement("p",null,this.trans.__("Error when performing an action.")),c.createElement("p",null,this.trans.__("Reason given:")),c.createElement("pre",null,this.model.actionError)))}}function E(e){return c.createElement("div",{className:"jp-pluginmanager-error"},e.children)}const y=new o.Token("@jupyterlab/pluginmanager:IPluginManager","A canary for plugin manager presence, with a method to open the plugin manager widget.")}}]);