@jupyterlab/extensionmanager 4.0.0-alpha.8 → 4.0.0-beta.0
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/dialog.js +2 -2
- package/lib/dialog.js.map +1 -1
- package/lib/index.d.ts +0 -2
- package/lib/index.js +0 -2
- package/lib/index.js.map +1 -1
- package/lib/model.d.ts +90 -193
- package/lib/model.js +210 -451
- package/lib/model.js.map +1 -1
- package/lib/widget.d.ts +18 -207
- package/lib/widget.js +201 -317
- package/lib/widget.js.map +1 -1
- package/package.json +16 -15
- package/src/dialog.tsx +39 -0
- package/src/index.ts +9 -0
- package/src/model.ts +691 -0
- package/src/widget.tsx +760 -0
- package/style/base.css +59 -103
- package/style/index.css +1 -1
- package/style/index.js +1 -1
- package/lib/build-helper.d.ts +0 -9
- package/lib/build-helper.js +0 -60
- package/lib/build-helper.js.map +0 -1
- package/lib/companions.d.ts +0 -88
- package/lib/companions.js +0 -98
- package/lib/companions.js.map +0 -1
- package/lib/listings.d.ts +0 -50
- package/lib/listings.js +0 -80
- package/lib/listings.js.map +0 -1
- package/lib/npm.d.ts +0 -223
- package/lib/npm.js +0 -76
- package/lib/npm.js.map +0 -1
package/lib/dialog.js
CHANGED
|
@@ -13,7 +13,7 @@ export function reportInstallError(name, errorMessage, translator) {
|
|
|
13
13
|
translator = translator || nullTranslator;
|
|
14
14
|
const trans = translator.load('jupyterlab');
|
|
15
15
|
const entries = [];
|
|
16
|
-
entries.push(React.createElement("p", null, trans.__(
|
|
16
|
+
entries.push(React.createElement("p", null, trans.__(`An error occurred installing "${name}".`)));
|
|
17
17
|
if (errorMessage) {
|
|
18
18
|
entries.push(React.createElement("p", null,
|
|
19
19
|
React.createElement("span", { className: "jp-extensionmanager-dialog-subheader" }, trans.__('Error message:'))), React.createElement("pre", null, errorMessage.trim()));
|
|
@@ -22,7 +22,7 @@ export function reportInstallError(name, errorMessage, translator) {
|
|
|
22
22
|
void showDialog({
|
|
23
23
|
title: trans.__('Extension Installation Error'),
|
|
24
24
|
body,
|
|
25
|
-
buttons: [Dialog.warnButton({ label: trans.__('
|
|
25
|
+
buttons: [Dialog.warnButton({ label: trans.__('Ok') })]
|
|
26
26
|
});
|
|
27
27
|
}
|
|
28
28
|
//# sourceMappingURL=dialog.js.map
|
package/lib/dialog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.js","sourceRoot":"","sources":["../src/dialog.tsx"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAe,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAY,EACZ,YAAqB,EACrB,UAAwB;IAExB,UAAU,GAAG,UAAU,IAAI,cAAc,CAAC;IAC1C,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,OAAO,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"dialog.js","sourceRoot":"","sources":["../src/dialog.tsx"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAe,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAY,EACZ,YAAqB,EACrB,UAAwB;IAExB,UAAU,GAAG,UAAU,IAAI,cAAc,CAAC;IAC1C,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,+BAAI,KAAK,CAAC,EAAE,CAAC,iCAAiC,IAAI,IAAI,CAAC,CAAK,CAAC,CAAC;IAC3E,IAAI,YAAY,EAAE;QAChB,OAAO,CAAC,IAAI,CACV;YACE,8BAAM,SAAS,EAAC,sCAAsC,IACnD,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,CACtB,CACL,EACJ,iCAAM,YAAY,CAAC,IAAI,EAAE,CAAO,CACjC,CAAC;KACH;IACD,MAAM,IAAI,GAAG,6BAAK,SAAS,EAAC,4BAA4B,IAAE,OAAO,CAAO,CAAC;IACzE,KAAK,UAAU,CAAC;QACd,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,8BAA8B,CAAC;QAC/C,IAAI;QACJ,OAAO,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACxD,CAAC,CAAC;AACL,CAAC"}
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAC3D;;;GAGG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAC3D;;;GAGG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
|
package/lib/model.d.ts
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ServerConnection, ServiceManager } from '@jupyterlab/services';
|
|
3
|
-
import { ISettingRegistry } from '@jupyterlab/settingregistry';
|
|
1
|
+
import { ServiceManager } from '@jupyterlab/services';
|
|
4
2
|
import { ITranslator } from '@jupyterlab/translation';
|
|
5
3
|
import { VDomModel } from '@jupyterlab/ui-components';
|
|
6
|
-
import { IListEntry, Lister } from './listings';
|
|
7
|
-
import { ISearchResult, Searcher } from './npm';
|
|
8
4
|
/**
|
|
9
5
|
* Information about an extension.
|
|
10
6
|
*/
|
|
@@ -20,19 +16,23 @@ export interface IEntry {
|
|
|
20
16
|
/**
|
|
21
17
|
* A representative link of the package.
|
|
22
18
|
*/
|
|
23
|
-
|
|
19
|
+
homepage_url: string;
|
|
24
20
|
/**
|
|
25
21
|
* Whether the extension is currently installed.
|
|
26
22
|
*/
|
|
27
|
-
installed
|
|
23
|
+
installed?: boolean | null;
|
|
28
24
|
/**
|
|
29
|
-
* Whether the extension is
|
|
25
|
+
* Whether the extension is allowed or not.
|
|
30
26
|
*/
|
|
31
|
-
|
|
27
|
+
allowed: boolean;
|
|
32
28
|
/**
|
|
33
|
-
*
|
|
29
|
+
* Whether the extension is approved by the system administrators.
|
|
34
30
|
*/
|
|
35
|
-
|
|
31
|
+
approved: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Whether the extension is currently enabled.
|
|
34
|
+
*/
|
|
35
|
+
enabled: boolean;
|
|
36
36
|
/**
|
|
37
37
|
* The latest version of the extension.
|
|
38
38
|
*/
|
|
@@ -41,8 +41,10 @@ export interface IEntry {
|
|
|
41
41
|
* The installed version of the extension.
|
|
42
42
|
*/
|
|
43
43
|
installed_version: string;
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
/**
|
|
45
|
+
* A flag indicating the status of an installed extension.
|
|
46
|
+
*/
|
|
47
|
+
status: 'ok' | 'warning' | 'error' | 'deprecated' | null;
|
|
46
48
|
/**
|
|
47
49
|
* The package type (prebuilt or source).
|
|
48
50
|
*/
|
|
@@ -50,75 +52,36 @@ export interface IEntry {
|
|
|
50
52
|
/**
|
|
51
53
|
* The information about extension installation.
|
|
52
54
|
*/
|
|
53
|
-
install
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Information about extension installation.
|
|
57
|
-
*/
|
|
58
|
-
export interface IInstall {
|
|
59
|
-
/**
|
|
60
|
-
* The used package manager (e.g. pip, conda...)
|
|
61
|
-
*/
|
|
62
|
-
packageManager: string | undefined;
|
|
63
|
-
/**
|
|
64
|
-
* The package name as known by the package manager.
|
|
65
|
-
*/
|
|
66
|
-
packageName: string | undefined;
|
|
67
|
-
/**
|
|
68
|
-
* The uninstallation instructions as a comprehensive
|
|
69
|
-
* text for the end user.
|
|
70
|
-
*/
|
|
71
|
-
uninstallInstructions: string | undefined;
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Wire format for installed extensions.
|
|
75
|
-
*/
|
|
76
|
-
export interface IInstalledEntry {
|
|
77
|
-
/**
|
|
78
|
-
* The name of the extension.
|
|
79
|
-
*/
|
|
80
|
-
name: string;
|
|
81
|
-
/**
|
|
82
|
-
* A short description of the extension.
|
|
83
|
-
*/
|
|
84
|
-
description: string;
|
|
85
|
-
/**
|
|
86
|
-
* A representative link of the package.
|
|
87
|
-
*/
|
|
88
|
-
url: string;
|
|
55
|
+
install?: IInstall | null;
|
|
89
56
|
/**
|
|
90
|
-
*
|
|
57
|
+
* Package author.
|
|
91
58
|
*/
|
|
92
|
-
|
|
93
|
-
/**
|
|
94
|
-
* Whether the extension is currently enabled.
|
|
95
|
-
*/
|
|
96
|
-
enabled: boolean;
|
|
59
|
+
author?: string;
|
|
97
60
|
/**
|
|
98
|
-
*
|
|
61
|
+
* Package license.
|
|
99
62
|
*/
|
|
100
|
-
|
|
63
|
+
license?: string;
|
|
101
64
|
/**
|
|
102
|
-
*
|
|
65
|
+
* URL to the package bug tracker.
|
|
103
66
|
*/
|
|
104
|
-
|
|
67
|
+
bug_tracker_url?: string;
|
|
105
68
|
/**
|
|
106
|
-
*
|
|
69
|
+
* URL to the package documentation.
|
|
107
70
|
*/
|
|
108
|
-
|
|
71
|
+
documentation_url?: string;
|
|
109
72
|
/**
|
|
110
|
-
*
|
|
73
|
+
* URL to the package URL in the packager website.
|
|
111
74
|
*/
|
|
112
|
-
|
|
75
|
+
package_manager_url?: string;
|
|
113
76
|
/**
|
|
114
|
-
*
|
|
77
|
+
* URL to the package code source.
|
|
115
78
|
*/
|
|
116
|
-
|
|
79
|
+
repository_url?: string;
|
|
117
80
|
}
|
|
118
81
|
/**
|
|
119
82
|
* Information about extension installation.
|
|
120
83
|
*/
|
|
121
|
-
export interface
|
|
84
|
+
export interface IInstall {
|
|
122
85
|
/**
|
|
123
86
|
* The used package manager (e.g. pip, conda...)
|
|
124
87
|
*/
|
|
@@ -145,72 +108,84 @@ export interface IActionReply {
|
|
|
145
108
|
* An optional message when the status is not 'ok'.
|
|
146
109
|
*/
|
|
147
110
|
message?: string;
|
|
111
|
+
/**
|
|
112
|
+
* Follow-up restart needed by the action
|
|
113
|
+
*/
|
|
114
|
+
needs_restart: ('frontend' | 'kernel' | 'server')[];
|
|
148
115
|
}
|
|
149
116
|
/**
|
|
150
117
|
* Extension actions that the server API accepts
|
|
151
118
|
*/
|
|
152
|
-
export
|
|
119
|
+
export type Action = 'install' | 'uninstall' | 'enable' | 'disable';
|
|
153
120
|
/**
|
|
154
121
|
* Model for an extension list.
|
|
155
122
|
*/
|
|
156
123
|
export declare class ListModel extends VDomModel {
|
|
157
|
-
constructor(
|
|
158
|
-
|
|
124
|
+
constructor(serviceManager: ServiceManager.IManager, translator?: ITranslator);
|
|
125
|
+
/**
|
|
126
|
+
* Extension manager name.
|
|
127
|
+
*/
|
|
128
|
+
readonly name: string;
|
|
129
|
+
/**
|
|
130
|
+
* Whether the extension manager support installation methods or not.
|
|
131
|
+
*/
|
|
132
|
+
readonly canInstall: boolean;
|
|
133
|
+
/**
|
|
134
|
+
* Extensions installation path.
|
|
135
|
+
*/
|
|
136
|
+
installPath: string | null;
|
|
159
137
|
/**
|
|
160
138
|
* A readonly array of the installed extensions.
|
|
161
139
|
*/
|
|
162
140
|
get installed(): ReadonlyArray<IEntry>;
|
|
141
|
+
/**
|
|
142
|
+
* Whether the warning is disclaimed or not.
|
|
143
|
+
*/
|
|
144
|
+
get isDisclaimed(): boolean;
|
|
145
|
+
set isDisclaimed(v: boolean);
|
|
146
|
+
/**
|
|
147
|
+
* Whether the extension manager is enabled or not.
|
|
148
|
+
*/
|
|
149
|
+
get isEnabled(): boolean;
|
|
150
|
+
set isEnabled(v: boolean);
|
|
151
|
+
get isLoadingInstalledExtensions(): boolean;
|
|
152
|
+
get isSearching(): boolean;
|
|
163
153
|
/**
|
|
164
154
|
* A readonly array containing the latest search result
|
|
165
155
|
*/
|
|
166
156
|
get searchResult(): ReadonlyArray<IEntry>;
|
|
167
157
|
/**
|
|
168
|
-
* The
|
|
158
|
+
* The search query.
|
|
169
159
|
*
|
|
170
160
|
* Setting its value triggers a new search.
|
|
171
161
|
*/
|
|
172
|
-
get query(): string
|
|
173
|
-
set query(value: string
|
|
162
|
+
get query(): string;
|
|
163
|
+
set query(value: string);
|
|
174
164
|
/**
|
|
175
|
-
* The current
|
|
176
|
-
*
|
|
177
|
-
* The npm repository search is paginated by the `pagination` attribute.
|
|
178
|
-
* The `page` value selects which page is used.
|
|
165
|
+
* The current search page.
|
|
179
166
|
*
|
|
180
167
|
* Setting its value triggers a new search.
|
|
168
|
+
*
|
|
169
|
+
* ### Note
|
|
170
|
+
* First page is 1.
|
|
181
171
|
*/
|
|
182
172
|
get page(): number;
|
|
183
173
|
set page(value: number);
|
|
184
174
|
/**
|
|
185
|
-
* The
|
|
186
|
-
*
|
|
187
|
-
* The npm repository search is paginated by the `pagination` attribute.
|
|
188
|
-
* The `page` value selects which page is used.
|
|
175
|
+
* The search pagination.
|
|
189
176
|
*
|
|
190
177
|
* Setting its value triggers a new search.
|
|
191
178
|
*/
|
|
192
179
|
get pagination(): number;
|
|
193
180
|
set pagination(value: number);
|
|
194
181
|
/**
|
|
195
|
-
* The
|
|
196
|
-
*/
|
|
197
|
-
get totalEntries(): number;
|
|
198
|
-
/**
|
|
199
|
-
* The list mode.
|
|
200
|
-
*/
|
|
201
|
-
get listMode(): 'block' | 'allow' | 'default' | 'invalid';
|
|
202
|
-
/**
|
|
203
|
-
* The total number of blockedExtensions results in the current search.
|
|
204
|
-
*/
|
|
205
|
-
get totalblockedExtensionsFound(): number;
|
|
206
|
-
/**
|
|
207
|
-
* The total number of allowedExtensions results in the current search.
|
|
182
|
+
* The last page of results in the current search.
|
|
208
183
|
*/
|
|
209
|
-
get
|
|
184
|
+
get lastPage(): number;
|
|
210
185
|
/**
|
|
211
|
-
*
|
|
186
|
+
* Dispose the extensions list model.
|
|
212
187
|
*/
|
|
213
|
-
|
|
188
|
+
dispose(): void;
|
|
214
189
|
/**
|
|
215
190
|
* Whether there are currently any actions pending.
|
|
216
191
|
*/
|
|
@@ -240,90 +215,41 @@ export declare class ListModel extends VDomModel {
|
|
|
240
215
|
*/
|
|
241
216
|
disable(entry: IEntry): Promise<void>;
|
|
242
217
|
/**
|
|
243
|
-
*
|
|
244
|
-
*
|
|
245
|
-
* @param entry An entry indicating which extension to check.
|
|
246
|
-
*/
|
|
247
|
-
checkCompanionPackages(entry: IEntry): Promise<boolean>;
|
|
248
|
-
/**
|
|
249
|
-
* Trigger a build check to incorporate actions taken.
|
|
250
|
-
*/
|
|
251
|
-
triggerBuildCheck(): void;
|
|
252
|
-
/**
|
|
253
|
-
* Perform a build on the server
|
|
254
|
-
*/
|
|
255
|
-
performBuild(): void;
|
|
256
|
-
/**
|
|
257
|
-
* Ignore a build recommendation
|
|
258
|
-
*/
|
|
259
|
-
ignoreBuildRecommendation(): void;
|
|
260
|
-
/**
|
|
261
|
-
* Ignore a build recommendation
|
|
262
|
-
*/
|
|
263
|
-
refreshInstalled(): void;
|
|
264
|
-
/**
|
|
265
|
-
* Translate search results from an npm repository query into entries
|
|
266
|
-
* and remove entries with 'deprecated' in the keyword list
|
|
218
|
+
* Refresh installed packages
|
|
267
219
|
*
|
|
268
|
-
* @param
|
|
220
|
+
* @param force Force refreshing the list of installed packages
|
|
269
221
|
*/
|
|
270
|
-
|
|
271
|
-
[key: string]: IEntry;
|
|
272
|
-
}>;
|
|
273
|
-
/**
|
|
274
|
-
* Translate installed extensions information from the server into entries.
|
|
275
|
-
*
|
|
276
|
-
* @param res Promise to the server reply data.
|
|
277
|
-
*/
|
|
278
|
-
protected translateInstalled(res: Promise<IInstalledEntry[]>): Promise<{
|
|
279
|
-
[key: string]: IEntry;
|
|
280
|
-
}>;
|
|
281
|
-
private isListed;
|
|
282
|
-
/**
|
|
283
|
-
* Make a request to the server for info about its installed extensions.
|
|
284
|
-
*/
|
|
285
|
-
protected fetchInstalled(refreshInstalled?: boolean): Promise<IInstalledEntry[]>;
|
|
222
|
+
refreshInstalled(force?: boolean): Promise<void>;
|
|
286
223
|
/**
|
|
287
224
|
* Search with current query.
|
|
288
225
|
*
|
|
289
226
|
* Sets searchError and totalEntries as appropriate.
|
|
290
227
|
*
|
|
291
|
-
* @returns
|
|
292
|
-
*/
|
|
293
|
-
protected performSearch(): Promise<{
|
|
294
|
-
[key: string]: IEntry;
|
|
295
|
-
}>;
|
|
296
|
-
/**
|
|
297
|
-
* Query the installed extensions.
|
|
298
|
-
*
|
|
299
|
-
* Sets installedError as appropriate.
|
|
300
|
-
*
|
|
301
|
-
* @returns {Promise<{ [key: string]: IEntry; }>} A map of installed extensions.
|
|
228
|
+
* @returns The extensions matching the current query.
|
|
302
229
|
*/
|
|
303
|
-
protected
|
|
304
|
-
[key: string]: IEntry;
|
|
305
|
-
}>;
|
|
230
|
+
protected search(force?: boolean): Promise<void>;
|
|
306
231
|
/**
|
|
307
232
|
* Update the current model.
|
|
308
233
|
*
|
|
309
|
-
* This will query the
|
|
234
|
+
* This will query the packages repository, and the notebook server.
|
|
310
235
|
*
|
|
311
236
|
* Emits the `stateChanged` signal on successful completion.
|
|
312
237
|
*/
|
|
313
|
-
protected update(
|
|
238
|
+
protected update(force?: boolean): Promise<void>;
|
|
314
239
|
/**
|
|
315
240
|
* Send a request to the server to perform an action on an extension.
|
|
316
241
|
*
|
|
317
242
|
* @param action A valid action to perform.
|
|
318
243
|
* @param entry The extension to perform the action on.
|
|
319
244
|
*/
|
|
320
|
-
protected
|
|
245
|
+
protected performAction(action: string, entry: IEntry): Promise<IActionReply>;
|
|
321
246
|
/**
|
|
322
247
|
* Add a pending action.
|
|
323
248
|
*
|
|
324
249
|
* @param pending A promise that resolves when the action is completed.
|
|
325
250
|
*/
|
|
326
|
-
protected
|
|
251
|
+
protected addPendingAction(pending: Promise<any>): void;
|
|
252
|
+
actionError: string | null;
|
|
327
253
|
/**
|
|
328
254
|
* Contains an error message if an error occurred when querying installed extensions.
|
|
329
255
|
*/
|
|
@@ -333,53 +259,26 @@ export declare class ListModel extends VDomModel {
|
|
|
333
259
|
*/
|
|
334
260
|
searchError: string | null;
|
|
335
261
|
/**
|
|
336
|
-
*
|
|
337
|
-
*/
|
|
338
|
-
blockedExtensionsError: string | null;
|
|
339
|
-
/**
|
|
340
|
-
* Contains an error message if an error occurred when querying the server extension.
|
|
341
|
-
*/
|
|
342
|
-
serverConnectionError: string | null;
|
|
343
|
-
/**
|
|
344
|
-
* Contains an error message if the server has unfulfilled requirements.
|
|
345
|
-
*/
|
|
346
|
-
serverRequirementsError: string | null;
|
|
347
|
-
/**
|
|
348
|
-
* Whether the model has finished async initialization.
|
|
349
|
-
*/
|
|
350
|
-
initialized: boolean;
|
|
351
|
-
/**
|
|
352
|
-
* Whether a fresh build should be considered due to actions taken.
|
|
353
|
-
*/
|
|
354
|
-
promptBuild: boolean;
|
|
355
|
-
/**
|
|
356
|
-
* Settings for connecting to the notebook server.
|
|
357
|
-
*/
|
|
358
|
-
protected serverConnectionSettings: ServerConnection.ISettings;
|
|
359
|
-
/**
|
|
360
|
-
* A helper for performing searches of jupyterlab extensions on the NPM repository.
|
|
262
|
+
* Whether a reload should be considered due to actions taken.
|
|
361
263
|
*/
|
|
362
|
-
|
|
363
|
-
protected lister: Lister;
|
|
264
|
+
promptReload: boolean;
|
|
364
265
|
/**
|
|
365
266
|
* The service manager to use for building.
|
|
366
267
|
*/
|
|
367
268
|
protected serviceManager: ServiceManager.IManager;
|
|
368
269
|
protected translator: ITranslator;
|
|
369
|
-
private
|
|
270
|
+
private _isDisclaimed;
|
|
271
|
+
private _isEnabled;
|
|
272
|
+
private _isLoadingInstalledExtensions;
|
|
273
|
+
private _isSearching;
|
|
370
274
|
private _query;
|
|
371
275
|
private _page;
|
|
372
276
|
private _pagination;
|
|
373
|
-
private
|
|
277
|
+
private _lastPage;
|
|
374
278
|
private _installed;
|
|
375
|
-
private
|
|
279
|
+
private _lastSearchResult;
|
|
376
280
|
private _pendingActions;
|
|
377
|
-
private
|
|
378
|
-
private _listMode;
|
|
379
|
-
private _blockedExtensionsArray;
|
|
380
|
-
private _allowedExtensionsArray;
|
|
381
|
-
private _totalblockedExtensionsFound;
|
|
382
|
-
private _totalallowedExtensionsFound;
|
|
281
|
+
private _debouncedSearch;
|
|
383
282
|
}
|
|
384
283
|
/**
|
|
385
284
|
* ListModel statics.
|
|
@@ -391,6 +290,4 @@ export declare namespace ListModel {
|
|
|
391
290
|
* @param entry The entry to check.
|
|
392
291
|
*/
|
|
393
292
|
function entryHasUpdate(entry: IEntry): boolean;
|
|
394
|
-
function isDisclaimed(): boolean;
|
|
395
|
-
function toogleDisclaimed(): void;
|
|
396
293
|
}
|