@flatbiz/antd 4.4.26 → 4.4.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/esm/ace-editor-groovy/index.js +1 -1
  2. package/esm/ace-editor-groovy/index.js.map +1 -1
  3. package/esm/ace-editor-java/index.js +1 -1
  4. package/esm/ace-editor-java/index.js.map +1 -1
  5. package/esm/ace-editor-json/index.js +1 -1
  6. package/esm/ace-editor-json/index.js.map +1 -1
  7. package/esm/ace-editor-mysql/index.js +1 -1
  8. package/esm/ace-editor-mysql/index.js.map +1 -1
  9. package/esm/ace-editor-xml/index.js +1 -1
  10. package/esm/ace-editor-xml/index.js.map +1 -1
  11. package/esm/dialog-drawer/index.js +1 -1
  12. package/esm/dialog-drawer/index.js.map +1 -1
  13. package/esm/drag-form-list/index.js +1 -1
  14. package/esm/easy-table/index.js +1 -1
  15. package/esm/easy-table/index.js.map +1 -1
  16. package/esm/editable-field/index.js +1 -1
  17. package/esm/editable-field-provider/index.js +1 -1
  18. package/esm/fba-app/index.js +1 -1
  19. package/esm/fba-app/index.js.map +1 -1
  20. package/esm/fba-hooks/index.js +1 -1
  21. package/esm/form-grid/index.js +1 -1
  22. package/esm/form-grid/index.js.map +1 -1
  23. package/esm/form-item-text/index.js +1 -1
  24. package/esm/index.js +1 -1
  25. package/esm/input-search-wrapper/index.js +1 -1
  26. package/esm/json-editor/index.js +1 -1
  27. package/esm/json-editor/index.js.map +1 -1
  28. package/esm/mention-editor/index.js +1 -1
  29. package/esm/mentions-wrapper/index.js +1 -1
  30. package/esm/selector-wrapper/index.js +1 -1
  31. package/esm/selector-wrapper-search/index.js +1 -1
  32. package/esm/selector-wrapper-simple/index.js +1 -1
  33. package/esm/switch-confirm-wrapper/index.js +1 -1
  34. package/esm/table-cell-render/index.js +1 -1
  35. package/esm/table-scrollbar/index.js +1 -1
  36. package/esm/tag-wrapper/index.js +1 -1
  37. package/esm/upload-wrapper/index.js +1 -1
  38. package/index.d.ts +4 -1
  39. package/package.json +3 -1
  40. package/esm/ext-language_tools-0c27f877.js +0 -3
  41. package/esm/ext-language_tools-0c27f877.js.map +0 -1
  42. package/esm/mode-json-062fdb24.js +0 -3
  43. package/esm/mode-json-062fdb24.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/ace-editor-xml/validate-xml.ts","@flatbiz/antd/node_modules/ace-builds/src-noconflict/mode-xml.js","@flatbiz/antd/node_modules/ace-builds/src-noconflict/snippets/xml.js","@flatbiz/antd/src/ace-editor-xml/editor.tsx"],"sourcesContent":["/**\n * 验证xml格式的正确性\n * ```\n * result / true 验证通过\n * result / false 验证不通过,message为失败描述(使用富文本渲染)\n * ```\n */\nexport const validateXML = (xmlContent: string) => {\n // errorCode 0是xml正确,1是xml错误,2是无法验证\n let errorCode = 0;\n let errorMessage;\n // code for IE\n if (window['ActiveXObject']) {\n const xmlDoc = new window['ActiveXObject']('Microsoft.XMLDOM');\n xmlDoc.async = 'false';\n xmlDoc.loadXML(xmlContent);\n\n if (xmlDoc.parseError.errorCode != 0) {\n errorMessage = `错误code: ${xmlDoc.parseError.errorCode} \\n`;\n errorMessage = `${errorMessage} 错误原因: ${xmlDoc.parseError.reason} \\n`;\n errorMessage = `${errorMessage} 错误位置: ${xmlDoc.parseError.line}`;\n errorCode = 1;\n } else {\n errorMessage = '格式正确';\n }\n }\n // code for Mozilla, Firefox, Opera, chrome, safari,etc.\n else if (document.implementation['createDocument']) {\n const parser = new DOMParser();\n const xmlDoc = parser.parseFromString(xmlContent, 'text/xml');\n const error = xmlDoc.getElementsByTagName('parsererror');\n if (error.length > 0) {\n if (xmlDoc.documentElement.nodeName == 'parsererror') {\n errorCode = 1;\n errorMessage = xmlDoc.documentElement.childNodes[0].nodeValue;\n } else {\n errorCode = 1;\n console.log(xmlDoc.getElementsByTagName('parsererror'));\n errorMessage = xmlDoc.getElementsByTagName('parsererror')[0].innerHTML;\n }\n } else {\n errorMessage = '格式正确';\n }\n } else {\n errorCode = 2;\n errorMessage = '浏览器不支持验证,无法验证xml正确性';\n }\n return {\n message: errorMessage,\n result: errorCode == 0 ? true : false,\n };\n};\n","ace.define(\"ace/mode/xml_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text_highlight_rules\"], function(require, exports, module){\"use strict\";\nvar oop = require(\"../lib/oop\");\nvar TextHighlightRules = require(\"./text_highlight_rules\").TextHighlightRules;\nvar XmlHighlightRules = function (normalize) {\n var tagRegex = \"[_:a-zA-Z\\xc0-\\uffff][-_:.a-zA-Z0-9\\xc0-\\uffff]*\";\n this.$rules = {\n start: [\n { token: \"string.cdata.xml\", regex: \"<\\\\!\\\\[CDATA\\\\[\", next: \"cdata\" },\n {\n token: [\"punctuation.instruction.xml\", \"keyword.instruction.xml\"],\n regex: \"(<\\\\?)(\" + tagRegex + \")\", next: \"processing_instruction\"\n },\n { token: \"comment.start.xml\", regex: \"<\\\\!--\", next: \"comment\" },\n {\n token: [\"xml-pe.doctype.xml\", \"xml-pe.doctype.xml\"],\n regex: \"(<\\\\!)(DOCTYPE)(?=[\\\\s])\", next: \"doctype\", caseInsensitive: true\n },\n { include: \"tag\" },\n { token: \"text.end-tag-open.xml\", regex: \"</\" },\n { token: \"text.tag-open.xml\", regex: \"<\" },\n { include: \"reference\" },\n { defaultToken: \"text.xml\" }\n ],\n processing_instruction: [{\n token: \"entity.other.attribute-name.decl-attribute-name.xml\",\n regex: tagRegex\n }, {\n token: \"keyword.operator.decl-attribute-equals.xml\",\n regex: \"=\"\n }, {\n include: \"whitespace\"\n }, {\n include: \"string\"\n }, {\n token: \"punctuation.xml-decl.xml\",\n regex: \"\\\\?>\",\n next: \"start\"\n }],\n doctype: [\n { include: \"whitespace\" },\n { include: \"string\" },\n { token: \"xml-pe.doctype.xml\", regex: \">\", next: \"start\" },\n { token: \"xml-pe.xml\", regex: \"[-_a-zA-Z0-9:]+\" },\n { token: \"punctuation.int-subset\", regex: \"\\\\[\", push: \"int_subset\" }\n ],\n int_subset: [{\n token: \"text.xml\",\n regex: \"\\\\s+\"\n }, {\n token: \"punctuation.int-subset.xml\",\n regex: \"]\",\n next: \"pop\"\n }, {\n token: [\"punctuation.markup-decl.xml\", \"keyword.markup-decl.xml\"],\n regex: \"(<\\\\!)(\" + tagRegex + \")\",\n push: [{\n token: \"text\",\n regex: \"\\\\s+\"\n },\n {\n token: \"punctuation.markup-decl.xml\",\n regex: \">\",\n next: \"pop\"\n },\n { include: \"string\" }]\n }],\n cdata: [\n { token: \"string.cdata.xml\", regex: \"\\\\]\\\\]>\", next: \"start\" },\n { token: \"text.xml\", regex: \"\\\\s+\" },\n { token: \"text.xml\", regex: \"(?:[^\\\\]]|\\\\](?!\\\\]>))+\" }\n ],\n comment: [\n { token: \"comment.end.xml\", regex: \"-->\", next: \"start\" },\n { defaultToken: \"comment.xml\" }\n ],\n reference: [{\n token: \"constant.language.escape.reference.xml\",\n regex: \"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\\\.-]+;)\"\n }],\n attr_reference: [{\n token: \"constant.language.escape.reference.attribute-value.xml\",\n regex: \"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\\\.-]+;)\"\n }],\n tag: [{\n token: [\"meta.tag.punctuation.tag-open.xml\", \"meta.tag.punctuation.end-tag-open.xml\", \"meta.tag.tag-name.xml\"],\n regex: \"(?:(<)|(</))((?:\" + tagRegex + \":)?\" + tagRegex + \")\",\n next: [\n { include: \"attributes\" },\n { token: \"meta.tag.punctuation.tag-close.xml\", regex: \"/?>\", next: \"start\" }\n ]\n }],\n tag_whitespace: [\n { token: \"text.tag-whitespace.xml\", regex: \"\\\\s+\" }\n ],\n whitespace: [\n { token: \"text.whitespace.xml\", regex: \"\\\\s+\" }\n ],\n string: [{\n token: \"string.xml\",\n regex: \"'\",\n push: [\n { token: \"string.xml\", regex: \"'\", next: \"pop\" },\n { defaultToken: \"string.xml\" }\n ]\n }, {\n token: \"string.xml\",\n regex: '\"',\n push: [\n { token: \"string.xml\", regex: '\"', next: \"pop\" },\n { defaultToken: \"string.xml\" }\n ]\n }],\n attributes: [{\n token: \"entity.other.attribute-name.xml\",\n regex: tagRegex\n }, {\n token: \"keyword.operator.attribute-equals.xml\",\n regex: \"=\"\n }, {\n include: \"tag_whitespace\"\n }, {\n include: \"attribute_value\"\n }],\n attribute_value: [{\n token: \"string.attribute-value.xml\",\n regex: \"'\",\n push: [\n { token: \"string.attribute-value.xml\", regex: \"'\", next: \"pop\" },\n { include: \"attr_reference\" },\n { defaultToken: \"string.attribute-value.xml\" }\n ]\n }, {\n token: \"string.attribute-value.xml\",\n regex: '\"',\n push: [\n { token: \"string.attribute-value.xml\", regex: '\"', next: \"pop\" },\n { include: \"attr_reference\" },\n { defaultToken: \"string.attribute-value.xml\" }\n ]\n }]\n };\n if (this.constructor === XmlHighlightRules)\n this.normalizeRules();\n};\n(function () {\n this.embedTagRules = function (HighlightRules, prefix, tag) {\n this.$rules.tag.unshift({\n token: [\"meta.tag.punctuation.tag-open.xml\", \"meta.tag.\" + tag + \".tag-name.xml\"],\n regex: \"(<)(\" + tag + \"(?=\\\\s|>|$))\",\n next: [\n { include: \"attributes\" },\n { token: \"meta.tag.punctuation.tag-close.xml\", regex: \"/?>\", next: prefix + \"start\" }\n ]\n });\n this.$rules[tag + \"-end\"] = [\n { include: \"attributes\" },\n { token: \"meta.tag.punctuation.tag-close.xml\", regex: \"/?>\", next: \"start\",\n onMatch: function (value, currentState, stack) {\n stack.splice(0);\n return this.token;\n } }\n ];\n this.embedRules(HighlightRules, prefix, [{\n token: [\"meta.tag.punctuation.end-tag-open.xml\", \"meta.tag.\" + tag + \".tag-name.xml\"],\n regex: \"(</)(\" + tag + \"(?=\\\\s|>|$))\",\n next: tag + \"-end\"\n }, {\n token: \"string.cdata.xml\",\n regex: \"<\\\\!\\\\[CDATA\\\\[\"\n }, {\n token: \"string.cdata.xml\",\n regex: \"\\\\]\\\\]>\"\n }]);\n };\n}).call(TextHighlightRules.prototype);\noop.inherits(XmlHighlightRules, TextHighlightRules);\nexports.XmlHighlightRules = XmlHighlightRules;\n\n});\n\nace.define(\"ace/mode/behaviour/xml\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/behaviour\",\"ace/token_iterator\",\"ace/lib/lang\"], function(require, exports, module){\"use strict\";\nvar oop = require(\"../../lib/oop\");\nvar Behaviour = require(\"../behaviour\").Behaviour;\nvar TokenIterator = require(\"../../token_iterator\").TokenIterator;\nvar lang = require(\"../../lib/lang\");\nfunction is(token, type) {\n return token && token.type.lastIndexOf(type + \".xml\") > -1;\n}\nvar XmlBehaviour = function () {\n this.add(\"string_dquotes\", \"insertion\", function (state, action, editor, session, text) {\n if (text == '\"' || text == \"'\") {\n var quote = text;\n var selected = session.doc.getTextRange(editor.getSelectionRange());\n if (selected !== \"\" && selected !== \"'\" && selected != '\"' && editor.getWrapBehavioursEnabled()) {\n return {\n text: quote + selected + quote,\n selection: false\n };\n }\n var cursor = editor.getCursorPosition();\n var line = session.doc.getLine(cursor.row);\n var rightChar = line.substring(cursor.column, cursor.column + 1);\n var iterator = new TokenIterator(session, cursor.row, cursor.column);\n var token = iterator.getCurrentToken();\n if (rightChar == quote && (is(token, \"attribute-value\") || is(token, \"string\"))) {\n return {\n text: \"\",\n selection: [1, 1]\n };\n }\n if (!token)\n token = iterator.stepBackward();\n if (!token)\n return;\n while (is(token, \"tag-whitespace\") || is(token, \"whitespace\")) {\n token = iterator.stepBackward();\n }\n var rightSpace = !rightChar || rightChar.match(/\\s/);\n if (is(token, \"attribute-equals\") && (rightSpace || rightChar == '>') || (is(token, \"decl-attribute-equals\") && (rightSpace || rightChar == '?'))) {\n return {\n text: quote + quote,\n selection: [1, 1]\n };\n }\n }\n });\n this.add(\"string_dquotes\", \"deletion\", function (state, action, editor, session, range) {\n var selected = session.doc.getTextRange(range);\n if (!range.isMultiLine() && (selected == '\"' || selected == \"'\")) {\n var line = session.doc.getLine(range.start.row);\n var rightChar = line.substring(range.start.column + 1, range.start.column + 2);\n if (rightChar == selected) {\n range.end.column++;\n return range;\n }\n }\n });\n this.add(\"autoclosing\", \"insertion\", function (state, action, editor, session, text) {\n if (text == '>') {\n var position = editor.getSelectionRange().start;\n var iterator = new TokenIterator(session, position.row, position.column);\n var token = iterator.getCurrentToken() || iterator.stepBackward();\n if (!token || !(is(token, \"tag-name\") || is(token, \"tag-whitespace\") || is(token, \"attribute-name\") || is(token, \"attribute-equals\") || is(token, \"attribute-value\")))\n return;\n if (is(token, \"reference.attribute-value\"))\n return;\n if (is(token, \"attribute-value\")) {\n var tokenEndColumn = iterator.getCurrentTokenColumn() + token.value.length;\n if (position.column < tokenEndColumn)\n return;\n if (position.column == tokenEndColumn) {\n var nextToken = iterator.stepForward();\n if (nextToken && is(nextToken, \"attribute-value\"))\n return;\n iterator.stepBackward();\n }\n }\n if (/^\\s*>/.test(session.getLine(position.row).slice(position.column)))\n return;\n while (!is(token, \"tag-name\")) {\n token = iterator.stepBackward();\n if (token.value == \"<\") {\n token = iterator.stepForward();\n break;\n }\n }\n var tokenRow = iterator.getCurrentTokenRow();\n var tokenColumn = iterator.getCurrentTokenColumn();\n if (is(iterator.stepBackward(), \"end-tag-open\"))\n return;\n var element = token.value;\n if (tokenRow == position.row)\n element = element.substring(0, position.column - tokenColumn);\n if (this.voidElements.hasOwnProperty(element.toLowerCase()))\n return;\n return {\n text: \">\" + \"</\" + element + \">\",\n selection: [1, 1]\n };\n }\n });\n this.add(\"autoindent\", \"insertion\", function (state, action, editor, session, text) {\n if (text == \"\\n\") {\n var cursor = editor.getCursorPosition();\n var line = session.getLine(cursor.row);\n var iterator = new TokenIterator(session, cursor.row, cursor.column);\n var token = iterator.getCurrentToken();\n if (token && token.type.indexOf(\"tag-close\") !== -1) {\n if (token.value == \"/>\")\n return;\n while (token && token.type.indexOf(\"tag-name\") === -1) {\n token = iterator.stepBackward();\n }\n if (!token) {\n return;\n }\n var tag = token.value;\n var row = iterator.getCurrentTokenRow();\n token = iterator.stepBackward();\n if (!token || token.type.indexOf(\"end-tag\") !== -1) {\n return;\n }\n if (this.voidElements && !this.voidElements[tag]) {\n var nextToken = session.getTokenAt(cursor.row, cursor.column + 1);\n var line = session.getLine(row);\n var nextIndent = this.$getIndent(line);\n var indent = nextIndent + session.getTabString();\n if (nextToken && nextToken.value === \"</\") {\n return {\n text: \"\\n\" + indent + \"\\n\" + nextIndent,\n selection: [1, indent.length, 1, indent.length]\n };\n }\n else {\n return {\n text: \"\\n\" + indent\n };\n }\n }\n }\n }\n });\n};\noop.inherits(XmlBehaviour, Behaviour);\nexports.XmlBehaviour = XmlBehaviour;\n\n});\n\nace.define(\"ace/mode/folding/xml\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/range\",\"ace/mode/folding/fold_mode\"], function(require, exports, module){\"use strict\";\nvar oop = require(\"../../lib/oop\");\nvar Range = require(\"../../range\").Range;\nvar BaseFoldMode = require(\"./fold_mode\").FoldMode;\nvar FoldMode = exports.FoldMode = function (voidElements, optionalEndTags) {\n BaseFoldMode.call(this);\n this.voidElements = voidElements || {};\n this.optionalEndTags = oop.mixin({}, this.voidElements);\n if (optionalEndTags)\n oop.mixin(this.optionalEndTags, optionalEndTags);\n};\noop.inherits(FoldMode, BaseFoldMode);\nvar Tag = function () {\n this.tagName = \"\";\n this.closing = false;\n this.selfClosing = false;\n this.start = { row: 0, column: 0 };\n this.end = { row: 0, column: 0 };\n};\nfunction is(token, type) {\n return token.type.lastIndexOf(type + \".xml\") > -1;\n}\n(function () {\n this.getFoldWidget = function (session, foldStyle, row) {\n var tag = this._getFirstTagInLine(session, row);\n if (!tag)\n return this.getCommentFoldWidget(session, row);\n if (tag.closing || (!tag.tagName && tag.selfClosing))\n return foldStyle === \"markbeginend\" ? \"end\" : \"\";\n if (!tag.tagName || tag.selfClosing || this.voidElements.hasOwnProperty(tag.tagName.toLowerCase()))\n return \"\";\n if (this._findEndTagInLine(session, row, tag.tagName, tag.end.column))\n return \"\";\n return \"start\";\n };\n this.getCommentFoldWidget = function (session, row) {\n if (/comment/.test(session.getState(row)) && /<!-/.test(session.getLine(row)))\n return \"start\";\n return \"\";\n };\n this._getFirstTagInLine = function (session, row) {\n var tokens = session.getTokens(row);\n var tag = new Tag();\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n if (is(token, \"tag-open\")) {\n tag.end.column = tag.start.column + token.value.length;\n tag.closing = is(token, \"end-tag-open\");\n token = tokens[++i];\n if (!token)\n return null;\n tag.tagName = token.value;\n tag.end.column += token.value.length;\n for (i++; i < tokens.length; i++) {\n token = tokens[i];\n tag.end.column += token.value.length;\n if (is(token, \"tag-close\")) {\n tag.selfClosing = token.value == '/>';\n break;\n }\n }\n return tag;\n }\n else if (is(token, \"tag-close\")) {\n tag.selfClosing = token.value == '/>';\n return tag;\n }\n tag.start.column += token.value.length;\n }\n return null;\n };\n this._findEndTagInLine = function (session, row, tagName, startColumn) {\n var tokens = session.getTokens(row);\n var column = 0;\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n column += token.value.length;\n if (column < startColumn)\n continue;\n if (is(token, \"end-tag-open\")) {\n token = tokens[i + 1];\n if (token && token.value == tagName)\n return true;\n }\n }\n return false;\n };\n this.getFoldWidgetRange = function (session, foldStyle, row) {\n var tags = session.getMatchingTags({ row: row, column: 0 });\n if (tags) {\n return new Range(tags.openTag.end.row, tags.openTag.end.column, tags.closeTag.start.row, tags.closeTag.start.column);\n }\n else {\n return this.getCommentFoldWidget(session, row)\n && session.getCommentFoldRange(row, session.getLine(row).length);\n }\n };\n}).call(FoldMode.prototype);\n\n});\n\nace.define(\"ace/mode/xml\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/lang\",\"ace/mode/text\",\"ace/mode/xml_highlight_rules\",\"ace/mode/behaviour/xml\",\"ace/mode/folding/xml\",\"ace/worker/worker_client\"], function(require, exports, module){\"use strict\";\nvar oop = require(\"../lib/oop\");\nvar lang = require(\"../lib/lang\");\nvar TextMode = require(\"./text\").Mode;\nvar XmlHighlightRules = require(\"./xml_highlight_rules\").XmlHighlightRules;\nvar XmlBehaviour = require(\"./behaviour/xml\").XmlBehaviour;\nvar XmlFoldMode = require(\"./folding/xml\").FoldMode;\nvar WorkerClient = require(\"../worker/worker_client\").WorkerClient;\nvar Mode = function () {\n this.HighlightRules = XmlHighlightRules;\n this.$behaviour = new XmlBehaviour();\n this.foldingRules = new XmlFoldMode();\n};\noop.inherits(Mode, TextMode);\n(function () {\n this.voidElements = lang.arrayToMap([]);\n this.blockComment = { start: \"<!--\", end: \"-->\" };\n this.createWorker = function (session) {\n var worker = new WorkerClient([\"ace\"], \"ace/mode/xml_worker\", \"Worker\");\n worker.attachToDocument(session.getDocument());\n worker.on(\"error\", function (e) {\n session.setAnnotations(e.data);\n });\n worker.on(\"terminate\", function () {\n session.clearAnnotations();\n });\n return worker;\n };\n this.$id = \"ace/mode/xml\";\n}).call(Mode.prototype);\nexports.Mode = Mode;\n\n}); (function() {\n ace.require([\"ace/mode/xml\"], function(m) {\n if (typeof module == \"object\" && typeof exports == \"object\" && module) {\n module.exports = m;\n }\n });\n })();\n ","\n; (function() {\n ace.require([\"ace/snippets/xml\"], function(m) {\n if (typeof module == \"object\" && typeof exports == \"object\" && module) {\n module.exports = m;\n }\n });\n })();\n ","import { isObject } from '@dimjs/lang';\nimport { isUndefinedOrNull, type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\n\nimport { Space } from 'antd';\nimport { CSSProperties, ReactElement, useMemo, useRef, useState } from 'react';\nimport Ace, { type IAceEditorProps } from 'react-ace';\nimport xmlFormat from 'xml-formatter';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { ErrorBoundaryWrapper } from '../error-boundary-wrapper';\nimport { FlexLayout } from '../flex-layout';\nimport { validateXML } from './validate-xml';\n\nimport 'ace-builds/src-noconflict/ext-language_tools';\nimport 'ace-builds/src-noconflict/mode-xml';\nimport 'ace-builds/src-noconflict/snippets/xml';\n\nexport type AceEditorXmlProps = Omit<IAceEditorProps, 'mode' | 'value' | 'onChange' | 'theme'> & {\n /** 编辑器高度,默认值:100%,可输入值例如 300px、100% */\n height?: string;\n value?: string | TPlainObject | TPlainObject[];\n onChange?: (value?: string | TPlainObject | TPlainObject[]) => void;\n /** 配置输入自动提示关键字 */\n autoCompleterList?: { name: string; desc?: string }[];\n /** 隐藏【验证数据】按钮 */\n hiddenVerifyBtn?: boolean;\n /** 隐藏【美化】按钮 */\n hiddenFormatterBtn?: boolean;\n /**\n * 编辑器主题配置,例如:github、terminal、xcode\n * ```\n * 1. 顶部引入 import 'ace-builds/src-noconflict/theme-xxxx';\n * 2. 配置 theme = xxxx\n * ```\n */\n theme?: string;\n /** 底部额外布局 */\n footerExtraRender?: (children: ReactElement) => ReactElement;\n footerStyle?: CSSProperties;\n};\n\n/**\n * xml编辑器\n * ```\n * 1. 受控组件,需要使用value、onChange配合显示数据\n * 2. heigth 默认为100%,如果外层无高度,需要自定义设置height属性\n * 3. 通过 autoCompleterList 配置自动提示关键字\n * 4. 通过 hiddenVerifyBtn、hiddenFormatterBtn可隐藏底部操作按钮\n * 5. 通过 theme 配置编辑器主题,例如:\n * 5.1 顶部引入 import 'ace-builds/src-noconflict/theme-xxxx';\n * 5.2 配置 theme = xxxx\n * ```\n */\nexport const AceEditorXml = (props: AceEditorXmlProps) => {\n const {\n value,\n onChange,\n height,\n hiddenVerifyBtn,\n hiddenFormatterBtn,\n autoCompleterList,\n onLoad,\n ...otherProps\n } = props;\n const heightFt = isUndefinedOrNull(height) ? '100%' : height;\n\n const [rootNodekey, setRootNodekey] = useState(Date.now());\n const [errorMsg, setErrorMsg] = useState<string>();\n\n const editorRef = useRef<TAny>();\n\n const valueNew = useMemo(() => {\n if (isObject(value)) {\n return JSON.stringify(value, null, 2);\n }\n return value as string | undefined;\n }, [value]);\n\n const handleChange = hooks.useCallbackRef((content: string) => {\n if (errorMsg) {\n setErrorMsg(undefined);\n }\n onChange?.(content);\n });\n\n const getCompletions = hooks.useCallbackRef((_a, _b, _c, _d, callback) => {\n callback(\n null,\n autoCompleterList?.map((item) => ({\n name: item.name,\n value: item.name,\n // score: 100,\n meta: item.desc,\n })),\n );\n });\n\n const onLoadHandle = (editor) => {\n editorRef.current = editor;\n /** 向编辑器中添加自动补全列表 */\n const findIndex = editor.completers.findIndex((item) => item.id === 'custom');\n if (findIndex >= 0) {\n editor.completers[findIndex] = { getCompletions, id: 'custom' };\n } else {\n editor.completers.push({ getCompletions, id: 'custom' });\n }\n onLoad?.(editor);\n };\n\n const inputValueVerify = (inputValue: string) => {\n const result = validateXML(inputValue);\n if (result.result) {\n onChange?.(inputValue);\n } else {\n setErrorMsg(result.message);\n }\n };\n\n const footer = (\n <Space style={{ alignItems: 'flex-start' }}>\n <ButtonWrapper\n hidden={hiddenFormatterBtn === true}\n type=\"primary\"\n ghost\n onClick={() => {\n const currentValue = editorRef.current?.getValue();\n onChange?.(xmlFormat(currentValue || ''));\n }}\n >\n 美化\n </ButtonWrapper>\n <ButtonWrapper\n hidden={hiddenVerifyBtn === true}\n type=\"primary\"\n ghost\n onClick={() => {\n const currentValue = editorRef.current?.getValue();\n if (!currentValue) {\n onChange?.(currentValue);\n return;\n }\n inputValueVerify(currentValue);\n }}\n >\n 验证数据\n </ButtonWrapper>\n {errorMsg ? (\n <span style={{ color: 'red' }} dangerouslySetInnerHTML={{ __html: errorMsg }}></span>\n ) : null}\n </Space>\n );\n\n return (\n <FlexLayout fullIndex={0} className=\"ace-editor-xml\" key={rootNodekey} style={{ height: heightFt }}>\n <div className=\"aex-content\">\n <ErrorBoundaryWrapper\n onRenderReset={() => {\n onChange?.(undefined);\n setRootNodekey(Date.now());\n }}\n >\n <Ace\n fontSize={14}\n showPrintMargin={true}\n showGutter={true}\n highlightActiveLine={true}\n height=\"100%\"\n width=\"auto\"\n placeholder=\"请输入\"\n {...otherProps}\n setOptions={{\n useWorker: false,\n enableBasicAutocompletion: false,\n enableLiveAutocompletion: true,\n enableSnippets: false,\n showLineNumbers: true,\n tabSize: 2,\n ...otherProps.setOptions,\n }}\n mode=\"xml\"\n onLoad={onLoadHandle}\n onChange={handleChange}\n onBlur={(_event, editor) => {\n const value = editor?.getValue();\n if (value) {\n inputValueVerify(value);\n }\n }}\n value={valueNew}\n />\n </ErrorBoundaryWrapper>\n </div>\n <div className=\"ace-editor-xml-footer\" style={{ marginTop: 10, ...props.footerStyle }}>\n {props.footerExtraRender ? props.footerExtraRender(footer) : footer}\n </div>\n </FlexLayout>\n );\n};\n"],"names":["validateXML","xmlContent","errorCode","errorMessage","window","xmlDoc","async","loadXML","parseError","reason","line","document","implementation","parser","DOMParser","parseFromString","error","getElementsByTagName","length","documentElement","nodeName","childNodes","nodeValue","console","log","innerHTML","message","result","ace","define","require","exports","module","oop","TextHighlightRules","XmlHighlightRules","normalize","tagRegex","this","$rules","start","token","regex","next","caseInsensitive","include","defaultToken","processing_instruction","doctype","push","int_subset","cdata","comment","reference","attr_reference","tag","tag_whitespace","whitespace","string","attributes","attribute_value","constructor","normalizeRules","embedTagRules","HighlightRules","prefix","unshift","onMatch","value","currentState","stack","splice","embedRules","call","prototype","inherits","Behaviour","TokenIterator","is","type","lastIndexOf","XmlBehaviour","add","state","action","editor","session","text","quote","selected","doc","getTextRange","getSelectionRange","getWrapBehavioursEnabled","selection","cursor","getCursorPosition","getLine","row","rightChar","substring","column","iterator","getCurrentToken","stepBackward","rightSpace","match","range","isMultiLine","end","position","tokenEndColumn","getCurrentTokenColumn","nextToken","stepForward","test","slice","tokenRow","getCurrentTokenRow","tokenColumn","element","voidElements","hasOwnProperty","toLowerCase","indexOf","getTokenAt","nextIndent","$getIndent","indent","getTabString","Range","BaseFoldMode","FoldMode","optionalEndTags","mixin","Tag","tagName","closing","selfClosing","getFoldWidget","foldStyle","_getFirstTagInLine","getCommentFoldWidget","_findEndTagInLine","getState","tokens","getTokens","i","startColumn","getFoldWidgetRange","tags","getMatchingTags","openTag","closeTag","getCommentFoldRange","lang","TextMode","Mode","XmlFoldMode","WorkerClient","$behaviour","foldingRules","arrayToMap","blockComment","createWorker","worker","attachToDocument","getDocument","on","e","setAnnotations","data","clearAnnotations","$id","m","AceEditorXml","props","onChange","height","hiddenVerifyBtn","hiddenFormatterBtn","autoCompleterList","onLoad","otherProps","_objectWithoutPropertiesLoose","_excluded","heightFt","isUndefinedOrNull","_useState","useState","Date","now","rootNodekey","setRootNodekey","_useState2","errorMsg","setErrorMsg","editorRef","useRef","valueNew","useMemo","_isObject","JSON","stringify","handleChange","_hooks","useCallbackRef","content","undefined","getCompletions","_a","_b","_c","_d","callback","map","item","name","meta","desc","onLoadHandle","current","findIndex","completers","id","inputValueVerify","inputValue","footer","_jsxs","Space","style","alignItems","children","_jsx","ButtonWrapper","hidden","ghost","onClick","_editorRef$current","currentValue","getValue","xmlFormat","_editorRef$current2","color","dangerouslySetInnerHTML","__html","FlexLayout","fullIndex","className","ErrorBoundaryWrapper","onRenderReset","Ace","_extends","fontSize","showPrintMargin","showGutter","highlightActiveLine","width","placeholder","setOptions","useWorker","enableBasicAutocompletion","enableLiveAutocompletion","enableSnippets","showLineNumbers","tabSize","mode","onBlur","_event","marginTop","footerStyle","footerExtraRender"],"mappings":"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","x_google_ignoreList":[1,2]}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/ace-editor-xml/validate-xml.ts","@flatbiz/antd/src/ace-editor-xml/editor.tsx"],"sourcesContent":["/**\n * 验证xml格式的正确性\n * ```\n * result / true 验证通过\n * result / false 验证不通过,message为失败描述(使用富文本渲染)\n * ```\n */\nexport const validateXML = (xmlContent: string) => {\n // errorCode 0是xml正确,1是xml错误,2是无法验证\n let errorCode = 0;\n let errorMessage;\n // code for IE\n if (window['ActiveXObject']) {\n const xmlDoc = new window['ActiveXObject']('Microsoft.XMLDOM');\n xmlDoc.async = 'false';\n xmlDoc.loadXML(xmlContent);\n\n if (xmlDoc.parseError.errorCode != 0) {\n errorMessage = `错误code: ${xmlDoc.parseError.errorCode} \\n`;\n errorMessage = `${errorMessage} 错误原因: ${xmlDoc.parseError.reason} \\n`;\n errorMessage = `${errorMessage} 错误位置: ${xmlDoc.parseError.line}`;\n errorCode = 1;\n } else {\n errorMessage = '格式正确';\n }\n }\n // code for Mozilla, Firefox, Opera, chrome, safari,etc.\n else if (document.implementation['createDocument']) {\n const parser = new DOMParser();\n const xmlDoc = parser.parseFromString(xmlContent, 'text/xml');\n const error = xmlDoc.getElementsByTagName('parsererror');\n if (error.length > 0) {\n if (xmlDoc.documentElement.nodeName == 'parsererror') {\n errorCode = 1;\n errorMessage = xmlDoc.documentElement.childNodes[0].nodeValue;\n } else {\n errorCode = 1;\n console.log(xmlDoc.getElementsByTagName('parsererror'));\n errorMessage = xmlDoc.getElementsByTagName('parsererror')[0].innerHTML;\n }\n } else {\n errorMessage = '格式正确';\n }\n } else {\n errorCode = 2;\n errorMessage = '浏览器不支持验证,无法验证xml正确性';\n }\n return {\n message: errorMessage,\n result: errorCode == 0 ? true : false,\n };\n};\n","import { isObject } from '@dimjs/lang';\nimport { isUndefinedOrNull, type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\n\nimport { Space } from 'antd';\nimport { CSSProperties, ReactElement, useMemo, useRef, useState } from 'react';\nimport Ace, { type IAceEditorProps } from 'react-ace';\nimport xmlFormat from 'xml-formatter';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { ErrorBoundaryWrapper } from '../error-boundary-wrapper';\nimport { FlexLayout } from '../flex-layout';\nimport { validateXML } from './validate-xml';\n\nimport 'ace-builds/src-noconflict/ext-language_tools';\nimport 'ace-builds/src-noconflict/mode-xml';\nimport 'ace-builds/src-noconflict/snippets/xml';\n\nexport type AceEditorXmlProps = Omit<IAceEditorProps, 'mode' | 'value' | 'onChange' | 'theme'> & {\n /** 编辑器高度,默认值:100%,可输入值例如 300px、100% */\n height?: string;\n value?: string | TPlainObject | TPlainObject[];\n onChange?: (value?: string | TPlainObject | TPlainObject[]) => void;\n /** 配置输入自动提示关键字 */\n autoCompleterList?: { name: string; desc?: string }[];\n /** 隐藏【验证数据】按钮 */\n hiddenVerifyBtn?: boolean;\n /** 是否隐藏内部验证异常文案 */\n hiddenErrorMsg?: boolean;\n /** 隐藏【美化】按钮 */\n hiddenFormatterBtn?: boolean;\n /**\n * 编辑器主题配置,例如:github、terminal、xcode\n * ```\n * 1. 顶部引入 import 'ace-builds/src-noconflict/theme-xxxx';\n * 2. 配置 theme = xxxx\n * ```\n */\n theme?: string;\n /** 底部额外布局 */\n footerExtraRender?: (children: ReactElement) => ReactElement;\n footerStyle?: CSSProperties;\n};\n\n/**\n * xml编辑器\n * ```\n * 1. 受控组件,需要使用value、onChange配合显示数据\n * 2. heigth 默认为100%,如果外层无高度,需要自定义设置height属性\n * 3. 通过 autoCompleterList 配置自动提示关键字\n * 4. 通过 hiddenVerifyBtn、hiddenFormatterBtn可隐藏底部操作按钮\n * 5. 通过 theme 配置编辑器主题,例如:\n * 5.1 顶部引入 import 'ace-builds/src-noconflict/theme-xxxx';\n * 5.2 配置 theme = xxxx\n * ```\n */\nexport const AceEditorXml = (props: AceEditorXmlProps) => {\n const {\n value,\n onChange,\n height,\n hiddenVerifyBtn,\n hiddenFormatterBtn,\n autoCompleterList,\n onLoad,\n hiddenErrorMsg,\n ...otherProps\n } = props;\n const heightFt = isUndefinedOrNull(height) ? '100%' : height;\n\n const [rootNodekey, setRootNodekey] = useState(Date.now());\n const [errorMsg, setErrorMsg] = useState<string>();\n\n const editorRef = useRef<TAny>();\n\n const valueNew = useMemo(() => {\n if (isObject(value)) {\n return JSON.stringify(value, null, 2);\n }\n return value as string | undefined;\n }, [value]);\n\n const handleChange = hooks.useCallbackRef((content: string) => {\n if (errorMsg) {\n setErrorMsg(undefined);\n }\n onChange?.(content);\n });\n\n const getCompletions = hooks.useCallbackRef((_a, _b, _c, _d, callback) => {\n callback(\n null,\n autoCompleterList?.map((item) => ({\n name: item.name,\n value: item.name,\n // score: 100,\n meta: item.desc,\n })),\n );\n });\n\n const onLoadHandle = (editor) => {\n editorRef.current = editor;\n /** 向编辑器中添加自动补全列表 */\n const findIndex = editor.completers.findIndex((item) => item.id === 'custom');\n if (findIndex >= 0) {\n editor.completers[findIndex] = { getCompletions, id: 'custom' };\n } else {\n editor.completers.push({ getCompletions, id: 'custom' });\n }\n onLoad?.(editor);\n };\n\n const inputValueVerify = (inputValue: string) => {\n const result = validateXML(inputValue);\n if (result.result) {\n onChange?.(inputValue);\n } else {\n setErrorMsg(result.message);\n }\n };\n\n const footer = (\n <Space style={{ alignItems: 'flex-start' }}>\n <ButtonWrapper\n hidden={hiddenFormatterBtn === true}\n type=\"primary\"\n ghost\n onClick={() => {\n const currentValue = editorRef.current?.getValue();\n onChange?.(xmlFormat(currentValue || ''));\n }}\n >\n 美化\n </ButtonWrapper>\n <ButtonWrapper\n hidden={hiddenVerifyBtn === true}\n type=\"primary\"\n ghost\n onClick={() => {\n const currentValue = editorRef.current?.getValue();\n if (!currentValue) {\n onChange?.(currentValue);\n return;\n }\n inputValueVerify(currentValue);\n }}\n >\n 验证&格式化数据\n </ButtonWrapper>\n {!hiddenErrorMsg && errorMsg ? (\n <span style={{ color: 'red' }} dangerouslySetInnerHTML={{ __html: errorMsg }}></span>\n ) : null}\n </Space>\n );\n\n return (\n <FlexLayout fullIndex={0} className=\"ace-editor-xml\" key={rootNodekey} style={{ height: heightFt }}>\n <div className=\"aex-content\">\n <ErrorBoundaryWrapper\n onRenderReset={() => {\n onChange?.(undefined);\n setRootNodekey(Date.now());\n }}\n >\n <Ace\n fontSize={14}\n showPrintMargin={true}\n showGutter={true}\n highlightActiveLine={true}\n height=\"100%\"\n width=\"auto\"\n placeholder=\"请输入\"\n {...otherProps}\n setOptions={{\n useWorker: false,\n enableBasicAutocompletion: false,\n enableLiveAutocompletion: true,\n enableSnippets: false,\n showLineNumbers: true,\n tabSize: 2,\n ...otherProps.setOptions,\n }}\n mode=\"xml\"\n onLoad={onLoadHandle}\n onChange={handleChange}\n onBlur={(_event, editor) => {\n const value = editor?.getValue();\n if (value) {\n inputValueVerify(value);\n }\n }}\n value={valueNew}\n />\n </ErrorBoundaryWrapper>\n </div>\n <div className=\"ace-editor-xml-footer\" style={{ marginTop: 10, ...props.footerStyle }}>\n {props.footerExtraRender ? props.footerExtraRender(footer) : footer}\n </div>\n </FlexLayout>\n );\n};\n"],"names":["validateXML","xmlContent","errorCode","errorMessage","window","xmlDoc","async","loadXML","parseError","reason","line","document","implementation","parser","DOMParser","parseFromString","error","getElementsByTagName","length","documentElement","nodeName","childNodes","nodeValue","console","log","innerHTML","message","result","AceEditorXml","props","value","onChange","height","hiddenVerifyBtn","hiddenFormatterBtn","autoCompleterList","onLoad","hiddenErrorMsg","otherProps","_objectWithoutPropertiesLoose","_excluded","heightFt","isUndefinedOrNull","_useState","useState","Date","now","rootNodekey","setRootNodekey","_useState2","errorMsg","setErrorMsg","editorRef","useRef","valueNew","useMemo","_isObject","JSON","stringify","handleChange","_hooks","useCallbackRef","content","undefined","getCompletions","_a","_b","_c","_d","callback","map","item","name","meta","desc","onLoadHandle","editor","current","findIndex","completers","id","push","inputValueVerify","inputValue","footer","_jsxs","Space","style","alignItems","children","_jsx","ButtonWrapper","hidden","type","ghost","onClick","_editorRef$current","currentValue","getValue","xmlFormat","_editorRef$current2","color","dangerouslySetInnerHTML","__html","FlexLayout","fullIndex","className","ErrorBoundaryWrapper","onRenderReset","Ace","_extends","fontSize","showPrintMargin","showGutter","highlightActiveLine","width","placeholder","setOptions","useWorker","enableBasicAutocompletion","enableLiveAutocompletion","enableSnippets","showLineNumbers","tabSize","mode","onBlur","_event","marginTop","footerStyle","footerExtraRender"],"mappings":"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"}
@@ -6,5 +6,5 @@ import './../types/index.css';
6
6
  import './../fba-utils/index.css';
7
7
  import './index.css';
8
8
  /*! @flatjs/forge MIT @flatbiz/antd */
9
- import{isString as e}from"@dimjs/lang/cjs/is-string";import{_ as t,a as r}from"../_rollupPluginBabelHelpers-a0769acd.js";import{isPromise as o}from"@dimjs/lang/cjs/is-promise";import{hooks as n}from"@wove/react/cjs/hooks";import{dom as i}from"@flatbiz/utils";import{Form as a,Space as l,Drawer as d}from"antd";import{useState as s,useMemo as c}from"react";import{createRoot as m}from"react-dom/client";import{ButtonWrapper as u}from"../button-wrapper/index.js";import{C as p}from"../index-7f4ad045.js";import{fbaHooks as f}from"../fba-hooks/index.js";import{C as v}from"../context-1f2093c6.js";import{jsx as j,jsxs as h}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/utils/cjs/class-names";import"../fba-utils/index.js";import"@dimjs/lang/cjs/is-array";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"@dimjs/utils/cjs/extend";import"../use-responsive-point-21b8c601.js";import"@wove/react/cjs/create-ctx";var x=["divElement","elementId","onOk","onCancel","content","configProviderProps","okText","cancelText","okButtonExtraProps","cancelButtonExtraProps","operatePosition","operateRender","width","okHidden","cancelHidden","extra"];var y=function e(i){var m;var y=i.divElement,w=i.elementId,g=i.onOk,k=i.onCancel,C=i.content,b=i.configProviderProps,P=i.okText,_=i.cancelText,E=i.okButtonExtraProps,B=i.cancelButtonExtraProps,I=i.operatePosition,R=I===void 0?"footer":I,W=i.operateRender,H=i.width,O=i.okHidden,T=i.cancelHidden,z=i.extra,F=r(i,x);var S=s(true),D=S[0],Y=S[1];var A=s(),L=A[0],N=A[1];var U=a.useForm(),q=U[0];var G=f.useResponsivePoint()||"";var J=n.useCallbackRef((function(){try{delete window[w]}catch(e){}Y(false)}));f.useEffectCustom((function(){window[w]=J}),[J]);var K=n.useCallbackRef((function(e){if(k){var t=k(q,e);if(t&&o(t)){return t.then(J)}}return J()}));var M=n.useCallbackRef((function(e){if(g){var t=g(q,e);if(t&&o(t)){return t.then(J)}}return J()}));var Q=h(l,{children:[T||B!=null&&B.hidden?null:j(u,t({},B,{onClick:K,children:_||"取消"})),O||E!=null&&E.hidden?null:j(u,t({type:"primary"},E,{onClick:M,children:P||"提交"}))]});var V=function e(){if(W){return W(q)}if(!O||!T){return Q}return null};var X=typeof z==="function"?z(q):z;var Z=function e(t){N(t)};var $=c((function(){if(!G)return undefined;if(["xs","sm"].includes(G)){return{width:"90%",maxWidth:"90%"}}if(H){return{width:H,maxWidth:"calc(100% - 200px)"}}return{width:"40%",maxWidth:"calc(100% - 200px)"}}),[G,H]);return j(v,{value:{onClose:J,updateBodyStyle:Z},children:j(p,t({},b,{children:j(d,t({maskClosable:true,destroyOnClose:true,onClose:J,width:$==null?void 0:$.width,contentWrapperStyle:{maxWidth:$==null?void 0:$.maxWidth},footer:R==="footer"?V():null},F,{styles:t({},F.styles,{body:t({},L,(m=F.styles)==null?void 0:m.body)}),extra:R==="header"?V():X,open:D,getContainer:y,children:typeof C==="function"?C(q,{onClose:J}):C}))}))})};var w={open:function e(r){var o=i.bodyAppendDivElement(),n=o.divElement,a=o.elementId;window["__dialog_drawer_elementId"]=a;var l=m(n);l.render(j(y,t({},r,{divElement:n,elementId:a})));return{close:function e(){var t,r;(t=(r=window)[a])==null?void 0:t.call(r)}}},close:function t(){try{var r,o;var n=window["__dialog_drawer_elementId"];if(e(n))(r=(o=window)[n])==null?void 0:r.call(o)}catch(e){}}};export{w as dialogDrawer};
9
+ import{isString as e}from"@dimjs/lang/cjs/is-string";import{_ as t,a as r}from"../_rollupPluginBabelHelpers-a0769acd.js";import{isPromise as o}from"@dimjs/lang/cjs/is-promise";import{hooks as n}from"@wove/react/cjs/hooks";import{dom as i}from"@flatbiz/utils";import{Form as a,Space as l,Drawer as d}from"antd";import{useState as s,useMemo as c}from"react";import{createRoot as m}from"react-dom/client";import{ButtonWrapper as u}from"../button-wrapper/index.js";import{C as p}from"../index-7f4ad045.js";import{fbaHooks as f}from"../fba-hooks/index.js";import{C as v}from"../context-1f2093c6.js";import{jsx as j,jsxs as h}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/utils/cjs/class-names";import"../fba-utils/index.js";import"@dimjs/lang/cjs/is-array";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"@dimjs/utils/cjs/extend";import"../use-responsive-point-21b8c601.js";import"@wove/react/cjs/create-ctx";var x=["divElement","elementId","onOk","onCancel","content","configProviderProps","okText","cancelText","okButtonExtraProps","cancelButtonExtraProps","operatePosition","operateRender","width","okHidden","cancelHidden","extra"];var y=function e(i){var m;var y=i.divElement,w=i.elementId,g=i.onOk,k=i.onCancel,C=i.content,P=i.configProviderProps,b=i.okText,_=i.cancelText,E=i.okButtonExtraProps,B=i.cancelButtonExtraProps,I=i.operatePosition,R=I===void 0?"footer":I,W=i.operateRender,H=i.width,O=i.okHidden,T=i.cancelHidden,z=i.extra,F=r(i,x);var S=s(true),D=S[0],Y=S[1];var A=s(),L=A[0],N=A[1];var U=a.useForm(),q=U[0];var G=f.useResponsivePoint()||"";var J=n.useCallbackRef((function(){try{delete window[w]}catch(e){}Y(false)}));f.useEffectCustom((function(){window[w]=J}),[J]);var K=n.useCallbackRef((function(e){if(k){var t=k(q,e);if(t&&o(t)){return t.then(J)}}return J()}));var M=n.useCallbackRef((function(e){if(g){var t=g(q,e);if(t&&o(t)){return t.then(J)}}return J()}));var Q=h(l,{children:[T||B!=null&&B.hidden?null:j(u,t({},B,{onClick:K,children:_||"取消"})),O||E!=null&&E.hidden?null:j(u,t({type:"primary"},E,{onClick:M,children:b||"提交"}))]});var V=function e(){if(W){return W(q)}if(!O||!T){return Q}return null};var X=typeof z==="function"?z(q):z;var Z=function e(t){N(t)};var $=c((function(){if(!G)return undefined;if(["xs","sm"].includes(G)){return{width:"90%",maxWidth:"90%"}}if(H){return{width:H,maxWidth:"calc(100% - 200px)"}}return{width:"40%",maxWidth:"calc(100% - 200px)"}}),[G,H]);return j(v,{value:{onClose:J,updateBodyStyle:Z},children:j(p,t({},P,{children:j(d,t({maskClosable:true,destroyOnClose:true,onClose:J,contentWrapperStyle:{maxWidth:$==null?void 0:$.maxWidth},footer:R==="footer"?V():null},F,{width:$==null?void 0:$.width,styles:t({},F.styles,{body:t({},L,(m=F.styles)==null?void 0:m.body)}),extra:R==="header"?V():X,open:D,getContainer:y,children:typeof C==="function"?C(q,{onClose:J}):C}))}))})};var w={open:function e(r){var o=i.bodyAppendDivElement(),n=o.divElement,a=o.elementId;window["__dialog_drawer_elementId"]=a;var l=m(n);l.render(j(y,t({},r,{divElement:n,elementId:a})));return{close:function e(){var t,r;(t=(r=window)[a])==null?void 0:t.call(r)}}},close:function t(){try{var r,o;var n=window["__dialog_drawer_elementId"];if(e(n))(r=(o=window)[n])==null?void 0:r.call(o)}catch(e){}}};export{w as dialogDrawer};
10
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/dialog-drawer/dialog-drawer.tsx"],"sourcesContent":["import { isPromise, isString } from '@dimjs/lang';\nimport { dom, TNoopDefine } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Drawer, DrawerProps, Form, FormInstance, Space } from 'antd';\nimport { CSSProperties, ReactElement, ReactNode, useMemo, useState } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { ConfigProviderWrapper, ConfigProviderWrapperProps } from '../config-provider-wrapper';\nimport { fbaHooks } from '../fba-hooks';\nimport { BodyAppendDivElementProps } from '../_utils/dom';\nimport { CtxProvider } from './context';\n\nexport type DialogDrawerProps = Omit<\n DrawerProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'open' | 'open' | 'footer' | 'extra'\n> & {\n okText?: string | ReactElement;\n cancelText?: string | ReactElement;\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n content: string | ReactElement | ((form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement);\n configProviderProps?: ConfigProviderWrapperProps;\n okButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children' | 'loading'>;\n cancelButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children'>;\n operatePosition?: 'header' | 'footer';\n operateRender?: (form: FormInstance) => ReactElement;\n okHidden?: boolean;\n cancelHidden?: boolean;\n extra?: ReactNode | ((form: FormInstance) => ReactElement);\n};\n\nconst ModalRender = (props: BodyAppendDivElementProps & DialogDrawerProps) => {\n const {\n divElement,\n elementId,\n onOk,\n onCancel,\n content,\n configProviderProps,\n okText,\n cancelText,\n okButtonExtraProps,\n cancelButtonExtraProps,\n operatePosition = 'footer',\n operateRender,\n width,\n okHidden,\n cancelHidden,\n extra,\n ...otherProps\n } = props;\n const [open, setOpen] = useState(true);\n const [innerBodyStyle, setInnerBodyStyle] = useState<CSSProperties>();\n const [form] = Form.useForm();\n const screenType = fbaHooks.useResponsivePoint() || '';\n\n const onClose = hooks.useCallbackRef(() => {\n try {\n delete window[elementId];\n } catch (error) {\n //\n }\n setOpen(false);\n });\n\n fbaHooks.useEffectCustom(() => {\n window[elementId] = onClose;\n }, [onClose]);\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\n });\n\n const operateGroup = (\n <Space>\n {cancelHidden || cancelButtonExtraProps?.hidden ? null : (\n <ButtonWrapper {...cancelButtonExtraProps} onClick={onCancelHandle}>\n {cancelText || '取消'}\n </ButtonWrapper>\n )}\n {okHidden || okButtonExtraProps?.hidden ? null : (\n <ButtonWrapper type=\"primary\" {...okButtonExtraProps} onClick={onOkHandle}>\n {okText || '提交'}\n </ButtonWrapper>\n )}\n </Space>\n );\n\n const operateRenderHandle = () => {\n if (operateRender) {\n return operateRender(form);\n }\n if (!okHidden || !cancelHidden) {\n return operateGroup;\n }\n return null;\n };\n\n const extraRender = typeof extra === 'function' ? extra(form) : extra;\n\n const updateBodyStyle = (bodyStyle?: CSSProperties) => {\n setInnerBodyStyle(bodyStyle);\n };\n\n const customSize = useMemo(() => {\n if (!screenType) return undefined;\n if (['xs', 'sm'].includes(screenType)) {\n return {\n width: '90%',\n maxWidth: '90%',\n };\n }\n if (width) {\n return { width: width, maxWidth: 'calc(100% - 200px)' };\n }\n return { width: '40%', maxWidth: 'calc(100% - 200px)' };\n }, [screenType, width]);\n\n return (\n <CtxProvider value={{ onClose, updateBodyStyle }}>\n <ConfigProviderWrapper {...configProviderProps}>\n <Drawer\n maskClosable={true}\n destroyOnClose\n onClose={onClose}\n width={customSize?.width}\n // 5.13.0 新增 styles.wrapper,并废弃 contentWrapperStyle drawerStyle maskStyle 属性\n contentWrapperStyle={{ maxWidth: customSize?.maxWidth }}\n footer={operatePosition === 'footer' ? operateRenderHandle() : null}\n {...otherProps}\n styles={{\n ...otherProps.styles,\n body: { ...innerBodyStyle, ...otherProps.styles?.body },\n // wrapper: {\n // maxWidth: customSize?.maxWidth,\n // ...otherProps.styles?.wrapper,\n // },\n }}\n extra={operatePosition === 'header' ? operateRenderHandle() : extraRender}\n open={open}\n getContainer={divElement}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Drawer>\n </ConfigProviderWrapper>\n </CtxProvider>\n );\n};\n\n/**\n * 抽屉弹框\n * ```\n * 1. 可嵌套使用\n * 2. 为什么不推荐使用\n * dialogDrawer.open 打开的内容无法适配兼容自定义主题、无法适配兼容旧版浏览器、无法兼容国际化\n * 适配兼容旧版浏览器(https://ant-design.antgroup.com/docs/react/compatible-style-cn)\n * 3. 需要修改默认主题风格的场景,请使用\n * const { appDialogDrawer } = FbaApp.useDialogDrawer();\n * appDialogDrawer.open({})\n * 4. 配置size属性可使用预设的弹窗尺寸,如果不使用内置尺寸可设置 size = null\n * ```\n */\nexport const dialogDrawer = {\n open: (props: DialogDrawerProps) => {\n const { divElement, elementId } = dom.bodyAppendDivElement();\n window['__dialog_drawer_elementId'] = elementId;\n const root = createRoot(divElement);\n root.render(<ModalRender {...props} divElement={divElement} elementId={elementId} />);\n return {\n close: () => {\n window[elementId]?.();\n },\n };\n },\n /**\n * ```\n * 1. 关闭最新弹框,如果有多个弹框只能关闭最后一个\n * 2. 多个弹框主动关闭,只能使用 dialogDrawer.open()返回值中的close\n * ```\n */\n close: () => {\n try {\n const elementId = window['__dialog_drawer_elementId'] as string;\n if (isString(elementId)) window[elementId]?.();\n } catch (error) {\n //\n }\n },\n};\n"],"names":["ModalRender","props","_otherProps$styles","divElement","elementId","onOk","onCancel","content","configProviderProps","okText","cancelText","okButtonExtraProps","cancelButtonExtraProps","_props$operatePositio","operatePosition","operateRender","width","okHidden","cancelHidden","extra","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","open","setOpen","_useState2","innerBodyStyle","setInnerBodyStyle","_Form$useForm","Form","useForm","form","screenType","fbaHooks","useResponsivePoint","onClose","_hooks","useCallbackRef","window","error","useEffectCustom","onCancelHandle","e","response","_isPromise","then","onOkHandle","operateGroup","_jsxs","Space","children","hidden","_jsx","ButtonWrapper","_extends","onClick","type","operateRenderHandle","extraRender","updateBodyStyle","bodyStyle","customSize","useMemo","undefined","includes","maxWidth","CtxProvider","value","ConfigProviderWrapper","Drawer","maskClosable","destroyOnClose","contentWrapperStyle","footer","styles","body","getContainer","dialogDrawer","_dom$bodyAppendDivEle","dom","bodyAppendDivElement","root","createRoot","render","close","_window$elementId","_window","call","_window$elementId2","_window2","_isString"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/dialog-drawer/dialog-drawer.tsx"],"sourcesContent":["import { isPromise, isString } from '@dimjs/lang';\nimport { dom, TNoopDefine } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Drawer, DrawerProps, Form, FormInstance, Space } from 'antd';\nimport { CSSProperties, ReactElement, ReactNode, useMemo, useState } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { ConfigProviderWrapper, ConfigProviderWrapperProps } from '../config-provider-wrapper';\nimport { fbaHooks } from '../fba-hooks';\nimport { BodyAppendDivElementProps } from '../_utils/dom';\nimport { CtxProvider } from './context';\n\nexport type DialogDrawerProps = Omit<\n DrawerProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'open' | 'open' | 'footer' | 'extra'\n> & {\n okText?: string | ReactElement;\n cancelText?: string | ReactElement;\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n content: string | ReactElement | ((form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement);\n configProviderProps?: ConfigProviderWrapperProps;\n okButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children' | 'loading'>;\n cancelButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children'>;\n operatePosition?: 'header' | 'footer';\n operateRender?: (form: FormInstance) => ReactElement;\n okHidden?: boolean;\n cancelHidden?: boolean;\n extra?: ReactNode | ((form: FormInstance) => ReactElement);\n};\n\nconst ModalRender = (props: BodyAppendDivElementProps & DialogDrawerProps) => {\n const {\n divElement,\n elementId,\n onOk,\n onCancel,\n content,\n configProviderProps,\n okText,\n cancelText,\n okButtonExtraProps,\n cancelButtonExtraProps,\n operatePosition = 'footer',\n operateRender,\n width,\n okHidden,\n cancelHidden,\n extra,\n ...otherProps\n } = props;\n const [open, setOpen] = useState(true);\n const [innerBodyStyle, setInnerBodyStyle] = useState<CSSProperties>();\n const [form] = Form.useForm();\n const screenType = fbaHooks.useResponsivePoint() || '';\n\n const onClose = hooks.useCallbackRef(() => {\n try {\n delete window[elementId];\n } catch (error) {\n //\n }\n setOpen(false);\n });\n\n fbaHooks.useEffectCustom(() => {\n window[elementId] = onClose;\n }, [onClose]);\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\n });\n\n const operateGroup = (\n <Space>\n {cancelHidden || cancelButtonExtraProps?.hidden ? null : (\n <ButtonWrapper {...cancelButtonExtraProps} onClick={onCancelHandle}>\n {cancelText || '取消'}\n </ButtonWrapper>\n )}\n {okHidden || okButtonExtraProps?.hidden ? null : (\n <ButtonWrapper type=\"primary\" {...okButtonExtraProps} onClick={onOkHandle}>\n {okText || '提交'}\n </ButtonWrapper>\n )}\n </Space>\n );\n\n const operateRenderHandle = () => {\n if (operateRender) {\n return operateRender(form);\n }\n if (!okHidden || !cancelHidden) {\n return operateGroup;\n }\n return null;\n };\n\n const extraRender = typeof extra === 'function' ? extra(form) : extra;\n\n const updateBodyStyle = (bodyStyle?: CSSProperties) => {\n setInnerBodyStyle(bodyStyle);\n };\n\n const customSize = useMemo(() => {\n if (!screenType) return undefined;\n if (['xs', 'sm'].includes(screenType)) {\n return {\n width: '90%',\n maxWidth: '90%',\n };\n }\n if (width) {\n return { width: width, maxWidth: 'calc(100% - 200px)' };\n }\n return { width: '40%', maxWidth: 'calc(100% - 200px)' };\n }, [screenType, width]);\n\n return (\n <CtxProvider value={{ onClose, updateBodyStyle }}>\n <ConfigProviderWrapper {...configProviderProps}>\n <Drawer\n maskClosable={true}\n destroyOnClose\n onClose={onClose}\n // 5.13.0 新增 styles.wrapper,并废弃 contentWrapperStyle drawerStyle maskStyle 属性\n contentWrapperStyle={{ maxWidth: customSize?.maxWidth }}\n footer={operatePosition === 'footer' ? operateRenderHandle() : null}\n {...otherProps}\n width={customSize?.width}\n styles={{\n ...otherProps.styles,\n body: { ...innerBodyStyle, ...otherProps.styles?.body },\n // wrapper: {\n // maxWidth: customSize?.maxWidth,\n // ...otherProps.styles?.wrapper,\n // },\n }}\n extra={operatePosition === 'header' ? operateRenderHandle() : extraRender}\n open={open}\n getContainer={divElement}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Drawer>\n </ConfigProviderWrapper>\n </CtxProvider>\n );\n};\n\n/**\n * 抽屉弹框\n * ```\n * 1. 可嵌套使用\n * 2. 为什么不推荐使用\n * dialogDrawer.open 打开的内容无法适配兼容自定义主题、无法适配兼容旧版浏览器、无法兼容国际化\n * 适配兼容旧版浏览器(https://ant-design.antgroup.com/docs/react/compatible-style-cn)\n * 3. 需要修改默认主题风格的场景,请使用\n * const { appDialogDrawer } = FbaApp.useDialogDrawer();\n * appDialogDrawer.open({})\n * ```\n */\nexport const dialogDrawer = {\n open: (props: DialogDrawerProps) => {\n const { divElement, elementId } = dom.bodyAppendDivElement();\n window['__dialog_drawer_elementId'] = elementId;\n const root = createRoot(divElement);\n root.render(<ModalRender {...props} divElement={divElement} elementId={elementId} />);\n return {\n close: () => {\n window[elementId]?.();\n },\n };\n },\n /**\n * ```\n * 1. 关闭最新弹框,如果有多个弹框只能关闭最后一个\n * 2. 多个弹框主动关闭,只能使用 dialogDrawer.open()返回值中的close\n * ```\n */\n close: () => {\n try {\n const elementId = window['__dialog_drawer_elementId'] as string;\n if (isString(elementId)) window[elementId]?.();\n } catch (error) {\n //\n }\n },\n};\n"],"names":["ModalRender","props","_otherProps$styles","divElement","elementId","onOk","onCancel","content","configProviderProps","okText","cancelText","okButtonExtraProps","cancelButtonExtraProps","_props$operatePositio","operatePosition","operateRender","width","okHidden","cancelHidden","extra","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","open","setOpen","_useState2","innerBodyStyle","setInnerBodyStyle","_Form$useForm","Form","useForm","form","screenType","fbaHooks","useResponsivePoint","onClose","_hooks","useCallbackRef","window","error","useEffectCustom","onCancelHandle","e","response","_isPromise","then","onOkHandle","operateGroup","_jsxs","Space","children","hidden","_jsx","ButtonWrapper","_extends","onClick","type","operateRenderHandle","extraRender","updateBodyStyle","bodyStyle","customSize","useMemo","undefined","includes","maxWidth","CtxProvider","value","ConfigProviderWrapper","Drawer","maskClosable","destroyOnClose","contentWrapperStyle","footer","styles","body","getContainer","dialogDrawer","_dom$bodyAppendDivEle","dom","bodyAppendDivElement","root","createRoot","render","close","_window$elementId","_window","call","_window$elementId2","_window2","_isString"],"mappings":"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"}
@@ -9,5 +9,5 @@ import './../flex-layout/index.css';
9
9
  import './../text-symbol-wrapper/index.css';
10
10
  import './index.css';
11
11
  /*! @flatjs/forge MIT @flatbiz/antd */
12
- import{classNames as e}from"@dimjs/utils/cjs/class-names";import{hooks as r}from"@wove/react/cjs/hooks";import{_ as t}from"../_rollupPluginBabelHelpers-a0769acd.js";import{DndContext as i,closestCenter as n,DragOverlay as a}from"@dnd-kit/core";import{useSortable as o,SortableContext as d,verticalListSortingStrategy as l,arrayMove as m}from"@dnd-kit/sortable";import{toArray as s,getUuid as u}from"@flatbiz/utils";import{Form as p,Empty as c}from"antd";import{Fragment as f,useState as g,useRef as v,useMemo as h}from"react";import{B as y}from"../index-1f45bfd5.js";import{ButtonWrapper as I}from"../button-wrapper/index.js";import{FormItemGroup as x}from"../form-item-group/index.js";import{TextSymbolWrapper as j}from"../text-symbol-wrapper/index.js";import D from"@ant-design/icons/es/icons/DragOutlined";import{CSS as b}from"@dnd-kit/utilities";import{jsx as L,jsxs as N}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../index-7f4ad045.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/extend";import"../fba-utils/index.js";import"../flex-layout/index.js";function C(i){var n=p.useFormInstance();var a=i.isOverlay?false:i.getItemDragDisabled==null?void 0:i.getItemDragDisabled(i.uid,i.index);var d=o({id:i.uid,disabled:a}),l=d.listeners,m=d.setNodeRef,s=d.transform,u=d.transition;var c=r.useCallbackRef((function(){var e=i.dragIcon?i.dragIcon:L(D,{});return i.dragDisabled?L(f,{}):L("span",t({className:"drag-form-list-item-trigger"},l,{children:L("span",{children:e})}))}));var g=t({transform:b.Transform.toString(s),transition:u},i.style);var v=e("drag-form-list-item",{"drag-form-list-item-grap":i.isGray,"drag-form-list-item-disabled":a},i.className);return N("div",{style:t({},g),ref:m,className:v,children:[L(p.Item,{noStyle:true,children:c()}),L("div",{className:"drag-form-list-item-content",children:i.children({formListFieldData:i.formListFieldData,operation:i.formListOperate,formStageCompleteName:i.formStageCompleteName,index:i.index,getInsideFormItemName:function e(r){return[i.formListFieldData.name,r]},getInsideFormItemData:function e(){return n.getFieldValue(i.formStageCompleteName)||{}},prevCompleteName:i.prevCompleteName,uidKey:i.uidFieldName})})]})}var w=function e(r){if(r.wrapper)return r.wrapper({children:r.children});return r.children};var F=function e(r){var i,n,a;var o=(i=r.formListItemTitleHProps)==null?void 0:i.gap;var d=r.dragDisabled?[]:[{width:35,mainItem:L("div",{style:{marginRight:o===undefined?-15:-o}})}];return L(x.HorizontalUnion,t({},r.formListItemTitleHProps,{style:t({marginBottom:10},(n=r.formListItemTitleHProps)==null?void 0:n.style),groupConfigList:d.concat(((a=r.formListItemTitleList)==null?void 0:a.map((function(e){if(e.required){return{width:e.width,mainItem:L("div",{style:{textAlign:"center"},children:L(j,{text:e.title,symbolType:"required"})})}}return{width:e.width,mainItem:L("div",{style:{textAlign:"center"},children:e.title})}})))||[])}))};var k=function o(x){var j=[].concat(x.prevCompleteName,s(x.name));var D=g(),b=D[0],k=D[1];var R=p.useFormInstance();var S=v([]);var T=x.uidFieldName||"uid";var A=p.useWatch(j,R);var P=r.useCallbackRef((function(e){return e==null?void 0:e[T]}));function E(e){var r=e.active;k(r.id)}var O=r.useCallbackRef((function(){return R.getFieldValue(j)||[]}));function H(e){var r=e.active,t=e.over;var i=O();if(r.id!==t.id){var n=i.findIndex((function(e){return P(e)===r.id}));var a=i.findIndex((function(e){return P(e)===t.id}));var o=m(i,n,a);R.setFields([{name:x.name,value:o}]);x.onDropChange==null?void 0:x.onDropChange(o)}k(undefined)}var B=h((function(){if(!b)return undefined;var e=O();var r=e.findIndex((function(e){return P(e)===b}));return S.current.find((function(e){return e.name===r}))}),[b,O,P]);var _=x.itemGap?x.itemGap/2:8;return L(y,{className:e("drag-form-list",x.className),style:x.style,children:L(i,{collisionDetection:n,onDragStart:E,onDragEnd:H,children:L(p.List,{name:x.name,rules:x.rules,children:function e(r,i,n){var o;var m=n.errors;S.current=r;return N("div",{style:{borderRadius:"6px",border:m!=null&&m.length?"1px solid #ff4d4f":"1px solid transparent"},children:[(o=x.formListItemTitleList)!=null&&o.length?L(F,{formListItemTitleList:x.formListItemTitleList,formListItemTitleHProps:x.formListItemTitleHorizontalUnionProps,dragDisabled:x.dragDisabled}):null,!x.hiddenEmptyRender&&!(A!=null&&A.length)?L(c,{image:c.PRESENTED_IMAGE_SIMPLE,style:{margin:"15px 0"}}):null,L(w,{wrapper:x.formListChildrenWrapper,children:N(f,{children:[L(d,{items:O().map((function(e){return P(e)})),strategy:l,children:N(f,{children:[r.map((function(e,r){var n=P(O()[r]);if(!n)return null;return L(C,{formListOperate:i,formListFieldData:e,uid:n,dragIcon:x.dragIcon,getItemDragDisabled:x.getItemDragDisabled,dragDisabled:x.dragDisabled,isGray:!!n&&n===b,index:r,formStageCompleteName:[].concat(j,[e.name]),prevCompleteName:j,uidFieldName:T,style:t({},x.itemStyle,{padding:_+"px 0 "+_+"px 0"}),children:x.children},n+"-"+e.key)})),x.onCustomAddRowButton?x.onCustomAddRowButton(i):L(I,{hidden:x.hiddenAddRowButton,type:"dashed",block:true,onClick:function e(){var r;return i.add(t((r={},r[T]=u(),r),x.getAddRowDefaultValues==null?void 0:x.getAddRowDefaultValues()))},children:"添加"})]})}),L(a,{dropAnimation:{duration:0},children:b&&B?L(C,{isOverlay:true,uid:b,className:"drag-form-list-overlay",formListFieldData:B,dragIcon:x.dragIcon,formListOperate:null,index:0,formStageCompleteName:[].concat(j,[B.name]),prevCompleteName:j,uidFieldName:T,children:x.children},b):null}),L(p.ErrorList,{errors:m?[L("div",{style:{color:"#ff4d4f",padding:"5px"},children:m})]:undefined})]})})]})}})})})};export{k as DragFormList};
12
+ import{classNames as e}from"@dimjs/utils/cjs/class-names";import{hooks as r}from"@wove/react/cjs/hooks";import{_ as t}from"../_rollupPluginBabelHelpers-a0769acd.js";import{DndContext as i,closestCenter as n,DragOverlay as a}from"@dnd-kit/core";import{useSortable as o,SortableContext as d,verticalListSortingStrategy as l,arrayMove as m}from"@dnd-kit/sortable";import{toArray as s,getUuid as u}from"@flatbiz/utils";import{Form as p,Empty as c}from"antd";import{Fragment as f,useState as g,useRef as v,useMemo as h}from"react";import{B as y}from"../index-1f45bfd5.js";import{ButtonWrapper as I}from"../button-wrapper/index.js";import{FormItemGroup as x}from"../form-item-group/index.js";import{TextSymbolWrapper as j}from"../text-symbol-wrapper/index.js";import D from"@ant-design/icons/es/icons/DragOutlined";import{CSS as L}from"@dnd-kit/utilities";import{jsx as b,jsxs as N}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../index-7f4ad045.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/extend";import"../fba-utils/index.js";import"../flex-layout/index.js";function C(i){var n=p.useFormInstance();var a=i.isOverlay?false:i.getItemDragDisabled==null?void 0:i.getItemDragDisabled(i.uid,i.index);var d=o({id:i.uid,disabled:a}),l=d.listeners,m=d.setNodeRef,s=d.transform,u=d.transition;var c=r.useCallbackRef((function(){var e=i.dragIcon?i.dragIcon:b(D,{});return i.dragDisabled?b(f,{}):b("span",t({className:"drag-form-list-item-trigger"},l,{children:b("span",{children:e})}))}));var g=t({transform:L.Transform.toString(s),transition:u},i.style);var v=e("drag-form-list-item",{"drag-form-list-item-grap":i.isGray,"drag-form-list-item-disabled":a},i.className);return N("div",{style:t({},g),ref:m,className:v,children:[b(p.Item,{noStyle:true,children:c()}),b("div",{className:"drag-form-list-item-content",children:i.children({formListFieldData:i.formListFieldData,operation:i.formListOperate,formStageCompleteName:i.formStageCompleteName,index:i.index,getInsideFormItemName:function e(r){return[i.formListFieldData.name,r]},getInsideFormItemData:function e(){return n.getFieldValue(i.formStageCompleteName)||{}},prevCompleteName:i.prevCompleteName,uidKey:i.uidFieldName})})]})}var w=function e(r){if(r.wrapper)return r.wrapper({children:r.children});return r.children};var F=function e(r){var i,n,a;var o=(i=r.formListItemTitleHProps)==null?void 0:i.gap;var d=r.dragDisabled?[]:[{width:35,mainItem:b("div",{style:{marginRight:o===undefined?-15:-o}})}];return b(x.HorizontalUnion,t({},r.formListItemTitleHProps,{style:t({marginBottom:10},(n=r.formListItemTitleHProps)==null?void 0:n.style),groupConfigList:d.concat(((a=r.formListItemTitleList)==null?void 0:a.map((function(e){if(e.required){return{width:e.width,mainItem:b("div",{style:{textAlign:"center"},children:b(j,{text:e.title,symbolType:"required"})})}}return{width:e.width,mainItem:b("div",{style:{textAlign:"center"},children:e.title})}})))||[])}))};var k=function o(x){var j=[].concat(x.prevCompleteName,s(x.name));var D=g(),L=D[0],k=D[1];var R=p.useFormInstance();var S=v([]);var T=x.uidFieldName||"uid";var A=p.useWatch(j,R);var P=r.useCallbackRef((function(e){return e==null?void 0:e[T]}));function E(e){var r=e.active;k(r.id)}var O=r.useCallbackRef((function(){return R.getFieldValue(j)||[]}));function H(e){var r=e.active,t=e.over;var i=O();if(r.id!==t.id){var n=i.findIndex((function(e){return P(e)===r.id}));var a=i.findIndex((function(e){return P(e)===t.id}));var o=m(i,n,a);R.setFields([{name:x.name,value:o}]);x.onDropChange==null?void 0:x.onDropChange(o)}k(undefined)}var B=h((function(){if(!L)return undefined;var e=O();var r=e.findIndex((function(e){return P(e)===L}));return S.current.find((function(e){return e.name===r}))}),[L,O,P]);var _=x.itemGap?x.itemGap/2:8;return b(y,{className:e("drag-form-list",x.className),style:x.style,children:b(i,{collisionDetection:n,onDragStart:E,onDragEnd:H,children:b(p.List,{name:x.name,rules:x.rules,children:function e(r,i,n){var o;var m=n.errors;S.current=r;return N("div",{style:{borderRadius:"6px",border:m!=null&&m.length?"1px solid #ff4d4f":"1px solid transparent"},children:[(o=x.formListItemTitleList)!=null&&o.length?b(F,{formListItemTitleList:x.formListItemTitleList,formListItemTitleHProps:x.formListItemTitleHorizontalUnionProps,dragDisabled:x.dragDisabled}):null,!x.hiddenEmptyRender&&!(A!=null&&A.length)?b(c,{image:c.PRESENTED_IMAGE_SIMPLE,style:{margin:"15px 0"}}):null,b(w,{wrapper:x.formListChildrenWrapper,children:N(f,{children:[b(d,{items:O().map((function(e){return P(e)})),strategy:l,children:N(f,{children:[r.map((function(e,r){var n=P(O()[r]);if(!n)return null;return b(C,{formListOperate:i,formListFieldData:e,uid:n,dragIcon:x.dragIcon,getItemDragDisabled:x.getItemDragDisabled,dragDisabled:x.dragDisabled,isGray:!!n&&n===L,index:r,formStageCompleteName:[].concat(j,[e.name]),prevCompleteName:j,uidFieldName:T,style:t({},x.itemStyle,{padding:_+"px 0 "+_+"px 0"}),children:x.children},n+"-"+e.key)})),x.onCustomAddRowButton?x.onCustomAddRowButton(i):b(I,{hidden:x.hiddenAddRowButton,type:"dashed",block:true,onClick:function e(){var r;return i.add(t((r={},r[T]=u(),r),x.getAddRowDefaultValues==null?void 0:x.getAddRowDefaultValues()))},children:"添加"})]})}),b(a,{dropAnimation:{duration:0},children:L&&B?b(C,{isOverlay:true,uid:L,className:"drag-form-list-overlay",formListFieldData:B,dragIcon:x.dragIcon,formListOperate:null,index:0,formStageCompleteName:[].concat(j,[B.name]),prevCompleteName:j,uidFieldName:T,children:x.children},L):null}),b(p.ErrorList,{errors:m?[b("div",{style:{color:"#ff4d4f",padding:"5px"},children:m})]:undefined})]})})]})}})})})};export{k as DragFormList};
13
13
  //# sourceMappingURL=index.js.map
@@ -15,5 +15,5 @@ import './../table-scrollbar/index.css';
15
15
  import './../table-title-tooltip/index.css';
16
16
  import './index.css';
17
17
  /*! @flatjs/forge MIT @flatbiz/antd */
18
- import{fbaUtils as e}from"../fba-utils/index.js";import{classNames as t}from"@dimjs/utils/cjs/class-names";import{isUndefined as r}from"@dimjs/lang/cjs/is-undefined";import{isArray as i}from"@dimjs/lang/cjs/is-array";import{get as n}from"@dimjs/utils/cjs/get";import{_ as a,a as o}from"../_rollupPluginBabelHelpers-a0769acd.js";import{hooks as l}from"@wove/react/cjs/hooks";import{cloneState as s}from"@dimjs/model";import{Form as u,message as c,Table as d}from"antd";import{createContext as f,forwardRef as p,useState as m,useMemo as g,useRef as v,useImperativeHandle as y,useContext as h,Children as C,Fragment as S}from"react";import{P as b,S as j}from"../index-6677fbfc.js";import{noop as F,isUndefinedOrNull as q,getUuid as z,isMacEnv as x}from"@flatbiz/utils";import{Model as w}from"@dimjs/model-react";import{jsx as R,jsxs as N}from"react/jsx-runtime";import P from"@ant-design/icons/es/icons/DownOutlined";import k from"@ant-design/icons/es/icons/UpOutlined";import{isFragment as T}from"react-is";import{B as D}from"../index-1f45bfd5.js";import{ButtonWrapper as K}from"../button-wrapper/index.js";import{EasyForm as A}from"../easy-form/index.js";import{FormGrid as E}from"../form-grid/index.js";import{fbaHooks as V}from"../fba-hooks/index.js";import{TableScrollbar as B}from"../table-scrollbar/index.js";import{TableTitleTooltip as I}from"../table-title-tooltip/index.js";import{TipsWrapper as L}from"../tips-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../index-7f4ad045.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"@dimjs/utils/cjs/extend";import"../box-grid/index.js";import"@dimjs/lang/cjs/is-number";import"ahooks";import"../form-wrapper/index.js";import"../pre-defined-class-name/index.js";import"../use-responsive-point-21b8c601.js";import"@ant-design/icons/es/icons/QuestionCircleOutlined";var O=f({onRequest:F,tableList:[],getEasyTableRef:function e(){}});var W={queryCondition:{},isInit:true};var _={actions:{updateFilterCondition:function e(t){return function(e){e.queryCondition=a({},e.queryCondition,t)}},resetFilterCondition:function e(t){return function(e){e.queryCondition=a({},W.queryCondition,t)}},updateInitStatus:function e(){return function(e){e.isInit=false}}},state:W};var H={};var U=function e(t){if(!H[t]){H[t]=w(_)}return H[t]};var G=p((function(e,o){var d;var f=m(),p=f[0],h=f[1];var C=m(0),S=C[0],j=C[1];var F=m(false),q=F[0],z=F[1];var x=l.useId(undefined,"easy-table-key");var w=g((function(){if(e.cacheSwitch===true){return location.pathname}if(typeof e.cacheSwitch==="string"){return e.cacheSwitch}return x}),[x,e.cacheSwitch]);var P=U(w).useStore(),k=P[0],T=P[1];var D=e.pageSize||((d=e.initialPaginationParams)==null?void 0:d.pageSize)||10;var K=e.initRequest===undefined?true:e.initRequest;var A=m(false),E=A[0],V=A[1];var B=v();var I=v([]);var L=m(),W=L[0],_=L[1];var H=a({list:"list",total:"total",pageNo:"pageNo",pageSize:"pageSize"},e.fieldNames);var G=u.useForm(e.form),Q=G[0];var Y=l.useCallbackRef((function(t){return new Promise((function(r,a){var o,l,u,d,f,p,m,g,v,y,C,S;var b=function(){try{return r()}catch(e){return a(e)}};var F=function(t){try{z(false);if(e.onRequestErrorHandle){e.onRequestErrorHandle(t)}else{void c.error(t.message)}return b()}catch(e){return a(e)}};try{z(true);return Promise.resolve(T.updateFilterCondition(t)).then((function(t){try{o=t;l=s(o.queryCondition||{});u=e.serviceConfig,d=u.requestParamsAdapter,f=u.onRequest,p=u.requestResultAdapter,m=u.dynamicColumsAdapter;g=d?d(l):l;return Promise.resolve(f(g)).then((function(t){try{v=t||{};B.current=v;e.onDataSourceChange==null?void 0:e.onDataSourceChange(v);y=v;if(p){y=p(v)}if(m){C=m(v,I.current);_(C)}S=n(y,H.list);h(i(S)?S:[]);j(n(y,H.total));z(false);return b()}catch(e){return F(e)}}),F)}catch(e){return F(e)}}),F)}catch(e){F(e)}}))}));var $=l.useCallbackRef((function(e){return new Promise((function(t,r){return Promise.resolve(T.resetFilterCondition()).then((function(i){try{Q.resetFields();if(e){void T.updateFilterCondition(e);Q.setFieldsValue(e)}return t()}catch(e){return r(e)}}),r)}))}));var J=function e(t,r){if(E){var i;return i={},i[H.pageNo]=t,i[H.pageSize]=r||D,i}else{return{}}};var M=l.useCallbackRef((function(t){return new Promise((function(r,i){var n;n=a({},J(1,k.queryCondition[H.pageSize]),e.initialValues,t);return Promise.resolve(T.resetFilterCondition(n)).then((function(e){try{Q.resetFields();if(t){Q.setFieldsValue(t)}void Y(n);return r()}catch(e){return i(e)}}),i)}))}));var X=l.useCallbackRef((function(){return a({},k.queryCondition,Q.getFieldsValue())}));var Z=function t(){return{onRequest:Y,clearQueryCondition:$,getRequestParams:X,onResetRequest:M,form:Q,getDataSource:function e(){return B.current},onFilterDataSource:function e(t){h(t)},onClearDataSource:function e(){j(0);h([])},onUpdateDataSource:function t(r){h(r);B.current=r;e.onDataSourceChange==null?void 0:e.onDataSourceChange(r)}}};y(o,(function(){return Z()}));var ee=function e(t){V(t)};var te=function e(t){I.current=t};var re=function t(){var r=Q.getFieldsValue();if(e.onFormFinish){e.onFormFinish(a({},r,J(1,k.queryCondition[H.pageSize])))}else{void Y(a({},r,J(1,k.queryCondition[H.pageSize])))}};var ie=r(e.isFull)?true:e.isFull;var ne=t("fba-easy-table",{"fba-easy-table-full":ie,"fba-easy-table-filter-fixed":e.filterFixed,"fba-easy-table-pagination-fixed":e.paginationFixed},e.className);var ae=g((function(){return a({showSizeChanger:true,current:k.queryCondition[H.pageNo]||1,pageSize:k.queryCondition[H.pageSize]||D,total:S,showTotal:function e(t){return"共 "+t+" 条记录"}},e.pagination)}),[H.pageNo,H.pageSize,D,e.pagination,k.queryCondition,S]);var oe=l.useCallbackRef((function(t,r){var i,n;void Y((i={},i[H.pageSize]=r,i[H.pageNo]=t,i));(n=e.pagination)==null||n.onChange==null?void 0:n.onChange(t,r)}));var le=t("fba-easy-table-wrapper",{"fba-easy-table-wrapper-inline":e.isInline},e.className);var se=typeof e.children==="function"?e.children(B.current):e.children;return R(O.Provider,{value:{onSetBaseColumns:te,getEasyTableRef:Z,modelKey:w,onRequest:Y,tableDataSource:p,tableTotal:S,loading:q,fieldNames:H,pageSize:D,initRequest:K,initialValues:e.initialValues||{},onSetPaginationStatus:ee,paginationStatus:E,onFormFinish:re,form:Q,paginationFixed:e.paginationFixed||false,foldKeys:e.foldKeys||[],dynamicColumns:W},children:e.paginationFixed?N("div",{className:le,style:e.style,children:[R("div",{className:ne,children:se}),S>0&&R("div",{className:"fba-easy-table-pagination",children:R(b,a({size:"small"},ae,{onChange:oe}))})]}):R("div",{className:le,style:e.style,children:se})})}));var Q=function e(i){var n=h(O);var o=i.queryButtonProps,s=i.resetButtonProps,u=i.filterOperate,c=i.formClassName,d=c===void 0?"":c,f=i.defaultResetButtonTriggerRequest,p=i.filterWrapperStyle,v=i.filterWrapperClassName,y=i.rightOperateAreaAppendType,S=i.easyFormProps;var b=n.modelKey,j=n.foldKeys,F=n.fieldNames,q=n.onRequest,z=n.pageSize,x=n.paginationStatus,w=n.initialValues,V=n.form,B=n.onFormFinish;var I=typeof i.children==="function"?i.children(V):i.children;var L=y||"cover";var W=g((function(){if(T(I)){return C.toArray(I.props.children)}else{return C.toArray(I)}}),[I]);var _=m(false),H=_[0],G=_[1];var Q=U(b).useStore(),Y=Q[0],$=Q[1];var J=l.useCallbackRef((function(){return new Promise((function(e,t){var i;return Promise.resolve($.resetFilterCondition()).then((function(n){try{V.resetFields();if(r(f)||f){if(x){q(a((i={},i[F.pageNo]=1,i[F.pageSize]=z,i),w))}else{q(w)}}return e()}catch(e){return t(e)}}),t)}))}));var M=g((function(){var e=[!(o!=null&&o.hidden)?R(K,a({type:"primary",htmlType:"submit"},o,{children:(o==null?void 0:o.text)||"查询"}),"1"):null,!(s!=null&&s.hidden)?R(K,a({onClick:J},s,{children:(s==null?void 0:s.text)||"重置"}),"2"):null].filter(Boolean);var t=u==null?void 0:u(V);var r=t==null?void 0:t.rightList;var i=(t==null?void 0:t.leftList)||[];var n=e;if(r){if(L==="afterAppend"){n=[].concat(e,r)}else if(L==="beforeAppend"){n=[].concat(r,e)}else{n=r}}if(j.length>0){var l=R(K,{type:"link",style:{padding:"0"},onClick:function e(){G(!H)},children:H?N("span",{children:["收起",R(k,{style:{marginLeft:3,fontSize:12}})]}):N("span",{children:["展开",R(P,{style:{marginLeft:3,fontSize:12}})]})},"fold-trigger");if(n.length>0||i.length===0){n.push(l)}else if((i==null?void 0:i.length)>0){i.push(l)}}return W.map((function(e,t){if(!H&&j.find((function(t){return".$"+t===e.key})))return null;if(e.props["hidden"])return null;if(e.type["domTypeName"]==="FormCol")return e;return R(E.Col,{children:e},t)})).filter(Boolean).concat(R(E.OperateCol,a({},t,{leftList:i,rightList:n}),999))}),[W,u,j,V,J,H,o,s,L]);return R(D,{className:t("easy-table-filter",v),style:p,children:R(A,a({form:V,autoComplete:"off",onFinish:B,initialValues:a({},w,Y.queryCondition),className:d,style:i.formStyle,isPure:true,labelWidth:"80",labelAlign:"right",formItemGap:"15"},S,{children:i.isPure?I:R(E.Row,{gutter:[15,0],gridSize:i.formGridSize,children:M})}))})};var Y=function e(){var t=h(O);return t.getEasyTableRef()};var $=function e(){var t=h(O);return{current:t.getEasyTableRef()}};var J=["children","rowKey","pagination","isSync"],M=["tooltip","tipsWrapperProps","title"];var X=function e(r){var i=h(O);var n=r.children,l=r.rowKey,s=r.pagination,u=r.isSync,c=o(r,J);var f=i.modelKey,p=i.fieldNames,m=i.onRequest,v=i.tableDataSource,y=i.initRequest,C=i.pageSize,b=i.tableTotal,F=i.loading,w=i.initialValues,P=i.paginationFixed,k=i.onSetPaginationStatus,T=i.dynamicColumns;var K=U(f).useStore(),A=K[0],E=K[1];V.useEffectCustom((function(){i.onSetBaseColumns(r.columns||[])}),[r.columns]);var W=g((function(){if(P||s===false)return false;return a({showSizeChanger:true,current:A.queryCondition[p.pageNo]||1,pageSize:A.queryCondition[p.pageSize]||C,total:b,showTotal:function e(t){return"共 "+t+" 条记录"}},r.pagination,{selectComponentClass:j})}),[p.pageNo,p.pageSize,C,s,P,r.pagination,A.queryCondition,b]);var _=function e(t,i,n,a){if(a.action==="paginate"&&W){var o;m((o={},o[p.pageSize]=t.pageSize,o[p.pageNo]=t.current,o))}else{r.onChange==null?void 0:r.onChange(t,i,n,a)}};var H=g((function(){if(!v)return undefined;if(v.length===0){return[]}if(typeof l==="string"&&q(v[0][l])){return v.map((function(e){e[l]=z();return e}))}return v}),[v,l]);V.useEffectCustom((function(){var e=P||W!==false;k(e);if(y!==false||!A.isInit){if(e){var t;void m(a((t={},t[p.pageNo]=1,t[p.pageSize]=C,t),w,A.queryCondition))}else{void m(w)}}else{void E.updateFilterCondition(w)}void E.updateInitStatus()}),[]);var G=g((function(){var e=T?T:r.columns;return e.map((function(e){var t=e.tooltip,r=e.tipsWrapperProps,i=e.title,n=o(e,M);if(typeof i==="string"&&r){if(typeof r==="string"){return a({},n,{title:R(L,{tipType:"popover",popoverProps:{content:r},children:i})})}return a({},n,{title:R(L,a({},r,{children:i}))})}if(typeof i==="string"&&!!t){return a({},n,{title:R(I,{tooltip:t,title:i})})}return e}))}),[T,r.columns]);var Q=function e(){if(u&&!H){return N(S,{children:[n,R(d,{size:"small",scroll:{x:"max-content"},bordered:true,columns:G,rowKey:l,loading:true},"1")]})}if(x()){return N(S,{children:[n,R(d,a({size:"small",scroll:{x:"max-content"},bordered:true},c,{columns:G,pagination:W,rowKey:l,onChange:_,loading:F,dataSource:H}),"2")]})}return N(S,{children:[n,R(B,{children:R(d,a({size:"small",scroll:{x:"max-content"},bordered:true},c,{columns:G,pagination:W,rowKey:l,onChange:_,loading:F,dataSource:H}),"3")})]})};return R(D,{className:t("easy-table-table",{"ett-empty-show-small":r.emptyShowSize==="small"},r.tableWrapperClassName),style:r.tableWrapperStyle,children:Q()})};var Z=e.attachPropertiesToComponent(G,{Filter:Q,Table:X,useEasyTablRef:$,useEasyTable:Y});export{Z as EasyTable};
18
+ import{fbaUtils as e}from"../fba-utils/index.js";import{classNames as t}from"@dimjs/utils/cjs/class-names";import{isUndefined as r}from"@dimjs/lang/cjs/is-undefined";import{isArray as i}from"@dimjs/lang/cjs/is-array";import{get as n}from"@dimjs/utils/cjs/get";import{_ as a,a as o}from"../_rollupPluginBabelHelpers-a0769acd.js";import{hooks as l}from"@wove/react/cjs/hooks";import{cloneState as s}from"@dimjs/model";import{Form as u,message as c,Table as d}from"antd";import{createContext as f,forwardRef as p,useState as m,useMemo as g,useRef as v,useImperativeHandle as y,useContext as h,Children as C,Fragment as S}from"react";import{P as b,S as j}from"../index-6677fbfc.js";import{noop as F,isUndefinedOrNull as q,getUuid as z,isMacEnv as x}from"@flatbiz/utils";import{Model as w}from"@dimjs/model-react";import{jsx as R,jsxs as N}from"react/jsx-runtime";import P from"@ant-design/icons/es/icons/DownOutlined";import k from"@ant-design/icons/es/icons/UpOutlined";import{isFragment as T}from"react-is";import{B as D}from"../index-1f45bfd5.js";import{ButtonWrapper as A}from"../button-wrapper/index.js";import{EasyForm as K}from"../easy-form/index.js";import{u as E}from"../use-responsive-point-21b8c601.js";import{FormGrid as V}from"../form-grid/index.js";import{fbaHooks as B}from"../fba-hooks/index.js";import{TableScrollbar as I}from"../table-scrollbar/index.js";import{TableTitleTooltip as L}from"../table-title-tooltip/index.js";import{TipsWrapper as O}from"../tips-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../index-7f4ad045.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"@dimjs/utils/cjs/extend";import"../box-grid/index.js";import"@dimjs/lang/cjs/is-number";import"ahooks";import"../form-wrapper/index.js";import"../pre-defined-class-name/index.js";import"@ant-design/icons/es/icons/QuestionCircleOutlined";var W=f({onRequest:F,tableList:[],getEasyTableRef:function e(){}});var _={queryCondition:{},isInit:true};var H={actions:{updateFilterCondition:function e(t){return function(e){e.queryCondition=a({},e.queryCondition,t)}},resetFilterCondition:function e(t){return function(e){e.queryCondition=a({},_.queryCondition,t)}},updateInitStatus:function e(){return function(e){e.isInit=false}}},state:_};var U={};var G=function e(t){if(!U[t]){U[t]=w(H)}return U[t]};var Q=p((function(e,o){var d;var f=m(),p=f[0],h=f[1];var C=m(0),S=C[0],j=C[1];var F=m(false),q=F[0],z=F[1];var x=l.useId(undefined,"easy-table-key");var w=g((function(){if(e.cacheSwitch===true){return location.pathname}if(typeof e.cacheSwitch==="string"){return e.cacheSwitch}return x}),[x,e.cacheSwitch]);var P=G(w).useStore(),k=P[0],T=P[1];var D=e.pageSize||((d=e.initialPaginationParams)==null?void 0:d.pageSize)||10;var A=e.initRequest===undefined?true:e.initRequest;var K=m(false),E=K[0],V=K[1];var B=v();var I=v([]);var L=m(),O=L[0],_=L[1];var H=a({list:"list",total:"total",pageNo:"pageNo",pageSize:"pageSize"},e.fieldNames);var U=u.useForm(e.form),Q=U[0];var Y=l.useCallbackRef((function(t){return new Promise((function(r,a){var o,l,u,d,f,p,m,g,v,y,C,S;var b=function(){try{return r()}catch(e){return a(e)}};var F=function(t){try{z(false);if(e.onRequestErrorHandle){e.onRequestErrorHandle(t)}else{void c.error(t.message)}return b()}catch(e){return a(e)}};try{z(true);return Promise.resolve(T.updateFilterCondition(t)).then((function(t){try{o=t;l=s(o.queryCondition||{});u=e.serviceConfig,d=u.requestParamsAdapter,f=u.onRequest,p=u.requestResultAdapter,m=u.dynamicColumsAdapter;g=d?d(l):l;return Promise.resolve(f(g)).then((function(t){try{v=t||{};B.current=v;e.onDataSourceChange==null?void 0:e.onDataSourceChange(v);y=v;if(p){y=p(v)}if(m){C=m(v,I.current);_(C)}S=n(y,H.list);h(i(S)?S:[]);j(n(y,H.total));z(false);return b()}catch(e){return F(e)}}),F)}catch(e){return F(e)}}),F)}catch(e){F(e)}}))}));var $=l.useCallbackRef((function(e){return new Promise((function(t,r){return Promise.resolve(T.resetFilterCondition()).then((function(i){try{Q.resetFields();if(e){void T.updateFilterCondition(e);Q.setFieldsValue(e)}return t()}catch(e){return r(e)}}),r)}))}));var J=function e(t,r){if(E){var i;return i={},i[H.pageNo]=t,i[H.pageSize]=r||D,i}else{return{}}};var M=l.useCallbackRef((function(t){return new Promise((function(r,i){var n;n=a({},J(1,k.queryCondition[H.pageSize]),e.initialValues,t);return Promise.resolve(T.resetFilterCondition(n)).then((function(e){try{Q.resetFields();if(t){Q.setFieldsValue(t)}void Y(n);return r()}catch(e){return i(e)}}),i)}))}));var X=l.useCallbackRef((function(){return a({},k.queryCondition,Q.getFieldsValue())}));var Z=function t(){return{onRequest:Y,clearQueryCondition:$,getRequestParams:X,onResetRequest:M,form:Q,getDataSource:function e(){return B.current},onFilterDataSource:function e(t){h(t)},onClearDataSource:function e(){j(0);h([])},onUpdateDataSource:function t(r){h(r);B.current=r;e.onDataSourceChange==null?void 0:e.onDataSourceChange(r)}}};y(o,(function(){return Z()}));var ee=function e(t){V(t)};var te=function e(t){I.current=t};var re=function t(){var r=Q.getFieldsValue();if(e.onFormFinish){e.onFormFinish(a({},r,J(1,k.queryCondition[H.pageSize])))}else{void Y(a({},r,J(1,k.queryCondition[H.pageSize])))}};var ie=r(e.isFull)?true:e.isFull;var ne=t("fba-easy-table",{"fba-easy-table-full":ie,"fba-easy-table-filter-fixed":e.filterFixed,"fba-easy-table-pagination-fixed":e.paginationFixed},e.className);var ae=g((function(){return a({showSizeChanger:true,current:k.queryCondition[H.pageNo]||1,pageSize:k.queryCondition[H.pageSize]||D,total:S,showTotal:function e(t){return"共 "+t+" 条记录"}},e.pagination)}),[H.pageNo,H.pageSize,D,e.pagination,k.queryCondition,S]);var oe=l.useCallbackRef((function(t,r){var i,n;void Y((i={},i[H.pageSize]=r,i[H.pageNo]=t,i));(n=e.pagination)==null||n.onChange==null?void 0:n.onChange(t,r)}));var le=t("fba-easy-table-wrapper",{"fba-easy-table-wrapper-inline":e.isInline},e.className);var se=typeof e.children==="function"?e.children(B.current):e.children;return R(W.Provider,{value:{onSetBaseColumns:te,getEasyTableRef:Z,modelKey:w,onRequest:Y,tableDataSource:p,tableTotal:S,loading:q,fieldNames:H,pageSize:D,initRequest:A,initialValues:e.initialValues||{},onSetPaginationStatus:ee,paginationStatus:E,onFormFinish:re,form:Q,paginationFixed:e.paginationFixed||false,foldKeys:e.foldKeys||[],dynamicColumns:O},children:e.paginationFixed?N("div",{className:le,style:e.style,children:[R("div",{className:ne,children:se}),S>0&&R("div",{className:"fba-easy-table-pagination",children:R(b,a({size:"small"},ae,{onChange:oe}))})]}):R("div",{className:le,style:e.style,children:se})})}));var Y=function e(i){var n=E()||"md";var o=h(W);var s=i.queryButtonProps,u=i.resetButtonProps,c=i.filterOperate,d=i.formClassName,f=d===void 0?"":d,p=i.defaultResetButtonTriggerRequest,v=i.filterWrapperStyle,y=i.filterWrapperClassName,S=i.rightOperateAreaAppendType,b=i.easyFormProps;var j=o.modelKey,F=o.foldKeys,q=o.fieldNames,z=o.onRequest,x=o.pageSize,w=o.paginationStatus,B=o.initialValues,I=o.form,L=o.onFormFinish;var O=typeof i.children==="function"?i.children(I):i.children;var _=S||"cover";var H=g((function(){if(T(O)){return C.toArray(O.props.children)}else{return C.toArray(O)}}),[O]);var U=m(false),Q=U[0],Y=U[1];var $=G(j).useStore(),J=$[0],M=$[1];var X=l.useCallbackRef((function(){return new Promise((function(e,t){var i;return Promise.resolve(M.resetFilterCondition()).then((function(n){try{I.resetFields();if(r(p)||p){if(w){z(a((i={},i[q.pageNo]=1,i[q.pageSize]=x,i),B))}else{z(B)}}return e()}catch(e){return t(e)}}),t)}))}));var Z=g((function(){var e=[!(s!=null&&s.hidden)?R(A,a({type:"primary",htmlType:"submit"},s,{children:(s==null?void 0:s.text)||"查询"}),"1"):null,!(u!=null&&u.hidden)?R(A,a({onClick:X},u,{children:(u==null?void 0:u.text)||"重置"}),"2"):null].filter(Boolean);var t=c==null?void 0:c(I);var r=t==null?void 0:t.rightList;var i=(t==null?void 0:t.leftList)||[];var n=e;if(r){if(_==="afterAppend"){n=[].concat(e,r)}else if(_==="beforeAppend"){n=[].concat(r,e)}else{n=r}}if(F.length>0){var o=R(A,{type:"link",style:{padding:"0"},onClick:function e(){Y(!Q)},children:Q?N("span",{children:["收起",R(k,{style:{marginLeft:3,fontSize:12}})]}):N("span",{children:["展开",R(P,{style:{marginLeft:3,fontSize:12}})]})},"fold-trigger");if(n.length>0||i.length===0){n.push(o)}else if((i==null?void 0:i.length)>0){i.push(o)}}return H.map((function(e,t){if(!Q&&F.find((function(t){return".$"+t===e.key})))return null;if(e.props["hidden"])return null;if(e.type["domTypeName"]==="FormCol")return e;return R(V.Col,{children:e},t)})).filter(Boolean).concat(R(V.OperateCol,a({},t,{leftList:i,rightList:n}),999))}),[H,c,F,I,X,Q,s,u,_]);var ee=n==="xs"?"left":(b==null?void 0:b.labelAlign)||"right";return R(D,{className:t("easy-table-filter",y),style:v,children:R(K,a({form:I,autoComplete:"off",onFinish:L,initialValues:a({},B,J.queryCondition),className:f,style:i.formStyle,isPure:true,labelWidth:"80",formItemGap:"15"},b,{labelAlign:ee,children:i.isPure?O:R(V.Row,{gutter:[15,0],gridSize:i.formGridSize,children:Z})}))})};var $=function e(){var t=h(W);return t.getEasyTableRef()};var J=function e(){var t=h(W);return{current:t.getEasyTableRef()}};var M=["children","rowKey","pagination","isSync"],X=["tooltip","tipsWrapperProps","title"];var Z=function e(r){var i=h(W);var n=r.children,l=r.rowKey,s=r.pagination,u=r.isSync,c=o(r,M);var f=i.modelKey,p=i.fieldNames,m=i.onRequest,v=i.tableDataSource,y=i.initRequest,C=i.pageSize,b=i.tableTotal,F=i.loading,w=i.initialValues,P=i.paginationFixed,k=i.onSetPaginationStatus,T=i.dynamicColumns;var A=G(f).useStore(),K=A[0],E=A[1];B.useEffectCustom((function(){i.onSetBaseColumns(r.columns||[])}),[r.columns]);var V=g((function(){if(P||s===false)return false;return a({showSizeChanger:true,current:K.queryCondition[p.pageNo]||1,pageSize:K.queryCondition[p.pageSize]||C,total:b,showTotal:function e(t){return"共 "+t+" 条记录"}},r.pagination,{selectComponentClass:j})}),[p.pageNo,p.pageSize,C,s,P,r.pagination,K.queryCondition,b]);var _=function e(t,i,n,a){if(a.action==="paginate"&&V){var o;m((o={},o[p.pageSize]=t.pageSize,o[p.pageNo]=t.current,o))}else{r.onChange==null?void 0:r.onChange(t,i,n,a)}};var H=g((function(){if(!v)return undefined;if(v.length===0){return[]}if(typeof l==="string"&&q(v[0][l])){return v.map((function(e){e[l]=z();return e}))}return v}),[v,l]);B.useEffectCustom((function(){var e=P||V!==false;k(e);if(y!==false||!K.isInit){if(e){var t;void m(a((t={},t[p.pageNo]=1,t[p.pageSize]=C,t),w,K.queryCondition))}else{void m(w)}}else{void E.updateFilterCondition(w)}void E.updateInitStatus()}),[]);var U=g((function(){var e=T?T:r.columns;return e.map((function(e){var t=e.tooltip,r=e.tipsWrapperProps,i=e.title,n=o(e,X);if(typeof i==="string"&&r){if(typeof r==="string"){return a({},n,{title:R(O,{tipType:"popover",popoverProps:{content:r},children:i})})}return a({},n,{title:R(O,a({},r,{children:i}))})}if(typeof i==="string"&&!!t){return a({},n,{title:R(L,{tooltip:t,title:i})})}return e}))}),[T,r.columns]);var Q=function e(){if(u&&!H){return N(S,{children:[n,R(d,{size:"small",scroll:{x:"max-content"},bordered:true,columns:U,rowKey:l,loading:true},"1")]})}if(x()){return N(S,{children:[n,R(d,a({size:"small",scroll:{x:"max-content"},bordered:true},c,{columns:U,pagination:V,rowKey:l,onChange:_,loading:F,dataSource:H}),"2")]})}return N(S,{children:[n,R(I,{children:R(d,a({size:"small",scroll:{x:"max-content"},bordered:true},c,{columns:U,pagination:V,rowKey:l,onChange:_,loading:F,dataSource:H}),"3")})]})};return R(D,{className:t("easy-table-table",{"ett-empty-show-small":r.emptyShowSize==="small"},r.tableWrapperClassName),style:r.tableWrapperStyle,children:Q()})};var ee=e.attachPropertiesToComponent(Q,{Filter:Y,Table:Z,useEasyTablRef:J,useEasyTable:$});export{ee as EasyTable};
19
19
  //# sourceMappingURL=index.js.map