element-ui-pro-components-test 1.5.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.
Files changed (53) hide show
  1. package/CHANGELOG.md +0 -0
  2. package/LICENSE +21 -0
  3. package/README.md +0 -0
  4. package/lib/dialog-form.js +1175 -0
  5. package/lib/editable-pro-table.js +2080 -0
  6. package/lib/element-ui-pro-components.common.js +193 -0
  7. package/lib/index.js +1 -0
  8. package/lib/locale/index.js +44 -0
  9. package/lib/locale/lang/en.js +46 -0
  10. package/lib/locale/lang/zh-CN.js +46 -0
  11. package/lib/pro-form.js +1036 -0
  12. package/lib/pro-table.js +2779 -0
  13. package/lib/theme-chalk/editable-pro-table.css +1 -0
  14. package/lib/theme-chalk/index.css +1 -0
  15. package/lib/theme-chalk/pro-table.css +1 -0
  16. package/lib/umd/locale/en.js +67 -0
  17. package/lib/umd/locale/zh-CN.js +67 -0
  18. package/lib/utils/breakpoints.js +68 -0
  19. package/lib/utils/debounce.js +20 -0
  20. package/lib/utils/form.js +108 -0
  21. package/package.json +78 -0
  22. package/packages/dialog-form/index.js +9 -0
  23. package/packages/dialog-form/src/components/Submitter.vue +47 -0
  24. package/packages/dialog-form/src/index.vue +404 -0
  25. package/packages/editable-pro-table/index.js +9 -0
  26. package/packages/editable-pro-table/src/components/Editable.vue +203 -0
  27. package/packages/editable-pro-table/src/components/FormItem.vue +193 -0
  28. package/packages/editable-pro-table/src/components/RecordCreator.vue +43 -0
  29. package/packages/editable-pro-table/src/components/RenderCell.vue +181 -0
  30. package/packages/editable-pro-table/src/index.vue +805 -0
  31. package/packages/pro-form/index.js +9 -0
  32. package/packages/pro-form/src/components/Submitter.vue +47 -0
  33. package/packages/pro-form/src/index.vue +309 -0
  34. package/packages/pro-table/index.js +9 -0
  35. package/packages/pro-table/src/components/ColumnAlignSettings.vue +77 -0
  36. package/packages/pro-table/src/components/ColumnSettings.vue +172 -0
  37. package/packages/pro-table/src/components/ColumnSettingsItem.vue +401 -0
  38. package/packages/pro-table/src/components/svg/ArrowIcon.vue +16 -0
  39. package/packages/pro-table/src/components/svg/HolderIcon.vue +17 -0
  40. package/packages/pro-table/src/components/svg/SettingIcon.vue +20 -0
  41. package/packages/pro-table/src/components/svg/VerticalAlginBottomIcon.vue +17 -0
  42. package/packages/pro-table/src/components/svg/VerticalAlginMiddleIcon.vue +17 -0
  43. package/packages/pro-table/src/components/svg/VerticalAlignTopIcon.vue +17 -0
  44. package/packages/pro-table/src/index.vue +934 -0
  45. package/src/components/custom-render/index.vue +16 -0
  46. package/src/components/pro-form-item/index.vue +129 -0
  47. package/src/index.js +57 -0
  48. package/src/locale/index.js +47 -0
  49. package/src/locale/lang/en.js +46 -0
  50. package/src/locale/lang/zh-CN.js +46 -0
  51. package/src/utils/breakpoints.js +61 -0
  52. package/src/utils/debounce.js +22 -0
  53. package/src/utils/form.js +94 -0
