mirror of
https://github.com/hcengineering/platform.git
synced 2025-04-23 08:48:01 +00: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>
|
</script>
|
||||||
|
|
||||||
<Dialog label={recruit.string.CreateCandidate}
|
<DialogHeader />
|
||||||
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>
|
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
import Star from './icons/Star.svelte'
|
import Star from './icons/Star.svelte'
|
||||||
|
|
||||||
import { getClient, createQuery } from '@anticrm/presentation'
|
import { getClient, createQuery } from '@anticrm/presentation'
|
||||||
import { showModal } from '@anticrm/ui'
|
import { showPopup } from '@anticrm/ui'
|
||||||
import { classIcon } from '../utils'
|
import { classIcon } from '../utils'
|
||||||
import core from '@anticrm/core'
|
import core from '@anticrm/core'
|
||||||
|
|
||||||
@ -37,8 +37,8 @@
|
|||||||
|
|
||||||
$: query.query(core.class.Space, { _id: space }, result => { data = result[0] })
|
$: query.query(core.class.Space, { _id: space }, result => { data = result[0] })
|
||||||
|
|
||||||
function showCreateDialog() {
|
function showCreateDialog(ev: Event) {
|
||||||
showModal(createItemDialog as AnyComponent, { space })
|
showPopup(createItemDialog as AnyComponent, { space }, ev.target as HTMLElement)
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@ -46,7 +46,7 @@
|
|||||||
{#if data}
|
{#if data}
|
||||||
<Header icon={classIcon(client, data._class)} label={data.name} description={data.description} />
|
<Header icon={classIcon(client, data._class)} label={data.name} description={data.description} />
|
||||||
{#if createItemDialog}
|
{#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}
|
{/if}
|
||||||
<ActionIcon label={'Favorite'} icon={Star} size={'small'}/>
|
<ActionIcon label={'Favorite'} icon={Star} size={'small'}/>
|
||||||
<ActionIcon label={'Create'} icon={Add} size={'small'}/>
|
<ActionIcon label={'Create'} icon={Add} size={'small'}/>
|
||||||
|
Loading…
Reference in New Issue
Block a user