2022-06-23 11:09:18 +00:00
|
|
|
<script lang="ts">
|
2022-09-21 08:08:25 +00:00
|
|
|
import { IntlString } from '@hcengineering/platform'
|
2023-04-23 17:37:24 +00:00
|
|
|
import { TabList } from '@hcengineering/ui'
|
2022-06-23 11:09:18 +00:00
|
|
|
|
|
|
|
export let mode: string
|
2022-10-31 19:08:57 +00:00
|
|
|
export let config: [string, IntlString, object][]
|
2022-06-23 11:09:18 +00:00
|
|
|
export let onChange: (_mode: string) => void
|
|
|
|
|
2023-04-23 17:37:24 +00:00
|
|
|
$: modeList = config.map((c) => {
|
|
|
|
return {
|
|
|
|
id: c[0],
|
|
|
|
labelIntl: c[1],
|
2023-04-27 15:05:44 +00:00
|
|
|
labelParams: c[2],
|
2023-04-23 17:37:24 +00:00
|
|
|
action: () => onChange(c[0])
|
2022-06-23 11:09:18 +00:00
|
|
|
}
|
2023-04-23 17:37:24 +00:00
|
|
|
})
|
2022-06-23 11:09:18 +00:00
|
|
|
</script>
|
|
|
|
|
2023-04-23 17:37:24 +00:00
|
|
|
<div class="ac-header full divide search-start">
|
|
|
|
<div class="ac-header-full small-gap">
|
|
|
|
<TabList
|
|
|
|
items={modeList}
|
|
|
|
selected={mode}
|
|
|
|
kind={'normal'}
|
|
|
|
on:select={(result) => {
|
|
|
|
if (result.detail !== undefined && result.detail.action) result.detail.action()
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
</div>
|
2022-06-23 11:09:18 +00:00
|
|
|
</div>
|