@@ -0,0 +1 @@
1
+ .btn-add[data-v-162f12bc]{border-style:dashed;margin:10px 0;width:100%}.editable-form-item.el-form-item.is-editable[data-v-6714ad42]{width:calc(100% - 1px)}.editable-form-item.is-required[data-v-6714ad42]{position:relative}.editable-form-item.is-required[data-v-6714ad42]:before{color:#f56c6c;content:"*";left:-8px;position:absolute}.editable-form-item[data-v-6714ad42] .el-form-item__content .el-cascader,.editable-form-item[data-v-6714ad42] .el-form-item__content .el-date-editor,.editable-form-item[data-v-6714ad42] .el-form-item__content .el-input-number,.editable-form-item[data-v-6714ad42] .el-form-item__content .el-select{width:100%}.text-ellipsis[data-v-934d518a]{display:block;line-height:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.editable-form-item.el-form-item[data-v-934d518a]{margin-bottom:0}.editable-form-item.el-form-item[data-v-934d518a] .el-form-item__content{font-size:unset}.btn-save+span[data-v-7488f54c],span[data-v-7488f54c]+.btn-cancel{margin-left:10px}.editable-pro-table__popover--delete.el-popover{min-width:unset}.editable-pro-table__popover--delete.el-popover>i{color:#f90;margin-right:5px}.editable-pro-table__popover--delete.el-popover>div{margin-left:8px;margin-top:10px}.btn-add-box[data-v-b4388ac0]{left:0;padding:0 10px;position:sticky}.btn-add-box[data-v-b4388ac0]:after{background-color:#ebeef5;bottom:0;content:"";display:inline-block;height:1px;left:0;position:absolute;width:100%}.editable-pro-table[data-v-b4388ac0] .editable-pro-table__fixed-left,.editable-pro-table[data-v-b4388ac0] .editable-pro-table__fixed-right{background-color:#fff;position:sticky;z-index:2}.editable-pro-table[data-v-b4388ac0] td.el-table__cell .cell,.editable-pro-table[data-v-b4388ac0] th.el-table__cell{overflow:unset}.editable-pro-table[data-v-b4388ac0] td.el-table__cell:has(.is-editable){padding:18px 0}.editable-pro-table.el-table--small[data-v-b4388ac0] td.el-table__cell:has(.is-editable){padding:16px 0}.el-form-item.is-error .editable-pro-table .el-input__inner,.el-form-item.is-error .editable-pro-table .el-input__inner:focus{border-color:#dcdfe6}.editable-pro-table .el-form-item.is-error .el-input__inner{border-color:#f56c6c}.editable-pro-table .el-table__body-wrapper.is-scrolling-middle .editable-pro-table__fixed-start-shadow:after,.editable-pro-table .el-table__body-wrapper.is-scrolling-right .editable-pro-table__fixed-start-shadow:after,.editable-pro-table:has(.el-table__body-wrapper.is-scrolling-middle) .editable-pro-table__fixed-start-shadow:after,.editable-pro-table:has(.el-table__body-wrapper.is-scrolling-right) .editable-pro-table__fixed-start-shadow:after{box-shadow:inset 10px 0 8px -8px rgba(5,5,5,.06);content:"";height:100%;inset-inline-start:100%;pointer-events:none;position:absolute;top:0;transition:box-shadow .3s;width:30px;z-index:4}.editable-pro-table .el-table__body-wrapper.is-scrolling-left .editable-pro-table__fixed-end-shadow:before,.editable-pro-table .el-table__body-wrapper.is-scrolling-middle .editable-pro-table__fixed-end-shadow:before,.editable-pro-table:has(.el-table__body-wrapper.is-scrolling-left) .editable-pro-table__fixed-end-shadow:before,.editable-pro-table:has(.el-table__body-wrapper.is-scrolling-middle) .editable-pro-table__fixed-end-shadow:before{box-shadow:inset -10px 0 8px -8px rgba(5,5,5,.06);content:"";height:100%;inset-inline-end:100%;pointer-events:none;position:absolute;top:0;transition:box-shadow .3s;width:30px}
@@ -0,0 +1 @@
1
+ .icon-algin-group[data-v-5f8a700e]{align-items:center;color:#1677ff;cursor:pointer;display:none;gap:8px;margin-left:auto;transition:display .2s}.icon-algin-group svg[data-v-5f8a700e]{outline:none}.column-settings-item-list>.title[data-v-754a43f6]{color:rgba(42,46,54,.65);font-size:12px;margin-block-end:6px;margin-block-start:6px;padding-inline-start:24px}.column-settings-item-list .column-settings-item[data-v-754a43f6]{align-items:center;color:rgba(42,46,54,.88);display:flex;outline:none;padding:0 0 4px}.column-settings-item-list .column-settings-item.draggable[data-v-754a43f6]{cursor:grab}.column-settings-item-list .column-settings-item.dragging[data-v-754a43f6]{position:relative}.column-settings-item-list .column-settings-item.dragging[data-v-754a43f6]:after{animation-duration:.3s;animation-fill-mode:forwards;animation-name:fade-754a43f6;animation-play-state:running;border:1px solid #1677ff;bottom:4px;content:"";inset-inline-end:0;inset-inline-start:0;opacity:0;pointer-events:none;position:absolute;top:0}.column-settings-item-list .column-settings-item .indicator[data-v-754a43f6]{background-color:#1677ff;border-radius:1px;bottom:-3px;height:2px;pointer-events:none;position:absolute;width:calc(100% - 4px);z-index:1}.column-settings-item-list .column-settings-item .indicator.head-indicator[data-v-754a43f6]{top:0}.column-settings-item-list .column-settings-item .indicator[data-v-754a43f6]:after,.column-settings-item-list .column-settings-item .indicator[data-v-754a43f6]:before{background-color:transparent;border:2px solid #1677ff;border-radius:50%;box-sizing:border-box;content:"";height:8px;inset-inline-start:-6px;left:0;position:absolute;top:-3px;width:8px}.column-settings-item-list .column-settings-item .icon-holder[data-v-754a43f6]{flex-shrink:0;line-height:24px;opacity:.2;text-align:center;transition:opacity .3s;visibility:visible;width:24px}.column-settings-item-list .column-settings-item .switcher[data-v-754a43f6]{align-self:stretch;border-radius:6px;cursor:unset;flex:none;line-height:24px;margin:0;text-align:center;transition:all .3s;user-select:none;width:24px}.column-settings-item-list .column-settings-item .text-wrapper[data-v-754a43f6],.column-settings-item-list .column-settings-item[data-v-754a43f6] .el-checkbox{flex:1}.column-settings-item-list .column-settings-item .text-wrapper[data-v-754a43f6],.column-settings-item-list .column-settings-item[data-v-754a43f6] .el-checkbox__label{border-radius:6px;box-sizing:border-box;display:inline-flex;line-height:24px;padding:0 4px;position:relative;transition:background-color .2s}.column-settings-item-list .column-settings-item[data-v-754a43f6] .el-checkbox__label{margin-left:4px;width:calc(100% - 18px)}.column-settings-item-list .column-settings-item[data-v-754a43f6] .label{display:inline-block;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-all}.column-settings-item-list .column-settings-item[data-v-754a43f6] .label:empty:before{content:"\00a0"}.column-settings-item-list .column-settings-item:hover .text-wrapper[data-v-754a43f6],.column-settings-item-list .column-settings-item[data-v-754a43f6]:hover .el-checkbox__label{background:rgba(42,46,54,.04)}.column-settings-item-list .column-settings-item:hover .icon-algin-group[data-v-754a43f6]{display:inline-flex}@keyframes fade-754a43f6{0%{opacity:0}to{opacity:1}}.pro-table__toolbar-item[data-v-1789e606]{color:rgba(42,46,54,.88);cursor:pointer;display:flex;font-size:16px;margin-block:0;margin-inline:4px}.pro-table__toolbar-item svg[data-v-1789e606]{outline:none}.pro-table__toolbar-item[data-v-1789e606]:hover{color:#409eff}.column-settings-popover .popover-header[data-v-1789e606]{display:flex;justify-content:space-between;padding:5px 0}.column-settings-popover .popover-header[data-v-1789e606] .el-checkbox__label{padding-inline-start:8px}.column-settings-popover .popover-header .btn-reset[data-v-1789e606]{color:#409eff;cursor:pointer;font-weight:500}.column-settings-popover .popover-header .btn-reset[data-v-1789e606]:hover{color:#66b1ff}.column-settings-popover .popover-header .btn-reset[data-v-1789e606],.column-settings-popover .popover-header .column-display[data-v-1789e606],.column-settings-popover .popover-header[data-v-1789e606] .el-checkbox__label{line-height:22px}.column-settings-popover .popover-content[data-v-1789e606]{padding-block:0;padding-block-end:8px;padding-inline:0;width:200px}.pro-table__form[data-v-0d0329af]{background-color:#fff;margin-block-end:16px}.pro-table__form[data-v-0d0329af] .el-form-item__content .el-cascader,.pro-table__form[data-v-0d0329af] .el-form-item__content .el-date-editor,.pro-table__form[data-v-0d0329af] .el-form-item__content .el-input-number,.pro-table__form[data-v-0d0329af] .el-form-item__content .el-select{width:100%}.pro-table__form .search-wrapper[data-v-0d0329af]{align-items:center;display:flex;justify-content:flex-end}.pro-table__form .btn-collapse.el-button[data-v-0d0329af]{margin-left:16px}.pro-table__form .btn-collapse.el-button[data-v-0d0329af] span{align-items:center;display:inline-flex;gap:.5em}.pro-table__toolbar[data-v-0d0329af]{display:flex;justify-content:space-between;padding-bottom:16px}.pro-table__toolbar .pro-table__toolbar-items[data-v-0d0329af]{align-items:center;display:flex;gap:8px;margin-left:auto}.pro-table__pagination[data-v-0d0329af]{display:flex;justify-content:flex-end;margin:16px 0;margin-block-end:0}.btn-add[data-v-162f12bc]{border-style:dashed;margin:10px 0;width:100%}.editable-form-item.el-form-item.is-editable[data-v-6714ad42]{width:calc(100% - 1px)}.editable-form-item.is-required[data-v-6714ad42]{position:relative}.editable-form-item.is-required[data-v-6714ad42]:before{color:#f56c6c;content:"*";left:-8px;position:absolute}.editable-form-item[data-v-6714ad42] .el-form-item__content .el-cascader,.editable-form-item[data-v-6714ad42] .el-form-item__content .el-date-editor,.editable-form-item[data-v-6714ad42] .el-form-item__content .el-input-number,.editable-form-item[data-v-6714ad42] .el-form-item__content .el-select{width:100%}.text-ellipsis[data-v-934d518a]{display:block;line-height:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.editable-form-item.el-form-item[data-v-934d518a]{margin-bottom:0}.editable-form-item.el-form-item[data-v-934d518a] .el-form-item__content{font-size:unset}.btn-save+span[data-v-7488f54c],span[data-v-7488f54c]+.btn-cancel{margin-left:10px}.editable-pro-table__popover--delete.el-popover{min-width:unset}.editable-pro-table__popover--delete.el-popover>i{color:#f90;margin-right:5px}.editable-pro-table__popover--delete.el-popover>div{margin-left:8px;margin-top:10px}.btn-add-box[data-v-b4388ac0]{left:0;padding:0 10px;position:sticky}.btn-add-box[data-v-b4388ac0]:after{background-color:#ebeef5;bottom:0;content:"";display:inline-block;height:1px;left:0;position:absolute;width:100%}.editable-pro-table[data-v-b4388ac0] .editable-pro-table__fixed-left,.editable-pro-table[data-v-b4388ac0] .editable-pro-table__fixed-right{background-color:#fff;position:sticky;z-index:2}.editable-pro-table[data-v-b4388ac0] td.el-table__cell .cell,.editable-pro-table[data-v-b4388ac0] th.el-table__cell{overflow:unset}.editable-pro-table[data-v-b4388ac0] td.el-table__cell:has(.is-editable){padding:18px 0}.editable-pro-table.el-table--small[data-v-b4388ac0] td.el-table__cell:has(.is-editable){padding:16px 0}.el-form-item.is-error .editable-pro-table .el-input__inner,.el-form-item.is-error .editable-pro-table .el-input__inner:focus{border-color:#dcdfe6}.editable-pro-table .el-form-item.is-error .el-input__inner{border-color:#f56c6c}.editable-pro-table .el-table__body-wrapper.is-scrolling-middle .editable-pro-table__fixed-start-shadow:after,.editable-pro-table .el-table__body-wrapper.is-scrolling-right .editable-pro-table__fixed-start-shadow:after,.editable-pro-table:has(.el-table__body-wrapper.is-scrolling-middle) .editable-pro-table__fixed-start-shadow:after,.editable-pro-table:has(.el-table__body-wrapper.is-scrolling-right) .editable-pro-table__fixed-start-shadow:after{box-shadow:inset 10px 0 8px -8px rgba(5,5,5,.06);content:"";height:100%;inset-inline-start:100%;pointer-events:none;position:absolute;top:0;transition:box-shadow .3s;width:30px;z-index:4}.editable-pro-table .el-table__body-wrapper.is-scrolling-left .editable-pro-table__fixed-end-shadow:before,.editable-pro-table .el-table__body-wrapper.is-scrolling-middle .editable-pro-table__fixed-end-shadow:before,.editable-pro-table:has(.el-table__body-wrapper.is-scrolling-left) .editable-pro-table__fixed-end-shadow:before,.editable-pro-table:has(.el-table__body-wrapper.is-scrolling-middle) .editable-pro-table__fixed-end-shadow:before{box-shadow:inset -10px 0 8px -8px rgba(5,5,5,.06);content:"";height:100%;inset-inline-end:100%;pointer-events:none;position:absolute;top:0;transition:box-shadow .3s;width:30px}
@@ -0,0 +1 @@
1
+ .icon-algin-group[data-v-5f8a700e]{align-items:center;color:#1677ff;cursor:pointer;display:none;gap:8px;margin-left:auto;transition:display .2s}.icon-algin-group svg[data-v-5f8a700e]{outline:none}.column-settings-item-list>.title[data-v-754a43f6]{color:rgba(42,46,54,.65);font-size:12px;margin-block-end:6px;margin-block-start:6px;padding-inline-start:24px}.column-settings-item-list .column-settings-item[data-v-754a43f6]{align-items:center;color:rgba(42,46,54,.88);display:flex;outline:none;padding:0 0 4px}.column-settings-item-list .column-settings-item.draggable[data-v-754a43f6]{cursor:grab}.column-settings-item-list .column-settings-item.dragging[data-v-754a43f6]{position:relative}.column-settings-item-list .column-settings-item.dragging[data-v-754a43f6]:after{animation-duration:.3s;animation-fill-mode:forwards;animation-name:fade-754a43f6;animation-play-state:running;border:1px solid #1677ff;bottom:4px;content:"";inset-inline-end:0;inset-inline-start:0;opacity:0;pointer-events:none;position:absolute;top:0}.column-settings-item-list .column-settings-item .indicator[data-v-754a43f6]{background-color:#1677ff;border-radius:1px;bottom:-3px;height:2px;pointer-events:none;position:absolute;width:calc(100% - 4px);z-index:1}.column-settings-item-list .column-settings-item .indicator.head-indicator[data-v-754a43f6]{top:0}.column-settings-item-list .column-settings-item .indicator[data-v-754a43f6]:after,.column-settings-item-list .column-settings-item .indicator[data-v-754a43f6]:before{background-color:transparent;border:2px solid #1677ff;border-radius:50%;box-sizing:border-box;content:"";height:8px;inset-inline-start:-6px;left:0;position:absolute;top:-3px;width:8px}.column-settings-item-list .column-settings-item .icon-holder[data-v-754a43f6]{flex-shrink:0;line-height:24px;opacity:.2;text-align:center;transition:opacity .3s;visibility:visible;width:24px}.column-settings-item-list .column-settings-item .switcher[data-v-754a43f6]{align-self:stretch;border-radius:6px;cursor:unset;flex:none;line-height:24px;margin:0;text-align:center;transition:all .3s;user-select:none;width:24px}.column-settings-item-list .column-settings-item .text-wrapper[data-v-754a43f6],.column-settings-item-list .column-settings-item[data-v-754a43f6] .el-checkbox{flex:1}.column-settings-item-list .column-settings-item .text-wrapper[data-v-754a43f6],.column-settings-item-list .column-settings-item[data-v-754a43f6] .el-checkbox__label{border-radius:6px;box-sizing:border-box;display:inline-flex;line-height:24px;padding:0 4px;position:relative;transition:background-color .2s}.column-settings-item-list .column-settings-item[data-v-754a43f6] .el-checkbox__label{margin-left:4px;width:calc(100% - 18px)}.column-settings-item-list .column-settings-item[data-v-754a43f6] .label{display:inline-block;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-all}.column-settings-item-list .column-settings-item[data-v-754a43f6] .label:empty:before{content:"\00a0"}.column-settings-item-list .column-settings-item:hover .text-wrapper[data-v-754a43f6],.column-settings-item-list .column-settings-item[data-v-754a43f6]:hover .el-checkbox__label{background:rgba(42,46,54,.04)}.column-settings-item-list .column-settings-item:hover .icon-algin-group[data-v-754a43f6]{display:inline-flex}@keyframes fade-754a43f6{0%{opacity:0}to{opacity:1}}.pro-table__toolbar-item[data-v-1789e606]{color:rgba(42,46,54,.88);cursor:pointer;display:flex;font-size:16px;margin-block:0;margin-inline:4px}.pro-table__toolbar-item svg[data-v-1789e606]{outline:none}.pro-table__toolbar-item[data-v-1789e606]:hover{color:#409eff}.column-settings-popover .popover-header[data-v-1789e606]{display:flex;justify-content:space-between;padding:5px 0}.column-settings-popover .popover-header[data-v-1789e606] .el-checkbox__label{padding-inline-start:8px}.column-settings-popover .popover-header .btn-reset[data-v-1789e606]{color:#409eff;cursor:pointer;font-weight:500}.column-settings-popover .popover-header .btn-reset[data-v-1789e606]:hover{color:#66b1ff}.column-settings-popover .popover-header .btn-reset[data-v-1789e606],.column-settings-popover .popover-header .column-display[data-v-1789e606],.column-settings-popover .popover-header[data-v-1789e606] .el-checkbox__label{line-height:22px}.column-settings-popover .popover-content[data-v-1789e606]{padding-block:0;padding-block-end:8px;padding-inline:0;width:200px}.pro-table__form[data-v-0d0329af]{background-color:#fff;margin-block-end:16px}.pro-table__form[data-v-0d0329af] .el-form-item__content .el-cascader,.pro-table__form[data-v-0d0329af] .el-form-item__content .el-date-editor,.pro-table__form[data-v-0d0329af] .el-form-item__content .el-input-number,.pro-table__form[data-v-0d0329af] .el-form-item__content .el-select{width:100%}.pro-table__form .search-wrapper[data-v-0d0329af]{align-items:center;display:flex;justify-content:flex-end}.pro-table__form .btn-collapse.el-button[data-v-0d0329af]{margin-left:16px}.pro-table__form .btn-collapse.el-button[data-v-0d0329af] span{align-items:center;display:inline-flex;gap:.5em}.pro-table__toolbar[data-v-0d0329af]{display:flex;justify-content:space-between;padding-bottom:16px}.pro-table__toolbar .pro-table__toolbar-items[data-v-0d0329af]{align-items:center;display:flex;gap:8px;margin-left:auto}.pro-table__pagination[data-v-0d0329af]{display:flex;justify-content:flex-end;margin:16px 0;margin-block-end:0}
@@ -0,0 +1,67 @@
1
+ (function (global, factory) {
2
+ if (typeof define === "function" && define.amd) {
3
+ define("element-ui-pro-components/locale/en", ["exports"], factory);
4
+ } else if (typeof exports !== "undefined") {
5
+ factory(exports);
6
+ } else {
7
+ var mod = {
8
+ exports: {}
9
+ };
10
+ factory(mod.exports);
11
+ global.ELEMENT_UI_PRO_COMPONENTS.lang = global.ELEMENT_UI_PRO_COMPONENTS.lang || {};
12
+ global.ELEMENT_UI_PRO_COMPONENTS.lang.en = mod.exports;
13
+ }
14
+ })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports) {
15
+ "use strict";
16
+
17
+ Object.defineProperty(_exports, "__esModule", {
18
+ value: true
19
+ });
20
+ _exports.default = void 0;
21
+ var _default = _exports.default = {
22
+ elProComponents: {
23
+ placeholder: {
24
+ input: 'Please enter',
25
+ select: 'Please select',
26
+ selectTime: 'Select time',
27
+ selectDate: 'Select date'
28
+ },
29
+ proForm: {
30
+ reset: 'Reset',
31
+ submit: 'Submit'
32
+ },
33
+ dialogForm: {
34
+ cancel: 'Cancel',
35
+ confirm: 'Confirm'
36
+ },
37
+ proTable: {
38
+ expand: 'Expand',
39
+ collapse: 'Collapse',
40
+ search: 'Search',
41
+ reset: 'Reset'
42
+ },
43
+ tableToolBar: {
44
+ columnSetting: 'Settings',
45
+ reset: 'Reset',
46
+ columnDisplay: 'Column Display',
47
+ leftPin: 'Pin to left',
48
+ rightPin: 'Pin to right',
49
+ noPin: 'Unpinned',
50
+ leftFixedTitle: 'Fixed the left',
51
+ rightFixedTitle: 'Fixed the right',
52
+ noFixedTitle: 'Not Fixed'
53
+ },
54
+ editableProTable: {
55
+ add: 'add a row of data',
56
+ onlyAddOneLine: 'Only one line can be added',
57
+ save: 'Save',
58
+ delete: 'Delete',
59
+ cancel: 'Cancel',
60
+ deleteThisLine: 'Delete this line?',
61
+ confirmButtonText: 'Yes',
62
+ cancelButtonText: 'No',
63
+ onlyOneLineEditor: 'Only one line can be edited'
64
+ }
65
+ }
66
+ };
67
+ });
@@ -0,0 +1,67 @@
1
+ (function (global, factory) {
2
+ if (typeof define === "function" && define.amd) {
3
+ define("element-ui-pro-components/locale/zh-CN", ["exports"], factory);
4
+ } else if (typeof exports !== "undefined") {
5
+ factory(exports);
6
+ } else {
7
+ var mod = {
8
+ exports: {}
9
+ };
10
+ factory(mod.exports);
11
+ global.ELEMENT_UI_PRO_COMPONENTS.lang = global.ELEMENT_UI_PRO_COMPONENTS.lang || {};
12
+ global.ELEMENT_UI_PRO_COMPONENTS.lang.zhCN = mod.exports;
13
+ }
14
+ })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports) {
15
+ "use strict";
16
+
17
+ Object.defineProperty(_exports, "__esModule", {
18
+ value: true
19
+ });
20
+ _exports.default = void 0;
21
+ var _default = _exports.default = {
22
+ elProComponents: {
23
+ placeholder: {
24
+ input: '请输入',
25
+ select: '请选择',
26
+ selectTime: '选择时间',
27
+ selectDate: '选择日期'
28
+ },
29
+ proForm: {
30
+ reset: '重置',
31
+ submit: '提交'
32
+ },
33
+ dialogForm: {
34
+ cancel: '取消',
35
+ confirm: '确定'
36
+ },
37
+ proTable: {
38
+ expand: '展开',
39
+ collapse: '收起',
40
+ search: '查询',
41
+ reset: '重置'
42
+ },
43
+ tableToolBar: {
44
+ columnSetting: '列设置',
45
+ reset: '重置',
46
+ columnDisplay: '列展示',
47
+ leftPin: '固定在列首',
48
+ rightPin: '固定在列尾',
49
+ noPin: '不固定',
50
+ leftFixedTitle: '固定在左侧',
51
+ rightFixedTitle: '固定在右侧',
52
+ noFixedTitle: '不固定'
53
+ },
54
+ editableProTable: {
55
+ add: '添加一行数据',
56
+ onlyAddOneLine: '只能新增一行',
57
+ save: '保存',
58
+ delete: '删除',
59
+ cancel: '取消',
60
+ deleteThisLine: '删除此项?',
61
+ confirmButtonText: '确定',
62
+ cancelButtonText: '取消',
63
+ onlyOneLineEditor: '只能同时编辑一行'
64
+ }
65
+ }
66
+ };
67
+ });
@@ -0,0 +1,68 @@
1
+ // 断点配置
2
+ const BREAKPOINTS = {
3
+ xs: 0,
4
+ // < 768px
5
+ sm: 768,
6
+ // ≥ 768px
7
+ md: 992,
8
+ // ≥ 992px
9
+ lg: 1200,
10
+ // ≥ 1200px
11
+ xl: 1920 // ≥ 1920px
12
+ };
13
+
14
+ // Grid cols 份数
15
+ export const GRID_COLUMNS = 24;
16
+
17
+ // 断点所占的份数
18
+ // 覆盖关系:默认 (span) < xs < sm < md < lg < xl
19
+ // 特殊情况:未指定默认(span)则显示 24 列
20
+ export const defaultColConfig = {
21
+ xs: 24,
22
+ // <768px
23
+ sm: 24,
24
+ // >=768px
25
+ md: 12,
26
+ // >=992px
27
+ lg: 8,
28
+ // ≥1200px
29
+ xl: 6 // ≥1920px
30
+ };
31
+
32
+ // 断点优先级(从大到小)
33
+ export const BREAKPOINT_ORDER = ['xl', 'lg', 'md', 'sm', 'xs'];
34
+
35
+ /**
36
+ * 根据当前宽度获取对应的断点
37
+ * @param {number} width - 当前宽度
38
+ * @returns {string} - 断点名称
39
+ */
40
+ const getCurrentBreakpoint = width => {
41
+ if (width >= BREAKPOINTS.xl) return 'xl';
42
+ if (width >= BREAKPOINTS.lg) return 'lg';
43
+ if (width >= BREAKPOINTS.md) return 'md';
44
+ if (width >= BREAKPOINTS.sm) return 'sm';
45
+ return 'xs';
46
+ };
47
+
48
+ /**
49
+ * 动态计算当前应占的份数
50
+ * @param {Object} config - 配置对象 {span, xs, sm, md, lg, xl}
51
+ * @returns {number} - 应占的份数
52
+ */
53
+ export const calculateCurrentSpan = config => {
54
+ const breakpoint = getCurrentBreakpoint(window.innerWidth);
55
+
56
+ // 按优先级获取配置值
57
+ const breakpoints = BREAKPOINT_ORDER;
58
+ const currentIndex = breakpoints.indexOf(breakpoint);
59
+
60
+ // 按断点优先级查找
61
+ for (let i = currentIndex; i < breakpoints.length; i++) {
62
+ const bp = breakpoints[i];
63
+ if (config[bp]) {
64
+ return config[bp];
65
+ }
66
+ }
67
+ return config.span || GRID_COLUMNS;
68
+ };
@@ -0,0 +1,20 @@
1
+ export const debounce = (func, delay = 150) => {
2
+ let timeout;
3
+ const debounced = (...args) => {
4
+ if (timeout) {
5
+ clearTimeout(timeout);
6
+ }
7
+ timeout = setTimeout(() => {
8
+ func.apply(this, args);
9
+ }, delay);
10
+ };
11
+
12
+ // 添加取消方法
13
+ debounced.cancel = function () {
14
+ if (timeout) {
15
+ clearTimeout(timeout);
16
+ timeout = null;
17
+ }
18
+ };
19
+ return debounced;
20
+ };
@@ -0,0 +1,108 @@
1
+ import { t } from "element-ui-pro-components/lib/locale";
2
+
3
+ /**
4
+ * @desc 获取表单元素默认的 placeholder
5
+ * @param {String} valueType 表单元素类型
6
+ */
7
+ function getDefaultPlaceholder(valueType) {
8
+ switch (valueType) {
9
+ case 'input':
10
+ return t('elProComponents.placeholder.input');
11
+ case 'select':
12
+ case 'cascader':
13
+ return t('elProComponents.placeholder.select');
14
+ case 'time-picker':
15
+ return t('elProComponents.placeholder.selectTime');
16
+ case 'date-picker':
17
+ return t('elProComponents.placeholder.selectDate');
18
+ default:
19
+ return '';
20
+ }
21
+ }
22
+
23
+ /**
24
+ * @desc 设置 placeholder
25
+ * @param {Object} fieldProps 表单元素属性
26
+ * @param {String} valueType 表单元素类型
27
+ */
28
+ export function setPlaceholder(fieldProps, valueType) {
29
+ var _fieldProps$placehold;
30
+ fieldProps.placeholder = (_fieldProps$placehold = fieldProps.placeholder) !== null && _fieldProps$placehold !== void 0 ? _fieldProps$placehold : getDefaultPlaceholder(valueType);
31
+ }
32
+
33
+ /**
34
+ * @desc 设置 select options
35
+ * @param {Object} item 表单项
36
+ * @param {String} item.valueType 表单类型
37
+ * @param {Array} item.options 下拉列表
38
+ * @param {String} item.prop 字段属性值
39
+ * @param {Function} item.optionLoader 异步获取下拉数据
40
+ * @param {Object} cachedOptions 下拉数据
41
+ */
42
+ export function setSelectOptions(item, cachedOptions) {
43
+ const {
44
+ valueType,
45
+ prop,
46
+ options,
47
+ valueEnum,
48
+ optionLoader
49
+ } = item;
50
+ if (valueType !== 'select') {
51
+ return;
52
+ }
53
+
54
+ // 如果已有 options,保持不变
55
+ if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
56
+ return;
57
+ }
58
+
59
+ // 有 valueEnum,自动转换
60
+ if (valueEnum) {
61
+ if (valueEnum instanceof Map) {
62
+ item.options = Array.from(valueEnum, ([key, value]) => ({
63
+ label: value,
64
+ value: key
65
+ }));
66
+ } else {
67
+ item.options = Object.entries(valueEnum).map(([key, value]) => ({
68
+ label: value,
69
+ value: key
70
+ }));
71
+ }
72
+ return;
73
+ }
74
+
75
+ // 设置 options:优先使用缓存
76
+ item.options = optionLoader && cachedOptions[prop] ? cachedOptions[prop] : [];
77
+ }
78
+
79
+ /**
80
+ * @desc 设置 select options
81
+ * @param {Object} fieldProps 表单元素属性
82
+ * @param {Object} item 表单项
83
+ * @param {String} item.valueType 表单类型
84
+ * @param {String} item.prop 字段属性值
85
+ * @param {Function} item.optionLoader 异步获取下拉数据
86
+ * @param {Object} cachedOptions 下拉数据
87
+ */
88
+ export function setCascaderOptions(fieldProps, item, cachedOptions) {
89
+ var _fieldProps$options;
90
+ const {
91
+ valueType,
92
+ prop,
93
+ optionLoader
94
+ } = item;
95
+ if (valueType !== 'cascader') {
96
+ return;
97
+ }
98
+
99
+ // 如果已有 options,保持不变
100
+ if (((_fieldProps$options = fieldProps.options) === null || _fieldProps$options === void 0 ? void 0 : _fieldProps$options.length) > 0) {
101
+ return;
102
+ }
103
+
104
+ // 设置 options:优先使用缓存
105
+ if (optionLoader && cachedOptions[prop]) {
106
+ fieldProps.options = cachedOptions[prop];
107
+ }
108
+ }
package/package.json ADDED
@@ -0,0 +1,78 @@
1
+ {
2
+ "name": "element-ui-pro-components-test",
3
+ "version": "1.5.0",
4
+ "description": "Vue 2 + Element UI Pro Components: ProForm, DialogForm, ProTable, EditableProTable.",
5
+ "main": "lib/element-ui-pro-components.common.js",
6
+ "files": [
7
+ "lib",
8
+ "src",
9
+ "packages",
10
+ "CHANGELOG.md"
11
+ ],
12
+ "scripts": {
13
+ "build:umd": "node build/bin/build-locale.js",
14
+ "build:utils": "cross-env BABEL_ENV=utils babel src --out-dir lib --ignore src/index.js",
15
+ "docs:dev": "vuepress dev docs",
16
+ "docs:build": "vuepress build docs",
17
+ "examples:dev": "webpack-dev-server --config build/webpack.dev.js",
18
+ "lib:build": "webpack --config build/webpack.config.js && webpack --config build/webpack.common.js && webpack --config build/webpack.component.js && npm run build:utils && npm run build:umd"
19
+ },
20
+ "repository": {
21
+ "type": "git",
22
+ "url": "https://github.com/gameorstudy/element-ui-pro-components"
23
+ },
24
+ "keywords": [
25
+ "element",
26
+ "element-ui",
27
+ "pro-components",
28
+ "vue2",
29
+ "pro-form",
30
+ "dialog-form",
31
+ "pro-table",
32
+ "editable-pro-table"
33
+ ],
34
+ "license": "MIT",
35
+ "bugs": {
36
+ "url": "https://github.com/gameorstudy/element-ui-pro-components/issues"
37
+ },
38
+ "unpkg": "lib/index.js",
39
+ "style": "lib/theme-chalk/index.css",
40
+ "peerDependencies": {
41
+ "el-table-prepend": "^1.2.0",
42
+ "element-ui": "^2.15.14",
43
+ "vue": "^2.6.10",
44
+ "vue-fragment": "^1.6.0"
45
+ },
46
+ "devDependencies": {
47
+ "@babel/cli": "^7.28.6",
48
+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6",
49
+ "@babel/plugin-proposal-optional-chaining": "^7.21.0",
50
+ "@vue/babel-preset-jsx": "^1.4.0",
51
+ "babel-loader": "^8.3.0",
52
+ "cross-env": "^10.1.0",
53
+ "css-loader": "^2.1.0",
54
+ "el-table-prepend": "^1.2.0",
55
+ "element-ui": "^2.15.14",
56
+ "html-webpack-plugin": "^4.5.2",
57
+ "less": "^4.6.4",
58
+ "less-loader": "^7.3.0",
59
+ "mini-css-extract-plugin": "^1.6.2",
60
+ "null-loader": "^4.0.1",
61
+ "optimize-css-assets-webpack-plugin": "^6.0.1",
62
+ "progress-bar-webpack-plugin": "^2.1.0",
63
+ "style-loader": "^2.0.0",
64
+ "terser-webpack-plugin": "^4.2.3",
65
+ "url-loader": "^4.1.1",
66
+ "vue": "^2.6.10",
67
+ "vue-fragment": "^1.6.0",
68
+ "vue-loader": "^15.10.0",
69
+ "vue-template-compiler": "^2.6.10",
70
+ "vuepress": "^1.9.10",
71
+ "webpack": "^4.14.0",
72
+ "webpack-cli": "^3.0.8",
73
+ "webpack-dev-server": "^3.11.3"
74
+ },
75
+ "dependencies": {
76
+ "babel-plugin-module-resolver": "^5.0.3"
77
+ }
78
+ }
@@ -0,0 +1,9 @@
1
+ import DialogForm from './src'
2
+
3
+ // 为组件提供 install 方法
4
+ DialogForm.install = function(Vue) {
5
+ Vue.component(DialogForm.name, DialogForm)
6
+ }
7
+
8
+ // 默认导出组件
9
+ export default DialogForm
@@ -0,0 +1,47 @@
1
+ <script>
2
+ export default {
3
+ name: 'Submitter',
4
+ props: {
5
+ render: {
6
+ validator: (value) => {
7
+ return value === null || typeof value === 'function'
8
+ },
9
+ required: true
10
+ },
11
+ submitter: {
12
+ type: Object,
13
+ required: true
14
+ },
15
+ actions: {
16
+ type: Object,
17
+ required: true
18
+ }
19
+ },
20
+ render: function(h) {
21
+ const {
22
+ submitter: { cancelText, confirmText, cancelButtonProps, confirmButtonProps },
23
+ actions: { close, submit },
24
+ render
25
+ } = this
26
+ // { ...props } 传递组件属性时 需要 props 包裹
27
+ const cancelProps = { props: cancelButtonProps, cancelButtonProps }
28
+ const confirmProps = { props: confirmButtonProps, confirmButtonProps }
29
+ const doms = [
30
+ <el-button { ...cancelProps } onClick={close} key='close'>{ cancelText }</el-button>,
31
+ <el-button type="primary" { ...confirmProps } onClick={submit} key='submit'>{ confirmText }</el-button>
32
+ ]
33
+
34
+ return (
35
+ render
36
+ ? <Fragment>{render(this.actions, doms)}</Fragment>
37
+ : <span class="dialog-form__submitter">
38
+ {doms}
39
+ </span>
40
+ )
41
+ }
42
+ }
43
+ </script>
44
+
45
+ <style scoped>
46
+
47
+ </style>