diff --git a/pyproject.toml b/pyproject.toml index 7b322d44..46f33a10 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -100,6 +100,11 @@ radicale = [ "web/internal_data/css/main.css", "web/internal_data/css/icons/*.svg", "web/internal_data/*.js", + "web/internal_data/js/*.js", + "web/internal_data/js/api/*.js", + "web/internal_data/js/models/*.js", + "web/internal_data/js/scenes/*.js", + "web/internal_data/js/utils/*.js", "web/internal_data/index.html", "py.typed", ] diff --git a/radicale/web/internal_data/index.html b/radicale/web/internal_data/index.html index 43fe4ac0..d77a9711 100644 --- a/radicale/web/internal_data/index.html +++ b/radicale/web/internal_data/index.html @@ -19,7 +19,7 @@ display: none !important; } - + @@ -312,4 +312,4 @@ - \ No newline at end of file + diff --git a/radicale/web/internal_data/api.js b/radicale/web/internal_data/js/api/api.js similarity index 99% rename from radicale/web/internal_data/api.js rename to radicale/web/internal_data/js/api/api.js index 87e858b9..81bf5059 100644 --- a/radicale/web/internal_data/api.js +++ b/radicale/web/internal_data/js/api/api.js @@ -19,9 +19,9 @@ * along with this program. If not, see . */ -import { COLOR_RE, ROOT_PATH, SERVER } from "./constants.js"; -import { Collection, CollectionType } from "./models.js"; -import { escape_xml } from "./utils.js"; +import { COLOR_RE, ROOT_PATH, SERVER } from "../constants.js"; +import { Collection, CollectionType } from "../models/collection.js"; +import { escape_xml } from "../utils/misc.js"; /** * @typedef {Object} SharingFeatures * @property {number} [ApiVersion] diff --git a/radicale/web/internal_data/constants.js b/radicale/web/internal_data/js/constants.js similarity index 100% rename from radicale/web/internal_data/constants.js rename to radicale/web/internal_data/js/constants.js diff --git a/radicale/web/internal_data/main.js b/radicale/web/internal_data/js/main.js similarity index 90% rename from radicale/web/internal_data/main.js rename to radicale/web/internal_data/js/main.js index 56e69611..31ee7c06 100644 --- a/radicale/web/internal_data/main.js +++ b/radicale/web/internal_data/js/main.js @@ -19,8 +19,8 @@ * along with this program. If not, see . */ -import { push_scene } from "./scene_manager.js"; -import { LoginScene } from "./LoginScene.js"; +import { LoginScene } from "./scenes/LoginScene.js"; +import { push_scene } from "./scenes/scene_manager.js"; // Hide startup loading message document.getElementById("loadingscene").classList.add("hidden"); diff --git a/radicale/web/internal_data/models.js b/radicale/web/internal_data/js/models/collection.js similarity index 100% rename from radicale/web/internal_data/models.js rename to radicale/web/internal_data/js/models/collection.js diff --git a/radicale/web/internal_data/CollectionsScene.js b/radicale/web/internal_data/js/scenes/CollectionsScene.js similarity index 97% rename from radicale/web/internal_data/CollectionsScene.js rename to radicale/web/internal_data/js/scenes/CollectionsScene.js index 2c6b65d8..3921d90b 100644 --- a/radicale/web/internal_data/CollectionsScene.js +++ b/radicale/web/internal_data/js/scenes/CollectionsScene.js @@ -19,16 +19,16 @@ * along with this program. If not, see . */ +import { discover_server_features, get_collections } from "../api/api.js"; +import { SERVER } from "../constants.js"; +import { Collection, CollectionType } from "../models/collection.js"; +import { bytesToHumanReadable } from "../utils/misc.js"; import { CreateEditCollectionScene } from "./CreateEditCollectionScene.js"; import { DeleteCollectionScene } from "./DeleteCollectionScene.js"; import { LoadingScene } from "./LoadingScene.js"; +import { Scene, pop_scene, push_scene, scene_stack } from "./scene_manager.js"; import { ShareCollectionScene, maybe_enable_sharing_options } from "./ShareCollectionScene.js"; import { UploadCollectionScene } from "./UploadCollectionScene.js"; -import { discover_server_features, get_collections } from "./api.js"; -import { SERVER } from "./constants.js"; -import { Collection, CollectionType } from "./models.js"; -import { Scene, pop_scene, push_scene, scene_stack } from "./scene_manager.js"; -import { bytesToHumanReadable } from "./utils.js"; /** * @implements {Scene} diff --git a/radicale/web/internal_data/CreateEditCollectionScene.js b/radicale/web/internal_data/js/scenes/CreateEditCollectionScene.js similarity index 97% rename from radicale/web/internal_data/CreateEditCollectionScene.js rename to radicale/web/internal_data/js/scenes/CreateEditCollectionScene.js index 69d32e04..3b6c280b 100644 --- a/radicale/web/internal_data/CreateEditCollectionScene.js +++ b/radicale/web/internal_data/js/scenes/CreateEditCollectionScene.js @@ -19,12 +19,12 @@ * along with this program. If not, see . */ +import { create_collection, edit_collection } from "../api/api.js"; +import { COLOR_RE } from "../constants.js"; +import { Collection, CollectionType } from "../models/collection.js"; +import { cleanHREFinput, isValidHREF, onCleanHREFinput, random_hex, random_uuid } from "../utils/misc.js"; import { LoadingScene } from "./LoadingScene.js"; -import { create_collection, edit_collection } from "./api.js"; -import { COLOR_RE } from "./constants.js"; -import { Collection, CollectionType } from "./models.js"; import { Scene, pop_scene, push_scene, scene_stack } from "./scene_manager.js"; -import { cleanHREFinput, isValidHREF, onCleanHREFinput, random_hex, random_uuid } from "./utils.js"; /** * @implements {Scene} diff --git a/radicale/web/internal_data/DeleteCollectionScene.js b/radicale/web/internal_data/js/scenes/DeleteCollectionScene.js similarity index 95% rename from radicale/web/internal_data/DeleteCollectionScene.js rename to radicale/web/internal_data/js/scenes/DeleteCollectionScene.js index 99d538da..540ad45f 100644 --- a/radicale/web/internal_data/DeleteCollectionScene.js +++ b/radicale/web/internal_data/js/scenes/DeleteCollectionScene.js @@ -19,11 +19,11 @@ * along with this program. If not, see . */ -import { Scene, push_scene, pop_scene, scene_stack } from "./scene_manager.js"; -import { Collection } from "./models.js"; -import { DELETE_CONFIRMATION_TEXT } from "./constants.js"; +import { delete_collection } from "../api/api.js"; +import { DELETE_CONFIRMATION_TEXT } from "../constants.js"; +import { Collection } from "../models/collection.js"; import { LoadingScene } from "./LoadingScene.js"; -import { delete_collection } from "./api.js"; +import { Scene, pop_scene, push_scene, scene_stack } from "./scene_manager.js"; /** * @implements {Scene} diff --git a/radicale/web/internal_data/LoadingScene.js b/radicale/web/internal_data/js/scenes/LoadingScene.js similarity index 100% rename from radicale/web/internal_data/LoadingScene.js rename to radicale/web/internal_data/js/scenes/LoadingScene.js diff --git a/radicale/web/internal_data/LoginScene.js b/radicale/web/internal_data/js/scenes/LoginScene.js similarity index 99% rename from radicale/web/internal_data/LoginScene.js rename to radicale/web/internal_data/js/scenes/LoginScene.js index 8e93abea..40855397 100644 --- a/radicale/web/internal_data/LoginScene.js +++ b/radicale/web/internal_data/js/scenes/LoginScene.js @@ -19,7 +19,7 @@ * along with this program. If not, see . */ -import { get_principal } from "./api.js"; +import { get_principal } from "../api/api.js"; import { CollectionsScene } from "./CollectionsScene.js"; import { LoadingScene } from "./LoadingScene.js"; import { Scene, pop_scene, push_scene, scene_stack } from "./scene_manager.js"; diff --git a/radicale/web/internal_data/NewShareScene.js b/radicale/web/internal_data/js/scenes/NewShareScene.js similarity index 97% rename from radicale/web/internal_data/NewShareScene.js rename to radicale/web/internal_data/js/scenes/NewShareScene.js index d104985f..6ae47167 100644 --- a/radicale/web/internal_data/NewShareScene.js +++ b/radicale/web/internal_data/js/scenes/NewShareScene.js @@ -19,9 +19,9 @@ * along with this program. If not, see . */ -import { add_share_by_map, add_share_by_token } from "./api.js"; +import { add_share_by_map, add_share_by_token } from "../api/api.js"; +import { onCleanHREFinput } from "../utils/misc.js"; import { Scene, pop_scene, scene_stack } from "./scene_manager.js"; -import { onCleanHREFinput } from "./utils.js"; /** * @implements {Scene} diff --git a/radicale/web/internal_data/ShareCollectionScene.js b/radicale/web/internal_data/js/scenes/ShareCollectionScene.js similarity index 97% rename from radicale/web/internal_data/ShareCollectionScene.js rename to radicale/web/internal_data/js/scenes/ShareCollectionScene.js index a963e829..0b21c973 100644 --- a/radicale/web/internal_data/ShareCollectionScene.js +++ b/radicale/web/internal_data/js/scenes/ShareCollectionScene.js @@ -24,8 +24,8 @@ import { delete_share_by_token, reload_sharing_list, server_features, -} from "./api.js"; -import { Collection } from "./models.js"; +} from "../api/api.js"; +import { Collection } from "../models/collection.js"; import { NewShareScene } from "./NewShareScene.js"; import { Scene, pop_scene, push_scene, scene_stack } from "./scene_manager.js"; @@ -155,7 +155,7 @@ function update_share_list(user, password, collection) { * @param {string} user * @param {string} password * @param {Collection} collection - * @param {import('./api.js').Share} share + * @param {import('../api/api.js').Share} share * @param {HTMLElement} template * @param {string} delete_label * @param {function(string, string, string, function():void):void} delete_action @@ -205,7 +205,7 @@ function add_share_row_node(user, password, collection, share, template, delete_ * @param {string} user * @param {string} password * @param {Collection} collection - * @param {Array} shares + * @param {Array} shares */ function add_share_rows(user, password, collection, shares) { /** @type {HTMLElement} */ let token_template = document.querySelector("[data-name=sharetokenrowtemplate]"); diff --git a/radicale/web/internal_data/UploadCollectionScene.js b/radicale/web/internal_data/js/scenes/UploadCollectionScene.js similarity index 98% rename from radicale/web/internal_data/UploadCollectionScene.js rename to radicale/web/internal_data/js/scenes/UploadCollectionScene.js index 011d8f09..bb52fc07 100644 --- a/radicale/web/internal_data/UploadCollectionScene.js +++ b/radicale/web/internal_data/js/scenes/UploadCollectionScene.js @@ -19,10 +19,10 @@ * along with this program. If not, see . */ +import { upload_collection } from "../api/api.js"; +import { Collection } from "../models/collection.js"; +import { cleanHREFinput, isValidHREF, onCleanHREFinput, random_uuid } from "../utils/misc.js"; import { Scene, pop_scene, scene_stack } from "./scene_manager.js"; -import { Collection } from "./models.js"; -import { cleanHREFinput, isValidHREF, onCleanHREFinput, random_uuid } from "./utils.js"; -import { upload_collection } from "./api.js"; /** * @implements {Scene} diff --git a/radicale/web/internal_data/scene_manager.js b/radicale/web/internal_data/js/scenes/scene_manager.js similarity index 100% rename from radicale/web/internal_data/scene_manager.js rename to radicale/web/internal_data/js/scenes/scene_manager.js diff --git a/radicale/web/internal_data/utils.js b/radicale/web/internal_data/js/utils/misc.js similarity index 100% rename from radicale/web/internal_data/utils.js rename to radicale/web/internal_data/js/utils/misc.js diff --git a/setup.py.legacy b/setup.py.legacy index 2bd359b4..d0eb791f 100644 --- a/setup.py.legacy +++ b/setup.py.legacy @@ -30,7 +30,11 @@ web_files = ["web/internal_data/css/icon.png", "web/internal_data/css/logo.svg", "web/internal_data/css/main.css", "web/internal_data/css/icons/*.svg", - "web/internal_data/*.js", + "web/internal_data/js/*.js", + "web/internal_data/js/api/*.js", + "web/internal_data/js/models/*.js", + "web/internal_data/js/scenes/*.js", + "web/internal_data/js/utils/*.js", "web/internal_data/index.html"] # Hint: if bcyrpt < 5.0.0 is used, passlib(libpass) dependency can be downgraded/reverted by: sed -i 's|libpass[^"]*|passlib|' setup.py.legacy