InfiniteScroll: Le liste (Beni / Servizi / Eventi) devono essere caricate in automatico, scorrendo la lista...

fix category
This commit is contained in:
paoloar77
2022-08-15 15:10:00 +02:00
parent 0b6188699e
commit c93361dfa2
38 changed files with 1051 additions and 328 deletions

View File

@@ -12,7 +12,7 @@
</CFinder>
<CDashboard></CDashboard>
<br />
</div>
<div v-else>
@@ -21,7 +21,7 @@
</div>
<LandingFooter></LandingFooter>
</q-page>
</template>

View File

@@ -11,7 +11,7 @@
:table="toolsext.TABMYGOODS"
/>
<CDashboard></CDashboard>
<br />
</div>
<div v-else>
@@ -19,7 +19,7 @@
</div>
</div>
<LandingFooter></LandingFooter>
</q-page>
</template>

View File

@@ -12,7 +12,7 @@
</CFinder>
<CDashboard></CDashboard>
<br />
</div>
<div v-else>
@@ -21,7 +21,7 @@
</div>
<LandingFooter></LandingFooter>
</q-page>
</template>

View File

181
src/root/provapao/provapao.ts Executable file
View File

@@ -0,0 +1,181 @@
import {
defineComponent, ref, computed,
} from 'vue'
import { tools } from '@src/store/Modules/tools'
import { toolsext } from '@src/store/Modules/toolsext'
import { CSkill } from '@/components/CSkill'
import { CFinder } from '@/components/CFinder'
import { CDashboard } from '@/components/CDashboard'
import { CTitlePage } from '@/components/CTitlePage'
import { CChartMap } from '@src/components/CChartMap'
import { CUserNonVerif } from '@/components/CUserNonVerif'
import { CMapsEsempio } from '@src/components/CMapsEsempio'
import { CVerifyEmail } from '@src/components/CVerifyEmail'
import { CVerifyTelegram } from '@src/components/CVerifyTelegram'
import { LandingFooter } from '@/components/LandingFooter'
import { useGlobalStore } from '@store/globalStore'
import { useUserStore } from '@store/UserStore'
import { static_data } from '@/db/static_data'
import MixinBase from '@/mixins/mixin-base'
import MixinUsers from '@/mixins/mixin-users'
import { costanti } from '@costanti'
export default defineComponent({
name: 'ProvaPao',
components: { CSkill, CChartMap, CMapsEsempio, CFinder, CVerifyEmail, CVerifyTelegram, CDashboard, CUserNonVerif, CTitlePage, LandingFooter },
setup() {
// @ts-ignore
const columns = [
{
name: 'index',
label: '#',
field: 'index'
},
{
name: 'name',
required: true,
label: 'Dessert (100g serving)',
align: 'left',
// @ts-ignore
field: row => row.name,
// @ts-ignore
format: val => `${val}`,
sortable: true
},
{ name: 'calories', align: 'center', label: 'Calories', field: 'calories', sortable: true },
{ name: 'fat', label: 'Fat (g)', field: 'fat', sortable: true },
{ name: 'carbs', label: 'Carbs (g)', field: 'carbs' },
{ name: 'protein', label: 'Protein (g)', field: 'protein' },
{ name: 'sodium', label: 'Sodium (mg)', field: 'sodium' },
{ name: 'calcium', label: 'Calcium (%)', field: 'calcium', sortable: true, sort: (a: any, b: any) => parseInt(a, 10) - parseInt(b, 10) },
{ name: 'iron', label: 'Iron (%)', field: 'iron', sortable: true, sort: (a: any, b: any) => parseInt(a, 10) - parseInt(b, 10) }
]
const seed = [
{
name: 'Frozen Yogurt',
calories: 159,
fat: 6.0,
carbs: 24,
protein: 4.0,
sodium: 87,
calcium: '14%',
iron: '1%'
},
{
name: 'Ice cream sandwich',
calories: 237,
fat: 9.0,
carbs: 37,
protein: 4.3,
sodium: 129,
calcium: '8%',
iron: '1%'
},
{
name: 'Eclair',
calories: 262,
fat: 16.0,
carbs: 23,
protein: 6.0,
sodium: 337,
calcium: '6%',
iron: '7%'
},
{
name: 'Cupcake',
calories: 305,
fat: 3.7,
carbs: 67,
protein: 4.3,
sodium: 413,
calcium: '3%',
iron: '8%'
},
{
name: 'Gingerbread',
calories: 356,
fat: 16.0,
carbs: 49,
protein: 3.9,
sodium: 327,
calcium: '7%',
iron: '16%'
},
{
name: 'Jelly bean',
calories: 375,
fat: 0.0,
carbs: 94,
protein: 0.0,
sodium: 50,
calcium: '0%',
iron: '0%'
},
{
name: 'Lollipop',
calories: 392,
fat: 0.2,
carbs: 98,
protein: 0,
sodium: 38,
calcium: '0%',
iron: '2%'
},
{
name: 'Honeycomb',
calories: 408,
fat: 3.2,
carbs: 87,
protein: 6.5,
sodium: 562,
calcium: '0%',
iron: '45%'
},
{
name: 'Donut',
calories: 452,
fat: 25.0,
carbs: 51,
protein: 4.9,
sodium: 326,
calcium: '2%',
iron: '22%'
},
{
name: 'KitKat',
calories: 518,
fat: 26.0,
carbs: 65,
protein: 7,
sodium: 54,
calcium: '12%',
iron: '6%'
}
]
// we generate lots of rows here
let rows: any = []
for (let i = 0; i < 1000; i++) {
rows = rows.concat(seed.slice(0).map((r: any) => ({ ...r })))
}
rows.forEach((row: any, index: any) => {
row.index = index
})
return {
tools,
toolsext,
static_data,
columns,
rows,
pagination: ref({
rowsPerPage: 0
})
}
},
})

43
src/root/provapao/provapao.vue Executable file
View File

@@ -0,0 +1,43 @@
<template>
<q-page class="">
<CTitlePage :ind="1" />
<div v-if="tools.isLogged()">
<div v-if="tools.isUserOk()">
<CFinder
:ind="1"
:table="toolsext.TABMYSKILLS"
/>
Prova Pao:<br>
<div class="q-pa-md">
<q-table
style="height: 400px"
title="Treats"
:rows="rows"
:columns="columns"
row-key="index"
virtual-scroll
v-model:pagination="pagination"
:rows-per-page-options="[0]"
/>
</div>
</div>
<div v-else>
<CUserNonVerif></CUserNonVerif>
</div>
</div>
<LandingFooter></LandingFooter>
</q-page>
</template>
<script lang="ts" src="./provapao.ts">
</script>
<style lang="scss" scoped>
@import './provapao.scss';
</style>

View File

@@ -11,7 +11,8 @@
:table="toolsext.TABMYSKILLS"
/>
<CDashboard></CDashboard>
<br />
<!--<CDashboard></CDashboard>-->
</div>
<div v-else>
@@ -20,7 +21,6 @@
</div>
<LandingFooter></LandingFooter>
</q-page>
</template>