attachment presenter

Signed-off-by: Andrey Platov <andrey@hardcoreeng.com>
This commit is contained in:
Andrey Platov
2021-09-15 19:51:22 +02:00
parent bf9f479500
commit ce51ee8137
18 changed files with 694 additions and 683 deletions
File diff suppressed because it is too large Load Diff
+223 -222
View File
File diff suppressed because it is too large Load Diff
+2
View File
@@ -115,3 +115,5 @@ export function createModel (builder: Builder): void {
presenter: chunter.component.AttachmentPresenter
})
}
export default chunter
+2 -1
View File
@@ -28,6 +28,7 @@
"@anticrm/model-contact": "~0.6.0",
"@anticrm/recruit": "~0.6.0",
"@anticrm/recruit-resources": "~0.6.0",
"@anticrm/chunter": "~0.6.0"
"@anticrm/chunter": "~0.6.0",
"@anticrm/model-chunter": "~0.6.0"
}
}
+2 -1
View File
@@ -25,6 +25,7 @@ import workbench from '@anticrm/model-workbench'
import view from '@anticrm/model-view'
import contact, { TPerson } from '@anticrm/model-contact'
import recruit from './plugin'
import chunter from '@anticrm/model-chunter'
export const DOMAIN_RECRUIT = 'recruit' as Domain
@@ -109,7 +110,7 @@ export function createModel (builder: Builder): void {
// resume: chunter.class.Attachment
// }
} as FindOptions<Doc>, // TODO: fix
config: ['', '#' + recruit.component.CreateApplicationPresenter + '/Action', 'city', 'channels']
config: ['', '#' + recruit.component.CreateApplicationPresenter + '/Action', 'city', '#' + chunter.component.AttachmentPresenter + '/Files', 'channels']
})
builder.createDoc(view.class.Viewlet, core.space.Model, {
+2 -1
View File
@@ -24,6 +24,7 @@
"@anticrm/view": "~0.6.0",
"svelte": "^3.37.0",
"@anticrm/contact": "~0.6.0",
"@anticrm/chunter": "~0.6.0"
"@anticrm/chunter": "~0.6.0",
"@anticrm/login": "~0.6.1"
}
}
@@ -17,7 +17,7 @@
import { onMount } from 'svelte'
import { Button, CircleButton, IconClose } from '@anticrm/ui'
import { Avatar } from '@anticrm/presentation'
import Avatar from './Avatar.svelte'
import ArrowLeft from './icons/ArrowLeft.svelte'
import ExpandUp from './icons/ExpandUp.svelte'
import ExpandDown from './icons/ExpandDown.svelte'
+1
View File
@@ -24,3 +24,4 @@ export { default as AttributeEditor } from './components/AttributeEditor.svelte'
export { default as Card } from './components/Card.svelte'
export { default as Channels } from './components/Channels.svelte'
export { default as Backlink } from './components/Backlink.svelte'
export { default as PDFViewer } from './components/PDFViewer.svelte'
@@ -16,13 +16,19 @@
<script lang="ts">
import type { Bag } from '@anticrm/core'
import type { Attachment } from '@anticrm/chunter'
import { IconFile } from '@anticrm/ui'
import { IconFile, Link, showPopup } from '@anticrm/ui'
import { PDFViewer } from '@anticrm/presentation'
export let value: Attachment
export let value: { attachments: Bag<Attachment> }
</script>
{#if value}
<IconFile size={'small'}/>
{#if Object.keys(value.attachments).length === 1}
<Link label={Object.values(value.attachments)[0].name} href={'#'} icon={IconFile} on:click={ () => { showPopup(PDFViewer, { file: Object.values(value.attachments)[0].file }, 'right') } }/>
{:else if Object.keys(value.attachments).length > 1}
<IconFile size='small'/>Files
{/if}
{/if}
@@ -19,9 +19,8 @@
import type { Doc, Ref, Space, Class, Bag } from '@anticrm/core'
import { setPlatformStatus, unknownError } from '@anticrm/platform'
import { generateId } from '@anticrm/core'
import { createQuery, getClient } from '@anticrm/presentation'
import { createQuery, getClient, PDFViewer } from '@anticrm/presentation'
import type { Attachment } from '@anticrm/chunter'
import PDFViewer from './PDFViewer.svelte'
import { uploadFile } from '../utils'
@@ -19,7 +19,7 @@
import { generateId } from '@anticrm/core'
import { setPlatformStatus, unknownError } from '@anticrm/platform'
import { getClient, Card, Channels } from '@anticrm/presentation'
import { getClient, Card, Channels, PDFViewer } from '@anticrm/presentation'
import { uploadFile } from '../utils'
import recruit from '../plugin'
@@ -32,7 +32,6 @@
import Avatar from './icons/Avatar.svelte'
import Edit from './icons/Edit.svelte'
import SocialEditor from './SocialEditor.svelte'
import PDFViewer from './PDFViewer.svelte'
import Girl from '../../img/girl.png'
import Elon from '../../img/elon.png'
import Bond from '../../img/bond.png'
@@ -21,7 +21,7 @@
import { generateId } from '@anticrm/core'
import { EditBox, Button, CircleButton, Grid, Label, Link, showPopup, Component, IconFile as FileIcon } from '@anticrm/ui'
import type { AnyComponent } from '@anticrm/ui'
import { getClient } from '@anticrm/presentation'
import { getClient, PDFViewer } from '@anticrm/presentation'
import type { Attachment } from '@anticrm/chunter'
import AvatarEditor from './AvatarEditor.svelte'
@@ -30,7 +30,6 @@
import Twitter from './icons/Twitter.svelte'
import User from './icons/User.svelte'
import SocialEditor from './SocialEditor.svelte'
import PDFViewer from './PDFViewer.svelte'
import { uploadFile } from '../utils'
import { Candidate } from '@anticrm/recruit'
@@ -19,10 +19,9 @@
import { CircleButton, EditBox, Link, showPopup, IconFile as FileIcon } from '@anticrm/ui'
import type { Attachment } from '@anticrm/chunter'
import FileUpload from './icons/FileUpload.svelte'
import PDFViewer from './PDFViewer.svelte'
import { getClient, createQuery, Channels, AttributeEditor } from '@anticrm/presentation'
import { getClient, createQuery, Channels, AttributeEditor, PDFViewer } from '@anticrm/presentation'
import { Panel } from '@anticrm/panel'
import type { Candidate, Candidate } from '@anticrm/recruit'
import type { Candidate } from '@anticrm/recruit'
import DialogHeader from './DialogHeader.svelte'
import Contact from './icons/Contact.svelte'
import Avatar from './icons/Avatar.svelte'
@@ -115,7 +115,7 @@
}
.tr-body {
height: 3.75rem;
height: 3rem;
color: var(--theme-caption-color);
border-bottom: 1px solid var(--theme-button-border-hovered);
&:last-child { border-bottom: none; }
File diff suppressed because it is too large Load Diff