@done-coding/admin-core 0.5.1-alpha.1 → 0.6.1-alpha.0
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/es/components/app-layout/AppBody.vue.mjs +2 -2
- package/es/components/app-layout/AppBody.vue2.mjs +33 -35
- package/es/components/app-layout/AppBreadcrumb.vue.mjs +2 -2
- package/es/components/app-layout/AppBreadcrumb.vue2.mjs +6 -7
- package/es/components/app-layout/AppLayout.vue.mjs +1 -1
- package/es/components/app-layout/AppLayout.vue2.mjs +25 -28
- package/es/components/data-view/DataListView.vue.mjs +2 -2
- package/es/components/data-view/DataListView.vue2.mjs +19 -17
- package/es/components/display/BooleanTag.vue.mjs +30 -0
- package/es/components/display/BooleanTag.vue2.mjs +4 -0
- package/es/components/list-page/ListPage.vue.mjs +1 -1
- package/es/components/list-page/ListPage.vue2.mjs +101 -89
- package/es/components/misc/ActionBtn.vue.mjs +29 -29
- package/es/components/misc/AutoRefresh.vue.mjs +2 -2
- package/es/components/misc/AutoRefresh.vue2.mjs +50 -42
- package/es/components/misc/AutoRefreshGroup.vue.mjs +7 -0
- package/es/components/misc/AutoRefreshGroup.vue2.mjs +60 -0
- package/es/components/table/TableMain.vue.mjs +3 -3
- package/es/components/table/TableMain.vue2.mjs +177 -167
- package/es/components/table/TableToolbar.vue.mjs +2 -2
- package/es/components/table/TableToolbar.vue2.mjs +98 -109
- package/es/index.mjs +148 -144
- package/es/style.css +1 -1
- package/package.json +2 -2
- package/types/components/app-layout/AppBody.vue.d.ts +0 -2
- package/types/components/app-layout/AppBreadcrumb.vue.d.ts +0 -1
- package/types/components/data-view/DataListView.vue.d.ts +2 -2
- package/types/components/data-view/types.d.ts +4 -2
- package/types/components/display/BooleanTag.vue.d.ts +8 -0
- package/types/components/display/index.d.ts +7 -1
- package/types/components/display/types.d.ts +19 -0
- package/types/components/list-page/ListPage.vue.d.ts +9 -13
- package/types/components/list-page/types.d.ts +1 -1
- package/types/components/misc/AutoRefresh.vue.d.ts +3 -9
- package/types/components/misc/AutoRefreshGroup.vue.d.ts +17 -0
- package/types/components/misc/index.d.ts +2 -1
- package/types/components/misc/types.d.ts +15 -0
- package/types/components/table/TableMain.vue.d.ts +9 -13
- package/types/components/table/TableToolbar.vue.d.ts +6 -2
- package/types/components/table/types.d.ts +20 -19
- package/types/hooks/activated.d.ts +2 -0
package/es/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.confirm-dialog .content[data-v-8a29e4c8]{overflow-x:hidden;overflow-y:auto;max-height:calc(100vh - 200px)}.confirm-dialog .btn[data-v-8a29e4c8]{width:150px;height:40px;border-radius:4px}.confirm-dialog .main[data-v-8a29e4c8]{position:relative;text-align:center}.confirm-dialog .main .close-box[data-v-8a29e4c8]{position:absolute;top:0;right:0;cursor:pointer;z-index:2}.confirm-dialog .main .shim[data-v-8a29e4c8]{position:relative;z-index:1}.confirm-dialog .main .shim .title[data-v-8a29e4c8]{font-size:18px;font-weight:500}.confirm-dialog .main .shim .content[data-v-8a29e4c8]{font-size:16px;margin-top:15px}.confirm-dialog .main .shim .footer[data-v-8a29e4c8]{display:flex;justify-content:center;align-items:center;padding-top:5px}.confirm-dialog .main .shim .footer>.btn[data-v-8a29e4c8]:not(:last-child){margin-right:30px}.confirm-dialog .main .shim .footer[reverse=true][data-v-8a29e4c8]{flex-direction:row-reverse}.confirm-dialog .main .shim .footer[reverse=true]>.btn[data-v-8a29e4c8]:not(:last-child){margin-right:0;margin-left:30px}.confirm-dialog .el-dialog__header,.confirm-dialog .el-dialog__body{padding:0;background-color:transparent}.action-confirm__title[data-v-5bb407c9]{font-weight:600;margin-bottom:6px}.action-confirm__content[data-v-5bb407c9]{margin-bottom:12px;color:var(--el-text-color-regular)}.action-confirm__actions[data-v-5bb407c9]{display:flex;justify-content:flex-end;gap:8px}.form-item-tip[data-v-0dd66b41]{text-align:left;line-height:1.5;font-size:12px}.form-item-label-hide[data-v-0dd66b41] .el-form-item__label-wrap{display:none}.panel-edit-switch[data-v-ea2a07d5]{position:relative}.panel-edit-switch-edit-btn[data-v-ea2a07d5]{position:absolute;top:0;right:0;z-index:1}.panel-edit-switch-actions[data-v-ea2a07d5]{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.form-search_show[data-v-996aa2dc]{margin-bottom:10px}.form-search .btn-box[data-v-996aa2dc]{display:flex;align-items:center;gap:8px;justify-content:flex-end}.form-search .btn-box-expand-icon[data-v-996aa2dc]{margin-right:2px}.form-search[data-v-996aa2dc] .el-col{padding-left:14px}.form-verify-image[data-v-a4baf877] .el-input__suffix-inner *{margin:0}.form-verify-image-suffix[data-v-a4baf877]{position:absolute;height:100%;border-radius:var(--el-input-border-radius, var(--el-border-radius-base));top:50%;transform:translateY(-50%);overflow:hidden;cursor:pointer}.form-verify-image-suffix-main[data-v-a4baf877]{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#f4f4f4}.tabs-main-bar[data-v-d6937179]{position:relative;display:flex;align-items:center}.tabs-main-bar-item[data-v-d6937179]{border:none;background:transparent;cursor:pointer;color:var(--el-text-color-regular);transition:background .2s,color .2s,box-shadow .2s}.tabs-main-bar-indicator[data-v-d6937179]{position:absolute;left:0;background:var(--el-color-primary);transition:transform .2s,width .2s}.tabs-main-bar--l1 .tabs-main-bar-item[data-v-d6937179]{font-size:16px}.tabs-main-bar--l2 .tabs-main-bar-item[data-v-d6937179]{font-size:14px}.tabs-main-bar--l3 .tabs-main-bar-item[data-v-d6937179],.tabs-main-bar--l4 .tabs-main-bar-item[data-v-d6937179]{font-size:12px}.tabs-main-bar--variant-card[data-v-d6937179]{position:relative;overflow:hidden;gap:2px}.tabs-main-bar--variant-card .tabs-main-bar-item[data-v-d6937179]{position:relative;padding:8px 20px;line-height:1.4;border:1px solid transparent;border-bottom:0;border-radius:6px 6px 0 0}.tabs-main-bar--variant-card .tabs-main-bar-item[data-v-d6937179]:hover:not(.tabs-main-bar-item_active){color:var(--el-color-primary)}.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-d6937179]{color:var(--el-color-primary);border-color:var(--el-border-color-light)}.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-d6937179]:before,.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-d6937179]:after{content:"";position:absolute;bottom:0;width:100vw;height:1px;background:var(--el-border-color-light)}.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-d6937179]:before{right:100%}.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-d6937179]:after{left:100%}.tabs-main-bar--variant-indicator .tabs-main-bar-item[data-v-d6937179]{padding:8px 16px}.tabs-main-bar--variant-indicator .tabs-main-bar-item_active[data-v-d6937179]{color:var(--el-color-primary)}.tabs-main-bar--variant-indicator .tabs-main-bar-indicator[data-v-d6937179]{bottom:0;height:2px}.tabs-main-bar--variant-indicator-compact .tabs-main-bar-item[data-v-d6937179]{padding:6px 10px}.tabs-main-bar--variant-indicator-compact .tabs-main-bar-item_active[data-v-d6937179]{color:var(--el-color-primary)}.tabs-main-bar--variant-indicator-compact .tabs-main-bar-indicator[data-v-d6937179]{bottom:0;height:1px}.tabs-main-bar--variant-plain .tabs-main-bar-item[data-v-d6937179]{padding:4px 8px}.tabs-main-bar--variant-plain .tabs-main-bar-item_active[data-v-d6937179]{color:var(--el-color-primary);font-weight:600}.app-breadcrumb[data-v-39d4ee00]{display:flex;align-items:center;justify-content:flex-start;background-color:#fff}.app-body[data-v-305d730c]{transition-duration:.3s;transition-property:padding;transition-timing-function:linear;min-height:100vh}.app-body-shim[data-v-305d730c]{width:100%;--app-viewport-max-height: var(--v078aa5b4)}.app-footer[data-v-393d9768]{transition-duration:.3s;transition-property:height;transition-timing-function:linear;overflow:hidden;width:100%;box-shadow:-5px 0 5px #0000001a}.app-footer-shim[data-v-393d9768]{width:100%;height:100%;padding:0 20px}.app-header[data-v-ef3cc8a6]{transition-duration:.3s;transition-property:height;transition-timing-function:linear;overflow:hidden;position:fixed;left:0;top:0;width:100%;box-shadow:5px 0 5px #0000001a;z-index:1}.app-header-module[data-v-ef3cc8a6]{display:flex;flex:1;height:100%;overflow-x:auto}.app-header-module-item[data-v-ef3cc8a6]{display:flex;justify-content:center;align-items:center;padding:0 20px;white-space:nowrap;height:100%;color:var(--v3dfae5bc)}.app-header-module-item[data-v-ef3cc8a6]:hover,.app-header-module-item_active[data-v-ef3cc8a6]{color:var(--v158cd0d2)}.app-header-module-item_active[data-v-ef3cc8a6]{position:relative}.app-header-module-item_active[data-v-ef3cc8a6]:before{content:"";position:absolute;left:50%;top:0;width:100%;height:3px;background-color:var(--v158cd0d2);transform:translate(-50%)}.app-header-shim[data-v-ef3cc8a6]{width:100%;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 20px;font-size:18px;font-weight:700}.app-header-module-item__icon[data-v-ef3cc8a6]{margin-right:8px}.app-header-userInfo[data-v-ef3cc8a6]{padding-left:80px}.app-header-userInfo__theme-switch[data-v-ef3cc8a6]{margin-right:12px}.app-sidebar[data-v-37ff5e0c]{transition-duration:.3s;transition-property:width;transition-timing-function:linear;position:fixed;left:0;top:0;height:100%;box-shadow:0 5px 5px #0000001a;overflow:visible;z-index:var(--ce9ef212)}.app-sidebar-top[data-v-37ff5e0c]{position:absolute;left:0;right:0;top:0;overflow:hidden}.app-sidebar-bottom[data-v-37ff5e0c]{position:absolute;left:0;right:0;bottom:0;overflow:hidden}.app-sidebar-shim[data-v-37ff5e0c]{position:absolute;left:0;right:0;top:var(--v309db2c2);bottom:var(--v2189b8a1);overflow-x:hidden;overflow-y:auto;--el-menu-border-color: transparent;-webkit-user-select:none;user-select:none}.app-sidebar-toggle[data-v-37ff5e0c]{position:absolute;left:100%;top:50%;transform:translate(-50%,-50%);cursor:pointer;width:22px;height:22px;border-radius:50%;background-color:var(--v65908f82);color:var(--v42a24063);border:1px solid var(--v42a24063);box-shadow:0 1px 2px #0000000f;display:flex;align-items:center;justify-content:center;font-size:12px;z-index:1;isolation:isolate;transition:color .3s,border-color .3s,box-shadow .3s}.app-sidebar-toggle[data-v-37ff5e0c]:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;background-color:var(--v42a24063);opacity:.18;z-index:-1;pointer-events:none;transition:opacity .3s,inset .3s}.app-sidebar-toggle[data-v-37ff5e0c]:active,.app-sidebar-toggle[data-v-37ff5e0c]:focus,.app-sidebar-toggle[data-v-37ff5e0c]:hover{box-shadow:0 2px 6px #0000001f}.app-sidebar-toggle[data-v-37ff5e0c]:active:before,.app-sidebar-toggle[data-v-37ff5e0c]:focus:before,.app-sidebar-toggle[data-v-37ff5e0c]:hover:before{opacity:.32;top:-5px;right:-5px;bottom:-5px;left:-5px}.app-sidebar-toggle-icon[data-v-37ff5e0c]{transition:transform .3s}.app-layout[data-v-2952b5fa]{position:relative}.app-layout_noLogin[data-v-2952b5fa] .app-body,.app-layout_noLogin[data-v-2952b5fa] .app-sidebar,.app-layout_noLogin[data-v-2952b5fa] .app-header,.app-layout_noLogin[data-v-2952b5fa] .app-footer{transition:none!important}.app-page-shim[data-v-fda19616]{--app-viewport-max-height: var(--v54888f0e)}.auto-refresh[data-v-9d78ca06]{display:flex;align-items:center;gap:8px}.auto-refresh-label[data-v-9d78ca06]{font-size:13px;color:var(--el-text-color-regular)}.auto-refresh-interval[data-v-9d78ca06]{width:80px}.table-toolbar[data-v-b028e7a1]{display:flex;justify-content:space-between;align-items:center;padding-bottom:8px;gap:20px}.table-toolbar-left[data-v-b028e7a1],.table-toolbar-right[data-v-b028e7a1]{display:flex;align-items:center;gap:10px}.table-toolbar-icon--rotating[data-v-b028e7a1]{animation:table-toolbar-rotating-b028e7a1 1s linear infinite}@keyframes table-toolbar-rotating-b028e7a1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.data-list-view[data-v-83a69ab1]{width:100%}.data-list-view-empty[data-v-83a69ab1]{display:flex;justify-content:center;align-items:center;width:100%;min-height:60px}.table-main-table[data-v-653f3a9c]{--el-table-header-bg-color: var(--v9176f014)}.table-main-pagination[data-v-653f3a9c]{margin-top:10px;display:flex;justify-content:flex-end}.list-page[data-v-8547b0b7]{min-height:var(--v9d0f4540)}.list-page-header[data-v-8547b0b7],.list-page-operation[data-v-8547b0b7]{margin-bottom:10px}.list-page[data-v-8547b0b7] .el-loading-mask{left:-10px;top:-10px;right:-10px;bottom:-10px}
|
|
1
|
+
.confirm-dialog .content[data-v-8a29e4c8]{overflow-x:hidden;overflow-y:auto;max-height:calc(100vh - 200px)}.confirm-dialog .btn[data-v-8a29e4c8]{width:150px;height:40px;border-radius:4px}.confirm-dialog .main[data-v-8a29e4c8]{position:relative;text-align:center}.confirm-dialog .main .close-box[data-v-8a29e4c8]{position:absolute;top:0;right:0;cursor:pointer;z-index:2}.confirm-dialog .main .shim[data-v-8a29e4c8]{position:relative;z-index:1}.confirm-dialog .main .shim .title[data-v-8a29e4c8]{font-size:18px;font-weight:500}.confirm-dialog .main .shim .content[data-v-8a29e4c8]{font-size:16px;margin-top:15px}.confirm-dialog .main .shim .footer[data-v-8a29e4c8]{display:flex;justify-content:center;align-items:center;padding-top:5px}.confirm-dialog .main .shim .footer>.btn[data-v-8a29e4c8]:not(:last-child){margin-right:30px}.confirm-dialog .main .shim .footer[reverse=true][data-v-8a29e4c8]{flex-direction:row-reverse}.confirm-dialog .main .shim .footer[reverse=true]>.btn[data-v-8a29e4c8]:not(:last-child){margin-right:0;margin-left:30px}.confirm-dialog .el-dialog__header,.confirm-dialog .el-dialog__body{padding:0;background-color:transparent}.action-confirm__title[data-v-5bb407c9]{font-weight:600;margin-bottom:6px}.action-confirm__content[data-v-5bb407c9]{margin-bottom:12px;color:var(--el-text-color-regular)}.action-confirm__actions[data-v-5bb407c9]{display:flex;justify-content:flex-end;gap:8px}.form-item-tip[data-v-0dd66b41]{text-align:left;line-height:1.5;font-size:12px}.form-item-label-hide[data-v-0dd66b41] .el-form-item__label-wrap{display:none}.panel-edit-switch[data-v-ea2a07d5]{position:relative}.panel-edit-switch-edit-btn[data-v-ea2a07d5]{position:absolute;top:0;right:0;z-index:1}.panel-edit-switch-actions[data-v-ea2a07d5]{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.form-search_show[data-v-996aa2dc]{margin-bottom:10px}.form-search .btn-box[data-v-996aa2dc]{display:flex;align-items:center;gap:8px;justify-content:flex-end}.form-search .btn-box-expand-icon[data-v-996aa2dc]{margin-right:2px}.form-search[data-v-996aa2dc] .el-col{padding-left:14px}.form-verify-image[data-v-a4baf877] .el-input__suffix-inner *{margin:0}.form-verify-image-suffix[data-v-a4baf877]{position:absolute;height:100%;border-radius:var(--el-input-border-radius, var(--el-border-radius-base));top:50%;transform:translateY(-50%);overflow:hidden;cursor:pointer}.form-verify-image-suffix-main[data-v-a4baf877]{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#f4f4f4}.tabs-main-bar[data-v-d6937179]{position:relative;display:flex;align-items:center}.tabs-main-bar-item[data-v-d6937179]{border:none;background:transparent;cursor:pointer;color:var(--el-text-color-regular);transition:background .2s,color .2s,box-shadow .2s}.tabs-main-bar-indicator[data-v-d6937179]{position:absolute;left:0;background:var(--el-color-primary);transition:transform .2s,width .2s}.tabs-main-bar--l1 .tabs-main-bar-item[data-v-d6937179]{font-size:16px}.tabs-main-bar--l2 .tabs-main-bar-item[data-v-d6937179]{font-size:14px}.tabs-main-bar--l3 .tabs-main-bar-item[data-v-d6937179],.tabs-main-bar--l4 .tabs-main-bar-item[data-v-d6937179]{font-size:12px}.tabs-main-bar--variant-card[data-v-d6937179]{position:relative;overflow:hidden;gap:2px}.tabs-main-bar--variant-card .tabs-main-bar-item[data-v-d6937179]{position:relative;padding:8px 20px;line-height:1.4;border:1px solid transparent;border-bottom:0;border-radius:6px 6px 0 0}.tabs-main-bar--variant-card .tabs-main-bar-item[data-v-d6937179]:hover:not(.tabs-main-bar-item_active){color:var(--el-color-primary)}.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-d6937179]{color:var(--el-color-primary);border-color:var(--el-border-color-light)}.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-d6937179]:before,.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-d6937179]:after{content:"";position:absolute;bottom:0;width:100vw;height:1px;background:var(--el-border-color-light)}.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-d6937179]:before{right:100%}.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-d6937179]:after{left:100%}.tabs-main-bar--variant-indicator .tabs-main-bar-item[data-v-d6937179]{padding:8px 16px}.tabs-main-bar--variant-indicator .tabs-main-bar-item_active[data-v-d6937179]{color:var(--el-color-primary)}.tabs-main-bar--variant-indicator .tabs-main-bar-indicator[data-v-d6937179]{bottom:0;height:2px}.tabs-main-bar--variant-indicator-compact .tabs-main-bar-item[data-v-d6937179]{padding:6px 10px}.tabs-main-bar--variant-indicator-compact .tabs-main-bar-item_active[data-v-d6937179]{color:var(--el-color-primary)}.tabs-main-bar--variant-indicator-compact .tabs-main-bar-indicator[data-v-d6937179]{bottom:0;height:1px}.tabs-main-bar--variant-plain .tabs-main-bar-item[data-v-d6937179]{padding:4px 8px}.tabs-main-bar--variant-plain .tabs-main-bar-item_active[data-v-d6937179]{color:var(--el-color-primary);font-weight:600}.app-breadcrumb[data-v-2f677890]{display:flex;align-items:center;justify-content:flex-start}.app-body[data-v-265945fd]{transition-duration:.3s;transition-property:padding;transition-timing-function:linear;min-height:100vh}.app-body-shim[data-v-265945fd]{width:100%;--app-viewport-max-height: var(--ba2eb370)}.app-footer[data-v-393d9768]{transition-duration:.3s;transition-property:height;transition-timing-function:linear;overflow:hidden;width:100%;box-shadow:-5px 0 5px #0000001a}.app-footer-shim[data-v-393d9768]{width:100%;height:100%;padding:0 20px}.app-header[data-v-ef3cc8a6]{transition-duration:.3s;transition-property:height;transition-timing-function:linear;overflow:hidden;position:fixed;left:0;top:0;width:100%;box-shadow:5px 0 5px #0000001a;z-index:1}.app-header-module[data-v-ef3cc8a6]{display:flex;flex:1;height:100%;overflow-x:auto}.app-header-module-item[data-v-ef3cc8a6]{display:flex;justify-content:center;align-items:center;padding:0 20px;white-space:nowrap;height:100%;color:var(--v3dfae5bc)}.app-header-module-item[data-v-ef3cc8a6]:hover,.app-header-module-item_active[data-v-ef3cc8a6]{color:var(--v158cd0d2)}.app-header-module-item_active[data-v-ef3cc8a6]{position:relative}.app-header-module-item_active[data-v-ef3cc8a6]:before{content:"";position:absolute;left:50%;top:0;width:100%;height:3px;background-color:var(--v158cd0d2);transform:translate(-50%)}.app-header-shim[data-v-ef3cc8a6]{width:100%;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 20px;font-size:18px;font-weight:700}.app-header-module-item__icon[data-v-ef3cc8a6]{margin-right:8px}.app-header-userInfo[data-v-ef3cc8a6]{padding-left:80px}.app-header-userInfo__theme-switch[data-v-ef3cc8a6]{margin-right:12px}.app-sidebar[data-v-37ff5e0c]{transition-duration:.3s;transition-property:width;transition-timing-function:linear;position:fixed;left:0;top:0;height:100%;box-shadow:0 5px 5px #0000001a;overflow:visible;z-index:var(--ce9ef212)}.app-sidebar-top[data-v-37ff5e0c]{position:absolute;left:0;right:0;top:0;overflow:hidden}.app-sidebar-bottom[data-v-37ff5e0c]{position:absolute;left:0;right:0;bottom:0;overflow:hidden}.app-sidebar-shim[data-v-37ff5e0c]{position:absolute;left:0;right:0;top:var(--v309db2c2);bottom:var(--v2189b8a1);overflow-x:hidden;overflow-y:auto;--el-menu-border-color: transparent;-webkit-user-select:none;user-select:none}.app-sidebar-toggle[data-v-37ff5e0c]{position:absolute;left:100%;top:50%;transform:translate(-50%,-50%);cursor:pointer;width:22px;height:22px;border-radius:50%;background-color:var(--v65908f82);color:var(--v42a24063);border:1px solid var(--v42a24063);box-shadow:0 1px 2px #0000000f;display:flex;align-items:center;justify-content:center;font-size:12px;z-index:1;isolation:isolate;transition:color .3s,border-color .3s,box-shadow .3s}.app-sidebar-toggle[data-v-37ff5e0c]:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;background-color:var(--v42a24063);opacity:.18;z-index:-1;pointer-events:none;transition:opacity .3s,inset .3s}.app-sidebar-toggle[data-v-37ff5e0c]:active,.app-sidebar-toggle[data-v-37ff5e0c]:focus,.app-sidebar-toggle[data-v-37ff5e0c]:hover{box-shadow:0 2px 6px #0000001f}.app-sidebar-toggle[data-v-37ff5e0c]:active:before,.app-sidebar-toggle[data-v-37ff5e0c]:focus:before,.app-sidebar-toggle[data-v-37ff5e0c]:hover:before{opacity:.32;top:-5px;right:-5px;bottom:-5px;left:-5px}.app-sidebar-toggle-icon[data-v-37ff5e0c]{transition:transform .3s}.app-layout[data-v-6924f8b7]{position:relative}.app-layout_noLogin[data-v-6924f8b7] .app-body,.app-layout_noLogin[data-v-6924f8b7] .app-sidebar,.app-layout_noLogin[data-v-6924f8b7] .app-header,.app-layout_noLogin[data-v-6924f8b7] .app-footer{transition:none!important}.app-page-shim[data-v-fda19616]{--app-viewport-max-height: var(--v54888f0e)}[data-v-1f8a1089] .auto-refresh-label{display:flex;font-size:13px;color:var(--el-text-color-regular);margin-bottom:8px}.auto-refresh-group-icon--rotating[data-v-9cac8b09]{animation:auto-refresh-rotating-9cac8b09 1s linear infinite}@keyframes auto-refresh-rotating-9cac8b09{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.table-toolbar[data-v-22ae8fa7]{display:flex;justify-content:space-between;align-items:center;padding-bottom:8px;gap:20px}.table-toolbar-left[data-v-22ae8fa7],.table-toolbar-right[data-v-22ae8fa7]{display:flex;align-items:center;gap:10px}.table-toolbar-switch-view[data-v-22ae8fa7]{--el-switch-off-color: var(--el-color-primary);--el-switch-on-color: var(--el-color-warning)}.data-list-view[data-v-da38bea6]{width:100%}.data-list-view-empty[data-v-da38bea6]{display:flex;justify-content:center;align-items:center;width:100%;min-height:60px}.table-main-pagination[data-v-05684b89]{margin-top:10px;display:flex;justify-content:flex-end}.list-page[data-v-d70424b6]{min-height:var(--v9299b0d4)}.list-page-header[data-v-d70424b6],.list-page-operation[data-v-d70424b6]{margin-bottom:10px}.list-page[data-v-d70424b6] .el-loading-mask{left:-10px;top:-10px;right:-10px;bottom:-10px}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@done-coding/admin-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.1-alpha.0",
|
|
4
4
|
"description": "后台管理核心",
|
|
5
5
|
"private": false,
|
|
6
6
|
"main": "lib/index.cjs",
|
|
@@ -79,5 +79,5 @@
|
|
|
79
79
|
"node": ">=18.0.0",
|
|
80
80
|
"pnpm": ">=9.0.0"
|
|
81
81
|
},
|
|
82
|
-
"gitHead": "
|
|
82
|
+
"gitHead": "66239978d7a39523bcb61aa1f139c782db7807da"
|
|
83
83
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { RouteMetaResolveRaw } from '../../types';
|
|
2
2
|
type __VLS_Props = {
|
|
3
|
-
menus: RouteMetaResolveRaw[];
|
|
4
3
|
menuFlatList: RouteMetaResolveRaw[];
|
|
5
4
|
};
|
|
6
5
|
declare function __VLS_template(): {
|
|
@@ -13,7 +12,6 @@ declare function __VLS_template(): {
|
|
|
13
12
|
};
|
|
14
13
|
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
15
14
|
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
16
|
-
menus: RouteMetaResolveRaw[];
|
|
17
15
|
menuFlatList: RouteMetaResolveRaw[];
|
|
18
16
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
19
17
|
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Component } from 'vue';
|
|
2
2
|
import { DataListViewProps } from './types';
|
|
3
|
-
declare const _default: <T extends Record<string, any>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
3
|
+
declare const _default: <T extends Record<string, any>, F extends Record<string, any>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
4
4
|
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
5
5
|
readonly onSelectionChange?: ((rows: T[]) => any) | undefined;
|
|
6
|
-
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onSelectionChange"> & DataListViewProps<T> & Partial<{}>> & import('vue').PublicProps;
|
|
6
|
+
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onSelectionChange"> & DataListViewProps<T, F> & Partial<{}>> & import('vue').PublicProps;
|
|
7
7
|
expose(exposed: import('vue').ShallowUnwrapRef<import('../table').TableInstance>): void;
|
|
8
8
|
attrs: any;
|
|
9
9
|
slots: {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Component } from 'vue';
|
|
2
|
-
import { ElTableColumnProps, TableInstance } from '../table';
|
|
2
|
+
import { ElTableColumnProps, TableColumnDefaultScope, TableInstance } from '../table';
|
|
3
3
|
/**
|
|
4
4
|
* DataListView 字段渲染作用域
|
|
5
5
|
* ---
|
|
@@ -22,7 +22,7 @@ export type DataViewColumn<T extends Record<string, any> = Record<string, any>>
|
|
|
22
22
|
* 布局无关的数据项容器:分页数据由外部传入,一行几个由消费方在 #item
|
|
23
23
|
* 外层用 CSS 决定,本组件不内置任何列数 / 布局。
|
|
24
24
|
*/
|
|
25
|
-
export interface DataListViewProps<T extends Record<string, any>> {
|
|
25
|
+
export interface DataListViewProps<T extends Record<string, any>, F extends Record<string, any>> {
|
|
26
26
|
/** 当前页数据(外部传入,组件不持有请求 / 分页逻辑) */
|
|
27
27
|
data: T[];
|
|
28
28
|
/** 行唯一键:行数据键名 或 取键函数(内部统一 String 化) */
|
|
@@ -33,6 +33,8 @@ export interface DataListViewProps<T extends Record<string, any>> {
|
|
|
33
33
|
maxHeight?: number;
|
|
34
34
|
/** 是否启用选中能力,缺省关闭 */
|
|
35
35
|
selectable?: boolean;
|
|
36
|
+
/** 获取column 列 上下文 render参数 */
|
|
37
|
+
getRenderCtxParams: () => Pick<TableColumnDefaultScope<T, F>, "injectInfo" | "exposeInfo">;
|
|
36
38
|
}
|
|
37
39
|
/**
|
|
38
40
|
* DataListView 对外实例方法 对齐 elTableInstance
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { BooleanTagProps } from './types';
|
|
2
|
+
declare const _default: import('vue').DefineComponent<BooleanTagProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<BooleanTagProps> & Readonly<{}>, {
|
|
3
|
+
activeText: string;
|
|
4
|
+
inactiveText: string;
|
|
5
|
+
activeTagType: import('./types').BooleanTagType;
|
|
6
|
+
inactiveTagType: import('./types').BooleanTagType;
|
|
7
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
8
|
+
export default _default;
|
|
@@ -2,6 +2,7 @@ import { default as WatchSize } from './WatchSize.vue';
|
|
|
2
2
|
import { default as TabsMain } from './TabsMain.vue';
|
|
3
3
|
import { default as HeightProvider } from './HeightProvider.vue';
|
|
4
4
|
import { default as ActionBtnGroup } from './ActionBtnGroup.vue';
|
|
5
|
+
import { default as BooleanTag } from './BooleanTag.vue';
|
|
5
6
|
export {
|
|
6
7
|
/** 尺寸监听容器:debounce 测默认槽内容宽/高,`@height-change` / `@size-change` 上报 */
|
|
7
8
|
WatchSize,
|
|
@@ -23,5 +24,10 @@ HeightProvider,
|
|
|
23
24
|
* - `show` 函数过滤;`defaultSize` 给基础 size,业务侧显式 size 优先。
|
|
24
25
|
* - 典型消费:TableMain.toolbar 内置 / 表格 OPERATE 列(BL-5 推广)。
|
|
25
26
|
*/
|
|
26
|
-
ActionBtnGroup,
|
|
27
|
+
ActionBtnGroup,
|
|
28
|
+
/**
|
|
29
|
+
* boolean 只读展示为彩色标签(纯展示,无交互):`value` → active/inactive 文本 + ElTag 色彩。
|
|
30
|
+
* 编辑布尔用 ElSwitch;[MUST NOT] 给展示标签挂 onClick toggle 改数据(展示≠编辑,详见 paradigm §9)。
|
|
31
|
+
*/
|
|
32
|
+
BooleanTag, };
|
|
27
33
|
export * from './types';
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Component, ComputedRef, VNode } from 'vue';
|
|
2
|
+
import { TagProps } from 'element-plus';
|
|
2
3
|
/** ActionBtnGroup 按钮 size 枚举(对齐 element-plus ElButton size) */
|
|
3
4
|
export type ActionBtnSize = "large" | "default" | "small";
|
|
4
5
|
/**
|
|
@@ -99,3 +100,21 @@ export interface TabsMainProps {
|
|
|
99
100
|
/** 显式指定 TabsHeader 视觉风格,不传则按 visualLevel 推导默认(L1=card / L2=indicator / L3=indicator-compact / L4=plain)。字号始终跟随 level,不受 variant 影响。 */
|
|
100
101
|
variant?: TabsHeaderVariant;
|
|
101
102
|
}
|
|
103
|
+
/** BooleanTag 标签色彩类型(派生 ElTag type,不重定义) */
|
|
104
|
+
export type BooleanTagType = NonNullable<TagProps["type"]>;
|
|
105
|
+
/**
|
|
106
|
+
* BooleanTag props——boolean 只读展示为彩色标签(纯展示,无交互 / 无 v-model)。
|
|
107
|
+
* enum / number 状态在调用点一行映射为 boolean 传入(组件保持 boolean 纯粹)。
|
|
108
|
+
*/
|
|
109
|
+
export interface BooleanTagProps {
|
|
110
|
+
/** 待展示布尔值 */
|
|
111
|
+
value: boolean;
|
|
112
|
+
/** true 时标签文本,默认「是」 */
|
|
113
|
+
activeText?: string;
|
|
114
|
+
/** false 时标签文本,默认「否」 */
|
|
115
|
+
inactiveText?: string;
|
|
116
|
+
/** true 时标签色彩(派生 ElTag type),默认 success */
|
|
117
|
+
activeTagType?: BooleanTagType;
|
|
118
|
+
/** false 时标签色彩,默认 info */
|
|
119
|
+
inactiveTagType?: BooleanTagType;
|
|
120
|
+
}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { FormItemConfigList, FormScope, FormSearchSearchType } from '../form';
|
|
2
|
-
import { TableColumnDefaultScope, TableColumnHeaderScope } from '../table';
|
|
2
|
+
import { TableColumnDefaultScope, TableColumnHeaderScope, TablePageInfo } from '../table';
|
|
3
3
|
import { ListPageInnerInjectInfo, ListPageInstance } from './types';
|
|
4
4
|
import { VNode } from 'vue';
|
|
5
5
|
import { DataListViewItemScope } from '../data-view';
|
|
6
6
|
declare const _default: <T extends Record<string, any>, PO extends Record<string, any>, SO extends Record<string, any>, SQ extends Record<string, any>, F extends Record<string, any>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
7
7
|
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
8
8
|
readonly "onUpdate:isAutoRefresh"?: ((value: boolean) => any) | undefined;
|
|
9
|
+
readonly "onUpdate:refreshInterval"?: ((value: number) => any) | undefined;
|
|
10
|
+
readonly "onUpdate:customView"?: ((value: boolean) => any) | undefined;
|
|
9
11
|
readonly onDataChange?: ((data: T[]) => any) | undefined;
|
|
10
|
-
readonly onPageInfoChange?: ((info:
|
|
11
|
-
|
|
12
|
-
currentPage: number;
|
|
13
|
-
total: number;
|
|
14
|
-
}) => any) | undefined;
|
|
15
|
-
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onUpdate:isAutoRefresh" | "onDataChange" | "onPageInfoChange"> & ({
|
|
12
|
+
readonly onPageInfoChange?: ((info: TablePageInfo) => any) | undefined;
|
|
13
|
+
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onUpdate:isAutoRefresh" | "onUpdate:refreshInterval" | "onUpdate:customView" | "onDataChange" | "onPageInfoChange"> & ({
|
|
16
14
|
isAutoRefresh?: boolean;
|
|
15
|
+
refreshInterval?: number;
|
|
16
|
+
customView?: boolean;
|
|
17
17
|
} & Partial<Pick<import('../form').FormSearchProps<PO, SO, {}>, "staticQuery">> & {
|
|
18
18
|
formSearchProps?: Partial<Omit<import('../form').FormSearchProps<PO, SO, {}>, "list" | "staticQuery">> | undefined;
|
|
19
19
|
} & Pick<import('../table').TableMainProps<T, import('../form').ExcludeNeverProperties<import('../form').ExtractFormStringifyRawFromObject<PO, SO>> & SQ, ListPageInnerInjectInfo<PO, F>>, import('./types').TableMainRequiredKey> & Partial<Pick<import('../table').TableMainProps<T, import('../form').ExcludeNeverProperties<import('../form').ExtractFormStringifyRawFromObject<PO, SO>> & SQ, ListPageInnerInjectInfo<PO, F>>, import('./types').TableMainOptionsKey>> & {
|
|
@@ -51,12 +51,8 @@ declare const _default: <T extends Record<string, any>, PO extends Record<string
|
|
|
51
51
|
}) => VNode[]) | undefined; };
|
|
52
52
|
emit: {
|
|
53
53
|
(e: "dataChange", data: T[]): void;
|
|
54
|
-
(e: "pageInfoChange", info:
|
|
55
|
-
|
|
56
|
-
currentPage: number;
|
|
57
|
-
total: number;
|
|
58
|
-
}): void;
|
|
59
|
-
} & ((evt: "update:isAutoRefresh", value: boolean) => void);
|
|
54
|
+
(e: "pageInfoChange", info: TablePageInfo): void;
|
|
55
|
+
} & (((evt: "update:isAutoRefresh", value: boolean) => void) & ((evt: "update:refreshInterval", value: number) => void) & ((evt: "update:customView", value: boolean) => void));
|
|
60
56
|
}>) => import('vue').VNode & {
|
|
61
57
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
62
58
|
};
|
|
@@ -2,7 +2,7 @@ import { ExtractFormStringifyFromObject, ExtractFormStringifyFromList, FormItemC
|
|
|
2
2
|
import { TableApiParams, TableApiResult, TableMainInstance, TableMainProps } from '../table';
|
|
3
3
|
export type FormSearchOptionsKey = "staticQuery";
|
|
4
4
|
export type FormSearchRewriteKey = "list";
|
|
5
|
-
export type TableMainOptionsKey = "refine" | "refineReduceHeight" | "viewportHeight" | "parentChannel";
|
|
5
|
+
export type TableMainOptionsKey = "refine" | "refineReduceHeight" | "viewportHeight" | "parentChannel" | "toolbar" | "showSwitchView";
|
|
6
6
|
export type TableMainRequiredKey = "columns" | "rowKey";
|
|
7
7
|
export type TableMainRewriteKey = "api" | "query" | "injectInfo";
|
|
8
8
|
export type ListPageInnerInjectInfo<PO extends Record<string, any>,
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
refreshFn: () => Promise<unknown>;
|
|
4
|
-
/** 是否允许自动刷新。false 时清 timer 且不排下轮 */
|
|
5
|
-
enabled?: boolean;
|
|
6
|
-
};
|
|
1
|
+
import { AutoRefreshProps } from './types';
|
|
2
|
+
type __VLS_Props = AutoRefreshProps;
|
|
7
3
|
type __VLS_PublicProps = {
|
|
8
4
|
modelValue?: boolean;
|
|
9
5
|
"interval"?: number;
|
|
@@ -14,7 +10,5 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {}, {},
|
|
|
14
10
|
}, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
15
11
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
16
12
|
"onUpdate:interval"?: ((value: number) => any) | undefined;
|
|
17
|
-
}>, {
|
|
18
|
-
enabled: boolean;
|
|
19
|
-
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
13
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
20
14
|
export default _default;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AutoRefreshGroupProps } from './types.ts';
|
|
2
|
+
type __VLS_Props = AutoRefreshGroupProps;
|
|
3
|
+
type __VLS_PublicProps = {
|
|
4
|
+
"isAutoRefresh"?: boolean;
|
|
5
|
+
"interval"?: number;
|
|
6
|
+
} & __VLS_Props;
|
|
7
|
+
declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
8
|
+
"update:interval": (value: number) => any;
|
|
9
|
+
"update:isAutoRefresh": (value: boolean) => any;
|
|
10
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
11
|
+
"onUpdate:interval"?: ((value: number) => any) | undefined;
|
|
12
|
+
"onUpdate:isAutoRefresh"?: ((value: boolean) => any) | undefined;
|
|
13
|
+
}>, {
|
|
14
|
+
showAutoRefresh: boolean;
|
|
15
|
+
showRefresh: boolean;
|
|
16
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
17
|
+
export default _default;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { default as TriggerAutoImport } from './TriggerAutoImport.vue';
|
|
2
2
|
import { default as AutoRefresh } from './AutoRefresh.vue';
|
|
3
|
+
import { default as AutoRefreshGroup } from './AutoRefreshGroup.vue';
|
|
3
4
|
import { default as ActionBtn } from './ActionBtn.vue';
|
|
4
5
|
import { default as ActionConfirm } from './ActionConfirm.vue';
|
|
5
6
|
import { default as SelectModule } from './SelectModule.vue';
|
|
@@ -9,4 +10,4 @@ export {
|
|
|
9
10
|
* @deprecated 全局样式引入后已无用——main.ts `import "element-plus/dist/index.css"`
|
|
10
11
|
* + ElementPlusResolver `importStyle: false` 即可,无需本组件触发按需样式。下个 MAJOR 删除。
|
|
11
12
|
*/
|
|
12
|
-
TriggerAutoImport, AutoRefresh, ActionBtn, ActionConfirm, SelectModule, };
|
|
13
|
+
TriggerAutoImport, AutoRefresh, AutoRefreshGroup, ActionBtn, ActionConfirm, SelectModule, };
|
|
@@ -86,3 +86,18 @@ export interface ActionConfirmProps {
|
|
|
86
86
|
*/
|
|
87
87
|
submitFn: () => void | Promise<void>;
|
|
88
88
|
}
|
|
89
|
+
/** AutoRefresh 组件 props */
|
|
90
|
+
export interface AutoRefreshProps {
|
|
91
|
+
/** 刷新方法,返回 Promise。失败不影响下轮定时 */
|
|
92
|
+
refreshFn: () => Promise<unknown>;
|
|
93
|
+
/** 是否不允许自动刷新。true 时清 timer 且不排下轮 */
|
|
94
|
+
disabled?: boolean;
|
|
95
|
+
}
|
|
96
|
+
export interface AutoRefreshGroupProps extends Omit<AutoRefreshProps, "disabled"> {
|
|
97
|
+
/** 是否显示自动刷新开关 */
|
|
98
|
+
showAutoRefresh?: boolean;
|
|
99
|
+
/** 是否显示刷新按钮 */
|
|
100
|
+
showRefresh?: boolean;
|
|
101
|
+
/** 加载是否正在进行中 */
|
|
102
|
+
loading?: boolean;
|
|
103
|
+
}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { TableMainProps, TableMainInstance, ElTableColumnProps } from './types';
|
|
1
|
+
import { TableMainProps, TableMainInstance, ElTableColumnProps, TablePageInfo } from './types';
|
|
2
2
|
declare const _default: <T extends Record<string, any>, SQ extends Record<string, any>, F extends Record<string, any>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
3
3
|
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
4
4
|
readonly onLoadingChange?: ((value: boolean) => any) | undefined;
|
|
5
5
|
readonly "onUpdate:isAutoRefresh"?: ((value: boolean) => any) | undefined;
|
|
6
|
+
readonly "onUpdate:refreshInterval"?: ((value: number) => any) | undefined;
|
|
7
|
+
readonly "onUpdate:customView"?: ((value: boolean) => any) | undefined;
|
|
6
8
|
readonly onPageChange?: ((value: number) => any) | undefined;
|
|
7
9
|
readonly onPageSizeChange?: ((value: number) => any) | undefined;
|
|
8
10
|
readonly onDataChange?: ((data: T[]) => any) | undefined;
|
|
9
|
-
readonly onPageInfoChange?: ((info:
|
|
10
|
-
|
|
11
|
-
currentPage: number;
|
|
12
|
-
total: number;
|
|
13
|
-
}) => any) | undefined;
|
|
14
|
-
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onLoadingChange" | "onUpdate:isAutoRefresh" | "onPageChange" | "onPageSizeChange" | "onDataChange" | "onPageInfoChange"> & ({
|
|
11
|
+
readonly onPageInfoChange?: ((info: TablePageInfo) => any) | undefined;
|
|
12
|
+
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onLoadingChange" | "onUpdate:isAutoRefresh" | "onUpdate:refreshInterval" | "onUpdate:customView" | "onPageChange" | "onPageSizeChange" | "onDataChange" | "onPageInfoChange"> & ({
|
|
15
13
|
isAutoRefresh?: boolean;
|
|
14
|
+
refreshInterval?: number;
|
|
15
|
+
customView?: boolean;
|
|
16
16
|
} & TableMainProps<T, SQ, F>) & Partial<{}>> & import('vue').PublicProps;
|
|
17
17
|
expose(exposed: import('vue').ShallowUnwrapRef<TableMainInstance>): void;
|
|
18
18
|
attrs: any;
|
|
@@ -40,12 +40,8 @@ declare const _default: <T extends Record<string, any>, SQ extends Record<string
|
|
|
40
40
|
(e: "pageChange" | "pageSizeChange", value: number): void;
|
|
41
41
|
(e: "dataChange", data: T[]): void;
|
|
42
42
|
(e: "loadingChange", value: boolean): void;
|
|
43
|
-
(e: "pageInfoChange", info:
|
|
44
|
-
|
|
45
|
-
currentPage: number;
|
|
46
|
-
total: number;
|
|
47
|
-
}): void;
|
|
48
|
-
} & ((evt: "update:isAutoRefresh", value: boolean) => void);
|
|
43
|
+
(e: "pageInfoChange", info: TablePageInfo): void;
|
|
44
|
+
} & (((evt: "update:isAutoRefresh", value: boolean) => void) & ((evt: "update:refreshInterval", value: number) => void) & ((evt: "update:customView", value: boolean) => void));
|
|
49
45
|
}>) => import('vue').VNode & {
|
|
50
46
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
51
47
|
};
|
|
@@ -2,13 +2,17 @@ import { TableToolbarProps } from './types';
|
|
|
2
2
|
declare const _default: <T extends Record<string, any>, SQ extends Record<string, any>, F extends Record<string, any>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
3
3
|
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
4
4
|
readonly "onUpdate:isAutoRefresh"?: ((value: boolean) => any) | undefined;
|
|
5
|
-
|
|
5
|
+
readonly "onUpdate:refreshInterval"?: ((value: number) => any) | undefined;
|
|
6
|
+
readonly "onUpdate:customView"?: ((value: boolean) => any) | undefined;
|
|
7
|
+
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onUpdate:isAutoRefresh" | "onUpdate:refreshInterval" | "onUpdate:customView"> & ({
|
|
6
8
|
isAutoRefresh?: boolean;
|
|
9
|
+
refreshInterval?: number;
|
|
10
|
+
customView?: boolean;
|
|
7
11
|
} & TableToolbarProps<T, SQ, F>) & Partial<{}>> & import('vue').PublicProps;
|
|
8
12
|
expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
|
|
9
13
|
attrs: any;
|
|
10
14
|
slots: {};
|
|
11
|
-
emit: (evt: "update:isAutoRefresh", value: boolean) => void;
|
|
15
|
+
emit: ((evt: "update:isAutoRefresh", value: boolean) => void) & ((evt: "update:refreshInterval", value: number) => void) & ((evt: "update:customView", value: boolean) => void);
|
|
12
16
|
}>) => import('vue').VNode & {
|
|
13
17
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
14
18
|
};
|
|
@@ -4,8 +4,18 @@ import { DotToObject, UnionToIntersection } from '../../types';
|
|
|
4
4
|
import { ExportColumnConfig } from '../../utils';
|
|
5
5
|
import { ExtractPropTypes, VNode } from 'vue';
|
|
6
6
|
import { ActionBtnConfigItem } from '../display';
|
|
7
|
+
import { AutoRefreshGroupProps } from '../misc';
|
|
7
8
|
/** 表格实例 */
|
|
8
9
|
export type TableInstance = Pick<ElTableInstance, "clearSelection" | "getSelectionRows" | "toggleRowSelection" | "toggleAllSelection" | "toggleRowExpansion" | "setCurrentRow" | "clearSort" | "clearFilter" | "doLayout" | "sort" | "scrollTo" | "setScrollTop" | "setScrollLeft" | "columns" | "updateKeyChildren">;
|
|
10
|
+
/** 表格分页信息 */
|
|
11
|
+
export interface TablePageInfo {
|
|
12
|
+
/** 每页数量 */
|
|
13
|
+
pageSize: number;
|
|
14
|
+
/** 当前页码 */
|
|
15
|
+
currentPage: number;
|
|
16
|
+
/** 数据总数(总记录数,非页数) */
|
|
17
|
+
total: number;
|
|
18
|
+
}
|
|
9
19
|
/**
|
|
10
20
|
* 表格请求参数
|
|
11
21
|
* ---
|
|
@@ -65,11 +75,7 @@ F extends Record<string, any> = {}> {
|
|
|
65
75
|
/** 当前选中行数据 */
|
|
66
76
|
selectedList: T[];
|
|
67
77
|
/** 分页信息 */
|
|
68
|
-
pagination:
|
|
69
|
-
currentPage: number;
|
|
70
|
-
pageSize: number;
|
|
71
|
-
total: number;
|
|
72
|
-
};
|
|
78
|
+
pagination: TablePageInfo;
|
|
73
79
|
}
|
|
74
80
|
/**
|
|
75
81
|
* toolbar 额外按钮配置(BL-4 / 2026-05-26 重定义为 ActionBtnConfigItem 别名)
|
|
@@ -100,19 +106,15 @@ F extends Record<string, any> = {}> {
|
|
|
100
106
|
currentPage: number;
|
|
101
107
|
/** 每页行数 */
|
|
102
108
|
pageSize: number;
|
|
109
|
+
/** 是否显示切换视图按钮,默认 false */
|
|
110
|
+
showSwitchView?: boolean;
|
|
103
111
|
}
|
|
104
112
|
/** toolbar props */
|
|
105
113
|
export interface TableToolbarProps<T extends Record<string, any> = Record<string, any>,
|
|
106
114
|
/** 静态参数 */
|
|
107
115
|
SQ extends Record<string, any> = Record<string, any>,
|
|
108
116
|
/** 期望注入到表格列插槽上的额外内容 */
|
|
109
|
-
F extends Record<string, any> = {}> extends TableToolbarPrivateProps<T, SQ, F> {
|
|
110
|
-
/** 是否显示刷新按钮,默认 true */
|
|
111
|
-
showRefresh?: boolean;
|
|
112
|
-
/** 是否显示自动刷新开关,默认 true */
|
|
113
|
-
showAutoRefresh?: boolean;
|
|
114
|
-
/** 自动刷新默认间隔(秒),默认 30 */
|
|
115
|
-
refreshInterval?: number;
|
|
117
|
+
F extends Record<string, any> = {}> extends TableToolbarPrivateProps<T, SQ, F>, Pick<AutoRefreshGroupProps, "showRefresh" | "showAutoRefresh"> {
|
|
116
118
|
/**
|
|
117
119
|
* 是否由前端导出,默认 true。
|
|
118
120
|
* - true:toolbar 内部调 fetchListAll + exportCSV 完成导出
|
|
@@ -178,12 +180,8 @@ SQ extends Record<string, any>,
|
|
|
178
180
|
F extends Record<string, any>> {
|
|
179
181
|
/** 展示分页器 */
|
|
180
182
|
showPager?: boolean;
|
|
181
|
-
/**
|
|
182
|
-
|
|
183
|
-
* 缺省 false——为 false 时渲染/选中与原 ElTable 逐行为等价(零回归)。
|
|
184
|
-
* 需配合 #custom-view-item 作用域插槽定义单项。
|
|
185
|
-
*/
|
|
186
|
-
customView?: boolean;
|
|
183
|
+
/** 是否显示切换视图按钮,默认 false */
|
|
184
|
+
showSwitchView?: boolean;
|
|
187
185
|
/** 是否显示 toolbar(顶层开关,默认 true,优先级高于 toolbar.leftFeatures / rightFeatures) */
|
|
188
186
|
showToolbar?: boolean;
|
|
189
187
|
/** toolbar 配置 */
|
|
@@ -201,7 +199,10 @@ F extends Record<string, any>> {
|
|
|
201
199
|
columns: ElTableColumnProps<T, F>[];
|
|
202
200
|
/** 最大高度 */
|
|
203
201
|
maxHeight?: number;
|
|
204
|
-
/** 表头背景色
|
|
202
|
+
/** @deprecated 表头背景色
|
|
203
|
+
* ----
|
|
204
|
+
* 外部通过 --el-table-header-bg-color 自行设置 或者 通过同意修改主题色
|
|
205
|
+
*/
|
|
205
206
|
headerColor?: string;
|
|
206
207
|
/** 精细化布局 */
|
|
207
208
|
refine?: boolean;
|
|
@@ -13,9 +13,11 @@ export declare const useActivated: (watchFn?: (info: ActivatedInfo) => void) =>
|
|
|
13
13
|
};
|
|
14
14
|
/**
|
|
15
15
|
* @deprecated 请使用 useActivated 替代
|
|
16
|
+
* @example useActivated((info) => { info.isActivated && callback(info) })
|
|
16
17
|
* 激活时执行时间 */
|
|
17
18
|
export declare const useActivatedExec: (callback: (info: ActivatedInfo) => void) => void;
|
|
18
19
|
/**
|
|
19
20
|
* @deprecated 请使用 useActivated 替代
|
|
21
|
+
* @example useActivated((info) => { info.isActivated ? bind(info) : unbind(info) })
|
|
20
22
|
* 激活时监听事件 */
|
|
21
23
|
export declare const useActivatedEvent: (bind: (info: ActivatedInfo) => void, unbind: (info: ActivatedInfo) => void) => void;
|