platform/plugins/view-resources/src/index.ts
Denis Bykhov b926118e84
Sorting (#567)
Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
2021-12-08 10:14:55 +01:00

68 lines
2.3 KiB
TypeScript

//
// 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 type { AttachedDoc, Doc } from '@anticrm/core'
import core from '@anticrm/core'
import { Resources } from '@anticrm/platform'
import { getClient, MessageBox } from '@anticrm/presentation'
import { showPopup } from '@anticrm/ui'
import BooleanEditor from './components/BooleanEditor.svelte'
import BooleanPresenter from './components/BooleanPresenter.svelte'
import DateEditor from './components/DateEditor.svelte'
import DatePresenter from './components/DatePresenter.svelte'
import KanbanView from './components/KanbanView.svelte'
import StateEditor from './components/StateEditor.svelte'
import StatePresenter from './components/StatePresenter.svelte'
import StringEditor from './components/StringEditor.svelte'
import StringPresenter from './components/StringPresenter.svelte'
import Table from './components/Table.svelte'
import TableView from './components/TableView.svelte'
import TimestampPresenter from './components/TimestampPresenter.svelte'
import { deleteObject } from './utils'
export { default as ContextMenu } from './components/Menu.svelte'
export { buildModel, getActions, getObjectPresenter } from './utils'
export { Table }
function Delete (object: Doc): void {
showPopup(MessageBox, {
label: 'Delete object',
message: 'Do you want to delete this object?'
}, undefined, (result) => {
if (result) {
deleteObject(getClient(), object)
}
})
}
export default async (): Promise<Resources> => ({
actionImpl: {
Delete
},
component: {
StringEditor,
StringPresenter,
BooleanPresenter,
BooleanEditor,
StatePresenter,
StateEditor,
TableView,
KanbanView,
TimestampPresenter,
DateEditor,
DatePresenter
}
})