370 lines
14 KiB
Vue
Executable File
370 lines
14 KiB
Vue
Executable File
<template>
|
|
<DocComponent
|
|
title="Vue Table Component"
|
|
header="DataTable"
|
|
description="DataTable displays data in tabular format."
|
|
:componentDocs="docs"
|
|
:apiDocs="['DataTable', 'Column', 'ColumnGroup', 'Row']"
|
|
:ptTabComponent="ptComponent"
|
|
:themingDocs="themingDoc"
|
|
/>
|
|
</template>
|
|
|
|
<script>
|
|
import AccessibilityDoc from '@/doc/datatable/AccessibilityDoc.vue';
|
|
import BasicDoc from '@/doc/datatable/BasicDoc.vue';
|
|
import ColumnGroupDoc from '@/doc/datatable/ColumnGroupDoc.vue';
|
|
import ColumnToggleDoc from '@/doc/datatable/ColumnToggleDoc.vue';
|
|
import ConditionalStyleDoc from '@/doc/datatable/ConditionalStyleDoc.vue';
|
|
import ContextMenuDoc from '@/doc/datatable/ContextMenuDoc.vue';
|
|
import DynamicColumnsDoc from '@/doc/datatable/DynamicColumnsDoc.vue';
|
|
import ExportDoc from '@/doc/datatable/ExportDoc.vue';
|
|
import GridLinesDoc from '@/doc/datatable/GridLinesDoc.vue';
|
|
import ImportDoc from '@/doc/datatable/ImportDoc.vue';
|
|
import LazyLoadDoc from '@/doc/datatable/LazyLoadDoc.vue';
|
|
import ReorderDoc from '@/doc/datatable/ReorderDoc.vue';
|
|
import RowExpansionDoc from '@/doc/datatable/RowExpansionDoc.vue';
|
|
import SizeDoc from '@/doc/datatable/SizeDoc.vue';
|
|
import StatefulDoc from '@/doc/datatable/StatefulDoc.vue';
|
|
import StripedRowsDoc from '@/doc/datatable/StripedRowsDoc.vue';
|
|
import TemplateDoc from '@/doc/datatable/TemplateDoc.vue';
|
|
import ExpandModeDoc from '@/doc/datatable/colresize/ExpandModeDoc.vue';
|
|
import FitModeDoc from '@/doc/datatable/colresize/FitModeDoc.vue';
|
|
import CellEditDoc from '@/doc/datatable/edit/CellEditDoc.vue';
|
|
import FilterSortEditDoc from '@/doc/datatable/edit/FilterSortEditDoc.vue';
|
|
import RowEditDoc from '@/doc/datatable/edit/RowEditDoc.vue';
|
|
import AdvancedFilterDoc from '@/doc/datatable/filter/AdvancedFilterDoc.vue';
|
|
import BasicFilterDoc from '@/doc/datatable/filter/BasicFilterDoc.vue';
|
|
import PaginatorBasicDoc from '@/doc/datatable/paginator/PaginatorBasicDoc.vue';
|
|
import PaginatorTemplateDoc from '@/doc/datatable/paginator/PaginatorTemplateDoc.vue';
|
|
import PTComponent from '@/doc/datatable/pt/index.vue';
|
|
import ExpandableRowGroupDoc from '@/doc/datatable/rowgroup/ExpandableRowGroupDoc.vue';
|
|
import RowSpanRowGroupDoc from '@/doc/datatable/rowgroup/RowSpanRowGroupDoc.vue';
|
|
import SubHeaderRowGroupDoc from '@/doc/datatable/rowgroup/SubHeaderRowGroupDoc.vue';
|
|
import CheckboxRowSelectionDoc from '@/doc/datatable/rowselection/CheckboxRowSelectionDoc.vue';
|
|
import MultipleRowsSelectionDoc from '@/doc/datatable/rowselection/MultipleRowsSelectionDoc.vue';
|
|
import RadioButtonRowSelectionDoc from '@/doc/datatable/rowselection/RadioButtonRowSelectionDoc.vue';
|
|
import RowSelectEventsDoc from '@/doc/datatable/rowselection/RowSelectEventsDoc.vue';
|
|
import SingleRowSelectionDoc from '@/doc/datatable/rowselection/SingleRowSelectionDoc.vue';
|
|
import CustomersDoc from '@/doc/datatable/samples/CustomersDoc.vue';
|
|
import ProductsDoc from '@/doc/datatable/samples/ProductsDoc.vue';
|
|
import FlexibleScrollDoc from '@/doc/datatable/scroll/FlexibleScrollDoc.vue';
|
|
import FrozenColumnsDoc from '@/doc/datatable/scroll/FrozenColumnsDoc.vue';
|
|
import FrozenRowsDoc from '@/doc/datatable/scroll/FrozenRowsDoc.vue';
|
|
import HorizontalScrollDoc from '@/doc/datatable/scroll/HorizontalScrollDoc.vue';
|
|
import VerticalScrollDoc from '@/doc/datatable/scroll/VerticalScrollDoc.vue';
|
|
import MultipleColumnsDoc from '@/doc/datatable/sort/MultipleColumnsDoc.vue';
|
|
import PresortDoc from '@/doc/datatable/sort/PresortDoc.vue';
|
|
import RemovableSortDoc from '@/doc/datatable/sort/RemovableSortDoc.vue';
|
|
import SingleColumnDoc from '@/doc/datatable/sort/SingleColumnDoc.vue';
|
|
import ThemingDoc from '@/doc/datatable/theming/index.vue';
|
|
import LazyVirtualScrollDoc from '@/doc/datatable/virtualscroll/LazyVirtualScrollDoc.vue';
|
|
import PreloadVirtualScrollDoc from '@/doc/datatable/virtualscroll/PreloadVirtualScrollDoc.vue';
|
|
|
|
export default {
|
|
data() {
|
|
return {
|
|
docs: [
|
|
{
|
|
id: 'import',
|
|
label: 'Import',
|
|
component: ImportDoc
|
|
},
|
|
{
|
|
id: 'basic',
|
|
label: 'Basic',
|
|
component: BasicDoc
|
|
},
|
|
{
|
|
id: 'dynamic_columns',
|
|
label: 'Dynamic Columns',
|
|
component: DynamicColumnsDoc
|
|
},
|
|
{
|
|
id: 'template',
|
|
label: 'Template',
|
|
component: TemplateDoc
|
|
},
|
|
{
|
|
id: 'size',
|
|
label: 'Size',
|
|
component: SizeDoc
|
|
},
|
|
{
|
|
id: 'gridlines',
|
|
label: 'Grid Lines',
|
|
component: GridLinesDoc
|
|
},
|
|
{
|
|
id: 'striped',
|
|
label: 'Striped Rows',
|
|
component: StripedRowsDoc
|
|
},
|
|
{
|
|
id: 'paginator',
|
|
label: 'Paginator',
|
|
children: [
|
|
{
|
|
id: 'paginator_basic',
|
|
label: 'Basic',
|
|
component: PaginatorBasicDoc
|
|
},
|
|
{
|
|
id: 'paginator_template',
|
|
label: 'Template',
|
|
component: PaginatorTemplateDoc
|
|
}
|
|
]
|
|
},
|
|
{
|
|
id: 'sort',
|
|
label: 'Sort',
|
|
children: [
|
|
{
|
|
id: 'single_sort',
|
|
label: 'Single Column',
|
|
component: SingleColumnDoc
|
|
},
|
|
{
|
|
id: 'multiple_sort',
|
|
label: 'Multiple Columns',
|
|
component: MultipleColumnsDoc
|
|
},
|
|
{
|
|
id: 'pre_sort',
|
|
label: 'Presort',
|
|
component: PresortDoc
|
|
},
|
|
{
|
|
id: 'removable_sort',
|
|
label: 'Removable',
|
|
component: RemovableSortDoc
|
|
}
|
|
]
|
|
},
|
|
{
|
|
id: 'filter',
|
|
label: 'Filter',
|
|
children: [
|
|
{
|
|
id: 'basic_filter',
|
|
label: 'Basic',
|
|
component: BasicFilterDoc
|
|
},
|
|
{
|
|
id: 'advanced_filter',
|
|
label: 'Advanced',
|
|
component: AdvancedFilterDoc
|
|
}
|
|
]
|
|
},
|
|
{
|
|
id: 'row_selection',
|
|
label: 'Row Selection',
|
|
children: [
|
|
{
|
|
id: 'single_row_selection',
|
|
label: 'Single',
|
|
component: SingleRowSelectionDoc
|
|
},
|
|
{
|
|
id: 'multiple_rows_selection',
|
|
label: 'Multiple',
|
|
component: MultipleRowsSelectionDoc
|
|
},
|
|
{
|
|
id: 'radiobutton_row_selection',
|
|
label: 'RadioButton',
|
|
component: RadioButtonRowSelectionDoc
|
|
},
|
|
{
|
|
id: 'checkbox_row_selection',
|
|
label: 'Checkbox',
|
|
component: CheckboxRowSelectionDoc
|
|
},
|
|
{
|
|
id: 'row_selection_events',
|
|
label: 'Events',
|
|
component: RowSelectEventsDoc
|
|
}
|
|
]
|
|
},
|
|
{
|
|
id: 'row_expansion',
|
|
label: 'Row Expansion',
|
|
component: RowExpansionDoc
|
|
},
|
|
{
|
|
id: 'edit',
|
|
label: 'Edit',
|
|
children: [
|
|
{
|
|
id: 'cell_edit',
|
|
label: 'Cell',
|
|
component: CellEditDoc
|
|
},
|
|
{
|
|
id: 'row_edit',
|
|
label: 'Row',
|
|
component: RowEditDoc
|
|
},
|
|
{
|
|
id: 'cell_edit_filter_sort',
|
|
label: 'Filter & Sort Cell Edit',
|
|
component: FilterSortEditDoc
|
|
}
|
|
]
|
|
},
|
|
{
|
|
id: 'lazy_load',
|
|
label: 'Lazy Load',
|
|
component: LazyLoadDoc
|
|
},
|
|
{
|
|
id: 'scroll',
|
|
label: 'Scroll',
|
|
children: [
|
|
{
|
|
id: 'vertical_scroll',
|
|
label: 'Vertical',
|
|
component: VerticalScrollDoc
|
|
},
|
|
{
|
|
id: 'flex_scroll',
|
|
label: 'Flexible',
|
|
component: FlexibleScrollDoc
|
|
},
|
|
{
|
|
id: 'horizontal_scroll',
|
|
label: 'Horizontal',
|
|
component: HorizontalScrollDoc
|
|
},
|
|
{
|
|
id: 'frozen_rows',
|
|
label: 'Frozen Rows',
|
|
component: FrozenRowsDoc
|
|
},
|
|
{
|
|
id: 'frozen_columns',
|
|
label: 'Frozen Columns',
|
|
component: FrozenColumnsDoc
|
|
}
|
|
]
|
|
},
|
|
{
|
|
id: 'virtualscroll',
|
|
label: 'Virtual Scroll',
|
|
children: [
|
|
{
|
|
id: 'preload_virtualscroll',
|
|
label: 'Preload',
|
|
component: PreloadVirtualScrollDoc
|
|
},
|
|
{
|
|
id: 'lazy_virtualscroll',
|
|
label: 'Lazy',
|
|
component: LazyVirtualScrollDoc
|
|
}
|
|
]
|
|
},
|
|
{
|
|
id: 'column_group',
|
|
label: 'Column Group',
|
|
component: ColumnGroupDoc
|
|
},
|
|
{
|
|
id: 'row_group',
|
|
label: 'Row Group',
|
|
children: [
|
|
{
|
|
id: 'rowgroup_subheader',
|
|
label: 'Subheader',
|
|
component: SubHeaderRowGroupDoc
|
|
},
|
|
{
|
|
id: 'rowgroup_expandable',
|
|
label: 'Expandable',
|
|
component: ExpandableRowGroupDoc
|
|
},
|
|
{
|
|
id: 'rowgroup_rowspan',
|
|
label: 'RowSpan',
|
|
component: RowSpanRowGroupDoc
|
|
}
|
|
]
|
|
},
|
|
{
|
|
id: 'conditional_style',
|
|
label: 'Conditional Style',
|
|
component: ConditionalStyleDoc
|
|
},
|
|
{
|
|
id: 'column_resize',
|
|
label: 'Column Resize',
|
|
children: [
|
|
{
|
|
id: 'resize_fitmode',
|
|
label: 'Fit Mode',
|
|
component: FitModeDoc
|
|
},
|
|
{
|
|
id: 'resize_expandmode',
|
|
label: 'Expand Mode',
|
|
component: ExpandModeDoc
|
|
}
|
|
]
|
|
},
|
|
{
|
|
id: 'reorder',
|
|
label: 'Reorder',
|
|
component: ReorderDoc
|
|
},
|
|
{
|
|
id: 'column_toggle',
|
|
label: 'Column Toggle',
|
|
component: ColumnToggleDoc
|
|
},
|
|
{
|
|
id: 'export',
|
|
label: 'Export',
|
|
component: ExportDoc
|
|
},
|
|
{
|
|
id: 'contextmenu',
|
|
label: 'Context Menu',
|
|
component: ContextMenuDoc
|
|
},
|
|
{
|
|
id: 'stateful',
|
|
label: 'Stateful',
|
|
component: StatefulDoc
|
|
},
|
|
{
|
|
id: 'samples',
|
|
label: 'Samples',
|
|
children: [
|
|
{
|
|
id: 'customers',
|
|
label: 'Customers',
|
|
component: CustomersDoc
|
|
},
|
|
{
|
|
id: 'dtproducts',
|
|
label: 'Products',
|
|
component: ProductsDoc
|
|
}
|
|
]
|
|
},
|
|
{
|
|
id: 'accessibility',
|
|
label: 'Accessibility',
|
|
component: AccessibilityDoc
|
|
}
|
|
],
|
|
ptComponent: PTComponent,
|
|
themingDoc: ThemingDoc
|
|
};
|
|
}
|
|
};
|
|
</script>
|