diff --git a/frontend/code/componentManagement.ts b/frontend/code/componentManagement.ts index 047e0640..8ed5dc81 100644 --- a/frontend/code/componentManagement.ts +++ b/frontend/code/componentManagement.ts @@ -20,7 +20,7 @@ import { DevToolsConnectorComponent } from './components/devToolsConnector'; import { DialogContainerComponent } from './components/dialog_container'; import { DrawerComponent } from './components/drawer'; import { DropdownComponent } from './components/dropdown'; -import { FilePickerAreaComponent } from './components/FilePickerArea'; +import { FilePickerAreaComponent } from './components/filePickerArea'; import { FlowComponent as FlowContainerComponent } from './components/flowContainer'; import { FundamentalRootComponent } from './components/fundamentalRootComponent'; import { GridComponent } from './components/grid'; diff --git a/frontend/code/components/fileChooserArea.ts b/frontend/code/components/filePickerArea.ts similarity index 93% rename from frontend/code/components/fileChooserArea.ts rename to frontend/code/components/filePickerArea.ts index a942a293..a794bed5 100644 --- a/frontend/code/components/fileChooserArea.ts +++ b/frontend/code/components/filePickerArea.ts @@ -95,36 +95,36 @@ export class FilePickerAreaComponent extends ComponentBase { private fileTypesElement: HTMLElement; private progressElement: HTMLElement; - private rippleInstance: RippleEffect; + private rippleInstance: RippleEffect /* */; createElement(): HTMLElement { // Create the element let element = document.createElement('div'); - element.classList.add('rio-file-chooser-area'); + element.classList.add('rio-file-picker-area'); // Create the icon element but don't add it this.iconElement = document.createElement('div'); - this.iconElement.classList.add('rio-file-chooser-area-icon'); + this.iconElement.classList.add('rio-file-picker-area-icon'); // Create the child container this.childContainer = document.createElement('div'); this.childContainer.classList.add( - 'rio-file-chooser-area-child-container' + 'rio-file-picker-area-child-container' ); element.appendChild(this.childContainer); // Create the progress element this.progressElement = document.createElement('div'); - this.progressElement.classList.add('rio-file-chooser-area-progress'); + this.progressElement.classList.add('rio-file-picker-area-progress'); element.appendChild(this.progressElement); // Create the title element, but don't add it this.titleElement = document.createElement('div'); - this.titleElement.classList.add('rio-file-chooser-area-title'); + this.titleElement.classList.add('rio-file-picker-area-title'); // Same for the file types element this.fileTypesElement = document.createElement('div'); - this.fileTypesElement.classList.add('rio-file-chooser-area-file-types'); + this.fileTypesElement.classList.add('rio-file-picker-area-file-types'); // A hidden file input this.fileInput = document.createElement('input'); @@ -157,7 +157,7 @@ export class FilePickerAreaComponent extends ComponentBase { element.style.setProperty('--x', `${x}px`); element.style.setProperty('--y', `${y}px`); - element.classList.add('rio-file-chooser-area-file-hover'); + element.classList.add('rio-file-picker-area-file-hover'); }, false ); @@ -169,9 +169,7 @@ export class FilePickerAreaComponent extends ComponentBase { (event) => { event.preventDefault(); event.stopPropagation(); - element.classList.remove( - 'rio-file-chooser-area-file-hover' - ); + element.classList.remove('rio-file-picker-area-file-hover'); }, false ); @@ -196,7 +194,7 @@ export class FilePickerAreaComponent extends ComponentBase { false ); - // Open file chooser when clicking the drop area + // Open file picker when clicking the drop area element.addEventListener('click', () => { this.fileInput.click(); }); @@ -308,7 +306,7 @@ export class FilePickerAreaComponent extends ComponentBase { // Column for the title and file types let column = document.createElement('div'); - column.classList.add('rio-file-chooser-area-column'); + column.classList.add('rio-file-picker-area-column'); this.childContainer.appendChild(column); // Title @@ -328,7 +326,7 @@ export class FilePickerAreaComponent extends ComponentBase { // as visual indicator that the area is clickable. let buttonOuter = document.createElement('div'); buttonOuter.classList.add( - 'rio-file-chooser-area-button', + 'rio-file-picker-area-button', 'rio-button', 'rio-shape-rounded' ); diff --git a/frontend/css/style.scss b/frontend/css/style.scss index d26abbcc..b2d55f23 100644 --- a/frontend/css/style.scss +++ b/frontend/css/style.scss @@ -3795,7 +3795,7 @@ html.picking-component * { } // Upload Area -.rio-file-chooser-area { +.rio-file-picker-area { pointer-events: auto; position: relative; @@ -3815,40 +3815,40 @@ html.picking-component * { border-radius: var(--rio-global-corner-radius-medium); } -.rio-file-chooser-area:not(.rio-file-chooser-area-file-hover):hover { +.rio-file-picker-area:not(.rio-file-picker-area-file-hover):hover { background-color: var(--rio-local-bg-active); } -.rio-file-chooser-area-child-container { +.rio-file-picker-area-child-container { display: flex; align-items: center; gap: 1rem; padding: 1rem; } -.rio-file-chooser-area-icon { +.rio-file-picker-area-icon { width: 3.5rem; height: 3.5rem; } -.rio-file-chooser-area-column { +.rio-file-picker-area-column { flex-grow: 1; display: flex; flex-direction: column; gap: 0.3rem; } -.rio-file-chooser-area-file-types { +.rio-file-picker-area-file-types { opacity: 0.5; } -.rio-file-chooser-area-button > div { +.rio-file-picker-area-button > div { color: var(--rio-local-text-color); padding: 0.5rem 1rem; font-weight: bold; } -.rio-file-chooser-area-progress { +.rio-file-picker-area-progress { pointer-events: none; position: absolute; @@ -3862,7 +3862,7 @@ html.picking-component * { transition: opacity 0.3s; } -.rio-file-chooser-area-progress::after { +.rio-file-picker-area-progress::after { content: ''; display: block; position: relative; @@ -3876,12 +3876,12 @@ html.picking-component * { // transition: width 0.3s ease-in-out; } -.rio-file-chooser-area-file-hover { +.rio-file-picker-area-file-hover { cursor: copy; color: var(--rio-local-level-2-bg); } -.rio-file-chooser-area::before { +.rio-file-picker-area::before { pointer-events: none; content: ''; @@ -3903,10 +3903,10 @@ html.picking-component * { transition: opacity 0.3s; } -.rio-file-chooser-area-file-hover::before { +.rio-file-picker-area-file-hover::before { opacity: 0.2; } -.rio-file-chooser-area > input { +.rio-file-picker-area > input { display: none; } diff --git a/rio/components/__init__.py b/rio/components/__init__.py index 11a4c04a..84fed045 100644 --- a/rio/components/__init__.py +++ b/rio/components/__init__.py @@ -16,6 +16,7 @@ from .devel_component import * from .dialog_container import * from .drawer import * from .dropdown import * +from .file_picker_area import * from .flow_container import * from .grid import * from .html import * @@ -37,7 +38,6 @@ from .node_output import * from .number_input import * from .overlay import * from .page_view import * -from .pick_file_area import * from .plot import * from .popup import * from .progress_bar import * diff --git a/rio/components/file_chooser_area.py b/rio/components/file_picker_area.py similarity index 100% rename from rio/components/file_chooser_area.py rename to rio/components/file_picker_area.py diff --git a/rio/session.py b/rio/session.py index 66e3a613..9ea8b577 100644 --- a/rio/session.py +++ b/rio/session.py @@ -2055,7 +2055,7 @@ window.history.{method}(null, "", {json.dumps(active_page_url.path)}) """ Open a file chooser dialog. - This function opens a file chooser dialog, allowing the user to select a + This function opens a file chooser dialog, allowing the user to pick a file. The selected file is returned, allowing you to access its contents. See also `save_file`, if you want to save a file instead of opening one.