enso/app/ide-desktop
Sergei Garin 775ca3722a
Disable everything except restore / hard delete in trash (#9575)
Closes: enso-org/cloud-v2#1084

Tl;dr: This PR disable almost all actions in trash folder, except restore/hard delete.
Context:
Currently, we can do a lot of actions it trash folder: arrange files in folders, create new folders, edit files and so on. We want to disable most of these actions.


This Change:

- Disables d&d support within trash folder, but leaves the ability to drag thigs back to home folder.
- Disables most of the keyboard shortcuts(copy,paste,new...etc) except hard delete/restore
- Disables launching projects
- Disables rename
- Disables assigning labels
- Disabled editing the description & sharing




https://github.com/enso-org/enso/assets/61194245/35c6532d-719f-46b2-a2f7-b54b54856bbd





Test Plan:

This PR expects thorough testing to make sure we have disabled everything except hard delete/restore and the same way we didn't break the home folder :)
2024-04-10 09:31:46 +00:00
..
.vscode Keyboard navigation between components (#9499) 2024-04-05 07:21:02 +00:00
lib Disable everything except restore / hard delete in trash (#9575) 2024-04-10 09:31:46 +00:00
.example.env Refactor configuration keys out of repository (#8895) 2024-03-08 03:14:26 +00:00
.gitignore Refactor configuration keys out of repository (#8895) 2024-03-08 03:14:26 +00:00
eslint.config.js Keyboard navigation between components (#9499) 2024-04-05 07:21:02 +00:00
package.json Add Stripe for Billing Support (#8841) 2024-02-22 19:56:36 +03:00
README.md Use backend errors in toast notifications (#9078) 2024-02-26 14:51:44 +00:00
tsconfig.json [Gui2] Opening projects and language server connection (#7813) 2023-09-22 03:43:25 +00:00

Desktop app

This folder contains projects related to the desktop app.

Folder structure

Refer to the README.md in each individual module (if it exists) for the internal folder structure of the module.

  • assets/: Icons and images used by other modules. Currently these are only used by dashboard/.
  • client/: The code for the Electron desktop app.
  • common/: Utility functions required by multiple other modules.
  • content/: The entry point for the GUI1 web app. This is the main page for the desktop app.
  • content-config/: The statically-typed configuration object for content/.
  • dashboard/: The dashboard, used to manage projects. It launches the GUI (located in content/ for GUI1, or /app/gui2/ for GUI2) when a project is opened.
  • esbuild-plugin-copy-directories/: An ESBuild plugin for continuously copying directories from the a given location to a given subdirectory of the build output directory.
  • icons/: Generates the logo for the app.
  • ts-plugin-namespace-auto-import/: (WIP) A TypeScript plugin to change auto-import to use import * as moduleName rather than import {}.
  • types/: Miscellaneous types used by multiple modules.