First commit

This commit is contained in:
2024-06-06 22:48:20 +02:00
commit 2a25500946
104 changed files with 17186 additions and 0 deletions

View File

@@ -0,0 +1,61 @@
<script setup>
import Layout from "../../layouts/MainLayout.vue";
import { Head, Link, useForm } from '@inertiajs/vue3';
import rpoFields from '../../Data/MultiSelectOptionsRPO';
import { onMounted, ref } from 'vue';
import { defineEmits } from 'vue'
import RpoRecord2 from '@/Components/RpoRecord2.vue';
import Pagination from '@/Components/Pagination.vue';
import { router } from '@inertiajs/vue3'
const props = defineProps({
result: Object,
query: Object,
});
const page = ref(props.result.current_page);
const current_page = ref(props.result.current_page);
const page_last = ref(props.result.last_page);
function goAnotherPage() {
console.log('result',props.result);
console.log('page',page.value);
console.log('query',props.query)
let urllink = props.result.links.filter((l) => l.label == page.value)[0].url;
router.post(urllink, props.query);
}
</script>
<template>
<Head>
<title>RPO TISK Results</title>
</Head>
<Layout>
<q-page class="column items-center" >
<div class="col">
<q-pagination v-model="page" :min="current_page" :max="page_last" @update:model-value="goAnotherPage" input direction-links push color="teal" active-design="push"
active-color="orange" />
</div>
<div class="col">
<div class="q-pa-md fit row wrap justify-center items-start content-start">
<div class="row">
<RpoRecord2 :data="r" v-for="r in result.data" :key="r.id" />
</div>
</div>
</div>
<div class="col">
<q-pagination v-model="page" :min="current_page" :max="page_last" @update:model-value="goAnotherPage" input direction-links push color="teal" active-design="push"
active-color="orange" />
</div>
<div class="hidden col q-mt-xl">
{{ query }}
</div>
</q-page>
</Layout>
</template>

View File

@@ -0,0 +1,98 @@
<template>
<Head>
<title>RPO TISK</title>
</Head>
<Layout>
<q-page class="column flex-center">
<div class="flex q-gutter-lg justify-center items-center">
<JsonQueryBuilder :query="query" :queryOptions="rpoMultiselect" @run-query="submit" ></JsonQueryBuilder>
</div>
<div class="q-mt-xl">
{{ query }}
</div>
</q-page>
</Layout>
</template>
<script setup>
import Layout from "../layouts/MainLayout.vue";
import JsonQueryBuilder from '../components/JsonQueryBuilder.vue';
import { ref, watch, computed } from "vue";
import { Head } from "@inertiajs/vue3";
import { router } from '@inertiajs/vue3';
import { Dark } from "quasar";
import rpoJsonData from '../Data/RpoTree.json';
const query = ref({
condition: 'and',
rules: [{
id: 'addresses.municipality.value',
operator: '=',
value: 'Bratislava'
}, {
condition: 'or',
rules: [{
id: 'statutoryBodies.personName.familyNames',
operator: '=',
value: 'Grochalová'
}, {
id: 'statutoryBodies.personName.familyNames',
operator: '=',
value: 'Grochal'
}]
}]
})
console.log('QUERY',query);
const submit = () => {
console.log('Post data');
console.log(query.value);
router.post(`/search`, query.value);
};
function createRPOmulti(tree,flatListRpo, level = 0, fullPathRpo = []) {
console.log('keys=',Object.keys(tree));
console.log('TT=',typeof tree);
let fullPath = [ ...fullPathRpo ] ;
if (tree.desc != undefined) fullPath.push(tree.desc);
if (level == 0 || tree.type == "Object" || tree.type == "Array" || tree.type == undefined) {
Object.keys(tree).forEach(k => {
console.log('k=',k);
console.log('obj=',tree[k]);
console.log(typeof tree[k]);
console.log('t=',tree[k].type);
console.log('rec=',k);
if (typeof tree[k] != 'string') {
console.log('DESC=',tree[k].desc);
createRPOmulti(tree[k], flatListRpo, level + 1, fullPath );
}
});
} else {
flatListRpo.push({"name":tree.name, "type": tree.type, "desc": fullPath.join(' → ') });
}
}
const rpoMultiselect = computed(() => {
console.log('Rpo Multiselect');
var flatList = [];
createRPOmulti(rpoJsonData, flatList);
return flatList;
});
const count = ref(0);
const min = -5;
const max = 5;
const darkMode = ref(Dark.isActive);
watch(darkMode, (value) => {
Dark.set(value);
});
</script>