mirror of
https://github.com/hcengineering/platform.git
synced 2024-12-22 19:11:33 +03:00
popup experiment
Signed-off-by: Andrey Platov <andrey@hardcoreeng.com>
This commit is contained in:
parent
570530329b
commit
580ca436b3
@ -0,0 +1,73 @@
|
||||
<!--
|
||||
// Copyright © 2020 Anticrm Platform Contributors.
|
||||
//
|
||||
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License. You may
|
||||
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
//
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
-->
|
||||
|
||||
<script lang="ts">
|
||||
import { createEventDispatcher } from 'svelte'
|
||||
import type { Ref, Space } from '@anticrm/core'
|
||||
import { TextArea, EditBox, Dialog, Tabs, Section, Grid } from '@anticrm/ui'
|
||||
import File from './icons/File.svelte'
|
||||
import Address from './icons/Address.svelte'
|
||||
import Attachment from './icons/Attachment.svelte'
|
||||
import DialogHeader from './DialogHeader.svelte'
|
||||
|
||||
import { getClient } from '@anticrm/presentation'
|
||||
|
||||
import recruit from '../plugin'
|
||||
|
||||
export let space: Ref<Space>
|
||||
|
||||
const dispatch = createEventDispatcher()
|
||||
|
||||
let firstName: string = ''
|
||||
let lastName: string = ''
|
||||
let email: string = ''
|
||||
let phone: string = ''
|
||||
let city: string = ''
|
||||
|
||||
const client = getClient()
|
||||
|
||||
function createCandidate() {
|
||||
client.createDoc(recruit.class.Candidate, space, {
|
||||
firstName,
|
||||
lastName,
|
||||
email,
|
||||
phone,
|
||||
city,
|
||||
})
|
||||
}
|
||||
</script>
|
||||
|
||||
<Dialog label={recruit.string.CreateCandidate}
|
||||
okLabel={recruit.string.CreateCandidate}
|
||||
okAction={createCandidate}
|
||||
on:close={() => { dispatch('close') }}>
|
||||
<DialogHeader />
|
||||
<Section icon={File} label={'Personal Information'}>
|
||||
<Grid>
|
||||
<EditBox label={'First name *'} placeholder={'John'} bind:value={firstName} focus/>
|
||||
<EditBox label={'Last name *'} placeholder={'Smith'} bind:value={lastName}/>
|
||||
<EditBox label={'Email *'} placeholder={'john.smith@gmail.com'} bind:value={email}/>
|
||||
<EditBox label={'Phone *'} placeholder={'+00 (000) 000 00'} bind:value={phone}/>
|
||||
</Grid>
|
||||
</Section>
|
||||
<Section icon={Address} label={'Address'}>
|
||||
<Grid>
|
||||
<EditBox label={'Street'} placeholder={'Broderick st'} />
|
||||
<EditBox label={'City *'} placeholder={'Los Angeles'} bind:value={city}/>
|
||||
<EditBox label={'ZIP / Postal code'} placeholder={'26892'} />
|
||||
<EditBox label={'Country'} placeholder={'United States'} />
|
||||
</Grid>
|
||||
</Section>
|
||||
</Dialog>
|
@ -49,25 +49,4 @@
|
||||
}
|
||||
</script>
|
||||
|
||||
<Dialog label={recruit.string.CreateCandidate}
|
||||
okLabel={recruit.string.CreateCandidate}
|
||||
okAction={createCandidate}
|
||||
on:close={() => { dispatch('close') }}>
|
||||
<DialogHeader />
|
||||
<Section icon={File} label={'Personal Information'}>
|
||||
<Grid>
|
||||
<EditBox label={'First name *'} placeholder={'John'} bind:value={firstName} focus/>
|
||||
<EditBox label={'Last name *'} placeholder={'Smith'} bind:value={lastName}/>
|
||||
<EditBox label={'Email *'} placeholder={'john.smith@gmail.com'} bind:value={email}/>
|
||||
<EditBox label={'Phone *'} placeholder={'+00 (000) 000 00'} bind:value={phone}/>
|
||||
</Grid>
|
||||
</Section>
|
||||
<Section icon={Address} label={'Address'}>
|
||||
<Grid>
|
||||
<EditBox label={'Street'} placeholder={'Broderick st'} />
|
||||
<EditBox label={'City *'} placeholder={'Los Angeles'} bind:value={city}/>
|
||||
<EditBox label={'ZIP / Postal code'} placeholder={'26892'} />
|
||||
<EditBox label={'Country'} placeholder={'United States'} />
|
||||
</Grid>
|
||||
</Section>
|
||||
</Dialog>
|
||||
<DialogHeader />
|
||||
|
@ -23,7 +23,7 @@
|
||||
import Star from './icons/Star.svelte'
|
||||
|
||||
import { getClient, createQuery } from '@anticrm/presentation'
|
||||
import { showModal } from '@anticrm/ui'
|
||||
import { showPopup } from '@anticrm/ui'
|
||||
import { classIcon } from '../utils'
|
||||
import core from '@anticrm/core'
|
||||
|
||||
@ -37,8 +37,8 @@
|
||||
|
||||
$: query.query(core.class.Space, { _id: space }, result => { data = result[0] })
|
||||
|
||||
function showCreateDialog() {
|
||||
showModal(createItemDialog as AnyComponent, { space })
|
||||
function showCreateDialog(ev: Event) {
|
||||
showPopup(createItemDialog as AnyComponent, { space }, ev.target as HTMLElement)
|
||||
}
|
||||
</script>
|
||||
|
||||
@ -46,7 +46,7 @@
|
||||
{#if data}
|
||||
<Header icon={classIcon(client, data._class)} label={data.name} description={data.description} />
|
||||
{#if createItemDialog}
|
||||
<Button label="Create" primary={true} size={'small'} on:click={showCreateDialog}/>
|
||||
<Button label="Create" primary={true} size={'small'} on:click={(ev) => showCreateDialog(ev)}/>
|
||||
{/if}
|
||||
<ActionIcon label={'Favorite'} icon={Star} size={'small'}/>
|
||||
<ActionIcon label={'Create'} icon={Add} size={'small'}/>
|
||||
|
Loading…
Reference in New Issue
Block a user