1
0
mirror of https://gitlab.com/bramw/baserow.git synced 2024-09-16 17:48:19 +00:00
bramw_baserow/premium/web-frontend/modules/baserow_premium/tableExporterTypes.js
Jonathan Adeline 4321aaea9a Replace icons
2023-09-28 13:39:41 +00:00

75 lines
1.6 KiB
JavaScript

import { TableExporterType } from '@baserow/modules/database/exporterTypes'
import { GridViewType } from '@baserow/modules/database/viewTypes'
import TableJSONExporter from '@baserow_premium/components/exporter/TableJSONExporter'
import TableXMLExporter from '@baserow_premium/components/exporter/TableXMLExporter'
import PremiumModal from '@baserow_premium/components/PremiumModal'
import PremiumFeatures from '@baserow_premium/features'
class PremiumTableExporterType extends TableExporterType {
getDeactivatedText() {
return this.app.i18n.t('premium.deactivated')
}
getDeactivatedClickModal() {
return PremiumModal
}
isDeactivated(workspaceId) {
return !this.app.$hasFeature(PremiumFeatures.PREMIUM, workspaceId)
}
}
export class JSONTableExporter extends PremiumTableExporterType {
static getType() {
return 'json'
}
getIconClass() {
return 'baserow-icon-file-code'
}
getName() {
const { i18n } = this.app
return i18n.t('premium.exporterType.json')
}
getFormComponent() {
return TableJSONExporter
}
getCanExportTable() {
return true
}
getSupportedViews() {
return [GridViewType.getType()]
}
}
export class XMLTableExporter extends PremiumTableExporterType {
static getType() {
return 'xml'
}
getIconClass() {
return 'baserow-icon-file-code'
}
getName() {
const { i18n } = this.app
return i18n.t('premium.exporterType.xml')
}
getFormComponent() {
return TableXMLExporter
}
getCanExportTable() {
return true
}
getSupportedViews() {
return [GridViewType.getType()]
}
}