quasar-factory-lib 0.0.41 → 0.0.43
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/dist/quasar-factory-lib.js +25 -9
- package/dist/quasar-factory-lib.umd.cjs +10 -10
- package/dist/utils/index.d.ts +4 -3
- package/package.json +1 -1
- package/src/utils/index.ts +4 -3
- package/dist/utils/filterMethod.d.ts +0 -9
- package/dist/utils/infiniteScroll.d.ts +0 -22
- package/dist/utils/setTableHeight.d.ts +0 -4
- package/src/utils/filterMethod.ts +0 -35
- package/src/utils/infiniteScroll.ts +0 -59
- package/src/utils/setTableHeight.ts +0 -26
- package/src/utils/sort.js +0 -30
package/dist/utils/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export { default as filterMethod } from '
|
|
2
|
-
export { default as infiniteScroll } from '
|
|
3
|
-
export { default as
|
|
1
|
+
export { default as filterMethod } from '../components/Table/utils/filterMethod';
|
|
2
|
+
export { default as infiniteScroll } from '../components/Table/utils/infiniteScroll';
|
|
3
|
+
export { default as setTableHeight } from '../components/Table/utils/setTableHeight';
|
|
4
|
+
export { default as qTableSort } from '../components/Table/utils/sort';
|
package/package.json
CHANGED
package/src/utils/index.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export { default as filterMethod } from '
|
|
2
|
-
export { default as infiniteScroll } from '
|
|
3
|
-
export { default as
|
|
1
|
+
export { default as filterMethod } from '../components/Table/utils/filterMethod'
|
|
2
|
+
export { default as infiniteScroll } from '../components/Table/utils/infiniteScroll';
|
|
3
|
+
export { default as setTableHeight } from '../components/Table/utils/setTableHeight';
|
|
4
|
+
export { default as qTableSort } from '../components/Table/utils/sort'
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
declare const infiniteScroll: {
|
|
2
|
-
handleInfiniteScrollNewTable(self: {
|
|
3
|
-
$nextTick: (arg0: () => void) => void;
|
|
4
|
-
totalPageModal: number;
|
|
5
|
-
smallDevice: boolean;
|
|
6
|
-
totalPage: number;
|
|
7
|
-
}): void;
|
|
8
|
-
paginationNewTable(self: {
|
|
9
|
-
pageLength: number;
|
|
10
|
-
rowsPaginationCount: number;
|
|
11
|
-
}, rows: object[]): object[];
|
|
12
|
-
handleInfiniteScrollModal(self: {
|
|
13
|
-
$nextTick: (arg0: () => void) => void;
|
|
14
|
-
totalPageModal: number;
|
|
15
|
-
smallDevice: boolean;
|
|
16
|
-
}, tableID: string): void;
|
|
17
|
-
paginationModal(self: {
|
|
18
|
-
pageLengthModal: number;
|
|
19
|
-
rowsPaginationCount: number;
|
|
20
|
-
}, rows: object[]): object[];
|
|
21
|
-
};
|
|
22
|
-
export default infiniteScroll;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
|
|
3
|
-
import infiniteScroll from './infiniteScroll'
|
|
4
|
-
const filterMethod = {
|
|
5
|
-
filter (self: {filterTerms: string }, rows: string | [], terms: { search: string }): object[] | [] {
|
|
6
|
-
self.filterTerms = terms.search
|
|
7
|
-
if (terms.search) {
|
|
8
|
-
const filteredRows = []
|
|
9
|
-
const lowerSearch = terms.search ? terms.search.toLowerCase() : ''
|
|
10
|
-
for (let i = 0; i < rows.length; i++) {
|
|
11
|
-
if (this.containsSearchTermInRow(rows[i], lowerSearch)) {
|
|
12
|
-
filteredRows.push(rows[i])
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
return infiniteScroll.paginationNewTable(self, filteredRows)
|
|
16
|
-
} else {
|
|
17
|
-
return infiniteScroll.paginationNewTable(self, rows)
|
|
18
|
-
}
|
|
19
|
-
},
|
|
20
|
-
|
|
21
|
-
containsSearchTermInRow (row: object, lowerSearch: string): boolean {
|
|
22
|
-
if (lowerSearch !== '') {
|
|
23
|
-
const values = Object.values(row)
|
|
24
|
-
const valuesLowerCase = values.map((x) => (x + '').toLowerCase())
|
|
25
|
-
for (let val = 0; val < valuesLowerCase.length; val++) {
|
|
26
|
-
if (valuesLowerCase[val].includes(lowerSearch)) {
|
|
27
|
-
return true
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
return false
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export default filterMethod
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
|
|
3
|
-
const infiniteScroll = {
|
|
4
|
-
handleInfiniteScrollNewTable (self: { $nextTick: (arg0: () => void) => void; totalPageModal: number; smallDevice: boolean, totalPage: number }): void {
|
|
5
|
-
self.$nextTick(() => {
|
|
6
|
-
const elemClass = self.smallDevice ? 'q-table__grid-content' : 'q-table__middle scroll'
|
|
7
|
-
const tableType = self.smallDevice ? 'Grid' : 'Table'
|
|
8
|
-
const qtableScrollElem = document.getElementsByClassName(elemClass) as HTMLCollectionOf<HTMLElement>
|
|
9
|
-
const elementToScroll =
|
|
10
|
-
qtableScrollElem.length > 0 ? qtableScrollElem[0] : window
|
|
11
|
-
const fnAddScroll = (event: Event) => {
|
|
12
|
-
const { scrollHeight, scrollTop, clientHeight } = event.target as HTMLElement
|
|
13
|
-
if (Math.abs(scrollHeight - clientHeight - scrollTop) < 1) {
|
|
14
|
-
console.log(`[${tableType}] You are at the bottom!`, self.totalPage)
|
|
15
|
-
self.totalPage++
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
window.removeEventListener('scroll', fnAddScroll)
|
|
19
|
-
elementToScroll.removeEventListener('scroll', fnAddScroll)
|
|
20
|
-
elementToScroll.addEventListener('scroll', fnAddScroll)
|
|
21
|
-
})
|
|
22
|
-
},
|
|
23
|
-
paginationNewTable (self: { pageLength: number; rowsPaginationCount: number; }, rows: object []): object [] {
|
|
24
|
-
const rowsPagination = rows.slice(0, self.pageLength)
|
|
25
|
-
return rowsPagination
|
|
26
|
-
},
|
|
27
|
-
handleInfiniteScrollModal (self: { $nextTick: (arg0: () => void) => void; totalPageModal: number; smallDevice: boolean }, tableID: string): void {
|
|
28
|
-
self.$nextTick(() => {
|
|
29
|
-
const tableElement = document.getElementById(tableID)
|
|
30
|
-
const elemClass = self.smallDevice ? 'q-table__grid-content' : 'q-table__middle scroll'
|
|
31
|
-
const qtableScrollElem = tableElement.getElementsByClassName(elemClass)
|
|
32
|
-
const elementToScroll = qtableScrollElem[0]
|
|
33
|
-
|
|
34
|
-
const fnAddScrollModal = (event: Event) => {
|
|
35
|
-
const target = event.target as HTMLElement
|
|
36
|
-
if (self.smallDevice) {
|
|
37
|
-
if (elementToScroll.scrollTop + elementToScroll.clientHeight >= elementToScroll.scrollHeight) {
|
|
38
|
-
console.log('[Grid] You are at the bottom!')
|
|
39
|
-
self.totalPageModal++
|
|
40
|
-
}
|
|
41
|
-
} else {
|
|
42
|
-
const { scrollHeight, scrollTop, clientHeight } = target
|
|
43
|
-
if (Math.abs(scrollHeight - clientHeight - scrollTop) < 1) {
|
|
44
|
-
console.log('[Table] You are at the bottom!')
|
|
45
|
-
self.totalPageModal++
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
window.removeEventListener('scroll', fnAddScrollModal)
|
|
50
|
-
elementToScroll.removeEventListener('scroll', fnAddScrollModal)
|
|
51
|
-
elementToScroll.addEventListener('scroll', fnAddScrollModal)
|
|
52
|
-
})
|
|
53
|
-
},
|
|
54
|
-
paginationModal (self: { pageLengthModal: number; rowsPaginationCount: number; }, rows: object []): object [] {
|
|
55
|
-
const rowsPagination = rows.slice(0, self.pageLengthModal)
|
|
56
|
-
return rowsPagination
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
export default infiniteScroll
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
const tableHeight = {
|
|
2
|
-
setTableHeight ():string {
|
|
3
|
-
const footer = document.getElementsByClassName('q-footer')[0]
|
|
4
|
-
let footerHeight = ''
|
|
5
|
-
if (footer) {
|
|
6
|
-
const computedHeight = window.getComputedStyle(footer).height
|
|
7
|
-
|
|
8
|
-
if (computedHeight !== 'auto') {
|
|
9
|
-
footerHeight = computedHeight.replace('px', '')
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
const header = document.getElementsByClassName('q-header')[0]
|
|
13
|
-
let headerHeight = ''
|
|
14
|
-
if (header) {
|
|
15
|
-
const computedHeight = window.getComputedStyle(header).height
|
|
16
|
-
|
|
17
|
-
if (computedHeight !== 'auto') {
|
|
18
|
-
headerHeight = computedHeight.replace('px', '')
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
const n = Number(footerHeight) + Number(headerHeight)
|
|
22
|
-
return `height:${window.innerHeight - n}px`
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export default tableHeight
|
package/src/utils/sort.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
const qTableSort = {
|
|
2
|
-
sortMethod (rows, sortBy, descending, values = []) {
|
|
3
|
-
const rowsFlat = [...rows]
|
|
4
|
-
if (sortBy) {
|
|
5
|
-
if (values.includes(sortBy)) {
|
|
6
|
-
this.sortDates(sortBy, descending, rowsFlat)
|
|
7
|
-
} else {
|
|
8
|
-
rowsFlat.sort((a, b) => {
|
|
9
|
-
const x = descending ? b : a
|
|
10
|
-
const y = descending ? a : b
|
|
11
|
-
return x[sortBy] > y[sortBy] ? 1 : x[sortBy] < y[sortBy] ? -1 : 0
|
|
12
|
-
})
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
return rowsFlat
|
|
16
|
-
},
|
|
17
|
-
sortDates (sortBy, descending, rowsFlat) {
|
|
18
|
-
rowsFlat.sort(function (columnA, columnB) {
|
|
19
|
-
const a = columnA[sortBy]
|
|
20
|
-
const b = columnB[sortBy]
|
|
21
|
-
let x = descending ? b : a
|
|
22
|
-
let y = descending ? a : b
|
|
23
|
-
x = x.split('/').reverse().join('-')
|
|
24
|
-
y = y.split('/').reverse().join('-')
|
|
25
|
-
|
|
26
|
-
return x.localeCompare(y)
|
|
27
|
-
})
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
export default qTableSort
|