GUI adjustments on empty JSON doc

master
Niko PLP 5 months ago
parent 8209fff45b
commit c38585f87d
  1. 21
      ng-app/src/apps/AutomergeEditor.svelte
  2. 4
      ng-app/src/lib/Document.svelte
  3. 2
      ng-app/src/store.ts
  4. 1
      ng-app/src/zeras.ts

@ -23,11 +23,13 @@
import { import {
cur_tab_register_on_save, cur_tab_register_on_save,
cur_tab_deregister_on_save, cur_tab_deregister_on_save,
cur_tab_branch_class cur_tab_doc_can_edit,
set_view_or_edit
} from "../tab"; } from "../tab";
import { t } from "svelte-i18n"; import { t } from "svelte-i18n";
import wasmUrl from "@automerge/automerge/automerge.wasm?url"; import wasmUrl from "@automerge/automerge/automerge.wasm?url";
import { next as A } from "@automerge/automerge/slim"; import { next as A } from "@automerge/automerge/slim";
import{ PencilSquare } from "svelte-heros-v2";
import AMap from "./automerge/AMap.svelte"; import AMap from "./automerge/AMap.svelte";
@ -117,13 +119,30 @@
} }
} }
const edit = () => {
set_view_or_edit(false);
}
</script> </script>
{#if safari_error} {#if safari_error}
<Alert class="m-2" color="red">{$t("errors.no_wasm_on_old_safari")}</Alert> <Alert class="m-2" color="red">{$t("errors.no_wasm_on_old_safari")}</Alert>
{:else} {:else}
{#if Object.keys(doc).length !== 0 || !readonly}
<div class="grow mb-20" style="min-height:300px;"> <div class="grow mb-20" style="min-height:300px;">
<AMap {readonly} value={doc} {doc} on:update={update} on:updateText={updateText} proxy={root_proxy}/> <AMap {readonly} value={doc} {doc} on:update={update} on:updateText={updateText} proxy={root_proxy}/>
</div> </div>
{:else if $cur_tab_doc_can_edit}
<button
on:click={edit}
on:keypress={edit}
class="select-none ml-4 mt-2 mb-10 text-white bg-primary-700 hover:bg-primary-700/90 focus:ring-4 focus:ring-primary-500/50 rounded-lg text-base p-2 text-center inline-flex items-center dark:focus:ring-primary-700/55"
>
<PencilSquare class="mr-2 focus:outline-none" tabindex="-1" />
{$t("doc.start_editing")}
</button>
{:else}
<p class="ml-5">{$t("doc.empty")}</p>
{/if}
{/if} {/if}
<style> <style>

@ -24,7 +24,7 @@
import { t } from "svelte-i18n"; import { t } from "svelte-i18n";
import { Button, Progressbar, Spinner, Alert } from "flowbite-svelte"; import { Button, Progressbar, Spinner, Alert } from "flowbite-svelte";
import { inview } from 'svelte-inview'; import { inview } from 'svelte-inview';
import { cur_tab, cur_tab_doc_can_edit, nav_bar, can_have_header, header_icon, header_title, header_description, cur_branch, set_header_in_view, edit_header_button, cur_app, load_official_app, nav_bar_reset_newest } from "../tab"; import { cur_tab, cur_tab_view_or_edit, nav_bar, can_have_header, header_icon, header_title, header_description, cur_branch, set_header_in_view, edit_header_button, cur_app, load_official_app, nav_bar_reset_newest } from "../tab";
import NavIcon from "./icons/NavIcon.svelte"; import NavIcon from "./icons/NavIcon.svelte";
export let nuri = ""; export let nuri = "";
@ -72,7 +72,7 @@
}}/> }}/>
{/if} {/if}
{#if !$header_title} <span class="font-mono h-8 py-1 inline-block align-middle mr-2"> {$cur_tab.doc.nuri.substring(2,9)} </span> {/if} {#if !$header_title} <span class="font-mono h-8 py-1 inline-block align-middle mr-2"> {$cur_tab.doc.nuri.substring(2,9)} </span> {/if}
{#if $cur_tab_doc_can_edit} {#if !$cur_tab_view_or_edit}
<button class="p-1 mr-2 mb-2 w-8 h-8 flex-none" on:click={openEditHeader} title={$t($edit_header_button)}> <button class="p-1 mr-2 mb-2 w-8 h-8 flex-none" on:click={openEditHeader} title={$t($edit_header_button)}>
<Pencil tabindex=-1 class="w-5 h-5 focus:outline-none" /> <Pencil tabindex=-1 class="w-5 h-5 focus:outline-none" />

@ -533,7 +533,7 @@ export const branch_subscribe = function(nuri:string, in_tab:boolean) {
req.V0.session_id = session.session_id; req.V0.session_id = session.session_id;
unsub = await ng.app_request_stream(req, unsub = await ng.app_request_stream(req,
async (response) => { async (response) => {
console.log("GOT APP RESPONSE", response); //console.log("GOT APP RESPONSE", response);
if (response.V0.TabInfo) { if (response.V0.TabInfo) {
tab_update(nuri, ($cur_tab) => { tab_update(nuri, ($cur_tab) => {
if (response.V0.TabInfo.branch?.id) { if (response.V0.TabInfo.branch?.id) {

@ -323,6 +323,7 @@ export const official_apps = {
"ng:b": "AutomergeJsonSource", // displayed with highlight.js , with option to download "ng:b": "AutomergeJsonSource", // displayed with highlight.js , with option to download
"ng:o": ["data:json", "data:table", "doc:diagram:jsmind", "doc:diagram:gantt", "doc:diagram:excalidraw", "doc:viz:*", "doc:chart:*", "prod:cad"], "ng:o": ["data:json", "data:table", "doc:diagram:jsmind", "doc:diagram:gantt", "doc:diagram:excalidraw", "doc:viz:*", "doc:chart:*", "prod:cad"],
"ng:w": [], "ng:w": [],
"full_width": true,
}, },
"n:g:z:crdt_source_viewer:ymap": { "n:g:z:crdt_source_viewer:ymap": {
"ng:n": "JSON Source", "ng:n": "JSON Source",

Loading…
Cancel
Save