@jupyterlab/toc 6.2.0-alpha.1 → 6.2.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/model.d.ts +16 -0
- package/lib/model.js +17 -15
- package/lib/model.js.map +1 -1
- package/package.json +10 -10
- package/src/model.ts +29 -29
package/lib/model.d.ts
CHANGED
|
@@ -110,6 +110,22 @@ export declare abstract class TableOfContentsModel<H extends TableOfContents.IHe
|
|
|
110
110
|
heading?: H;
|
|
111
111
|
collapsed?: boolean;
|
|
112
112
|
}): void;
|
|
113
|
+
/**
|
|
114
|
+
* Test if two headings are equal or not.
|
|
115
|
+
*
|
|
116
|
+
* @param heading1 First heading
|
|
117
|
+
* @param heading2 Second heading
|
|
118
|
+
* @returns Whether the headings are equal.
|
|
119
|
+
*/
|
|
120
|
+
protected isHeadingEqual(heading1: H, heading2: H): boolean;
|
|
121
|
+
/**
|
|
122
|
+
* Test if two list of headings are equal or not.
|
|
123
|
+
*
|
|
124
|
+
* @param headings1 First list of headings
|
|
125
|
+
* @param headings2 Second list of headings
|
|
126
|
+
* @returns Whether the array are equal.
|
|
127
|
+
*/
|
|
128
|
+
private _areHeadingsEqual;
|
|
113
129
|
private _activeHeading;
|
|
114
130
|
private _activeHeadingChanged;
|
|
115
131
|
private _collapseChanged;
|
package/lib/model.js
CHANGED
|
@@ -133,8 +133,7 @@ export class TableOfContentsModel extends VDomModel {
|
|
|
133
133
|
this._isRefreshing = false;
|
|
134
134
|
return this.refresh();
|
|
135
135
|
}
|
|
136
|
-
if (newHeadings &&
|
|
137
|
-
!Private.areHeadingsEqual(newHeadings, this._headings)) {
|
|
136
|
+
if (newHeadings && !this._areHeadingsEqual(newHeadings, this._headings)) {
|
|
138
137
|
this._headings = newHeadings;
|
|
139
138
|
this.stateChanged.emit();
|
|
140
139
|
this._headingsChanged.emit();
|
|
@@ -196,25 +195,29 @@ export class TableOfContentsModel extends VDomModel {
|
|
|
196
195
|
this._collapseChanged.emit(null);
|
|
197
196
|
}
|
|
198
197
|
}
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
198
|
+
/**
|
|
199
|
+
* Test if two headings are equal or not.
|
|
200
|
+
*
|
|
201
|
+
* @param heading1 First heading
|
|
202
|
+
* @param heading2 Second heading
|
|
203
|
+
* @returns Whether the headings are equal.
|
|
204
|
+
*/
|
|
205
|
+
isHeadingEqual(heading1, heading2) {
|
|
206
|
+
return (heading1.level === heading2.level &&
|
|
207
|
+
heading1.text === heading2.text &&
|
|
208
|
+
heading1.prefix === heading2.prefix);
|
|
209
|
+
}
|
|
205
210
|
/**
|
|
206
211
|
* Test if two list of headings are equal or not.
|
|
207
212
|
*
|
|
208
213
|
* @param headings1 First list of headings
|
|
209
214
|
* @param headings2 Second list of headings
|
|
210
|
-
* @returns Whether the array are
|
|
215
|
+
* @returns Whether the array are equal.
|
|
211
216
|
*/
|
|
212
|
-
|
|
217
|
+
_areHeadingsEqual(headings1, headings2) {
|
|
213
218
|
if (headings1.length === headings2.length) {
|
|
214
219
|
for (let i = 0; i < headings1.length; i++) {
|
|
215
|
-
if (headings1[i]
|
|
216
|
-
headings1[i].text !== headings2[i].text ||
|
|
217
|
-
headings1[i].prefix !== headings2[i].prefix) {
|
|
220
|
+
if (!this.isHeadingEqual(headings1[i], headings2[i])) {
|
|
218
221
|
return false;
|
|
219
222
|
}
|
|
220
223
|
}
|
|
@@ -222,6 +225,5 @@ var Private;
|
|
|
222
225
|
}
|
|
223
226
|
return false;
|
|
224
227
|
}
|
|
225
|
-
|
|
226
|
-
})(Private || (Private = {}));
|
|
228
|
+
}
|
|
227
229
|
//# sourceMappingURL=model.js.map
|
package/lib/model.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jupyterlab/toc",
|
|
3
|
-
"version": "6.2.0-
|
|
3
|
+
"version": "6.2.0-beta.0",
|
|
4
4
|
"description": "JupyterLab - Table of Contents widget",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jupyterlab"
|
|
@@ -41,14 +41,14 @@
|
|
|
41
41
|
"watch": "tsc -b --watch"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@jupyterlab/apputils": "^4.3.0-
|
|
45
|
-
"@jupyterlab/coreutils": "^6.2.0-
|
|
46
|
-
"@jupyterlab/docregistry": "^4.2.0-
|
|
47
|
-
"@jupyterlab/observables": "^5.2.0-
|
|
48
|
-
"@jupyterlab/rendermime": "^4.2.0-
|
|
49
|
-
"@jupyterlab/rendermime-interfaces": "^3.10.0-
|
|
50
|
-
"@jupyterlab/translation": "^4.2.0-
|
|
51
|
-
"@jupyterlab/ui-components": "^4.2.0-
|
|
44
|
+
"@jupyterlab/apputils": "^4.3.0-beta.0",
|
|
45
|
+
"@jupyterlab/coreutils": "^6.2.0-beta.0",
|
|
46
|
+
"@jupyterlab/docregistry": "^4.2.0-beta.0",
|
|
47
|
+
"@jupyterlab/observables": "^5.2.0-beta.0",
|
|
48
|
+
"@jupyterlab/rendermime": "^4.2.0-beta.0",
|
|
49
|
+
"@jupyterlab/rendermime-interfaces": "^3.10.0-beta.0",
|
|
50
|
+
"@jupyterlab/translation": "^4.2.0-beta.0",
|
|
51
|
+
"@jupyterlab/ui-components": "^4.2.0-beta.0",
|
|
52
52
|
"@lumino/coreutils": "^2.1.2",
|
|
53
53
|
"@lumino/disposable": "^2.1.2",
|
|
54
54
|
"@lumino/messaging": "^2.0.1",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"react": "^18.2.0"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
|
-
"@jupyterlab/testing": "^4.2.0-
|
|
60
|
+
"@jupyterlab/testing": "^4.2.0-beta.0",
|
|
61
61
|
"@types/jest": "^29.2.0",
|
|
62
62
|
"@types/react": "^18.0.26",
|
|
63
63
|
"jest": "^29.2.0",
|
package/src/model.ts
CHANGED
|
@@ -177,10 +177,7 @@ export abstract class TableOfContentsModel<
|
|
|
177
177
|
return this.refresh();
|
|
178
178
|
}
|
|
179
179
|
|
|
180
|
-
if (
|
|
181
|
-
newHeadings &&
|
|
182
|
-
!Private.areHeadingsEqual(newHeadings, this._headings)
|
|
183
|
-
) {
|
|
180
|
+
if (newHeadings && !this._areHeadingsEqual(newHeadings, this._headings)) {
|
|
184
181
|
this._headings = newHeadings;
|
|
185
182
|
this.stateChanged.emit();
|
|
186
183
|
this._headingsChanged.emit();
|
|
@@ -245,40 +242,32 @@ export abstract class TableOfContentsModel<
|
|
|
245
242
|
}
|
|
246
243
|
}
|
|
247
244
|
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
245
|
+
/**
|
|
246
|
+
* Test if two headings are equal or not.
|
|
247
|
+
*
|
|
248
|
+
* @param heading1 First heading
|
|
249
|
+
* @param heading2 Second heading
|
|
250
|
+
* @returns Whether the headings are equal.
|
|
251
|
+
*/
|
|
252
|
+
protected isHeadingEqual(heading1: H, heading2: H): boolean {
|
|
253
|
+
return (
|
|
254
|
+
heading1.level === heading2.level &&
|
|
255
|
+
heading1.text === heading2.text &&
|
|
256
|
+
heading1.prefix === heading2.prefix
|
|
257
|
+
);
|
|
258
|
+
}
|
|
259
259
|
|
|
260
|
-
/**
|
|
261
|
-
* Private functions namespace
|
|
262
|
-
*/
|
|
263
|
-
namespace Private {
|
|
264
260
|
/**
|
|
265
261
|
* Test if two list of headings are equal or not.
|
|
266
262
|
*
|
|
267
263
|
* @param headings1 First list of headings
|
|
268
264
|
* @param headings2 Second list of headings
|
|
269
|
-
* @returns Whether the array are
|
|
265
|
+
* @returns Whether the array are equal.
|
|
270
266
|
*/
|
|
271
|
-
|
|
272
|
-
headings1: TableOfContents.IHeading[],
|
|
273
|
-
headings2: TableOfContents.IHeading[]
|
|
274
|
-
): boolean {
|
|
267
|
+
private _areHeadingsEqual(headings1: H[], headings2: H[]): boolean {
|
|
275
268
|
if (headings1.length === headings2.length) {
|
|
276
269
|
for (let i = 0; i < headings1.length; i++) {
|
|
277
|
-
if (
|
|
278
|
-
headings1[i].level !== headings2[i].level ||
|
|
279
|
-
headings1[i].text !== headings2[i].text ||
|
|
280
|
-
headings1[i].prefix !== headings2[i].prefix
|
|
281
|
-
) {
|
|
270
|
+
if (!this.isHeadingEqual(headings1[i], headings2[i])) {
|
|
282
271
|
return false;
|
|
283
272
|
}
|
|
284
273
|
}
|
|
@@ -287,4 +276,15 @@ namespace Private {
|
|
|
287
276
|
|
|
288
277
|
return false;
|
|
289
278
|
}
|
|
279
|
+
|
|
280
|
+
private _activeHeading: H | null;
|
|
281
|
+
private _activeHeadingChanged: Signal<TableOfContentsModel<H, T>, H | null>;
|
|
282
|
+
private _collapseChanged: Signal<TableOfContentsModel<H, T>, H | null>;
|
|
283
|
+
private _configuration: TableOfContents.IConfig;
|
|
284
|
+
private _headings: H[];
|
|
285
|
+
private _headingsChanged: Signal<TableOfContentsModel<H, T>, void>;
|
|
286
|
+
private _isActive: boolean;
|
|
287
|
+
private _isRefreshing: boolean;
|
|
288
|
+
private _needsRefreshing: boolean;
|
|
289
|
+
private _title?: string;
|
|
290
290
|
}
|