2021-08-04 23:31:54 +00:00
|
|
|
//
|
|
|
|
// 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.
|
|
|
|
//
|
|
|
|
|
|
|
|
import { SvelteComponent } from 'svelte'
|
|
|
|
|
|
|
|
import Root from './components/internal/Root.svelte'
|
|
|
|
|
|
|
|
export type { AnyComponent, AnySvelteComponent, Action } from './types'
|
|
|
|
// export { applicationShortcutKey } from './utils'
|
|
|
|
export { getCurrentLocation, navigate, location } from './location'
|
|
|
|
|
|
|
|
export { default as EditBox } from './components/EditBox.svelte'
|
|
|
|
export { default as Label } from './components/Label.svelte'
|
|
|
|
export { default as Button } from './components/Button.svelte'
|
|
|
|
export { default as StatusControl } from './components/StatusControl.svelte'
|
|
|
|
export { default as Component } from './components/Component.svelte'
|
|
|
|
export { default as Icon } from './components/Icon.svelte'
|
|
|
|
export { default as ActionIcon } from './components/ActionIcon.svelte'
|
|
|
|
export { default as Toggle } from './components/Toggle.svelte'
|
|
|
|
export { default as Dialog } from './components/Dialog.svelte'
|
|
|
|
export { default as ToggleWithLabel } from './components/ToggleWithLabel.svelte'
|
|
|
|
export { default as Tooltip } from './components/Tooltip.svelte'
|
|
|
|
export { default as CheckBox } from './components/CheckBox.svelte'
|
|
|
|
export { default as Progress } from './components/Progress.svelte'
|
|
|
|
export { default as Tabs } from './components/Tabs.svelte'
|
|
|
|
export { default as ScrollBox } from './components/ScrollBox.svelte'
|
|
|
|
export { default as PopupMenu } from './components/PopupMenu.svelte'
|
|
|
|
export { default as PopupItem } from './components/PopupItem.svelte'
|
|
|
|
export { default as SelectItem } from './components/SelectItem.svelte'
|
|
|
|
export { default as TextArea } from './components/TextArea.svelte'
|
|
|
|
export { default as Section } from './components/Section.svelte'
|
|
|
|
export { default as DatePicker } from './components/DatePicker.svelte'
|
2021-08-05 16:27:51 +00:00
|
|
|
export { default as StylishEdit } from './components/StylishEdit.svelte'
|
2021-08-04 23:31:54 +00:00
|
|
|
export { default as Grid } from './components/Grid.svelte'
|
|
|
|
export { default as Row } from './components/Row.svelte'
|
|
|
|
export { default as CheckBoxWithLabel } from './components/CheckBoxWithLabel.svelte'
|
|
|
|
export { default as CheckBoxList } from './components/CheckBoxList.svelte'
|
2021-08-06 06:49:54 +00:00
|
|
|
export { default as EditWithIcon } from './components/EditWithIcon.svelte'
|
2021-08-10 10:53:24 +00:00
|
|
|
export { default as Loading } from './components/Loading.svelte'
|
2021-08-19 12:54:06 +00:00
|
|
|
export { default as Popup } from './components/Popup.svelte'
|
2021-08-28 10:06:28 +00:00
|
|
|
export { default as CircleButton } from './components/CircleButton.svelte'
|
2021-08-04 23:31:54 +00:00
|
|
|
|
|
|
|
export { default as IconAdd } from './components/icons/Add.svelte'
|
2021-08-30 07:17:26 +00:00
|
|
|
export { default as IconClose } from './components/icons/Close.svelte'
|
2021-08-04 23:31:54 +00:00
|
|
|
export { default as IconSearch } from './components/icons/Search.svelte'
|
|
|
|
export { default as IconToDo } from './components/icons/ToDo.svelte'
|
|
|
|
export { default as IconComments } from './components/icons/Comments.svelte'
|
|
|
|
|
2021-08-24 17:06:19 +00:00
|
|
|
export * from './utils'
|
|
|
|
|
2021-08-18 09:37:15 +00:00
|
|
|
import type { AnySvelteComponent, AnyComponent } from './types'
|
|
|
|
import { writable } from 'svelte/store'
|
|
|
|
|
2021-08-04 23:31:54 +00:00
|
|
|
export function createApp (target: HTMLElement): SvelteComponent {
|
|
|
|
return new Root({ target })
|
|
|
|
}
|
|
|
|
|
|
|
|
interface CompAndProps {
|
|
|
|
is: AnySvelteComponent | AnyComponent | undefined
|
|
|
|
props: any
|
|
|
|
element: HTMLElement | undefined
|
|
|
|
}
|
|
|
|
|
|
|
|
export const store = writable<CompAndProps>({
|
|
|
|
is: undefined,
|
|
|
|
props: {},
|
|
|
|
element: undefined
|
|
|
|
})
|
|
|
|
|
|
|
|
export function showModal (component: AnySvelteComponent | AnyComponent, props: any, element?: HTMLElement): void {
|
|
|
|
store.set({ is: component, props, element: element })
|
|
|
|
}
|
|
|
|
|
|
|
|
export function closeModal (): void {
|
|
|
|
store.set({ is: undefined, props: {}, element: undefined })
|
|
|
|
}
|
|
|
|
|
2021-08-19 12:54:06 +00:00
|
|
|
export const popupstore = writable<CompAndProps>({
|
|
|
|
is: undefined,
|
|
|
|
props: {},
|
|
|
|
element: undefined
|
|
|
|
})
|
|
|
|
|
|
|
|
export function showPopup (component: AnySvelteComponent | AnyComponent, props: any, element?: HTMLElement): void {
|
|
|
|
popupstore.set({ is: component, props, element: element })
|
|
|
|
}
|
|
|
|
|
|
|
|
export function closePopup (): void {
|
|
|
|
popupstore.set({ is: undefined, props: {}, element: undefined })
|
|
|
|
}
|