@opengis/bi 1.2.27 → 1.2.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bi.js +1 -1
- package/dist/bi.umd.cjs +23 -23
- package/dist/{import-file-DN5MrFOd.js → import-file-C1s2X9Kt.js} +539 -575
- package/dist/style.css +1 -1
- package/dist/{vs-funnel-bar-DwVkX7Q2.js → vs-funnel-bar-BuV_pQBq.js} +1 -1
- package/dist/{vs-list-BWyOIZbY.js → vs-list-uhEudqNr.js} +1 -1
- package/dist/{vs-map-cluster-ltvourI_.js → vs-map-cluster-CeJxLtZx.js} +2 -2
- package/dist/{vs-map-BeYJ2aj0.js → vs-map-qs7P1yfP.js} +2 -2
- package/dist/{vs-number-BvAcFzRT.js → vs-number-BNnFUzs3.js} +1 -1
- package/dist/{vs-table-CBFIS-pF.js → vs-table-BEvWIkoj.js} +1 -1
- package/dist/{vs-text-GIhpwEL4.js → vs-text-CPMz7TWB.js} +1 -1
- package/package.json +75 -75
- package/server/routes/dashboard/controllers/dashboard.list.js +36 -16
- package/server/routes/dashboard/controllers/utils/yaml.js +11 -11
- package/server/routes/edit/controllers/widget.edit.js +22 -13
- package/server/routes/map/controllers/cluster.js +125 -125
- package/server/routes/map/controllers/clusterVtile.js +166 -166
- package/server/routes/map/controllers/geojson.js +127 -127
- package/server/routes/map/controllers/map.js +69 -69
- package/server/routes/map/controllers/utils/downloadClusterData.js +44 -44
- package/server/routes/map/controllers/vtile.js +183 -183
- package/utils.js +12 -12
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}body{font-family:Inter,Segoe UI,Helvetica Neue,Roboto,sans-serif;font-weight:400}h1{font-family:Inter,Segoe UI,Helvetica Neue,Roboto,sans-serif;font-weight:700}em{font-family:Inter,Segoe UI,Helvetica Neue,Roboto,sans-serif;font-style:italic}.custom-scrollbar{overflow-y:auto;overflow-x:clip}.custom-scrollbar::-webkit-scrollbar{width:6px;margin-right:0}.custom-scrollbar::-webkit-scrollbar-thumb{background-color:#e0e0e0;border-radius:10px}.custom-scrollbar::-webkit-scrollbar-track{background-color:#f1f1f1}.vs-modal-content[data-v-5722a50f]{scrollbar-width:thin}.vs-modal-enter-active[data-v-5722a50f],.vs-modal-leave-active[data-v-5722a50f]{transition:opacity .2s ease,transform .2s ease}.vs-modal-enter-from[data-v-5722a50f],.vs-modal-leave-to[data-v-5722a50f]{opacity:0;transform:scale(.95)}.custom-scrollbar[data-v-f586e5b0]{overflow-y:auto;overflow-x:clip}.custom-scrollbar[data-v-f586e5b0]::-webkit-scrollbar{width:6px}.custom-scrollbar[data-v-f586e5b0]::-webkit-scrollbar-thumb{background-color:#e0e0e0;border-radius:10px}.custom-scrollbar[data-v-f586e5b0]::-webkit-scrollbar-track{background-color:#f1f1f1}@keyframes fade-in-716ced89{0%{opacity:0}to{opacity:1}}.animate-fade-in[data-v-716ced89]{animation:fade-in-716ced89 .3s ease-out}.custom-x-scrollbar{overflow-x:auto;overflow-y:clip}.custom-x-scrollbar::-webkit-scrollbar{height:6px}.custom-x-scrollbar::-webkit-scrollbar-thumb{background-color:#e0e0e0}.custom-x-scrollbar::-webkit-scrollbar-track{background-color:#f1f1f1}.vs-chart{width:100%;height:100%}.vs-chart-tooltip{border-radius:7px;max-height:100px;max-width:340px;min-width:140px;background-color:#fff;box-shadow:0 0 8px #0000002e}.vs-chart-tooltip__head{padding:5px;border-bottom:1px solid #eee;margin-bottom:5px}.vs-chart-tooltip__head-title{font-size:14px;font-weight:700;display:flex;align-items:center}.vs-chart-tooltip__head-value{margin-right:5px}.vs-chart-tooltip__head-series{font-size:14px;display:flex;align-items:center}.vs-chart-tooltip__color{width:12px;height:12px;display:block;border-radius:50%;margin-right:5px}.vs-chart-tooltip__body{padding:5px;font-size:14px;display:flex;align-items:start;flex-direction:column}.vs-chart-tooltip__body .vs-chart-tooltip__color{border-radius:3px}.vs-chart-tooltip__item{width:100%;display:flex;align-items:center;justify-content:space-between}.vs-chart-tooltip__text{margin-right:auto}.vs-chart-tooltip__body svg{margin-right:8px}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-widget h1{font-size:18px}.text-widget h2{font-size:14px}.map__settings{display:flex;padding:3px 1px;background:#fff;position:absolute;right:0;bottom:15px;height:30px;align-items:center;font-weight:100;text-align:center}.map__settings-item{display:flex;white-space:nowrap;padding:0 2px;font-size:10px;font-weight:400}.map__settings-attribution{padding:0}.map__settings-menu{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:15px!important;position:absolute;background-color:#fff;bottom:60px;right:90px;width:260px}.map__settings-menu-item{display:flex;align-items:center;color:#2c2c2c;margin-bottom:5px;font-size:12px;justify-content:space-between;height:28px}.map__settings-menu-item-text{height:28px;line-height:28px;background-color:#fff;background-image:none;border-radius:4px;border:1px solid #dcdfe6;-webkit-box-sizing:border-box;box-sizing:border-box;color:#606266;display:inline-block;font-size:12px;height:40px;line-height:40px;outline:0;padding:0 10px}.map__settings-menu-item--checktext{color:#000!important;font-size:12px;display:inline-block;padding-left:10px;line-height:19px;cursor:pointer}.checked{color:#409eff!important}.vs-map-slot-layers{position:absolute;display:none;bottom:10px;left:15px}.vs-map-slot-layers__layer{width:50px;height:50px;background-color:#fff;box-shadow:0 0 7px #434c5626;padding:5px;border-radius:5px;margin-top:10px;margin-right:10px;cursor:pointer;transition:all .3s}.vs-map-slot-layers__layer:hover{background-color:#eee}.vs-map-slot-layers__image{width:100%;border-radius:5px;object-fit:contain}.focused{background-color:#1989fa!important}.maplibregl-popup-content{padding:0}
|
|
1
|
+
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}body{font-family:Inter,Segoe UI,Helvetica Neue,Roboto,sans-serif;font-weight:400}h1{font-family:Inter,Segoe UI,Helvetica Neue,Roboto,sans-serif;font-weight:700}em{font-family:Inter,Segoe UI,Helvetica Neue,Roboto,sans-serif;font-style:italic}.custom-scrollbar{overflow-y:auto;overflow-x:clip}.custom-scrollbar::-webkit-scrollbar{width:6px;margin-right:0}.custom-scrollbar::-webkit-scrollbar-thumb{background-color:#e0e0e0;border-radius:10px}.custom-scrollbar::-webkit-scrollbar-track{background-color:#f1f1f1}.vs-modal-content[data-v-5722a50f]{scrollbar-width:thin}.vs-modal-enter-active[data-v-5722a50f],.vs-modal-leave-active[data-v-5722a50f]{transition:opacity .2s ease,transform .2s ease}.vs-modal-enter-from[data-v-5722a50f],.vs-modal-leave-to[data-v-5722a50f]{opacity:0;transform:scale(.95)}.custom-scrollbar[data-v-330ef797]{overflow-y:auto;overflow-x:clip}.custom-scrollbar[data-v-330ef797]::-webkit-scrollbar{width:6px}.custom-scrollbar[data-v-330ef797]::-webkit-scrollbar-thumb{background-color:#e0e0e0;border-radius:10px}.custom-scrollbar[data-v-330ef797]::-webkit-scrollbar-track{background-color:#f1f1f1}@keyframes fade-in-716ced89{0%{opacity:0}to{opacity:1}}.animate-fade-in[data-v-716ced89]{animation:fade-in-716ced89 .3s ease-out}.custom-x-scrollbar{overflow-x:auto;overflow-y:clip}.custom-x-scrollbar::-webkit-scrollbar{height:6px}.custom-x-scrollbar::-webkit-scrollbar-thumb{background-color:#e0e0e0}.custom-x-scrollbar::-webkit-scrollbar-track{background-color:#f1f1f1}.vs-chart{width:100%;height:100%}.vs-chart-tooltip{border-radius:7px;max-height:100px;max-width:340px;min-width:140px;background-color:#fff;box-shadow:0 0 8px #0000002e}.vs-chart-tooltip__head{padding:5px;border-bottom:1px solid #eee;margin-bottom:5px}.vs-chart-tooltip__head-title{font-size:14px;font-weight:700;display:flex;align-items:center}.vs-chart-tooltip__head-value{margin-right:5px}.vs-chart-tooltip__head-series{font-size:14px;display:flex;align-items:center}.vs-chart-tooltip__color{width:12px;height:12px;display:block;border-radius:50%;margin-right:5px}.vs-chart-tooltip__body{padding:5px;font-size:14px;display:flex;align-items:start;flex-direction:column}.vs-chart-tooltip__body .vs-chart-tooltip__color{border-radius:3px}.vs-chart-tooltip__item{width:100%;display:flex;align-items:center;justify-content:space-between}.vs-chart-tooltip__text{margin-right:auto}.vs-chart-tooltip__body svg{margin-right:8px}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-widget h1{font-size:18px}.text-widget h2{font-size:14px}.map__settings{display:flex;padding:3px 1px;background:#fff;position:absolute;right:0;bottom:15px;height:30px;align-items:center;font-weight:100;text-align:center}.map__settings-item{display:flex;white-space:nowrap;padding:0 2px;font-size:10px;font-weight:400}.map__settings-attribution{padding:0}.map__settings-menu{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:15px!important;position:absolute;background-color:#fff;bottom:60px;right:90px;width:260px}.map__settings-menu-item{display:flex;align-items:center;color:#2c2c2c;margin-bottom:5px;font-size:12px;justify-content:space-between;height:28px}.map__settings-menu-item-text{height:28px;line-height:28px;background-color:#fff;background-image:none;border-radius:4px;border:1px solid #dcdfe6;-webkit-box-sizing:border-box;box-sizing:border-box;color:#606266;display:inline-block;font-size:12px;height:40px;line-height:40px;outline:0;padding:0 10px}.map__settings-menu-item--checktext{color:#000!important;font-size:12px;display:inline-block;padding-left:10px;line-height:19px;cursor:pointer}.checked{color:#409eff!important}.vs-map-slot-layers{position:absolute;display:none;bottom:10px;left:15px}.vs-map-slot-layers__layer{width:50px;height:50px;background-color:#fff;box-shadow:0 0 7px #434c5626;padding:5px;border-radius:5px;margin-top:10px;margin-right:10px;cursor:pointer;transition:all .3s}.vs-map-slot-layers__layer:hover{background-color:#eee}.vs-map-slot-layers__image{width:100%;border-radius:5px;object-fit:contain}.focused{background-color:#1989fa!important}.maplibregl-popup-content{padding:0}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as l, c as h, a as c, b as d, d as p } from "./import-file-
|
|
1
|
+
import { _ as l, c as h, a as c, b as d, d as p } from "./import-file-C1s2X9Kt.js";
|
|
2
2
|
import { createElementBlock as u, openBlock as m } from "vue";
|
|
3
3
|
const o = typeof window < "u" ? window.echarts : null, f = {
|
|
4
4
|
name: "VsFunnelBar",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createBlock as b, openBlock as l, unref as L, mergeProps as v, createElementBlock as d, createElementVNode as c, withDirectives as F, toDisplayString as S, vShow as R, Fragment as P, renderList as V, normalizeClass as D, resolveComponent as A, createVNode as H } from "vue";
|
|
2
|
-
import { e as x, X as J, _ as w } from "./import-file-
|
|
2
|
+
import { e as x, X as J, _ as w } from "./import-file-C1s2X9Kt.js";
|
|
3
3
|
/**
|
|
4
4
|
* @license lucide-vue-next v0.577.0 - ISC
|
|
5
5
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { _ as A, a as F, p as T, c as G, V as P, b as Z, d as q, e as D, l as K } from "./vs-list-
|
|
2
|
-
import { e as W, _ as H, V as J, c as Q, g as U, h as X, i as Y } from "./import-file-
|
|
1
|
+
import { _ as A, a as F, p as T, c as G, V as P, b as Z, d as q, e as D, l as K } from "./vs-list-uhEudqNr.js";
|
|
2
|
+
import { e as W, _ as H, V as J, c as Q, g as U, h as X, i as Y } from "./import-file-C1s2X9Kt.js";
|
|
3
3
|
import { createElementBlock as g, createCommentVNode as S, openBlock as p, createElementVNode as l, normalizeClass as V, Fragment as R, renderList as N, toDisplayString as O, normalizeStyle as j, createBlock as z, unref as $, mergeProps as ee, resolveComponent as m, withDirectives as M, resolveDynamicComponent as te, createVNode as w, vShow as C } from "vue";
|
|
4
4
|
/**
|
|
5
5
|
* @license lucide-vue-next v0.577.0 - ISC
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { _ as E, a as L, p as $, V as T, b as B, c as H, d as O, l as F, e as N } from "./vs-list-
|
|
2
|
-
import { _ as V, c as P } from "./import-file-
|
|
1
|
+
import { _ as E, a as L, p as $, V as T, b as B, c as H, d as O, l as F, e as N } from "./vs-list-uhEudqNr.js";
|
|
2
|
+
import { _ as V, c as P } from "./import-file-C1s2X9Kt.js";
|
|
3
3
|
import { resolveComponent as u, createElementBlock as c, openBlock as i, Fragment as w, createElementVNode as r, createBlock as C, createCommentVNode as m, createVNode as x, Teleport as R, toDisplayString as g, renderList as S, normalizeStyle as k, normalizeClass as I } from "vue";
|
|
4
4
|
const A = {
|
|
5
5
|
components: { legendIcon: L, closeIcon: E },
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as m, c as f, b as _, d as b } from "./import-file-
|
|
1
|
+
import { _ as m, c as f, b as _, d as b } from "./import-file-C1s2X9Kt.js";
|
|
2
2
|
import { createElementBlock as a, openBlock as r, createElementVNode as s, Fragment as n, renderList as c, toDisplayString as d } from "vue";
|
|
3
3
|
const x = {
|
|
4
4
|
name: "VsTable",
|
package/package.json
CHANGED
|
@@ -1,75 +1,75 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@opengis/bi",
|
|
3
|
-
"version": "1.2.
|
|
4
|
-
"description": "BI data visualization module",
|
|
5
|
-
"main": "dist/bi.js",
|
|
6
|
-
"browser": "dist/bi.umd.cjs",
|
|
7
|
-
"type": "module",
|
|
8
|
-
"files": [
|
|
9
|
-
"dist",
|
|
10
|
-
"server",
|
|
11
|
-
"plugin.js",
|
|
12
|
-
"utils.js"
|
|
13
|
-
],
|
|
14
|
-
"scripts": {
|
|
15
|
-
"patch": "npm version patch && git push && npm publish",
|
|
16
|
-
"prepublishOnly": "npm run build:lib",
|
|
17
|
-
"debug": "node --watch-path=server server",
|
|
18
|
-
"dev": "vite",
|
|
19
|
-
"type-check": "vue-tsc --noEmit",
|
|
20
|
-
"build": "vite build",
|
|
21
|
-
"build:lib": "cross-env APP=true vite build",
|
|
22
|
-
"build-app": "vite build",
|
|
23
|
-
"lint": "eslint .",
|
|
24
|
-
"format": "prettier --write .",
|
|
25
|
-
"test": "node --test",
|
|
26
|
-
"test21": "node --test ./test/plugins/*",
|
|
27
|
-
"start": "node server.js",
|
|
28
|
-
"prod": "NODE_ENV=production npm run start",
|
|
29
|
-
"docs:i": "npm install --prefix ./docs",
|
|
30
|
-
"docs:dev": "npm run --prefix ./docs docs:dev",
|
|
31
|
-
"docs:build": "npm run --prefix ./docs docs:build",
|
|
32
|
-
"docs:preview": "npm run --prefix ./docs docs:preview",
|
|
33
|
-
"adduser": "node script/adduser.js"
|
|
34
|
-
},
|
|
35
|
-
"keywords": [
|
|
36
|
-
"bi",
|
|
37
|
-
"data visualization",
|
|
38
|
-
"chart",
|
|
39
|
-
"opengis",
|
|
40
|
-
"vue",
|
|
41
|
-
"fastify"
|
|
42
|
-
],
|
|
43
|
-
"author": "Softpro",
|
|
44
|
-
"license": "ISC",
|
|
45
|
-
"dependencies": {
|
|
46
|
-
"@mapbox/sphericalmercator": "^1.2.0",
|
|
47
|
-
"@opengis/table": "^0.0.30",
|
|
48
|
-
"lucide-vue-next": "^0.577.0"
|
|
49
|
-
},
|
|
50
|
-
"devDependencies": {
|
|
51
|
-
"@opengis/core": "^0.0.33",
|
|
52
|
-
"@opengis/fastify-table": "^2.0.33",
|
|
53
|
-
"@opengis/form": "0.0.137",
|
|
54
|
-
"@turf/turf": "^7.1.0",
|
|
55
|
-
"@types/node": "^22.7.5",
|
|
56
|
-
"@typescript-eslint/eslint-plugin": "^6.21.0",
|
|
57
|
-
"@typescript-eslint/parser": "^6.21.0",
|
|
58
|
-
"@vitejs/plugin-vue": "^5.1.4",
|
|
59
|
-
"cross-env": "^10.1.0",
|
|
60
|
-
"eslint": "^8.57.1",
|
|
61
|
-
"eslint-config-airbnb-base": "^15.0.0",
|
|
62
|
-
"eslint-config-prettier": "^9.1.0",
|
|
63
|
-
"eslint-plugin-vue": "^9.29.0",
|
|
64
|
-
"globals": "^15.10.0",
|
|
65
|
-
"marked": "^14.1.2",
|
|
66
|
-
"prettier": "^3.3.3",
|
|
67
|
-
"rollup-plugin-visualizer": "^7.0.0",
|
|
68
|
-
"sass-embedded": "1.89.2",
|
|
69
|
-
"typescript": "^5.4.5",
|
|
70
|
-
"vite": "^5.1.5",
|
|
71
|
-
"vue": "^3.4.27",
|
|
72
|
-
"vue-router": "^4.4.3",
|
|
73
|
-
"vue-tsc": "^2.1.6"
|
|
74
|
-
}
|
|
75
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@opengis/bi",
|
|
3
|
+
"version": "1.2.29",
|
|
4
|
+
"description": "BI data visualization module",
|
|
5
|
+
"main": "dist/bi.js",
|
|
6
|
+
"browser": "dist/bi.umd.cjs",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist",
|
|
10
|
+
"server",
|
|
11
|
+
"plugin.js",
|
|
12
|
+
"utils.js"
|
|
13
|
+
],
|
|
14
|
+
"scripts": {
|
|
15
|
+
"patch": "npm version patch && git push && npm publish",
|
|
16
|
+
"prepublishOnly": "npm run build:lib",
|
|
17
|
+
"debug": "node --watch-path=server server",
|
|
18
|
+
"dev": "vite",
|
|
19
|
+
"type-check": "vue-tsc --noEmit",
|
|
20
|
+
"build": "vite build",
|
|
21
|
+
"build:lib": "cross-env APP=true vite build",
|
|
22
|
+
"build-app": "vite build",
|
|
23
|
+
"lint": "eslint .",
|
|
24
|
+
"format": "prettier --write .",
|
|
25
|
+
"test": "node --test",
|
|
26
|
+
"test21": "node --test ./test/plugins/*",
|
|
27
|
+
"start": "node server.js",
|
|
28
|
+
"prod": "NODE_ENV=production npm run start",
|
|
29
|
+
"docs:i": "npm install --prefix ./docs",
|
|
30
|
+
"docs:dev": "npm run --prefix ./docs docs:dev",
|
|
31
|
+
"docs:build": "npm run --prefix ./docs docs:build",
|
|
32
|
+
"docs:preview": "npm run --prefix ./docs docs:preview",
|
|
33
|
+
"adduser": "node script/adduser.js"
|
|
34
|
+
},
|
|
35
|
+
"keywords": [
|
|
36
|
+
"bi",
|
|
37
|
+
"data visualization",
|
|
38
|
+
"chart",
|
|
39
|
+
"opengis",
|
|
40
|
+
"vue",
|
|
41
|
+
"fastify"
|
|
42
|
+
],
|
|
43
|
+
"author": "Softpro",
|
|
44
|
+
"license": "ISC",
|
|
45
|
+
"dependencies": {
|
|
46
|
+
"@mapbox/sphericalmercator": "^1.2.0",
|
|
47
|
+
"@opengis/table": "^0.0.30",
|
|
48
|
+
"lucide-vue-next": "^0.577.0"
|
|
49
|
+
},
|
|
50
|
+
"devDependencies": {
|
|
51
|
+
"@opengis/core": "^0.0.33",
|
|
52
|
+
"@opengis/fastify-table": "^2.0.33",
|
|
53
|
+
"@opengis/form": "0.0.137",
|
|
54
|
+
"@turf/turf": "^7.1.0",
|
|
55
|
+
"@types/node": "^22.7.5",
|
|
56
|
+
"@typescript-eslint/eslint-plugin": "^6.21.0",
|
|
57
|
+
"@typescript-eslint/parser": "^6.21.0",
|
|
58
|
+
"@vitejs/plugin-vue": "^5.1.4",
|
|
59
|
+
"cross-env": "^10.1.0",
|
|
60
|
+
"eslint": "^8.57.1",
|
|
61
|
+
"eslint-config-airbnb-base": "^15.0.0",
|
|
62
|
+
"eslint-config-prettier": "^9.1.0",
|
|
63
|
+
"eslint-plugin-vue": "^9.29.0",
|
|
64
|
+
"globals": "^15.10.0",
|
|
65
|
+
"marked": "^14.1.2",
|
|
66
|
+
"prettier": "^3.3.3",
|
|
67
|
+
"rollup-plugin-visualizer": "^7.0.0",
|
|
68
|
+
"sass-embedded": "1.89.2",
|
|
69
|
+
"typescript": "^5.4.5",
|
|
70
|
+
"vite": "^5.1.5",
|
|
71
|
+
"vue": "^3.4.27",
|
|
72
|
+
"vue-router": "^4.4.3",
|
|
73
|
+
"vue-tsc": "^2.1.6"
|
|
74
|
+
}
|
|
75
|
+
}
|
|
@@ -1,39 +1,59 @@
|
|
|
1
|
-
import { pgClients, getTemplatePath, getTemplate } from '@opengis/fastify-table/utils.js';
|
|
1
|
+
import { pgClients, getTemplatePath, getTemplate, getTemplateSync } from '@opengis/fastify-table/utils.js';
|
|
2
2
|
|
|
3
|
-
const
|
|
3
|
+
const dirContent = getTemplatePath('dashboard').map(([filename, filepath]) => {
|
|
4
|
+
const obj = getTemplateSync('dashboard', filename);
|
|
5
|
+
const index = obj?.find?.((el) => el[0] === 'index.yml')?.[1];
|
|
6
|
+
const { table_name, description, title } = index || {};
|
|
4
7
|
|
|
5
|
-
|
|
8
|
+
return { name: filename, path: filepath, type: 'file', title, description, table_name };
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
const maxLimit = 100;
|
|
12
|
+
|
|
13
|
+
export default async function dashboardList({
|
|
6
14
|
pg = pgClients.client, query = {}, user = {}
|
|
7
15
|
}) {
|
|
8
16
|
const time = Date.now();
|
|
9
|
-
const { type = 'file' } = query;
|
|
17
|
+
const { type = 'file', page, search, sql } = query;
|
|
18
|
+
|
|
19
|
+
const limit = Math.min(maxLimit, +(query.limit || 15));
|
|
20
|
+
const offset = page && page > 0 ? (page - 1) * limit : 0;
|
|
21
|
+
|
|
22
|
+
const dir = type === 'file' ? dirContent : [];
|
|
10
23
|
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
24
|
+
const where = [search ? `lower(title) ~ $1` : null, type === 'viewer' ? `left(table_name,5)='demo.'` : null].filter(Boolean).join(' and ') || 'true';
|
|
25
|
+
const q1 = `select count(*)::int as total, count(*) filter(where ${where})::int as filtered from bi.dashboard`;
|
|
26
|
+
|
|
27
|
+
const q = `select dashboard_id as name, 'db' as type, title, description, table_name, words, public from bi.dashboard where ${where} limit ${limit} offset ${offset}`;
|
|
28
|
+
|
|
29
|
+
if (user?.user_type?.includes('admin') && ['db', 'viewer'].includes(type) && sql) {
|
|
30
|
+
return `${q1};${q}`;
|
|
31
|
+
}
|
|
17
32
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
) : [];
|
|
33
|
+
const args = [search].filter(Boolean);
|
|
34
|
+
const { total = 0, filtered = 0 } = ['db', 'viewer'].includes(type) ? await pg.query(q1, args).then(el => el.rows?.[0] || {}) : {};
|
|
21
35
|
|
|
22
|
-
const
|
|
36
|
+
const rows = ['db', 'viewer'].includes(type) ? await pg.query(q, args).then(el => el.rows || []) : [];
|
|
23
37
|
|
|
24
38
|
if (type === 'viewer') {
|
|
25
39
|
return {
|
|
26
40
|
time: Date.now() - time,
|
|
27
41
|
db: pg.options?.database,
|
|
28
|
-
|
|
42
|
+
total,
|
|
43
|
+
filtered,
|
|
44
|
+
count: rows.length,
|
|
45
|
+
rows,
|
|
29
46
|
};
|
|
30
47
|
}
|
|
31
48
|
|
|
32
|
-
const list = dir.concat(rows);
|
|
49
|
+
const list = (user?.user_type?.includes('admin') ? dir : dir.map(el => ({ ...el, path: undefined }))).concat(rows);
|
|
33
50
|
|
|
34
51
|
const res = {
|
|
35
52
|
time: Date.now() - time,
|
|
36
53
|
db: pg.options?.database,
|
|
54
|
+
total,
|
|
55
|
+
filtered,
|
|
56
|
+
count: rows.length,
|
|
37
57
|
rows: list,
|
|
38
58
|
};
|
|
39
59
|
return res;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import yaml from 'js-yaml';
|
|
2
|
-
|
|
3
|
-
yaml.loadSafe = (yml) => {
|
|
4
|
-
try {
|
|
5
|
-
return yaml.load(yml);
|
|
6
|
-
} catch (err) {
|
|
7
|
-
return { error: err.toString() };
|
|
8
|
-
}
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
export default yaml;
|
|
1
|
+
import yaml from 'js-yaml';
|
|
2
|
+
|
|
3
|
+
yaml.loadSafe = (yml) => {
|
|
4
|
+
try {
|
|
5
|
+
return yaml.load(yml);
|
|
6
|
+
} catch (err) {
|
|
7
|
+
return { error: err.toString() };
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export default yaml;
|
|
@@ -2,17 +2,17 @@ import { dataUpdate, pgClients } from '@opengis/fastify-table/utils.js';
|
|
|
2
2
|
|
|
3
3
|
import { getWidget, yamlSafe } from '../../../../utils.js';
|
|
4
4
|
|
|
5
|
-
export default async function widgetEdit({ pg = pgClients.client, body, params }) {
|
|
5
|
+
export default async function widgetEdit({ pg = pgClients.client, body, params }, reply) {
|
|
6
6
|
const { widget: widgetName, name: dashboardName } = params;
|
|
7
7
|
const data = body.yml && !body.style ? yamlSafe.load(body.yml) : body;
|
|
8
8
|
const yml = body.yml ?? yamlSafe.dump(body.data);
|
|
9
9
|
// console.log(body.data, data, body.yml, yml);
|
|
10
10
|
|
|
11
11
|
if (!widgetName || !dashboardName) {
|
|
12
|
-
return {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
};
|
|
12
|
+
return reply.status(400).send({
|
|
13
|
+
error: 'not enough params: dashboard and widget name',
|
|
14
|
+
code: 400,
|
|
15
|
+
});
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
const { widget_id: widgetId, dashboard_id: dashboardId, widgets } = await pg.query(
|
|
@@ -23,7 +23,10 @@ export default async function widgetEdit({ pg = pgClients.client, body, params }
|
|
|
23
23
|
// get Data
|
|
24
24
|
const templateData = await getWidget({ pg, dashboard: dashboardName, widget: widgetName });
|
|
25
25
|
if (!templateData) {
|
|
26
|
-
return
|
|
26
|
+
return reply.status(404).send({
|
|
27
|
+
error: `widget not found ${widgetName}`,
|
|
28
|
+
code: 404,
|
|
29
|
+
});
|
|
27
30
|
}
|
|
28
31
|
|
|
29
32
|
if (data?.data) {
|
|
@@ -43,22 +46,28 @@ export default async function widgetEdit({ pg = pgClients.client, body, params }
|
|
|
43
46
|
|| widgetData?.table_name
|
|
44
47
|
|| templateData.table;
|
|
45
48
|
|
|
46
|
-
const loadTemplate = pg
|
|
49
|
+
const loadTemplate = pg?.pk?.['admin.doc_template'] ? await pg.query(
|
|
47
50
|
'select body from admin.doc_template where doc_type=5 and title=$1',
|
|
48
51
|
[tableName]
|
|
49
52
|
).then(el => el.rows?.[0]?.body) : null;
|
|
50
53
|
|
|
51
|
-
if (!tableName || !(pg.pk?.[loadTemplate?.table || tableName] || pgClients[widgetData?.data?.db || templateData?.db || 'client']?.pk?.[loadTemplate?.table || tableName])) {
|
|
52
|
-
return
|
|
54
|
+
if (!pg || !tableName || !(pg.pk?.[loadTemplate?.table || tableName] || pgClients[widgetData?.data?.db || templateData?.db || 'client']?.pk?.[loadTemplate?.table || tableName])) {
|
|
55
|
+
return reply.status(400).send({
|
|
56
|
+
error: 'bad params: table ' + tableName,
|
|
57
|
+
code: 400,
|
|
58
|
+
});
|
|
53
59
|
}
|
|
54
60
|
|
|
55
61
|
if (yml) {
|
|
56
62
|
Object.assign(widgetData, { yml })
|
|
57
63
|
}
|
|
58
64
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
65
|
+
if (widgetData?.data) {
|
|
66
|
+
Object.assign(widgetData, { data: { ...widgetData?.data || {}, table_name: tableName } });
|
|
67
|
+
}
|
|
68
|
+
Object.assign(widgetData, { table_name: tableName });
|
|
69
|
+
// console.log(widgetData);
|
|
70
|
+
const row = await dataUpdate({
|
|
62
71
|
pg,
|
|
63
72
|
table: 'bi.widget',
|
|
64
73
|
id: widgetId,
|
|
@@ -102,5 +111,5 @@ export default async function widgetEdit({ pg = pgClients.client, body, params }
|
|
|
102
111
|
data: { widgets },
|
|
103
112
|
});
|
|
104
113
|
|
|
105
|
-
return
|
|
114
|
+
return row;
|
|
106
115
|
}
|