this repo has no description

add actual parameter list

phaz.uk d17ed172 6085ed71

verified
Changed files
+57 -14
src
src-tauri
src
frontend_calls
+1 -1
src-tauri/src/frontend_calls/settings.rs
··· 10 10 11 11 #[tauri::command] 12 12 pub fn get_hide_editor_on_app_start( conf: State<Config> ) -> bool { 13 - let mut config = conf.store.lock().unwrap(); 13 + let config = conf.store.lock().unwrap(); 14 14 config.hide_editor_on_start 15 15 }
+2
src-tauri/src/lib.rs
··· 12 12 mod utils; 13 13 mod runtime; 14 14 15 + // TODO: Add built-in OSC endpoints 16 + 15 17 #[cfg_attr(mobile, tauri::mobile_entry_point)] 16 18 #[tokio::main] 17 19 pub async fn run() {
+19 -10
src/App.tsx
··· 10 10 import { ContextMenu } from "./structs/ContextMenu"; 11 11 import { NodeManager } from "./Mangers/NodeManager"; 12 12 import { TabMenu } from "./components/TabMenu"; 13 - import { ConfirmationPopup } from "./components/ConfirmationPopup"; 14 13 15 14 import * as keybinds from './keybinds'; 15 + import { listen } from "@tauri-apps/api/event"; 16 16 17 17 let App = () => { 18 18 let [ selectedNode, setSelectedNode ] = createSignal<Node | null>(null); ··· 56 56 visible: false 57 57 } 58 58 59 - onMount(() => { 59 + onMount(async () => { 60 60 NodeManager.Instance.HookTabChange(() => setSelectedNode(null)); 61 61 62 62 ctx = canvas.getContext('2d')!; ··· 323 323 324 324 keybinds.load(selectedNode, setSelectedNode); 325 325 requestAnimationFrame(update); 326 + 327 + let unlisten_0 = await listen('hide-window', () => { 328 + stopRender = true; 329 + }) 330 + 331 + let unlisten_1 = await listen('show-window', () => { 332 + if(stopRender)window.location.reload(); 333 + }) 334 + 335 + onCleanup(() => { 336 + stopRender = true; 337 + window.clearInterval(interval); 338 + 339 + unlisten_0(); 340 + unlisten_1(); 341 + }); 326 342 }); 327 343 328 - let update = () => { // TODO: Start/Stop render when app is minimised 344 + let update = () => { 329 345 if(stopRender)return; 330 - 331 346 scale = lerp(scale, targetScale, 0.25); 332 347 333 348 offset[0] = lerp(offset[0], offsetTarget[0], 0.5); ··· 361 376 } 362 377 }, 1000); 363 378 364 - onCleanup(() => { 365 - stopRender = true; 366 - window.clearInterval(interval); 367 - }); 368 - 369 379 return ( 370 380 <> 371 - <ConfirmationPopup /> 372 381 <TabMenu /> 373 382 <ControlBar node={selectedNode} lockMovement={( lock ) => lockMovement = lock} /> 374 383 <canvas ref={canvas}/>
+23
src/components/ParameterList.css
··· 59 59 60 60 .parameter-list-button-dropdown > div:hover{ 61 61 color: #aaa; 62 + } 63 + 64 + .parameter-list-parameter{ 65 + display: inline-block; 66 + padding: 5px 10px; 67 + margin: 5px 0px 5px 10px; 68 + background: #445077; 69 + border-radius: 5px; 70 + transition: 0.1s; 71 + cursor: pointer; 72 + user-select: none; 73 + -webkit-user-select: none; 74 + } 75 + 76 + .parameter-list-parameter:hover{ 77 + background: #363f5e; 78 + } 79 + 80 + .parameter-list-parameter-delete{ 81 + padding: 0px 5px; 82 + display: flex; 83 + justify-content: center; 84 + align-items: center; 62 85 }
+12 -2
src/components/ParameterList.tsx
··· 7 7 changed: ( value: { type: string, desc: string }[] ) => void 8 8 } 9 9 10 - // TODO: An actual parameter list 11 10 export let ParameterList = ( props: ParameterListProps ) => { 12 11 let [ parameters, setParameters ] = createSignal<{ type: string, desc: string }[]>(props.value, { equals: false }); 13 12 let [ addParametersOpen, setAddParametersOpen ] = createSignal(false); ··· 23 22 </div> 24 23 <div class="parameter-list-content"> 25 24 <For each={parameters()}> 26 - { i => <div>{ JSON.stringify(i) }</div>} 25 + { ( i, index ) => <div style={{ display: 'flex' }}> 26 + <div class="parameter-list-parameter">{ i.desc === "" ? i.type : i.desc + ` ${i.type}` }</div> 27 + <div class="parameter-list-parameter parameter-list-parameter-delete" onClick={() => { 28 + let params = parameters(); 29 + params.splice(index(), 1); 30 + 31 + setParameters(params); 32 + props.changed(params); 33 + }}> 34 + <img src="/assets/icons/trash-can-solid-full.svg" width="20" /> 35 + </div> 36 + </div>} 27 37 </For> 28 38 <div class="button" onClick={() => { setAddParametersOpen(!addParametersOpen()) }}>Add Parameter + </div> 29 39 <Show when={addParametersOpen()}>
-1
src/keybinds.ts
··· 5 5 let isKeyDown: any = {}; 6 6 7 7 export let load = ( selectedNode: Accessor<Node | null>, setSelectedNode: Setter<Node | null> ) => { 8 - // TODO: Keybind system 9 8 // TODO: Copy / paste 10 9 // TODO: Add undo / redo -ing 11 10