Merge branch 'release/0.21.5'

This commit is contained in:
vnmedeiros 2024-05-29 15:23:55 -03:00
commit 87112ef7f4
84 changed files with 3065 additions and 1387 deletions

184
package-lock.json generated
View File

@ -1289,9 +1289,9 @@
}
},
"@babel/runtime-corejs3": {
"version": "7.24.4",
"resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.24.4.tgz",
"integrity": "sha512-VOQOexSilscN24VEY810G/PqtpFvx/z6UqDIjIWbDe2368HhDLkYN5TYwaEz/+eRCUkhJ2WaNLLmQAlxzfWj4w==",
"version": "7.24.5",
"resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.24.5.tgz",
"integrity": "sha512-GWO0mgzNMLWaSYM4z4NVIuY0Cd1fl8cPnuetuddu5w/qGuvt5Y7oUi/kvvQGK9xgOkFJDQX2heIvTRn/OQ1XTg==",
"requires": {
"core-js-pure": "^3.30.2",
"regenerator-runtime": "^0.14.0"
@ -1919,24 +1919,24 @@
}
},
"@vue/compiler-core": {
"version": "3.4.23",
"resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.23.tgz",
"integrity": "sha512-HAFmuVEwNqNdmk+w4VCQ2pkLk1Vw4XYiiyxEp3z/xvl14aLTUBw2OfVH3vBcx+FtGsynQLkkhK410Nah1N2yyQ==",
"version": "3.4.27",
"resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.27.tgz",
"integrity": "sha512-E+RyqY24KnyDXsCuQrI+mlcdW3ALND6U7Gqa/+bVwbcpcR3BRRIckFoz7Qyd4TTlnugtwuI7YgjbvsLmxb+yvg==",
"requires": {
"@babel/parser": "^7.24.1",
"@vue/shared": "3.4.23",
"@babel/parser": "^7.24.4",
"@vue/shared": "3.4.27",
"entities": "^4.5.0",
"estree-walker": "^2.0.2",
"source-map-js": "^1.2.0"
}
},
"@vue/compiler-dom": {
"version": "3.4.23",
"resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.23.tgz",
"integrity": "sha512-t0b9WSTnCRrzsBGrDd1LNR5HGzYTr7LX3z6nNBG+KGvZLqrT0mY6NsMzOqlVMBKKXKVuusbbB5aOOFgTY+senw==",
"version": "3.4.27",
"resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.27.tgz",
"integrity": "sha512-kUTvochG/oVgE1w5ViSr3KUBh9X7CWirebA3bezTbB5ZKBQZwR2Mwj9uoSKRMFcz4gSMzzLXBPD6KpCLb9nvWw==",
"requires": {
"@vue/compiler-core": "3.4.23",
"@vue/shared": "3.4.23"
"@vue/compiler-core": "3.4.27",
"@vue/shared": "3.4.27"
}
},
"@vue/compiler-sfc": {
@ -1998,12 +1998,12 @@
}
},
"@vue/compiler-ssr": {
"version": "3.4.23",
"resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.23.tgz",
"integrity": "sha512-hb6Uj2cYs+tfqz71Wj6h3E5t6OKvb4MVcM2Nl5i/z1nv1gjEhw+zYaNOV+Xwn+SSN/VZM0DgANw5TuJfxfezPg==",
"version": "3.4.27",
"resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.27.tgz",
"integrity": "sha512-CVRzSJIltzMG5FcidsW0jKNQnNRYC8bT21VegyMMtHmhW3UOI7knmUehzswXLrExDLE6lQCZdrhD4ogI7c+vuw==",
"requires": {
"@vue/compiler-dom": "3.4.23",
"@vue/shared": "3.4.23"
"@vue/compiler-dom": "3.4.27",
"@vue/shared": "3.4.27"
}
},
"@vue/devtools-api": {
@ -2012,45 +2012,45 @@
"integrity": "sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA=="
},
"@vue/reactivity": {
"version": "3.4.23",
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.23.tgz",
"integrity": "sha512-GlXR9PL+23fQ3IqnbSQ8OQKLodjqCyoCrmdLKZk3BP7jN6prWheAfU7a3mrltewTkoBm+N7qMEb372VHIkQRMQ==",
"version": "3.4.27",
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.27.tgz",
"integrity": "sha512-kK0g4NknW6JX2yySLpsm2jlunZJl2/RJGZ0H9ddHdfBVHcNzxmQ0sS0b09ipmBoQpY8JM2KmUw+a6sO8Zo+zIA==",
"requires": {
"@vue/shared": "3.4.23"
"@vue/shared": "3.4.27"
}
},
"@vue/runtime-core": {
"version": "3.4.23",
"resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.23.tgz",
"integrity": "sha512-FeQ9MZEXoFzFkFiw9MQQ/FWs3srvrP+SjDKSeRIiQHIhtkzoj0X4rWQlRNHbGuSwLra6pMyjAttwixNMjc/xLw==",
"version": "3.4.27",
"resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.27.tgz",
"integrity": "sha512-7aYA9GEbOOdviqVvcuweTLe5Za4qBZkUY7SvET6vE8kyypxVgaT1ixHLg4urtOlrApdgcdgHoTZCUuTGap/5WA==",
"requires": {
"@vue/reactivity": "3.4.23",
"@vue/shared": "3.4.23"
"@vue/reactivity": "3.4.27",
"@vue/shared": "3.4.27"
}
},
"@vue/runtime-dom": {
"version": "3.4.23",
"resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.23.tgz",
"integrity": "sha512-RXJFwwykZWBkMiTPSLEWU3kgVLNAfActBfWFlZd0y79FTUxexogd0PLG4HH2LfOktjRxV47Nulygh0JFXe5f9A==",
"version": "3.4.27",
"resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.27.tgz",
"integrity": "sha512-ScOmP70/3NPM+TW9hvVAz6VWWtZJqkbdf7w6ySsws+EsqtHvkhxaWLecrTorFxsawelM5Ys9FnDEMt6BPBDS0Q==",
"requires": {
"@vue/runtime-core": "3.4.23",
"@vue/shared": "3.4.23",
"@vue/runtime-core": "3.4.27",
"@vue/shared": "3.4.27",
"csstype": "^3.1.3"
}
},
"@vue/server-renderer": {
"version": "3.4.23",
"resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.23.tgz",
"integrity": "sha512-LDwGHtnIzvKFNS8dPJ1SSU5Gvm36p2ck8wCZc52fc3k/IfjKcwCyrWEf0Yag/2wTFUBXrqizfhK9c/mC367dXQ==",
"version": "3.4.27",
"resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.27.tgz",
"integrity": "sha512-dlAMEuvmeA3rJsOMJ2J1kXU7o7pOxgsNHVr9K8hB3ImIkSuBrIdy0vF66h8gf8Tuinf1TK3mPAz2+2sqyf3KzA==",
"requires": {
"@vue/compiler-ssr": "3.4.23",
"@vue/shared": "3.4.23"
"@vue/compiler-ssr": "3.4.27",
"@vue/shared": "3.4.27"
}
},
"@vue/shared": {
"version": "3.4.23",
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.23.tgz",
"integrity": "sha512-wBQ0gvf+SMwsCQOyusNw/GoXPV47WGd1xB5A1Pgzy0sQ3Bi5r5xm3n+92y3gCnB3MWqnRDdvfkRGxhKtbBRNgg=="
"version": "3.4.27",
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.27.tgz",
"integrity": "sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA=="
},
"@webassemblyjs/ast": {
"version": "1.12.1",
@ -2373,9 +2373,9 @@
}
},
"apexcharts": {
"version": "3.48.0",
"resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-3.48.0.tgz",
"integrity": "sha512-Lhpj1Ij6lKlrUke8gf+P+SE6uGUn+Pe1TnCJ+zqrY0YMvbqM3LMb1lY+eybbTczUyk0RmMZomlTa2NgX2EUs4Q==",
"version": "3.49.1",
"resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-3.49.1.tgz",
"integrity": "sha512-MqGtlq/KQuO8j0BBsUJYlRG8VBctKwYdwuBtajHgHTmSgUU3Oai+8oYN/rKCXwXzrUlYA+GiMgotAIbXY2BCGw==",
"requires": {
"@yr/monotone-cubic-spline": "^1.0.3",
"svg.draggable.js": "^2.2.2",
@ -2985,9 +2985,9 @@
}
},
"core-js-pure": {
"version": "3.37.0",
"resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.37.0.tgz",
"integrity": "sha512-d3BrpyFr5eD4KcbRvQ3FTUx/KWmaDesr7+a3+1+P46IUnNoEt+oiLijPINZMEon7w9oGkIINWxrBAU9DEciwFQ=="
"version": "3.37.1",
"resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.37.1.tgz",
"integrity": "sha512-J/r5JTHSmzTxbiYYrzXg9w1VpqrYt+gexenBE9pugeyhwPZTAEJddyiReJWsLO6uNQ8xJZFbod6XC7KKwatCiA=="
},
"core-util-is": {
"version": "1.0.3",
@ -4330,9 +4330,9 @@
"dev": true
},
"imask": {
"version": "7.6.0",
"resolved": "https://registry.npmjs.org/imask/-/imask-7.6.0.tgz",
"integrity": "sha512-6EHsq1q7v5+M4Vas2MGrs2oRpxPRWPwPDiL0HmG1ikBI/0hOwvkxRhVRFQnWIlZcTG7R8iw0az5V+z868qnQ9A==",
"version": "7.6.1",
"resolved": "https://registry.npmjs.org/imask/-/imask-7.6.1.tgz",
"integrity": "sha512-sJlIFM7eathUEMChTh9Mrfw/IgiWgJqBKq2VNbyXvBZ7ev/IlO6/KQTKlV/Fm+viQMLrFLG/zCuudrLIwgK2dg==",
"requires": {
"@babel/runtime-corejs3": "^7.24.4"
}
@ -5463,9 +5463,9 @@
"dev": true
},
"photoswipe": {
"version": "5.4.3",
"resolved": "https://registry.npmjs.org/photoswipe/-/photoswipe-5.4.3.tgz",
"integrity": "sha512-9UC6oJBK4oXFZ5HcdlcvGkfEHsVrmE4csUdCQhEjHYb3PvPLO3PG7UhnPuOgjxwmhq5s17Un5NUdum01LgBDng=="
"version": "5.4.4",
"resolved": "https://registry.npmjs.org/photoswipe/-/photoswipe-5.4.4.tgz",
"integrity": "sha512-WNFHoKrkZNnvFFhbHL93WDkW3ifwVOXSW3w1UuZZelSmgXpIGiZSNlZJq37rR8YejqME2rHs9EhH9ZvlvFH2NA=="
},
"picocolors": {
"version": "1.0.0",
@ -5722,20 +5722,20 @@
}
},
"react": {
"version": "18.2.0",
"resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
"integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
"version": "18.3.1",
"resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz",
"integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==",
"requires": {
"loose-envify": "^1.1.0"
}
},
"react-dom": {
"version": "18.2.0",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
"integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
"version": "18.3.1",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz",
"integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==",
"requires": {
"loose-envify": "^1.1.0",
"scheduler": "^0.23.0"
"scheduler": "^0.23.2"
}
},
"read-pkg": {
@ -6000,9 +6000,9 @@
}
},
"scheduler": {
"version": "0.23.0",
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
"integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
"version": "0.23.2",
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
"integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==",
"requires": {
"loose-envify": "^1.1.0"
}
@ -6588,9 +6588,9 @@
}
},
"swiper": {
"version": "11.1.1",
"resolved": "https://registry.npmjs.org/swiper/-/swiper-11.1.1.tgz",
"integrity": "sha512-jGmEA/fNz1lACIcY4/40ggm1Gcyv+EUivmgV/Jd2WFPsEJhbWXnRAwzZR8OPjkBLtDxmzcoYG/iiAMWfRs0YKQ=="
"version": "11.1.3",
"resolved": "https://registry.npmjs.org/swiper/-/swiper-11.1.3.tgz",
"integrity": "sha512-80MSxonyTxrGcaWj9YgvvhD8OG0B9/9IVZP33vhIEvyWvmKjnQDBieO+29wKvMx285sAtvZyrWBdkxaw6+D3aw=="
},
"tapable": {
"version": "2.2.1",
@ -6881,29 +6881,29 @@
"dev": true
},
"vue": {
"version": "3.4.23",
"resolved": "https://registry.npmjs.org/vue/-/vue-3.4.23.tgz",
"integrity": "sha512-X1y6yyGJ28LMUBJ0k/qIeKHstGd+BlWQEOT40x3auJFTmpIhpbKLgN7EFsqalnJXq1Km5ybDEsp6BhuWKciUDg==",
"version": "3.4.27",
"resolved": "https://registry.npmjs.org/vue/-/vue-3.4.27.tgz",
"integrity": "sha512-8s/56uK6r01r1icG/aEOHqyMVxd1bkYcSe9j8HcKtr/xTOFWvnzIVTehNW+5Yt89f+DLBe4A569pnZLS5HzAMA==",
"requires": {
"@vue/compiler-dom": "3.4.23",
"@vue/compiler-sfc": "3.4.23",
"@vue/runtime-dom": "3.4.23",
"@vue/server-renderer": "3.4.23",
"@vue/shared": "3.4.23"
"@vue/compiler-dom": "3.4.27",
"@vue/compiler-sfc": "3.4.27",
"@vue/runtime-dom": "3.4.27",
"@vue/server-renderer": "3.4.27",
"@vue/shared": "3.4.27"
},
"dependencies": {
"@vue/compiler-sfc": {
"version": "3.4.23",
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.23.tgz",
"integrity": "sha512-fSDTKTfzaRX1kNAUiaj8JB4AokikzStWgHooMhaxyjZerw624L+IAP/fvI4ZwMpwIh8f08PVzEnu4rg8/Npssw==",
"version": "3.4.27",
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.27.tgz",
"integrity": "sha512-nDwntUEADssW8e0rrmE0+OrONwmRlegDA1pD6QhVeXxjIytV03yDqTey9SBDiALsvAd5U4ZrEKbMyVXhX6mCGA==",
"requires": {
"@babel/parser": "^7.24.1",
"@vue/compiler-core": "3.4.23",
"@vue/compiler-dom": "3.4.23",
"@vue/compiler-ssr": "3.4.23",
"@vue/shared": "3.4.23",
"@babel/parser": "^7.24.4",
"@vue/compiler-core": "3.4.27",
"@vue/compiler-dom": "3.4.27",
"@vue/compiler-ssr": "3.4.27",
"@vue/shared": "3.4.27",
"estree-walker": "^2.0.2",
"magic-string": "^0.30.8",
"magic-string": "^0.30.10",
"postcss": "^8.4.38",
"source-map-js": "^1.2.0"
}
@ -6911,9 +6911,9 @@
}
},
"vue-countup-v3": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/vue-countup-v3/-/vue-countup-v3-1.4.1.tgz",
"integrity": "sha512-umhQyf4rGdH5tL+ZuWgnoEbq7VpqxC0NH3Yd5TfaYVggGhuD5ihMd2TuNo9PU+F+SCwIGho8Muvfu2LYQBft0A==",
"version": "1.4.2",
"resolved": "https://registry.npmjs.org/vue-countup-v3/-/vue-countup-v3-1.4.2.tgz",
"integrity": "sha512-nRC65jBcdgwybxqztgd/WaK8ZN5T9ECPyiCFGYFMewCsvqdRVo1CtpT7JREcPNF837Fgu/izTSFiuzrIGD6w0A==",
"requires": {
"countup.js": "^2.6.2"
}
@ -6939,11 +6939,11 @@
}
},
"vue-imask": {
"version": "7.6.0",
"resolved": "https://registry.npmjs.org/vue-imask/-/vue-imask-7.6.0.tgz",
"integrity": "sha512-c32XC1EFYbfqCwsYmTrXxTQdtraB5Rkdv0dlJ82CXRxFtqQUTK2zKCgaPsoD/HdF8WwCM3kiKjSmpgYmli2rzg==",
"version": "7.6.1",
"resolved": "https://registry.npmjs.org/vue-imask/-/vue-imask-7.6.1.tgz",
"integrity": "sha512-/5ZVNerI9Dn6gZ/cSCYGiZK4JHdwsEBgHBTRpVwS2U0URxK/Jt5FlQuoL1DhbxC6t4ElcVMWYOvkE2hR8hdt1w==",
"requires": {
"imask": "^7.6.0",
"imask": "^7.6.1",
"vue-demi": "^0.14.7"
}
},
@ -6972,9 +6972,9 @@
}
},
"vue3-apexcharts": {
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/vue3-apexcharts/-/vue3-apexcharts-1.5.2.tgz",
"integrity": "sha512-rGbgUJDjtsyjfRF0uzwDjzt8+M7ICSRAbm1N9KCDiczW8BSpbEZuaEsJDJYnJuLFIIVXIGilYzIcjNBf6NbeYA=="
"version": "1.5.3",
"resolved": "https://registry.npmjs.org/vue3-apexcharts/-/vue3-apexcharts-1.5.3.tgz",
"integrity": "sha512-yaHTPoj0iVKAtEVg8wEwIwwvf0VG+lPYNufCf3txRzYQOqdKPoZaZ9P3Dj3X+2A1XY9O1kcTk9HVqvLo+rppvQ=="
},
"vuex": {
"version": "4.1.0",

View File

@ -11,7 +11,7 @@
"@ntohq/buefy-next": "^0.1.3",
"@vue-leaflet/vue-leaflet": "^0.10.1",
"another-vue3-blurhash": "^0.0.1",
"apexcharts": "^3.48.0",
"apexcharts": "^3.49.1",
"axios": "^1.6.8",
"blurhash": "^2.0.5",
"bulma": "^0.9.4",
@ -25,18 +25,18 @@
"mitt": "^3.0.1",
"moment": "^2.30.1",
"node-sass": "^8.0.0",
"photoswipe": "^5.4.3",
"qs": "^6.12.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"photoswipe": "^5.4.4",
"qs": "^6.12.1",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"sortablejs": "^1.15.2",
"sortablejs-vue3": "^1.2.11",
"swiper": "^11.1.0",
"vue": "^3.4.21",
"vue-countup-v3": "^1.4.1",
"vue-imask": "^7.5.0",
"vue-router": "^4.3.0",
"vue3-apexcharts": "^1.5.2",
"swiper": "^11.1.3",
"vue": "^3.4.27",
"vue-countup-v3": "^1.4.2",
"vue-imask": "^7.6.1",
"vue-router": "^4.3.2",
"vue3-apexcharts": "^1.5.3",
"vuex": "^4.1.0"
},
"devDependencies": {

View File

@ -0,0 +1,32 @@
/* Styles Tainacan links in the WordPress admin top bar */
#wpadminbar #wp-admin-bar-tainacan-taxonomies-edition-link a,
#wpadminbar #wp-admin-bar-tainacan-taxonomy-edition-link a,
#wpadminbar #wp-admin-bar-tainacan-taxonomies-edition-link a,
#wpadminbar #wp-admin-bar-tainacan-repository-items-edition-link a {
background-color: #1d3968;
}
#wpadminbar #wp-admin-bar-tainacan-item-edition-link a,
#wpadminbar #wp-admin-bar-tainacan-collection-edition-link a,
#wpadminbar #wp-admin-bar-tainacan-collections-edition-link a {
background-color: #187181;
}
#wpadminbar #wp-admin-bar-tainacan-taxonomies-edition-link a::before,
#wpadminbar #wp-admin-bar-tainacan-taxonomy-edition-link a::before,
#wpadminbar #wp-admin-bar-tainacan-taxonomies-edition-link a::before,
#wpadminbar #wp-admin-bar-tainacan-item-edition-link a::before,
#wpadminbar #wp-admin-bar-tainacan-collection-edition-link a::before,
#wpadminbar #wp-admin-bar-tainacan-collections-edition-link a::before,
#wpadminbar #wp-admin-bar-tainacan-repository-items-edition-link a::before {
color: white;
content: '\f464';
top: 2px;
}
#wpadminbar #wp-admin-bar-tainacan-taxonomies-edition-link:hover a,
#wpadminbar #wp-admin-bar-tainacan-taxonomy-edition-link:hover a,
#wpadminbar #wp-admin-bar-tainacan-taxonomies-edition-link:hover a,
#wpadminbar #wp-admin-bar-tainacan-item-edition-link:hover a,
#wpadminbar #wp-admin-bar-tainacan-collection-edition-link:hover a,
#wpadminbar #wp-admin-bar-tainacan-collections-edition-link:hover a,
#wpadminbar #wp-admin-bar-tainacan-repository-items-edition-link:hover a {
color: white;
}

