From 48297094aee7aa4699ccd7b2076310392cb46f7f Mon Sep 17 00:00:00 2001 From: Paolo Arena Date: Sat, 11 Dec 2021 22:12:44 +0100 Subject: [PATCH] fix filtro multiselect --- package.json | 28 +- src/components/CFinder/CFinder.ts | 5 + src/components/CGallery/CGallery.scss | 5 + src/components/CGallery/CGallery.ts | 122 ++-- src/components/CGallery/CGallery.vue | 32 +- src/components/CGridTableRec/CGridTableRec.ts | 37 +- .../CGridTableRec/CGridTableRec.vue | 10 +- src/components/CMyEditor/CMyEditor.ts | 5 + src/components/CMyEditor/CMyEditor.vue | 5 +- src/components/CMyPopupEdit/CMyPopupEdit.ts | 5 + src/components/CMyPopupEdit/CMyPopupEdit.vue | 7 +- src/model/GlobalStore.ts | 1 + yarn.lock | 543 ++++++++++++------ 13 files changed, 538 insertions(+), 267 deletions(-) diff --git a/package.json b/package.json index 6e22fb8a..575cd068 100755 --- a/package.json +++ b/package.json @@ -23,25 +23,25 @@ "generate-sw": "workbox generateSW workbox-config.js" }, "dependencies": { - "@quasar/extras": "^1.12.1", + "@quasar/extras": "^1.12.2", "@quasar/quasar-ui-qcalendar": "^4.0.0-beta.6", - "@vue/compat": "^3.2.22", - "@vue/compiler-sfc": "^3.2.22", - "@vue/eslint-config-standard": "^5.1.2", + "@vue/compat": "^3.2.24", + "@vue/compiler-sfc": "^3.2.24", + "@vue/eslint-config-standard": "5.1.2", "@vuelidate/core": "^2.0.0-alpha.32", "@vuelidate/validators": "^2.0.0-alpha.25", "acorn": "^8.6.0", "autoprefixer": "^10.4.0", "axios": "0.21.4", "bcryptjs": "^2.4.3", - "core-js": "^3.19.1", + "core-js": "^3.19.3", "crypto": "^1.0.1", - "date-fns": "^2.26.0", + "date-fns": "^2.27.0", "dotenv": "^10.0.0", "echarts": "^5.2.2", "eslint-plugin-quasar": "^1.0.0", "eslint-plugin-standard": "^5.0.0", - "graphql": "^16.0.1", + "graphql": "^16.1.0", "graphql-tag": "^2.12.6", "gsap": "^3.8.0", "jquery": "^3.6.0", @@ -49,11 +49,11 @@ "localforage": "^1.10.0", "lodash": "^4.17.21", "normalize.css": "^8.0.1", - "npm": "^8.1.4", + "npm": "^8.3.0", "nprogress": "^0.2.0", - "pinia": "^2.0.4", + "pinia": "^2.0.6", "prerender-spa-plugin": "^3.4.0", - "quasar": "^2.3.3", + "quasar": "^2.3.4", "quasar-extras": "^2.0.9", "register-service-worker": "^1.7.2", "vee-validate": "^4.4.10", @@ -76,7 +76,7 @@ "devDependencies": { "@babel/core": "^7.16.0", "@babel/eslint-parser": "^7.16.3", - "@quasar/app": "^3.2.3", + "@quasar/app": "^3.2.5", "@quasar/quasar-app-extension-qcalendar": "^4.0.0-beta.6", "@types/bcryptjs": "^2.4.2", "@types/dotenv": "^8.2.0", @@ -101,7 +101,7 @@ "jest": "^27.3.1", "json-loader": "^0.5.7", "node-sass": "^6.0.1", - "npm-check-updates": "^12.0.2", + "npm-check-updates": "^12.0.3", "optimize-css-assets-webpack-plugin": "^6.0.1", "postcss": "^8.3.11", "postcss-loader": "^6.2.0", @@ -112,11 +112,11 @@ "tslint": "^6.1.3", "tslint-config-standard": "^9.0.0", "tslint-loader": "^3.5.4", - "typescript": "^4.5.2", + "typescript": "^4.5.3", "vue-cli-plugin-element-ui": "^1.1.4", "vueify": "^9.4.1", "webpack": "^5.0.0", - "workbox-webpack-plugin": "^6.4.1" + "workbox-webpack-plugin": "^6.4.2" }, "browser": { "crypto": false diff --git a/src/components/CFinder/CFinder.ts b/src/components/CFinder/CFinder.ts index fe41fe91..571ad90c 100755 --- a/src/components/CFinder/CFinder.ts +++ b/src/components/CFinder/CFinder.ts @@ -47,6 +47,7 @@ export default defineComponent({ table: 'sectors', key: 'idSector', value: costanti.FILTER_TUTTI, + arrvalue: [], type: costanti.FieldType.select, }, { @@ -54,6 +55,7 @@ export default defineComponent({ table: 'skills', key: 'idSkill', value: costanti.FILTER_TUTTI, + arrvalue: [], type: costanti.FieldType.select, }, { @@ -62,12 +64,14 @@ export default defineComponent({ key: 'idCity', value: costanti.FILTER_TUTTI, type: costanti.FieldType.multiselect, + arrvalue: [costanti.FILTER_TUTTI], }, { label: 'Livello', table: 'levels', key: 'numLevel', value: costanti.FILTER_TUTTI, + arrvalue: [], type: costanti.FieldType.select, }, { @@ -75,6 +79,7 @@ export default defineComponent({ table: 'statusSkills', key: 'idStatusSkill', value: costanti.FILTER_TUTTI, + arrvalue: [], type: costanti.FieldType.multiselect, }, diff --git a/src/components/CGallery/CGallery.scss b/src/components/CGallery/CGallery.scss index 6d1add9c..271a7140 100755 --- a/src/components/CGallery/CGallery.scss +++ b/src/components/CGallery/CGallery.scss @@ -19,9 +19,14 @@ $grayshadow: #555; .myimg { border-radius: 10px !important; height: 200px; + cursor: pointer; +} + +.myimg-modify { cursor: grab; } + .barwidth{ width: 250px !important; } diff --git a/src/components/CGallery/CGallery.ts b/src/components/CGallery/CGallery.ts index cea7e300..55f3ead0 100755 --- a/src/components/CGallery/CGallery.ts +++ b/src/components/CGallery/CGallery.ts @@ -14,6 +14,10 @@ export default defineComponent({ type: Boolean, required: true, }, + canModify: { + type: Boolean, + required: true, + }, single: { type: Boolean, required: false, @@ -42,6 +46,9 @@ export default defineComponent({ const gallerylist = ref([]) const maximizedToggle = ref(true) + const fullscreen = ref(false) + const fullscreensrc = ref('') + function isValid(myobj: any): boolean { return (myobj && typeof myobj !== 'string' && typeof myobj !== 'undefined') @@ -101,69 +108,77 @@ export default defineComponent({ } function onDragEnter(e: any) { - // don't drop on other draggables - if (e.target.draggable !== true) { - e.target.classList.add('drag-enter') + if (props.canModify) { + // don't drop on other draggables + if (e.target.draggable !== true) { + e.target.classList.add('drag-enter') + } } } function onDragLeave(e: any) { - e.target.classList.remove('drag-enter') + if (props.canModify) { + e.target.classList.remove('drag-enter') + } } function onDragOver(e: any) { - e.preventDefault() + if (props.canModify) { + e.preventDefault() + } } function onDrop(e: any) { - console.log('onDrop', e) - e.preventDefault() + if (props.canModify) { + console.log('onDrop', e) + e.preventDefault() - // don't drop on other draggables - if (e.target.draggable === true) { - return - } - - if (gallerylist.value) { - - const draggedId = e.dataTransfer.getData('text') - let dragout = '' - try { - dragout = e.target.parentNode.parentNode.parentNode.id - } catch (err) { - dragout = '' - } - const draggedEl = document.getElementById(draggedId) - console.log('draggedId', draggedId, 'draggedEl', draggedEl) - console.log('dragout', dragout) - - // check if original parent node - if (draggedEl) { - if (draggedEl.parentNode === e.target) { - e.target.classList.remove('drag-enter') - return - } - } - - const myindexIn = gallerylist.value.findIndex((rec: any) => rec._id === draggedId) - const myrecIn: IImgGallery = gallerylist.value[myindexIn] - - let myrecOut: IImgGallery - const myindexout = gallerylist.value.findIndex((rec: any) => rec._id === dragout) - myrecOut = gallerylist.value[myindexout] - - if (myindexIn === myindexout) + // don't drop on other draggables + if (e.target.draggable === true) { return + } + + if (gallerylist.value) { + + const draggedId = e.dataTransfer.getData('text') + let dragout = '' + try { + dragout = e.target.parentNode.parentNode.parentNode.id + } catch (err) { + dragout = '' + } + const draggedEl = document.getElementById(draggedId) + console.log('draggedId', draggedId, 'draggedEl', draggedEl) + console.log('dragout', dragout) + + // check if original parent node + if (draggedEl) { + if (draggedEl.parentNode === e.target) { + e.target.classList.remove('drag-enter') + return + } + } + + const myindexIn = gallerylist.value.findIndex((rec: any) => rec._id === draggedId) + const myrecIn: IImgGallery = gallerylist.value[myindexIn] + + let myrecOut: IImgGallery + const myindexout = gallerylist.value.findIndex((rec: any) => rec._id === dragout) + myrecOut = gallerylist.value[myindexout] + + if (myindexIn === myindexout) + return - tools.array_move(gallerylist.value, myindexIn, myindexout) + tools.array_move(gallerylist.value, myindexIn, myindexout) - // make the exchange - // draggedEl.parentNode.removeChild(draggedEl) - // e.target.appendChild(draggedEl) - e.target.classList.remove('drag-enter') + // make the exchange + // draggedEl.parentNode.removeChild(draggedEl) + // e.target.appendChild(draggedEl) + e.target.classList.remove('drag-enter') - save() + save() + } } } @@ -172,7 +187,10 @@ export default defineComponent({ } function getclimg() { - return (props.edit || displayGall.value) ? 'myimg' : 'myimg-view' + let mycl = (props.edit || displayGall.value) ? 'myimg' : 'myimg-view' + if (props.canModify && props.edit) + mycl = mycl + ' myimg-modify' + return mycl } /*function getlastord() { @@ -304,6 +322,11 @@ export default defineComponent({ return myurl } + function ImgFullScreen(mygallery: IImgGallery) { + fullscreen.value = true + fullscreensrc.value = getfullname(mygallery) + } + onMounted(created) return { @@ -328,6 +351,9 @@ export default defineComponent({ maximizedToggle, getUrl, close, + ImgFullScreen, + fullscreen, + fullscreensrc, } } }) diff --git a/src/components/CGallery/CGallery.vue b/src/components/CGallery/CGallery.vue index 839f7bf3..79562bf7 100755 --- a/src/components/CGallery/CGallery.vue +++ b/src/components/CGallery/CGallery.vue @@ -39,7 +39,7 @@ @dragover="onDragOver"> @@ -77,9 +77,11 @@ @@ -147,25 +149,27 @@ >
Foto {{ index + 1 }}
- +
@@ -196,7 +200,9 @@
-
+
+ - - + + + + - + + + + +