2023-08-07 16:46:40 +00:00
< div >
2023-08-08 12:35:01 +00:00
< dialog id = " newInitScript " class = " modal " >
< form method = " dialog " class = " flex flex-col gap-2 rounded modal-box " wire : submit . prevent = 'save_new_init_script' >
< h3 class = " text-lg font-bold " > Add Init Script </ h3 >
2023-08-11 18:19:42 +00:00
< x - forms . input placeholder = " create_test_db.sql " id = " new_filename " label = " Filename " required />
< x - forms . textarea placeholder = " CREATE DATABASE test; " id = " new_content " label = " Content " required />
2023-08-08 12:35:01 +00:00
< x - forms . button onclick = " newInitScript.close() " type = " submit " >
Save
</ x - forms . button >
</ form >
< form method = " dialog " class = " modal-backdrop " >
< button > close </ button >
</ form >
</ dialog >
2023-08-07 20:14:21 +00:00
< form wire : submit . prevent = " submit " class = " flex flex-col gap-2 " >
2023-08-07 16:46:40 +00:00
< div class = " flex items-center gap-2 " >
< h2 > General </ h2 >
< x - forms . button type = " submit " >
Save
</ x - forms . button >
</ div >
2023-08-07 20:14:21 +00:00
< div class = " flex gap-2 " >
2023-08-11 18:19:42 +00:00
< x - forms . input label = " Name " id = " database.name " />
< x - forms . input label = " Description " id = " database.description " />
2023-08-07 20:14:21 +00:00
< x - forms . input label = " Image " id = " database.image " required
2023-08-11 18:19:42 +00:00
helper = " For all available images, check here:<br><br><a target='_blank' href='https://hub.docker.com/_/postgres'>https://hub.docker.com/_/postgres</a> " />
2023-08-07 20:14:21 +00:00
</ div >
< div class = " flex gap-2 " >
@ if ( $database -> started_at )
2023-08-08 09:51:36 +00:00
< x - forms . input label = " Username " id = " database.postgres_username " placeholder = " If empty: postgres "
2023-08-11 18:19:42 +00:00
readonly helper = " You can only modify it before the initial start. " />
2023-08-08 12:35:01 +00:00
< x - forms . input label = " Password " id = " database.postgres_password " type = " password " required readonly
2023-08-11 18:19:42 +00:00
helper = " You can only modify it before the initial start. " />
2023-08-08 09:51:36 +00:00
< x - forms . input label = " Database " id = " database.postgres_db "
2023-08-11 18:19:42 +00:00
placeholder = " If empty, it will be the same as Username. " readonly
helper = " You can only modify it before the initial start. " />
2023-08-07 20:14:21 +00:00
@ else
2023-08-09 14:05:51 +00:00
< x - forms . input label = " Username " id = " database.postgres_user " placeholder = " If empty: postgres "
2023-08-11 18:19:42 +00:00
helper = " You can only modify it before the initial start. " />
2023-08-08 12:35:01 +00:00
< x - forms . input label = " Password " id = " database.postgres_password " type = " password " required
2023-08-11 18:19:42 +00:00
helper = " You can only modify it before the initial start. " />
2023-08-08 09:51:36 +00:00
< x - forms . input label = " Database " id = " database.postgres_db "
2023-08-11 18:19:42 +00:00
placeholder = " If empty, it will be the same as Username. "
helper = " You can only modify it before the initial start. " />
2023-08-07 20:14:21 +00:00
@ endif
</ div >
2023-08-08 12:35:01 +00:00
< div class = " flex gap-2 " >
< x - forms . input label = " Initial Arguments " id = " database.postgres_initdb_args "
2023-08-11 18:19:42 +00:00
placeholder = " If empty, use default. See in docker docs. " />
2023-08-08 12:35:01 +00:00
< x - forms . input label = " Host Auth Method " id = " database.postgres_host_auth_method "
2023-08-11 18:19:42 +00:00
placeholder = " If empty, use default. See in docker docs. " />
2023-08-08 12:35:01 +00:00
</ div >
2023-09-07 11:23:34 +00:00
< div class = " flex flex-col gap-2 " >
2023-08-08 12:35:01 +00:00
< h3 class = " py-2 " > Network </ h3 >
2023-09-07 11:23:34 +00:00
< div class = " flex items-end gap-2 " >
< x - forms . input placeholder = " 3000:5432 " id = " database.ports_mappings " label = " Ports Mappings "
2023-08-11 18:19:42 +00:00
helper = " A comma separated list of ports you would like to map to the host system.<br><span class='inline-block font-bold text-warning'>Example</span>3000:5432,3002:5433 " />
2023-09-07 11:23:34 +00:00
< x - forms . input placeholder = " 5432 " disabled = " { { $database -> is_public } } " id = " database.public_port " label = " Public Port " />
< x - forms . checkbox instantSave id = " database.is_public " label = " Accessible over the internet " />
</ div >
< x - forms . input label = " Postgres URL " readonly wire : model = " db_url " />
2023-08-08 12:35:01 +00:00
</ div >
2023-08-07 16:46:40 +00:00
</ form >
2023-08-08 12:35:01 +00:00
< div class = " pb-16 " >
< div class = " flex gap-2 pt-4 pb-2 " >
< h3 > Initialization scripts </ h3 >
< x - forms . button class = " btn " onclick = " newInitScript.showModal() " >+ Add </ x - forms . button >
</ div >
< div class = " flex flex-col gap-2 " >
2023-08-09 12:44:36 +00:00
@ forelse ( data_get ( $database , 'init_scripts' , []) as $script )
2023-08-11 18:19:42 +00:00
< livewire : project . database . init - script : script = " $script " : wire : key = " $script['index'] " />
2023-08-08 12:35:01 +00:00
@ empty
< div > No initialization scripts found .</ div >
@ endforelse
</ div >
</ div >
2023-08-07 16:46:40 +00:00
</ div >