View File

@ -1,5 +1,15 @@
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0; }
/**
* Swiper 11.1.1
* Swiper 11.1.3
* Most modern mobile touch slider and framework with hardware accelerated transitions
* https://swiperjs.com
*
@ -7,7 +17,7 @@
*
* Released under the MIT License
*
* Released on: April 9, 2024
* Released on: May 13, 2024
*/
@font-face {
font-family: 'swiper-icons';

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,15 @@
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0; }
/**
* Swiper 11.1.1
* Swiper 11.1.3
* Most modern mobile touch slider and framework with hardware accelerated transitions
* https://swiperjs.com
*
@ -7,7 +17,7 @@
*
* Released under the MIT License
*
* Released on: April 9, 2024
* Released on: May 13, 2024
*/
@font-face {
font-family: 'swiper-icons';

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,15 @@
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0; }
/**
* Swiper 11.1.1
* Swiper 11.1.3
* Most modern mobile touch slider and framework with hardware accelerated transitions
* https://swiperjs.com
*
@ -7,7 +17,7 @@
*
* Released under the MIT License
*
* Released on: April 9, 2024
* Released on: May 13, 2024
*/
@font-face {
font-family: 'swiper-icons';

File diff suppressed because one or more lines are too long

View File

@ -1,3 +1,13 @@
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0; }
.wp-block-tainacan-collections-list {
margin: 2em auto; }
.wp-block-tainacan-collections-list .components-spinner {

View File

@ -1,7 +1,7 @@
{
"version": 3,
"mappings": "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",
"sources": ["../../views/gutenberg-blocks/blocks/collections-list/style.scss","../../views/gutenberg-blocks/scss/gutenberg-blocks-variables.scss"],
"mappings": "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",
"sources": ["../../views/gutenberg-blocks/scss/gutenberg-blocks-variables.scss","../../views/gutenberg-blocks/blocks/collections-list/style.scss"],
"names": [],
"file": "tainacan-gutenberg-block-collections-list.css"
}

View File

@ -1,3 +1,13 @@
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0; }
:root {
--tainacan-block-gray0: #f6f6f6;
--tainacan-block-gray1: #f2f2f2;

View File

@ -1,7 +1,7 @@
{
"version": 3,
"mappings": "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",
"sources": ["../../views/gutenberg-blocks/scss/gutenberg-blocks-editor-style.scss","../../views/gutenberg-blocks/scss/gutenberg-blocks-variables.scss"],
"mappings": "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",
"sources": ["../../views/gutenberg-blocks/scss/gutenberg-blocks-variables.scss","../../views/gutenberg-blocks/scss/gutenberg-blocks-editor-style.scss"],
"names": [],
"file": "tainacan-gutenberg-block-common-editor-styles.css"
}

View File

@ -24,11 +24,4 @@
[data-module="dynamic-items-list"]:not(.has-mounted) {
min-height: 360px; }
/* Admin menu links */
#wpadminbar #wp-admin-bar-tainacan-item-edition-link > .ab-item::before,
#wpadminbar #wp-admin-bar-tainacan-collection-edition-link > .ab-item::before,
#wpadminbar #wp-admin-bar-tainacan-collections-edition-link > .ab-item::before {
content: '\f464';
top: 2px; }
/*# sourceMappingURL=tainacan-gutenberg-block-common-theme-styles.css.map */

View File

@ -1,6 +1,6 @@
{
"version": 3,
"mappings": "AACA;;;;;;sDAMuD;EACnD,gBAAgB,EAAE,OAAO;EACzB,OAAO,EAAE,IAAI;EACb,aAAa,EAAE,GAAG;;AAEtB;gDACiD;EAC7C,UAAU,EAAE,IAAI;;AAEpB;;;;2DAI4D;EACxD,UAAU,EAAE,KAAK;;AAErB;oDACqD;EACjD,UAAU,EAAE,KAAK;;AAGrB,sBAAsB;AACtB;;8EAE+E;EAC3E,OAAO,EAAE,OAAO;EAChB,GAAG,EAAE,GAAG",
"mappings": "AACA;;;;;;sDAMuD;EACnD,gBAAgB,EAAE,OAAO;EACzB,OAAO,EAAE,IAAI;EACb,aAAa,EAAE,GAAG;;AAEtB;gDACiD;EAC7C,UAAU,EAAE,IAAI;;AAEpB;;;;2DAI4D;EACxD,UAAU,EAAE,KAAK;;AAErB;oDACqD;EACjD,UAAU,EAAE,KAAK",
"sources": ["../../views/gutenberg-blocks/scss/gutenberg-blocks-theme-style.scss"],
"names": [],
"file": "tainacan-gutenberg-block-common-theme-styles.css"

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -1,3 +1,13 @@
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0; }
.wp-block-tainacan-faceted-search {
margin: 0 auto; }
.wp-block-tainacan-faceted-search .spinner-container {

File diff suppressed because one or more lines are too long

View File

@ -1,3 +1,13 @@
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0; }
.wp-block-tainacan-facets-list {
margin: 2em auto; }
.wp-block-tainacan-facets-list .spinner-container {

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/**
* Swiper 11.1.1
* Swiper 11.1.3
* Most modern mobile touch slider and framework with hardware accelerated transitions
* https://swiperjs.com
*
@ -7,7 +7,7 @@
*
* Released under the MIT License
*
* Released on: April 9, 2024
* Released on: May 13, 2024
*/
@font-face {
font-family: 'swiper-icons';
@ -669,18 +669,24 @@
text-align: center;
vertical-align: top;
word-break: break-word;
font-size: 0.875em;
max-width: calc(var(--tainacan-media-thumbs-carousel-item-size, 136px) + 17px); }
font-size: 0.875em; }
@media only screen and (max-width: 380px) {
.tainacan-media-component__swiper-thumbs li.swiper-slide {
margin: 10px 0; } }
.tainacan-media-component__swiper-thumbs li.swiper-slide:not(.has-fixed-height) {
max-width: calc(var(--tainacan-media-thumbs-carousel-item-size, 136px) + 17px); }
.tainacan-media-component__swiper-thumbs li.swiper-slide:not(.has-fixed-height) img {
width: var(--tainacan-media-thumbs-carousel-item-size, 136px);
max-width: var(--tainacan-media-thumbs-carousel-item-size, 136px);
object-fit: cover;
object-position: center; }
.tainacan-media-component__swiper-thumbs li.swiper-slide.has-fixed-height {
width: auto; }
.tainacan-media-component__swiper-thumbs li.swiper-slide.has-fixed-height img {
height: var(--tainacan-media-thumbs-carousel-item-size, 136px);
max-height: var(--tainacan-media-thumbs-carousel-item-size, 136px);
width: auto; }
.tainacan-media-component__swiper-thumbs li.swiper-slide img {
width: var(--tainacan-media-thumbs-carousel-item-size, 136px);
height: var(--tainacan-media-thumbs-carousel-item-size, 136px);
max-width: var(--tainacan-media-thumbs-carousel-item-size, 136px);
max-height: var(--tainacan-media-thumbs-carousel-item-size, 136px);
object-fit: cover;
object-position: center;
border-bottom-width: 6px;
border-bottom-style: solid;
background-color: var(--tainacan-media-background, transparent);

File diff suppressed because one or more lines are too long

View File

@ -1,3 +1,13 @@
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0; }
#metadata-checkbox-list {
margin: 8px 12px 18px 12px; }
#metadata-checkbox-list .components-base-control__help {

File diff suppressed because one or more lines are too long

View File

@ -1,3 +1,13 @@
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0; }
.wp-block-tainacan-items-list {
margin: 2em auto; }
.wp-block-tainacan-items-list .components-spinner {

View File

@ -1,7 +1,7 @@
{
"version": 3,
"mappings": "AAEA,6BAA8B;EAC1B,MAAM,EAAE,QAAQ;EAGhB,iDAAoB;IAChB,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE,CAAC;EAIZ;8EAC+C;IAC3C,OAAO,EAAE,IAAI;IACb,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,CAAC;EAId;4EAC6C;IACzC,qBAAqB,EAAE,wBAAwB;IAC/C,eAAe,EAAE,iBAAiB;IAClC,kBAAkB,EAAE,eAAe;IAEnC;iFAAG;MACC,UAAU,EAAE,YAAY;MACxB,YAAY,EAAE,YAAY;MAC1B,WAAW,EAAE,YAAY;MACzB,MAAM,EAAE,gBAAgB;MAExB;;;0FACO;QACH,MAAM,EAAE,gBAAgB;QACxB,aAAa,EAAE,cAAc;EAIzC;oEACqC;IACjC,OAAO,EAAE,CAAC;ICvCd,SAAS,EAAE,IAAI;IACf,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,IAAI;IDsCT,gBAAgB,EAAE,6BAA6B;IAC/C,qBAAqB,EAAE,wBAAwB;IAC/C,QAAQ,EAAE,GAAG;IACb,eAAe,EAAE,YAAY;IAC7B,WAAW,EAAE,UAAU;IACvB,eAAe,EAAE,IAAI;IAErB;wFAAkB;MACd,QAAQ,EAAE,QAAQ;MAClB,OAAO,EAAE,KAAK;MACd,MAAM,EAAE,mBAAmB;MAC3B,aAAa,EAAE,IAAI;MACnB,KAAK,EAAE,KAAK;MAEZ;4FAAE;QACE,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,MAAM;QAEnB;mGAAK;UACD,WAAW,EAAE,MAAM;UACnB,OAAO,EAAE,KAAK;MAItB;;;iGACO;QACH,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,GAAG;QACZ,aAAa,EAAE,KAAK;MAGxB;oHAA0B;QACtB,OAAO,EAAE,IAAI;MAGjB;;kGACU;QACN,KAAK,EAAE,OAAO;QACd,eAAe,EAAE,IAAI;EAIjC,kEAAqC;IACjC,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,UAAU;IAEvB,yEAAO;MACH,QAAQ,EAAE,mBAAmB;MAC7B,gBAAgB,EAAE,yBAAyB;MAC3C,KAAK,EAAE,oCAAmC;MAC1C,OAAO,EAAE,GAAG;MACZ,WAAW,EAAE,GAAG;MAChB,SAAS,EAAE,IAAI;MACf,UAAU,EAAE,MAAM;MAClB,QAAQ,EAAE,QAAQ;MAClB,OAAO,EAAE,CAAC;MACV,KAAK,EAAE,KAAK;MACZ,GAAG,EAAE,GAAG;MACR,eAAe,EAAE,MAAM;MACvB,OAAO,EAAE,GAAG;MAEZ,mFAAU;QAAE,MAAM,EAAE,GAAG;IAG3B,+EAAe;MACX,MAAM,EAAE,IAAI;MACZ,UAAU,EAAE,OAAO;MACnB,gBAAgB,EAAE,gBAAiC;MACnD,OAAO,EAAE,CAAC;MACV,KAAK,EAAE,IAAI;MACX,GAAG,EAAE,IAAI;MACT,MAAM,EAAE,8CAA6C;MACrD,aAAa,EAAE,KAAK;MACpB,UAAU,EAAE,wCAAwC;IAExD,qFAAqB;MACjB,gBAAgB,EAAE,gBAAiC;MACnD,MAAM,EAAE,yDAAwD;EAGxE,yCAA0C;IAEtC;sEACqC;MACjC,qBAAqB,EAAE,uBAAuB;MAE9C;0FAAkB;QACd,KAAK,EAAE,IAAI;QACX;;mGAAY;UAAE,KAAK,EAAE,IAAI;EAMrC;oEACqC;IACjC,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,MAAM;IACnB,eAAe,EAAE,IAAI;IAErB;wFAAkB;MACd,QAAQ,EAAE,QAAQ;MAClB,MAAM,EAAE,mBAAmB;MAC3B,aAAa,EAAE,IAAI;MACnB,UAAU,EAAE,IAAI;MAChB,SAAS,EAAE,gBAAgB;MAC3B,KAAK,EAAE,gBAAgB;MAEvB;4FAAE;QACE,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,MAAM;QACnB,UAAU,EAAE,SAAS;QACrB,UAAU,EAAE,UAAU;MAG1B;;;iGACO;QACH,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,GAAG;QACZ,YAAY,EAAE,IAAI;MAGtB;;;sHAC4B;QACxB,OAAO,EAAE,IAAI;MAGjB;;kGACU;QACN,KAAK,EAAE,OAAO;QACd,eAAe,EAAE,IAAI;MAGzB,0CAA2C;QArC/C;4FAAkB;UAsCV,SAAS,EAAE,gBAAgB;UAC3B,KAAK,EAAE,gBAAgB;MAG3B,0CAA2C;QA1C/C;4FAAkB;UA2CV,SAAS,EAAE,oBAAoB;UAC/B,KAAK,EAAE,oBAAoB;MAG/B,yCAA0C;QA/C9C;4FAAkB;UAgDV,SAAS,EAAE,gBAAgB;UAC3B,KAAK,EAAE,gBAAgB;MAG3B,yCAA0C;QApD9C;4FAAkB;UAqDV,SAAS,EAAE,iBAAiB;UAC5B,KAAK,EAAE,iBAAiB;;AAOhC;qHACa;EACT,KAAK,EAAE,OAAO",
"sources": ["../../views/gutenberg-blocks/blocks/items-list/style.scss","../../views/gutenberg-blocks/scss/gutenberg-blocks-variables.scss"],
"mappings": "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",
"sources": ["../../views/gutenberg-blocks/scss/gutenberg-blocks-variables.scss","../../views/gutenberg-blocks/blocks/items-list/style.scss"],
"names": [],
"file": "tainacan-gutenberg-block-items-list.css"
}

View File

@ -1,3 +1,13 @@
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0; }
.wp-block-tainacan-related-items {
margin: 0.5em auto;
width: 100%; }

