@brftech/filex-core 0.29.0 → 0.30.1
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 +35 -0
- package/dist/filex-core.js +13637 -12764
- package/dist/filex-core.js.map +1 -1
- package/dist/filex-core.umd.cjs +71 -71
- package/dist/filex-core.umd.cjs.map +1 -1
- package/dist/index.d.ts +78 -0
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/FileExplorer.vue +446 -5
- package/src/components/Breadcrumb.vue +6 -1
- package/src/components/RecentlyOpened.vue +9 -1
- package/src/components/SideNav.vue +409 -0
- package/src/components/TokensPanel.vue +109 -1
- package/src/components/Toolbar.vue +98 -3
- package/src/lib/listing.ts +24 -0
- package/src/locales/en.ts +34 -0
- package/src/locales/tr.ts +34 -0
- package/src/styles/base.css +360 -0
- package/src/types/ExplorerConfig.ts +68 -0
|
@@ -257,6 +257,74 @@ export interface ExplorerConfig {
|
|
|
257
257
|
/** Whether the info panel toggle is visible. */
|
|
258
258
|
showInfoPanel?: boolean;
|
|
259
259
|
|
|
260
|
+
/**
|
|
261
|
+
* Which set of chrome the explorer presents. A PRESET, not a feature switch:
|
|
262
|
+
* nothing is removed from the code, and every capability stays reachable —
|
|
263
|
+
* `'simple'` only changes what is on screen by default.
|
|
264
|
+
*
|
|
265
|
+
* 'standard' (default) — everything: tab strip, split pane, all three view
|
|
266
|
+
* modes. The tool the explorer has always been.
|
|
267
|
+
* 'simple' — one pane, one folder, list/grid only. The
|
|
268
|
+
* navigation panel starts expanded, the tab strip
|
|
269
|
+
* and split pane are off, the gallery view mode and
|
|
270
|
+
* the host's "How to connect" surface are hidden.
|
|
271
|
+
*
|
|
272
|
+
* Why it exists (GitHub #14): the reporter's users are not in IT and read
|
|
273
|
+
* split panes, tabs and mount instructions as a file manager they would have
|
|
274
|
+
* to relearn. The answer was NOT a second UI — one explorer, configured, so
|
|
275
|
+
* a fix lands in one place for every surface that mounts this package.
|
|
276
|
+
*
|
|
277
|
+
* ⚠ It does not gate the navigation panel. The panel ships in both profiles,
|
|
278
|
+
* for administrators too; only its default expanded/collapsed state and the
|
|
279
|
+
* rest of the chrome differ. A viewer's own collapse choice, once made,
|
|
280
|
+
* outranks the profile — it is a per-viewer preference, not a policy.
|
|
281
|
+
*/
|
|
282
|
+
uiProfile?: 'standard' | 'simple';
|
|
283
|
+
|
|
284
|
+
/**
|
|
285
|
+
* Render the navigation panel (Upload · Recent / Starred / Shared with me /
|
|
286
|
+
* Trash · the storage list). Collapsible to an icon rail by the viewer, whose
|
|
287
|
+
* choice is remembered per browser.
|
|
288
|
+
*
|
|
289
|
+
* Default: ON — everywhere, including the desktop app and every embed. This
|
|
290
|
+
* package is the reason those are one product; a panel that appeared in the
|
|
291
|
+
* web app and nowhere else would turn it back into three (0.16.0 did exactly
|
|
292
|
+
* that with `tabStrip` and it had to be undone).
|
|
293
|
+
*
|
|
294
|
+
* ⚠ ONE exception, and it is about `rootPath`, not about who is embedding: a
|
|
295
|
+
* confined embed has no storage list to show, and its views would list files
|
|
296
|
+
* from OUTSIDE the folder the embed was confined to. So `rootPath` flips the
|
|
297
|
+
* default to off. Setting `sideNav: true` alongside `rootPath` still wins —
|
|
298
|
+
* the panel is then yours, along with what its views will show.
|
|
299
|
+
*/
|
|
300
|
+
sideNav?: boolean;
|
|
301
|
+
|
|
302
|
+
/**
|
|
303
|
+
* Show the navigation panel's **Connections** entries — "How to connect"
|
|
304
|
+
* (the storage list and the per-protocol guides: WebDAV · SFTP · FTPS · S3 ·
|
|
305
|
+
* NFS · `filex mount`) and **API keys** (mint and revoke the tokens three of
|
|
306
|
+
* those protocols sign in with).
|
|
307
|
+
*
|
|
308
|
+
* Default: on, EXCEPT under `uiProfile: 'simple'`, where it is off. Those two
|
|
309
|
+
* defaults answer two different people: #14's reporter called mount
|
|
310
|
+
* instructions power-user noise in front of users who are not in IT, and an
|
|
311
|
+
* embedder's own tenant may still legitimately need an S3 key. Whichever one
|
|
312
|
+
* you are, say so explicitly and the default stops mattering.
|
|
313
|
+
*
|
|
314
|
+
* ⚠ Not gated on role, ever. The backend decides what a caller may see —
|
|
315
|
+
* ConnectionsPanel renders what the API returns, and `/api/tokens` caps every
|
|
316
|
+
* scope against the caller's own role and grants. A UI-side role check here
|
|
317
|
+
* would only hide the surface from the accounts that need it most; that is
|
|
318
|
+
* the bug this became: for a year the sole place to mint the token the FTPS
|
|
319
|
+
* guide told you to use was the admin panel.
|
|
320
|
+
*
|
|
321
|
+
* ⚠ The entries live in the panel, so `sideNav: false` takes them with it.
|
|
322
|
+
* Hosts that want the surface without the panel mount `<filex-connections>`
|
|
323
|
+
* (or `ConnectionsPanel`) on a page of their own.
|
|
324
|
+
*/
|
|
325
|
+
connections?: boolean;
|
|
326
|
+
|
|
327
|
+
|
|
260
328
|
/** Default view. */
|
|
261
329
|
viewMode?: 'list' | 'grid';
|
|
262
330
|
|