Removable shared messages (#2559)

Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
This commit is contained in:
Denis Bykhov 2023-01-30 00:03:00 +06:00 committed by GitHub
parent 017e1cc1d7
commit 3ba2958b20
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 68 additions and 69 deletions

View File

@ -157,7 +157,9 @@ export function createModel (builder: Builder): void {
txClass: core.class.TxCreateDoc, txClass: core.class.TxCreateDoc,
component: gmail.activity.TxSharedCreate, component: gmail.activity.TxSharedCreate,
label: gmail.string.SharedMessages, label: gmail.string.SharedMessages,
display: 'content' display: 'content',
editable: true,
hideOnRemove: true
}, },
gmail.ids.TxSharedCreate gmail.ids.TxSharedCreate
) )

View File

@ -123,7 +123,9 @@ export function createModel (builder: Builder): void {
txClass: core.class.TxCreateDoc, txClass: core.class.TxCreateDoc,
component: telegram.activity.TxSharedCreate, component: telegram.activity.TxSharedCreate,
label: telegram.string.SharedMessages, label: telegram.string.SharedMessages,
display: 'content' display: 'content',
editable: true,
hideOnRemove: true
}, },
telegram.ids.TxSharedCreate telegram.ids.TxSharedCreate
) )

View File

@ -121,28 +121,26 @@
} }
</script> </script>
{#if enabled} <div class="popupPanel-body__main-header bottom-divider p-2">
<div class="popupPanel-body__main-header bottom-divider p-2"> <div class="flex-between">
{#if selectable} {#if selectable}
<div class="flex-between"> <span><b>{selected.size}</b> <Label label={gmail.string.MessagesSelected} /></span>
<span><b>{selected.size}</b> <Label label={gmail.string.MessagesSelected} /></span> <div class="flex">
<div class="flex"> <div>
<div> <Button label={gmail.string.Cancel} size={'small'} on:click={clear} />
<Button label={gmail.string.Cancel} size={'small'} on:click={clear} /> </div>
</div> <div class="ml-3">
<div class="ml-3"> <Button
<Button label={gmail.string.PublishSelected}
label={gmail.string.PublishSelected} size={'small'}
size={'small'} kind={'primary'}
kind={'primary'} disabled={!selected.size}
disabled={!selected.size} on:click={share}
on:click={share} />
/>
</div>
</div> </div>
</div> </div>
{:else} {:else}
<div class="flex-between"> {#if enabled}
<Button <Button
label={gmail.string.CreateMessage} label={gmail.string.CreateMessage}
size={'small'} size={'small'}
@ -151,18 +149,18 @@
newMessage = true newMessage = true
}} }}
/> />
<Button {/if}
icon={IconShare} <Button
kind={'transparent'} icon={IconShare}
showTooltip={{ label: gmail.string.ShareMessages }} kind={'transparent'}
on:click={async () => { showTooltip={{ label: gmail.string.ShareMessages }}
selectable = !selectable on:click={async () => {
}} selectable = !selectable
/> }}
</div> />
{/if} {/if}
</div> </div>
{/if} </div>
<Scroller> <Scroller>
<div class="popupPanel-body__main-content py-4 clear-mins flex-no-shrink"> <div class="popupPanel-body__main-content py-4 clear-mins flex-no-shrink">
{#if messages && messages.length > 0} {#if messages && messages.length > 0}

View File

@ -224,17 +224,16 @@
showPopup(Reconnect, {}, eventToHTMLElement(e), onReconnect) showPopup(Reconnect, {}, eventToHTMLElement(e), onReconnect)
}} }}
/> />
{:else}
<Button
icon={IconShare}
kind={'transparent'}
size={'medium'}
showTooltip={{ label: telegram.string.Share }}
on:click={async () => {
selectable = !selectable
}}
/>
{/if} {/if}
<Button
icon={IconShare}
kind={'transparent'}
size={'medium'}
showTooltip={{ label: telegram.string.Share }}
on:click={async () => {
selectable = !selectable
}}
/>
</svelte:fragment> </svelte:fragment>
<Scroller bottomStart autoscroll> <Scroller bottomStart autoscroll>
@ -243,36 +242,34 @@
{/if} {/if}
</Scroller> </Scroller>
{#if integration !== undefined && !integration.disabled} <div class="popupPanel-body__main-header ref-input" class:selectable>
<div class="popupPanel-body__main-header ref-input" class:selectable> {#if selectable}
{#if selectable} <div class="flex-between">
<div class="flex-between"> <span>{selected.size} messages selected</span>
<span>{selected.size} messages selected</span> <div class="flex">
<div class="flex"> <div>
<div> <Button label={telegram.string.Cancel} size={'medium'} on:click={clear} />
<Button label={telegram.string.Cancel} size={'medium'} on:click={clear} /> </div>
</div> <div class="ml-3">
<div class="ml-3"> <Button
<Button label={telegram.string.PublishSelected}
label={telegram.string.PublishSelected} size={'medium'}
size={'medium'} kind={'primary'}
kind={'primary'} disabled={!selected.size}
disabled={!selected.size} on:click={share}
on:click={share} />
/>
</div>
</div> </div>
</div> </div>
{:else} </div>
<AttachmentRefInput {:else if integration !== undefined && !integration.disabled}
space={telegram.space.Telegram} <AttachmentRefInput
_class={telegram.class.NewMessage} space={telegram.space.Telegram}
{objectId} _class={telegram.class.NewMessage}
on:message={onMessage} {objectId}
/> on:message={onMessage}
{/if} />
</div> {/if}
{/if} </div>
</Panel> </Panel>
{/if} {/if}
@ -281,7 +278,7 @@
padding: 0.5rem 0 1.5rem; padding: 0.5rem 0 1.5rem;
&.selectable { &.selectable {
padding: 1rem 0; padding: 1rem;
color: var(--theme-caption-color); color: var(--theme-caption-color);
border-top: 1px solid var(--divider-color); border-top: 1px solid var(--divider-color);
} }