View File

@ -1,7 +1,7 @@
{
"version": 3,
"mappings": "AAEA,gCAAiC;EAC7B,MAAM,EAAE,UAAU;EAClB,KAAK,EAAE,IAAI;EAGX,mDAAmB;IACf,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,IAAI;IACb,eAAe,EAAE,MAAM;IACvB,WAAW,EAAE,MAAM;IACnB,KAAK,EAAE,oCAAmC;AAI9C,qCAIC;EAHG,EAAE;IAAC,OAAO,EAAE,GAAG;EACf,GAAG;IAAC,OAAO,EAAE,GAAG;EAChB,IAAI;IAAC,OAAO,EAAE,GAAG;AAErB,kCAIC;EAHG,EAAE;IAAC,OAAO,EAAE,GAAG;EACf,GAAG;IAAC,OAAO,EAAE,GAAG;EAChB,IAAI;IAAC,OAAO,EAAE,GAAG;AAErB,gCAIC;EAHG,EAAE;IAAC,OAAO,EAAE,GAAG;EACf,GAAG;IAAC,OAAO,EAAE,GAAG;EAChB,IAAI;IAAC,OAAO,EAAE,GAAG;AAErB,6BAIC;EAHG,EAAE;IAAC,OAAO,EAAE,GAAG;EACf,GAAG;IAAC,OAAO,EAAE,GAAG;EAChB,IAAI;IAAC,OAAO,EAAE,GAAG;EAErB,0CAAU;IACN,aAAa,EAAE,GAAG;IAClB,UAAU,EAAE,oCAAmC;IAE/C,iBAAiB,EAAE,qCAAqC;IACxD,cAAc,EAAE,qCAAqC;IACrD,YAAY,EAAE,qCAAqC;IACnD,SAAS,EAAE,qCAAqC;EAIpD,8DAA8B;IAC1B,QAAQ,EAAE,QAAQ;IAElB,wEAAY;MACR,UAAU,EAAE,KAAK",
"sources": ["../../views/gutenberg-blocks/blocks/related-items-list/style.scss"],
"mappings": "AAgBA,QAAS;EACL,QAAQ,EAAE,QAAQ;EAClB,KAAK,EAAE,GAAG;EACV,MAAM,EAAE,GAAG;EACX,OAAO,EAAE,CAAC;EACV,MAAM,EAAE,IAAI;EACZ,QAAQ,EAAE,MAAM;EAChB,IAAI,EAAE,gBAAa;EACnB,MAAM,EAAE,CAAC;;ACtBb,gCAAiC;EAC7B,MAAM,EAAE,UAAU;EAClB,KAAK,EAAE,IAAI;EAGX,mDAAmB;IACf,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,IAAI;IACb,eAAe,EAAE,MAAM;IACvB,WAAW,EAAE,MAAM;IACnB,KAAK,EAAE,oCAAmC;AAI9C,qCAIC;EAHG,EAAE;IAAC,OAAO,EAAE,GAAG;EACf,GAAG;IAAC,OAAO,EAAE,GAAG;EAChB,IAAI;IAAC,OAAO,EAAE,GAAG;AAErB,kCAIC;EAHG,EAAE;IAAC,OAAO,EAAE,GAAG;EACf,GAAG;IAAC,OAAO,EAAE,GAAG;EAChB,IAAI;IAAC,OAAO,EAAE,GAAG;AAErB,gCAIC;EAHG,EAAE;IAAC,OAAO,EAAE,GAAG;EACf,GAAG;IAAC,OAAO,EAAE,GAAG;EAChB,IAAI;IAAC,OAAO,EAAE,GAAG;AAErB,6BAIC;EAHG,EAAE;IAAC,OAAO,EAAE,GAAG;EACf,GAAG;IAAC,OAAO,EAAE,GAAG;EAChB,IAAI;IAAC,OAAO,EAAE,GAAG;EAErB,0CAAU;IACN,aAAa,EAAE,GAAG;IAClB,UAAU,EAAE,oCAAmC;IAE/C,iBAAiB,EAAE,qCAAqC;IACxD,cAAc,EAAE,qCAAqC;IACrD,YAAY,EAAE,qCAAqC;IACnD,SAAS,EAAE,qCAAqC;EAIpD,8DAA8B;IAC1B,QAAQ,EAAE,QAAQ;IAElB,wEAAY;MACR,UAAU,EAAE,KAAK",
"sources": ["../../views/gutenberg-blocks/scss/gutenberg-blocks-variables.scss","../../views/gutenberg-blocks/blocks/related-items-list/style.scss"],
"names": [],
"file": "tainacan-gutenberg-block-related-items-list.css"
}

View File

@ -1,3 +1,13 @@
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0; }
.edit-post-sidebar div.components-toolbar {
border: none;
justify-content: center; }

File diff suppressed because one or more lines are too long

View File

