@tachybase/module-hera 2.3.21 → 2.3.23
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/client/index.js +2 -2
- package/dist/client/schema-settings/SchemaSettingsDatePresets.d.ts +1 -1
- package/dist/externalVersion.js +7 -11
- package/dist/node_modules/fs-extra/package.json +1 -1
- package/dist/server/actions/link-manager-controller.d.ts +1 -1
- package/dist/server/actions/link-manager-controller.js +2 -2
- package/dist/server/actions/plugin-version.d.ts +1 -1
- package/dist/server/actions/plugin-version.js +2 -2
- package/dist/server/actions/robot-controller.d.ts +1 -1
- package/dist/server/actions/robot-controller.js +2 -2
- package/dist/server/actions/system-message-controller.d.ts +1 -1
- package/dist/server/actions/system-message-controller.js +2 -2
- package/dist/server/actions/token-configuration-controller.d.ts +1 -1
- package/dist/server/actions/token-configuration-controller.js +2 -2
- package/dist/server/collections/link-manage.d.ts +1 -1
- package/dist/server/collections/link-manage.js +2 -2
- package/dist/server/collections/systemSettings.d.ts +1 -1
- package/dist/server/collections/systemSettings.js +2 -2
- package/dist/server/collections/system_message.d.ts +1 -1
- package/dist/server/collections/system_message.js +2 -2
- package/dist/server/collections/token-configuration.d.ts +1 -1
- package/dist/server/collections/token-configuration.js +2 -2
- package/dist/server/fields/calc.d.ts +1 -1
- package/dist/server/fields/calc.js +3 -3
- package/dist/server/fields/tstzrange.d.ts +1 -1
- package/dist/server/fields/tstzrange.js +3 -3
- package/dist/server/migrations/20250102010713-add-plugin-department.d.ts +1 -1
- package/dist/server/migrations/20250102010713-add-plugin-department.js +1 -1
- package/dist/server/plugin.d.ts +1 -1
- package/dist/server/plugin.js +1 -1
- package/dist/server/services/plugin-version.d.ts +1 -1
- package/dist/server/services/plugin-version.js +2 -2
- package/dist/server/services/sql-loader.js +6 -6
- package/dist/server/services/system-setting-service.js +2 -2
- package/package.json +14 -24
package/dist/client/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
(function(){"use strict";try{if(typeof document!="undefined"){var e=document.createElement("style");e.id="@tachybase/module-hera",e.appendChild(document.createTextNode('body{margin:0}.x-spreadsheet{-webkit-user-select:none;user-select:none;box-sizing:content-box;-webkit-font-smoothing:antialiased;background:#fff;font-family:Lato,Source Sans Pro,Roboto,Helvetica,Arial,sans-serif;font-size:13px;line-height:normal}.x-spreadsheet textarea{font:400 13px Arial,Lato,Source Sans Pro,Roboto,Helvetica,sans-serif}.x-spreadsheet-sheet{position:relative;overflow:hidden}.x-spreadsheet-table{vertical-align:bottom}.x-spreadsheet-tooltip{color:#fff;z-index:201;background:#000;border-radius:1px;padding:5px 10px;font-family:inherit;font-size:12px;position:absolute}.x-spreadsheet-tooltip:before{pointer-events:none;content:"";background:inherit;z-index:1;width:8px;height:8px;position:absolute;top:-4px;left:calc(50% - 4px);transform:rotate(45deg);box-shadow:1px 1px 3px -1px #0000004d}.x-spreadsheet-color-palette{padding:5px}.x-spreadsheet-color-palette table{border-collapse:separate;border-spacing:2px;background:#fff;margin:0;padding:0}.x-spreadsheet-color-palette table td{cursor:pointer;border:1px solid #0000;margin:0}.x-spreadsheet-color-palette table td:hover{border-color:#ddd}.x-spreadsheet-color-palette table td .x-spreadsheet-color-palette-cell{width:16px;height:16px}.x-spreadsheet-border-palette{padding:6px}.x-spreadsheet-border-palette table{border-collapse:separate;border-spacing:0;table-layout:fixed;background:#fff;margin:0;padding:0}.x-spreadsheet-border-palette table td{margin:0}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left{border-right:1px solid #eee;padding-right:6px}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell{cursor:pointer;text-align:center;width:30px;height:30px}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell .x-spreadsheet-icon-img{opacity:.8}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell:hover{background-color:#eee}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-right{padding-left:6px}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-right .x-spreadsheet-toolbar-btn{margin-top:0;margin-bottom:3px}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-right .x-spreadsheet-line-type{position:relative;top:-3px;left:0}.x-spreadsheet-dropdown{position:relative}.x-spreadsheet-dropdown .x-spreadsheet-dropdown-content{z-index:200;background:#fff;position:absolute;box-shadow:1px 2px 5px 2px #33333326}.x-spreadsheet-dropdown.bottom-left .x-spreadsheet-dropdown-content{top:calc(100% + 5px);left:0}.x-spreadsheet-dropdown.bottom-right .x-spreadsheet-dropdown-content{top:calc(100% + 5px);right:0}.x-spreadsheet-dropdown.top-left .x-spreadsheet-dropdown-content{bottom:calc(100% + 5px);left:0}.x-spreadsheet-dropdown.top-right .x-spreadsheet-dropdown-content{bottom:calc(100% + 5px);right:0}.x-spreadsheet-dropdown .x-spreadsheet-dropdown-title{padding:0 5px;display:inline-block}.x-spreadsheet-dropdown .x-spreadsheet-dropdown-header .x-spreadsheet-icon.arrow-left{margin-left:4px}.x-spreadsheet-dropdown .x-spreadsheet-dropdown-header .x-spreadsheet-icon.arrow-right{width:10px;margin-right:4px}.x-spreadsheet-dropdown .x-spreadsheet-dropdown-header .x-spreadsheet-icon.arrow-right .arrow-down{left:-130px}.x-spreadsheet-resizer{z-index:11;position:absolute}.x-spreadsheet-resizer .x-spreadsheet-resizer-hover{background-color:#4b89ff40}.x-spreadsheet-resizer .x-spreadsheet-resizer-line{position:absolute}.x-spreadsheet-resizer.horizontal{cursor:row-resize}.x-spreadsheet-resizer.horizontal .x-spreadsheet-resizer-line{border-bottom:2px dashed #4b89ff;bottom:0;left:0}.x-spreadsheet-resizer.vertical{cursor:col-resize}.x-spreadsheet-resizer.vertical .x-spreadsheet-resizer-line{border-right:2px dashed #4b89ff;top:0;right:0}.x-spreadsheet-scrollbar{opacity:.9;z-index:12;background-color:#f4f5f8;position:absolute;bottom:0;right:0}.x-spreadsheet-scrollbar.horizontal{right:15px;overflow:scroll hidden}.x-spreadsheet-scrollbar.horizontal>div{background:#ddd;height:1px}.x-spreadsheet-scrollbar.vertical{bottom:15px;overflow:hidden scroll}.x-spreadsheet-scrollbar.vertical>div{background:#ddd;width:1px}.x-spreadsheet-overlayer{z-index:10;position:absolute;top:0;left:0}.x-spreadsheet-overlayer .x-spreadsheet-overlayer-content{pointer-events:none;width:100%;height:100%;position:absolute;overflow:hidden}.x-spreadsheet-editor,.x-spreadsheet-selector{box-sizing:content-box;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.x-spreadsheet-selector .hide-input{z-index:0;position:absolute}.x-spreadsheet-selector .hide-input input{width:0;padding:0;border:none!important}.x-spreadsheet-selector .x-spreadsheet-selector-area{z-index:5;background:#4b89ff1a;border:2px solid #4b89ff;position:absolute}.x-spreadsheet-selector .x-spreadsheet-selector-clipboard,.x-spreadsheet-selector .x-spreadsheet-selector-autofill{z-index:100;background:none;position:absolute}.x-spreadsheet-selector .x-spreadsheet-selector-clipboard{border:2px dashed #4b89ff}.x-spreadsheet-selector .x-spreadsheet-selector-autofill{border:1px dashed #00000073}.x-spreadsheet-selector .x-spreadsheet-selector-corner{pointer-events:auto;cursor:crosshair;background:#4b89ff;border:2px solid #fff;width:5px;height:5px;font-size:0;position:absolute;bottom:-5px;right:-5px}.x-spreadsheet-editor{z-index:20}.x-spreadsheet-editor .x-spreadsheet-editor-area{text-align:left;z-index:100;pointer-events:auto;border:2px solid #4b89ff;line-height:0;position:absolute}.x-spreadsheet-editor .x-spreadsheet-editor-area textarea{box-sizing:content-box;resize:none;text-align:start;color:inherit;white-space:normal;word-wrap:break-word;border:none;outline:none;margin:0;padding:0 3px;font:400 13px/22px Arial,Lato,Source Sans Pro,Roboto,Helvetica,sans-serif;overflow-y:hidden}.x-spreadsheet-editor .x-spreadsheet-editor-area .textline{visibility:hidden;position:fixed;top:0;left:0;overflow:hidden}.x-spreadsheet-item{-webkit-user-select:none;user-select:none;color:#000000e6;cursor:default;text-align:left;background:0;border:1px solid #0000;outline:none;height:26px;padding:2px 10px;line-height:26px;list-style:none;overflow:hidden}.x-spreadsheet-item.disabled{pointer-events:none;opacity:.5}.x-spreadsheet-item:hover,.x-spreadsheet-item.active{background:#0000000d}.x-spreadsheet-item.divider{border:none;border-bottom:1px solid #0000001a;height:0;margin:5px 0;padding:0}.x-spreadsheet-item .label{float:right;opacity:.65;font-size:1em}.x-spreadsheet-item.state,.x-spreadsheet-header.state{position:relative;padding-left:35px!important}.x-spreadsheet-item.state:before,.x-spreadsheet-header.state:before{content:"";background:#00000014;border-radius:2px;width:10px;height:10px;position:absolute;top:calc(50% - 5px);left:12px}.x-spreadsheet-item.state.checked:before,.x-spreadsheet-header.state.checked:before{background:#4b89ff}.x-spreadsheet-checkbox{backface-visibility:hidden;vertical-align:baseline;outline:0;font-size:1rem;font-style:normal;line-height:1em;display:inline-block;position:relative}.x-spreadsheet-checkbox>input{z-index:-1;outline:0;position:absolute;top:0;left:0;opacity:0!important}.x-spreadsheet-suggest,.x-spreadsheet-contextmenu,.x-spreadsheet-sort-filter{z-index:100;pointer-events:auto;background:#fff;width:260px;position:absolute;overflow:auto;box-shadow:1px 2px 5px 2px #33333326}.x-spreadsheet-suggest{width:200px}.x-spreadsheet-filter{border:1px solid #e9e9e9;margin:10px;font-size:12px}.x-spreadsheet-filter .x-spreadsheet-header{background:#f8f8f9;border-bottom:1px solid #e9e9e9;border-left:1px solid #0000;padding:.5em .75em}.x-spreadsheet-filter .x-spreadsheet-body{height:200px;overflow-y:auto}.x-spreadsheet-filter .x-spreadsheet-body .x-spreadsheet-item{height:20px;line-height:20px}.x-spreadsheet-sort-filter .x-spreadsheet-buttons{margin:10px}.x-spreadsheet-toolbar,.x-spreadsheet-bottombar{text-align:left;background:#f5f6f7;height:40px;padding:0 30px;display:flex}.x-spreadsheet-bottombar{border-top:1px solid #e0e2e4;position:relative}.x-spreadsheet-bottombar .x-spreadsheet-menu>li{vertical-align:middle;border-right:1px solid #e8eaed;height:40px;padding-top:0;padding-bottom:0;line-height:40px}.x-spreadsheet-menu{-webkit-user-select:none;user-select:none;margin:0;padding:0;list-style:none}.x-spreadsheet-menu>li{float:left;vertical-align:middle;text-align:left;color:#80868b;white-space:nowrap;cursor:pointer;margin:0;padding:.785em 1em;font-weight:700;line-height:1.25em;transition:all .3s}.x-spreadsheet-menu>li.active{color:#000000a6;background-color:#fff}.x-spreadsheet-menu>li .x-spreadsheet-icon{margin:0 6px}.x-spreadsheet-menu>li .x-spreadsheet-icon .x-spreadsheet-icon-img:hover{opacity:.85}.x-spreadsheet-menu>li .x-spreadsheet-dropdown{display:inline-block}.x-spreadsheet-toolbar{border-bottom:1px solid #e0e2e4}.x-spreadsheet-toolbar .x-spreadsheet-toolbar-btns{display:inline-flex}.x-spreadsheet-toolbar .x-spreadsheet-toolbar-more{text-align:left;padding:0 6px 6px}.x-spreadsheet-toolbar .x-spreadsheet-toolbar-more .x-spreadsheet-toolbar-divider{margin-top:0}.x-spreadsheet-toolbar .x-spreadsheet-toolbar-btn{text-align:center;border:1px solid #0000;border-radius:2px;flex:none;min-width:26px;height:26px;margin:6px 1px 0;padding:0;line-height:26px;display:inline-block}.x-spreadsheet-toolbar .x-spreadsheet-toolbar-btn.disabled{pointer-events:none;opacity:.5}.x-spreadsheet-toolbar .x-spreadsheet-toolbar-btn:hover,.x-spreadsheet-toolbar .x-spreadsheet-toolbar-btn.active{background:#00000014}.x-spreadsheet-toolbar-divider{vertical-align:middle;border-right:1px solid #e0e2e4;width:0;height:18px;margin:12px 3px 0;display:inline-block}.x-spreadsheet-print{z-index:100;flex-direction:column;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.x-spreadsheet-print-bar{background:#424242;height:60px;padding:0 30px;line-height:60px}.x-spreadsheet-print-bar .-title{color:#fff;float:left;font-size:1.2em;font-weight:700}.x-spreadsheet-print-bar .-right{float:right;margin-top:12px}.x-spreadsheet-print-content{background:#d0d0d0;flex-direction:row;flex:auto;height:calc(100% - 60px);display:flex}.x-spreadsheet-print-content .-sider{background:#fff;border-left:2px solid #ccc;flex:0 0 300px;width:300px}.x-spreadsheet-print-content .-content{flex:auto;height:100%;overflow:auto scroll}.x-spreadsheet-canvas-card-wraper{margin:40px 20px}.x-spreadsheet-canvas-card{page-break-before:auto;page-break-after:always;background:#fff;margin:auto;box-shadow:0 8px 10px 1px #00000024,0 3px 14px 3px #0000001f,0 4px 5px #0003}.x-spreadsheet-calendar{color:#000000a6;-webkit-user-select:none;user-select:none;background:#fff}.x-spreadsheet-calendar .calendar-header{text-align:center;float:left;background:#f9fafb;width:100%;font-weight:700;line-height:30px}.x-spreadsheet-calendar .calendar-header .calendar-header-left{float:left;padding-left:5px}.x-spreadsheet-calendar .calendar-header .calendar-header-right{float:right}.x-spreadsheet-calendar .calendar-header .calendar-header-right a{border-radius:2px;margin-right:2px;padding:3px 0}.x-spreadsheet-calendar .calendar-header .calendar-header-right a:hover{background:#00000014}.x-spreadsheet-calendar .calendar-body{border-collapse:collapse;border-spacing:0}.x-spreadsheet-calendar .calendar-body th,.x-spreadsheet-calendar .calendar-body td{width:100% / 7;text-align:center;min-width:32px;padding:0;font-weight:700;line-height:30px}.x-spreadsheet-calendar .calendar-body td>.cell:hover{background:#ecf6fd}.x-spreadsheet-calendar .calendar-body td>.cell.active,.x-spreadsheet-calendar .calendar-body td>.cell.active:hover{color:#2185d0;background:#ecf6fd}.x-spreadsheet-calendar .calendar-body td>.cell.disabled{pointer-events:none;opacity:.5}.x-spreadsheet-datepicker{z-index:10;width:auto;position:absolute;top:calc(100% + 5px);left:0;box-shadow:2px 2px 5px #0003}.x-spreadsheet-buttons{justify-content:flex-end;display:flex}.x-spreadsheet-buttons .x-spreadsheet-button{margin-left:8px}.x-spreadsheet-button{white-space:nowrap;text-align:center;cursor:pointer;color:#0009;vertical-align:baseline;zoom:1;-webkit-user-select:none;user-select:none;background:#e0e1e2;border-radius:3px;outline:none;min-height:1em;padding:.75em 1em;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;font-size:1em;font-weight:700;line-height:1em;text-decoration:none;transition:all .1s linear;display:inline-block}.x-spreadsheet-button.active,.x-spreadsheet-button:hover{color:#000c;background-color:#c0c1c2}.x-spreadsheet-button.primary{color:#fff;background-color:#2185d0}.x-spreadsheet-button.primary:hover,.x-spreadsheet-button.primary.active{color:#fff;background-color:#1678c2}.x-spreadsheet-form-input{color:#000000de;font-size:1em;font-weight:400;display:inline-flex;position:relative}.x-spreadsheet-form-input input{z-index:1;-webkit-tap-highlight-color:#fff0;text-align:left;background:#fff;border:1px solid #e9e9e9;border-radius:3px;outline:0;flex:1 0 auto;max-width:100%;height:30px;margin:0;padding:0 8px;line-height:30px;transition:box-shadow .1s,border-color .1s;box-shadow:inset 0 1px 2px #0a0a0a0f}.x-spreadsheet-form-input input:focus{border-color:#4b89ff;box-shadow:inset 0 1px 2px #4b89ff33}.x-spreadsheet-form-select{cursor:pointer;color:#000000de;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #e9e9e9;border-radius:2px;display:inline-block;position:relative;box-shadow:inset 0 1px 2px #0a0a0a0f}.x-spreadsheet-form-select .input-text{text-overflow:ellipsis;white-space:nowrap;width:auto;min-width:60px;height:30px;padding:0 8px;line-height:30px}.x-spreadsheet-form-fields{flex-flow:wrap;display:flex}.x-spreadsheet-form-fields .x-spreadsheet-form-field{flex:0 auto}.x-spreadsheet-form-fields .x-spreadsheet-form-field .label{margin:0 10px 0 0;display:inline-block}.x-spreadsheet-form-field{vertical-align:middle;margin-bottom:10px;margin-left:10px;display:block}.x-spreadsheet-form-field:first-child{margin-left:0}.x-spreadsheet-form-field.error .x-spreadsheet-form-select,.x-spreadsheet-form-field.error input{border-color:#f04134}.x-spreadsheet-form-field .tip{color:#f04134;font-size:.9em}.x-spreadsheet-dimmer{text-align:center;vertical-align:middle;opacity:0;-webkit-user-select:none;user-select:none;z-index:1000;background-color:#0009;width:100%;height:100%;transition:background-color .5s linear;animation-duration:.5s;animation-fill-mode:both;display:none;position:absolute;top:0!important;left:0!important}.x-spreadsheet-dimmer.active{opacity:1;display:block}form fieldset{border:none}form fieldset label{color:#666;margin-bottom:.5em;font-size:1em;display:block}form fieldset select{background-color:#fff;border:none;border-bottom:2px solid #ddd;border-radius:2px;width:100%;padding:.5em .85em;font-size:1.1em}.x-spreadsheet-modal,.x-spreadsheet-toast{z-index:1001;text-align:left;color:#000000de;background-color:#fff;background-clip:padding-box;border:1px solid #0000001a;border-radius:4px;min-width:360px;font-family:Lato,Source Sans Pro,Roboto,Helvetica,Arial,sans-serif;font-size:13px;line-height:1.25em;position:fixed;box-shadow:0 2px 8px #0003}.x-spreadsheet-toast{background-color:#ffffffd9}.x-spreadsheet-modal-header,.x-spreadsheet-toast-header{background-color:#ffffffd9;background-clip:padding-box;border-bottom:1px solid #0000000d;border-radius:4px 4px 0 0;font-weight:600}.x-spreadsheet-modal-header .x-spreadsheet-icon,.x-spreadsheet-toast-header .x-spreadsheet-icon{border-radius:18px;position:absolute;top:.65em;right:.8em}.x-spreadsheet-modal-header .x-spreadsheet-icon:hover,.x-spreadsheet-toast-header .x-spreadsheet-icon:hover{opacity:1;background:#00000014}.x-spreadsheet-toast-header{color:#f2711c}.x-spreadsheet-modal-header{background:#00000014;border-bottom:1px solid #e0e2e4;font-size:1.0785em}.x-spreadsheet-modal-header,.x-spreadsheet-modal-content,.x-spreadsheet-toast-header,.x-spreadsheet-toast-content{padding:.75em 1em}@media screen and (width >= 320px) and (width <= 480px){.x-spreadsheet-toolbar{display:none}}.x-spreadsheet-icon{text-align:center;vertical-align:middle;-webkit-user-select:none;user-select:none;width:18px;height:18px;margin:1px 1px 2px;line-height:0;display:inline-block;position:relative;overflow:hidden}.x-spreadsheet-icon .x-spreadsheet-icon-img{opacity:.56;width:262px;height:444px;position:absolute}.x-spreadsheet-icon .x-spreadsheet-icon-img.undo{top:0;left:0}.x-spreadsheet-icon .x-spreadsheet-icon-img.redo{top:0;left:-18px}.x-spreadsheet-icon .x-spreadsheet-icon-img.print{top:0;left:-36px}.x-spreadsheet-icon .x-spreadsheet-icon-img.paintformat{top:0;left:-54px}.x-spreadsheet-icon .x-spreadsheet-icon-img.clearformat{top:0;left:-72px}.x-spreadsheet-icon .x-spreadsheet-icon-img.font-bold{top:0;left:-90px}.x-spreadsheet-icon .x-spreadsheet-icon-img.font-italic{top:0;left:-108px}.x-spreadsheet-icon .x-spreadsheet-icon-img.underline{top:0;left:-126px}.x-spreadsheet-icon .x-spreadsheet-icon-img.strike{top:0;left:-144px}.x-spreadsheet-icon .x-spreadsheet-icon-img.color{top:0;left:-162px}.x-spreadsheet-icon .x-spreadsheet-icon-img.bgcolor{top:0;left:-180px}.x-spreadsheet-icon .x-spreadsheet-icon-img.merge{top:0;left:-198px}.x-spreadsheet-icon .x-spreadsheet-icon-img.align-left{top:0;left:-216px}.x-spreadsheet-icon .x-spreadsheet-icon-img.align-center{top:0;left:-234px}.x-spreadsheet-icon .x-spreadsheet-icon-img.align-right{top:-18px;left:0}.x-spreadsheet-icon .x-spreadsheet-icon-img.align-top{top:-18px;left:-18px}.x-spreadsheet-icon .x-spreadsheet-icon-img.align-middle{top:-18px;left:-36px}.x-spreadsheet-icon .x-spreadsheet-icon-img.align-bottom{top:-18px;left:-54px}.x-spreadsheet-icon .x-spreadsheet-icon-img.textwrap{top:-18px;left:-72px}.x-spreadsheet-icon .x-spreadsheet-icon-img.autofilter{top:-18px;left:-90px}.x-spreadsheet-icon .x-spreadsheet-icon-img.formula{top:-18px;left:-108px}.x-spreadsheet-icon .x-spreadsheet-icon-img.arrow-down{top:-18px;left:-126px}.x-spreadsheet-icon .x-spreadsheet-icon-img.arrow-right{top:-18px;left:-144px}.x-spreadsheet-icon .x-spreadsheet-icon-img.link{top:-18px;left:-162px}.x-spreadsheet-icon .x-spreadsheet-icon-img.chart{top:-18px;left:-180px}.x-spreadsheet-icon .x-spreadsheet-icon-img.freeze{top:-18px;left:-198px}.x-spreadsheet-icon .x-spreadsheet-icon-img.ellipsis{top:-18px;left:-216px}.x-spreadsheet-icon .x-spreadsheet-icon-img.add{top:-18px;left:-234px}.x-spreadsheet-icon .x-spreadsheet-icon-img.border-all{top:-36px;left:0}.x-spreadsheet-icon .x-spreadsheet-icon-img.border-inside{top:-36px;left:-18px}.x-spreadsheet-icon .x-spreadsheet-icon-img.border-horizontal{top:-36px;left:-36px}.x-spreadsheet-icon .x-spreadsheet-icon-img.border-vertical{top:-36px;left:-54px}.x-spreadsheet-icon .x-spreadsheet-icon-img.border-outside{top:-36px;left:-72px}.x-spreadsheet-icon .x-spreadsheet-icon-img.border-left{top:-36px;left:-90px}.x-spreadsheet-icon .x-spreadsheet-icon-img.border-top{top:-36px;left:-108px}.x-spreadsheet-icon .x-spreadsheet-icon-img.border-right{top:-36px;left:-126px}.x-spreadsheet-icon .x-spreadsheet-icon-img.border-bottom{top:-36px;left:-144px}.x-spreadsheet-icon .x-spreadsheet-icon-img.border-none{top:-36px;left:-162px}.x-spreadsheet-icon .x-spreadsheet-icon-img.line-color{top:-36px;left:-180px}.x-spreadsheet-icon .x-spreadsheet-icon-img.line-type{top:-36px;left:-198px}.x-spreadsheet-icon .x-spreadsheet-icon-img.close{top:-36px;left:-234px}.x-spreadsheet-icon .x-spreadsheet-icon-img.chevron-down{top:-54px;left:0}.x-spreadsheet-icon .x-spreadsheet-icon-img.chevron-up{top:-54px;left:-18px}.x-spreadsheet-icon .x-spreadsheet-icon-img.chevron-left{top:-54px;left:-36px}.x-spreadsheet-icon .x-spreadsheet-icon-img.chevron-right{top:-54px;left:-54px}')),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
|
|
2
|
-
(function(y,P){typeof exports=="object"&&typeof module!="undefined"?P(exports,require("@tachybase/client"),require("@tachybase/components"),require("react/jsx-runtime"),require("react"),require("@tachybase/schema"),require("@ant-design/icons"),require("antd"),require("lodash"),require("@tachybase/evaluators/client"),require("react-dom"),require("react-router-dom"),require("dayjs"),require("@tachybase/utils/client"),require("ahooks")):typeof define=="function"&&define.amd?define(["exports","@tachybase/client","@tachybase/components","react/jsx-runtime","react","@tachybase/schema","@ant-design/icons","antd","lodash","@tachybase/evaluators/client","react-dom","react-router-dom","dayjs","@tachybase/utils/client","ahooks"],P):(y=typeof globalThis!="undefined"?globalThis:y||self,P(y["@tachybase/module-hera"]={},y["@tachybase/client"],y["@tachybase/components"],y.jsxRuntime,y.react,y["@tachybase/schema"],y["@ant-design/icons"],y.antd,y.lodash,y["@tachybase/evaluators"],y["react-dom"],y["react-router-dom"],y.dayjs,y["@tachybase/utils"],y.ahooks))})(this,function(exports,client,components$1,__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__,React,schema,icons,antd,_,client$1,ReactDOM,reactRouterDom,dayjs,client$2,ahooks){"use strict";var te=Object.defineProperty,se=Object.defineProperties;var ie=Object.getOwnPropertyDescriptors;var Z=Object.getOwnPropertySymbols;var ne=Object.prototype.hasOwnProperty,re=Object.prototype.propertyIsEnumerable;var J=y=>{throw TypeError(y)};var q=(y,P,S)=>P in y?te(y,P,{enumerable:!0,configurable:!0,writable:!0,value:S}):y[P]=S,D=(y,P)=>{for(var S in P||(P={}))ne.call(P,S)&&q(y,S,P[S]);if(Z)for(var S of Z(P))re.call(P,S)&&q(y,S,P[S]);return y},I=(y,P)=>se(y,ie(P));var Q=(y,P,S)=>q(y,typeof P!="symbol"?P+"":P,S),ee=(y,P,S)=>P.has(y)||J("Cannot "+S);var k=(y,P,S)=>(ee(y,P,"read from private field"),S?S.call(y):P.get(y)),U=(y,P,S)=>P.has(y)?J("Cannot add the same private member more than once"):P instanceof WeakSet?P.add(y):P.set(y,S),N=(y,P,S,M)=>(ee(y,P,"write to private field"),M?M.call(y,S):P.set(y,S),S);var T=(y,P,S)=>new Promise((M,F)=>{var O=n=>{try{$(S.next(n))}catch(e){F(e)}},B=n=>{try{$(S.throw(n))}catch(e){F(e)}},$=n=>n.done?M(n.value):Promise.resolve(n.value).then(O,B);$((S=S.apply(y,P)).next())});var y,P,S,M,F,O;function _interopNamespaceDefault(n){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const s in n)if(s!=="default"){const i=Object.getOwnPropertyDescriptor(n,s);Object.defineProperty(e,s,i.get?i:{enumerable:!0,get:()=>n[s]})}}return e.default=n,Object.freeze(e)}const React__namespace=_interopNamespaceDefault(React);var commonjsGlobal=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function getDefaultExportFromCjs(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var FileSaver_min$1={exports:{}},FileSaver_min=FileSaver_min$1.exports,hasRequiredFileSaver_min;function requireFileSaver_min(){return hasRequiredFileSaver_min||(hasRequiredFileSaver_min=1,function(n,e){(function(s,i){i()})(FileSaver_min,function(){function s(d,u){return typeof u=="undefined"?u={autoBom:!1}:typeof u!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),u={autoBom:!u}),u.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(d.type)?new Blob(["\uFEFF",d],{type:d.type}):d}function i(d,u,f){var p=new XMLHttpRequest;p.open("GET",d),p.responseType="blob",p.onload=function(){c(p.response,u,f)},p.onerror=function(){console.error("could not download file")},p.send()}function r(d){var u=new XMLHttpRequest;u.open("HEAD",d,!1);try{u.send()}catch(f){}return 200<=u.status&&299>=u.status}function o(d){try{d.dispatchEvent(new MouseEvent("click"))}catch(f){var u=document.createEvent("MouseEvents");u.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),d.dispatchEvent(u)}}var l=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof commonjsGlobal=="object"&&commonjsGlobal.global===commonjsGlobal?commonjsGlobal:void 0,a=l.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),c=l.saveAs||(typeof window!="object"||window!==l?function(){}:"download"in HTMLAnchorElement.prototype&&!a?function(d,u,f){var p=l.URL||l.webkitURL,m=document.createElement("a");u=u||d.name||"download",m.download=u,m.rel="noopener",typeof d=="string"?(m.href=d,m.origin===location.origin?o(m):r(m.href)?i(d,u,f):o(m,m.target="_blank")):(m.href=p.createObjectURL(d),setTimeout(function(){p.revokeObjectURL(m.href)},4e4),setTimeout(function(){o(m)},0))}:"msSaveOrOpenBlob"in navigator?function(d,u,f){if(u=u||d.name||"download",typeof d!="string")navigator.msSaveOrOpenBlob(s(d,f),u);else if(r(d))i(d,u,f);else{var p=document.createElement("a");p.href=d,p.target="_blank",setTimeout(function(){o(p)})}}:function(d,u,f,p){if(p=p||open("","_blank"),p&&(p.document.title=p.document.body.innerText="downloading..."),typeof d=="string")return i(d,u,f);var m=d.type==="application/octet-stream",g=/constructor/i.test(l.HTMLElement)||l.safari,x=/CriOS\/[\d]+/.test(navigator.userAgent);if((x||m&&g||a)&&typeof FileReader!="undefined"){var b=new FileReader;b.onloadend=function(){var w=b.result;w=x?w:w.replace(/^data:[^;]*;/,"data:attachment/file;"),p?p.location.href=w:location=w,p=null},b.readAsDataURL(d)}else{var E=l.URL||l.webkitURL,v=E.createObjectURL(d);p?p.location=v:location.href=v,p=null,setTimeout(function(){E.revokeObjectURL(v)},4e4)}});l.saveAs=c.saveAs=c,n.exports=c})}(FileSaver_min$1)),FileSaver_min$1.exports}var FileSaver_minExports=requireFileSaver_min();const NAMESPACE="@tachybase/module-hera";class Locale{constructor(e){this.app=e}lang(e){return this.app.i18n.t(e,{ns:NAMESPACE})}}const useTranslation=()=>{const{i18n:n}=client.useApp();return{t:(s,i={})=>n.t(s,D({ns:NAMESPACE},i))}},tval=n=>client.tval(n,{ns:NAMESPACE});function lang(n){return client.i18n.t(n,{ns:NAMESPACE})}const LoadingSpin=({children:n,spinning:e})=>{const{t:s}=useTranslation();return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Spin,{tip:s("loading..."),indicator:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(icons.LoadingOutlined,{style:{fontSize:24},spin:!0}),spinning:e,children:n})},PDFViewer=React.forwardRef((n,e)=>{const i=client.useApp().AttachmentPreviewManager.get(),{checkedComponent:r}=i["application/pdf"],o=client.useIsMobile(),[l,a]=React.useState(""),[c,d]=React.useState(null),{file:u,width:f=960}=n,{loading:p,data:m}=client.useRequest({url:u,responseType:"arraybuffer"},{refreshDeps:[u]});return React.useImperativeHandle(e,()=>({download(){const g=new Blob([m],{type:"application/pdf"});FileSaver_minExports.saveAs(g,schema.uid()+".pdf")},print(){c.print()}})),React.useEffect(()=>{if(p||!m)return;const g=new Blob([m],{type:"application/pdf"}),x=URL.createObjectURL(g);a(x)},[m,p]),React.useEffect(()=>{if(!l)return;const g=document.createElement("iframe");return g.style.display="none",g.src=l,g.onload=()=>{d(g.contentWindow)},document.body.appendChild(g),()=>{URL.revokeObjectURL(l),document.body.removeChild(g)}},[l]),__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(LoadingSpin,{spinning:p,children:r({file:{url:l},width:f,noTransformWrapper:!o})})});class Element{constructor(e,s=""){typeof e=="string"?(this.el=document.createElement(e),this.el.className=s):this.el=e,this.data={}}data(e,s){return s!==void 0?(this.data[e]=s,this):this.data[e]}on(e,s){const[i,...r]=e.split(".");let o=i;return o==="mousewheel"&&/Firefox/i.test(window.navigator.userAgent)&&(o="DOMMouseScroll"),this.el.addEventListener(o,l=>{s(l);for(let a=0;a<r.length;a+=1){const c=r[a];if(c==="left"&&l.button!==0||c==="right"&&l.button!==2)return;c==="stop"&&l.stopPropagation()}}),this}offset(e){if(e!==void 0)return Object.keys(e).forEach(l=>{this.css(l,`${e[l]}px`)}),this;const{offsetTop:s,offsetLeft:i,offsetHeight:r,offsetWidth:o}=this.el;return{top:s,left:i,height:r,width:o}}scroll(e){const{el:s}=this;return e!==void 0&&(e.left!==void 0&&(s.scrollLeft=e.left),e.top!==void 0&&(s.scrollTop=e.top)),{left:s.scrollLeft,top:s.scrollTop}}box(){return this.el.getBoundingClientRect()}parent(){return new Element(this.el.parentNode)}children(...e){return arguments.length===0?this.el.childNodes:(e.forEach(s=>this.child(s)),this)}removeChild(e){this.el.removeChild(e)}child(e){let s=e;return typeof e=="string"?s=document.createTextNode(e):e instanceof Element&&(s=e.el),this.el.appendChild(s),this}contains(e){return this.el.contains(e)}className(e){return e!==void 0?(this.el.className=e,this):this.el.className}addClass(e){return this.el.classList.add(e),this}hasClass(e){return this.el.classList.contains(e)}removeClass(e){return this.el.classList.remove(e),this}toggle(e="active"){return this.toggleClass(e)}toggleClass(e){return this.el.classList.toggle(e)}active(e=!0,s="active"){return e?this.addClass(s):this.removeClass(s),this}checked(e=!0){return this.active(e,"checked"),this}disabled(e=!0){return e?this.addClass("disabled"):this.removeClass("disabled"),this}attr(e,s){if(s!==void 0)this.el.setAttribute(e,s);else{if(typeof e=="string")return this.el.getAttribute(e);Object.keys(e).forEach(i=>{this.el.setAttribute(i,e[i])})}return this}removeAttr(e){return this.el.removeAttribute(e),this}html(e){return e!==void 0?(this.el.innerHTML=e,this):this.el.innerHTML}val(e){return e!==void 0?(this.el.value=e,this):this.el.value}focus(){this.el.focus()}cssRemoveKeys(...e){return e.forEach(s=>this.el.style.removeProperty(s)),this}css(e,s){return s===void 0&&typeof e!="string"?(Object.keys(e).forEach(i=>{this.el.style[i]=e[i]}),this):s!==void 0?(this.el.style[e]=s,this):this.el.style[e]}computedStyle(){return window.getComputedStyle(this.el,null)}show(){return this.css("display","block"),this}hide(){return this.css("display","none"),this}}const h=(n,e="")=>new Element(n,e),alphabets=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"];function stringAt(n){let e="",s=n;for(;s>=alphabets.length;)s/=alphabets.length,s-=1,e+=alphabets[parseInt(s,10)%alphabets.length];const i=n%alphabets.length;return e+=alphabets[i],e}function indexAt(n){let e=0;for(let s=0;s!==n.length;++s)e=26*e+n.charCodeAt(s)-64;return e-1}function expr2xy(n){let e="",s="";for(let i=0;i<n.length;i+=1)n.charAt(i)>="0"&&n.charAt(i)<="9"?s+=n.charAt(i):e+=n.charAt(i);return[indexAt(e),parseInt(s,10)-1]}function xy2expr(n,e){return`${stringAt(n)}${e+1}`}function expr2expr(n,e,s,i=()=>!0){if(e===0&&s===0)return n;const[r,o]=expr2xy(n);return i(r,o)?xy2expr(r+e,o+s):n}class CellRange{constructor(e,s,i,r,o=0,l=0){this.sri=e,this.sci=s,this.eri=i,this.eci=r,this.w=o,this.h=l}set(e,s,i,r){this.sri=e,this.sci=s,this.eri=i,this.eci=r}multiple(){return this.eri-this.sri>0||this.eci-this.sci>0}includes(...e){let[s,i]=[0,0];e.length===1?[i,s]=expr2xy(e[0]):e.length===2&&([s,i]=e);const{sri:r,sci:o,eri:l,eci:a}=this;return r<=s&&s<=l&&o<=i&&i<=a}each(e,s=()=>!0){const{sri:i,sci:r,eri:o,eci:l}=this;for(let a=i;a<=o;a+=1)if(s(a))for(let c=r;c<=l;c+=1)e(a,c)}contains(e){return this.sri<=e.sri&&this.sci<=e.sci&&this.eri>=e.eri&&this.eci>=e.eci}within(e){return this.sri>=e.sri&&this.sci>=e.sci&&this.eri<=e.eri&&this.eci<=e.eci}disjoint(e){return this.sri>e.eri||this.sci>e.eci||e.sri>this.eri||e.sci>this.eci}intersects(e){return this.sri<=e.eri&&this.sci<=e.eci&&e.sri<=this.eri&&e.sci<=this.eci}union(e){const{sri:s,sci:i,eri:r,eci:o}=this;return new CellRange(e.sri<s?e.sri:s,e.sci<i?e.sci:i,e.eri>r?e.eri:r,e.eci>o?e.eci:o)}difference(e){const s=[],i=(p,m,g,x)=>{s.push(new CellRange(p,m,g,x))},{sri:r,sci:o,eri:l,eci:a}=this,c=e.sri-r,d=e.sci-o,u=l-e.eri,f=a-e.eci;return c>0?(i(r,o,e.sri-1,a),u>0?(i(e.eri+1,o,l,a),d>0&&i(e.sri,o,e.eri,e.sci-1),f>0&&i(e.sri,e.eci+1,e.eri,a)):(d>0&&i(e.sri,o,l,e.sci-1),f>0&&i(e.sri,e.eci+1,l,a))):u>0&&(i(e.eri+1,o,l,a),d>0&&i(r,o,e.eri,e.sci-1),f>0&&i(r,e.eci+1,e.eri,a)),d>0?(i(r,o,l,e.sci-1),f>0?(i(r,e.eri+1,l,a),c>0&&i(r,e.sci,e.sri-1,e.eci),u>0&&i(e.sri+1,e.sci,l,e.eci)):(c>0&&i(r,e.sci,e.sri-1,a),u>0&&i(e.sri+1,e.sci,l,a))):f>0&&(i(l,e.eci+1,l,a),c>0&&i(r,o,e.sri-1,e.eci),u>0&&i(e.eri+1,o,l,e.eci)),s}size(){return[this.eri-this.sri+1,this.eci-this.sci+1]}toString(){const{sri:e,sci:s,eri:i,eci:r}=this;let o=xy2expr(s,e);return this.multiple()&&(o=`${o}:${xy2expr(r,i)}`),o}clone(){const{sri:e,sci:s,eri:i,eci:r,w:o,h:l}=this;return new CellRange(e,s,i,r,o,l)}equals(e){return this.eri===e.eri&&this.eci===e.eci&&this.sri===e.sri&&this.sci===e.sci}static valueOf(e){const s=e.split(":"),[i,r]=expr2xy(s[0]);let[o,l]=[r,i];return s.length>1&&([l,o]=expr2xy(s[1])),new CellRange(r,i,o,l)}}let Selector$1=class{constructor(){this.range=new CellRange(0,0,0,0),this.ri=0,this.ci=0}multiple(){return this.range.multiple()}setIndexes(e,s){this.ri=e,this.ci=s}size(){return this.range.size()}};class Scroll{constructor(){this.x=0,this.y=0,this.ri=0,this.ci=0}}class History{constructor(){this.undoItems=[],this.redoItems=[]}add(e){this.undoItems.push(JSON.stringify(e)),this.redoItems=[]}canUndo(){return this.undoItems.length>0}canRedo(){return this.redoItems.length>0}undo(e,s){const{undoItems:i,redoItems:r}=this;this.canUndo()&&(r.push(JSON.stringify(e)),s(JSON.parse(i.pop())))}redo(e,s){const{undoItems:i,redoItems:r}=this;this.canRedo()&&(i.push(JSON.stringify(e)),s(JSON.parse(r.pop())))}}class Clipboard{constructor(){this.range=null,this.state="clear"}copy(e){return this.range=e,this.state="copy",this}cut(e){return this.range=e,this.state="cut",this}isCopy(){return this.state==="copy"}isCut(){return this.state==="cut"}isClear(){return this.state==="clear"}clear(){this.range=null,this.state="clear"}}class Filter{constructor(e,s,i){this.ci=e,this.operator=s,this.value=i}set(e,s){this.operator=e,this.value=s}includes(e){const{operator:s,value:i}=this;return s==="all"?!0:s==="in"?i.includes(e):!1}vlength(){const{operator:e,value:s}=this;return e==="in"?s.length:0}getData(){const{ci:e,operator:s,value:i}=this;return{ci:e,operator:s,value:i}}}class Sort{constructor(e,s){this.ci=e,this.order=s}asc(){return this.order==="asc"}desc(){return this.order==="desc"}}class AutoFilter{constructor(){this.ref=null,this.filters=[],this.sort=null}setData({ref:e,filters:s,sort:i}){e!=null&&(this.ref=e,this.filters=s.map(r=>new Filter(r.ci,r.operator,r.value)),i&&(this.sort=new Sort(i.ci,i.order)))}getData(){if(this.active()){const{ref:e,filters:s,sort:i}=this;return{ref:e,filters:s.map(r=>r.getData()),sort:i}}return{}}addFilter(e,s,i){const r=this.getFilter(e);r==null?this.filters.push(new Filter(e,s,i)):r.set(s,i)}setSort(e,s){this.sort=s?new Sort(e,s):null}includes(e,s){return this.active()?this.hrange().includes(e,s):!1}getSort(e){const{sort:s}=this;return s&&s.ci===e?s:null}getFilter(e){const{filters:s}=this;for(let i=0;i<s.length;i+=1)if(s[i].ci===e)return s[i];return null}filteredRows(e){const s=new Set,i=new Set;if(this.active()){const{sri:r,eri:o}=this.range(),{filters:l}=this;for(let a=r+1;a<=o;a+=1)for(let c=0;c<l.length;c+=1){const d=l[c],u=e(a,d.ci),f=u?u.text:"";if(d.includes(f))i.add(a);else{s.add(a);break}}}return{rset:s,fset:i}}items(e,s){const i={};if(this.active()){const{sri:r,eri:o}=this.range();for(let l=r+1;l<=o;l+=1){const a=s(l,e);if(a===null||/^\s*$/.test(a.text))i[""]=(i[""]||0)+1;else{const c=a.text,d=(i[c]||0)+1;i[c]=d}}}return i}range(){return CellRange.valueOf(this.ref)}hrange(){const e=this.range();return e.eri=e.sri,e}clear(){this.ref=null,this.filters=[],this.sort=null}active(){return this.ref!==null}}class Merges{constructor(e=[]){this._=e}forEach(e){this._.forEach(e)}deleteWithin(e){this._=this._.filter(s=>!s.within(e))}getFirstIncludes(e,s){for(let i=0;i<this._.length;i+=1){const r=this._[i];if(r.includes(e,s))return r}return null}filterIntersects(e){return new Merges(this._.filter(s=>s.intersects(e)))}intersects(e){for(let s=0;s<this._.length;s+=1)if(this._[s].intersects(e))return!0;return!1}union(e){let s=e;return this._.forEach(i=>{i.intersects(s)&&(s=i.union(s))}),s}add(e){this.deleteWithin(e),this._.push(e)}shift(e,s,i,r){this._.forEach(o=>{const{sri:l,sci:a,eri:c,eci:d}=o,u=o;e==="row"?l>=s?(u.sri+=i,u.eri+=i):l<s&&s<=c&&(u.eri+=i,r(l,a,i,0)):e==="column"&&(a>=s?(u.sci+=i,u.eci+=i):a<s&&s<=d&&(u.eci+=i,r(l,a,0,i)))})}move(e,s,i){this._.forEach(r=>{const o=r;o.within(e)&&(o.eri+=s,o.sri+=s,o.sci+=i,o.eci+=i)})}setData(e){return this._=e.map(s=>CellRange.valueOf(s)),this}getData(){return this._.map(e=>e.toString())}}function cloneDeep(n){return JSON.parse(JSON.stringify(n))}const mergeDeep=(n={},...e)=>(e.forEach(s=>{Object.keys(s).forEach(i=>{const r=s[i];typeof r=="string"||typeof r=="number"||typeof r=="boolean"?n[i]=r:typeof r!="function"&&!Array.isArray(r)&&r instanceof Object?(n[i]=n[i]||{},mergeDeep(n[i],r)):n[i]=r})}),n);function equals(n,e){const s=Object.keys(n);if(s.length!==Object.keys(e).length)return!1;for(let i=0;i<s.length;i+=1){const r=s[i],o=n[r],l=e[r];if(l===void 0)return!1;if(typeof o=="string"||typeof o=="number"||typeof o=="boolean"){if(o!==l)return!1}else if(Array.isArray(o)){if(o.length!==l.length)return!1;for(let a=0;a<o.length;a+=1)if(!equals(o[a],l[a]))return!1}else if(typeof o!="function"&&!Array.isArray(o)&&o instanceof Object&&!equals(o,l))return!1}return!0}const sum=(n,e=s=>s)=>{let s=0,i=0;return Object.keys(n).forEach(r=>{s+=e(n[r],r),i+=1}),[s,i]};function deleteProperty(n,e){const s=n[`${e}`];return delete n[`${e}`],s}function rangeReduceIf(n,e,s,i,r,o){let l=s,a=i,c=n;for(;c<e&&!(l>r);c+=1)a=o(c),l+=a;return[c,l-a,a]}function rangeSum(n,e,s){let i=0;for(let r=n;r<e;r+=1)i+=s(r);return i}function rangeEach(n,e,s){for(let i=n;i<e;i+=1)s(i)}function arrayEquals(n,e){if(n.length!==e.length)return!1;for(let s=0;s<n.length;s+=1)if(n[s]!==e[s])return!1;return!0}function digits(n){const e=`${n}`;let s=0,i=!1;for(let r=0;r<e.length;r+=1)i===!0&&(s+=1),e.charAt(r)==="."&&(i=!0);return s}function numberCalc(n,e,s){if(Number.isNaN(e)||Number.isNaN(s))return e+n+s;const i=digits(e),r=digits(s),o=Number(e),l=Number(s);let a=0;if(n==="-")a=o-l;else if(n==="+")a=o+l;else if(n==="*")a=o*l;else if(n==="/")return a=o/l,digits(a)>5?a.toFixed(2):a;return a.toFixed(Math.max(i,r))}const helper_rslib_entry_={cloneDeep,merge:(...n)=>mergeDeep({},...n),equals,arrayEquals,sum,rangeEach,rangeSum,rangeReduceIf,deleteProperty,numberCalc};class Rows{constructor({len:e,height:s}){this._={},this.len=e,this.height=s}getHeight(e){if(this.isHide(e))return 0;const s=this.get(e);return s&&s.height?s.height:this.height}setHeight(e,s){const i=this.getOrNew(e);i.height=s}unhide(e){let s=e;for(;s>0&&(s-=1,this.isHide(s));)this.setHide(s,!1)}isHide(e){const s=this.get(e);return s&&s.hide}setHide(e,s){const i=this.getOrNew(e);s===!0?i.hide=!0:delete i.hide}setStyle(e,s){const i=this.getOrNew(e);i.style=s}sumHeight(e,s,i){return helper_rslib_entry_.rangeSum(e,s,r=>i&&i.has(r)?0:this.getHeight(r))}totalHeight(){return this.sumHeight(0,this.len)}get(e){return this._[e]}getOrNew(e){return this._[e]=this._[e]||{cells:{}},this._[e]}getCell(e,s){const i=this.get(e);return i!==void 0&&i.cells!==void 0&&i.cells[s]!==void 0?i.cells[s]:null}getCellMerge(e,s){const i=this.getCell(e,s);return i&&i.merge?i.merge:[0,0]}getCellOrNew(e,s){const i=this.getOrNew(e);return i.cells[s]=i.cells[s]||{},i.cells[s]}setCell(e,s,i,r="all"){const o=this.getOrNew(e);r==="all"?o.cells[s]=i:r==="text"?(o.cells[s]=o.cells[s]||{},o.cells[s].text=i.text):r==="format"&&(o.cells[s]=o.cells[s]||{},o.cells[s].style=i.style,i.merge&&(o.cells[s].merge=i.merge))}setCellText(e,s,i){const r=this.getCellOrNew(e,s);r.editable!==!1&&(r.text=i)}copyPaste(e,s,i,r=!1,o=()=>{}){const{sri:l,sci:a,eri:c,eci:d}=e,u=s.sri,f=s.sci,p=s.eri,m=s.eci,[g,x]=e.size(),[b,E]=s.size();let v=!0,w=0;(p<l||m<a)&&(v=!1,w=p<l?b:E);for(let C=l;C<=c;C+=1)if(this._[C]){for(let A=a;A<=d;A+=1)if(this._[C].cells&&this._[C].cells[A])for(let R=u;R<=p;R+=g)for(let j=f;j<=m;j+=x){const L=R+(C-l),V=j+(A-a),W=helper_rslib_entry_.cloneDeep(this._[C].cells[A]);if(r&&W&&W.text&&W.text.length>0){const{text:K}=W;let X=j-f+(R-u)+2;if(v||(X-=w+1),K[0]==="=")W.text=K.replace(/[a-zA-Z]{1,3}\d+/g,z=>{let[H,Y]=[0,0];return l===u?H=X-1:Y=X-1,/^\d+$/.test(z)?z:expr2expr(z,H,Y)});else if(g<=1&&x>1&&(u>c||p<l)||x<=1&&g>1&&(f>d||m<a)||g<=1&&x<=1){const z=/[\\.\d]+$/.exec(K);if(z!==null){const H=Number(z[0])+X-1;W.text=K.substring(0,z.index)+H}}}this.setCell(L,V,W,i),o(L,V,W)}}}cutPaste(e,s){const i={};this.each(r=>{this.eachCells(r,o=>{let l=parseInt(r,10),a=parseInt(o,10);e.includes(r,o)&&(l=s.sri+(l-e.sri),a=s.sci+(a-e.sci)),i[l]=i[l]||{cells:{}},i[l].cells[a]=this._[r].cells[o]})}),this._=i}paste(e,s){if(e.length<=0)return;const{sri:i,sci:r}=s;e.forEach((o,l)=>{const a=i+l;o.forEach((c,d)=>{const u=r+d;this.setCellText(a,u,c)})})}insert(e,s=1){const i={};this.each((r,o)=>{let l=parseInt(r,10);l>=e&&(l+=s,this.eachCells(r,(a,c)=>{c.text&&c.text[0]==="="&&(c.text=c.text.replace(/[a-zA-Z]{1,3}\d+/g,d=>expr2expr(d,0,s,(u,f)=>f>=e)))})),i[l]=o}),this._=i,this.len+=s}delete(e,s){const i=s-e+1,r={};this.each((o,l)=>{const a=parseInt(o,10);a<e?r[a]=l:o>s&&(r[a-i]=l,this.eachCells(o,(c,d)=>{d.text&&d.text[0]==="="&&(d.text=d.text.replace(/[a-zA-Z]{1,3}\d+/g,u=>expr2expr(u,0,-i,(f,p)=>p>s)))}))}),this._=r,this.len-=i}insertColumn(e,s=1){this.each((i,r)=>{const o={};this.eachCells(i,(l,a)=>{let c=parseInt(l,10);c>=e&&(c+=s,a.text&&a.text[0]==="="&&(a.text=a.text.replace(/[a-zA-Z]{1,3}\d+/g,d=>expr2expr(d,s,0,u=>u>=e)))),o[c]=a}),r.cells=o})}deleteColumn(e,s){const i=s-e+1;this.each((r,o)=>{const l={};this.eachCells(r,(a,c)=>{const d=parseInt(a,10);d<e?l[d]=c:d>s&&(l[d-i]=c,c.text&&c.text[0]==="="&&(c.text=c.text.replace(/[a-zA-Z]{1,3}\d+/g,u=>expr2expr(u,-i,0,f=>f>s))))}),o.cells=l})}deleteCells(e,s="all"){e.each((i,r)=>{this.deleteCell(i,r,s)})}deleteCell(e,s,i="all"){const r=this.get(e);if(r!==null){const o=this.getCell(e,s);o!==null&&o.editable!==!1&&(i==="all"?delete r.cells[s]:i==="text"?(o.text&&delete o.text,o.value&&delete o.value):i==="format"?(o.style!==void 0&&delete o.style,o.merge&&delete o.merge):i==="merge"&&o.merge&&delete o.merge)}}maxCell(){const e=Object.keys(this._),s=e[e.length-1],i=this._[s];if(i){const{cells:r}=i,o=Object.keys(r),l=o[o.length-1];return[parseInt(s,10),parseInt(l,10)]}return[0,0]}each(e){Object.entries(this._).forEach(([s,i])=>{e(s,i)})}eachCells(e,s){this._[e]&&this._[e].cells&&Object.entries(this._[e].cells).forEach(([i,r])=>{s(i,r)})}setData(e){e.len&&(this.len=e.len,delete e.len),this._=e}getData(){const{len:e}=this;return Object.assign({len:e},this._)}}class Cols{constructor({len:e,width:s,indexWidth:i,minWidth:r}){this._={},this.len=e,this.width=s,this.indexWidth=i,this.minWidth=r}setData(e){e.len&&(this.len=e.len,delete e.len),this._=e}getData(){const{len:e}=this;return Object.assign({len:e},this._)}getWidth(e){if(this.isHide(e))return 0;const s=this._[e];return s&&s.width?s.width:this.width}getOrNew(e){return this._[e]=this._[e]||{},this._[e]}setWidth(e,s){const i=this.getOrNew(e);i.width=s}unhide(e){let s=e;for(;s>0&&(s-=1,this.isHide(s));)this.setHide(s,!1)}isHide(e){const s=this._[e];return s&&s.hide}setHide(e,s){const i=this.getOrNew(e);s===!0?i.hide=!0:delete i.hide}setStyle(e,s){const i=this.getOrNew(e);i.style=s}sumWidth(e,s){return helper_rslib_entry_.rangeSum(e,s,i=>this.getWidth(i))}totalWidth(){return this.sumWidth(0,this.len)}}const en_rslib_entry_={toolbar:{undo:"Undo",redo:"Redo",print:"Print",paintformat:"Paint format",clearformat:"Clear format",format:"Format",fontName:"Font",fontSize:"Font size",fontBold:"Font bold",fontItalic:"Font italic",underline:"Underline",strike:"Strike",color:"Text color",bgcolor:"Fill color",border:"Borders",merge:"Merge cells",align:"Horizontal align",valign:"Vertical align",textwrap:"Text wrapping",freeze:"Freeze cell",autofilter:"Filter",formula:"Functions",more:"More"},contextmenu:{copy:"Copy",cut:"Cut",paste:"Paste",pasteValue:"Paste values only",pasteFormat:"Paste format only",hide:"Hide",insertRow:"Insert row",insertColumn:"Insert column",deleteSheet:"Delete",deleteRow:"Delete row",deleteColumn:"Delete column",deleteCell:"Delete cell",deleteCellText:"Delete cell text",validation:"Data validations",cellprintable:"Enable export",cellnonprintable:"Disable export",celleditable:"Enable editing",cellnoneditable:"Disable editing"},print:{size:"Paper size",orientation:"Page orientation",orientations:["Landscape","Portrait"]},format:{normal:"Normal",text:"Plain Text",number:"Number",percent:"Percent",rmb:"RMB",usd:"USD",eur:"EUR",date:"Date",time:"Time",datetime:"Date time",duration:"Duration"},formula:{sum:"Sum",average:"Average",max:"Max",min:"Min",_if:"IF",and:"AND",or:"OR",concat:"Concat"},validation:{required:"it must be required",notMatch:"it not match its validation rule",between:"it is between {} and {}",notBetween:"it is not between {} and {}",notIn:"it is not in list",equal:"it equal to {}",notEqual:"it not equal to {}",lessThan:"it less than {}",lessThanEqual:"it less than or equal to {}",greaterThan:"it greater than {}",greaterThanEqual:"it greater than or equal to {}"},error:{pasteForMergedCell:"Unable to do this for merged cells"},calendar:{weeks:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"]},button:{next:"Next",cancel:"Cancel",remove:"Remove",save:"Save",ok:"OK"},sort:{desc:"Sort Z -> A",asc:"Sort A -> Z"},filter:{empty:"empty"},dataValidation:{mode:"Mode",range:"Cell Range",criteria:"Criteria",modeType:{cell:"Cell",column:"Colun",row:"Row"},type:{list:"List",number:"Number",date:"Date",phone:"Phone",email:"Email"},operator:{be:"between",nbe:"not betwwen",lt:"less than",lte:"less than or equal to",gt:"greater than",gte:"greater than or equal to",eq:"equal to",neq:"not equal to"}}};let $languages=["en"];const $messages={en:en_rslib_entry_};function translate(n,e){if(e)for(const s of $languages){if(!e[s])break;let i=e[s];const r=n.match(/(?:\\.|[^.])+/g);for(let o=0;o<r.length;o+=1){const l=r[o],a=i[l];if(!a)break;if(o===r.length-1)return a;i=a}}}function t(n){let e=translate(n,$messages);return!e&&window&&window.x_spreadsheet&&window.x_spreadsheet.$messages&&(e=translate(n,window.x_spreadsheet.$messages)),e||""}function tf(n){return()=>t(n)}function locale(n,e,s=!1){s?$languages=[n]:$languages.unshift(n),e&&($messages[n]=e)}const rules={phone:/^[1-9]\d{10}$/,email:/w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*/};function returnMessage(n,e,...s){let i="";return n||(i=t(`validation.${e}`,...s)),[n,i]}class Validator{constructor(e,s,i,r){this.required=s,this.value=i,this.type=e,this.operator=r,this.message=""}parseValue(e){const{type:s}=this;return s==="date"?new Date(e):s==="number"?Number(e):e}equals(e){let s=this.type===e.type&&this.required===e.required&&this.operator===e.operator;return s&&(s=Array.isArray(this.value)?helper_rslib_entry_.arrayEquals(this.value,e.value):this.value===e.value),s}values(){return this.value.split(",")}validate(e){const{required:s,operator:i,value:r,type:o}=this;if(s&&/^\s*$/.test(e))return returnMessage(!1,"required");if(/^\s*$/.test(e))return[!0];if(rules[o]&&!rules[o].test(e))return returnMessage(!1,"notMatch");if(o==="list")return returnMessage(this.values().includes(e),"notIn");if(i){const l=this.parseValue(e);if(i==="be"){const[a,c]=r;return returnMessage(l>=this.parseValue(a)&&l<=this.parseValue(c),"between",a,c)}if(i==="nbe"){const[a,c]=r;return returnMessage(l<this.parseValue(a)||l>this.parseValue(c),"notBetween",a,c)}if(i==="eq")return returnMessage(l===this.parseValue(r),"equal",r);if(i==="neq")return returnMessage(l!==this.parseValue(r),"notEqual",r);if(i==="lt")return returnMessage(l<this.parseValue(r),"lessThan",r);if(i==="lte")return returnMessage(l<=this.parseValue(r),"lessThanEqual",r);if(i==="gt")return returnMessage(l>this.parseValue(r),"greaterThan",r);if(i==="gte")return returnMessage(l>=this.parseValue(r),"greaterThanEqual",r)}return[!0]}}class Validation{constructor(e,s,i){this.refs=s,this.mode=e,this.validator=i}includes(e,s){const{refs:i}=this;for(let r=0;r<i.length;r+=1)if(CellRange.valueOf(i[r]).includes(e,s))return!0;return!1}addRef(e){this.remove(CellRange.valueOf(e)),this.refs.push(e)}remove(e){const s=[];this.refs.forEach(i=>{const r=CellRange.valueOf(i);r.intersects(e)?r.difference(e).forEach(l=>s.push(l.toString())):s.push(i)}),this.refs=s}getData(){const{refs:e,mode:s,validator:i}=this,{type:r,required:o,operator:l,value:a}=i;return{refs:e,mode:s,type:r,required:o,operator:l,value:a}}static valueOf({refs:e,mode:s,type:i,required:r,operator:o,value:l}){return new Validation(s,e,new Validator(i,r,l,o))}}class Validations{constructor(){this._=[],this.errors=new Map}getError(e,s){return this.errors.get(`${e}_${s}`)}validate(e,s,i){const r=this.get(e,s),o=`${e}_${s}`,{errors:l}=this;if(r!==null){const[a,c]=r.validator.validate(i);a?l.delete(o):l.set(o,c)}else l.delete(o);return!0}add(e,s,{type:i,required:r,value:o,operator:l}){const a=new Validator(i,r,o,l),c=this.getByValidator(a);c!==null?c.addRef(s):this._.push(new Validation(e,[s],a))}getByValidator(e){for(let s=0;s<this._.length;s+=1){const i=this._[s];if(i.validator.equals(e))return i}return null}get(e,s){for(let i=0;i<this._.length;i+=1){const r=this._[i];if(r.includes(e,s))return r}return null}remove(e){this.each(s=>{s.remove(e)})}each(e){this._.forEach(s=>e(s))}getData(){return this._.filter(e=>e.refs.length>0).map(e=>e.getData())}setData(e){this._=e.map(s=>Validation.valueOf(s))}}const defaultSettings={mode:"edit",view:{height:()=>document.documentElement.clientHeight,width:()=>document.documentElement.clientWidth},showGrid:!0,showToolbar:!0,showContextmenu:!0,showBottomBar:!0,row:{len:100,height:25},col:{len:26,width:100,indexWidth:60,minWidth:60},style:{bgcolor:"#ffffff",align:"left",valign:"middle",textwrap:!1,strike:!1,underline:!1,color:"#0a0a0a",font:{name:"Arial",size:10,bold:!1,italic:!1},format:"normal"}},toolbarHeight=41,bottombarHeight=41;function canPaste(n,e,s=()=>{}){const{merges:i}=this,r=e.clone(),[o,l]=n.size(),[a,c]=e.size();return o>a&&(r.eri=e.sri+o-1),l>c&&(r.eci=e.sci+l-1),i.intersects(r)?(s(t("error.pasteForMergedCell")),!1):!0}function copyPaste(n,e,s,i=!1){const{rows:r,merges:o}=this;(s==="all"||s==="format")&&(r.deleteCells(e,s),o.deleteWithin(e)),r.copyPaste(n,e,s,i,(l,a,c)=>{if(c&&c.merge){const[d,u]=c.merge;if(d<=0&&u<=0)return;o.add(new CellRange(l,a,l+d,a+u))}})}function cutPaste(n,e){const{clipboard:s,rows:i,merges:r}=this;i.cutPaste(n,e),r.move(n,e.sri-n.sri,e.sci-n.sci),s.clear()}function setStyleBorder(n,e,s){const{styles:i,rows:r}=this,o=r.getCellOrNew(n,e);let l={};o.style!==void 0&&(l=helper_rslib_entry_.cloneDeep(i[o.style])),l=helper_rslib_entry_.merge(l,{border:s}),o.style=this.addStyle(l)}function setStyleBorders({mode:n,style:e,color:s}){const{styles:i,selector:r,rows:o}=this,{sri:l,sci:a,eri:c,eci:d}=r.range,u=!this.isSingleSelected();if(!(!u&&(n==="inside"||n==="horizontal"||n==="vertical")))if(n!=="outside"||u){if(n==="none")r.range.each((f,p)=>{const m=o.getCell(f,p);if(m&&m.style!==void 0){const g=helper_rslib_entry_.cloneDeep(i[m.style]);delete g.border,m.style=this.addStyle(g)}});else if(n==="all"||n==="inside"||n==="outside"||n==="horizontal"||n==="vertical"){const f=[];for(let p=l;p<=c;p+=1)for(let m=a;m<=d;m+=1){const g=[];for(let A=0;A<f.length;A+=1){const[R,j,L,V]=f[A];if(p===R+L+1&&g.push(A),R<=p&&p<=R+L&&m===j){m+=V+1;break}}if(g.forEach(A=>f.splice(A,1)),m>d)break;const x=o.getCell(p,m);let[b,E]=[0,0];x&&x.merge&&([b,E]=x.merge,f.push([p,m,b,E]));const v=b>0&&p+b===c,w=E>0&&m+E===d;let C={};n==="all"?C={bottom:[e,s],top:[e,s],left:[e,s],right:[e,s]}:n==="inside"?(!w&&m<d&&(C.right=[e,s]),!v&&p<c&&(C.bottom=[e,s])):n==="horizontal"?!v&&p<c&&(C.bottom=[e,s]):n==="vertical"?!w&&m<d&&(C.right=[e,s]):n==="outside"&&u&&(l===p&&(C.top=[e,s]),(v||c===p)&&(C.bottom=[e,s]),a===m&&(C.left=[e,s]),(w||d===m)&&(C.right=[e,s])),Object.keys(C).length>0&&setStyleBorder.call(this,p,m,C),m+=E}}else if(n==="top"||n==="bottom")for(let f=a;f<=d;f+=1)n==="top"&&(setStyleBorder.call(this,l,f,{top:[e,s]}),f+=o.getCellMerge(l,f)[1]),n==="bottom"&&(setStyleBorder.call(this,c,f,{bottom:[e,s]}),f+=o.getCellMerge(c,f)[1]);else if(n==="left"||n==="right")for(let f=l;f<=c;f+=1)n==="left"&&(setStyleBorder.call(this,f,a,{left:[e,s]}),f+=o.getCellMerge(f,a)[0]),n==="right"&&(setStyleBorder.call(this,f,d,{right:[e,s]}),f+=o.getCellMerge(f,d)[0])}else setStyleBorder.call(this,l,a,{top:[e,s],bottom:[e,s],left:[e,s],right:[e,s]})}function getCellRowByY(n,e){const{rows:s}=this,i=this.freezeTotalHeight();let r=s.height;i+s.height<n&&(r-=e);const o=this.exceptRowSet;let l=0,a=r,{height:c}=s;for(;l<s.len&&!(a>n);l+=1)o.has(l)||(c=s.getHeight(l),a+=c);return a-=c,a<=0?{ri:-1,top:0,height:c}:{ri:l-1,top:a,height:c}}function getCellColByX(n,e){const{cols:s}=this,i=this.freezeTotalWidth();let r=s.indexWidth;i+s.indexWidth<n&&(r-=e);const[o,l,a]=helper_rslib_entry_.rangeReduceIf(0,s.len,r,s.indexWidth,n,c=>s.getWidth(c));return l<=0?{ci:-1,left:0,width:s.indexWidth}:{ci:o-1,left:l,width:a}}class DataProxy{constructor(e,s){this.settings=helper_rslib_entry_.merge(defaultSettings,s||{}),this.name=e||"sheet",this.freeze=[0,0],this.styles=[],this.merges=new Merges,this.rows=new Rows(this.settings.row),this.cols=new Cols(this.settings.col),this.validations=new Validations,this.hyperlinks={},this.comments={},this.selector=new Selector$1,this.scroll=new Scroll,this.history=new History,this.clipboard=new Clipboard,this.autoFilter=new AutoFilter,this.change=()=>{},this.exceptRowSet=new Set,this.sortedRowMap=new Map,this.unsortedRowMap=new Map}addValidation(e,s,i){this.changeData(()=>{this.validations.add(e,s,i)})}removeValidation(){const{range:e}=this.selector;this.changeData(()=>{this.validations.remove(e)})}getSelectedValidator(){const{ri:e,ci:s}=this.selector,i=this.validations.get(e,s);return i?i.validator:null}getSelectedValidation(){const{ri:e,ci:s,range:i}=this.selector,r=this.validations.get(e,s),o={ref:i.toString()};return r!==null&&(o.mode=r.mode,o.validator=r.validator),o}canUndo(){return this.history.canUndo()}canRedo(){return this.history.canRedo()}undo(){this.history.undo(this.getData(),e=>{this.setData(e)})}redo(){this.history.redo(this.getData(),e=>{this.setData(e)})}copy(){this.clipboard.copy(this.selector.range)}copyToSystemClipboard(e){let s=[];const{sri:i,eri:r,sci:o,eci:l}=this.selector.range;for(let a=i;a<=r;a+=1){const c=[];for(let d=o;d<=l;d+=1){const u=this.getCell(a,d);c.push(u&&u.text||"")}s.push(c)}s=s.map(a=>a.join(" ")).join(`
|
|
2
|
+
(function(y,P){typeof exports=="object"&&typeof module!="undefined"?P(exports,require("@tachybase/client"),require("@tego/client"),require("react/jsx-runtime"),require("react"),require("@tachybase/schema"),require("@ant-design/icons"),require("antd"),require("lodash"),require("react-dom"),require("react-router-dom"),require("dayjs"),require("ahooks")):typeof define=="function"&&define.amd?define(["exports","@tachybase/client","@tego/client","react/jsx-runtime","react","@tachybase/schema","@ant-design/icons","antd","lodash","react-dom","react-router-dom","dayjs","ahooks"],P):(y=typeof globalThis!="undefined"?globalThis:y||self,P(y["@tachybase/module-hera"]={},y["@tachybase/client"],y["@tego/client"],y.jsxRuntime,y.react,y["@tachybase/schema"],y["@ant-design/icons"],y.antd,y.lodash,y["react-dom"],y["react-router-dom"],y.dayjs,y.ahooks))})(this,function(exports,client,client$1,__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__,React,schema,icons,antd,_,ReactDOM,reactRouterDom,dayjs,ahooks){"use strict";var te=Object.defineProperty,se=Object.defineProperties;var ie=Object.getOwnPropertyDescriptors;var Z=Object.getOwnPropertySymbols;var ne=Object.prototype.hasOwnProperty,re=Object.prototype.propertyIsEnumerable;var J=y=>{throw TypeError(y)};var q=(y,P,S)=>P in y?te(y,P,{enumerable:!0,configurable:!0,writable:!0,value:S}):y[P]=S,D=(y,P)=>{for(var S in P||(P={}))ne.call(P,S)&&q(y,S,P[S]);if(Z)for(var S of Z(P))re.call(P,S)&&q(y,S,P[S]);return y},I=(y,P)=>se(y,ie(P));var Q=(y,P,S)=>q(y,typeof P!="symbol"?P+"":P,S),ee=(y,P,S)=>P.has(y)||J("Cannot "+S);var k=(y,P,S)=>(ee(y,P,"read from private field"),S?S.call(y):P.get(y)),U=(y,P,S)=>P.has(y)?J("Cannot add the same private member more than once"):P instanceof WeakSet?P.add(y):P.set(y,S),N=(y,P,S,M)=>(ee(y,P,"write to private field"),M?M.call(y,S):P.set(y,S),S);var T=(y,P,S)=>new Promise((M,F)=>{var O=n=>{try{$(S.next(n))}catch(e){F(e)}},B=n=>{try{$(S.throw(n))}catch(e){F(e)}},$=n=>n.done?M(n.value):Promise.resolve(n.value).then(O,B);$((S=S.apply(y,P)).next())});var y,P,S,M,F,O;function _interopNamespaceDefault(n){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const s in n)if(s!=="default"){const i=Object.getOwnPropertyDescriptor(n,s);Object.defineProperty(e,s,i.get?i:{enumerable:!0,get:()=>n[s]})}}return e.default=n,Object.freeze(e)}const React__namespace=_interopNamespaceDefault(React);var commonjsGlobal=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function getDefaultExportFromCjs(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var FileSaver_min$1={exports:{}},FileSaver_min=FileSaver_min$1.exports,hasRequiredFileSaver_min;function requireFileSaver_min(){return hasRequiredFileSaver_min||(hasRequiredFileSaver_min=1,function(n,e){(function(s,i){i()})(FileSaver_min,function(){function s(d,u){return typeof u=="undefined"?u={autoBom:!1}:typeof u!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),u={autoBom:!u}),u.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(d.type)?new Blob(["\uFEFF",d],{type:d.type}):d}function i(d,u,f){var p=new XMLHttpRequest;p.open("GET",d),p.responseType="blob",p.onload=function(){c(p.response,u,f)},p.onerror=function(){console.error("could not download file")},p.send()}function r(d){var u=new XMLHttpRequest;u.open("HEAD",d,!1);try{u.send()}catch(f){}return 200<=u.status&&299>=u.status}function o(d){try{d.dispatchEvent(new MouseEvent("click"))}catch(f){var u=document.createEvent("MouseEvents");u.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),d.dispatchEvent(u)}}var l=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof commonjsGlobal=="object"&&commonjsGlobal.global===commonjsGlobal?commonjsGlobal:void 0,a=l.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),c=l.saveAs||(typeof window!="object"||window!==l?function(){}:"download"in HTMLAnchorElement.prototype&&!a?function(d,u,f){var p=l.URL||l.webkitURL,m=document.createElement("a");u=u||d.name||"download",m.download=u,m.rel="noopener",typeof d=="string"?(m.href=d,m.origin===location.origin?o(m):r(m.href)?i(d,u,f):o(m,m.target="_blank")):(m.href=p.createObjectURL(d),setTimeout(function(){p.revokeObjectURL(m.href)},4e4),setTimeout(function(){o(m)},0))}:"msSaveOrOpenBlob"in navigator?function(d,u,f){if(u=u||d.name||"download",typeof d!="string")navigator.msSaveOrOpenBlob(s(d,f),u);else if(r(d))i(d,u,f);else{var p=document.createElement("a");p.href=d,p.target="_blank",setTimeout(function(){o(p)})}}:function(d,u,f,p){if(p=p||open("","_blank"),p&&(p.document.title=p.document.body.innerText="downloading..."),typeof d=="string")return i(d,u,f);var m=d.type==="application/octet-stream",g=/constructor/i.test(l.HTMLElement)||l.safari,x=/CriOS\/[\d]+/.test(navigator.userAgent);if((x||m&&g||a)&&typeof FileReader!="undefined"){var b=new FileReader;b.onloadend=function(){var w=b.result;w=x?w:w.replace(/^data:[^;]*;/,"data:attachment/file;"),p?p.location.href=w:location=w,p=null},b.readAsDataURL(d)}else{var E=l.URL||l.webkitURL,v=E.createObjectURL(d);p?p.location=v:location.href=v,p=null,setTimeout(function(){E.revokeObjectURL(v)},4e4)}});l.saveAs=c.saveAs=c,n.exports=c})}(FileSaver_min$1)),FileSaver_min$1.exports}var FileSaver_minExports=requireFileSaver_min();const NAMESPACE="@tachybase/module-hera";class Locale{constructor(e){this.app=e}lang(e){return this.app.i18n.t(e,{ns:NAMESPACE})}}const useTranslation=()=>{const{i18n:n}=client.useApp();return{t:(s,i={})=>n.t(s,D({ns:NAMESPACE},i))}},tval=n=>client.tval(n,{ns:NAMESPACE});function lang(n){return client.i18n.t(n,{ns:NAMESPACE})}const LoadingSpin=({children:n,spinning:e})=>{const{t:s}=useTranslation();return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Spin,{tip:s("loading..."),indicator:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(icons.LoadingOutlined,{style:{fontSize:24},spin:!0}),spinning:e,children:n})},PDFViewer=React.forwardRef((n,e)=>{const i=client.useApp().AttachmentPreviewManager.get(),{checkedComponent:r}=i["application/pdf"],o=client.useIsMobile(),[l,a]=React.useState(""),[c,d]=React.useState(null),{file:u,width:f=960}=n,{loading:p,data:m}=client.useRequest({url:u,responseType:"arraybuffer"},{refreshDeps:[u]});return React.useImperativeHandle(e,()=>({download(){const g=new Blob([m],{type:"application/pdf"});FileSaver_minExports.saveAs(g,schema.uid()+".pdf")},print(){c.print()}})),React.useEffect(()=>{if(p||!m)return;const g=new Blob([m],{type:"application/pdf"}),x=URL.createObjectURL(g);a(x)},[m,p]),React.useEffect(()=>{if(!l)return;const g=document.createElement("iframe");return g.style.display="none",g.src=l,g.onload=()=>{d(g.contentWindow)},document.body.appendChild(g),()=>{URL.revokeObjectURL(l),document.body.removeChild(g)}},[l]),__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(LoadingSpin,{spinning:p,children:r({file:{url:l},width:f,noTransformWrapper:!o})})});class Element{constructor(e,s=""){typeof e=="string"?(this.el=document.createElement(e),this.el.className=s):this.el=e,this.data={}}data(e,s){return s!==void 0?(this.data[e]=s,this):this.data[e]}on(e,s){const[i,...r]=e.split(".");let o=i;return o==="mousewheel"&&/Firefox/i.test(window.navigator.userAgent)&&(o="DOMMouseScroll"),this.el.addEventListener(o,l=>{s(l);for(let a=0;a<r.length;a+=1){const c=r[a];if(c==="left"&&l.button!==0||c==="right"&&l.button!==2)return;c==="stop"&&l.stopPropagation()}}),this}offset(e){if(e!==void 0)return Object.keys(e).forEach(l=>{this.css(l,`${e[l]}px`)}),this;const{offsetTop:s,offsetLeft:i,offsetHeight:r,offsetWidth:o}=this.el;return{top:s,left:i,height:r,width:o}}scroll(e){const{el:s}=this;return e!==void 0&&(e.left!==void 0&&(s.scrollLeft=e.left),e.top!==void 0&&(s.scrollTop=e.top)),{left:s.scrollLeft,top:s.scrollTop}}box(){return this.el.getBoundingClientRect()}parent(){return new Element(this.el.parentNode)}children(...e){return arguments.length===0?this.el.childNodes:(e.forEach(s=>this.child(s)),this)}removeChild(e){this.el.removeChild(e)}child(e){let s=e;return typeof e=="string"?s=document.createTextNode(e):e instanceof Element&&(s=e.el),this.el.appendChild(s),this}contains(e){return this.el.contains(e)}className(e){return e!==void 0?(this.el.className=e,this):this.el.className}addClass(e){return this.el.classList.add(e),this}hasClass(e){return this.el.classList.contains(e)}removeClass(e){return this.el.classList.remove(e),this}toggle(e="active"){return this.toggleClass(e)}toggleClass(e){return this.el.classList.toggle(e)}active(e=!0,s="active"){return e?this.addClass(s):this.removeClass(s),this}checked(e=!0){return this.active(e,"checked"),this}disabled(e=!0){return e?this.addClass("disabled"):this.removeClass("disabled"),this}attr(e,s){if(s!==void 0)this.el.setAttribute(e,s);else{if(typeof e=="string")return this.el.getAttribute(e);Object.keys(e).forEach(i=>{this.el.setAttribute(i,e[i])})}return this}removeAttr(e){return this.el.removeAttribute(e),this}html(e){return e!==void 0?(this.el.innerHTML=e,this):this.el.innerHTML}val(e){return e!==void 0?(this.el.value=e,this):this.el.value}focus(){this.el.focus()}cssRemoveKeys(...e){return e.forEach(s=>this.el.style.removeProperty(s)),this}css(e,s){return s===void 0&&typeof e!="string"?(Object.keys(e).forEach(i=>{this.el.style[i]=e[i]}),this):s!==void 0?(this.el.style[e]=s,this):this.el.style[e]}computedStyle(){return window.getComputedStyle(this.el,null)}show(){return this.css("display","block"),this}hide(){return this.css("display","none"),this}}const h=(n,e="")=>new Element(n,e),alphabets=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"];function stringAt(n){let e="",s=n;for(;s>=alphabets.length;)s/=alphabets.length,s-=1,e+=alphabets[parseInt(s,10)%alphabets.length];const i=n%alphabets.length;return e+=alphabets[i],e}function indexAt(n){let e=0;for(let s=0;s!==n.length;++s)e=26*e+n.charCodeAt(s)-64;return e-1}function expr2xy(n){let e="",s="";for(let i=0;i<n.length;i+=1)n.charAt(i)>="0"&&n.charAt(i)<="9"?s+=n.charAt(i):e+=n.charAt(i);return[indexAt(e),parseInt(s,10)-1]}function xy2expr(n,e){return`${stringAt(n)}${e+1}`}function expr2expr(n,e,s,i=()=>!0){if(e===0&&s===0)return n;const[r,o]=expr2xy(n);return i(r,o)?xy2expr(r+e,o+s):n}class CellRange{constructor(e,s,i,r,o=0,l=0){this.sri=e,this.sci=s,this.eri=i,this.eci=r,this.w=o,this.h=l}set(e,s,i,r){this.sri=e,this.sci=s,this.eri=i,this.eci=r}multiple(){return this.eri-this.sri>0||this.eci-this.sci>0}includes(...e){let[s,i]=[0,0];e.length===1?[i,s]=expr2xy(e[0]):e.length===2&&([s,i]=e);const{sri:r,sci:o,eri:l,eci:a}=this;return r<=s&&s<=l&&o<=i&&i<=a}each(e,s=()=>!0){const{sri:i,sci:r,eri:o,eci:l}=this;for(let a=i;a<=o;a+=1)if(s(a))for(let c=r;c<=l;c+=1)e(a,c)}contains(e){return this.sri<=e.sri&&this.sci<=e.sci&&this.eri>=e.eri&&this.eci>=e.eci}within(e){return this.sri>=e.sri&&this.sci>=e.sci&&this.eri<=e.eri&&this.eci<=e.eci}disjoint(e){return this.sri>e.eri||this.sci>e.eci||e.sri>this.eri||e.sci>this.eci}intersects(e){return this.sri<=e.eri&&this.sci<=e.eci&&e.sri<=this.eri&&e.sci<=this.eci}union(e){const{sri:s,sci:i,eri:r,eci:o}=this;return new CellRange(e.sri<s?e.sri:s,e.sci<i?e.sci:i,e.eri>r?e.eri:r,e.eci>o?e.eci:o)}difference(e){const s=[],i=(p,m,g,x)=>{s.push(new CellRange(p,m,g,x))},{sri:r,sci:o,eri:l,eci:a}=this,c=e.sri-r,d=e.sci-o,u=l-e.eri,f=a-e.eci;return c>0?(i(r,o,e.sri-1,a),u>0?(i(e.eri+1,o,l,a),d>0&&i(e.sri,o,e.eri,e.sci-1),f>0&&i(e.sri,e.eci+1,e.eri,a)):(d>0&&i(e.sri,o,l,e.sci-1),f>0&&i(e.sri,e.eci+1,l,a))):u>0&&(i(e.eri+1,o,l,a),d>0&&i(r,o,e.eri,e.sci-1),f>0&&i(r,e.eci+1,e.eri,a)),d>0?(i(r,o,l,e.sci-1),f>0?(i(r,e.eri+1,l,a),c>0&&i(r,e.sci,e.sri-1,e.eci),u>0&&i(e.sri+1,e.sci,l,e.eci)):(c>0&&i(r,e.sci,e.sri-1,a),u>0&&i(e.sri+1,e.sci,l,a))):f>0&&(i(l,e.eci+1,l,a),c>0&&i(r,o,e.sri-1,e.eci),u>0&&i(e.eri+1,o,l,e.eci)),s}size(){return[this.eri-this.sri+1,this.eci-this.sci+1]}toString(){const{sri:e,sci:s,eri:i,eci:r}=this;let o=xy2expr(s,e);return this.multiple()&&(o=`${o}:${xy2expr(r,i)}`),o}clone(){const{sri:e,sci:s,eri:i,eci:r,w:o,h:l}=this;return new CellRange(e,s,i,r,o,l)}equals(e){return this.eri===e.eri&&this.eci===e.eci&&this.sri===e.sri&&this.sci===e.sci}static valueOf(e){const s=e.split(":"),[i,r]=expr2xy(s[0]);let[o,l]=[r,i];return s.length>1&&([l,o]=expr2xy(s[1])),new CellRange(r,i,o,l)}}let Selector$1=class{constructor(){this.range=new CellRange(0,0,0,0),this.ri=0,this.ci=0}multiple(){return this.range.multiple()}setIndexes(e,s){this.ri=e,this.ci=s}size(){return this.range.size()}};class Scroll{constructor(){this.x=0,this.y=0,this.ri=0,this.ci=0}}class History{constructor(){this.undoItems=[],this.redoItems=[]}add(e){this.undoItems.push(JSON.stringify(e)),this.redoItems=[]}canUndo(){return this.undoItems.length>0}canRedo(){return this.redoItems.length>0}undo(e,s){const{undoItems:i,redoItems:r}=this;this.canUndo()&&(r.push(JSON.stringify(e)),s(JSON.parse(i.pop())))}redo(e,s){const{undoItems:i,redoItems:r}=this;this.canRedo()&&(i.push(JSON.stringify(e)),s(JSON.parse(r.pop())))}}class Clipboard{constructor(){this.range=null,this.state="clear"}copy(e){return this.range=e,this.state="copy",this}cut(e){return this.range=e,this.state="cut",this}isCopy(){return this.state==="copy"}isCut(){return this.state==="cut"}isClear(){return this.state==="clear"}clear(){this.range=null,this.state="clear"}}class Filter{constructor(e,s,i){this.ci=e,this.operator=s,this.value=i}set(e,s){this.operator=e,this.value=s}includes(e){const{operator:s,value:i}=this;return s==="all"?!0:s==="in"?i.includes(e):!1}vlength(){const{operator:e,value:s}=this;return e==="in"?s.length:0}getData(){const{ci:e,operator:s,value:i}=this;return{ci:e,operator:s,value:i}}}class Sort{constructor(e,s){this.ci=e,this.order=s}asc(){return this.order==="asc"}desc(){return this.order==="desc"}}class AutoFilter{constructor(){this.ref=null,this.filters=[],this.sort=null}setData({ref:e,filters:s,sort:i}){e!=null&&(this.ref=e,this.filters=s.map(r=>new Filter(r.ci,r.operator,r.value)),i&&(this.sort=new Sort(i.ci,i.order)))}getData(){if(this.active()){const{ref:e,filters:s,sort:i}=this;return{ref:e,filters:s.map(r=>r.getData()),sort:i}}return{}}addFilter(e,s,i){const r=this.getFilter(e);r==null?this.filters.push(new Filter(e,s,i)):r.set(s,i)}setSort(e,s){this.sort=s?new Sort(e,s):null}includes(e,s){return this.active()?this.hrange().includes(e,s):!1}getSort(e){const{sort:s}=this;return s&&s.ci===e?s:null}getFilter(e){const{filters:s}=this;for(let i=0;i<s.length;i+=1)if(s[i].ci===e)return s[i];return null}filteredRows(e){const s=new Set,i=new Set;if(this.active()){const{sri:r,eri:o}=this.range(),{filters:l}=this;for(let a=r+1;a<=o;a+=1)for(let c=0;c<l.length;c+=1){const d=l[c],u=e(a,d.ci),f=u?u.text:"";if(d.includes(f))i.add(a);else{s.add(a);break}}}return{rset:s,fset:i}}items(e,s){const i={};if(this.active()){const{sri:r,eri:o}=this.range();for(let l=r+1;l<=o;l+=1){const a=s(l,e);if(a===null||/^\s*$/.test(a.text))i[""]=(i[""]||0)+1;else{const c=a.text,d=(i[c]||0)+1;i[c]=d}}}return i}range(){return CellRange.valueOf(this.ref)}hrange(){const e=this.range();return e.eri=e.sri,e}clear(){this.ref=null,this.filters=[],this.sort=null}active(){return this.ref!==null}}class Merges{constructor(e=[]){this._=e}forEach(e){this._.forEach(e)}deleteWithin(e){this._=this._.filter(s=>!s.within(e))}getFirstIncludes(e,s){for(let i=0;i<this._.length;i+=1){const r=this._[i];if(r.includes(e,s))return r}return null}filterIntersects(e){return new Merges(this._.filter(s=>s.intersects(e)))}intersects(e){for(let s=0;s<this._.length;s+=1)if(this._[s].intersects(e))return!0;return!1}union(e){let s=e;return this._.forEach(i=>{i.intersects(s)&&(s=i.union(s))}),s}add(e){this.deleteWithin(e),this._.push(e)}shift(e,s,i,r){this._.forEach(o=>{const{sri:l,sci:a,eri:c,eci:d}=o,u=o;e==="row"?l>=s?(u.sri+=i,u.eri+=i):l<s&&s<=c&&(u.eri+=i,r(l,a,i,0)):e==="column"&&(a>=s?(u.sci+=i,u.eci+=i):a<s&&s<=d&&(u.eci+=i,r(l,a,0,i)))})}move(e,s,i){this._.forEach(r=>{const o=r;o.within(e)&&(o.eri+=s,o.sri+=s,o.sci+=i,o.eci+=i)})}setData(e){return this._=e.map(s=>CellRange.valueOf(s)),this}getData(){return this._.map(e=>e.toString())}}function cloneDeep(n){return JSON.parse(JSON.stringify(n))}const mergeDeep=(n={},...e)=>(e.forEach(s=>{Object.keys(s).forEach(i=>{const r=s[i];typeof r=="string"||typeof r=="number"||typeof r=="boolean"?n[i]=r:typeof r!="function"&&!Array.isArray(r)&&r instanceof Object?(n[i]=n[i]||{},mergeDeep(n[i],r)):n[i]=r})}),n);function equals(n,e){const s=Object.keys(n);if(s.length!==Object.keys(e).length)return!1;for(let i=0;i<s.length;i+=1){const r=s[i],o=n[r],l=e[r];if(l===void 0)return!1;if(typeof o=="string"||typeof o=="number"||typeof o=="boolean"){if(o!==l)return!1}else if(Array.isArray(o)){if(o.length!==l.length)return!1;for(let a=0;a<o.length;a+=1)if(!equals(o[a],l[a]))return!1}else if(typeof o!="function"&&!Array.isArray(o)&&o instanceof Object&&!equals(o,l))return!1}return!0}const sum=(n,e=s=>s)=>{let s=0,i=0;return Object.keys(n).forEach(r=>{s+=e(n[r],r),i+=1}),[s,i]};function deleteProperty(n,e){const s=n[`${e}`];return delete n[`${e}`],s}function rangeReduceIf(n,e,s,i,r,o){let l=s,a=i,c=n;for(;c<e&&!(l>r);c+=1)a=o(c),l+=a;return[c,l-a,a]}function rangeSum(n,e,s){let i=0;for(let r=n;r<e;r+=1)i+=s(r);return i}function rangeEach(n,e,s){for(let i=n;i<e;i+=1)s(i)}function arrayEquals(n,e){if(n.length!==e.length)return!1;for(let s=0;s<n.length;s+=1)if(n[s]!==e[s])return!1;return!0}function digits(n){const e=`${n}`;let s=0,i=!1;for(let r=0;r<e.length;r+=1)i===!0&&(s+=1),e.charAt(r)==="."&&(i=!0);return s}function numberCalc(n,e,s){if(Number.isNaN(e)||Number.isNaN(s))return e+n+s;const i=digits(e),r=digits(s),o=Number(e),l=Number(s);let a=0;if(n==="-")a=o-l;else if(n==="+")a=o+l;else if(n==="*")a=o*l;else if(n==="/")return a=o/l,digits(a)>5?a.toFixed(2):a;return a.toFixed(Math.max(i,r))}const helper_rslib_entry_={cloneDeep,merge:(...n)=>mergeDeep({},...n),equals,arrayEquals,sum,rangeEach,rangeSum,rangeReduceIf,deleteProperty,numberCalc};class Rows{constructor({len:e,height:s}){this._={},this.len=e,this.height=s}getHeight(e){if(this.isHide(e))return 0;const s=this.get(e);return s&&s.height?s.height:this.height}setHeight(e,s){const i=this.getOrNew(e);i.height=s}unhide(e){let s=e;for(;s>0&&(s-=1,this.isHide(s));)this.setHide(s,!1)}isHide(e){const s=this.get(e);return s&&s.hide}setHide(e,s){const i=this.getOrNew(e);s===!0?i.hide=!0:delete i.hide}setStyle(e,s){const i=this.getOrNew(e);i.style=s}sumHeight(e,s,i){return helper_rslib_entry_.rangeSum(e,s,r=>i&&i.has(r)?0:this.getHeight(r))}totalHeight(){return this.sumHeight(0,this.len)}get(e){return this._[e]}getOrNew(e){return this._[e]=this._[e]||{cells:{}},this._[e]}getCell(e,s){const i=this.get(e);return i!==void 0&&i.cells!==void 0&&i.cells[s]!==void 0?i.cells[s]:null}getCellMerge(e,s){const i=this.getCell(e,s);return i&&i.merge?i.merge:[0,0]}getCellOrNew(e,s){const i=this.getOrNew(e);return i.cells[s]=i.cells[s]||{},i.cells[s]}setCell(e,s,i,r="all"){const o=this.getOrNew(e);r==="all"?o.cells[s]=i:r==="text"?(o.cells[s]=o.cells[s]||{},o.cells[s].text=i.text):r==="format"&&(o.cells[s]=o.cells[s]||{},o.cells[s].style=i.style,i.merge&&(o.cells[s].merge=i.merge))}setCellText(e,s,i){const r=this.getCellOrNew(e,s);r.editable!==!1&&(r.text=i)}copyPaste(e,s,i,r=!1,o=()=>{}){const{sri:l,sci:a,eri:c,eci:d}=e,u=s.sri,f=s.sci,p=s.eri,m=s.eci,[g,x]=e.size(),[b,E]=s.size();let v=!0,w=0;(p<l||m<a)&&(v=!1,w=p<l?b:E);for(let C=l;C<=c;C+=1)if(this._[C]){for(let A=a;A<=d;A+=1)if(this._[C].cells&&this._[C].cells[A])for(let R=u;R<=p;R+=g)for(let j=f;j<=m;j+=x){const L=R+(C-l),V=j+(A-a),W=helper_rslib_entry_.cloneDeep(this._[C].cells[A]);if(r&&W&&W.text&&W.text.length>0){const{text:K}=W;let X=j-f+(R-u)+2;if(v||(X-=w+1),K[0]==="=")W.text=K.replace(/[a-zA-Z]{1,3}\d+/g,z=>{let[H,Y]=[0,0];return l===u?H=X-1:Y=X-1,/^\d+$/.test(z)?z:expr2expr(z,H,Y)});else if(g<=1&&x>1&&(u>c||p<l)||x<=1&&g>1&&(f>d||m<a)||g<=1&&x<=1){const z=/[\\.\d]+$/.exec(K);if(z!==null){const H=Number(z[0])+X-1;W.text=K.substring(0,z.index)+H}}}this.setCell(L,V,W,i),o(L,V,W)}}}cutPaste(e,s){const i={};this.each(r=>{this.eachCells(r,o=>{let l=parseInt(r,10),a=parseInt(o,10);e.includes(r,o)&&(l=s.sri+(l-e.sri),a=s.sci+(a-e.sci)),i[l]=i[l]||{cells:{}},i[l].cells[a]=this._[r].cells[o]})}),this._=i}paste(e,s){if(e.length<=0)return;const{sri:i,sci:r}=s;e.forEach((o,l)=>{const a=i+l;o.forEach((c,d)=>{const u=r+d;this.setCellText(a,u,c)})})}insert(e,s=1){const i={};this.each((r,o)=>{let l=parseInt(r,10);l>=e&&(l+=s,this.eachCells(r,(a,c)=>{c.text&&c.text[0]==="="&&(c.text=c.text.replace(/[a-zA-Z]{1,3}\d+/g,d=>expr2expr(d,0,s,(u,f)=>f>=e)))})),i[l]=o}),this._=i,this.len+=s}delete(e,s){const i=s-e+1,r={};this.each((o,l)=>{const a=parseInt(o,10);a<e?r[a]=l:o>s&&(r[a-i]=l,this.eachCells(o,(c,d)=>{d.text&&d.text[0]==="="&&(d.text=d.text.replace(/[a-zA-Z]{1,3}\d+/g,u=>expr2expr(u,0,-i,(f,p)=>p>s)))}))}),this._=r,this.len-=i}insertColumn(e,s=1){this.each((i,r)=>{const o={};this.eachCells(i,(l,a)=>{let c=parseInt(l,10);c>=e&&(c+=s,a.text&&a.text[0]==="="&&(a.text=a.text.replace(/[a-zA-Z]{1,3}\d+/g,d=>expr2expr(d,s,0,u=>u>=e)))),o[c]=a}),r.cells=o})}deleteColumn(e,s){const i=s-e+1;this.each((r,o)=>{const l={};this.eachCells(r,(a,c)=>{const d=parseInt(a,10);d<e?l[d]=c:d>s&&(l[d-i]=c,c.text&&c.text[0]==="="&&(c.text=c.text.replace(/[a-zA-Z]{1,3}\d+/g,u=>expr2expr(u,-i,0,f=>f>s))))}),o.cells=l})}deleteCells(e,s="all"){e.each((i,r)=>{this.deleteCell(i,r,s)})}deleteCell(e,s,i="all"){const r=this.get(e);if(r!==null){const o=this.getCell(e,s);o!==null&&o.editable!==!1&&(i==="all"?delete r.cells[s]:i==="text"?(o.text&&delete o.text,o.value&&delete o.value):i==="format"?(o.style!==void 0&&delete o.style,o.merge&&delete o.merge):i==="merge"&&o.merge&&delete o.merge)}}maxCell(){const e=Object.keys(this._),s=e[e.length-1],i=this._[s];if(i){const{cells:r}=i,o=Object.keys(r),l=o[o.length-1];return[parseInt(s,10),parseInt(l,10)]}return[0,0]}each(e){Object.entries(this._).forEach(([s,i])=>{e(s,i)})}eachCells(e,s){this._[e]&&this._[e].cells&&Object.entries(this._[e].cells).forEach(([i,r])=>{s(i,r)})}setData(e){e.len&&(this.len=e.len,delete e.len),this._=e}getData(){const{len:e}=this;return Object.assign({len:e},this._)}}class Cols{constructor({len:e,width:s,indexWidth:i,minWidth:r}){this._={},this.len=e,this.width=s,this.indexWidth=i,this.minWidth=r}setData(e){e.len&&(this.len=e.len,delete e.len),this._=e}getData(){const{len:e}=this;return Object.assign({len:e},this._)}getWidth(e){if(this.isHide(e))return 0;const s=this._[e];return s&&s.width?s.width:this.width}getOrNew(e){return this._[e]=this._[e]||{},this._[e]}setWidth(e,s){const i=this.getOrNew(e);i.width=s}unhide(e){let s=e;for(;s>0&&(s-=1,this.isHide(s));)this.setHide(s,!1)}isHide(e){const s=this._[e];return s&&s.hide}setHide(e,s){const i=this.getOrNew(e);s===!0?i.hide=!0:delete i.hide}setStyle(e,s){const i=this.getOrNew(e);i.style=s}sumWidth(e,s){return helper_rslib_entry_.rangeSum(e,s,i=>this.getWidth(i))}totalWidth(){return this.sumWidth(0,this.len)}}const en_rslib_entry_={toolbar:{undo:"Undo",redo:"Redo",print:"Print",paintformat:"Paint format",clearformat:"Clear format",format:"Format",fontName:"Font",fontSize:"Font size",fontBold:"Font bold",fontItalic:"Font italic",underline:"Underline",strike:"Strike",color:"Text color",bgcolor:"Fill color",border:"Borders",merge:"Merge cells",align:"Horizontal align",valign:"Vertical align",textwrap:"Text wrapping",freeze:"Freeze cell",autofilter:"Filter",formula:"Functions",more:"More"},contextmenu:{copy:"Copy",cut:"Cut",paste:"Paste",pasteValue:"Paste values only",pasteFormat:"Paste format only",hide:"Hide",insertRow:"Insert row",insertColumn:"Insert column",deleteSheet:"Delete",deleteRow:"Delete row",deleteColumn:"Delete column",deleteCell:"Delete cell",deleteCellText:"Delete cell text",validation:"Data validations",cellprintable:"Enable export",cellnonprintable:"Disable export",celleditable:"Enable editing",cellnoneditable:"Disable editing"},print:{size:"Paper size",orientation:"Page orientation",orientations:["Landscape","Portrait"]},format:{normal:"Normal",text:"Plain Text",number:"Number",percent:"Percent",rmb:"RMB",usd:"USD",eur:"EUR",date:"Date",time:"Time",datetime:"Date time",duration:"Duration"},formula:{sum:"Sum",average:"Average",max:"Max",min:"Min",_if:"IF",and:"AND",or:"OR",concat:"Concat"},validation:{required:"it must be required",notMatch:"it not match its validation rule",between:"it is between {} and {}",notBetween:"it is not between {} and {}",notIn:"it is not in list",equal:"it equal to {}",notEqual:"it not equal to {}",lessThan:"it less than {}",lessThanEqual:"it less than or equal to {}",greaterThan:"it greater than {}",greaterThanEqual:"it greater than or equal to {}"},error:{pasteForMergedCell:"Unable to do this for merged cells"},calendar:{weeks:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"]},button:{next:"Next",cancel:"Cancel",remove:"Remove",save:"Save",ok:"OK"},sort:{desc:"Sort Z -> A",asc:"Sort A -> Z"},filter:{empty:"empty"},dataValidation:{mode:"Mode",range:"Cell Range",criteria:"Criteria",modeType:{cell:"Cell",column:"Colun",row:"Row"},type:{list:"List",number:"Number",date:"Date",phone:"Phone",email:"Email"},operator:{be:"between",nbe:"not betwwen",lt:"less than",lte:"less than or equal to",gt:"greater than",gte:"greater than or equal to",eq:"equal to",neq:"not equal to"}}};let $languages=["en"];const $messages={en:en_rslib_entry_};function translate(n,e){if(e)for(const s of $languages){if(!e[s])break;let i=e[s];const r=n.match(/(?:\\.|[^.])+/g);for(let o=0;o<r.length;o+=1){const l=r[o],a=i[l];if(!a)break;if(o===r.length-1)return a;i=a}}}function t(n){let e=translate(n,$messages);return!e&&window&&window.x_spreadsheet&&window.x_spreadsheet.$messages&&(e=translate(n,window.x_spreadsheet.$messages)),e||""}function tf(n){return()=>t(n)}function locale(n,e,s=!1){s?$languages=[n]:$languages.unshift(n),e&&($messages[n]=e)}const rules={phone:/^[1-9]\d{10}$/,email:/w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*/};function returnMessage(n,e,...s){let i="";return n||(i=t(`validation.${e}`,...s)),[n,i]}class Validator{constructor(e,s,i,r){this.required=s,this.value=i,this.type=e,this.operator=r,this.message=""}parseValue(e){const{type:s}=this;return s==="date"?new Date(e):s==="number"?Number(e):e}equals(e){let s=this.type===e.type&&this.required===e.required&&this.operator===e.operator;return s&&(s=Array.isArray(this.value)?helper_rslib_entry_.arrayEquals(this.value,e.value):this.value===e.value),s}values(){return this.value.split(",")}validate(e){const{required:s,operator:i,value:r,type:o}=this;if(s&&/^\s*$/.test(e))return returnMessage(!1,"required");if(/^\s*$/.test(e))return[!0];if(rules[o]&&!rules[o].test(e))return returnMessage(!1,"notMatch");if(o==="list")return returnMessage(this.values().includes(e),"notIn");if(i){const l=this.parseValue(e);if(i==="be"){const[a,c]=r;return returnMessage(l>=this.parseValue(a)&&l<=this.parseValue(c),"between",a,c)}if(i==="nbe"){const[a,c]=r;return returnMessage(l<this.parseValue(a)||l>this.parseValue(c),"notBetween",a,c)}if(i==="eq")return returnMessage(l===this.parseValue(r),"equal",r);if(i==="neq")return returnMessage(l!==this.parseValue(r),"notEqual",r);if(i==="lt")return returnMessage(l<this.parseValue(r),"lessThan",r);if(i==="lte")return returnMessage(l<=this.parseValue(r),"lessThanEqual",r);if(i==="gt")return returnMessage(l>this.parseValue(r),"greaterThan",r);if(i==="gte")return returnMessage(l>=this.parseValue(r),"greaterThanEqual",r)}return[!0]}}class Validation{constructor(e,s,i){this.refs=s,this.mode=e,this.validator=i}includes(e,s){const{refs:i}=this;for(let r=0;r<i.length;r+=1)if(CellRange.valueOf(i[r]).includes(e,s))return!0;return!1}addRef(e){this.remove(CellRange.valueOf(e)),this.refs.push(e)}remove(e){const s=[];this.refs.forEach(i=>{const r=CellRange.valueOf(i);r.intersects(e)?r.difference(e).forEach(l=>s.push(l.toString())):s.push(i)}),this.refs=s}getData(){const{refs:e,mode:s,validator:i}=this,{type:r,required:o,operator:l,value:a}=i;return{refs:e,mode:s,type:r,required:o,operator:l,value:a}}static valueOf({refs:e,mode:s,type:i,required:r,operator:o,value:l}){return new Validation(s,e,new Validator(i,r,l,o))}}class Validations{constructor(){this._=[],this.errors=new Map}getError(e,s){return this.errors.get(`${e}_${s}`)}validate(e,s,i){const r=this.get(e,s),o=`${e}_${s}`,{errors:l}=this;if(r!==null){const[a,c]=r.validator.validate(i);a?l.delete(o):l.set(o,c)}else l.delete(o);return!0}add(e,s,{type:i,required:r,value:o,operator:l}){const a=new Validator(i,r,o,l),c=this.getByValidator(a);c!==null?c.addRef(s):this._.push(new Validation(e,[s],a))}getByValidator(e){for(let s=0;s<this._.length;s+=1){const i=this._[s];if(i.validator.equals(e))return i}return null}get(e,s){for(let i=0;i<this._.length;i+=1){const r=this._[i];if(r.includes(e,s))return r}return null}remove(e){this.each(s=>{s.remove(e)})}each(e){this._.forEach(s=>e(s))}getData(){return this._.filter(e=>e.refs.length>0).map(e=>e.getData())}setData(e){this._=e.map(s=>Validation.valueOf(s))}}const defaultSettings={mode:"edit",view:{height:()=>document.documentElement.clientHeight,width:()=>document.documentElement.clientWidth},showGrid:!0,showToolbar:!0,showContextmenu:!0,showBottomBar:!0,row:{len:100,height:25},col:{len:26,width:100,indexWidth:60,minWidth:60},style:{bgcolor:"#ffffff",align:"left",valign:"middle",textwrap:!1,strike:!1,underline:!1,color:"#0a0a0a",font:{name:"Arial",size:10,bold:!1,italic:!1},format:"normal"}},toolbarHeight=41,bottombarHeight=41;function canPaste(n,e,s=()=>{}){const{merges:i}=this,r=e.clone(),[o,l]=n.size(),[a,c]=e.size();return o>a&&(r.eri=e.sri+o-1),l>c&&(r.eci=e.sci+l-1),i.intersects(r)?(s(t("error.pasteForMergedCell")),!1):!0}function copyPaste(n,e,s,i=!1){const{rows:r,merges:o}=this;(s==="all"||s==="format")&&(r.deleteCells(e,s),o.deleteWithin(e)),r.copyPaste(n,e,s,i,(l,a,c)=>{if(c&&c.merge){const[d,u]=c.merge;if(d<=0&&u<=0)return;o.add(new CellRange(l,a,l+d,a+u))}})}function cutPaste(n,e){const{clipboard:s,rows:i,merges:r}=this;i.cutPaste(n,e),r.move(n,e.sri-n.sri,e.sci-n.sci),s.clear()}function setStyleBorder(n,e,s){const{styles:i,rows:r}=this,o=r.getCellOrNew(n,e);let l={};o.style!==void 0&&(l=helper_rslib_entry_.cloneDeep(i[o.style])),l=helper_rslib_entry_.merge(l,{border:s}),o.style=this.addStyle(l)}function setStyleBorders({mode:n,style:e,color:s}){const{styles:i,selector:r,rows:o}=this,{sri:l,sci:a,eri:c,eci:d}=r.range,u=!this.isSingleSelected();if(!(!u&&(n==="inside"||n==="horizontal"||n==="vertical")))if(n!=="outside"||u){if(n==="none")r.range.each((f,p)=>{const m=o.getCell(f,p);if(m&&m.style!==void 0){const g=helper_rslib_entry_.cloneDeep(i[m.style]);delete g.border,m.style=this.addStyle(g)}});else if(n==="all"||n==="inside"||n==="outside"||n==="horizontal"||n==="vertical"){const f=[];for(let p=l;p<=c;p+=1)for(let m=a;m<=d;m+=1){const g=[];for(let A=0;A<f.length;A+=1){const[R,j,L,V]=f[A];if(p===R+L+1&&g.push(A),R<=p&&p<=R+L&&m===j){m+=V+1;break}}if(g.forEach(A=>f.splice(A,1)),m>d)break;const x=o.getCell(p,m);let[b,E]=[0,0];x&&x.merge&&([b,E]=x.merge,f.push([p,m,b,E]));const v=b>0&&p+b===c,w=E>0&&m+E===d;let C={};n==="all"?C={bottom:[e,s],top:[e,s],left:[e,s],right:[e,s]}:n==="inside"?(!w&&m<d&&(C.right=[e,s]),!v&&p<c&&(C.bottom=[e,s])):n==="horizontal"?!v&&p<c&&(C.bottom=[e,s]):n==="vertical"?!w&&m<d&&(C.right=[e,s]):n==="outside"&&u&&(l===p&&(C.top=[e,s]),(v||c===p)&&(C.bottom=[e,s]),a===m&&(C.left=[e,s]),(w||d===m)&&(C.right=[e,s])),Object.keys(C).length>0&&setStyleBorder.call(this,p,m,C),m+=E}}else if(n==="top"||n==="bottom")for(let f=a;f<=d;f+=1)n==="top"&&(setStyleBorder.call(this,l,f,{top:[e,s]}),f+=o.getCellMerge(l,f)[1]),n==="bottom"&&(setStyleBorder.call(this,c,f,{bottom:[e,s]}),f+=o.getCellMerge(c,f)[1]);else if(n==="left"||n==="right")for(let f=l;f<=c;f+=1)n==="left"&&(setStyleBorder.call(this,f,a,{left:[e,s]}),f+=o.getCellMerge(f,a)[0]),n==="right"&&(setStyleBorder.call(this,f,d,{right:[e,s]}),f+=o.getCellMerge(f,d)[0])}else setStyleBorder.call(this,l,a,{top:[e,s],bottom:[e,s],left:[e,s],right:[e,s]})}function getCellRowByY(n,e){const{rows:s}=this,i=this.freezeTotalHeight();let r=s.height;i+s.height<n&&(r-=e);const o=this.exceptRowSet;let l=0,a=r,{height:c}=s;for(;l<s.len&&!(a>n);l+=1)o.has(l)||(c=s.getHeight(l),a+=c);return a-=c,a<=0?{ri:-1,top:0,height:c}:{ri:l-1,top:a,height:c}}function getCellColByX(n,e){const{cols:s}=this,i=this.freezeTotalWidth();let r=s.indexWidth;i+s.indexWidth<n&&(r-=e);const[o,l,a]=helper_rslib_entry_.rangeReduceIf(0,s.len,r,s.indexWidth,n,c=>s.getWidth(c));return l<=0?{ci:-1,left:0,width:s.indexWidth}:{ci:o-1,left:l,width:a}}class DataProxy{constructor(e,s){this.settings=helper_rslib_entry_.merge(defaultSettings,s||{}),this.name=e||"sheet",this.freeze=[0,0],this.styles=[],this.merges=new Merges,this.rows=new Rows(this.settings.row),this.cols=new Cols(this.settings.col),this.validations=new Validations,this.hyperlinks={},this.comments={},this.selector=new Selector$1,this.scroll=new Scroll,this.history=new History,this.clipboard=new Clipboard,this.autoFilter=new AutoFilter,this.change=()=>{},this.exceptRowSet=new Set,this.sortedRowMap=new Map,this.unsortedRowMap=new Map}addValidation(e,s,i){this.changeData(()=>{this.validations.add(e,s,i)})}removeValidation(){const{range:e}=this.selector;this.changeData(()=>{this.validations.remove(e)})}getSelectedValidator(){const{ri:e,ci:s}=this.selector,i=this.validations.get(e,s);return i?i.validator:null}getSelectedValidation(){const{ri:e,ci:s,range:i}=this.selector,r=this.validations.get(e,s),o={ref:i.toString()};return r!==null&&(o.mode=r.mode,o.validator=r.validator),o}canUndo(){return this.history.canUndo()}canRedo(){return this.history.canRedo()}undo(){this.history.undo(this.getData(),e=>{this.setData(e)})}redo(){this.history.redo(this.getData(),e=>{this.setData(e)})}copy(){this.clipboard.copy(this.selector.range)}copyToSystemClipboard(e){let s=[];const{sri:i,eri:r,sci:o,eci:l}=this.selector.range;for(let a=i;a<=r;a+=1){const c=[];for(let d=o;d<=l;d+=1){const u=this.getCell(a,d);c.push(u&&u.text||"")}s.push(c)}s=s.map(a=>a.join(" ")).join(`
|
|
3
3
|
`),e&&(e.clipboardData.clearData(),e.clipboardData.setData("text/plain",s),e.preventDefault()),navigator.clipboard&&navigator.clipboard.writeText(s).then(()=>{},a=>{console.log("text copy to the system clipboard error ",s,a)})}cut(){this.clipboard.cut(this.selector.range)}paste(e="all",s=()=>{}){const{clipboard:i,selector:r}=this;return i.isClear()||!canPaste.call(this,i.range,r.range,s)?!1:(this.changeData(()=>{i.isCopy()?copyPaste.call(this,i.range,r.range,e):i.isCut()&&cutPaste.call(this,i.range,r.range)}),!0)}pasteFromSystemClipboard(e,s){const{selector:i}=this;navigator.clipboard.readText().then(r=>{const o=this.parseClipboardContent(r);let l=i.ri;o.forEach(a=>{let c=i.ci;a.forEach(d=>{this.setCellText(l,c,d,"input"),c+=1}),l+=1}),e(),s(this.rows.getData())})}parseClipboardContent(e){const s=[],i=e.split(`
|
|
4
4
|
`);let r=0;return i.forEach(o=>{s[r]=o.split(" "),r+=1}),s}pasteFromText(e){let s=[];if(s=/\r\n/.test(e)?e.split(`\r
|
|
5
5
|
`).map(i=>i.replace(/"/g,"").split(" ")):e.split(`
|
|
@@ -79,4 +79,4 @@
|
|
|
79
79
|
div::-webkit-scrollbar {
|
|
80
80
|
display: none;
|
|
81
81
|
}
|
|
82
|
-
`,children:c?__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(PDFViewer,{file:c,width:i,ref:l}):""})]})};class PluginPDF extends client.Plugin{load(){return T(this,null,function*(){this.app.addScopes({usePDFViewerPrintActionProps}),this.app.addComponents({PDFViewerBlockInitializer,PDFViewerPrintActionInitializer,PDFViewerProvider,PDFViwer:InternalPDFViewer}),this.schemaInitializerManager.add(pdfViewActionInitializer);const e={title:tval("preview block"),name:"previewBlock",type:"itemGroup",children:[]};this.app.schemaInitializerManager.get("popup:common:addBlock").add(e.name,e)})}}const SheetBlockContext=React.createContext({}),InternalSheetBlockProvider=n=>{const e=schema.useField(),s=client.useDataBlockRequest();return s.loading&&!e.loaded?__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Spin,{}):(e.loaded=!0,__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(SheetBlockContext.Provider,{value:{field:e,service:s},children:n.children}))},SheetBlock=()=>{const n=React.useRef();return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs("div",{style:{height:"70vh"},children:[__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Button,{onClick:()=>console.log("data",n.current.getData()),children:"显示数据"}),__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(ExcelSheet,{ref:n})]})},SheetBlockProvider=n=>__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.DataBlockProvider,I(D({name:"sheet"},n),{children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(InternalSheetBlockProvider,D({},n))})),createSheetBlockSchema=n=>{const{collection:e}=n;return{title:e.title,type:"void","x-acl-action":`${e.name}:list`,"x-decorator":"SheetBlockProvider","x-decorator-props":{collection:e.name},"x-toolbar":"SheetBlockToolbar","x-settings":"sheetBlockSettings","x-component":"CardItem",properties:{[client$2.uid()]:{type:"void","x-component":"SheetBlock"}}}},SheetBlockInitializer=()=>{const{insert:n}=client.useSchemaInitializer(),e=client.useCollectionManager(),s=client.useSchemaInitializerItem();return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.DataBlockInitializer,I(D({},s),{icon:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(icons.TableOutlined,{}),onCreateBlockSchema:r=>T(null,[r],function*({item:i}){const o=e.getCollection(i.name);n(createSheetBlockSchema({collection:o}))})}))},sheetBlockSettings=new client.SchemaSettings({name:"sheetBlockSettings",items:[{name:"remove",type:"remove"}]}),SheetBlockToolbar=n=>{const e=schema.useFieldSchema();return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.SchemaToolbar,D({title:e.title,settings:e["x-settings"]},n))};class PluginSheet extends client.Plugin{load(){return T(this,null,function*(){this.app.addComponents({SheetBlock,SheetBlockInitializer,SheetBlockProvider,SheetBlockToolbar}),this.schemaSettingsManager.add(sheetBlockSettings),this.app.schemaInitializerManager.addItem("page:addBlock","dataBlocks.sheetBlock",{title:tval("Sheet"),Component:"SheetBlockInitializer"})})}}const useGetCustomAssociatedComponents=()=>useCustomComponent(CustomComponentType.CUSTOM_ASSOCIATED_FIELD),useGetCustomComponents=()=>useCustomComponent(CustomComponentType.CUSTOM_FIELD);class ExcelFieldInterface extends client.CollectionFieldInterface{constructor(){super(...arguments),this.name="excelField",this.type="json",this.group="advanced",this.order=3,this.title=tval("Excel table"),this.sortable=!0,this.default={interface:"json",type:"json",uiSchema:{type:"object","x-component":"ExcelFile"}},this.availableTypes=["json"],this.hasDefaultValue=!1,this.properties=D({},client.defaultProps)}}class AssociatedFieldInterface extends client.CollectionFieldInterface{constructor(){super(...arguments),this.name="associated",this.type="object",this.group="relation",this.order=10,this.title="关联字段",this.description="关联字段",this.isAssociation=!0,this.default={type:"belongsTo",uiSchema:{"x-component":"AssociatedField"}},this.availableTypes=["belongsTo"],this.properties=I(D({},client.defaultProps),{"uiSchema.x-component-props.collection":{type:"string",title:"关联数据表","x-decorator":"FormItem","x-component":"Select","x-component-props":{multiple:!1},enum:"{{collections}}",required:!0},"uiSchema.x-component-props.sourceCollection":{type:"string",title:"查询数据表","x-decorator":"FormItem","x-component":"Select","x-component-props":{multiple:!1},enum:"{{collections}}",required:!0},"uiSchema.x-component-props.sourceField":{type:"string",title:"查询数据表到关联数据表的路径","x-component":"Input","x-decorator":"FormItem",required:!0},"uiSchema.x-component-props.fieldExp":{type:"string",title:"关联字段",required:!0,"x-component":"Expression","x-decorator":"FormItem","x-component-props":{useCurrentFields:"{{ useCurrentFields }}"}},"uiSchema.x-component-props.dateFieldExp":{type:"string",title:"关联日期",required:!0,"x-component":"Expression","x-decorator":"FormItem","x-component-props":{useCurrentFields:"{{ useCurrentFields }}"}},target:{type:"string",title:"关联数据表","x-decorator":"FormItem","x-component":"Select","x-component-props":{multiple:!1},enum:"{{collections}}",required:!0,"x-display":"hidden","x-reactions":[{dependencies:["uiSchema.x-component-props.collection"],fulfill:{state:{value:"{{$deps[0]}}"}}}]},targetKey:{type:"string",title:"关联数据表键",required:!0,default:"id","x-display":"hidden","x-decorator":"FormItem","x-component":"Input"}}),this.filterable={nested:!0,children:[]}}}const{defaultProps:defaultProps$1}=client.interfacesProperties,formulaType=[{dependencies:["dataType"],fulfill:{state:{display:'{{["formula"].includes($deps[0]) ? "visible" : "none"}}'}}}],panelType=[{dependencies:["dataType"],fulfill:{state:{display:'{{["jsCode"].includes($deps[0]) ? "visible" : "none"}}'}}}];class CalcFieldInterface extends client.CollectionFieldInterface{constructor(){super(...arguments),this.name="calc2",this.type="object",this.group="advanced",this.title="数据计算(过期)",this.description="数据字段计算",this.sortable=!0,this.default={type:"virtual",uiSchema:{type:"string","x-component":"CalcResult","x-component-props":{formula:"",prefix:"",suffix:"",decimal:"",panel:""},"x-read-pretty":!0}},this.properties=I(D({},defaultProps$1),{dataType:{type:"string",title:"计算类型","x-decorator":"FormItem","x-component":"Select",enum:[{value:"formula",label:"公式"},{value:"jsCode",label:"代码"}],required:!0,default:"formula",description:"公式:使用公式计算,代码:使用js代码计算"},"uiSchema.x-component-props.formula":{type:"string",title:"公式","x-decorator":"FormItem","x-component":"Input",default:"",required:!0,"x-reactions":formulaType},"uiSchema.x-component-props.panel":{type:"string",title:"jsCode","x-decorator":"FormItem","x-component":"Input.TextArea",description:"注意,此内容有值计算操作将以此内容为准,而不是公式,适用于面板中的计算",required:!0,"x-reactions":panelType},"uiSchema.x-component-props.prefix":{type:"string",title:"前缀","x-decorator":"FormItem","x-component":"Input"},"uiSchema.x-component-props.suffix":{type:"string",title:"后缀","x-decorator":"FormItem","x-component":"Input"},"uiSchema.x-component-props.decimal":{type:"string",title:'{{t("Precision")}}',"x-component":"Select","x-decorator":"FormItem",required:!0,default:"0",enum:[{value:"0",label:"1"},{value:"1",label:"1.0"},{value:"2",label:"1.00"},{value:"3",label:"1.000"},{value:"4",label:"1.0000"},{value:"5",label:"1.00000"}],"x-reactions":formulaType}})}}const{defaultProps}=client.interfacesProperties;class CustomFieldInterface extends client.CollectionFieldInterface{constructor(){super(...arguments),this.name="custom",this.type="object",this.group="advanced",this.title="组件字段",this.description="组件字段",this.sortable=!0,this.default={type:"virtual",uiSchema:{type:"string","x-component":"CustomField","x-read-pretty":!0}},this.properties=I(D({},defaultProps),{"uiSchema.x-component-props.component":{type:"string",title:"组件","x-decorator":"FormItem","x-component":"Select",enum:" {{ useGetCustomComponents() }} ",required:!0,description:"需要在插件中注册相应的组件后可以使用"}})}}class CustomAssociatedFieldInterface extends client.CollectionFieldInterface{constructor(){super(...arguments),this.name="customAssociated",this.type="object",this.group="relation",this.order=10,this.title="自定义关联字段",this.description="自定义关联字段",this.isAssociation=!0,this.default={type:"virtual",uiSchema:{"x-component":"CustomAssociatedField"}},this.availableTypes=["belongsTo"],this.properties=I(D({},client.defaultProps),{"uiSchema.x-component-props.component":{type:"string",title:"组件","x-decorator":"FormItem","x-component":"Select",enum:" {{ useGetCustomAssociatedComponents() }}",required:!0,description:"需要在插件中注册相应的组件后可以使用"},target:{type:"string",title:"关联数据表","x-decorator":"FormItem","x-component":"Select","x-component-props":{multiple:!1},enum:"{{collections}}",required:!0},targetKey:{type:"string",title:"关联数据表键",required:!0,default:"id","x-display":"hidden","x-decorator":"FormItem","x-component":"Input"}}),this.filterable={nested:!0,children:[]}}}class SignaturePadFieldInterface extends client.CollectionFieldInterface{constructor(){super(...arguments),this.name="signatureSchema",this.type="object",this.group="advanced",this.order=2,this.title=tval("Signature input"),this.sortable=!0,this.default={interface:"signature",type:"json",uiSchema:{type:"signature","x-component":"SignatureInput"}},this.availableTypes=["json"],this.hasDefaultValue=!1,this.properties=D({},client.defaultProps)}}class TstzrangeFieldInterface extends client.CollectionFieldInterface{constructor(){super(...arguments),this.name="tstzrange",this.type="object",this.group="datetime",this.order=2,this.title=tval("Date range"),this.sortable=!0,this.default={type:"tstzrange",uiSchema:{type:"object","x-component":"DatePicker.RangePicker","x-component-props":{utc:!1,valueType:"range"}}},this.availableTypes=["tstzrange"],this.hasDefaultValue=!1,this.properties=D({},client.defaultProps)}}const SettingBlockInitializer=()=>{const{insert:n}=client.useSchemaInitializer(),{t:e}=useTranslation(),s=React.useContext(schema.SchemaOptionsContext),{theme:i}=client.useGlobalTheme(),r=client.useSchemaInitializerItem(),o=client.useCollectionManager(),l=client.useAPIClient();return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.DataBlockInitializer,I(D({},r),{componentType:"FormItem",icon:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(icons.FormOutlined,{}),onCreateBlockSchema:c=>T(null,[c],function*({item:a}){const d=o.getCollection(a.name),u=d.titleField,f=yield client.FormDialog(e("Pick a data entry for viewing and editing"),()=>__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.APIClientProvider,{apiClient:l,children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.SchemaComponentOptions,{scope:s.scope,components:D({},s.components),children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(components$1.FormLayout,{layout:"vertical",children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.SchemaComponent,{schema:{properties:{id:{title:tval("Please select"),required:!0,"x-component":"RemoteSelect","x-component-props":{service:{resource:a.name},fieldNames:{label:u,value:"id"}},"x-decorator":"FormItem"}}}})})})}),i).open({initialValues:{}}),p=client.createFormBlockSchema({dataSource:a.dataSource,collection:d.name,action:"get",filterByTk:f.id,actionInitializers:"editForm:configureActions"});n(p)})}))},usePaginationVisible=()=>{var e;return((e=schema.useFieldSchema()["x-component-props"])==null?void 0:e.mode)==="SubTable"},EditTitle=()=>{var a;const{getCollectionJoinField:n}=client.useCollectionManager_deprecated(),{getField:e}=client.useCollection_deprecated(),s=schema.useField(),i=schema.useFieldSchema(),{t:r}=useTranslation(),{dn:o}=client.useDesignable(),l=e(i.name)||n(i["x-collection-field"]);return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.SchemaSettingsModalItem,{title:r("Edit field title"),schema:{type:"object",title:r("Edit field title"),properties:{title:{title:r("Field title"),default:s==null?void 0:s.title,description:`${r("Original field title: ")}${l?(a=l==null?void 0:l.uiSchema)==null?void 0:a.title:i.name}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit:({title:c})=>{c&&(s.title=c,i.title=c,o.emit("patch",{schema:{"x-uid":i["x-uid"],title:i.title}})),o.refresh()}},"edit-field-title")},IsTablePageSize=()=>{const{dn:n}=client.useDesignable(),e=schema.useFieldSchema(),{t:s}=useTranslation();return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.SchemaSettingsSwitchItem,{title:s("Pagination"),checked:e["x-component-props"].pagination,onChange:i=>{e["x-component-props"].pagination||(e["x-component-props"]=I(D({},e["x-component-props"]),{pagination:!1})),e["x-component-props"].pagination=i,n.emit("patch",{schema:{"x-uid":e["x-uid"],"x-component-props":D({},e==null?void 0:e["x-component-props"])}}),n.refresh()}})},SchemaSettingsDatePickerType=()=>{var a,c,d;const n=schema.useFieldSchema(),e=schema.useField(),{dn:s}=client.useDesignable(),{t:i}=useTranslation(),o=client.useCollectionManager().getCollectionField(n==null?void 0:n["x-collection-field"])||{},l=((a=n==null?void 0:n["x-component-props"])==null?void 0:a.picker)||((d=(c=o==null?void 0:o.uiSchema)==null?void 0:c["x-component-props"])==null?void 0:d.picker)||"";return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.SchemaSettingsModalItem,{title:i("Date picker type"),schema:{type:"object",properties:{picker:{type:"string",title:tval("Picker type"),"x-component":"Select","x-decorator":"FormItem","x-decorator-props":{},default:l,enum:[{label:i("default"),value:""},{label:i("year"),value:"year"},{label:i("quarter"),value:"quarter"},{label:i("month"),value:"month"},{label:i("week"),value:"week"}]}}},onSubmit:u=>{const f={"x-uid":n["x-uid"]};f["x-component-props"]=n["x-component-props"]||{},n["x-component-props"]=D(D({},n["x-component-props"]||{}),u),f["x-component-props"]=n["x-component-props"],e.componentProps=n["x-component-props"];const p=e.path.entire.split(".");p.pop();const m=p.join(".");e.query(`${m}.*[0:].${n.name}`).forEach(g=>{g.props.name===n.name&&g.setComponentProps(D({},u))}),s.emit("patch",{schema:f}),s.refresh()}})};SchemaSettingsDatePickerType.displayName="SchemaSettingsDatePickerType";const useCustomPresets1=()=>{const n=schema.useFieldSchema(),{t:e}=useTranslation(),s=getDateRanges(),i=[{label:e("This year"),value:s.thisYear},...Array(5).fill(0).map((r,o)=>({label:client$2.dayjs().year()-o-1+e("year"),value:s.year(client$2.dayjs().year()-o-1)})),{label:e("This month"),value:s.thisMonth},{label:e("Last month"),value:s.lastMonth}];return n.name==="presets"?"{{ useCustomPresets1() }}":i},useCustomPresets=n=>"{{ "+n+"() }}",SchemaSettingsDatePresets=()=>{var l,a,c;const n=schema.useFieldSchema(),{dn:e}=client.useDesignable(),{t:s}=useTranslation(),r=client.useCollectionManager().getCollectionField(n==null?void 0:n["x-collection-field"])||{},o=((l=n==null?void 0:n["x-component-props"])==null?void 0:l.presets)||((c=(a=r==null?void 0:r.uiSchema)==null?void 0:a["x-component-props"])==null?void 0:c.presets)||"";return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.SchemaSettingsModalItem,{title:s("Date presets"),schema:{type:"object",properties:{presets:{type:"string",title:tval("Date presets"),"x-component":"Select","x-decorator":"FormItem","x-decorator-props":{},default:o,enum:[{label:s("default"),value:""},{label:s("Chuangxing presets"),value:'{{ useCustomPresets("useCustomPresets1") }}'}]}}},onSubmit:d=>{d.presets||(d.presets=void 0);const u={"x-uid":n["x-uid"]};u["x-component-props"]=n["x-component-props"]||{},n["x-component-props"]=D(D({},n["x-component-props"]||{}),d),u["x-component-props"]=n["x-component-props"],e.emit("patch",{schema:u}),e.refresh()}})};SchemaSettingsDatePresets.displayName="SchemaSettingsDatePresets";const getDateRanges=()=>({now:()=>client$2.dayjs().toISOString(),today:()=>[getStart(0,"day"),getEnd(0,"day")],yesterday:()=>[getStart(-1,"day"),getEnd(-1,"day")],tomorrow:()=>[getStart(1,"day"),getEnd(1,"day")],thisWeek:()=>[getStart(0,"isoWeek"),getEnd(0,"isoWeek")],lastWeek:()=>[getStart(-1,"isoWeek"),getEnd(-1,"isoWeek")],nextWeek:()=>[getStart(1,"isoWeek"),getEnd(1,"isoWeek")],year:n=>[getStart(n-client$2.dayjs().year(),"year"),getEnd(n-client$2.dayjs().year(),"year")],thisIsoWeek:()=>[getStart(0,"isoWeek"),getEnd(0,"isoWeek")],lastIsoWeek:()=>[getStart(-1,"isoWeek"),getEnd(-1,"isoWeek")],nextIsoWeek:()=>[getStart(1,"isoWeek"),getEnd(1,"isoWeek")],thisMonth:()=>[getStart(0,"month"),getEnd(0,"month")],lastMonth:()=>[getStart(-1,"month"),getEnd(-1,"month")],nextMonth:()=>[getStart(1,"month"),getEnd(1,"month")],thisQuarter:()=>[getStart(0,"quarter"),getEnd(0,"quarter")],lastQuarter:()=>[getStart(-1,"quarter"),getEnd(-1,"quarter")],nextQuarter:()=>[getStart(1,"quarter"),getEnd(1,"quarter")],thisYear:()=>[getStart(0,"year"),getEnd(0,"year")],lastYear:()=>[getStart(-1,"year"),getEnd(-1,"year")],nextYear:()=>[getStart(1,"year"),getEnd(1,"year")],last7Days:()=>[getStart(-6,"days"),getEnd(0,"days")],next7Days:()=>[getStart(1,"day"),getEnd(7,"days")],last30Days:()=>[getStart(-29,"days"),getEnd(0,"days")],next30Days:()=>[getStart(1,"day"),getEnd(30,"days")],last90Days:()=>[getStart(-89,"days"),getEnd(0,"days")],next90Days:()=>[getStart(1,"day"),getEnd(90,"days")]}),getStart=(n,e)=>client$2.dayjs().add(n,e==="isoWeek"?"week":e).startOf(e),getEnd=(n,e)=>client$2.dayjs().add(n,e==="isoWeek"?"week":e).endOf(e),SchemaSettingsSubmitDataType=()=>{var i;const{dn:n}=client.useDesignable(),{t:e}=useTranslation(),s=schema.useFieldSchema();return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.SchemaSettingsSwitchItem,{title:e("Select submit data type"),checked:!!((i=s==null?void 0:s["x-action-settings"])!=null&&i.isDeltaChanged),onChange:r=>{s["x-action-settings"].isDeltaChanged=r,n.emit("patch",{schema:{"x-uid":s["x-uid"],"x-action-settings":D({},s["x-action-settings"])}})}})};SchemaSettingsSubmitDataType.displayName="SchemaSettingsSubmitDataType";const LinkManager=()=>{const[n,e]=React.useState(!1),[s,i]=React.useState({}),[r,o]=React.useState([]),{data:l,run:a}=client.useRequest({url:"/link-manage:get"}),{run:c}=client.useRequest({url:"/link-manage:set",params:{id:s.id,link:s.link}});React.useEffect(()=>{l&&o(l.data)},[l]);const d=m=>{i(m),e(!0)},u=()=>{e(!1)},f=()=>{c();const m=r.map(g=>g.id===s.id?s:g);o(m),e(!1),i({})},p=[{title:"名称",dataIndex:"name",key:"name",render:m=>__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx("a",{children:m})},{title:"链接",dataIndex:"link",key:"link",render:m=>__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx("a",{children:m})},{title:"Action",key:"action",render:(m,g)=>__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Space,{size:"middle",children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx("a",{onClick:()=>d(g),children:"编辑"})})}];return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs(__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.Fragment,{children:[r&&__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Table,{columns:p,dataSource:r}),__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Drawer,{title:"设定链接地址",width:720,onClose:u,open:n,styles:{body:{paddingBottom:80}},extra:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs(antd.Space,{children:[__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Button,{onClick:u,children:"关闭"}),__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Button,{onClick:f,type:"primary",children:"提交"})]}),children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs(antd.Form,{layout:"vertical",children:[__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Form.Item,{name:"name",label:"Name",children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Input,{placeholder:"Please enter Name",defaultValue:s==null?void 0:s.name,disabled:!0})}),__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Form.Item,{name:"link",label:"Link",children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Input,{onChange:m=>i(I(D({},s),{link:m.target.value})),placeholder:"Please enter Link",defaultValue:s==null?void 0:s.link})})]})})]})},TokenConfigurationResourceKey="token-configuration",getSSKey=n=>`TACHYBASE_PLUGIN_TOKEN_CONFIGURATION_${n}`,useMapConfiguration=n=>{const e=React.useMemo(()=>{const i=sessionStorage.getItem(getSSKey(n));return i&&JSON.parse(i)},[n]),{data:s}=client.useRequest({resource:TokenConfigurationResourceKey,action:"get",params:{type:n}},{onSuccess(i){sessionStorage.setItem(getSSKey(n),JSON.stringify(i==null?void 0:i.data))},refreshOnWindowFocus:!1,refreshDeps:[],manual:!!e});return e||(s==null?void 0:s.data)},TokenTypes=[{label:"飞书",value:"feishu"}],BaseConfiguration=({type:n,children:e})=>{const[s,i]=ahooks.useBoolean(!1),r=client.useAPIClient(),[o]=antd.Form.useForm(),l=useMapConfiguration(n);React.useEffect(()=>{l&&(o.setFieldsValue(l),i.toggle())},[l]);const a=React.useMemo(()=>r.resource(TokenConfigurationResourceKey),[r]),c=d=>{a.set(I(D({},d),{type:n})).then(u=>{sessionStorage.removeItem(getSSKey(n)),i.toggle(),antd.message.success("保存成功")}).catch(u=>{antd.message.success("保存失败")})};return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs(antd.Form,{disabled:s,form:o,layout:"vertical",onFinish:c,children:[e,s?__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Button,{disabled:!1,onClick:i.toggle,children:"编辑"}):__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Form.Item,{children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Button,{disabled:!1,type:"primary",htmlType:"submit",children:"保存"})})]})},AMapConfiguration=()=>__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs(BaseConfiguration,{type:"feishu",children:[__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Form.Item,{required:!0,name:"app_id",label:"App ID",children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Input,{})}),__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Form.Item,{required:!0,name:"app_secret",label:"App Secret",children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Input,{})}),__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Form.Item,{required:!0,name:"chat_id",label:"Chat ID",children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Input,{})})]}),components={feishu:AMapConfiguration},tabList=TokenTypes.map(n=>I(D({},n),{component:components[n.value]})),Configuration=()=>{const n=reactRouterDom.useLocation(),e=new URLSearchParams(n.search);return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Card,{bordered:!0,children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Tabs,{type:"card",defaultActiveKey:e.get("tab"),children:tabList.map(s=>__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Tabs.TabPane,{tab:s.label,children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(s.component,{type:s.value})},s.value))})})};class PluginSettingsHelper{constructor(e){this.app=e}load(){return T(this,null,function*(){this.app.systemSettingsManager.add("system-services.hera",{title:tval("Hera integration"),icon:"HomeOutlined"}),this.app.systemSettingsManager.add("system-services.hera.token",{title:tval("Third-party integration configuration"),icon:"ShareAltOutlined",Component:Configuration,aclSnippet:"pm.system-services.hera.token"}),this.app.systemSettingsManager.add("system-services.hera.linkmanage",{title:tval("Link manager"),icon:"ShareAltOutlined",Component:LinkManager,aclSnippet:"pm.system-services.hera.linkmanage"})})}}class PluginCoreClient extends client.Plugin{afterAdd(){return T(this,null,function*(){yield this.app.pm.add(EmbedPlugin),yield this.app.pm.add(PluginHeraVersion),yield this.app.pm.add(PluginPDF),yield this.app.pm.add(PluginOutbound),yield this.app.pm.add(PluginFieldAppends),yield this.app.pm.add(PluginCustomComponents),yield this.app.pm.add(PluginSheet)})}registerSettings(){return T(this,null,function*(){this.schemaSettingsManager.add(customComponentDispatcherSettings),this.schemaSettingsManager.addItem("fieldSettings:component:DatePicker","datePickerType",{Component:SchemaSettingsDatePickerType}),this.schemaSettingsManager.addItem("fieldSettings:component:DatePicker","datePresets",{Component:SchemaSettingsDatePresets}),this.schemaSettingsManager.addItem("actionSettings:updateSubmit","submitDataType",{Component:SchemaSettingsSubmitDataType}),this.schemaSettingsManager.addItem("FormItemSettings","hera-divider",{type:"divider",useVisible(){const e=client.useFormulaTitleVisible(),s=usePaginationVisible();return e||s}}),this.schemaSettingsManager.addItem("FormItemSettings","isTablePageSize",{Component:IsTablePageSize,useVisible:usePaginationVisible})})}registerScopesAndComponents(){return T(this,null,function*(){this.app.addScopes({useGetCustomAssociatedComponents,useGetCustomComponents,useCustomPresets1,useCustomPresets}),this.app.addComponents({AssociatedField,CalcResult,CodeMirror:components$1.CodeMirror,CustomAssociatedField,CustomComponentDispatcher,CustomComponentStub,CustomField,EditTitle,Expression,SettingBlock:SettingBlockInitializer,SignatureInput,ExcelFile})})}registerRouters(){return T(this,null,function*(){})}registerSchemaInitializer(){return T(this,null,function*(){const e={name:"setting",title:tval("System setting"),Component:"SettingBlock"},s={type:"item",name:"refreshAction",title:tval("Refresh"),Component:"RefreshActionInitializer",schema:{"x-align":"right"}};this.app.schemaInitializerManager.addItem("page:addBlock",e.name,e),this.app.schemaInitializerManager.addItem("kanban:configureActions",s.name,s);const i={name:"addCustomComponent",title:tval("Add custom component"),Component:"BlockItemInitializer",schema:{type:"void","x-editable":!1,"x-decorator":"FormItem","x-settings":"customComponentDispatcherSettings","x-component":"CustomComponentDispatcher","x-component-props":{component:"CustomComponentStub"}}};this.app.schemaInitializerManager.addItem("form:configureFields",i.name,i),this.app.schemaInitializerManager.addItem("details:configureFields",i.name,i)})}registerInterfaces(){return T(this,null,function*(){this.app.dataSourceManager.addFieldInterfaces([AssociatedFieldInterface,CalcFieldInterface,CustomFieldInterface,CustomAssociatedFieldInterface,SignaturePadFieldInterface,ExcelFieldInterface,TstzrangeFieldInterface])})}afterLoad(){return T(this,null,function*(){yield this.registerSchemaInitializer()})}load(){return T(this,null,function*(){this.locale=new Locale(this.app),yield new PluginSettingsHelper(this.app).load(),yield this.registerScopesAndComponents(),yield this.registerSettings(),yield this.registerRouters(),yield this.registerInterfaces()})}}exports.CustomComponentType=CustomComponentType,exports.PluginCoreClient=PluginCoreClient,exports.default=PluginCoreClient,exports.usePDFViewerRef=usePDFViewerRef,Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
82
|
+
`,children:c?__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(PDFViewer,{file:c,width:i,ref:l}):""})]})};class PluginPDF extends client.Plugin{load(){return T(this,null,function*(){this.app.addScopes({usePDFViewerPrintActionProps}),this.app.addComponents({PDFViewerBlockInitializer,PDFViewerPrintActionInitializer,PDFViewerProvider,PDFViwer:InternalPDFViewer}),this.schemaInitializerManager.add(pdfViewActionInitializer);const e={title:tval("preview block"),name:"previewBlock",type:"itemGroup",children:[]};this.app.schemaInitializerManager.get("popup:common:addBlock").add(e.name,e)})}}const SheetBlockContext=React.createContext({}),InternalSheetBlockProvider=n=>{const e=schema.useField(),s=client.useDataBlockRequest();return s.loading&&!e.loaded?__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Spin,{}):(e.loaded=!0,__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(SheetBlockContext.Provider,{value:{field:e,service:s},children:n.children}))},SheetBlock=()=>{const n=React.useRef();return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs("div",{style:{height:"70vh"},children:[__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Button,{onClick:()=>console.log("data",n.current.getData()),children:"显示数据"}),__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(ExcelSheet,{ref:n})]})},SheetBlockProvider=n=>__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.DataBlockProvider,I(D({name:"sheet"},n),{children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(InternalSheetBlockProvider,D({},n))})),createSheetBlockSchema=n=>{const{collection:e}=n;return{title:e.title,type:"void","x-acl-action":`${e.name}:list`,"x-decorator":"SheetBlockProvider","x-decorator-props":{collection:e.name},"x-toolbar":"SheetBlockToolbar","x-settings":"sheetBlockSettings","x-component":"CardItem",properties:{[client$1.uid()]:{type:"void","x-component":"SheetBlock"}}}},SheetBlockInitializer=()=>{const{insert:n}=client.useSchemaInitializer(),e=client.useCollectionManager(),s=client.useSchemaInitializerItem();return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.DataBlockInitializer,I(D({},s),{icon:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(icons.TableOutlined,{}),onCreateBlockSchema:r=>T(null,[r],function*({item:i}){const o=e.getCollection(i.name);n(createSheetBlockSchema({collection:o}))})}))},sheetBlockSettings=new client.SchemaSettings({name:"sheetBlockSettings",items:[{name:"remove",type:"remove"}]}),SheetBlockToolbar=n=>{const e=schema.useFieldSchema();return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.SchemaToolbar,D({title:e.title,settings:e["x-settings"]},n))};class PluginSheet extends client.Plugin{load(){return T(this,null,function*(){this.app.addComponents({SheetBlock,SheetBlockInitializer,SheetBlockProvider,SheetBlockToolbar}),this.schemaSettingsManager.add(sheetBlockSettings),this.app.schemaInitializerManager.addItem("page:addBlock","dataBlocks.sheetBlock",{title:tval("Sheet"),Component:"SheetBlockInitializer"})})}}const useGetCustomAssociatedComponents=()=>useCustomComponent(CustomComponentType.CUSTOM_ASSOCIATED_FIELD),useGetCustomComponents=()=>useCustomComponent(CustomComponentType.CUSTOM_FIELD);class ExcelFieldInterface extends client.CollectionFieldInterface{constructor(){super(...arguments),this.name="excelField",this.type="json",this.group="advanced",this.order=3,this.title=tval("Excel table"),this.sortable=!0,this.default={interface:"json",type:"json",uiSchema:{type:"object","x-component":"ExcelFile"}},this.availableTypes=["json"],this.hasDefaultValue=!1,this.properties=D({},client.defaultProps)}}class AssociatedFieldInterface extends client.CollectionFieldInterface{constructor(){super(...arguments),this.name="associated",this.type="object",this.group="relation",this.order=10,this.title="关联字段",this.description="关联字段",this.isAssociation=!0,this.default={type:"belongsTo",uiSchema:{"x-component":"AssociatedField"}},this.availableTypes=["belongsTo"],this.properties=I(D({},client.defaultProps),{"uiSchema.x-component-props.collection":{type:"string",title:"关联数据表","x-decorator":"FormItem","x-component":"Select","x-component-props":{multiple:!1},enum:"{{collections}}",required:!0},"uiSchema.x-component-props.sourceCollection":{type:"string",title:"查询数据表","x-decorator":"FormItem","x-component":"Select","x-component-props":{multiple:!1},enum:"{{collections}}",required:!0},"uiSchema.x-component-props.sourceField":{type:"string",title:"查询数据表到关联数据表的路径","x-component":"Input","x-decorator":"FormItem",required:!0},"uiSchema.x-component-props.fieldExp":{type:"string",title:"关联字段",required:!0,"x-component":"Expression","x-decorator":"FormItem","x-component-props":{useCurrentFields:"{{ useCurrentFields }}"}},"uiSchema.x-component-props.dateFieldExp":{type:"string",title:"关联日期",required:!0,"x-component":"Expression","x-decorator":"FormItem","x-component-props":{useCurrentFields:"{{ useCurrentFields }}"}},target:{type:"string",title:"关联数据表","x-decorator":"FormItem","x-component":"Select","x-component-props":{multiple:!1},enum:"{{collections}}",required:!0,"x-display":"hidden","x-reactions":[{dependencies:["uiSchema.x-component-props.collection"],fulfill:{state:{value:"{{$deps[0]}}"}}}]},targetKey:{type:"string",title:"关联数据表键",required:!0,default:"id","x-display":"hidden","x-decorator":"FormItem","x-component":"Input"}}),this.filterable={nested:!0,children:[]}}}const{defaultProps:defaultProps$1}=client.interfacesProperties,formulaType=[{dependencies:["dataType"],fulfill:{state:{display:'{{["formula"].includes($deps[0]) ? "visible" : "none"}}'}}}],panelType=[{dependencies:["dataType"],fulfill:{state:{display:'{{["jsCode"].includes($deps[0]) ? "visible" : "none"}}'}}}];class CalcFieldInterface extends client.CollectionFieldInterface{constructor(){super(...arguments),this.name="calc2",this.type="object",this.group="advanced",this.title="数据计算(过期)",this.description="数据字段计算",this.sortable=!0,this.default={type:"virtual",uiSchema:{type:"string","x-component":"CalcResult","x-component-props":{formula:"",prefix:"",suffix:"",decimal:"",panel:""},"x-read-pretty":!0}},this.properties=I(D({},defaultProps$1),{dataType:{type:"string",title:"计算类型","x-decorator":"FormItem","x-component":"Select",enum:[{value:"formula",label:"公式"},{value:"jsCode",label:"代码"}],required:!0,default:"formula",description:"公式:使用公式计算,代码:使用js代码计算"},"uiSchema.x-component-props.formula":{type:"string",title:"公式","x-decorator":"FormItem","x-component":"Input",default:"",required:!0,"x-reactions":formulaType},"uiSchema.x-component-props.panel":{type:"string",title:"jsCode","x-decorator":"FormItem","x-component":"Input.TextArea",description:"注意,此内容有值计算操作将以此内容为准,而不是公式,适用于面板中的计算",required:!0,"x-reactions":panelType},"uiSchema.x-component-props.prefix":{type:"string",title:"前缀","x-decorator":"FormItem","x-component":"Input"},"uiSchema.x-component-props.suffix":{type:"string",title:"后缀","x-decorator":"FormItem","x-component":"Input"},"uiSchema.x-component-props.decimal":{type:"string",title:'{{t("Precision")}}',"x-component":"Select","x-decorator":"FormItem",required:!0,default:"0",enum:[{value:"0",label:"1"},{value:"1",label:"1.0"},{value:"2",label:"1.00"},{value:"3",label:"1.000"},{value:"4",label:"1.0000"},{value:"5",label:"1.00000"}],"x-reactions":formulaType}})}}const{defaultProps}=client.interfacesProperties;class CustomFieldInterface extends client.CollectionFieldInterface{constructor(){super(...arguments),this.name="custom",this.type="object",this.group="advanced",this.title="组件字段",this.description="组件字段",this.sortable=!0,this.default={type:"virtual",uiSchema:{type:"string","x-component":"CustomField","x-read-pretty":!0}},this.properties=I(D({},defaultProps),{"uiSchema.x-component-props.component":{type:"string",title:"组件","x-decorator":"FormItem","x-component":"Select",enum:" {{ useGetCustomComponents() }} ",required:!0,description:"需要在插件中注册相应的组件后可以使用"}})}}class CustomAssociatedFieldInterface extends client.CollectionFieldInterface{constructor(){super(...arguments),this.name="customAssociated",this.type="object",this.group="relation",this.order=10,this.title="自定义关联字段",this.description="自定义关联字段",this.isAssociation=!0,this.default={type:"virtual",uiSchema:{"x-component":"CustomAssociatedField"}},this.availableTypes=["belongsTo"],this.properties=I(D({},client.defaultProps),{"uiSchema.x-component-props.component":{type:"string",title:"组件","x-decorator":"FormItem","x-component":"Select",enum:" {{ useGetCustomAssociatedComponents() }}",required:!0,description:"需要在插件中注册相应的组件后可以使用"},target:{type:"string",title:"关联数据表","x-decorator":"FormItem","x-component":"Select","x-component-props":{multiple:!1},enum:"{{collections}}",required:!0},targetKey:{type:"string",title:"关联数据表键",required:!0,default:"id","x-display":"hidden","x-decorator":"FormItem","x-component":"Input"}}),this.filterable={nested:!0,children:[]}}}class SignaturePadFieldInterface extends client.CollectionFieldInterface{constructor(){super(...arguments),this.name="signatureSchema",this.type="object",this.group="advanced",this.order=2,this.title=tval("Signature input"),this.sortable=!0,this.default={interface:"signature",type:"json",uiSchema:{type:"signature","x-component":"SignatureInput"}},this.availableTypes=["json"],this.hasDefaultValue=!1,this.properties=D({},client.defaultProps)}}class TstzrangeFieldInterface extends client.CollectionFieldInterface{constructor(){super(...arguments),this.name="tstzrange",this.type="object",this.group="datetime",this.order=2,this.title=tval("Date range"),this.sortable=!0,this.default={type:"tstzrange",uiSchema:{type:"object","x-component":"DatePicker.RangePicker","x-component-props":{utc:!1,valueType:"range"}}},this.availableTypes=["tstzrange"],this.hasDefaultValue=!1,this.properties=D({},client.defaultProps)}}const SettingBlockInitializer=()=>{const{insert:n}=client.useSchemaInitializer(),{t:e}=useTranslation(),s=React.useContext(schema.SchemaOptionsContext),{theme:i}=client.useGlobalTheme(),r=client.useSchemaInitializerItem(),o=client.useCollectionManager(),l=client.useAPIClient();return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.DataBlockInitializer,I(D({},r),{componentType:"FormItem",icon:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(icons.FormOutlined,{}),onCreateBlockSchema:c=>T(null,[c],function*({item:a}){const d=o.getCollection(a.name),u=d.titleField,f=yield client.FormDialog(e("Pick a data entry for viewing and editing"),()=>__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.APIClientProvider,{apiClient:l,children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.SchemaComponentOptions,{scope:s.scope,components:D({},s.components),children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client$1.FormLayout,{layout:"vertical",children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.SchemaComponent,{schema:{properties:{id:{title:tval("Please select"),required:!0,"x-component":"RemoteSelect","x-component-props":{service:{resource:a.name},fieldNames:{label:u,value:"id"}},"x-decorator":"FormItem"}}}})})})}),i).open({initialValues:{}}),p=client.createFormBlockSchema({dataSource:a.dataSource,collection:d.name,action:"get",filterByTk:f.id,actionInitializers:"editForm:configureActions"});n(p)})}))},usePaginationVisible=()=>{var e;return((e=schema.useFieldSchema()["x-component-props"])==null?void 0:e.mode)==="SubTable"},EditTitle=()=>{var a;const{getCollectionJoinField:n}=client.useCollectionManager_deprecated(),{getField:e}=client.useCollection_deprecated(),s=schema.useField(),i=schema.useFieldSchema(),{t:r}=useTranslation(),{dn:o}=client.useDesignable(),l=e(i.name)||n(i["x-collection-field"]);return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.SchemaSettingsModalItem,{title:r("Edit field title"),schema:{type:"object",title:r("Edit field title"),properties:{title:{title:r("Field title"),default:s==null?void 0:s.title,description:`${r("Original field title: ")}${l?(a=l==null?void 0:l.uiSchema)==null?void 0:a.title:i.name}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit:({title:c})=>{c&&(s.title=c,i.title=c,o.emit("patch",{schema:{"x-uid":i["x-uid"],title:i.title}})),o.refresh()}},"edit-field-title")},IsTablePageSize=()=>{const{dn:n}=client.useDesignable(),e=schema.useFieldSchema(),{t:s}=useTranslation();return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.SchemaSettingsSwitchItem,{title:s("Pagination"),checked:e["x-component-props"].pagination,onChange:i=>{e["x-component-props"].pagination||(e["x-component-props"]=I(D({},e["x-component-props"]),{pagination:!1})),e["x-component-props"].pagination=i,n.emit("patch",{schema:{"x-uid":e["x-uid"],"x-component-props":D({},e==null?void 0:e["x-component-props"])}}),n.refresh()}})},SchemaSettingsDatePickerType=()=>{var a,c,d;const n=schema.useFieldSchema(),e=schema.useField(),{dn:s}=client.useDesignable(),{t:i}=useTranslation(),o=client.useCollectionManager().getCollectionField(n==null?void 0:n["x-collection-field"])||{},l=((a=n==null?void 0:n["x-component-props"])==null?void 0:a.picker)||((d=(c=o==null?void 0:o.uiSchema)==null?void 0:c["x-component-props"])==null?void 0:d.picker)||"";return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.SchemaSettingsModalItem,{title:i("Date picker type"),schema:{type:"object",properties:{picker:{type:"string",title:tval("Picker type"),"x-component":"Select","x-decorator":"FormItem","x-decorator-props":{},default:l,enum:[{label:i("default"),value:""},{label:i("year"),value:"year"},{label:i("quarter"),value:"quarter"},{label:i("month"),value:"month"},{label:i("week"),value:"week"}]}}},onSubmit:u=>{const f={"x-uid":n["x-uid"]};f["x-component-props"]=n["x-component-props"]||{},n["x-component-props"]=D(D({},n["x-component-props"]||{}),u),f["x-component-props"]=n["x-component-props"],e.componentProps=n["x-component-props"];const p=e.path.entire.split(".");p.pop();const m=p.join(".");e.query(`${m}.*[0:].${n.name}`).forEach(g=>{g.props.name===n.name&&g.setComponentProps(D({},u))}),s.emit("patch",{schema:f}),s.refresh()}})};SchemaSettingsDatePickerType.displayName="SchemaSettingsDatePickerType";const useCustomPresets1=()=>{const n=schema.useFieldSchema(),{t:e}=useTranslation(),s=getDateRanges(),i=[{label:e("This year"),value:s.thisYear},...Array(5).fill(0).map((r,o)=>({label:dayjs().year()-o-1+e("year"),value:s.year(dayjs().year()-o-1)})),{label:e("This month"),value:s.thisMonth},{label:e("Last month"),value:s.lastMonth}];return n.name==="presets"?"{{ useCustomPresets1() }}":i},useCustomPresets=n=>"{{ "+n+"() }}",SchemaSettingsDatePresets=()=>{var l,a,c;const n=schema.useFieldSchema(),{dn:e}=client.useDesignable(),{t:s}=useTranslation(),r=client.useCollectionManager().getCollectionField(n==null?void 0:n["x-collection-field"])||{},o=((l=n==null?void 0:n["x-component-props"])==null?void 0:l.presets)||((c=(a=r==null?void 0:r.uiSchema)==null?void 0:a["x-component-props"])==null?void 0:c.presets)||"";return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.SchemaSettingsModalItem,{title:s("Date presets"),schema:{type:"object",properties:{presets:{type:"string",title:tval("Date presets"),"x-component":"Select","x-decorator":"FormItem","x-decorator-props":{},default:o,enum:[{label:s("default"),value:""},{label:s("Chuangxing presets"),value:'{{ useCustomPresets("useCustomPresets1") }}'}]}}},onSubmit:d=>{d.presets||(d.presets=void 0);const u={"x-uid":n["x-uid"]};u["x-component-props"]=n["x-component-props"]||{},n["x-component-props"]=D(D({},n["x-component-props"]),d),u["x-component-props"]=n["x-component-props"],e.emit("patch",{schema:u}),e.refresh()}})};SchemaSettingsDatePresets.displayName="SchemaSettingsDatePresets";const getDateRanges=()=>({now:()=>dayjs().toISOString(),today:()=>[getStart(0,"day"),getEnd(0,"day")],yesterday:()=>[getStart(-1,"day"),getEnd(-1,"day")],tomorrow:()=>[getStart(1,"day"),getEnd(1,"day")],thisWeek:()=>[getStart(0,"isoWeek"),getEnd(0,"isoWeek")],lastWeek:()=>[getStart(-1,"isoWeek"),getEnd(-1,"isoWeek")],nextWeek:()=>[getStart(1,"isoWeek"),getEnd(1,"isoWeek")],year:n=>[getStart(n-dayjs().year(),"year"),getEnd(n-dayjs().year(),"year")],thisIsoWeek:()=>[getStart(0,"isoWeek"),getEnd(0,"isoWeek")],lastIsoWeek:()=>[getStart(-1,"isoWeek"),getEnd(-1,"isoWeek")],nextIsoWeek:()=>[getStart(1,"isoWeek"),getEnd(1,"isoWeek")],thisMonth:()=>[getStart(0,"month"),getEnd(0,"month")],lastMonth:()=>[getStart(-1,"month"),getEnd(-1,"month")],nextMonth:()=>[getStart(1,"month"),getEnd(1,"month")],thisQuarter:()=>[getStart(0,"quarter"),getEnd(0,"quarter")],lastQuarter:()=>[getStart(-1,"quarter"),getEnd(-1,"quarter")],nextQuarter:()=>[getStart(1,"quarter"),getEnd(1,"quarter")],thisYear:()=>[getStart(0,"year"),getEnd(0,"year")],lastYear:()=>[getStart(-1,"year"),getEnd(-1,"year")],nextYear:()=>[getStart(1,"year"),getEnd(1,"year")],last7Days:()=>[getStart(-6,"days"),getEnd(0,"days")],next7Days:()=>[getStart(1,"day"),getEnd(7,"days")],last30Days:()=>[getStart(-29,"days"),getEnd(0,"days")],next30Days:()=>[getStart(1,"day"),getEnd(30,"days")],last90Days:()=>[getStart(-89,"days"),getEnd(0,"days")],next90Days:()=>[getStart(1,"day"),getEnd(90,"days")]}),getStart=(n,e)=>dayjs().add(n,e==="isoWeek"?"week":e).startOf(e),getEnd=(n,e)=>dayjs().add(n,e==="isoWeek"?"week":e).endOf(e),SchemaSettingsSubmitDataType=()=>{var i;const{dn:n}=client.useDesignable(),{t:e}=useTranslation(),s=schema.useFieldSchema();return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.SchemaSettingsSwitchItem,{title:e("Select submit data type"),checked:!!((i=s==null?void 0:s["x-action-settings"])!=null&&i.isDeltaChanged),onChange:r=>{s["x-action-settings"].isDeltaChanged=r,n.emit("patch",{schema:{"x-uid":s["x-uid"],"x-action-settings":D({},s["x-action-settings"])}})}})};SchemaSettingsSubmitDataType.displayName="SchemaSettingsSubmitDataType";const LinkManager=()=>{const[n,e]=React.useState(!1),[s,i]=React.useState({}),[r,o]=React.useState([]),{data:l,run:a}=client.useRequest({url:"/link-manage:get"}),{run:c}=client.useRequest({url:"/link-manage:set",params:{id:s.id,link:s.link}});React.useEffect(()=>{l&&o(l.data)},[l]);const d=m=>{i(m),e(!0)},u=()=>{e(!1)},f=()=>{c();const m=r.map(g=>g.id===s.id?s:g);o(m),e(!1),i({})},p=[{title:"名称",dataIndex:"name",key:"name",render:m=>__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx("a",{children:m})},{title:"链接",dataIndex:"link",key:"link",render:m=>__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx("a",{children:m})},{title:"Action",key:"action",render:(m,g)=>__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Space,{size:"middle",children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx("a",{onClick:()=>d(g),children:"编辑"})})}];return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs(__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.Fragment,{children:[r&&__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Table,{columns:p,dataSource:r}),__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Drawer,{title:"设定链接地址",width:720,onClose:u,open:n,styles:{body:{paddingBottom:80}},extra:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs(antd.Space,{children:[__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Button,{onClick:u,children:"关闭"}),__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Button,{onClick:f,type:"primary",children:"提交"})]}),children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs(antd.Form,{layout:"vertical",children:[__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Form.Item,{name:"name",label:"Name",children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Input,{placeholder:"Please enter Name",defaultValue:s==null?void 0:s.name,disabled:!0})}),__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Form.Item,{name:"link",label:"Link",children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Input,{onChange:m=>i(I(D({},s),{link:m.target.value})),placeholder:"Please enter Link",defaultValue:s==null?void 0:s.link})})]})})]})},TokenConfigurationResourceKey="token-configuration",getSSKey=n=>`TACHYBASE_PLUGIN_TOKEN_CONFIGURATION_${n}`,useMapConfiguration=n=>{const e=React.useMemo(()=>{const i=sessionStorage.getItem(getSSKey(n));return i&&JSON.parse(i)},[n]),{data:s}=client.useRequest({resource:TokenConfigurationResourceKey,action:"get",params:{type:n}},{onSuccess(i){sessionStorage.setItem(getSSKey(n),JSON.stringify(i==null?void 0:i.data))},refreshOnWindowFocus:!1,refreshDeps:[],manual:!!e});return e||(s==null?void 0:s.data)},TokenTypes=[{label:"飞书",value:"feishu"}],BaseConfiguration=({type:n,children:e})=>{const[s,i]=ahooks.useBoolean(!1),r=client.useAPIClient(),[o]=antd.Form.useForm(),l=useMapConfiguration(n);React.useEffect(()=>{l&&(o.setFieldsValue(l),i.toggle())},[l]);const a=React.useMemo(()=>r.resource(TokenConfigurationResourceKey),[r]),c=d=>{a.set(I(D({},d),{type:n})).then(u=>{sessionStorage.removeItem(getSSKey(n)),i.toggle(),antd.message.success("保存成功")}).catch(u=>{antd.message.success("保存失败")})};return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs(antd.Form,{disabled:s,form:o,layout:"vertical",onFinish:c,children:[e,s?__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Button,{disabled:!1,onClick:i.toggle,children:"编辑"}):__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Form.Item,{children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Button,{disabled:!1,type:"primary",htmlType:"submit",children:"保存"})})]})},AMapConfiguration=()=>__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs(BaseConfiguration,{type:"feishu",children:[__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Form.Item,{required:!0,name:"app_id",label:"App ID",children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Input,{})}),__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Form.Item,{required:!0,name:"app_secret",label:"App Secret",children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Input,{})}),__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Form.Item,{required:!0,name:"chat_id",label:"Chat ID",children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Input,{})})]}),components={feishu:AMapConfiguration},tabList=TokenTypes.map(n=>I(D({},n),{component:components[n.value]})),Configuration=()=>{const n=reactRouterDom.useLocation(),e=new URLSearchParams(n.search);return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Card,{bordered:!0,children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Tabs,{type:"card",defaultActiveKey:e.get("tab"),children:tabList.map(s=>__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Tabs.TabPane,{tab:s.label,children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(s.component,{type:s.value})},s.value))})})};class PluginSettingsHelper{constructor(e){this.app=e}load(){return T(this,null,function*(){this.app.systemSettingsManager.add("system-services.hera",{title:tval("Hera integration"),icon:"HomeOutlined"}),this.app.systemSettingsManager.add("system-services.hera.token",{title:tval("Third-party integration configuration"),icon:"ShareAltOutlined",Component:Configuration,aclSnippet:"pm.system-services.hera.token"}),this.app.systemSettingsManager.add("system-services.hera.linkmanage",{title:tval("Link manager"),icon:"ShareAltOutlined",Component:LinkManager,aclSnippet:"pm.system-services.hera.linkmanage"})})}}class PluginCoreClient extends client.Plugin{afterAdd(){return T(this,null,function*(){yield this.app.pm.add(EmbedPlugin),yield this.app.pm.add(PluginHeraVersion),yield this.app.pm.add(PluginPDF),yield this.app.pm.add(PluginOutbound),yield this.app.pm.add(PluginFieldAppends),yield this.app.pm.add(PluginCustomComponents),yield this.app.pm.add(PluginSheet)})}registerSettings(){return T(this,null,function*(){this.schemaSettingsManager.add(customComponentDispatcherSettings),this.schemaSettingsManager.addItem("fieldSettings:component:DatePicker","datePickerType",{Component:SchemaSettingsDatePickerType}),this.schemaSettingsManager.addItem("fieldSettings:component:DatePicker","datePresets",{Component:SchemaSettingsDatePresets}),this.schemaSettingsManager.addItem("actionSettings:updateSubmit","submitDataType",{Component:SchemaSettingsSubmitDataType}),this.schemaSettingsManager.addItem("FormItemSettings","hera-divider",{type:"divider",useVisible(){const e=client.useFormulaTitleVisible(),s=usePaginationVisible();return e||s}}),this.schemaSettingsManager.addItem("FormItemSettings","isTablePageSize",{Component:IsTablePageSize,useVisible:usePaginationVisible})})}registerScopesAndComponents(){return T(this,null,function*(){this.app.addScopes({useGetCustomAssociatedComponents,useGetCustomComponents,useCustomPresets1,useCustomPresets}),this.app.addComponents({AssociatedField,CalcResult,CodeMirror:client$1.CodeMirror,CustomAssociatedField,CustomComponentDispatcher,CustomComponentStub,CustomField,EditTitle,Expression,SettingBlock:SettingBlockInitializer,SignatureInput,ExcelFile})})}registerRouters(){return T(this,null,function*(){})}registerSchemaInitializer(){return T(this,null,function*(){const e={name:"setting",title:tval("System setting"),Component:"SettingBlock"},s={type:"item",name:"refreshAction",title:tval("Refresh"),Component:"RefreshActionInitializer",schema:{"x-align":"right"}};this.app.schemaInitializerManager.addItem("page:addBlock",e.name,e),this.app.schemaInitializerManager.addItem("kanban:configureActions",s.name,s);const i={name:"addCustomComponent",title:tval("Add custom component"),Component:"BlockItemInitializer",schema:{type:"void","x-editable":!1,"x-decorator":"FormItem","x-settings":"customComponentDispatcherSettings","x-component":"CustomComponentDispatcher","x-component-props":{component:"CustomComponentStub"}}};this.app.schemaInitializerManager.addItem("form:configureFields",i.name,i),this.app.schemaInitializerManager.addItem("details:configureFields",i.name,i)})}registerInterfaces(){return T(this,null,function*(){this.app.dataSourceManager.addFieldInterfaces([AssociatedFieldInterface,CalcFieldInterface,CustomFieldInterface,CustomAssociatedFieldInterface,SignaturePadFieldInterface,ExcelFieldInterface,TstzrangeFieldInterface])})}afterLoad(){return T(this,null,function*(){yield this.registerSchemaInitializer()})}load(){return T(this,null,function*(){this.locale=new Locale(this.app),yield new PluginSettingsHelper(this.app).load(),yield this.registerScopesAndComponents(),yield this.registerSettings(),yield this.registerRouters(),yield this.registerInterfaces()})}}exports.CustomComponentType=CustomComponentType,exports.PluginCoreClient=PluginCoreClient,exports.default=PluginCoreClient,exports.usePDFViewerRef=usePDFViewerRef,Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
package/dist/externalVersion.js
CHANGED
|
@@ -1,19 +1,15 @@
|
|
|
1
1
|
module.exports = {
|
|
2
|
-
"@tachybase/client": "1.3.
|
|
3
|
-
"@
|
|
4
|
-
"@
|
|
2
|
+
"@tachybase/client": "1.3.23",
|
|
3
|
+
"@tego/client": "1.3.43",
|
|
4
|
+
"@tego/server": "1.3.43",
|
|
5
5
|
"react": "18.3.1",
|
|
6
|
-
"@tachybase/schema": "1.3.
|
|
7
|
-
"@ant-design/icons": "5.
|
|
6
|
+
"@tachybase/schema": "1.3.43",
|
|
7
|
+
"@ant-design/icons": "5.6.1",
|
|
8
8
|
"antd": "5.22.5",
|
|
9
9
|
"lodash": "4.17.21",
|
|
10
|
-
"
|
|
10
|
+
"dayjs": "1.11.13",
|
|
11
11
|
"ahooks": "3.9.0",
|
|
12
12
|
"react-router-dom": "6.28.1",
|
|
13
|
-
"@tachybase/actions": "1.3.21",
|
|
14
13
|
"axios": "1.7.7",
|
|
15
|
-
"
|
|
16
|
-
"@tachybase/evaluators": "1.3.21",
|
|
17
|
-
"react-dom": "18.3.1",
|
|
18
|
-
"dayjs": "1.11.13"
|
|
14
|
+
"react-dom": "18.3.1"
|
|
19
15
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"fs-extra","version":"11.3.0","description":"fs-extra contains methods that aren't included in the vanilla Node.js fs package. Such as recursive mkdir, copy, and remove.","engines":{"node":">=14.14"},"homepage":"https://github.com/jprichardson/node-fs-extra","repository":{"type":"git","url":"https://github.com/jprichardson/node-fs-extra"},"keywords":["fs","file","file system","copy","directory","extra","mkdirp","mkdir","mkdirs","recursive","json","read","write","extra","delete","remove","touch","create","text","output","move","promise"],"author":"JP Richardson <jprichardson@gmail.com>","license":"MIT","dependencies":{"graceful-fs":"^4.2.0","jsonfile":"^6.0.1","universalify":"^2.0.0"},"devDependencies":{"klaw":"^2.1.1","klaw-sync":"^3.0.2","minimist":"^1.1.1","mocha":"^10.1.0","nyc":"^15.0.0","proxyquire":"^2.0.1","read-dir-files":"^0.1.1","standard":"^17.0.0"},"main":"./lib/index.js","exports":{".":"./lib/index.js","./esm":"./lib/esm.mjs"},"files":["lib/","!lib/**/__tests__/"],"scripts":{"lint":"standard","test-find":"find ./lib/**/__tests__ -name *.test.js | xargs mocha","test":"npm run lint && npm run unit && npm run unit-esm","unit":"nyc node test.js","unit-esm":"node test.mjs"},"sideEffects":false,"_lastModified":"2025-
|
|
1
|
+
{"name":"fs-extra","version":"11.3.0","description":"fs-extra contains methods that aren't included in the vanilla Node.js fs package. Such as recursive mkdir, copy, and remove.","engines":{"node":">=14.14"},"homepage":"https://github.com/jprichardson/node-fs-extra","repository":{"type":"git","url":"https://github.com/jprichardson/node-fs-extra"},"keywords":["fs","file","file system","copy","directory","extra","mkdirp","mkdir","mkdirs","recursive","json","read","write","extra","delete","remove","touch","create","text","output","move","promise"],"author":"JP Richardson <jprichardson@gmail.com>","license":"MIT","dependencies":{"graceful-fs":"^4.2.0","jsonfile":"^6.0.1","universalify":"^2.0.0"},"devDependencies":{"klaw":"^2.1.1","klaw-sync":"^3.0.2","minimist":"^1.1.1","mocha":"^10.1.0","nyc":"^15.0.0","proxyquire":"^2.0.1","read-dir-files":"^0.1.1","standard":"^17.0.0"},"main":"./lib/index.js","exports":{".":"./lib/index.js","./esm":"./lib/esm.mjs"},"files":["lib/","!lib/**/__tests__/"],"scripts":{"lint":"standard","test-find":"find ./lib/**/__tests__ -name *.test.js | xargs mocha","test":"npm run lint && npm run unit && npm run unit-esm","unit":"nyc node test.js","unit-esm":"node test.mjs"},"sideEffects":false,"_lastModified":"2025-08-02T21:30:52.717Z"}
|
|
@@ -65,9 +65,9 @@ __export(link_manager_controller_exports, {
|
|
|
65
65
|
LinkManagerController: () => LinkManagerController
|
|
66
66
|
});
|
|
67
67
|
module.exports = __toCommonJS(link_manager_controller_exports);
|
|
68
|
-
var
|
|
68
|
+
var import_server = require("@tego/server");
|
|
69
69
|
var _init_dec, _setLink_dec, _getLink_dec, _LinkManagerController_decorators, _init;
|
|
70
|
-
_LinkManagerController_decorators = [(0,
|
|
70
|
+
_LinkManagerController_decorators = [(0, import_server.Controller)("link-manage")], _getLink_dec = [(0, import_server.Action)("get")], _setLink_dec = [(0, import_server.Action)("set")], _init_dec = [(0, import_server.Action)("init", { acl: "public" })];
|
|
71
71
|
class LinkManagerController {
|
|
72
72
|
constructor() {
|
|
73
73
|
__runInitializers(_init, 5, this);
|
|
@@ -65,10 +65,10 @@ __export(plugin_version_exports, {
|
|
|
65
65
|
PluginVersionController: () => PluginVersionController
|
|
66
66
|
});
|
|
67
67
|
module.exports = __toCommonJS(plugin_version_exports);
|
|
68
|
-
var
|
|
68
|
+
var import_server = require("@tego/server");
|
|
69
69
|
var import_plugin_version = require("../services/plugin-version");
|
|
70
70
|
var _version_dec, _pluginVersion_dec, _PluginVersionController_decorators, _init;
|
|
71
|
-
_PluginVersionController_decorators = [(0,
|
|
71
|
+
_PluginVersionController_decorators = [(0, import_server.Controller)("hera")], _pluginVersion_dec = [(0, import_server.Inject)(() => import_plugin_version.PluginVersionService)], _version_dec = [(0, import_server.Action)("version", { acl: "public" })];
|
|
72
72
|
class PluginVersionController {
|
|
73
73
|
constructor() {
|
|
74
74
|
__runInitializers(_init, 5, this);
|
|
@@ -74,10 +74,10 @@ __export(robot_controller_exports, {
|
|
|
74
74
|
RobotController: () => RobotController
|
|
75
75
|
});
|
|
76
76
|
module.exports = __toCommonJS(robot_controller_exports);
|
|
77
|
-
var
|
|
77
|
+
var import_server = require("@tego/server");
|
|
78
78
|
var import_axios = __toESM(require("axios"));
|
|
79
79
|
var _sendMessage_dec, _RobotController_decorators, _init;
|
|
80
|
-
_RobotController_decorators = [(0,
|
|
80
|
+
_RobotController_decorators = [(0, import_server.Controller)("robot")], _sendMessage_dec = [(0, import_server.Action)("sendMessage")];
|
|
81
81
|
class RobotController {
|
|
82
82
|
constructor() {
|
|
83
83
|
__runInitializers(_init, 5, this);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Context } from '@
|
|
1
|
+
import { Context } from '@tego/server';
|
|
2
2
|
export declare class SystemMessageController {
|
|
3
3
|
getNotificationList(ctx: Context, next: () => Promise<any>): Promise<any>;
|
|
4
4
|
updateNotificationList(ctx: Context, next: () => Promise<any>): Promise<any>;
|
|
@@ -65,9 +65,9 @@ __export(system_message_controller_exports, {
|
|
|
65
65
|
SystemMessageController: () => SystemMessageController
|
|
66
66
|
});
|
|
67
67
|
module.exports = __toCommonJS(system_message_controller_exports);
|
|
68
|
-
var
|
|
68
|
+
var import_server = require("@tego/server");
|
|
69
69
|
var _updateNotificationList_dec, _getNotificationList_dec, _SystemMessageController_decorators, _init;
|
|
70
|
-
_SystemMessageController_decorators = [(0,
|
|
70
|
+
_SystemMessageController_decorators = [(0, import_server.Controller)("system_notifications")], _getNotificationList_dec = [(0, import_server.Action)("get")], _updateNotificationList_dec = [(0, import_server.Action)("update")];
|
|
71
71
|
class SystemMessageController {
|
|
72
72
|
constructor() {
|
|
73
73
|
__runInitializers(_init, 5, this);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Context } from '@
|
|
1
|
+
import { Context } from '@tego/server';
|
|
2
2
|
export declare class TokenConfigurationController {
|
|
3
3
|
getConfiguration(ctx: Context, next: () => Promise<any>): Promise<any>;
|
|
4
4
|
setConfiguration(ctx: Context, next: () => Promise<any>): Promise<any>;
|
|
@@ -65,9 +65,9 @@ __export(token_configuration_controller_exports, {
|
|
|
65
65
|
TokenConfigurationController: () => TokenConfigurationController
|
|
66
66
|
});
|
|
67
67
|
module.exports = __toCommonJS(token_configuration_controller_exports);
|
|
68
|
-
var
|
|
68
|
+
var import_server = require("@tego/server");
|
|
69
69
|
var _setConfiguration_dec, _getConfiguration_dec, _TokenConfigurationController_decorators, _init;
|
|
70
|
-
_TokenConfigurationController_decorators = [(0,
|
|
70
|
+
_TokenConfigurationController_decorators = [(0, import_server.Controller)("token-configuration")], _getConfiguration_dec = [(0, import_server.Action)("get")], _setConfiguration_dec = [(0, import_server.Action)("set")];
|
|
71
71
|
class TokenConfigurationController {
|
|
72
72
|
constructor() {
|
|
73
73
|
__runInitializers(_init, 5, this);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: import("@
|
|
1
|
+
declare const _default: import("@tego/server").CollectionOptions;
|
|
2
2
|
export default _default;
|
|
@@ -20,8 +20,8 @@ __export(link_manage_exports, {
|
|
|
20
20
|
default: () => link_manage_default
|
|
21
21
|
});
|
|
22
22
|
module.exports = __toCommonJS(link_manage_exports);
|
|
23
|
-
var
|
|
24
|
-
var link_manage_default = (0,
|
|
23
|
+
var import_server = require("@tego/server");
|
|
24
|
+
var link_manage_default = (0, import_server.defineCollection)({
|
|
25
25
|
dumpRules: {
|
|
26
26
|
group: "required"
|
|
27
27
|
},
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: import("@
|
|
1
|
+
declare const _default: import("@tego/server").CollectionDef;
|
|
2
2
|
export default _default;
|
|
@@ -20,8 +20,8 @@ __export(systemSettings_exports, {
|
|
|
20
20
|
default: () => systemSettings_default
|
|
21
21
|
});
|
|
22
22
|
module.exports = __toCommonJS(systemSettings_exports);
|
|
23
|
-
var
|
|
24
|
-
var systemSettings_default = (0,
|
|
23
|
+
var import_server = require("@tego/server");
|
|
24
|
+
var systemSettings_default = (0, import_server.extendCollection)({
|
|
25
25
|
name: "systemSettings",
|
|
26
26
|
fields: [
|
|
27
27
|
{
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: import("@
|
|
1
|
+
declare const _default: import("@tego/server").CollectionOptions;
|
|
2
2
|
export default _default;
|
|
@@ -20,8 +20,8 @@ __export(system_message_exports, {
|
|
|
20
20
|
default: () => system_message_default
|
|
21
21
|
});
|
|
22
22
|
module.exports = __toCommonJS(system_message_exports);
|
|
23
|
-
var
|
|
24
|
-
var system_message_default = (0,
|
|
23
|
+
var import_server = require("@tego/server");
|
|
24
|
+
var system_message_default = (0, import_server.defineCollection)({
|
|
25
25
|
dumpRules: {
|
|
26
26
|
group: "required"
|
|
27
27
|
},
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: import("@
|
|
1
|
+
declare const _default: import("@tego/server").CollectionOptions;
|
|
2
2
|
export default _default;
|
|
@@ -20,8 +20,8 @@ __export(token_configuration_exports, {
|
|
|
20
20
|
default: () => token_configuration_default
|
|
21
21
|
});
|
|
22
22
|
module.exports = __toCommonJS(token_configuration_exports);
|
|
23
|
-
var
|
|
24
|
-
var token_configuration_default = (0,
|
|
23
|
+
var import_server = require("@tego/server");
|
|
24
|
+
var token_configuration_default = (0, import_server.defineCollection)({
|
|
25
25
|
dumpRules: {
|
|
26
26
|
group: "required"
|
|
27
27
|
},
|
|
@@ -20,8 +20,8 @@ __export(calc_exports, {
|
|
|
20
20
|
default: () => CalcField
|
|
21
21
|
});
|
|
22
22
|
module.exports = __toCommonJS(calc_exports);
|
|
23
|
-
var
|
|
24
|
-
class CalcField extends
|
|
23
|
+
var import_server = require("@tego/server");
|
|
24
|
+
class CalcField extends import_server.Field {
|
|
25
25
|
constructor(options, context) {
|
|
26
26
|
super(options, context);
|
|
27
27
|
this.setValue = (instance) => {
|
|
@@ -30,7 +30,7 @@ class CalcField extends import_database.Field {
|
|
|
30
30
|
};
|
|
31
31
|
}
|
|
32
32
|
get dataType() {
|
|
33
|
-
return
|
|
33
|
+
return import_server.DataTypes.STRING;
|
|
34
34
|
}
|
|
35
35
|
bind() {
|
|
36
36
|
super.bind();
|
|
@@ -20,9 +20,9 @@ __export(tstzrange_exports, {
|
|
|
20
20
|
default: () => TstzrangeField
|
|
21
21
|
});
|
|
22
22
|
module.exports = __toCommonJS(tstzrange_exports);
|
|
23
|
-
var
|
|
24
|
-
class TstzrangeField extends
|
|
23
|
+
var import_server = require("@tego/server");
|
|
24
|
+
class TstzrangeField extends import_server.Field {
|
|
25
25
|
get dataType() {
|
|
26
|
-
return
|
|
26
|
+
return import_server.DataTypes.RANGE(import_server.DataTypes.DATE);
|
|
27
27
|
}
|
|
28
28
|
}
|
|
@@ -30,7 +30,7 @@ __export(add_plugin_department_exports, {
|
|
|
30
30
|
default: () => add_plugin_department_default
|
|
31
31
|
});
|
|
32
32
|
module.exports = __toCommonJS(add_plugin_department_exports);
|
|
33
|
-
var import_server = require("@
|
|
33
|
+
var import_server = require("@tego/server");
|
|
34
34
|
var import_plugin = __toESM(require("../plugin"));
|
|
35
35
|
class add_plugin_department_default extends import_server.Migration {
|
|
36
36
|
constructor() {
|
package/dist/server/plugin.d.ts
CHANGED
package/dist/server/plugin.js
CHANGED
|
@@ -75,7 +75,7 @@ __export(plugin_exports, {
|
|
|
75
75
|
default: () => plugin_default
|
|
76
76
|
});
|
|
77
77
|
module.exports = __toCommonJS(plugin_exports);
|
|
78
|
-
var import_server = require("@
|
|
78
|
+
var import_server = require("@tego/server");
|
|
79
79
|
var import_actions = require("./actions");
|
|
80
80
|
var import_calc = __toESM(require("./fields/calc"));
|
|
81
81
|
var import_tstzrange = __toESM(require("./fields/tstzrange"));
|
|
@@ -65,9 +65,9 @@ __export(plugin_version_exports, {
|
|
|
65
65
|
PluginVersionService: () => PluginVersionService
|
|
66
66
|
});
|
|
67
67
|
module.exports = __toCommonJS(plugin_version_exports);
|
|
68
|
-
var
|
|
68
|
+
var import_server = require("@tego/server");
|
|
69
69
|
var _app_dec, _PluginVersionService_decorators, _init;
|
|
70
|
-
_PluginVersionService_decorators = [(0,
|
|
70
|
+
_PluginVersionService_decorators = [(0, import_server.Service)()], _app_dec = [(0, import_server.App)()];
|
|
71
71
|
class PluginVersionService {
|
|
72
72
|
constructor() {
|
|
73
73
|
this.app = __runInitializers(_init, 8, this), __runInitializers(_init, 11, this);
|
|
@@ -74,12 +74,12 @@ __export(sql_loader_exports, {
|
|
|
74
74
|
SqlLoader: () => SqlLoader
|
|
75
75
|
});
|
|
76
76
|
module.exports = __toCommonJS(sql_loader_exports);
|
|
77
|
-
var
|
|
78
|
-
var
|
|
77
|
+
var import_node_path = __toESM(require("node:path"));
|
|
78
|
+
var import_server = require("@tego/server");
|
|
79
79
|
var import_fs_extra = __toESM(require("fs-extra"));
|
|
80
80
|
var import_multiprocess = require("../utils/multiprocess");
|
|
81
81
|
var _db_dec, _SqlLoader_decorators, _init;
|
|
82
|
-
_SqlLoader_decorators = [(0,
|
|
82
|
+
_SqlLoader_decorators = [(0, import_server.Service)()], _db_dec = [(0, import_server.Db)()];
|
|
83
83
|
class SqlLoader {
|
|
84
84
|
constructor() {
|
|
85
85
|
this.sqlFiles = {};
|
|
@@ -90,11 +90,11 @@ class SqlLoader {
|
|
|
90
90
|
const files = await import_fs_extra.default.readdir(directory);
|
|
91
91
|
await Promise.all(
|
|
92
92
|
files.map(async (file) => {
|
|
93
|
-
const filePath =
|
|
93
|
+
const filePath = import_node_path.default.join(directory, file);
|
|
94
94
|
const stat = await import_fs_extra.default.stat(filePath);
|
|
95
|
-
if (stat.isFile() &&
|
|
95
|
+
if (stat.isFile() && import_node_path.default.extname(file) === ".sql") {
|
|
96
96
|
const content = await import_fs_extra.default.readFile(filePath, "utf-8");
|
|
97
|
-
const filename =
|
|
97
|
+
const filename = import_node_path.default.basename(file, ".sql");
|
|
98
98
|
this.sqlFiles[filename] = content;
|
|
99
99
|
if (filename.startsWith("view_")) {
|
|
100
100
|
await this.loadView(filename, content);
|
|
@@ -65,9 +65,9 @@ __export(system_setting_service_exports, {
|
|
|
65
65
|
SystemSettingService: () => SystemSettingService
|
|
66
66
|
});
|
|
67
67
|
module.exports = __toCommonJS(system_setting_service_exports);
|
|
68
|
-
var
|
|
68
|
+
var import_server = require("@tego/server");
|
|
69
69
|
var _db_dec, _SystemSettingService_decorators, _init;
|
|
70
|
-
_SystemSettingService_decorators = [(0,
|
|
70
|
+
_SystemSettingService_decorators = [(0, import_server.Service)()], _db_dec = [(0, import_server.Db)()];
|
|
71
71
|
class SystemSettingService {
|
|
72
72
|
constructor() {
|
|
73
73
|
this.db = __runInitializers(_init, 8, this), __runInitializers(_init, 11, this);
|
package/package.json
CHANGED
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tachybase/module-hera",
|
|
3
3
|
"displayName": "Hera platform - Deprecated",
|
|
4
|
-
"version": "2.3.
|
|
4
|
+
"version": "2.3.23",
|
|
5
5
|
"description": "Hera platform - Deprecated",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"System management"
|
|
8
8
|
],
|
|
9
9
|
"main": "dist/server/index.js",
|
|
10
10
|
"devDependencies": {
|
|
11
|
-
"@ant-design/icons": "
|
|
11
|
+
"@ant-design/icons": "^5.6.1",
|
|
12
|
+
"@tachybase/schema": "^1.3.43",
|
|
12
13
|
"@tachybase/sheet": "1.0.0-alpha.5",
|
|
13
|
-
"@
|
|
14
|
+
"@tachybase/test": "^1.3.43",
|
|
15
|
+
"@tego/client": "^1.3.43",
|
|
16
|
+
"@tego/server": "^1.3.43",
|
|
17
|
+
"@types/lodash": "^4.17.20",
|
|
14
18
|
"ahooks": "^3.9.0",
|
|
15
19
|
"antd": "5.22.5",
|
|
16
20
|
"axios": "1.7.7",
|
|
@@ -19,33 +23,19 @@
|
|
|
19
23
|
"file-saver": "^2.0.5",
|
|
20
24
|
"fs-extra": "^11.3.0",
|
|
21
25
|
"lodash": "4.17.21",
|
|
22
|
-
"react": "
|
|
23
|
-
"react-error-boundary": "^
|
|
26
|
+
"react": "18.3.1",
|
|
27
|
+
"react-error-boundary": "^6.0.0",
|
|
24
28
|
"react-router-dom": "6.28.1",
|
|
25
29
|
"redis": "^4.7.0",
|
|
26
30
|
"signature_pad": "4.2.0",
|
|
27
31
|
"throttle-debounce": "^5.0.2",
|
|
28
32
|
"vitest": "^3.2.4",
|
|
29
|
-
"ws": "^8.18.
|
|
30
|
-
"@tachybase/
|
|
31
|
-
"@tachybase/
|
|
32
|
-
|
|
33
|
-
"peerDependencies": {
|
|
34
|
-
"@tachybase/actions": "1.3.21",
|
|
35
|
-
"@tachybase/data-source": "1.3.21",
|
|
36
|
-
"@tachybase/client": "1.3.21",
|
|
37
|
-
"@tachybase/database": "1.3.21",
|
|
38
|
-
"@tachybase/module-acl": "1.3.21",
|
|
39
|
-
"@tachybase/module-workflow": "1.3.21",
|
|
40
|
-
"@tachybase/evaluators": "1.3.21",
|
|
41
|
-
"@tachybase/schema": "1.3.21",
|
|
42
|
-
"@tachybase/server": "1.3.21",
|
|
43
|
-
"@tachybase/test": "1.3.21",
|
|
44
|
-
"@tachybase/utils": "1.3.21"
|
|
33
|
+
"ws": "^8.18.3",
|
|
34
|
+
"@tachybase/client": "1.3.23",
|
|
35
|
+
"@tachybase/module-acl": "1.3.23",
|
|
36
|
+
"@tachybase/module-workflow": "1.3.23"
|
|
45
37
|
},
|
|
46
38
|
"description.zh-CN": "赫拉平台(已废弃)",
|
|
47
39
|
"displayName.zh-CN": "赫拉平台",
|
|
48
|
-
"scripts": {
|
|
49
|
-
"build": "tachybase-build --no-dts @tachybase/module-hera"
|
|
50
|
-
}
|
|
40
|
+
"scripts": {}
|
|
51
41
|
}
|