flexdesk 0.4.6 → 0.4.7
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/README.md +301 -276
- package/dist/charts.js +782 -782
- package/dist/{chunk-HWCX5I4R.js → chunk-F5FYDCOA.js} +2373 -2373
- package/dist/{chunk-HWCX5I4R.js.map → chunk-F5FYDCOA.js.map} +7 -7
- package/dist/{chunk-CYTWMP2Y.js → chunk-WMGOJ3I6.js} +2628 -2622
- package/dist/chunk-WMGOJ3I6.js.map +7 -0
- package/dist/tiles.js +2195 -2195
- package/dist/widgets.js +5796 -5796
- package/dist/wm.js +8074 -8015
- package/dist/wm.js.map +7 -7
- package/package.json +81 -81
- package/src/tiling/tile_breadcrumb.js +21 -0
- package/src/tiling/tile_renderer.js +11 -0
- package/src/tiling/wm.js +3916 -3872
- package/src/ui/components/data_table.js +3294 -3281
- package/dist/chunk-CYTWMP2Y.js.map +0 -7
package/package.json
CHANGED
|
@@ -1,81 +1,81 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "flexdesk",
|
|
3
|
-
"version": "0.4.
|
|
4
|
-
"description": "A tiling window manager and widget set for desktop-class web applications. Zero runtime dependencies.",
|
|
5
|
-
"license": "MIT",
|
|
6
|
-
"repository": {
|
|
7
|
-
"type": "git",
|
|
8
|
-
"url": "git+ssh://git@github.com/nor-os/FlexDesk.git"
|
|
9
|
-
},
|
|
10
|
-
"homepage": "https://github.com/nor-os/FlexDesk",
|
|
11
|
-
"bugs": {
|
|
12
|
-
"url": "https://github.com/nor-os/FlexDesk/issues"
|
|
13
|
-
},
|
|
14
|
-
"type": "module",
|
|
15
|
-
"sideEffects": [
|
|
16
|
-
"*.css"
|
|
17
|
-
],
|
|
18
|
-
"files": [
|
|
19
|
-
"dist",
|
|
20
|
-
"src",
|
|
21
|
-
"css",
|
|
22
|
-
"README.md",
|
|
23
|
-
"LICENSE",
|
|
24
|
-
"THIRD_PARTY_LICENSES.md"
|
|
25
|
-
],
|
|
26
|
-
"exports": {
|
|
27
|
-
"./core": {
|
|
28
|
-
"import": "./dist/core.js",
|
|
29
|
-
"development": "./core.js"
|
|
30
|
-
},
|
|
31
|
-
"./host": {
|
|
32
|
-
"import": "./dist/host.js",
|
|
33
|
-
"development": "./host.js"
|
|
34
|
-
},
|
|
35
|
-
"./wm": {
|
|
36
|
-
"import": "./dist/wm.js",
|
|
37
|
-
"development": "./wm.js"
|
|
38
|
-
},
|
|
39
|
-
"./widgets": {
|
|
40
|
-
"import": "./dist/widgets.js",
|
|
41
|
-
"development": "./widgets.js"
|
|
42
|
-
},
|
|
43
|
-
"./css": "./dist/flexdesk.css",
|
|
44
|
-
"./css/tokens": "./css/tokens.css",
|
|
45
|
-
"./charts": {
|
|
46
|
-
"import": "./dist/charts.js",
|
|
47
|
-
"development": "./charts.js"
|
|
48
|
-
},
|
|
49
|
-
"./tiles": {
|
|
50
|
-
"import": "./dist/tiles.js",
|
|
51
|
-
"development": "./tiles.js"
|
|
52
|
-
},
|
|
53
|
-
"./editor": {
|
|
54
|
-
"import": "./dist/editor.js",
|
|
55
|
-
"development": "./editor.js"
|
|
56
|
-
}
|
|
57
|
-
},
|
|
58
|
-
"scripts": {
|
|
59
|
-
"build": "node build.mjs",
|
|
60
|
-
"check": "node build.mjs --check",
|
|
61
|
-
"test": "node tests/run.mjs"
|
|
62
|
-
},
|
|
63
|
-
"devDependencies": {
|
|
64
|
-
"esbuild": "^0.28.1"
|
|
65
|
-
},
|
|
66
|
-
"peerDependenciesMeta": {
|
|
67
|
-
"plotly.js": {
|
|
68
|
-
"optional": true
|
|
69
|
-
},
|
|
70
|
-
"monaco-editor": {
|
|
71
|
-
"optional": true
|
|
72
|
-
}
|
|
73
|
-
},
|
|
74
|
-
"keywords": [
|
|
75
|
-
"tiling",
|
|
76
|
-
"window-manager",
|
|
77
|
-
"datatable",
|
|
78
|
-
"command-palette",
|
|
79
|
-
"ui"
|
|
80
|
-
]
|
|
81
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "flexdesk",
|
|
3
|
+
"version": "0.4.7",
|
|
4
|
+
"description": "A tiling window manager and widget set for desktop-class web applications. Zero runtime dependencies.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+ssh://git@github.com/nor-os/FlexDesk.git"
|
|
9
|
+
},
|
|
10
|
+
"homepage": "https://github.com/nor-os/FlexDesk",
|
|
11
|
+
"bugs": {
|
|
12
|
+
"url": "https://github.com/nor-os/FlexDesk/issues"
|
|
13
|
+
},
|
|
14
|
+
"type": "module",
|
|
15
|
+
"sideEffects": [
|
|
16
|
+
"*.css"
|
|
17
|
+
],
|
|
18
|
+
"files": [
|
|
19
|
+
"dist",
|
|
20
|
+
"src",
|
|
21
|
+
"css",
|
|
22
|
+
"README.md",
|
|
23
|
+
"LICENSE",
|
|
24
|
+
"THIRD_PARTY_LICENSES.md"
|
|
25
|
+
],
|
|
26
|
+
"exports": {
|
|
27
|
+
"./core": {
|
|
28
|
+
"import": "./dist/core.js",
|
|
29
|
+
"development": "./core.js"
|
|
30
|
+
},
|
|
31
|
+
"./host": {
|
|
32
|
+
"import": "./dist/host.js",
|
|
33
|
+
"development": "./host.js"
|
|
34
|
+
},
|
|
35
|
+
"./wm": {
|
|
36
|
+
"import": "./dist/wm.js",
|
|
37
|
+
"development": "./wm.js"
|
|
38
|
+
},
|
|
39
|
+
"./widgets": {
|
|
40
|
+
"import": "./dist/widgets.js",
|
|
41
|
+
"development": "./widgets.js"
|
|
42
|
+
},
|
|
43
|
+
"./css": "./dist/flexdesk.css",
|
|
44
|
+
"./css/tokens": "./css/tokens.css",
|
|
45
|
+
"./charts": {
|
|
46
|
+
"import": "./dist/charts.js",
|
|
47
|
+
"development": "./charts.js"
|
|
48
|
+
},
|
|
49
|
+
"./tiles": {
|
|
50
|
+
"import": "./dist/tiles.js",
|
|
51
|
+
"development": "./tiles.js"
|
|
52
|
+
},
|
|
53
|
+
"./editor": {
|
|
54
|
+
"import": "./dist/editor.js",
|
|
55
|
+
"development": "./editor.js"
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
"scripts": {
|
|
59
|
+
"build": "node build.mjs",
|
|
60
|
+
"check": "node build.mjs --check",
|
|
61
|
+
"test": "node tests/run.mjs"
|
|
62
|
+
},
|
|
63
|
+
"devDependencies": {
|
|
64
|
+
"esbuild": "^0.28.1"
|
|
65
|
+
},
|
|
66
|
+
"peerDependenciesMeta": {
|
|
67
|
+
"plotly.js": {
|
|
68
|
+
"optional": true
|
|
69
|
+
},
|
|
70
|
+
"monaco-editor": {
|
|
71
|
+
"optional": true
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
"keywords": [
|
|
75
|
+
"tiling",
|
|
76
|
+
"window-manager",
|
|
77
|
+
"datatable",
|
|
78
|
+
"command-palette",
|
|
79
|
+
"ui"
|
|
80
|
+
]
|
|
81
|
+
}
|
|
@@ -206,6 +206,27 @@ function _segments(kind, props, taxonomy, rootCrumb, rootLabel, navigate, trail)
|
|
|
206
206
|
return segs;
|
|
207
207
|
}
|
|
208
208
|
|
|
209
|
+
/**
|
|
210
|
+
* C37. THE SAME STRIP FOR A CONTENT'S OWN LEVELS — the markup every tile
|
|
211
|
+
* breadcrumb draws, with segments the caller routes itself.
|
|
212
|
+
*
|
|
213
|
+
* `mountTileBreadcrumb` names where the TILE is, and every one of its segments
|
|
214
|
+
* climbs through the window manager. A page with levels that are not tabs (a
|
|
215
|
+
* section's list, one record opened in its place) has a trail the taxonomy
|
|
216
|
+
* cannot know and segments the WM cannot route; it draws them here, in the same
|
|
217
|
+
* markup and so the same look, and pairs it with a `navigateBack()` from its
|
|
218
|
+
* mount so Backspace climbs the same levels (`wm.navigateBack`, step 0).
|
|
219
|
+
*
|
|
220
|
+
* `segments` is `[{label, icon?, onClick?}]`; the last one — and any with no
|
|
221
|
+
* `onClick` — is drawn as the current one, as text. Redraws `container` in full.
|
|
222
|
+
*
|
|
223
|
+
* @param {HTMLElement} container
|
|
224
|
+
* @param {Array<{label: string, icon?: string, onClick?: Function}>} segments
|
|
225
|
+
*/
|
|
226
|
+
export function renderBreadcrumb(container, segments) {
|
|
227
|
+
_renderInto(container, segments);
|
|
228
|
+
}
|
|
229
|
+
|
|
209
230
|
function _renderInto(container, segments) {
|
|
210
231
|
container.innerHTML = '';
|
|
211
232
|
if (!segments?.length) return;
|
|
@@ -839,6 +839,17 @@ export class TileRenderer {
|
|
|
839
839
|
return (leaf && leaf.kind === 'leaf') ? this._leafKindKey(leaf) : null;
|
|
840
840
|
}
|
|
841
841
|
|
|
842
|
+
/**
|
|
843
|
+
* C37. WHAT A LEAF'S CONTENT FACTORY RETURNED for the tab on screen, or
|
|
844
|
+
* `null` — so the window manager can ask the content a question about
|
|
845
|
+
* itself (`wm.navigateBack`: *"have you a level of your own to go up?"*)
|
|
846
|
+
* without reaching into the cache. Read-only; a leaf that has not been
|
|
847
|
+
* rendered yet has none.
|
|
848
|
+
*/
|
|
849
|
+
contentOf(leafId) {
|
|
850
|
+
return this._leafCache.get(leafId)?.content ?? null;
|
|
851
|
+
}
|
|
852
|
+
|
|
842
853
|
/**
|
|
843
854
|
* C34. ACCEPT A PROPS WRITE THE CONTENT MADE ABOUT ITSELF, WITHOUT
|
|
844
855
|
* REBUILDING THE TILE THAT MADE IT.
|