@ -1,3 +1,13 @@
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0; }
.wp-block-tainacan-terms-list {
margin: 2em auto; }
.wp-block-tainacan-terms-list .components-spinner {

View File

@ -1,7 +1,7 @@
{
"version": 3,
"mappings": "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",
"sources": ["../../views/gutenberg-blocks/blocks/terms-list/style.scss","../../views/gutenberg-blocks/scss/gutenberg-blocks-variables.scss"],
"mappings": "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",
"sources": ["../../views/gutenberg-blocks/scss/gutenberg-blocks-variables.scss","../../views/gutenberg-blocks/blocks/terms-list/style.scss"],
"names": [],
"file": "tainacan-gutenberg-block-terms-list.css"
}

View File

@ -0,0 +1,178 @@
<?php
namespace Tainacan;
class Admin_Bar_Items {
public function __construct() {
add_action( 'admin_bar_menu', array($this, 'add_admin_bar_items'), 500 );
add_action( 'init', array($this, 'add_admin_bar_items_styles') );
}
/**
* Color to style the admin bar items
*/
function add_admin_bar_items_styles() {
global $TAINACAN_BASE_URL;
if ( is_user_logged_in() )
wp_enqueue_style( 'tainacan-admin-bar', $TAINACAN_BASE_URL . '/assets/css/tainacan-admin-bar.css', [], TAINACAN_VERSION );
}
/*
*
* Adds Edit links to Tainacan item and collection pages
*/
function add_admin_bar_items ( \WP_Admin_Bar $admin_bar ) {
// No need to add this shortcuts on the admin
if ( !is_admin() && is_user_logged_in() ) {
// We should only do this in singular pages, as the items list also return the first item on loop
if ( is_singular() ) {
$item = tainacan_get_item();
// There should exist a Tainacan item and the user should have permission for this
if ( isset($item) && $item->can_edit() ) {
$url = $item->get_edit_url();
// The item edition link must be valid!
if ( $url ) {
$admin_bar->add_menu( array(
'id' => 'tainacan-item-edition-link',
'parent' => null,
'group' => null,
'title' => __( 'Edit item', 'tainacan' ),
'href' => $url,
'meta' => [
'title' => __( 'Edit this item on Tainacan Admin', 'tainacan' )
]
) );
}
} else {
$post = get_queried_object();
// Is it a taxonomy-post-type post?
if ( property_exists($post, 'post_type') && $post->post_type == Entities\Taxonomy::$post_type && current_user_can('edit_posts', $post->ID) ) {
$url = admin_url( '?page=tainacan_admin#/taxonomies/' . $post->ID );
$admin_bar->add_menu( array(
'id' => 'tainacan-taxonomy-edition-link',
'parent' => null,
'group' => null,
'title' => __( 'Edit taxonomy', 'tainacan' ),
'href' => $url,
'meta' => [
'title' => __( 'Edit this taxonomy on Tainacan Admin', 'tainacan' )
]
) );
}
}
}
// In the term items list, display a link to the single taxonomy
else if ( is_tax() ) {
$term = get_queried_object();
if ( isset($term->taxonomy) ) {
$prefix = substr( $term->taxonomy, 0, strlen( Entities\Taxonomy::$db_identifier_prefix ) );
if ( $prefix == Entities\Taxonomy::$db_identifier_prefix ) {
$tax_id = \Tainacan\Repositories\Taxonomies::get_instance()->get_id_by_db_identifier($term->taxonomy);
if ( $tax_id && current_user_can( 'edit_posts', $tax_id ) ) {
$url = admin_url( '?page=tainacan_admin#/taxonomies/' . $tax_id);
$admin_bar->add_menu( array(
'id' => 'tainacan-taxonomy-edition-link',
'parent' => null,
'group' => null,
'title' => __( 'Edit taxonomy', 'tainacan' ),
'href' => $url,
'meta' => [
'title' => __( 'Edit this taxonomy on Tainacan Admin', 'tainacan' )
]
) );
}
}
}
}
// In the collection and items list, we can also display links
else if ( is_archive() ) {
$collection = tainacan_get_collection();
// There should exist a Tainacan collection and the user should have permission for edit it
if ( $collection && $collection->can_edit() ) {
$url = admin_url( '?page=tainacan_admin#/collections/' . $collection->get_ID() . '/settings' );
$admin_bar->add_menu( array(
'id' => 'tainacan-collection-edition-link',
'parent' => null,
'group' => null,
'title' => __( 'Edit collection', 'tainacan' ),
'href' => $url,
'meta' => [
'title' => __( 'Edit this collection on Tainacan Admin', 'tainacan' )
]
) );
// If no single collection is found, we may be in a collections list
} else if ( is_post_type_archive('tainacan-collection') ) {
$url = admin_url( '?page=tainacan_admin#/collections/' );
$admin_bar->add_menu( array(
'id' => 'tainacan-collections-edition-link',
'parent' => null,
'group' => null,
'title' => __( 'Edit collections', 'tainacan' ),
'href' => $url,
'meta' => [
'title' => __( 'Edit the collections on Tainacan Admin', 'tainacan' )
]
) );
} else if ( is_post_type_archive('tainacan-taxonomy') ) {
$url = admin_url( '?page=tainacan_admin#/taxonomies/' );
$admin_bar->add_menu( array(
'id' => 'tainacan-taxonomies-edition-link',
'parent' => null,
'group' => null,
'title' => __( 'Edit taxonomies', 'tainacan' ),
'href' => $url,
'meta' => [
'title' => __( 'Edit the taxonomies on Tainacan Admin', 'tainacan' )
]
) );
} else {
global $wp_query;
if ( $wp_query->get( 'tainacan_repository_archive' ) == 1 ) {
$url = admin_url( '?page=tainacan_admin#/items/' );
$admin_bar->add_menu( array(
'id' => 'tainacan-repository-items-edition-link',
'parent' => null,
'group' => null,
'title' => __( 'Edit items', 'tainacan' ),
'href' => $url,
'meta' => [
'title' => __( 'Edit the items on Tainacan Admin', 'tainacan' )
]
) );
}
}
}
}
}
}

View File

@ -507,20 +507,21 @@ class Metadatum extends Entity {
if (false === $is_valid)
return false;
// You cant have a multiple metadatum inside a compound metadatum (except taxonomy)
// You can't have a multiple metadatum inside a compound metadatum
if ($this->get_parent() > 0) {
if ( $this->is_multiple() && $this->get_metadata_type_object()->get_primitive_type() != 'term') {
$this->add_error($this->get_id(), __('Compound metadata do not support metadata with multiple values (except taxonomies)', 'tainacan'));
if ( $this->is_multiple() ) {
$this->add_error('multiple', __('Compound metadata do not support child metadata with multiple values', 'tainacan'));
return false;
}
}
if( $this->is_required() ) {
// You cant have a required metadatum inside a conditional section
if ( $this->is_required() ) {
$meta_section_id = $this->get_metadata_section_id();
if($meta_section_id != \Tainacan\Entities\Metadata_Section::$default_section_slug) {
if ($meta_section_id != \Tainacan\Entities\Metadata_Section::$default_section_slug) {
$meta_section = new \Tainacan\Entities\Metadata_Section($meta_section_id);
if($meta_section->is_conditional_section()) {
$this->add_error($this->get_id(), __('Metadata cannot be required into conditional section', 'tainacan'));
$this->add_error('required', __('Metadata cannot be required into conditional section', 'tainacan'));
return false;
}
}
@ -530,7 +531,7 @@ class Metadatum extends Entity {
if ( $this->get_parent() > 0 && $this->get_metadata_type_object()->get_primitive_type() == 'term' ) {
$parent_metadatum = new \Tainacan\Entities\Metadatum($this->get_parent());
if ( $parent_metadatum->is_multiple() ) {
$this->add_error($this->get_id(), __('Taxonomy metadata cannot be used inside Compound metadata with multiple values', 'tainacan'));
$this->add_error('multiple', __('Taxonomy metadata cannot be used inside Compound metadata with multiple values', 'tainacan'));
return false;
}
}
@ -546,7 +547,7 @@ class Metadatum extends Entity {
, 'OBJECT');
if ( sizeof($children_taxonomy) > 0 ) {
$this->add_error($this->get_id(), __('Taxonomy metadata cannot be used inside Compound metadata with multiple values', 'tainacan'));
$this->add_error('multiple', __('Taxonomy metadata cannot be used inside Compound metadata with multiple values', 'tainacan'));
return false;
}
@ -560,7 +561,7 @@ class Metadatum extends Entity {
if ( sizeof($meta_childrens) > 0 ) {
foreach($meta_childrens as $meta_children) {
if( $meta_children->is_required() ) {
$this->add_error($this->get_id(), __("Compound metadata with multiple values can't have a children metadata set to as required", 'tainacan'));
$this->add_error('multiple', __("Compound metadata with multiple values can't have a children metadata set to as required", 'tainacan'));
return false;
}
}
@ -583,6 +584,7 @@ class Metadatum extends Entity {
}
$this->add_error('metadata_type_options', $is_valid);
return false;
}
}

View File

@ -170,6 +170,7 @@ $Tainacan_Theme_Helper = \Tainacan\Theme_Helper::get_instance();
require_once(__DIR__ . '/../views/gutenberg-blocks/class-tainacan-gutenberg-block.php');
$Tainacan_Admin_Bar_Items = new \Tainacan\Admin_Bar_Items();
$Tainacan_Search_Engine = new \Tainacan\Search_Engine();
$Tainacan_Elastic_press = \Tainacan\Elastic_Press::get_instance();

File diff suppressed because one or more lines are too long

View File

@ -1120,7 +1120,7 @@ function tainacan_has_related_items($item_id = false) {
*
* @param array $args {
* Optional. Array of arguments.
* @type string $item_id The Item ID
* @type string $item_id The Item ID
* @type string $blockId A unique identifier for the gallery, will be generated automatically if not provided,
* @type array $layoutElements Array of elements present in the gallery. Possible values are 'main' and 'carousel'
* @type array $mediaSources Array of sources for the gallery. Possible values are 'document' and 'attachments'
@ -1137,6 +1137,9 @@ function tainacan_has_related_items($item_id = false) {
* @type bool $showDownloadButtonMain Displays a download button below the Main slider
* @type bool $lightboxHasLightBackground Show a light background instead of dark in the lightbox
* @type bool $showArrowsAsSVG Decides if the swiper carousel arrows will be an SVG icon or font icon
* @type string $thumbnailsSize Media size for the thumbnail images. Defaults to 'tainacan-medium'
* @type bool $thumbsHaveFixedHeight If thumbs should have a fixed height and auto widht. Defaults to false.
* }
* @return void
*/
function tainacan_the_item_gallery($args = []) {

View File

@ -4,7 +4,7 @@ Tags: museums, archives, GLAM, collections, repository
Requires at least: 5.9
Tested up to: 6.5
Requires PHP: 7.0
Stable tag: 0.21.4
Stable tag: 0.21.5
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-3.0.html

View File

@ -5,17 +5,17 @@ Plugin URI: https://tainacan.org/
Description: Open source, powerful and flexible repository platform for WordPress. Manage and publish you digital collections as easily as publishing a post to your blog, while having all the tools of a professional repository platform.
Author: Tainacan.org
Author URI: https://tainacan.org/
Version: 0.21.4
Version: 0.21.5
Requires at least: 5.9
Tested up to: 6.5
Requires PHP: 7.0
Stable tag: 0.21.4
Stable tag: 0.21.5
Text Domain: tainacan
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-3.0.html
*/
const TAINACAN_VERSION = '0.21.4';
const TAINACAN_VERSION = '0.21.5';
defined( 'ABSPATH' ) or die( 'No script kiddies please!' );
$TAINACAN_BASE_URL = plugins_url('', __FILE__);
@ -58,85 +58,6 @@ add_filter( 'wp_untrash_post_status', function( $new_status, $post_id, $previous
return $previous_status;
}, 10, 3 );
/*
*
* Adds Edit links to Tainacan item and collection pages
*/
function tainacan_add_admin_bar_items ( WP_Admin_Bar $admin_bar ) {
// No need to add this shortcuts on the admin
if ( !is_admin() ) {
// We should only do this in singular pages, as the items list also return the first item on loop
if ( is_singular() ) {
$item = tainacan_get_item();
// There should exist a Tainacan item and the user should have permission for this
if ( isset($item) && $item->can_edit() ) {
$url = $item->get_edit_url();
// The item edition link must be valid!
if ( $url ) {
$admin_bar->add_menu( array(
'id' => 'tainacan-item-edition-link',
'parent' => null,
'group' => null,
'title' => __( 'Edit item', 'tainacan' ),
'href' => $url,
'meta' => [
'title' => __( 'Edit this item on Tainacan Admin', 'tainacan' )
]
) );
}
}
}
// In the collection and items list, we can also display links
else if ( is_archive() ) {
$collection = tainacan_get_collection();
// There should exist a Tainacan collection and the user should have permission for edit it
if ( $collection && $collection->can_edit() ) {
$url = admin_url( '?page=tainacan_admin#/collections/' . $collection->get_ID() . '/settings' );
$admin_bar->add_menu( array(
'id' => 'tainacan-collection-edition-link',
'parent' => null,
'group' => null,
'title' => __( 'Edit collection', 'tainacan' ),
'href' => $url,
'meta' => [
'title' => __( 'Edit this collection on Tainacan Admin', 'tainacan' )
]
) );
// If no single collection is found, we may be in a collections list
} else if ( is_post_type_archive('tainacan-collection') ) {
$url = admin_url( '?page=tainacan_admin#/collections/' );
$admin_bar->add_menu( array(
'id' => 'tainacan-collections-edition-link',
'parent' => null,
'group' => null,
'title' => __( 'Edit collections', 'tainacan' ),
'href' => $url,
'meta' => [
'title' => __( 'Edit the collections on Tainacan Admin', 'tainacan' )
]
) );
}
}
}
}
add_action( 'admin_bar_menu', 'tainacan_add_admin_bar_items', 500 );
function wp_kses_tainacan($content, $context='tainacan_content') {
$allowed_html = wp_kses_allowed_html($context);
return wp_kses($content, $allowed_html);

View File

@ -945,7 +945,20 @@ export default {
},
shouldDisplayItemEditionAttachments() {
return !this.$adminOptions.hideItemEditionAttachments && (this.collection && this.collection.item_enable_attachments === 'yes');
}
},
hasRedirectHook() {
if (wp !== undefined && wp.hooks !== undefined)
return wp.hooks.hasFilter(`tainacan_item_edition_after_update_redirect`);
return false;
},
getRedirectHook() {
const itemViewURL = tainacan_plugin.admin_url + '?page=tainacan_admin#' + this.$routerHelper.getItemPath(this.form.collectionId, this.itemId);
if (wp !== undefined && wp.hooks !== undefined)
return wp.hooks.applyFilters(`tainacan_item_edition_after_update_redirect`, itemViewURL, this.form, this.itemId);
return itemViewURL;
},
},
watch: {
'$route.params.itemPosition'(newItemPosition, oldItemPosition) {
@ -1194,13 +1207,17 @@ export default {
if (!this.$adminOptions.itemEditionMode && !this.$adminOptions.mobileAppMode) {
if (!this.isOnSequenceEdit) {
if (this.form.status != 'trash') {
if (previousStatus == 'auto-draft')
this.$router.push({ path: this.$routerHelper.getItemPath(this.form.collectionId, this.itemId), query: { recent: true } });
else
this.$router.push(this.$routerHelper.getItemPath(this.form.collectionId, this.itemId));
} else
this.$router.push(this.$routerHelper.getCollectionPath(this.form.collectionId));
if ( this.hasRedirectHook ) {
window.location.replace( this.getRedirectHook );
} else {
if (this.form.status != 'trash') {
if (previousStatus == 'auto-draft')
this.$router.push({ path: this.$routerHelper.getItemPath(this.form.collectionId, this.itemId), query: { recent: true } });
else
this.$router.push(this.$routerHelper.getItemPath(this.form.collectionId, this.itemId));
} else
this.$router.push(this.$routerHelper.getCollectionPath(this.form.collectionId));
}
} else {
if (sequenceDirection == 'next')
this.onNextInSequence();
@ -1310,6 +1327,9 @@ export default {
});
}
if ( this.collection && this.item )
wp.hooks.doAction('tainacan_item_edition_item_loaded', JSON.parse(JSON.stringify(this.collection)), JSON.parse(JSON.stringify(this.item)));
// Loads metadata and attachments
this.loadMetadata();
@ -1350,6 +1370,9 @@ export default {
this.conditionalSections[conditionalSectionId].hide = Array.isArray(itemMetadatumValues) ? itemMetadatumValues.every(aValue => conditionalValues.indexOf(aValue['id'] ? aValue['id'] : aValue) < 0) : conditionalValues.indexOf(itemMetadatumValues) < 0;
}
}
if ( this.collection && this.item && metadata)
wp.hooks.doAction('tainacan_item_edition_metadata_loaded', JSON.parse(JSON.stringify(this.collection)), JSON.parse(JSON.stringify(this.item)), metadata);
this.isLoading = false;
});
@ -1748,6 +1771,9 @@ export default {
if (this.form.document_options !== undefined && this.form.document_options['forced_iframe_height'] !== undefined)
this.urlIframeHeight = this.form.document_options['forced_iframe_height'];
if ( this.collection && this.item )
wp.hooks.doAction('tainacan_item_edition_item_loaded', JSON.parse(JSON.stringify(this.collection)), JSON.parse(JSON.stringify(this.item)));
this.loadMetadata();
this.setLastUpdated(this.item.modification_date);

View File

@ -5,6 +5,7 @@
size="is-small"
:data="options"
autocomplete
:open-on-focus="true"
expanded
:loading="isLoadingOptions"
:remove-on-keys="[]"
@ -16,6 +17,7 @@
check-infinite-scroll
@update:model-value="($event) => { resetPage(); onSelect($event) }"
@typing="search"
@focus="($event) => { searchQuery = $event.target.value; performSearch(searchQuery) }"
@infinite-scroll="searchMore">
<template #default="props">
<div class="media">
@ -96,8 +98,7 @@
this.updateSelectedValues();
},
methods: {
search: _.debounce( function(query) {
performSearch(query) {
// String update
if (query != this.searchQuery) {
this.searchQuery = query;
@ -154,7 +155,9 @@
// Search Request Token for cancelling
this.getOptionsValuesCancel = promise.source;
},
search: _.debounce( function(query) {
this.performSearch(query);
}, 500),
searchMore: _.debounce(function () {
this.search(this.searchQuery);

View File

@ -5,6 +5,7 @@
icon="magnify"
:data="options"
autocomplete
:open-on-focus="true"
:loading="isLoadingOptions"
expanded
:remove-on-keys="[]"
@ -16,6 +17,7 @@
:placeholder="$i18n.get('info_type_to_add_terms')"
check-infinite-scroll
@typing="search"
@focus="($event) => { searchQuery = $event.target.value; performSearch(searchQuery) }"
@update:model-value="($event) => { resetPage(); onSelect($event) }"
@infinite-scroll="searchMore">
<template #default="props">
@ -88,8 +90,7 @@
this.updateSelectedValues();
},
methods: {
search: _.debounce( function(query) {
performSearch(query) {
// String update
if (query != this.searchQuery) {
this.searchQuery = query;
@ -166,9 +167,12 @@
this.isLoadingOptions = false;
this.$console.log(error);
});
},
search: _.debounce( function(query) {
this.performSearch(query);
}, 500),
searchMore: _.debounce(function () {
this.search(this.searchQuery)
this.performSearch(this.searchQuery)
}, 250),
updateSelectedValues() {

View File

@ -176,7 +176,9 @@
}
</script>
<style scoped>
<style scoped lang="scss">
@import "../../scss/_tables.scss";
.activities-icon {
height: 24px;
width: 24px;

View File

@ -186,6 +186,8 @@
<style scoped lang="scss">
@import "../../scss/_tables.scss";
.table-container .table-wrapper table.tainacan-table tbody tr {
cursor: default;
}

View File

@ -592,6 +592,8 @@ export default {
<style lang="scss" scoped>
@import "../../scss/_tables.scss";
.selection-control {
padding: 6px 0px 0px 12px;

View File

@ -1700,20 +1700,25 @@
v-if="Object.keys(geocoordinateMetadata).length"
class="geocoordinate-panel--input">
<label>{{ $i18n.get('label_showing_locations_for') }}&nbsp;</label>
<b-select
<div
id="tainacan-select-geocoordinate-metatum"
v-model="selectedGeocoordinateMetadatumId"
:placeholder="$i18n.get('instruction_select_geocoordinate_metadatum')">
<option
v-for="(geocoordinateMetadatum, geocoordinateMetadatumId) in geocoordinateMetadata"
:key="geocoordinateMetadatum.id"
role="button"
:class="{ 'is-active': selectedGeocoordinateMetadatumId == geocoordinateMetadatumId }"
:value="geocoordinateMetadatumId"
@click="onChangeSelectedGeocoordinateMetadatum(geocoordinateMetadatumId)">
{{ geocoordinateMetadatum.name }}
</option>
</b-select>
class="control">
<span class="select">
<select
v-model="selectedGeocoordinateMetadatumId"
:placeholder="$i18n.get('instruction_select_geocoordinate_metadatum')">
<option
v-for="(geocoordinateMetadatum, geocoordinateMetadatumId) in geocoordinateMetadata"
:key="geocoordinateMetadatum.id"
role="button"
:class="{ 'is-active': selectedGeocoordinateMetadatumId == geocoordinateMetadatumId }"
:value="geocoordinateMetadatumId"
@click="onChangeSelectedGeocoordinateMetadatum(geocoordinateMetadatumId)">
{{ geocoordinateMetadatum.name }}
</option>
</select>
</span>
</div>
</div>
<section
v-else
@ -2677,6 +2682,7 @@ export default {
<style lang="scss" scoped>
@import "../../scss/_variables.scss";
@import "../../scss/_tables.scss";
@import "../../scss/_view-mode-cards.scss";
@import "../../scss/_view-mode-masonry.scss";
@import "../../scss/_view-mode-grid.scss";

View File

@ -11,7 +11,7 @@
</h3>
<sortable
:list="availableMetadataTypes"
item-key="id"
item-key="component"
:options="{
group: {
name: 'metadata',
@ -25,7 +25,7 @@
}">
<template #item="{ element: metadatum }">
<div
:id="metadatum.component"
:data-metadatum-type="metadatum.component"
class="available-metadatum-item"
:class="{ 'highlighted-metadatum' : highlightedMetadatum == metadatum.name, 'inherited-metadatum': metadatum.inherited || isRepositoryLevel }"
@click.prevent="addMetadatumViaButton(metadatum)">

View File

@ -448,6 +448,8 @@
<style lang="scss" scoped>
@import "../../scss/_tables.scss";
.selection-control {
padding: 6px 0px 0px 12px;

View File

@ -452,13 +452,18 @@
this.updateMetadataOrder();
},
isAvailableChildMetadata(to, from, item) {
if (!item || !item.id)
// Se não estamos na lista de metadados do repositório, não podemos inserir filhos em metadados que sejam herdados do repositório
if ( !this.isRepositoryLevel && this.parent.collection_id === 'default' )
return false;
if (!item || !item.dataset || !item.dataset.metadatumType)
return false;
if (from.el && from.el.className === 'active-metadata-area')
return false;
return !['tainacan-compound', 'tainacan-taxonomy'].includes(item.id);
return !['tainacan-compound', 'tainacan-taxonomy'].includes(item.dataset.metadatumType);
},
isCollapseOpen(metadatumId) {
return this.collapses[metadatumId] == true;

View File

@ -4,7 +4,7 @@
v-model="activeTab"
size="is-small"
animated>
<b-tab-item :label="$i18n.get('label_insert_items')">
<b-tab-item :label="( itemMetadatum.value.length == 1 || itemMetadatum.metadatum.multiple != 'yes' ) ? $i18n.get('label_select_item') : $i18n.get('label_insert_items')">
<b-taginput
:id="relationshipInputId"
expanded
@ -257,6 +257,9 @@
img: this.$thumbHelper.getSrc(item['thumbnail'], 'tainacan-small', item.document_mimetype)
});
}
if ( this.itemMetadatum.value.length > 0 && this.itemMetadatum.metadatum.multiple != 'yes' )
this.activeTab = 1;
}
})
.catch(error => {
@ -540,7 +543,7 @@
}
:deep(.tainacan-relationship-results-container) {
border: 1px solid var(--tainacan-gray1);
background-color: var(--tainacan-white);
background-color: var(--tainacan-background-color);
margin-top: calc(-1 * (0.5em + 1px));
margin-bottom: calc(-1 * (0.5em + 1px));
display: flex;
@ -550,7 +553,10 @@
transition: height 0.5s ease, min-height 0.5s ease;
.tainacan-relationship-group {
padding-bottom: 12px;
&:not(:only-child) {
padding-bottom: 12px;
}
.tainacan-relationship-metadatum {
.tainacan-metadatum .label {
font-size: 0.75em;

View File

@ -38,12 +38,12 @@ export const tainacanErrorHandler = function(error) {
console.log('Tainacan Error Handler: ', error.response);
}
} else if ('Tainacan Error Handler: ', error.request) {
} else if ( error.request ) {
// The request was made but no response was received
// `error.request` is an instance of XMLHttpRequest in the browser and an instance of
// http.ClientRequest in node.js
console.error('Tainacan Error Handler: ', error.request);
} else {
} else if ( error.message ) {
// Something happened in setting up the request that triggered an Error
console.error('Tainacan Error Handler: ', error.message);
}

View File

@ -268,31 +268,30 @@ export const dynamicFilterTypeMixin = {
}
}
if (this.shouldAddOptions === true && this.searchResults && this.searchResults.length)
if ( this.shouldAddOptions === true && this.searchResults && this.searchResults.length )
this.searchResults = this.searchResults.concat(sResults);
else
this.searchResults = sResults;
if (opts) {
if ( opts ) {
if (this.shouldAddOptions === true && this.options && this.options.length)
this.options = this.options.concat(opts)
else
this.options = opts;
}
else if(!search)
else if ( !search )
this.noMorePage = 1;
if (this.options.length < this.maxNumOptionsCheckboxList && !search)
if ( this.options.length < this.maxNumOptionsCheckboxList && !search )
this.noMorePage = 1;
if (this.filter.max_options && this.options.length >= this.filter.max_options) {
if ( ( this.filterTypeOptions && this.filterTypeOptions.use_max_options == true && this.filter.max_options ) && this.options.length >= this.filter.max_options ) {
let showViewAllButton = true;
if (this.options.length === this.filter.max_options){
if ( this.options.length === this.filter.max_options )
this.options[this.filter.max_options-1].showViewAllButton = showViewAllButton;
} else {
else
this.options[this.options.length-1].showViewAllButton = showViewAllButton;
}
}
},
prepareOptionsForRelationship(items, search, valuesToIgnore, isInCheckboxModal) {
@ -340,32 +339,31 @@ export const dynamicFilterTypeMixin = {
}
}
if (this.shouldAddOptions === true && this.searchResults && this.searchResults.length)
if ( this.shouldAddOptions === true && this.searchResults && this.searchResults.length )
this.searchResults = this.searchResults.concat(sResults);
else
this.searchResults = sResults;
if (opts) {
if ( opts ) {
if (this.shouldAddOptions === true && this.options && this.options.length)
this.options = this.options.concat(opts)
else
this.options = opts;
}
else if(!search)
else if ( !search )
this.noMorePage = 1;
if (this.options.length < this.maxNumOptionsCheckboxList)
if ( this.options.length < this.maxNumOptionsCheckboxList )
this.noMorePage = 1;
if (this.filter.max_options && this.options.length >= this.filter.max_options) {
if ( ( this.filterTypeOptions && this.filterTypeOptions.use_max_options == true && this.filter.max_options ) && this.options.length >= this.filter.max_options ) {
let showViewAllButton = true;
if(this.options.length === this.filter.max_options){
if ( this.options.length === this.filter.max_options )
this.options[this.filter.max_options-1].showViewAllButton = showViewAllButton;
} else {
else
this.options[this.options.length-1].showViewAllButton = showViewAllButton;
}
}
},
},

View File

@ -69,8 +69,8 @@ export const createRole = ({ commit }, role) => {
resolve(role);
})
.catch((error) => {
if (error.response)
reject(error.response.data);
if (error.error && error.error.response && error.error.response.data)
reject(error.error.response.data);
});
});
};
@ -86,8 +86,8 @@ export const updateRole = ({ commit }, role) => {
resolve(updatedRole);
})
.catch(error => {
if (error.response)
reject(error.response.data);
if (error.error && error.error.response && error.error.response.data)
reject(error.error.response.data);
});
});
};

View File

@ -1,5 +1,9 @@
.tainacan-cards-container {
.theme-items-list .tainacan-cards-container,
.items-list-area .tainacan-cards-container {
min-height: 50vh;
}
.tainacan-cards-container {
list-style: none;
padding: 0;
height: auto !important;
@include display-grid;

View File

@ -1,5 +1,9 @@
.tainacan-grid-container {
.theme-items-list .tainacan-grid-container,
.items-list-area .tainacan-grid-container {
min-height: 50vh;
}
.tainacan-grid-container {
list-style: none;
height: auto !important;
padding: 0;
@include display-grid;

View File

@ -1,5 +1,9 @@
.tainacan-list-container {
.theme-items-list .tainacan-list-container,
.items-list-area .tainacan-list-container {
min-height: 50vh;
}
.tainacan-list-container {
list-style: none;
padding: 0;
height: auto !important;
display: flex;

View File

@ -38,8 +38,8 @@
}
.geocoordinate-panel {
background: var(--tainacan-background-color);
box-shadow: 0px 0px 12px -10px var(--tainacan-black);
background: var(--tainacan-background-color, #fff);
box-shadow: 0px 0px 12px -10px var(--tainacan-black, #000);
border-radius: 3px;
padding: 0.25rem 0.125rem 0.25rem 1rem;
border: 2px solid rgba(0,0,0,0.2);
@ -50,7 +50,7 @@
&:hover,
&:focus {
opacity: 1.0;
box-shadow: 4px 0px 18px -12px var(--tainacan-black);
box-shadow: 4px 0px 18px -12px var(--tainacan-black, #000);
}
.geocoordinate-panel--input {

View File

@ -1,5 +1,18 @@
.theme-items-list,
.items-list-area {
.tainacan-masonry-container,
.tainacan-masonry-container--skeleton {
min-height: 50vh;
}
}
.table-wrapper {
@supports (contain: inline-size) {
container-type: inline-size;
container-name: tablewrapper;
}
}
.tainacan-masonry-container {
min-height: 50vh;
list-style: none;
margin-left: 25px;
padding: 0;
display: flex;
@ -15,26 +28,52 @@
&>li,
&>.tainacan-masonry-grid-sizer {
list-style-type: none;
width: calc(14.285% - 25px);
@media screen and (max-width: 2560px) {
width: calc(12.5% - 25px);
@container tablewrapper (max-width: 2380px) {
width: calc(14.285% - 25px);
}
@container tablewrapper (max-width: 1980px) {
width: calc(16.666% - 25px);
}
@media screen and (max-width: 1920px) {
@container tablewrapper (max-width: 1480px) {
width: calc(20% - 25px);
}
@media screen and (max-width: 1740px) {
@container tablewrapper (max-width: 1240px) {
width: calc(25% - 25px);
}
@media screen and (max-width: 1440px) {
@container tablewrapper (max-width: 940px) {
width: calc(33.333% - 25px);
}
@media screen and (max-width: 1024px) {
@container tablewrapper (max-width: 720px) {
width: calc(50% - 25px);
}
@media screen and (max-width: 620px) {
@container tablewrapper (max-width: 380px) {
width: calc(100% - 25px);
}
@supports not (contain: inline-size) {
width: calc(14.285% - 25px);
@media screen and (max-width: 2560px) {
width: calc(16.666% - 25px);
}
@media screen and (max-width: 1920px) {
width: calc(20% - 25px);
}
@media screen and (max-width: 1740px) {
width: calc(25% - 25px);
}
@media screen and (max-width: 1440px) {
width: calc(33.333% - 25px);
}
@media screen and (max-width: 1024px) {
width: calc(50% - 25px);
}
@media screen and (max-width: 620px) {
width: calc(100% - 25px);
}
}
}
}
&.tainacan-masonry-container--legacy {
@ -197,7 +236,6 @@
}
.tainacan-masonry-container--skeleton {
display: block;
min-height: 50vh;
padding-left: 25px;
padding-right: 25px;
column-gap: 25px;
@ -210,26 +248,52 @@
}
&:not(.tainacan-masonry-container--legacy) {
column-count: 7;
column-count: 8;
@media screen and (max-width: 2560px) {
@container tablewrapper (max-width: 2380px) {
column-count: 7;
}
@container tablewrapper (max-width: 1980px) {
column-count: 6;
}
@media screen and (max-width: 1920px) {
@container tablewrapper (max-width: 1480px) {
column-count: 5;
}
@media screen and (max-width: 1740px) {
@container tablewrapper (max-width: 1240px) {
column-count: 4;
}
@media screen and (max-width: 1440px) {
@container tablewrapper (max-width: 940px) {
column-count: 3;
}
@media screen and (max-width: 1024px) {
@container tablewrapper (max-width: 720px) {
column-count: 2;
}
@media screen and (max-width: 620px) {
@container tablewrapper (max-width: 380px) {
column-count: 1;
}
@supports not (contain: inline-size) {
column-count: 7;
@media screen and (max-width: 2560px) {
column-count: 6;
}
@media screen and (max-width: 1920px) {
column-count: 5;
}
@media screen and (max-width: 1740px) {
column-count: 4;
}
@media screen and (max-width: 1440px) {
column-count: 3;
}
@media screen and (max-width: 1024px) {
column-count: 2;
}
@media screen and (max-width: 620px) {
column-count: 1;
}
}
}
&.tainacan-masonry-container--legacy {
column-count: 7;

View File

@ -1,5 +1,19 @@
.theme-items-list,
.items-list-area {
.tainacan-records-container--skeleton,
.tainacan-records-container {
min-height: 50vh;
}
}
.table-wrapper {
@supports (contain: inline-size) {
container-type: inline-size;
container-name: tablewrapper;
}
}
.tainacan-records-container {
min-height: 50vh;
list-style: none;
margin-left: 30px;
padding: 0;
display: flex;
flex-wrap: wrap;
@ -11,20 +25,40 @@
&>li,
.tainacan-records-grid-sizer {
width: calc(20% - 30px);
width: calc(16.666% - 30px);
@media screen and (max-width: 2560px) {
@container tablewrapper (max-width: 2560px) {
width: calc(20% - 30px);
}
@container tablewrapper (max-width: 1920px) {
width: calc(25% - 30px);
}
@media screen and (max-width: 1920px) {
@container tablewrapper (max-width: 1320px) {
width: calc(33.333% - 30px);
}
@media screen and (max-width: 1360px) {
@container tablewrapper (max-width: 1000px) {
width: calc(50% - 30px);
}
@media screen and (max-width: 1024px) {
@container tablewrapper (max-width: 740px) {
width: 100%;
}
@supports not (contain: inline-size) {
width: calc(20% - 30px);
@media screen and (max-width: 2560px) {
width: calc(25% - 30px);
}
@media screen and (max-width: 1920px) {
width: calc(33.333% - 30px);
}
@media screen and (max-width: 1360px) {
width: calc(50% - 30px);
}
@media screen and (max-width: 1024px) {
width: 100%;
}
}
}
.tainacan-record {
background-color: rgba(126, 126, 126, 0.05);
@ -211,31 +245,51 @@
}
.tainacan-records-container--skeleton {
display: block;
min-height: 50vh;
padding-left: 30px;
padding-right: 30px;
column-gap: 30px;
height: auto !important;
column-count: 5;
.skeleton {
width: 100%;
margin-bottom: 30px;
break-inside: avoid;
}
column-count: 6;
@media screen and (max-width: 2560px) {
@container tablewrapper (max-width: 2560px) {
column-count: 5;
}
@container tablewrapper (max-width: 1920px) {
column-count: 4;
}
@media screen and (max-width: 1920px) {
@container tablewrapper (max-width: 1320px) {
column-count: 3;
}
@media screen and (max-width: 1360px) {
@container tablewrapper (max-width: 1000px) {
column-count: 2;
}
@media screen and (max-width: 1024px) {
@container tablewrapper (max-width: 740px) {
column-count: 1;
}
@supports not (contain: inline-size) {
column-count: 5;
@media screen and (max-width: 2560px) {
column-count: 4;
}
@media screen and (max-width: 1920px) {
column-count: 3;
}
@media screen and (max-width: 1360px) {
column-count: 2;
}
@media screen and (max-width: 1024px) {
column-count: 1;
}
}
}

View File

@ -22,7 +22,6 @@
@import "../scss/_switches.scss";
@import "../scss/_dropdown-and-autocomplete.scss";
@import "../scss/_tabs.scss";
@import "../scss/_tables.scss";
@import "../scss/_tooltips.scss";
@import "../scss/_pagination.scss";
@import "../scss/_modals.scss";

View File

@ -152,6 +152,14 @@
"imageSize": {
"type": "string",
"default": "tainacan-medium"
},
"tainacanViewMode": {
"type": "string",
"default": "masonry"
},
"displayedMetadata": {
"type": "array",
"default": []
}
},
"supports": {

View File

@ -1,6 +1,216 @@
const { useBlockProps } = (tainacan_blocks.wp_version < '5.2' ? wp.editor : wp.blockEditor );
export default [
/* Deprecated on version 0.21.3 for adding tainacan-view-modes layout option */
{
"attributes": {
"content": {
"type": "array",
"source": "children",
"selector": "div"
},
"collectionId": {
"type": "string",
"default": ""
},
"items": {
"type": "array",
"default": []
},
"showImage": {
"type": "boolean",
"default": true
},
"showName": {
"type": "boolean",
"default": true
},
"layout": {
"type": "string",
"default": "grid"
},
"isModalOpen": {
"type": "boolean",
"default": false
},
"gridMargin": {
"type": "number",
"default": 0
},
"searchURL": {
"type": "string",
"default": ""
},
"itemsRequestSource": {
"type": "string",
"default": ""
},
"maxItemsNumber": {
"type": "number",
"default": 12
},
"isLoading": {
"type": "boolean",
"default": false
},
"isLoadingCollection": {
"type": "boolean",
"default": false
},
"showSearchBar": {
"type": "boolean",
"default": false
},
"showCollectionHeader": {
"type": "boolean",
"default": false
},
"showCollectionLabel": {
"type": "boolean",
"default": false
},
"collection": {
"type": "object",
"default": {}
},
"searchString": {
"type": "string",
"default": ""
},
"selectedItems": {
"type": "array",
"default": []
},
"loadStrategy": {
"type": "string",
"default": "search"
},
"order": {
"type": "string",
"default": ""
},
"orderBy": {
"type": "string",
"default": "date"
},
"orderByMetaKey": {
"type": "string",
"default": ""
},
"blockId": {
"type": "string",
"default": ""
},
"collectionBackgroundColor": {
"type": "string",
"default": "#373839"
},
"collectionTextColor": {
"type": "string",
"default": "#ffffff"
},
"mosaicHeight": {
"type": "number",
"default": 280
},
"mosaicGridColumns": {
"type": "number",
"default": 3
},
"mosaicGridRows": {
"type": "number",
"default": 3
},
"sampleBackgroundImage": {
"type": "string",
"default": ""
},
"mosaicItemFocalPoint": {
"type": "object",
"default": {
"x": 0.5,
"y": 0.5
}
},
"mosaicDensity": {
"type": "number",
"default": 5
},
"maxColumnsCount": {
"type": "number",
"default": 4
},
"imageSize": {
"type": "string",
"default": "tainacan-medium"
}
},
save: function({ attributes }) {
const {
content,
blockId,
collectionId,
loadStrategy,
selectedItems,
showImage,
showName,
layout,
gridMargin,
searchURL,
maxItemsNumber,
order,
orderBy,
orderByMetaKey,
showSearchBar,
showCollectionHeader,
showCollectionLabel,
collectionBackgroundColor,
collectionTextColor,
mosaicHeight,
mosaicGridRows,
mosaicGridColumns,
mosaicItemFocalPoint,
mosaicDensity,
maxColumnsCount,
imageSize
} = attributes;
// Gets attributes such as style, that are automatically added by the editor hook
const blockProps = useBlockProps.save();
return <div
{ ...blockProps }
data-module="dynamic-items-list"
data-search-url={ searchURL }
data-selected-items={ JSON.stringify(selectedItems) }
data-collection-id={ collectionId }
data-show-image={ '' + showImage }
data-show-name={ '' + showName }
data-show-search-bar={ '' + showSearchBar }
data-show-collection-header={ '' + showCollectionHeader }
data-show-collection-label={ '' + showCollectionLabel }
data-image-size={ imageSize }
data-layout={ layout }
data-load-strategy={ loadStrategy }
data-mosaic-height={ mosaicHeight }
data-mosaic-density={ mosaicDensity }
data-mosaic-grid-rows={ mosaicGridRows }
data-mosaic-grid-columns={ mosaicGridColumns }
data-mosaic-item-focal-point-x={ (mosaicItemFocalPoint && mosaicItemFocalPoint.x ? mosaicItemFocalPoint.x : 0.5) }
data-mosaic-item-focal-point-y={ (mosaicItemFocalPoint && mosaicItemFocalPoint.y ? mosaicItemFocalPoint.y : 0.5) }
data-max-columns-count={ maxColumnsCount }
data-collection-background-color={ collectionBackgroundColor }
data-collection-text-color={ collectionTextColor }
data-grid-margin={ gridMargin }
data-max-items-number={ maxItemsNumber }
data-order={ order !== undefined ? order : '' }
data-order-by={ orderBy !== undefined ? orderBy : 'date' }
data-order-by-meta-key={ orderByMetaKey !== undefined ? orderByMetaKey : '' }
data-tainacan-api-root={ tainacan_blocks.root }
id={ 'wp-block-tainacan-dynamic-items-list_' + blockId }>
{ content }
</div>
}
},
/* Deprecated during Vue 3 migration to prepend attributes with data- */
{
"attributes": {

View File

@ -1,6 +1,8 @@
const { __ } = wp.i18n;
const { __, sprintf } = wp.i18n;
const { ResizableBox, FocalPointPicker, SelectControl, RangeControl, Spinner, Button, ToggleControl, Placeholder, ColorPalette, BaseControl, PanelBody } = wp.components;
const { Icon, ToolbarDropdownMenu, ResizableBox, FocalPointPicker, SelectControl, RangeControl, Spinner, Button, ToggleControl, Placeholder, ColorPalette, BaseControl, PanelBody } = wp.components;
const { createInterpolateElement } = wp.element;
const { InspectorControls, BlockControls, useBlockProps, store } = wp.blockEditor;
@ -49,7 +51,8 @@ export default function({ attributes, setAttributes, isSelected, clientId }) {
sampleBackgroundImage,
mosaicDensity,
maxColumnsCount,
imageSize
imageSize,
tainacanViewMode
} = attributes;
// Gets blocks props from hook
@ -131,18 +134,20 @@ export default function({ attributes, setAttributes, isSelected, clientId }) {
>
{ loadStrategy == 'selection' ?
<Button
tabindex="-1"
onClick={ () => removeItemOfId(item.id) }
icon={ () => (
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" focusable="false"><path d="M12 13.06l3.712 3.713 1.061-1.06L13.061 12l3.712-3.712-1.06-1.06L12 10.938 8.288 7.227l-1.061 1.06L10.939 12l-3.712 3.712 1.06 1.061L12 13.061z"></path></svg>
) }
label={__('Remove', 'tainacan')}/>
:null
label={__('Remove', 'tainacan')}
title={__('Remove', 'tainacan')} />
: null
}
<a
id={ isNaN(item.id) ? item.id : 'item-id-' + item.id }
href={ item.url }
onClick={ (event) => event.preventDefault() }
className={ (!showName ? 'item-without-title' : '') + ' ' + (!showImage ? 'item-without-image' : '') }>
id={ isNaN(item.id) ? item.id : 'item-id-' + item.id }
href={ item.url }
onClick={ (event) => event.preventDefault() }
className={ (!showName ? 'item-without-title' : '') + ' ' + (!showImage ? 'item-without-image' : '') }>
<img
src={ thumbHelper.getSrc(item['thumbnail'], imageSize, item['document_mimetype']) }
srcSet={ thumbHelper.getSrcSet(item['thumbnail'], imageSize, item['document_mimetype']) }
@ -546,7 +551,27 @@ export default function({ attributes, setAttributes, isSelected, clientId }) {
{ items.length ?
<BlockControls>
{ TainacanBlocksCompatToolbar({ controls: layoutControls }) }
{ TainacanBlocksCompatToolbar({
controls: layoutControls,
extraComponents: <ToolbarDropdownMenu
icon={ () => <Icon icon="plus" /> }
label={ __('Tainacan View Modes', 'tainacan') }
controls={
Object.entries(tainacan_blocks.registered_view_modes)
.filter((aViewMode) => !aViewMode[1].full_screen)
.map((aViewMode) => {
return {
title: aViewMode[1].label,
isActive: layout === 'tainacan-view-modes' && tainacanViewMode === aViewMode[0],
onClick: () => {
setAttributes({ tainacanViewMode: aViewMode[0] })
updateLayout('tainacan-view-modes');
}
}
})
}
/>
}) }
{ loadStrategy != 'parent' ?
(
loadStrategy == 'selection' ?
@ -661,6 +686,7 @@ export default function({ attributes, setAttributes, isSelected, clientId }) {
<PanelBody
title={__('Items', 'tainacan')}
initialOpen={ true }
className="wp-block-tainacan-dynamic-items-list-inspector"
>
{ loadStrategy == 'search' ?
<div>
@ -748,16 +774,35 @@ export default function({ attributes, setAttributes, isSelected, clientId }) {
/>
</div>
: null }
<SelectControl
label={__('Image size', 'tainacan')}
value={ imageSize }
options={ imageSizeOptions }
onChange={ ( anImageSize ) => {
imageSize = anImageSize;
setAttributes({ imageSize: imageSize });
setContent();
}}
/>
{ layout != 'tainacan-view-modes' ?
<SelectControl
label={__('Image size', 'tainacan')}
value={ imageSize }
options={ imageSizeOptions }
onChange={ ( anImageSize ) => {
imageSize = anImageSize;
setAttributes({ imageSize: imageSize });
setContent();
}}
/>
: null }
{ layout == 'tainacan-view-modes' ?
<>
{ createInterpolateElement(
__( 'When using Tainacan View Modes, other metadata than title may be rendered. To define which metadata appear by default, go to your <a>collection metadata settings</a> and tweak the "Display on listing" option.', 'tainacan' ),
{
a : <a href={ tainacan_blocks.admin_url + '?page=tainacan_admin#/collections/' + collectionId + '/metadata' } />
}
) }
<BaseControl
label={ __( 'Items that will be displayed', 'tainacan' ) }
className={ 'items-layout-tainacan-view-modes-preview-area' }>
<ul className="items-list-edit items-layout-list items-layout-tainacan-view-modes">
{ items }
</ul>
</BaseControl>
</>
: null }
</div>
</PanelBody>
{ layout == 'mosaic' ?
@ -1018,7 +1063,7 @@ export default function({ attributes, setAttributes, isSelected, clientId }) {
</div>
: null
}
{ !items.length && !isLoading ? (
<Placeholder
className="tainacan-block-placeholder"
@ -1066,7 +1111,14 @@ export default function({ attributes, setAttributes, isSelected, clientId }) {
<Spinner />
</div> :
<div>
{ layout !== 'mosaic' ? (
{ layout === 'tainacan-view-modes' ? (
<>
<div className="preview-warning">{__('Warning: this is just a demonstration. Tainacan view modes can only be rendered outside the editor, so either preview or publish your post.', 'tainacan') }</div>
<div className="items-list-edit items-layout-tainacan-view-modes" dangerouslySetInnerHTML={{ __html: tainacan_blocks.registered_view_modes[tainacanViewMode] && tainacan_blocks.registered_view_modes[tainacanViewMode].placeholder_template ? (tainacan_blocks.registered_view_modes[tainacanViewMode].placeholder_template) : null }} />
</>
) : null }
{ layout !== 'mosaic' && layout !== 'tainacan-view-modes' ? (
<ul
style={{
gridGap: layout == 'grid' ? ((showName ? gridMargin + 24 : gridMargin) + 'px') : 'inherit',
@ -1076,7 +1128,9 @@ export default function({ attributes, setAttributes, isSelected, clientId }) {
className={'items-list-edit items-layout-' + layout + (!showName ? ' items-list-without-margin' : '') + (maxColumnsCount ? ' max-columns-count-' + maxColumnsCount : '') }>
{ items }
</ul>
) :
) : null }
{ layout === 'mosaic' ?
<ResizableBox
size={ {
height: mosaicHeight ? Number(mosaicHeight) + (3 * gridMargin) : 280 + (3 * gridMargin),
@ -1113,7 +1167,8 @@ export default function({ attributes, setAttributes, isSelected, clientId }) {
{ items }
</ul>
</ResizableBox>
}
: null }
</div>
}
</div>

View File

@ -27,7 +27,9 @@ export default function({ attributes }) {
mosaicItemFocalPoint,
mosaicDensity,
maxColumnsCount,
imageSize
imageSize,
tainacanViewMode,
displayedMetadata
} = attributes;
// Gets attributes such as style, that are automatically added by the editor hook
@ -60,6 +62,7 @@ export default function({ attributes }) {
data-order={ order !== undefined ? order : '' }
data-order-by={ orderBy !== undefined ? orderBy : 'date' }
data-order-by-meta-key={ orderByMetaKey !== undefined ? orderByMetaKey : '' }
data-tainacan-view-mode={ tainacanViewMode }
data-tainacan-api-root={ tainacan_blocks.root }
id={ 'wp-block-tainacan-dynamic-items-list_' + blockId }>
{ content }

View File

@ -55,6 +55,16 @@
animation: skeleton-animation 1.8s ease infinite;
}
.preview-warning {
width: 100%;
font-size: 0.875rem;
font-style: italic;
color: inherit;
text-align: center;
margin: 0 auto;
padding: 8px 2px 2px 2px;
}
// Collection header
.dynamic-items-collection-header {
display: flex;
@ -233,6 +243,14 @@
}
}
}
}
.wp-block-tainacan-dynamic-items-list,
.wp-block-tainacan-dynamic-items-list-inspector {
.items-layout-tainacan-view-modes-preview-area {
margin-top: 20px;
}
// Style for both grid and list View Modes ----------------------------------------------------
ul.items-list-edit li.item-list-item {
@ -271,6 +289,10 @@
background-color: rgba(255, 255, 255, 1) !important;
border: 1px solid var(--tainacan-block-gray3, $gray3) !important;
}
a {
pointer-events: none;
}
}
// Grid View Mode ----------------------------------------------------
@ -443,7 +465,10 @@
}
}
}
}
.wp-block-tainacan-dynamic-items-list,
.wp-block-tainacan-dynamic-items-list-inspector {
// List View Mode ----------------------------------------------------
ul.items-list.items-layout-list,
ul.items-list-edit.items-layout-list {
@ -547,7 +572,8 @@
}
}
}
.wp-block-tainacan-dynamic-items-list {
// Mosaic View Mode ----------------------------------------------------
ul.items-list.items-layout-mosaic,
ul.items-list-edit.items-layout-mosaic {
@ -1144,6 +1170,54 @@
}
}
}
.wp-block-tainacan-dynamic-items-list,
.wp-block-tainacan-dynamic-items-list-inspector {
// Tainacan View Modes preview on the editor -----------------
.items-list-edit.items-layout-tainacan-view-modes {
margin: 6px 0 !important;
ul {
padding-left: 0 !important;
}
li.item-list-item {
padding: 0 !important;
position: relative;
box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 0px 1px;
outline: none;
border-radius: calc(1px);
}
}
// Rules for Tainacan View Modes are similar to those applied
// for .theme-items-list in /blocks/faceted-search/theme.vue
.items-list.items-layout-tainacan-view-modes {
width: 100%;
h1,
h2,
h3,
h4,
h5,
h6 {
margin: 0;
}
ul {
list-style: none;
}
.loading-overlay {
min-height: auto !important;
}
canvas.child {
max-width: 100%;
}
}
div + .items-list.items-layout-tainacan-view-modes {
margin-top: 1.5rem;
}
}
.block-editor-block-list__block:not(.has-text-color)>.wp-block-tainacan-dynamic-items-list {
li.item-list-item {
a>span,

View File

@ -1,8 +1,11 @@
import { createApp, h } from 'vue';
import { createApp, h, defineAsyncComponent } from 'vue';
import DynamicItemsListTheme from './theme.vue';
import { ThumbnailHelperPlugin } from '../../../admin/js/utilities.js';
import { I18NPlugin } from '../../../admin/js/admin-utilities';
import VueBlurHash from 'another-vue3-blurhash';
import VTooltip from 'floating-vue';
import getDataAttribute from '../../js/compatibility/tainacan-blocks-compat-data-attributes.js';
export default (element) => {
@ -20,9 +23,31 @@ export default (element) => {
// Creates a new Vue Instance to manage each block isolatelly
blocks.forEach((block) => {
// View Modes Logic
let registeredViewModes =
( tainacan_blocks && tainacan_blocks.registered_view_modes && tainacan_blocks.registered_view_modes.length ) ?
tainacan_blocks.registered_view_modes :
[ 'table', 'cards', 'records', 'masonry', 'list', 'map' ];
// At first, we consider that all registered view modes are included.
let possibleViewModes = registeredViewModes.filter((aViewMode) => aViewMode === 'slideshow');
if ( getDataAttribute(block, 'enabled-view-modes') != undefined )
possibleViewModes = getDataAttribute(block, 'enabled-view-modes').split(',');
// View Mode settings
let possibleDefaultViewMode = 'masonry';
if ( getDataAttribute(block, 'tainacan-view-mode') != undefined )
possibleDefaultViewMode = getDataAttribute(block, 'tainacan-view-mode');
if ( possibleViewModes.indexOf(possibleDefaultViewMode) < 0 )
possibleViewModes.push(possibleDefaultViewMode);
// Configure Vue logic before passing it to constructor:
const VueDynamicItemsList = createApp( {
mounted() {
block.classList.add('has-mounted');
},
render() {
return h(DynamicItemsListTheme, {
searchURL: getDataAttribute(block, 'search-url'),
@ -50,14 +75,40 @@ export default (element) => {
showCollectionLabel: getDataAttribute(block, 'show-collection-label', 'false') == 'true',
collectionBackgroundColor: getDataAttribute(block, 'collection-background-color'),
collectionTextColor: getDataAttribute(block, 'collection-text-color'),
tainacanApiRoot: getDataAttribute(block, 'tainacan-api-root')
tainacanApiRoot: getDataAttribute(block, 'tainacan-api-root'),
tainacanViewMode: possibleDefaultViewMode,
enabledViewModes: possibleViewModes,
displayedMetadata: JSON.parse(getDataAttribute(block, 'displayed-metadata', '[]')),
blockId: block.id
});
},
mounted() {
block.classList.add('has-mounted');
}
});
// Logic for dynamic importing Tainacan oficial view modes only if they are necessary
possibleViewModes.forEach(viewModeSlug => {
if ( registeredViewModes.indexOf(viewModeSlug) >= 0 )
VueDynamicItemsList.component('view-mode-' + viewModeSlug, defineAsyncComponent(() => import('../faceted-search/theme-search/components/view-mode-' + viewModeSlug + '.vue')));
});
/* Registers Extra Vue Components passed to the window.tainacan_extra_components */
if (typeof window.tainacan_extra_components != "undefined") {
for (let [extraVueComponentName, extraVueComponentObject] of Object.entries(window.tainacan_extra_components)) {
VueDynamicItemsList.component(extraVueComponentName, extraVueComponentObject);
}
}
VueDynamicItemsList.use(VTooltip, {
popperTriggers: ['hover'],
themes: {
'tainacan-tooltip': {
'$extend': 'tooltip',
triggers: ['hover', 'focus', 'touch'],
autoHide: true,
html: true,
}
}
});
VueDynamicItemsList.use(I18NPlugin);
VueDynamicItemsList.use(ThumbnailHelperPlugin);
VueDynamicItemsList.use(VueBlurHash);

View File

@ -145,7 +145,7 @@
</span>
</button>
</div>
<template v-if="isLoading">
<template v-if="isLoading && layout !== 'tainacan-view-modes'">
<ul
v-if="layout !== 'mosaic'"
:style="{
@ -184,9 +184,9 @@
class="mosaic-container skeleton" />
</ul>
</template>
<div v-else>
<template v-else>
<ul
v-if="items.length > 0 && layout !== 'mosaic'"
v-if="items.length > 0 && layout !== 'mosaic' && layout !== 'tainacan-view-modes'"
:style="{
gridGap: layout == 'grid' ? ((showName ? gridMargin + 24 : gridMargin) + 'px') : 'inherit',
marginTop: (showSearchBar || showCollectionHeader) ? ((showName ? gridMargin + 24 : gridMargin) + 'px') : '0px'
@ -261,12 +261,31 @@
</li>
</div>
</ul>
<div
v-if="layout === 'tainacan-view-modes'"
class="items-list items-layout-tainacan-view-modes">
<div
v-if="(!isLoading && !isLoadingMetadata ) && registeredViewModes !== undefined && registeredViewModes[tainacanViewMode] != undefined && registeredViewModes[tainacanViewMode].type == 'template'"
v-html="itemsListTemplate" />
<component
:is="registeredViewModes[tainacanViewMode] != undefined ? registeredViewModes[tainacanViewMode].component : ''"
v-if="registeredViewModes !== undefined && registeredViewModes[tainacanViewMode] != undefined && registeredViewModes[tainacanViewMode].type == 'component'"
:container-id="blockId"
:collection-id="collectionId"
:displayed-metadata="displayedMetadataObjects"
:should-hide-items-thumbnail="false"
:items="items"
:is-filters-menu-compressed="true"
:total-items="items.length"
:is-loading="isLoadingMetadata || isLoading"
:enabled-view-modes="enabledViewModes" />
</div>
<div
v-else-if="!isLoading && items.length <= 0"
class="spinner-container">
{{ wpI18n(errorMessage, 'tainacan') }}
</div>
</div>
</template>
</template>
<script>
@ -277,6 +296,7 @@ import debounce from 'lodash/debounce.js';
export default {
name: "DynamicItemsListTheme",
props: {
blockId: String,
collectionId: [String, Number],
showImage: Boolean,
showName: Boolean,
@ -302,7 +322,10 @@ export default {
showCollectionLabel: Boolean,
collectionBackgroundColor: String,
collectionTextColor: String,
tainacanApiRoot: String
tainacanApiRoot: String,
enabledViewModes: Array,
tainacanViewMode: String,
displayedMetadata: Array
},
data() {
return {
@ -318,7 +341,11 @@ export default {
paged: undefined,
totalItems: 0,
apiRoot: '',
errorMessage: 'No items found.'
errorMessage: 'No items found.',
displayedMetadataObjects: [],
isLoadingMetadata: false,
itemsListTemplate: '',
registeredViewModes: tainacan_blocks.registered_view_modes,
}
},
created() {
@ -335,7 +362,10 @@ export default {
if (this.showCollectionHeader)
this.fetchCollectionForHeader();
this.fetchItems();
if (this.layout == 'tainacan-view-modes' && this.registeredViewModes !== undefined && this.registeredViewModes[this.tainacanViewMode] != undefined && this.registeredViewModes[this.tainacanViewMode]['dynamic_metadata'] == true)
this.fetchMetadata();
else
this.fetchItems();
},
methods: {
wpI18n(string, context) {
@ -373,8 +403,24 @@ export default {
} else if (this.loadStrategy == 'selection') {
this.localMaxItemsNumber = this.selectedItems.length;
let endpoint = '/collection/' + this.collectionId + '/items?' + qs.stringify({ postin: this.selectedItems, perpage: this.localMaxItemsNumber }) + '&orderby=post__in&fetch_only=title,url,thumbnail';
let endpoint = '/collection/' + this.collectionId + '/items?' + qs.stringify({ postin: this.selectedItems, perpage: this.localMaxItemsNumber }) + '&orderby=post__in';
if (
this.layout == 'tainacan-view-modes' &&
this.registeredViewModes !== undefined &&
this.registeredViewModes[this.tainacanViewMode] != undefined
) {
endpoint += '&view_mode=' + this.tainacanViewMode;
if ( this.displayedMetadataObjects.length > 0 )
endpoint += '&fetch_only=title,url,thumbnail&fetch_only_meta=' + this.displayedMetadataObjects.map((aMetadatum) => aMetadatum.id).join(',');
else
endpoint += '&fetch_only=title,description,url,thumbnail';
} else {
endpoint += '&fetch_only=title,url,thumbnail';
}
this.tainacanAxios.get(endpoint, { cancelToken: this.itemsRequestSource.token })
.then(response => {
@ -382,6 +428,9 @@ export default {
for (let item of response.data.items)
this.items.push(item);
if ( response.data.template )
this.itemsListTemplate = response.data.template;
this.isLoading = false;
this.totalItems = response.headers['x-wp-total'];
@ -445,7 +494,23 @@ export default {
delete queryObject.admin_view_mode;
delete queryObject.fetch_only_meta;
endpoint = endpoint.split('?')[0] + '?' + qs.stringify(queryObject) + '&fetch_only=title,url,thumbnail';
endpoint = endpoint.split('?')[0] + '?' + qs.stringify(queryObject);
if (
this.layout == 'tainacan-view-modes' &&
this.registeredViewModes !== undefined &&
this.registeredViewModes[this.tainacanViewMode] != undefined
) {
endpoint += '&view_mode=' + this.tainacanViewMode;
if ( this.displayedMetadataObjects.length > 0 )
endpoint += '&fetch_only=title,url,thumbnail&fetch_only_meta=' + this.displayedMetadataObjects.map((aMetadatum) => aMetadatum.id).join(',');
else
endpoint += '&fetch_only=title,description,url,thumbnail';
} else {
endpoint += '&fetch_only=title,url,thumbnail';
}
this.tainacanAxios.get(endpoint, { cancelToken: this.itemsRequestSource.token })
.then(response => {
@ -453,6 +518,9 @@ export default {
for (let item of response.data.items)
this.items.push(item);
if ( response.data.template )
this.itemsListTemplate = response.data.template;
this.isLoading = false;
this.totalItems = response.headers['x-wp-total'];
@ -475,6 +543,30 @@ export default {
});
}
},
fetchMetadata() {
let metadataEndpoint = '/collection/' + this.collectionId + '/metadata/?nopaging=1';
if ( this.displayedMetadata != undefined && this.displayedMetadata.length > 0 )
metadataEndpoint += '&' + qs.stringify({ postin: this.displayedMetadata });
else
metadataEndpoint += '&metakey=display&metavalue=yes';
this.isLoadingMetadata = true;
this.tainacanAxios.get(metadataEndpoint)
.then(response => {
this.displayedMetadataObjects = response.data;
this.displayedMetadataObjects.unshift({
name: this.wpI18n('Thumbnail', 'tainacan'),
metadatum: 'row_thumbnail',
metadata_type: undefined,
slug: 'thumbnail',
id: undefined,
display: true
});
this.fetchItems();
this.isLoadingMetadata = false;
});
},
mosaicPartition(items) {
const partition = _.groupBy(items, (item, i) => {
if (i % 2 == 0)
@ -492,4 +584,83 @@ export default {
@import './style.scss';
@import '../../../admin/scss/_variables';
@import '../../../admin/scss/_custom_variables';
// Tooltips
@import url('floating-vue/dist/style.css');
@import '../../../admin/scss/_tooltips.scss';
// Vue Blurhash transtition effect
@import '../../../../../node_modules/another-vue3-blurhash/dist/style.css';
.metadata-value {
.tainacan-compound-group {
margin-left: 2px;
padding-left: 0.875em;
border-left: 1px solid var(--tainacan-gray3);
.tainacan-compound-metadatum .label {
margin-bottom: 0.25em;
font-size: 1em !important;
color: var(--tainacan-info-color);
}
.tainacan-compound-metadatum p {
margin-bottom: 0.75em;
font-size: 1em;
}
.tainacan-metadatum .label {
font-size: 1em;
}
.multivalue-separator {
display: block;
max-height: 1px;
width: 80px;
background: var(--tainacan-gray3);
content: none;
color: transparent;
margin: 1em auto 1em -0.875em;
}
}
.tainacan-relationship-group {
.tainacan-relationship-metadatum {
.tainacan-relationship-metadatum-header {
display: flex;
align-items: center;
img {
margin-right: 12px;
max-width: 22px;
max-height: 22px;
}
.label {
font-weight: normal;
font-size: 1em !important;
margin-top: 0;
margin-left: 0;
margin-bottom: 0;
margin-right: 0;
}
}
.tainacan-metadatum {
margin-left: 40px;
.label {
color: var(--tainacan-gray4);
font-size: 1em !important;
line-height: 1em;
margin-top: 8px;
margin-bottom: 2px;
}
}
}
&>.multivalue-separator {
display: block;
max-height: 1px;
width: calc(100% - 40px);
background: var(--tainacan-gray2);
content: none;
color: transparent;
margin: 0.5em 0 0.5em 40px;
}
}
}
</style>

View File

@ -160,20 +160,26 @@
v-if="Object.keys(geocoordinateMetadata).length"
class="geocoordinate-panel--input">
<label>{{ $i18n.get('label_showing_locations_for') }}&nbsp;</label>
<b-select
<div
id="tainacan-select-geocoordinate-metatum"
v-model="selectedGeocoordinateMetadatumId"
:placeholder="$i18n.get('instruction_select_geocoordinate_metadatum')">
<option
v-for="(geocoordinateMetadatum, geocoordinateMetadatumId) in geocoordinateMetadata"
:key="geocoordinateMetadatum.id"
role="button"
:class="{ 'is-active': selectedGeocoordinateMetadatumId == geocoordinateMetadatumId }"
:value="geocoordinateMetadatumId"
@click="onChangeSelectedGeocoordinateMetadatum(geocoordinateMetadatumId)">
{{ geocoordinateMetadatum.name }}
</option>
</b-select>
class="control">
<!-- Not using B-Select here to avoid importing Bulme on view modes inside Gutenberg blocks -->
<span class="select">
<select
v-model="selectedGeocoordinateMetadatumId"
:placeholder="$i18n.get('instruction_select_geocoordinate_metadatum')">
<option
v-for="(geocoordinateMetadatum, geocoordinateMetadatumId) in geocoordinateMetadata"
:key="geocoordinateMetadatum.id"
role="button"
:class="{ 'is-active': selectedGeocoordinateMetadatumId == geocoordinateMetadatumId }"
:value="geocoordinateMetadatumId"
@click="onChangeSelectedGeocoordinateMetadatum(geocoordinateMetadatumId)">
{{ geocoordinateMetadatum.name }}
</option>
</select>
</span>
</div>
</div>
<section
v-else
@ -537,6 +543,7 @@ export default {
const geocoordinateMetadataIds = Object.keys(this.geocoordinateMetadata);
if (
!geocoordinateMetadataIds.length ||
!this.$userPrefs ||
!this.$userPrefs.get(prefsGeocoordinateMetadatum) ||
!this.geocoordinateMetadata[this.$userPrefs.get(prefsGeocoordinateMetadatum)]
)
@ -552,7 +559,8 @@ export default {
onChangeSelectedGeocoordinateMetadatum(id) {
// Setting default geocoordinate metadatum for map view mode
const prefsGeocoordinateMetadatum = !this.isRepositoryLevel ? 'map_view_mode_selected_geocoordinate_metadatum_' + this.collectionId : 'map_view_mode_selected_geocoordinate_metadatum';
this.$userPrefs.set(prefsGeocoordinateMetadatum, id);
if ( this.$userPrefs )
this.$userPrefs.set(prefsGeocoordinateMetadatum, id);
},
onMapReady() {
if ( LeafletActiveArea && this.$refs['tainacan-view-mode-map'] && this.$refs['tainacan-view-mode-map'].leafletObject )
@ -618,10 +626,58 @@ export default {
@import "../../../../../admin/scss/_view-mode-records.scss";
@import "../../../../../admin/scss/_view-mode-map.scss";
@import "../../../../../admin/scss/_selects.scss";
.tainacan-records-container--map .tainacan-record .metadata-title {
padding: 0.6em 0.875em;
}
.tainacan-records-close-button .icon {
align-items: center;
display: inline-flex;
justify-content: center;
height: 1.5rem;
width: 1.5rem;
}
#tainacan-select-geocoordinate-metatum select {
-moz-appearance: none;
-webkit-appearance: none;
align-items: center;
border: 1px solid transparent;
border-radius: 4px;
box-shadow: none;
}
#tainacan-select-geocoordinate-metatum .select:not(.is-loading)::after {
border: 3px solid transparent;
border-radius: 2px;
border-right: 0;
border-top: 0;
content: " ";
display: block;
height: 0.625em;
margin-top: -0.4375em;
pointer-events: none;
position: absolute;
top: 50%;
transform: rotate(-45deg);
transform-origin: center;
width: 0.625em;
content: "arrowdown" !important;
font: normal normal normal 20px/1 "TainacanIcons";
font-size: 20px;
line-height: 1;
border: none !important;
transform: none !important;
right: 10px !important;
color: var(--tainacan-secondary) !important;
display: flex !important;
align-items: center;
justify-content: center;
margin-top: -0.275em !important;
text-transform: none !important;
letter-spacing: normal !important;
font-size: 1.2em;
line-height: 1.5em;
}
</style>

View File

@ -113,11 +113,11 @@ export default {
if (this.masonry !== false)
this.masonry.destroy();
this.masonry = new Masonry( '.tainacan-masonry-container', {
this.masonry = new Masonry( this.containerId ? ( '#' + this.containerId + ' .tainacan-masonry-container' ) : '.tainacan-masonry-container', {
itemSelector: 'li',
columnWidth: '.tainacan-masonry-grid-sizer',
gutter: 25,
percentPosition: true
percentPosition: true,
});
});
}

View File

@ -166,7 +166,7 @@ export default {
if (this.masonry !== false)
this.masonry.destroy();
this.masonry = new Masonry( '.tainacan-records-container', {
this.masonry = new Masonry( this.containerId ? ( '#' + this.containerId + ' .tainacan-records-container' ) : '.tainacan-records-container', {
itemSelector: 'li',
columnWidth: '.tainacan-records-grid-sizer',
gutter: 30,

View File

@ -255,6 +255,9 @@ export default {
</script>
<style lang="scss" scoped>
@import '../../../../../admin/scss/_variables.scss';
@import '../../../../../admin/scss/_tables.scss';
tr .actions-cell {
opacity: 0;
@ -269,5 +272,78 @@ export default {
transform: scale(1.0);
}
}
.tainacan-table {
.tainacan-relationship-group {
.tainacan-relationship-metadatum {
display: inline-block;
.tainacan-relationship-metadatum-header {
img {
display: none;
}
.label {
font-weight: normal;
font-size: 1em !important;
margin-top: 0;
margin-left: 0;
margin-bottom: 0;
margin-right: 0;
padding: 0;
}
}
.tainacan-metadatum {
display: none;
}
}
&>.multivalue-separator {
display: inline-block;
max-height: 100%;
width: 1px;
background: var(--tainacan-gray2);
content: none;
color: transparent;
margin: 0 6px;
}
}
.column-large-width {
.tainacan-compound-group {
display: inline-block;
font-size: 1.125em;
margin-top: -0.25em;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
max-width: 100%;
& * {
display: inline-block;
}
.label {
font-size: 1em !important;
padding: 0;
color: var(--tainacan-info-color);
&:not(:first-child)::before {
content: ', ';
font-size: 1em;
font-weight: normal;
color: var(--tainacan-info-color);
display: inline-block;
margin-right: 0.35em;
margin-left: -0.15em;
}
&::after {
content: ': ';
font-size: 1em;
color: var(--tainacan-info-color);
display: inline-block;
margin-right: 0.15em;
}
}
p {
font-size: 1em !important;
line-height: 1.65em !important;
}
}
}
}
</style>

View File

@ -19,11 +19,12 @@ export const viewModesMixin = {
isLoading: false,
totalItems: Number,
isFiltersMenuCompressed: Boolean,
enabledViewModes: Array
enabledViewModes: Array,
containerId: String
},
computed: {
queries() {
let currentQueries = JSON.parse(JSON.stringify(this.$route.query));
let currentQueries = (this.$route && this.$route.query) ? JSON.parse(JSON.stringify(this.$route.query)) : {};
if (currentQueries) {
delete currentQueries['view_mode'];
delete currentQueries['fetch_only'];
@ -81,7 +82,8 @@ export const viewModesMixin = {
// Inserts information necessary for item by item navigation on single pages
this.queries['pos'] = ((this.queries['paged'] - 1) * this.queries['perpage']) + index;
this.queries['source_list'] = this.termId ? 'term' : (!this.collectionId || this.collectionId == 'default' ? 'repository' : 'collection');
this.queries['ref'] = this.$route.path;
if ( this.$route && this.$route.path )
this.queries['ref'] = this.$route.path;
return itemUrl + '?' + qs.stringify(this.queries);
}
return itemUrl;
@ -122,10 +124,11 @@ export const viewModesMixin = {
return metadata.value_as_html;
},
starSlideshowFromHere(index) {
this.$router.replace({ query: {...this.$route.query, ...{'slideshow-from': index } }}).catch((error) => this.$console.log(error));
if ( this.$router && this.$route && this.$route.query )
this.$router.replace({ query: {...this.$route.query, ...{'slideshow-from': index } }}).catch((error) => this.$console.log(error));
},
getPosInSet(index) {
if (Number(this.queries.paged) !== NaN && Number(this.queries.perpage) !== NaN)
if ( !isNaN(Number(this.queries.paged)) && !isNaN(Number(this.queries.perpage)) )
return ((Number(this.queries.paged) - 1) * Number(this.queries.perpage)) + index + 1;
}
}

View File

@ -143,7 +143,7 @@ export default (element) => {
/* Registers Extra Vue Plugins passed to the window.tainacan_extra_plugins */
if (typeof window.tainacan_extra_plugins != "undefined") {
for (let [extraVuePluginName, extraVuePluginObject] of Object.entries(window.tainacan_extra_plugins)) {
VueItemsList.component(extraVuePluginName, extraVuePluginObject);
VueItemsList.use(extraVuePluginName, extraVuePluginObject);
}
}
@ -172,7 +172,7 @@ export default (element) => {
VueItemsList.use(VTooltip, {
popperTriggers: ['hover'],
themes: {
'taianacan-tooltip': {
'tainacan-tooltip': {
'$extend': 'tooltip',
triggers: ['hover', 'focus', 'touch'],
autoHide: true,

View File

@ -1648,7 +1648,6 @@
}
// Tainacan imports
@import "../../../admin/scss/_tables.scss";
@import "../../../admin/scss/_modals.scss";
@import "../../../admin/scss/_buttons.scss";
@import "../../../admin/scss/_inputs.scss";
@ -1758,79 +1757,6 @@
}
}
.tainacan-table {
.tainacan-relationship-group {
.tainacan-relationship-metadatum {
display: inline-block;
.tainacan-relationship-metadatum-header {
img {
display: none;
}
.label {
font-weight: normal;
font-size: 1em !important;
margin-top: 0;
margin-left: 0;
margin-bottom: 0;
margin-right: 0;
padding: 0;
}
}
.tainacan-metadatum {
display: none;
}
}
&>.multivalue-separator {
display: inline-block;
max-height: 100%;
width: 1px;
background: var(--tainacan-gray2);
content: none;
color: transparent;
margin: 0 6px;
}
}
}
.column-large-width {
.tainacan-compound-group {
display: inline-block;
font-size: 1.125em;
margin-top: -0.25em;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
max-width: 100%;
& * {
display: inline-block;
}
.label {
font-size: 1em !important;
padding: 0;
color: var(--tainacan-info-color);
&:not(:first-child)::before {
content: ', ';
font-size: 1em;
font-weight: normal;
color: var(--tainacan-info-color);
display: inline-block;
margin-right: 0.35em;
margin-left: -0.15em;
}
&::after {
content: ': ';
font-size: 1em;
color: var(--tainacan-info-color);
display: inline-block;
margin-right: 0.15em;
}
}
p {
font-size: 1em !important;
line-height: 1.65em !important;
}
}
}
.metadata-value {
.tainacan-compound-group {
margin-left: 2px;

View File

@ -110,6 +110,14 @@
"templateMode": {
"type": "boolean",
"default": false
},
"thumbnailsSize": {
"type": "string",
"default": "tainacan-medium"
},
"thumbsHaveFixedHeight": {
"type": "boolean",
"default": false
}
},
"supports": {

View File

@ -1,4 +1,112 @@
export default [
// Deprecated in version 0.20.4 to add thumbnailsSize option
{
"attributes": {
"blockId": {
"type": "string",
"default": ""
},
"collectionId": {
"type": "string",
"default": ""
},
"itemId": {
"type": "string",
"default": ""
},
"isModalOpen": {
"type": "boolean",
"default": false
},
"layoutElements": {
"type": "object",
"default": {
"main": true,
"thumbnails": true
}
},
"mediaSources": {
"type": "object",
"default": {
"document": true,
"attachments": true,
"metadata": false
}
},
"hideFileNameMain": {
"type": "boolean",
"default": true
},
"hideFileCaptionMain": {
"type": "boolean",
"default": false
},
"hideFileDescriptionMain": {
"type": "boolean",
"default": true
},
"hideFileNameThumbnails": {
"type": "boolean",
"default": true
},
"hideFileCaptionThumbnails": {
"type": "boolean",
"default": true
},
"hideFileDescriptionThumbnails": {
"type": "boolean",
"default": true
},
"hideFileNameLightbox": {
"type": "boolean",
"default": false
},
"hideFileCaptionLightbox": {
"type": "boolean",
"default": false
},
"hideFileDescriptionLightbox": {
"type": "boolean",
"default": false
},
"openLightboxOnClick": {
"type": "boolean",
"default": true
},
"arrowsSize": {
"type": "integer",
"default": 44
},
"mainSliderHeight": {
"type": "integer",
"default": 60
},
"mainSliderWidth": {
"type": "integer",
"default": 100
},
"thumbnailsCarouselWidth": {
"type": "integer",
"default": 100
},
"thumbnailsCarouselItemSize": {
"type": "integer",
"default": 136
},
"showDownloadButtonMain": {
"type": "boolean",
"default": false
},
"lightboxHasLightBackground": {
"type": "boolean",
"default": false
},
"templateMode": {
"type": "boolean",
"default": false
}
}
},
{
"attributes": {
"blockId": {

View File

@ -1,9 +1,14 @@
const { __ } = wp.i18n;
const { Button, ButtonGroup, BaseControl, Placeholder, RangeControl, ToggleControl, PanelBody } = wp.components;
const { Button, ButtonGroup, BaseControl, Placeholder, SelectControl, RangeControl, ToggleControl, PanelBody } = wp.components;
const ServerSideRender = wp.serverSideRender;
const { InspectorControls, useBlockProps } = wp.blockEditor;
const { InspectorControls, useBlockProps, store } = wp.blockEditor;
const { useSelect } = wp.data;
import map from 'lodash/map'; // Do not user import { map,pick } from 'lodash'; -> These causes conflicts with underscore due to lodash global variable
import pick from 'lodash/pick';
import SingleItemModal from '../../js/selection/single-item-modal.js';
import getCollectionIdFromPossibleTemplateEdition from '../../js/template/tainacan-blocks-single-item-template-mode.js';
@ -33,7 +38,9 @@ export default function ({ attributes, setAttributes, isSelected, clientId }) {
thumbnailsCarouselItemSize,
showDownloadButtonMain,
lightboxHasLightBackground,
templateMode
templateMode,
thumbnailsSize,
thumbsHaveFixedHeight
} = attributes;
// Gets blocks props from hook
@ -56,6 +63,23 @@ export default function ({ attributes, setAttributes, isSelected, clientId }) {
}
}
// Get available image sizes
const { imageSizes } = useSelect(
( select ) => {
const { getSettings } = select( store );
const settings = pick( getSettings(), [
'imageSizes'
] );
return settings
},
[ clientId ]
);
const imageSizeOptions = map(
imageSizes,
( { name, slug } ) => ( { value: slug, label: name } )
);
return <div { ...blockProps }>
<InspectorControls>
@ -207,6 +231,15 @@ export default function ({ attributes, setAttributes, isSelected, clientId }) {
title={__('Thumbnails carousel settings', 'tainacan')}
initialOpen={ true }
>
<SelectControl
label={__('Image size', 'tainacan')}
value={ thumbnailsSize }
options={ imageSizeOptions }
onChange={ ( aThumbnailsSize ) => {
thumbnailsSize = aThumbnailsSize;
setAttributes({ thumbnailsSize: thumbnailsSize });
}}
/>
<RangeControl
label={ __('Carousel width (%)', 'tainacan') }
value={ thumbnailsCarouselWidth }
@ -227,6 +260,15 @@ export default function ({ attributes, setAttributes, isSelected, clientId }) {
min={ 32 }
max={ 400 }
/>
<ToggleControl
label={ __('Thumbnails have fixed height', 'tainacan') }
help={ __( 'If checked, the thumbnails will have fixed the item size height, otherwise they will have fixed the item size width.', 'tainacan' ) }
checked={ thumbsHaveFixedHeight }
onChange={ ( isChecked ) => {
thumbsHaveFixedHeight = isChecked;
setAttributes({ thumbsHaveFixedHeight: thumbsHaveFixedHeight });
}}
/>
<ToggleControl
label={__('Hide file name', 'tainacan')}
checked={ hideFileNameThumbnails }

View File

@ -308,19 +308,32 @@
vertical-align: top;
word-break: break-word;
font-size: 0.875em;
max-width: calc(var(--tainacan-media-thumbs-carousel-item-size, 136px) + 17px);
@media only screen and (max-width: 380px) {
margin: 10px 0;
}
&:not(.has-fixed-height) {
max-width: calc(var(--tainacan-media-thumbs-carousel-item-size, 136px) + 17px);
img {
width: var(--tainacan-media-thumbs-carousel-item-size, 136px);
max-width: var(--tainacan-media-thumbs-carousel-item-size, 136px);
object-fit: cover;
object-position: center
}
}
&.has-fixed-height {
width: auto;
img {
height: var(--tainacan-media-thumbs-carousel-item-size, 136px);
max-height: var(--tainacan-media-thumbs-carousel-item-size, 136px);
width: auto;
}
}
img {
width: var(--tainacan-media-thumbs-carousel-item-size, 136px);
height: var(--tainacan-media-thumbs-carousel-item-size, 136px);
max-width: var(--tainacan-media-thumbs-carousel-item-size, 136px);
max-height: var(--tainacan-media-thumbs-carousel-item-size, 136px);
object-fit: cover;
object-position: center;
border-bottom-width: 6px;
border-bottom-style: solid;
background-color: var(--tainacan-media-background, transparent);

View File

@ -138,7 +138,7 @@ export default (element) => {
VueItemSubmission.use(VTooltip, {
popperTriggers: ['hover'],
themes: {
'taianacan-tooltip': {
'tainacan-tooltip': {
'$extend': 'tooltip',
triggers: ['hover', 'focus', 'touch'],
autoHide: true,

View File

@ -221,7 +221,8 @@ function tainacan_blocks_get_plugin_js_settings(){
'admin_url' => admin_url(),
'site_url' => site_url(),
'theme_items_list_url' => esc_url_raw( get_site_url() ) . '/' . \Tainacan\Theme_Helper::get_instance()->get_items_list_slug(),
'collections_post_types' => $cpts
'collections_post_types' => $cpts,
'registered_view_modes' => \Tainacan\Theme_Helper::get_instance()->get_registered_view_modes(),
];
return $settings;

View File

@ -1,9 +1,11 @@
const { ToolbarGroup, ToolbarButton } = wp.components;
export default function TainacanBlocksCompatToolbar({ label, icon, onClick, onClickParams, controls }) {
export default function TainacanBlocksCompatToolbar({ label, icon, onClick, onClickParams, controls, extraComponents }) {
if (controls !== undefined)
return <ToolbarGroup controls={ controls } />
return <ToolbarGroup controls={ controls }>
{ extraComponents }
</ToolbarGroup>
else
return <ToolbarGroup>
<ToolbarButton onClick={ () => onClick(onClickParams) }>
@ -12,5 +14,6 @@ export default function TainacanBlocksCompatToolbar({ label, icon, onClick, onCl
</p>&nbsp;
{ label }
</ToolbarButton>
{ extraComponents }
</ToolbarGroup>
}

View File

@ -24,12 +24,4 @@
[data-module="facets-list"]:not(.has-mounted),
[data-module="dynamic-items-list"]:not(.has-mounted) {
min-height: 360px;
}
/* Admin menu links */
#wpadminbar #wp-admin-bar-tainacan-item-edition-link > .ab-item::before,
#wpadminbar #wp-admin-bar-tainacan-collection-edition-link > .ab-item::before,
#wpadminbar #wp-admin-bar-tainacan-collections-edition-link > .ab-item::before {
content: '\f464';
top: 2px;
}

View File

@ -14,6 +14,17 @@
grid-row: #{$row-start}/#{$row-end};
}
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0,0,0,0);
border: 0;
}
// Gray, used mostly for information
$gray0: #f6f6f6;
$gray1: #f2f2f2;