vue-slim-tables 0.1.2 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/style.css +1 -0
- package/dist/types/components/loading_row.vue.d.ts +14 -0
- package/dist/types/components/table.vue.d.ts +83 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/use/filterable.d.ts +23 -0
- package/dist/vst.es.js +1905 -0
- package/dist/vst.es.js.map +1 -0
- package/dist/vst.umd.js +5 -0
- package/dist/vst.umd.js.map +1 -0
- package/package.json +37 -22
- package/.eslintrc.yml +0 -28
- package/dist/bundle.css +0 -2
- package/dist/bundle.js +0 -1
- package/src/js/components/loading_row.vue +0 -22
- package/src/js/components/table.vue +0 -151
- package/src/js/index.js +0 -5
- package/src/stylesheets/index.scss +0 -97
- package/webpack.config.js +0 -48
package/README.md
CHANGED
|
@@ -48,3 +48,5 @@ npm install vue-slim-tables
|
|
|
48
48
|
| #row:loading | - | Rewrite loading table rows markup |
|
|
49
49
|
| #cell:${column.key} | { row, index, column, value } | Rewrite cell with custom html |
|
|
50
50
|
| #pagination | { page, rows } | Rewrite pagination with your own implementation |
|
|
51
|
+
| #thead:before | { columns } | Ability to render content before base header |
|
|
52
|
+
| #thead:after | { columns } | Ability to render content after base header |
|
package/dist/style.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@charset "UTF-8";@keyframes moving-gradient{0%{background-position:-250px 0}to{background-position:250px 0}}.vst-th{line-height:20px}.vst-orderable div{display:flex;justify-content:space-between;align-items:center}.vst-orderable div:hover{cursor:pointer}.vst-orderable div:hover .vst-orderable-toggle{color:#555!important}.vst-orderable div .vst-orderable-toggle{font-size:20px;color:#ccc!important}.vst-orderable div .vst-orderable-toggle:after{content:" \2194";display:inline-block;transform:rotate(-90deg)}.vst-orderable div .vst-orderable-toggle.desc:after{content:" \2191";transform:rotate(0)}.vst-orderable div .vst-orderable-toggle.asc:after{content:" \2193";transform:rotate(0)}.vst-loading-row div{height:1.5rem;background:linear-gradient(to right,#eee 20%,#ddd 50%,#eee 80%);background-size:500px 1.5rem;animation-name:moving-gradient;animation-duration:1s;animation-iteration-count:infinite;animation-timing-function:linear;animation-fill-mode:forwards}.vst tr td.vst-loading-row-1 div{animation-delay:-1s}.vst tr td.vst-loading-row-2 div{animation-delay:-.9s}.vst tr td.vst-loading-row-3 div{animation-delay:-.8s}.vst tr td.vst-loading-row-4 div{animation-delay:-.7s}.vst tr td.vst-loading-row-5 div{animation-delay:-.6s}.vst tr td.vst-loading-row-6 div{animation-delay:-.5s}.vst tr td.vst-loading-row-7 div{animation-delay:-.4s}.vst tr td.vst-loading-row-8 div{animation-delay:-.3s}.vst tr td.vst-loading-row-9 div{animation-delay:-.2s}.vst tr td.vst-loading-row-10 div{animation-delay:-.1s}.vst-pagination{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.vst-pagination a{position:relative;display:block;padding:8px 12px;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.vst-pagination a:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.vst-page-item.disabled .vst-page-link{pointer-events:none;color:#6c757d;cursor:auto;background-color:#fff}.vst-page-item .vst-page-link{cursor:pointer}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
declare const _sfc_main: import("vue").DefineComponent<{
|
|
2
|
+
columnsLength: {
|
|
3
|
+
type: NumberConstructor;
|
|
4
|
+
required: true;
|
|
5
|
+
};
|
|
6
|
+
}, {
|
|
7
|
+
randNum: number;
|
|
8
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
9
|
+
columnsLength: {
|
|
10
|
+
type: NumberConstructor;
|
|
11
|
+
required: true;
|
|
12
|
+
};
|
|
13
|
+
}>>, {}>;
|
|
14
|
+
export default _sfc_main;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { ShallowRef } from 'vue';
|
|
2
|
+
interface TableColumn {
|
|
3
|
+
key: string;
|
|
4
|
+
title: string;
|
|
5
|
+
orderable?: boolean;
|
|
6
|
+
}
|
|
7
|
+
interface TableOrders {
|
|
8
|
+
[key: string]: 'asc' | 'desc';
|
|
9
|
+
}
|
|
10
|
+
interface TableFetchParams {
|
|
11
|
+
per_page: number;
|
|
12
|
+
page: number;
|
|
13
|
+
order?: Array<{
|
|
14
|
+
field: string;
|
|
15
|
+
direction: 'asc' | 'desc';
|
|
16
|
+
}>;
|
|
17
|
+
}
|
|
18
|
+
declare const _sfc_main: import("vue").DefineComponent<{
|
|
19
|
+
columns: {
|
|
20
|
+
type: ArrayConstructor;
|
|
21
|
+
required: true;
|
|
22
|
+
};
|
|
23
|
+
source: {
|
|
24
|
+
type: (StringConstructor | FunctionConstructor)[];
|
|
25
|
+
required: true;
|
|
26
|
+
};
|
|
27
|
+
perPage: {
|
|
28
|
+
type: NumberConstructor;
|
|
29
|
+
required: false;
|
|
30
|
+
default: number;
|
|
31
|
+
};
|
|
32
|
+
}, {
|
|
33
|
+
props: {
|
|
34
|
+
columns: Array<TableColumn>;
|
|
35
|
+
source: string | ((_: TableFetchParams) => Promise<Array<unknown>> | Array<unknown>);
|
|
36
|
+
perPage: number;
|
|
37
|
+
};
|
|
38
|
+
orders: ShallowRef<TableOrders>;
|
|
39
|
+
fetchData: (params: TableFetchParams) => Promise<any>;
|
|
40
|
+
onOrderClick: (key: string) => void;
|
|
41
|
+
page: import("vue").Ref<number>;
|
|
42
|
+
isSyncing: import("vue").ComputedRef<boolean>;
|
|
43
|
+
isSynced: import("vue").ComputedRef<boolean>;
|
|
44
|
+
prevPage: () => void;
|
|
45
|
+
nextPage: () => void;
|
|
46
|
+
reload: () => void;
|
|
47
|
+
refetch: () => void;
|
|
48
|
+
rows: {
|
|
49
|
+
value: {
|
|
50
|
+
[x: string]: any;
|
|
51
|
+
}[];
|
|
52
|
+
};
|
|
53
|
+
LoadingRow: import("vue").DefineComponent<{
|
|
54
|
+
columnsLength: {
|
|
55
|
+
type: NumberConstructor;
|
|
56
|
+
required: true;
|
|
57
|
+
};
|
|
58
|
+
}, {
|
|
59
|
+
randNum: number;
|
|
60
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
61
|
+
columnsLength: {
|
|
62
|
+
type: NumberConstructor;
|
|
63
|
+
required: true;
|
|
64
|
+
};
|
|
65
|
+
}>>, {}>;
|
|
66
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
67
|
+
columns: {
|
|
68
|
+
type: ArrayConstructor;
|
|
69
|
+
required: true;
|
|
70
|
+
};
|
|
71
|
+
source: {
|
|
72
|
+
type: (StringConstructor | FunctionConstructor)[];
|
|
73
|
+
required: true;
|
|
74
|
+
};
|
|
75
|
+
perPage: {
|
|
76
|
+
type: NumberConstructor;
|
|
77
|
+
required: false;
|
|
78
|
+
default: number;
|
|
79
|
+
};
|
|
80
|
+
}>>, {
|
|
81
|
+
perPage: number;
|
|
82
|
+
}>;
|
|
83
|
+
export default _sfc_main;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
interface UseFiltetableArgs {
|
|
2
|
+
initialFilters: {
|
|
3
|
+
[key: string]: any;
|
|
4
|
+
};
|
|
5
|
+
loadItems: any;
|
|
6
|
+
}
|
|
7
|
+
declare const useFilterable: ({ initialFilters, loadItems }: UseFiltetableArgs) => {
|
|
8
|
+
page: import("vue").Ref<number>;
|
|
9
|
+
items: {
|
|
10
|
+
value: {
|
|
11
|
+
[x: string]: any;
|
|
12
|
+
}[];
|
|
13
|
+
};
|
|
14
|
+
syncState: import("vue").Ref<string>;
|
|
15
|
+
nextPage: () => void;
|
|
16
|
+
prevPage: () => void;
|
|
17
|
+
isSyncing: import("vue").ComputedRef<boolean>;
|
|
18
|
+
isSynced: import("vue").ComputedRef<boolean>;
|
|
19
|
+
isFailed: import("vue").ComputedRef<boolean>;
|
|
20
|
+
reload: () => void;
|
|
21
|
+
refetch: () => void;
|
|
22
|
+
};
|
|
23
|
+
export default useFilterable;
|