@kp-ui/lowcode 1.0.94 → 1.0.96

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 (161) hide show
  1. package/_virtual/virtual_svg-icons-register.js.map +1 -1
  2. package/package.json +5 -5
  3. package/src/api/useFilesystemApi/filesystem/index.js.map +1 -1
  4. package/src/components/CustomRender/components/AttachmentRender.vue2.js.map +1 -1
  5. package/src/components/CustomRender/components/RenderBodyCell.js.map +1 -1
  6. package/src/components/CustomRender/useCustomRender.js.map +1 -1
  7. package/src/components/code-editor/code-modal-editor.vue.js.map +1 -1
  8. package/src/components/code-editor/index.vue2.js.map +1 -1
  9. package/src/components/form-designer/designer.js.map +1 -1
  10. package/src/components/form-designer/form-widget/container-widget/containerMixin.js.map +1 -1
  11. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue.js +22 -22
  12. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue.js.map +1 -1
  13. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue2.js +2 -5
  14. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue2.js.map +1 -1
  15. package/src/components/form-designer/form-widget/container-widget/grid-col-widget.vue.js.map +1 -1
  16. package/src/components/form-designer/form-widget/container-widget/grid-sub-form-widget.vue.js.map +1 -1
  17. package/src/components/form-designer/form-widget/container-widget/grid-widget.vue.js.map +1 -1
  18. package/src/components/form-designer/form-widget/container-widget/index.js.map +1 -1
  19. package/src/components/form-designer/form-widget/container-widget/sub-form-widget.vue.js.map +1 -1
  20. package/src/components/form-designer/form-widget/container-widget/tab-widget.vue.js.map +1 -1
  21. package/src/components/form-designer/form-widget/container-widget/table-cell-widget.vue.js.map +1 -1
  22. package/src/components/form-designer/form-widget/container-widget/table-widget.vue.js.map +1 -1
  23. package/src/components/form-designer/form-widget/container-widget/vf-box-item.vue.js.map +1 -1
  24. package/src/components/form-designer/form-widget/container-widget/vf-box-widget.vue.js.map +1 -1
  25. package/src/components/form-designer/form-widget/container-widget/vf-collapse-widget.vue2.js.map +1 -1
  26. package/src/components/form-designer/form-widget/container-widget/vf-dialog-widget.vue.js.map +1 -1
  27. package/src/components/form-designer/form-widget/container-widget/vf-drawer-widget.vue.js.map +1 -1
  28. package/src/components/form-designer/form-widget/field-widget/attachment-render-widget.vue.js.map +1 -1
  29. package/src/components/form-designer/form-widget/field-widget/bpmn-editor-widget.vue.js.map +1 -1
  30. package/src/components/form-designer/form-widget/field-widget/button-list-widget.vue.js.map +1 -1
  31. package/src/components/form-designer/form-widget/field-widget/button-widget.vue.js.map +1 -1
  32. package/src/components/form-designer/form-widget/field-widget/cascader-widget.vue.js.map +1 -1
  33. package/src/components/form-designer/form-widget/field-widget/checkbox-widget.vue.js.map +1 -1
  34. package/src/components/form-designer/form-widget/field-widget/code-editor-widget.vue.js.map +1 -1
  35. package/src/components/form-designer/form-widget/field-widget/color-widget.vue.js.map +1 -1
  36. package/src/components/form-designer/form-widget/field-widget/date-range-widget.vue.js.map +1 -1
  37. package/src/components/form-designer/form-widget/field-widget/date-widget.vue.js.map +1 -1
  38. package/src/components/form-designer/form-widget/field-widget/divider-widget.vue.js.map +1 -1
  39. package/src/components/form-designer/form-widget/field-widget/diy-compontent-widget.vue.js.map +1 -1
  40. package/src/components/form-designer/form-widget/field-widget/dropdown-widget.vue.js.map +1 -1
  41. package/src/components/form-designer/form-widget/field-widget/fieldMixin.js.map +1 -1
  42. package/src/components/form-designer/form-widget/field-widget/file-upload-widget.vue2.js.map +1 -1
  43. package/src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue.js.map +1 -1
  44. package/src/components/form-designer/form-widget/field-widget/html-text-widget.vue.js.map +1 -1
  45. package/src/components/form-designer/form-widget/field-widget/input-widget.vue.js.map +1 -1
  46. package/src/components/form-designer/form-widget/field-widget/number-widget.vue.js.map +1 -1
  47. package/src/components/form-designer/form-widget/field-widget/radio-widget.vue.js.map +1 -1
  48. package/src/components/form-designer/form-widget/field-widget/rate-widget.vue.js.map +1 -1
  49. package/src/components/form-designer/form-widget/field-widget/rich-editor-widget.vue.js.map +1 -1
  50. package/src/components/form-designer/form-widget/field-widget/select-widget.vue.js.map +1 -1
  51. package/src/components/form-designer/form-widget/field-widget/slider-widget.vue.js.map +1 -1
  52. package/src/components/form-designer/form-widget/field-widget/slot-widget.vue.js.map +1 -1
  53. package/src/components/form-designer/form-widget/field-widget/static-content-wrapper.vue.js.map +1 -1
  54. package/src/components/form-designer/form-widget/field-widget/static-text-widget.vue.js.map +1 -1
  55. package/src/components/form-designer/form-widget/field-widget/switch-widget.vue.js.map +1 -1
  56. package/src/components/form-designer/form-widget/field-widget/textarea-widget.vue.js.map +1 -1
  57. package/src/components/form-designer/form-widget/field-widget/time-range-widget.vue.js.map +1 -1
  58. package/src/components/form-designer/form-widget/field-widget/time-widget.vue.js.map +1 -1
  59. package/src/components/form-designer/form-widget/field-widget/treeSelect-widget.vue.js.map +1 -1
  60. package/src/components/form-designer/form-widget/index.vue.js.map +1 -1
  61. package/src/components/form-designer/index.vue.js +91 -84
  62. package/src/components/form-designer/index.vue.js.map +1 -1
  63. package/src/components/form-designer/refMixinDesign.js.map +1 -1
  64. package/src/components/form-designer/setting-panel/form-setting.vue2.js.map +1 -1
  65. package/src/components/form-designer/setting-panel/index.vue.js.map +1 -1
  66. package/src/components/form-designer/setting-panel/option-items-setting.vue2.js.map +1 -1
  67. package/src/components/form-designer/setting-panel/property-editor/button-list-editor.vue2.js.map +1 -1
  68. package/src/components/form-designer/setting-panel/property-editor/button-position-editor.vue2.js.map +1 -1
  69. package/src/components/form-designer/setting-panel/property-editor/code-editor/code-editor-mode.vue.js.map +1 -1
  70. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-customClass-editor.vue.js.map +1 -1
  71. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-dsEnabled-editor.vue.js.map +1 -1
  72. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-pagination-editor.vue.js.map +1 -1
  73. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-rowKey-editor.vue.js.map +1 -1
  74. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-selections-editor.vue.js.map +1 -1
  75. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-showButtonsColumn-editor.vue.js.map +1 -1
  76. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-showIndex-editor.vue.js.map +1 -1
  77. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-stripe-editor.vue.js.map +1 -1
  78. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableColumns-editor.vue.js +2 -2
  79. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableColumns-editor.vue2.js +70 -74
  80. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableColumns-editor.vue2.js.map +1 -1
  81. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableHeight-editor.vue.js.map +1 -1
  82. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableSize-editor.vue.js.map +1 -1
  83. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableWidth-editor.vue.js.map +1 -1
  84. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-treeDataEnabled-editor.vue.js.map +1 -1
  85. package/src/components/form-designer/setting-panel/property-editor/container-grid/gutter-editor.vue.js.map +1 -1
  86. package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-customClass-editor.vue.js.map +1 -1
  87. package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-tabBarGutter-editor.vue.js.map +1 -1
  88. package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-tabPosition-editor.vue.js.map +1 -1
  89. package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-type-editor.vue.js.map +1 -1
  90. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/bodyStyle-editor.vue2.js.map +1 -1
  91. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/formCode-editor.vue.js.map +1 -1
  92. package/src/components/form-designer/setting-panel/property-editor/customClass-editor.vue.js.map +1 -1
  93. package/src/components/form-designer/setting-panel/property-editor/event-handler/eventMixin.js.map +1 -1
  94. package/src/components/form-designer/setting-panel/property-editor/field-dropdown/dropdown-menuList-editor.vue.js.map +1 -1
  95. package/src/components/form-designer/setting-panel/property-editor/field-select/mode-editor.vue.js.map +1 -1
  96. package/src/components/form-designer/setting-panel/property-editor/max-editor.vue.js.map +1 -1
  97. package/src/components/form-designer/setting-panel/property-editor/maxLength-editor.vue.js.map +1 -1
  98. package/src/components/form-designer/setting-panel/property-editor/min-editor.vue.js.map +1 -1
  99. package/src/components/form-designer/setting-panel/property-editor/minLength-editor.vue.js.map +1 -1
  100. package/src/components/form-designer/setting-panel/property-editor/name-editor.vue.js.map +1 -1
  101. package/src/components/form-designer/setting-panel/property-editor/optionItems-editor.vue.js.map +1 -1
  102. package/src/components/form-designer/setting-panel/property-editor/placement-editor.vue.js.map +1 -1
  103. package/src/components/form-designer/setting-panel/property-editor/propertyMixin.js.map +1 -1
  104. package/src/components/form-designer/setting-panel/property-editor/rightSlotCss-editor.vue.js.map +1 -1
  105. package/src/components/form-designer/toolbar-panel/index.vue.js +2 -2
  106. package/src/components/form-designer/toolbar-panel/index.vue2.js +1 -5
  107. package/src/components/form-designer/toolbar-panel/index.vue2.js.map +1 -1
  108. package/src/components/form-designer/widget-panel/index.vue.js.map +1 -1
  109. package/src/components/form-render/SubmitButtonRender.vue.js.map +1 -1
  110. package/src/components/form-render/container-item/containerItemMixin.js.map +1 -1
  111. package/src/components/form-render/container-item/data-table-item.vue.js +4 -5
  112. package/src/components/form-render/container-item/data-table-item.vue.js.map +1 -1
  113. package/src/components/form-render/container-item/grid-col-item.vue.js.map +1 -1
  114. package/src/components/form-render/container-item/grid-item.vue.js.map +1 -1
  115. package/src/components/form-render/container-item/grid-sub-form-item.vue.js +10 -5
  116. package/src/components/form-render/container-item/grid-sub-form-item.vue.js.map +1 -1
  117. package/src/components/form-render/container-item/index.js.map +1 -1
  118. package/src/components/form-render/container-item/sub-form-item.vue.js.map +1 -1
  119. package/src/components/form-render/container-item/tab-item.vue.js.map +1 -1
  120. package/src/components/form-render/container-item/table-cell-item.vue.js.map +1 -1
  121. package/src/components/form-render/container-item/table-item.vue.js.map +1 -1
  122. package/src/components/form-render/container-item/vf-collapse-item.vue.js.map +1 -1
  123. package/src/components/form-render/dynamic-dialog.vue.js.map +1 -1
  124. package/src/components/form-render/dynamic-drawer.vue.js.map +1 -1
  125. package/src/components/form-render/index.vue.js +120 -106
  126. package/src/components/form-render/index.vue.js.map +1 -1
  127. package/src/components/form-render/refMixin.js.map +1 -1
  128. package/src/components/http-editor/index.vue.js.map +1 -1
  129. package/src/components/public/ActionButtonListDialog.vue.js +10 -10
  130. package/src/components/public/ActionButtonListDialog.vue.js.map +1 -1
  131. package/src/components/public/ActionButtonListDialog.vue2.js +24 -28
  132. package/src/components/public/ActionButtonListDialog.vue2.js.map +1 -1
  133. package/src/components/public/ActionButtonListRender.vue2.js.map +1 -1
  134. package/src/components/public/CustomerModal/CustomerModal.vue2.js.map +1 -1
  135. package/src/components/public/CustomerModal/useCustomerModal.js.map +1 -1
  136. package/src/components/public/QuillEditor/index.vue.js.map +1 -1
  137. package/src/components/public/methoad-item.vue.js.map +1 -1
  138. package/src/components/svg-icon/FileIcon.js.map +1 -1
  139. package/src/hooks/TpfConfirm.js.map +1 -1
  140. package/src/hooks/useFilePreview.js.map +1 -1
  141. package/src/hooks/useLowcode.js.map +1 -1
  142. package/src/lib/vuedraggable/src/core/componentBuilderHelper.js.map +1 -1
  143. package/src/lib/vuedraggable/src/core/componentStructure.js.map +1 -1
  144. package/src/lib/vuedraggable/src/util/string.js.map +1 -1
  145. package/src/lib/vuedraggable/src/vuedraggable.js.map +1 -1
  146. package/src/mixins/useDataTableMixin.js +2 -2
  147. package/src/mixins/useDataTableMixin.js.map +1 -1
  148. package/src/mixins/useSelectMixin.js.map +1 -1
  149. package/src/utils/emitter.js.map +1 -1
  150. package/src/utils/executeFunction.js.map +1 -1
  151. package/src/utils/format.js.map +1 -1
  152. package/src/utils/i18n.js.map +1 -1
  153. package/src/utils/request/fmtHttpParams.js.map +1 -1
  154. package/src/utils/request/handleAxiosError.js.map +1 -1
  155. package/src/utils/request/http.js.map +1 -1
  156. package/src/utils/smart-vue-i18n/index.js.map +1 -1
  157. package/src/utils/smart-vue-i18n/utils.js.map +1 -1
  158. package/src/utils/util.js.map +1 -1
  159. package/src/utils/validators.js.map +1 -1
  160. package/stats.html +1 -1
  161. package/styles/style.css +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sources":["../../../src/utils/util.js"],"sourcesContent":["import Clipboard from 'clipboard';\nimport { getLocat } from '@kp-ui/tool';\nimport { isArray, isEmpty, cloneDeep } from 'lodash-es';\nimport {\n containers,\n advancedFields,\n basicFields,\n customFields\n} from '@/components/form-designer/widget-panel/widgetsConfig.js';\nexport function isNull(value) {\n return value === null || value === undefined;\n}\n\nexport function isNotNull(value) {\n return value !== null && value !== undefined;\n}\n\nexport function isEmptyStr(str) {\n //return (str === undefined) || (!str) || (!/[^\\s]/.test(str));\n return str === undefined || (!str && str !== 0 && str !== '0') || !/[^\\s]/.test(str);\n}\n\nexport const generateId = function () {\n return Math.floor(Math.random() * 100000 + Math.random() * 20000 + Math.random() * 5000);\n};\n\nexport const deepClone = function (origin) {\n return cloneDeep(origin);\n};\n\nexport const overwriteObj = function (obj1, obj2) {\n /* 浅拷贝对象属性,obj2覆盖obj1 */\n // for (let prop in obj2) {\n // if (obj2.hasOwnProperty(prop)) {\n // obj1[prop] = obj2[prop]\n // }\n // }\n\n Object.keys(obj2).forEach(prop => {\n obj1[prop] = obj2[prop];\n });\n};\n\nconst getComTypeMap = type => {\n const allWidgets = [...containers, ...basicFields, ...advancedFields, ...customFields];\n const map = new Map();\n allWidgets.forEach(item => {\n const type = item.type.replace(/-/g, '').toLowerCase();\n map.set(type, item);\n });\n return map.get(type.replace(/-/g, '').toLowerCase());\n};\n\nexport const fmtArray = a => {\n a = a.map(item => {\n item = overwriteDeep(item);\n return item;\n });\n return a;\n};\n\nexport const overwriteDeep = (a, ops) => {\n if (isArray(a)) {\n const res = fmtArray(a);\n return res;\n }\n let b = ops;\n const type = a.type;\n\n if (a.options) {\n if (type) {\n b = getComTypeMap(type) || b;\n }\n }\n\n for (const k in b) {\n if (typeof b[k] === 'object' && b[k] !== null) {\n a[k] = isEmpty(a[k]) ? b[k] : overwriteDeep(a[k], b[k]);\n } else {\n a[k] = a[k] === void 0 ? b[k] : a[k];\n }\n }\n return a;\n};\n\nexport const addWindowResizeHandler = function (handler) {\n const oldHandler = window.onresize;\n if (typeof window.onresize !== 'function') {\n window.onresize = handler;\n } else {\n window.onresize = function () {\n oldHandler();\n handler();\n };\n }\n};\n\nconst createStyleSheet = function () {\n const head = document.head || document.getElementsByTagName('head')[0];\n const style = document.createElement('style');\n style.type = 'text/css';\n head.appendChild(style);\n return style.sheet;\n};\n\nexport const insertCustomCssToHead = function (cssCode, formId = '') {\n const head = document.getElementsByTagName('head')[0];\n // let oldStyle = document.getElementById('vform-custom-css');\n // if (!!oldStyle) {\n // head.removeChild(oldStyle); //先清除后插入!!\n // }\n // if (!!formId) {\n // oldStyle = document.getElementById('vform-custom-css' + '-' + formId);\n // !!oldStyle && head.removeChild(oldStyle); //先清除后插入!!\n // }\n\n const newStyle = document.createElement('style');\n newStyle.type = 'text/css';\n newStyle.rel = 'stylesheet';\n newStyle.id = !!formId ? 'vform-custom-css' + '-' + formId : 'vform-custom-css';\n try {\n newStyle.appendChild(document.createTextNode(cssCode));\n } catch (ex) {\n newStyle.styleSheet.cssText = cssCode;\n }\n\n head.appendChild(newStyle);\n};\n\nexport const insertGlobalFunctionsToHtml = function (functionsCode, formId = '') {\n const bodyEle = document.getElementsByTagName('body')[0];\n // let oldScriptEle = document.getElementById('v_form_global_functions');\n // !!oldScriptEle && bodyEle.removeChild(oldScriptEle); //先清除后插入!!\n // if (!!formId) {\n // oldScriptEle = document.getElementById('v_form_global_functions' + '-' + formId);\n // !!oldScriptEle && bodyEle.removeChild(oldScriptEle); //先清除后插入!!\n // }\n\n const newScriptEle = document.createElement('script');\n newScriptEle.id = !!formId\n ? 'v_form_global_functions' + '-' + formId\n : 'v_form_global_functions';\n newScriptEle.type = 'text/javascript';\n newScriptEle.innerHTML = functionsCode;\n bodyEle.appendChild(newScriptEle);\n};\n\nexport const optionExists = function (optionsObj, optionName) {\n if (!optionsObj) {\n return false;\n }\n\n return Object.keys(optionsObj).indexOf(optionName) > -1;\n};\n\nexport const loadRemoteScript = function (srcPath, callback) {\n /*加载远程js,加载成功后执行回调函数*/\n const sid = encodeURIComponent(srcPath);\n const oldScriptEle = document.getElementById(sid);\n\n if (!oldScriptEle) {\n let s = document.createElement('script');\n s.src = srcPath;\n s.id = sid;\n document.body.appendChild(s);\n\n s.onload = s.onreadystatechange = function (_, isAbort) {\n /* 借鉴自ace.js */\n if (\n isAbort ||\n !s.readyState ||\n s.readyState === 'loaded' ||\n s.readyState === 'complete'\n ) {\n s = s.onload = s.onreadystatechange = null;\n if (!isAbort) {\n callback();\n }\n }\n };\n }\n};\n\nexport function traverseFieldWidgets(\n widgetList,\n handler,\n parent = null,\n staticWidgetsIncluded = false\n) {\n if (!widgetList) {\n return;\n }\n\n widgetList.map(w => {\n if (w.formItemFlag || (w.formItemFlag === false && staticWidgetsIncluded)) {\n handler(w, parent);\n } else if (w.type === 'grid') {\n w.cols.map(col => {\n traverseFieldWidgets(col.widgetList, handler, w, staticWidgetsIncluded);\n });\n } else if (w.type === 'table') {\n w.rows.map(row => {\n row.cols.map(cell => {\n traverseFieldWidgets(cell.widgetList, handler, w, staticWidgetsIncluded);\n });\n });\n } else if (w.type === 'tab') {\n w.tabs.map(tab => {\n traverseFieldWidgets(tab.widgetList, handler, w, staticWidgetsIncluded);\n });\n } else if (w.type === 'sub-form' || w.type === 'grid-sub-form') {\n traverseFieldWidgets(w.widgetList, handler, w, staticWidgetsIncluded);\n } else if (w.category === 'container') {\n //自定义容器\n traverseFieldWidgets(w.widgetList, handler, w, staticWidgetsIncluded);\n }\n });\n}\n\nexport function traverseContainerWidgets(widgetList, handler) {\n if (!widgetList) {\n return;\n }\n\n widgetList.map(w => {\n if (w.category === 'container') {\n handler(w);\n }\n\n if (w.type === 'grid') {\n w.cols.map(col => {\n traverseContainerWidgets(col.widgetList, handler);\n });\n } else if (w.type === 'table') {\n w.rows.map(row => {\n row.cols.map(cell => {\n traverseContainerWidgets(cell.widgetList, handler);\n });\n });\n } else if (w.type === 'tab') {\n w.tabs.map(tab => {\n traverseContainerWidgets(tab.widgetList, handler);\n });\n } else if (w.type === 'sub-form' || w.type === 'grid-sub-form') {\n traverseContainerWidgets(w.widgetList, handler);\n } else if (w.category === 'container') {\n //自定义容器\n traverseContainerWidgets(w.widgetList, handler);\n }\n });\n}\n\nexport function traverseAllWidgets(widgetList, handler) {\n if (!widgetList) {\n return;\n }\n\n widgetList.map(w => {\n handler(w);\n\n if (w.type === 'grid') {\n w.cols.map(col => {\n handler(col);\n traverseAllWidgets(col.widgetList, handler);\n });\n } else if (w.type === 'table') {\n w.rows.map(row => {\n row.cols.map(cell => {\n handler(cell);\n traverseAllWidgets(cell.widgetList, handler);\n });\n });\n } else if (w.type === 'tab') {\n w.tabs.map(tab => {\n traverseAllWidgets(tab.widgetList, handler);\n });\n } else if (w.type === 'sub-form' || w.type === 'grid-sub-form') {\n traverseAllWidgets(w.widgetList, handler);\n } else if (w.category === 'container') {\n //自定义容器\n traverseAllWidgets(w.widgetList, handler);\n }\n });\n}\n\nfunction handleWidgetForTraverse(widget, handler) {\n if (!!widget.category && widget.category === 'container') {\n traverseFieldWidgetsOfContainer(widget, handler);\n } else if (widget.formItemFlag) {\n handler(widget);\n }\n}\n\n/**\n * 遍历容器内的字段组件\n * @param con\n * @param handler\n */\nexport function traverseFieldWidgetsOfContainer(con, handler) {\n if (con.type === 'grid') {\n con.cols.forEach(col => {\n col.widgetList.forEach(cw => {\n handleWidgetForTraverse(cw, handler);\n });\n });\n } else if (con.type === 'table') {\n con.rows.forEach(row => {\n row.cols.forEach(cell => {\n cell.widgetList.forEach(cw => {\n handleWidgetForTraverse(cw, handler);\n });\n });\n });\n } else if (con.type === 'tab') {\n con.tabs.forEach(tab => {\n tab.widgetList.forEach(cw => {\n handleWidgetForTraverse(cw, handler);\n });\n });\n } else if (con.type === 'sub-form' || con.type === 'grid-sub-form') {\n con.widgetList.forEach(cw => {\n handleWidgetForTraverse(cw, handler);\n });\n } else if (con.category === 'container') {\n //自定义容器\n con.widgetList.forEach(cw => {\n handleWidgetForTraverse(cw, handler);\n });\n }\n}\n\nfunction handleContainerTraverse(widget, fieldHandler, containerHandler) {\n if (!!widget.category && widget.category === 'container') {\n traverseWidgetsOfContainer(widget, fieldHandler, containerHandler);\n } else if (widget.formItemFlag) {\n fieldHandler(widget);\n }\n}\n\n/**\n * 遍历容器内部的字段组件和容器组件\n * @param con\n * @param fieldHandler\n * @param containerHandler\n */\nexport function traverseWidgetsOfContainer(con, fieldHandler, containerHandler) {\n if (con.type === 'grid') {\n con.cols.forEach(col => {\n col.widgetList.forEach(cw => {\n handleContainerTraverse(cw, fieldHandler, containerHandler);\n });\n });\n } else if (con.type === 'table') {\n con.rows.forEach(row => {\n row.cols.forEach(cell => {\n cell.widgetList.forEach(cw => {\n handleContainerTraverse(cw, fieldHandler, containerHandler);\n });\n });\n });\n } else if (con.type === 'tab') {\n con.tabs.forEach(tab => {\n tab.widgetList.forEach(cw => {\n handleContainerTraverse(cw, fieldHandler, containerHandler);\n });\n });\n } else if (con.type === 'sub-form' || con.type === 'grid-sub-form') {\n con.widgetList.forEach(cw => {\n handleContainerTraverse(cw, fieldHandler, containerHandler);\n });\n } else if (con.category === 'container') {\n //自定义容器\n con.widgetList.forEach(cw => {\n handleContainerTraverse(cw, fieldHandler, containerHandler);\n });\n }\n}\n\n/**\n * 获取所有字段组件\n * @param widgetList\n * @param staticWidgetsIncluded 是否包含按钮等静态组件,默认不包含\n * @returns {[]}\n */\nexport function getAllFieldWidgets(widgetList, staticWidgetsIncluded = false) {\n if (!widgetList) {\n return [];\n }\n\n const result = [];\n const handlerFn = w => {\n result.push({\n type: w.type,\n name: w.options.name,\n field: w\n });\n };\n traverseFieldWidgets(widgetList, handlerFn, null, staticWidgetsIncluded);\n\n return result;\n}\n\n/**\n * 获取所有容器组件\n * @param widgetList\n * @returns {[]}\n */\nexport function getAllContainerWidgets(widgetList) {\n if (!widgetList) {\n return [];\n }\n\n const result = [];\n const handlerFn = w => {\n result.push({\n type: w.type,\n name: w.options.name,\n container: w\n });\n };\n traverseContainerWidgets(widgetList, handlerFn);\n\n return result;\n}\n\nexport function getFieldWidgetByName(widgetList, fieldName, staticWidgetsIncluded) {\n if (!widgetList) {\n return null;\n }\n\n let foundWidget = null;\n const handlerFn = widget => {\n if (widget.options.name === fieldName) {\n foundWidget = widget;\n }\n };\n\n traverseFieldWidgets(widgetList, handlerFn, null, staticWidgetsIncluded);\n return foundWidget;\n}\n\nexport function getContainerWidgetByName(widgetList, containerName) {\n if (!widgetList) {\n return null;\n }\n\n let foundContainer = null;\n const handlerFn = con => {\n if (con.options.name === containerName) {\n foundContainer = con;\n }\n };\n\n traverseContainerWidgets(widgetList, handlerFn);\n return foundContainer;\n}\n\nexport function getContainerWidgetById(widgetList, containerId) {\n if (!widgetList) {\n return null;\n }\n\n let foundContainer = null;\n const handlerFn = con => {\n if (con.id === containerId) {\n foundContainer = con;\n }\n };\n\n traverseContainerWidgets(widgetList, handlerFn);\n return foundContainer;\n}\n\nexport function copyToClipboard(content, clickEvent, $message, successMsg, errorMsg) {\n const clipboard = new Clipboard(clickEvent.target, {\n text: () => content\n });\n\n clipboard.on('success', () => {\n $message.success(successMsg);\n clipboard.destroy();\n });\n\n clipboard.on('error', () => {\n $message.error(errorMsg);\n clipboard.destroy();\n });\n\n clipboard.onClick(clickEvent);\n}\n\nexport function getQueryParam(variable) {\n const query = window.location.search.substring(1);\n const vars = query.split('&');\n for (let i = 0; i < vars.length; i++) {\n const pair = vars[i].split('=');\n if (pair[0] == variable) {\n return pair[1];\n }\n }\n\n return undefined;\n}\n\nexport function getDefaultFormConfig() {\n const { formCode = '' } = getLocat();\n\n return {\n // useInnerLogic: true, //使用内置逻辑\n labelWidth: 80,\n labelPosition: 'horizontal', //'left',\n size: '',\n labelAlign: 'right',\n cssCode: '',\n customClass: [],\n\n okButtonLabel: '',\n isEnterSubmit: 0,\n okButtonHidden: '',\n\n cancelButtonHidden: '',\n cancelButtonLabel: '',\n\n functions: '', //全局函数\n layoutType: 'PC',\n // jsonVersion: 3,\n // dataSources: [], //数据源集合\n onFormCreated: '',\n onFormMounted: `\n if(!this.vfCtx) return\n if(!this.vfCtx._id) return\n const type = this.vfCtx.type\n this.setReadMode(type==='view')\n this.onFormDetail().then(res=>{\n this.setFormData({...res})\n })\n `,\n\n onFormDataChange: '',\n cancelButtonHidden: 1,\n okButtonHidden: 1,\n\n onOkButtonClick: `\n this.getFormRef().onFormUpdate().then(()=>{\n this.$message.success('保存成功!');\n })\n `,\n onCancelButtonClick: '',\n\n serveList: {\n vformUpdate: {\n http: {\n url: `/api/tmgc2-mgt/formDefinition/${formCode}/evaluate/formSubmit`,\n method: 'post',\n data: { _id: '${_id}' },\n params: {}\n },\n dataReqHandlerCode: `const d=data.data||{};\\n Object.keys(d).forEach(k=>{\\n if(d[k]==='null'){\\n d[k]=null\\n }\\n })\\nreturn {...data,data:d}`,\n dataHandlerCode: ''\n },\n vformDetail: {\n http: {\n url: `/api/tmgc2-mgt/formDefinition/${formCode}/evaluate/formLoad`,\n method: 'post',\n data: { _id: '${_id}' },\n params: {}\n },\n dataReqHandlerCode: `const d=data.data||{};\\n Object.keys(d).forEach(k=>{\\n if(d[k]==='null'){\\n d[k]=null\\n }\\n })\\nreturn {...data,data:d}`,\n dataHandlerCode: 'return data.data.object||{}'\n }\n }\n };\n}\n\nexport function buildDefaultFormJson() {\n return {\n widgetList: [],\n formConfig: deepClone(getDefaultFormConfig())\n };\n}\n\nexport function cloneFormConfigWithoutEventHandler(formConfig) {\n const newFC = deepClone(formConfig);\n newFC.onFormCreated = '';\n newFC.onFormMounted = '';\n newFC.onFormDataChange = '';\n\n return newFC;\n}\n\n/**\n * 转译选择项数据\n * @param rawData\n * @param widgetType\n * @param labelKey\n * @param valueKey\n * @returns {[]}\n */\nexport function translateOptionItems(rawData, widgetType, labelKey, valueKey) {\n if (['cascader', 'treeSelect', 'select'].includes(widgetType)) {\n // 级联选择不转译\n return deepClone(rawData);\n }\n\n const result = [];\n if (!!rawData && rawData.length > 0) {\n rawData.forEach(ri => {\n result.push({\n label: ri[labelKey],\n value: ri[valueKey]\n });\n });\n }\n\n return rawData; //result;\n}\n\n/**\n * 组装axios请求配置参数\n * @param arrayObj\n * @param DSV\n * @param VFR\n * @returns {{}}\n */\nexport function assembleAxiosConfig(arrayObj, DSV, VFR) {\n const result = {};\n if (!arrayObj || arrayObj.length <= 0) {\n return result;\n }\n\n arrayObj.map(ai => {\n if (ai.type === 'String') {\n result[ai.name] = String(ai.value);\n } else if (ai.type === 'Number') {\n result[ai.name] = Number(ai.value);\n } else if (ai.type === 'Boolean') {\n if (ai.value.toLowerCase() === 'false' || ai.value === '0') {\n result[ai.name] = false;\n } else if (ai.value.toLowerCase() === 'true' || ai.value === '1') {\n result[ai.name] = true;\n } else {\n result[ai.name] = null;\n }\n } else if (ai.type === 'Variable') {\n result[ai.name] = eval(ai.value);\n }\n });\n\n /* 加入如下两行日志打印代码,是为了防止编译打包时DSV、VFR参数被剔除!! begin */\n /* DSV、VFR入参没有在本函数中直接使用到,但在eval表达式中可能被使用到,故需确保DSV、VFR参数始终存在!! */\n console.log('test DSV: ', DSV);\n console.log('test VFR: ', VFR);\n /* 加入如下两行日志打印代码,是为了防止编译打包时DSV、VFR入参会被剔除!! end */\n\n return result;\n}\n\nfunction buildRequestConfig(dataSource, DSV, VFR, isSandbox) {\n const config = {};\n if (dataSource.requestURLType === 'String') {\n config.url = dataSource.requestURL;\n } else {\n config.url = eval(dataSource.requestURL);\n }\n config.method = dataSource.requestMethod;\n\n config.headers = assembleAxiosConfig(dataSource.headers, DSV, VFR);\n config.params = assembleAxiosConfig(dataSource.params, DSV, VFR);\n config.data = assembleAxiosConfig(dataSource.data, DSV, VFR);\n\n const chFn = new Function('config', 'isSandbox', 'DSV', 'VFR', dataSource.configHandlerCode);\n return chFn.call(null, config, isSandbox, DSV, VFR);\n}\n\nexport async function runDataSourceRequest(dataSource, DSV, VFR, isSandbox, $message) {\n try {\n const requestConfig = buildRequestConfig(dataSource, DSV, VFR, isSandbox);\n // const result = await axios.request(requestConfig);\n\n // const dhFn = new Function('result', 'isSandbox', 'DSV', 'VFR', dataSource.dataHandlerCode);\n // return dhFn.call(null, result, isSandbox, DSV, VFR);\n } catch (err) {\n const ehFn = new Function(\n 'error',\n 'isSandbox',\n 'DSV',\n '$message',\n 'VFR',\n dataSource.errorHandlerCode\n );\n ehFn.call(null, err, isSandbox, DSV, $message, VFR);\n console.error(err);\n }\n}\n\nexport function getDSByName(formConfig, dsName) {\n let resultDS = null;\n if (!!dsName && !!formConfig.dataSources) {\n formConfig.dataSources.forEach(ds => {\n if (ds.uniqueName === dsName) {\n resultDS = ds;\n }\n });\n }\n\n return resultDS;\n}\n"],"names":["value","str","origin","obj1","obj2","prop","handler","oldHandler","cssCode","formId","head","newStyle","functionsCode","bodyEle","newScriptEle","widgetList","parent","staticWidgetsIncluded","w","col","row","cell","tab","widget","con","cw","fieldHandler","containerHandler","result","fieldName","foundWidget","containerName","foundContainer","content","clickEvent","$message","successMsg","errorMsg","clipboard","variable","vars","i","pair","formCode","formConfig","newFC","rawData","widgetType","labelKey","valueKey","ri","dataSource","DSV","VFR","isSandbox","requestConfig","err","dsName","resultDS","ds"],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sources":["../../../src/utils/util.js"],"sourcesContent":["import Clipboard from 'clipboard';\nimport { getLocat } from '@kp-ui/tool';\nimport { isArray, isEmpty, cloneDeep } from 'lodash-es';\nimport {\n containers,\n advancedFields,\n basicFields,\n customFields\n} from '@/components/form-designer/widget-panel/widgetsConfig.js';\nexport function isNull(value) {\n return value === null || value === undefined;\n}\n\nexport function isNotNull(value) {\n return value !== null && value !== undefined;\n}\n\nexport function isEmptyStr(str) {\n //return (str === undefined) || (!str) || (!/[^\\s]/.test(str));\n return str === undefined || (!str && str !== 0 && str !== '0') || !/[^\\s]/.test(str);\n}\n\nexport const generateId = function () {\n return Math.floor(Math.random() * 100000 + Math.random() * 20000 + Math.random() * 5000);\n};\n\nexport const deepClone = function (origin) {\n return cloneDeep(origin);\n};\n\nexport const overwriteObj = function (obj1, obj2) {\n /* 浅拷贝对象属性,obj2覆盖obj1 */\n // for (let prop in obj2) {\n // if (obj2.hasOwnProperty(prop)) {\n // obj1[prop] = obj2[prop]\n // }\n // }\n\n Object.keys(obj2).forEach(prop => {\n obj1[prop] = obj2[prop];\n });\n};\n\nconst getComTypeMap = type => {\n const allWidgets = [...containers, ...basicFields, ...advancedFields, ...customFields];\n const map = new Map();\n allWidgets.forEach(item => {\n const type = item.type.replace(/-/g, '').toLowerCase();\n map.set(type, item);\n });\n return map.get(type.replace(/-/g, '').toLowerCase());\n};\n\nexport const fmtArray = a => {\n a = a.map(item => {\n item = overwriteDeep(item);\n return item;\n });\n return a;\n};\n\nexport const overwriteDeep = (a, ops) => {\n if (isArray(a)) {\n const res = fmtArray(a);\n return res;\n }\n let b = ops;\n const type = a.type;\n\n if (a.options) {\n if (type) {\n b = getComTypeMap(type) || b;\n }\n }\n\n for (const k in b) {\n if (typeof b[k] === 'object' && b[k] !== null) {\n a[k] = isEmpty(a[k]) ? b[k] : overwriteDeep(a[k], b[k]);\n } else {\n a[k] = a[k] === void 0 ? b[k] : a[k];\n }\n }\n return a;\n};\n\nexport const addWindowResizeHandler = function (handler) {\n const oldHandler = window.onresize;\n if (typeof window.onresize !== 'function') {\n window.onresize = handler;\n } else {\n window.onresize = function () {\n oldHandler();\n handler();\n };\n }\n};\n\nconst createStyleSheet = function () {\n const head = document.head || document.getElementsByTagName('head')[0];\n const style = document.createElement('style');\n style.type = 'text/css';\n head.appendChild(style);\n return style.sheet;\n};\n\nexport const insertCustomCssToHead = function (cssCode, formId = '') {\n const head = document.getElementsByTagName('head')[0];\n // let oldStyle = document.getElementById('vform-custom-css');\n // if (!!oldStyle) {\n // head.removeChild(oldStyle); //先清除后插入!!\n // }\n // if (!!formId) {\n // oldStyle = document.getElementById('vform-custom-css' + '-' + formId);\n // !!oldStyle && head.removeChild(oldStyle); //先清除后插入!!\n // }\n\n const newStyle = document.createElement('style');\n newStyle.type = 'text/css';\n newStyle.rel = 'stylesheet';\n newStyle.id = !!formId ? 'vform-custom-css' + '-' + formId : 'vform-custom-css';\n try {\n newStyle.appendChild(document.createTextNode(cssCode));\n } catch (ex) {\n newStyle.styleSheet.cssText = cssCode;\n }\n\n head.appendChild(newStyle);\n};\n\nexport const insertGlobalFunctionsToHtml = function (functionsCode, formId = '') {\n const bodyEle = document.getElementsByTagName('body')[0];\n // let oldScriptEle = document.getElementById('v_form_global_functions');\n // !!oldScriptEle && bodyEle.removeChild(oldScriptEle); //先清除后插入!!\n // if (!!formId) {\n // oldScriptEle = document.getElementById('v_form_global_functions' + '-' + formId);\n // !!oldScriptEle && bodyEle.removeChild(oldScriptEle); //先清除后插入!!\n // }\n\n const newScriptEle = document.createElement('script');\n newScriptEle.id = !!formId\n ? 'v_form_global_functions' + '-' + formId\n : 'v_form_global_functions';\n newScriptEle.type = 'text/javascript';\n newScriptEle.innerHTML = functionsCode;\n bodyEle.appendChild(newScriptEle);\n};\n\nexport const optionExists = function (optionsObj, optionName) {\n if (!optionsObj) {\n return false;\n }\n\n return Object.keys(optionsObj).indexOf(optionName) > -1;\n};\n\nexport const loadRemoteScript = function (srcPath, callback) {\n /*加载远程js,加载成功后执行回调函数*/\n const sid = encodeURIComponent(srcPath);\n const oldScriptEle = document.getElementById(sid);\n\n if (!oldScriptEle) {\n let s = document.createElement('script');\n s.src = srcPath;\n s.id = sid;\n document.body.appendChild(s);\n\n s.onload = s.onreadystatechange = function (_, isAbort) {\n /* 借鉴自ace.js */\n if (\n isAbort ||\n !s.readyState ||\n s.readyState === 'loaded' ||\n s.readyState === 'complete'\n ) {\n s = s.onload = s.onreadystatechange = null;\n if (!isAbort) {\n callback();\n }\n }\n };\n }\n};\n\nexport function traverseFieldWidgets(\n widgetList,\n handler,\n parent = null,\n staticWidgetsIncluded = false\n) {\n if (!widgetList) {\n return;\n }\n\n widgetList.map(w => {\n if (w.formItemFlag || (w.formItemFlag === false && staticWidgetsIncluded)) {\n handler(w, parent);\n } else if (w.type === 'grid') {\n w.cols.map(col => {\n traverseFieldWidgets(col.widgetList, handler, w, staticWidgetsIncluded);\n });\n } else if (w.type === 'table') {\n w.rows.map(row => {\n row.cols.map(cell => {\n traverseFieldWidgets(cell.widgetList, handler, w, staticWidgetsIncluded);\n });\n });\n } else if (w.type === 'tab') {\n w.tabs.map(tab => {\n traverseFieldWidgets(tab.widgetList, handler, w, staticWidgetsIncluded);\n });\n } else if (w.type === 'sub-form' || w.type === 'grid-sub-form') {\n traverseFieldWidgets(w.widgetList, handler, w, staticWidgetsIncluded);\n } else if (w.category === 'container') {\n //自定义容器\n traverseFieldWidgets(w.widgetList, handler, w, staticWidgetsIncluded);\n }\n });\n}\n\nexport function traverseContainerWidgets(widgetList, handler) {\n if (!widgetList) {\n return;\n }\n\n widgetList.map(w => {\n if (w.category === 'container') {\n handler(w);\n }\n\n if (w.type === 'grid') {\n w.cols.map(col => {\n traverseContainerWidgets(col.widgetList, handler);\n });\n } else if (w.type === 'table') {\n w.rows.map(row => {\n row.cols.map(cell => {\n traverseContainerWidgets(cell.widgetList, handler);\n });\n });\n } else if (w.type === 'tab') {\n w.tabs.map(tab => {\n traverseContainerWidgets(tab.widgetList, handler);\n });\n } else if (w.type === 'sub-form' || w.type === 'grid-sub-form') {\n traverseContainerWidgets(w.widgetList, handler);\n } else if (w.category === 'container') {\n //自定义容器\n traverseContainerWidgets(w.widgetList, handler);\n }\n });\n}\n\nexport function traverseAllWidgets(widgetList, handler) {\n if (!widgetList) {\n return;\n }\n\n widgetList.map(w => {\n handler(w);\n\n if (w.type === 'grid') {\n w.cols.map(col => {\n handler(col);\n traverseAllWidgets(col.widgetList, handler);\n });\n } else if (w.type === 'table') {\n w.rows.map(row => {\n row.cols.map(cell => {\n handler(cell);\n traverseAllWidgets(cell.widgetList, handler);\n });\n });\n } else if (w.type === 'tab') {\n w.tabs.map(tab => {\n traverseAllWidgets(tab.widgetList, handler);\n });\n } else if (w.type === 'sub-form' || w.type === 'grid-sub-form') {\n traverseAllWidgets(w.widgetList, handler);\n } else if (w.category === 'container') {\n //自定义容器\n traverseAllWidgets(w.widgetList, handler);\n }\n });\n}\n\nfunction handleWidgetForTraverse(widget, handler) {\n if (!!widget.category && widget.category === 'container') {\n traverseFieldWidgetsOfContainer(widget, handler);\n } else if (widget.formItemFlag) {\n handler(widget);\n }\n}\n\n/**\n * 遍历容器内的字段组件\n * @param con\n * @param handler\n */\nexport function traverseFieldWidgetsOfContainer(con, handler) {\n if (con.type === 'grid') {\n con.cols.forEach(col => {\n col.widgetList.forEach(cw => {\n handleWidgetForTraverse(cw, handler);\n });\n });\n } else if (con.type === 'table') {\n con.rows.forEach(row => {\n row.cols.forEach(cell => {\n cell.widgetList.forEach(cw => {\n handleWidgetForTraverse(cw, handler);\n });\n });\n });\n } else if (con.type === 'tab') {\n con.tabs.forEach(tab => {\n tab.widgetList.forEach(cw => {\n handleWidgetForTraverse(cw, handler);\n });\n });\n } else if (con.type === 'sub-form' || con.type === 'grid-sub-form') {\n con.widgetList.forEach(cw => {\n handleWidgetForTraverse(cw, handler);\n });\n } else if (con.category === 'container') {\n //自定义容器\n con.widgetList.forEach(cw => {\n handleWidgetForTraverse(cw, handler);\n });\n }\n}\n\nfunction handleContainerTraverse(widget, fieldHandler, containerHandler) {\n if (!!widget.category && widget.category === 'container') {\n traverseWidgetsOfContainer(widget, fieldHandler, containerHandler);\n } else if (widget.formItemFlag) {\n fieldHandler(widget);\n }\n}\n\n/**\n * 遍历容器内部的字段组件和容器组件\n * @param con\n * @param fieldHandler\n * @param containerHandler\n */\nexport function traverseWidgetsOfContainer(con, fieldHandler, containerHandler) {\n if (con.type === 'grid') {\n con.cols.forEach(col => {\n col.widgetList.forEach(cw => {\n handleContainerTraverse(cw, fieldHandler, containerHandler);\n });\n });\n } else if (con.type === 'table') {\n con.rows.forEach(row => {\n row.cols.forEach(cell => {\n cell.widgetList.forEach(cw => {\n handleContainerTraverse(cw, fieldHandler, containerHandler);\n });\n });\n });\n } else if (con.type === 'tab') {\n con.tabs.forEach(tab => {\n tab.widgetList.forEach(cw => {\n handleContainerTraverse(cw, fieldHandler, containerHandler);\n });\n });\n } else if (con.type === 'sub-form' || con.type === 'grid-sub-form') {\n con.widgetList.forEach(cw => {\n handleContainerTraverse(cw, fieldHandler, containerHandler);\n });\n } else if (con.category === 'container') {\n //自定义容器\n con.widgetList.forEach(cw => {\n handleContainerTraverse(cw, fieldHandler, containerHandler);\n });\n }\n}\n\n/**\n * 获取所有字段组件\n * @param widgetList\n * @param staticWidgetsIncluded 是否包含按钮等静态组件,默认不包含\n * @returns {[]}\n */\nexport function getAllFieldWidgets(widgetList, staticWidgetsIncluded = false) {\n if (!widgetList) {\n return [];\n }\n\n const result = [];\n const handlerFn = w => {\n result.push({\n type: w.type,\n name: w.options.name,\n field: w\n });\n };\n traverseFieldWidgets(widgetList, handlerFn, null, staticWidgetsIncluded);\n\n return result;\n}\n\n/**\n * 获取所有容器组件\n * @param widgetList\n * @returns {[]}\n */\nexport function getAllContainerWidgets(widgetList) {\n if (!widgetList) {\n return [];\n }\n\n const result = [];\n const handlerFn = w => {\n result.push({\n type: w.type,\n name: w.options.name,\n container: w\n });\n };\n traverseContainerWidgets(widgetList, handlerFn);\n\n return result;\n}\n\nexport function getFieldWidgetByName(widgetList, fieldName, staticWidgetsIncluded) {\n if (!widgetList) {\n return null;\n }\n\n let foundWidget = null;\n const handlerFn = widget => {\n if (widget.options.name === fieldName) {\n foundWidget = widget;\n }\n };\n\n traverseFieldWidgets(widgetList, handlerFn, null, staticWidgetsIncluded);\n return foundWidget;\n}\n\nexport function getContainerWidgetByName(widgetList, containerName) {\n if (!widgetList) {\n return null;\n }\n\n let foundContainer = null;\n const handlerFn = con => {\n if (con.options.name === containerName) {\n foundContainer = con;\n }\n };\n\n traverseContainerWidgets(widgetList, handlerFn);\n return foundContainer;\n}\n\nexport function getContainerWidgetById(widgetList, containerId) {\n if (!widgetList) {\n return null;\n }\n\n let foundContainer = null;\n const handlerFn = con => {\n if (con.id === containerId) {\n foundContainer = con;\n }\n };\n\n traverseContainerWidgets(widgetList, handlerFn);\n return foundContainer;\n}\n\nexport function copyToClipboard(content, clickEvent, $message, successMsg, errorMsg) {\n const clipboard = new Clipboard(clickEvent.target, {\n text: () => content\n });\n\n clipboard.on('success', () => {\n $message.success(successMsg);\n clipboard.destroy();\n });\n\n clipboard.on('error', () => {\n $message.error(errorMsg);\n clipboard.destroy();\n });\n\n clipboard.onClick(clickEvent);\n}\n\nexport function getQueryParam(variable) {\n const query = window.location.search.substring(1);\n const vars = query.split('&');\n for (let i = 0; i < vars.length; i++) {\n const pair = vars[i].split('=');\n if (pair[0] == variable) {\n return pair[1];\n }\n }\n\n return undefined;\n}\n\nexport function getDefaultFormConfig() {\n const { formCode = '' } = getLocat();\n\n return {\n // useInnerLogic: true, //使用内置逻辑\n labelWidth: 80,\n labelPosition: 'horizontal', //'left',\n size: '',\n labelAlign: 'right',\n cssCode: '',\n customClass: [],\n\n okButtonLabel: '',\n isEnterSubmit: 0,\n okButtonHidden: '',\n\n cancelButtonHidden: '',\n cancelButtonLabel: '',\n\n functions: '', //全局函数\n layoutType: 'PC',\n // jsonVersion: 3,\n // dataSources: [], //数据源集合\n onFormCreated: '',\n onFormMounted: `\n if(!this.vfCtx) return\n if(!this.vfCtx._id) return\n const type = this.vfCtx.type\n this.setReadMode(type==='view')\n this.onFormDetail().then(res=>{\n this.setFormData({...res})\n })\n `,\n\n onFormDataChange: '',\n cancelButtonHidden: 1,\n okButtonHidden: 1,\n\n onOkButtonClick: `\n this.getFormRef().onFormUpdate().then(()=>{\n this.$message.success('保存成功!');\n })\n `,\n onCancelButtonClick: '',\n\n serveList: {\n vformUpdate: {\n http: {\n url: `/api/tmgc2-mgt/formDefinition/${formCode}/evaluate/formSubmit`,\n method: 'post',\n data: { _id: '${_id}' },\n params: {}\n },\n dataReqHandlerCode: `const d=data.data||{};\\n Object.keys(d).forEach(k=>{\\n if(d[k]==='null'){\\n d[k]=null\\n }\\n })\\nreturn {...data,data:d}`,\n dataHandlerCode: ''\n },\n vformDetail: {\n http: {\n url: `/api/tmgc2-mgt/formDefinition/${formCode}/evaluate/formLoad`,\n method: 'post',\n data: { _id: '${_id}' },\n params: {}\n },\n dataReqHandlerCode: `const d=data.data||{};\\n Object.keys(d).forEach(k=>{\\n if(d[k]==='null'){\\n d[k]=null\\n }\\n })\\nreturn {...data,data:d}`,\n dataHandlerCode: 'return data.data.object||{}'\n }\n }\n };\n}\n\nexport function buildDefaultFormJson() {\n return {\n widgetList: [],\n formConfig: deepClone(getDefaultFormConfig())\n };\n}\n\nexport function cloneFormConfigWithoutEventHandler(formConfig) {\n const newFC = deepClone(formConfig);\n newFC.onFormCreated = '';\n newFC.onFormMounted = '';\n newFC.onFormDataChange = '';\n\n return newFC;\n}\n\n/**\n * 转译选择项数据\n * @param rawData\n * @param widgetType\n * @param labelKey\n * @param valueKey\n * @returns {[]}\n */\nexport function translateOptionItems(rawData, widgetType, labelKey, valueKey) {\n if (['cascader', 'treeSelect', 'select'].includes(widgetType)) {\n // 级联选择不转译\n return deepClone(rawData);\n }\n\n const result = [];\n if (!!rawData && rawData.length > 0) {\n rawData.forEach(ri => {\n result.push({\n label: ri[labelKey],\n value: ri[valueKey]\n });\n });\n }\n\n return rawData; //result;\n}\n\n/**\n * 组装axios请求配置参数\n * @param arrayObj\n * @param DSV\n * @param VFR\n * @returns {{}}\n */\nexport function assembleAxiosConfig(arrayObj, DSV, VFR) {\n const result = {};\n if (!arrayObj || arrayObj.length <= 0) {\n return result;\n }\n\n arrayObj.map(ai => {\n if (ai.type === 'String') {\n result[ai.name] = String(ai.value);\n } else if (ai.type === 'Number') {\n result[ai.name] = Number(ai.value);\n } else if (ai.type === 'Boolean') {\n if (ai.value.toLowerCase() === 'false' || ai.value === '0') {\n result[ai.name] = false;\n } else if (ai.value.toLowerCase() === 'true' || ai.value === '1') {\n result[ai.name] = true;\n } else {\n result[ai.name] = null;\n }\n } else if (ai.type === 'Variable') {\n result[ai.name] = eval(ai.value);\n }\n });\n\n /* 加入如下两行日志打印代码,是为了防止编译打包时DSV、VFR参数被剔除!! begin */\n /* DSV、VFR入参没有在本函数中直接使用到,但在eval表达式中可能被使用到,故需确保DSV、VFR参数始终存在!! */\n console.log('test DSV: ', DSV);\n console.log('test VFR: ', VFR);\n /* 加入如下两行日志打印代码,是为了防止编译打包时DSV、VFR入参会被剔除!! end */\n\n return result;\n}\n\nfunction buildRequestConfig(dataSource, DSV, VFR, isSandbox) {\n const config = {};\n if (dataSource.requestURLType === 'String') {\n config.url = dataSource.requestURL;\n } else {\n config.url = eval(dataSource.requestURL);\n }\n config.method = dataSource.requestMethod;\n\n config.headers = assembleAxiosConfig(dataSource.headers, DSV, VFR);\n config.params = assembleAxiosConfig(dataSource.params, DSV, VFR);\n config.data = assembleAxiosConfig(dataSource.data, DSV, VFR);\n\n const chFn = new Function('config', 'isSandbox', 'DSV', 'VFR', dataSource.configHandlerCode);\n return chFn.call(null, config, isSandbox, DSV, VFR);\n}\n\nexport async function runDataSourceRequest(dataSource, DSV, VFR, isSandbox, $message) {\n try {\n const requestConfig = buildRequestConfig(dataSource, DSV, VFR, isSandbox);\n // const result = await axios.request(requestConfig);\n\n // const dhFn = new Function('result', 'isSandbox', 'DSV', 'VFR', dataSource.dataHandlerCode);\n // return dhFn.call(null, result, isSandbox, DSV, VFR);\n } catch (err) {\n const ehFn = new Function(\n 'error',\n 'isSandbox',\n 'DSV',\n '$message',\n 'VFR',\n dataSource.errorHandlerCode\n );\n ehFn.call(null, err, isSandbox, DSV, $message, VFR);\n console.error(err);\n }\n}\n\nexport function getDSByName(formConfig, dsName) {\n let resultDS = null;\n if (!!dsName && !!formConfig.dataSources) {\n formConfig.dataSources.forEach(ds => {\n if (ds.uniqueName === dsName) {\n resultDS = ds;\n }\n });\n }\n\n return resultDS;\n}\n"],"names":["value","str","origin","obj1","obj2","prop","handler","oldHandler","cssCode","formId","head","newStyle","functionsCode","bodyEle","newScriptEle","widgetList","parent","staticWidgetsIncluded","w","col","row","cell","tab","widget","con","cw","fieldHandler","containerHandler","result","fieldName","foundWidget","containerName","foundContainer","content","clickEvent","$message","successMsg","errorMsg","clipboard","variable","vars","i","pair","formCode","formConfig","newFC","rawData","widgetType","labelKey","valueKey","ri","dataSource","DSV","VFR","isSandbox","requestConfig","err","dsName","resultDS","ds"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validators.js","sources":["../../../src/utils/validators.js"],"sourcesContent":["import { isEmptyStr, isNull } from './util';\n\nexport const getRegExp = function (validatorName) {\n const commonRegExp = {\n number: '/^[-]?\\\\d+(\\\\.\\\\d+)?$/',\n letter: '/^[A-Za-z]+$/',\n letterAndNumber: '/^[A-Za-z0-9]+$/',\n mobilePhone: '/^[1][3-9][0-9]{9}$/',\n letterStartNumberIncluded: '/^[A-Za-z]+[A-Za-z\\\\d]*$/',\n noChinese: '/^[^\\u4e00-\\u9fa5]+$/',\n chinese: '/^[\\u4e00-\\u9fa5]+$/',\n email: '/^([-_A-Za-z0-9.]+)@([_A-Za-z0-9]+\\\\.)+[A-Za-z0-9]{2,3}$/',\n url: '/^([hH][tT]{2}[pP]:\\\\/\\\\/|[hH][tT]{2}[pP][sS]:\\\\/\\\\/)(([A-Za-z0-9-~]+)\\\\.)+([A-Za-z0-9-~\\\\/])+$/'\n };\n\n return commonRegExp[validatorName];\n};\n\nconst validateFn = function (validatorName, rule, value, defaultErrorMsg) {\n console.log('rule: ', rule);\n try {\n //空值不校验\n if (isNull(value) || value.length <= 0) {\n return Promise.resolve();\n }\n\n const reg = eval(getRegExp(validatorName));\n\n if (!reg.test(value)) {\n const errTxt = rule.errorMsg || defaultErrorMsg;\n console.log('errTxt: ', errTxt);\n return Promise.reject(errTxt);\n } else {\n return Promise.resolve();\n }\n } catch (error) {\n return Promise.resolve();\n }\n};\n\nconst FormValidators = {\n /* 数字 */\n number(rule, value) {\n return validateFn('number', rule, value, '[' + rule.label + ']包含非数字字符');\n },\n\n /* 字母 */\n letter(rule, value) {\n return validateFn('letter', rule, value, '[' + rule.label + ']包含非字母字符');\n },\n\n /* 字母和数字 */\n letterAndNumber(rule, value) {\n return validateFn('letterAndNumber', rule, value, '[' + rule.label + ']只能输入字母或数字');\n },\n\n /* 手机号码 */\n mobilePhone(rule, value) {\n return validateFn('mobilePhone', rule, value, '[' + rule.label + ']手机号码格式有误');\n },\n\n /* 禁止空白字符开头 */\n noBlankStart(rule, value) {\n //暂未实现\n },\n\n /* 禁止空白字符结尾 */\n noBlankEnd(rule, value) {\n //暂未实现\n },\n\n /* 字母开头,仅可包含数字 */\n letterStartNumberIncluded(rule, value) {\n return validateFn(\n 'letterStartNumberIncluded',\n rule,\n value,\n '[' + rule.label + ']必须以字母开头,可包含数字'\n );\n },\n\n /* 禁止中文输入 */\n noChinese(rule, value) {\n return validateFn('noChinese', rule, value, '[' + rule.label + ']不可输入中文字符');\n },\n\n /* 必须中文输入 */\n chinese(rule, value) {\n return validateFn('chinese', rule, value, '[' + rule.label + ']只能输入中文字符');\n },\n\n /* 电子邮箱 */\n email(rule, value) {\n return validateFn('email', rule, value, '[' + rule.label + ']邮箱格式有误');\n },\n\n /* URL网址 */\n url(rule, value) {\n return validateFn('url', rule, value, '[' + rule.label + ']URL格式有误');\n },\n\n /*测试\n test(rule, value) {\n //空值不校验\n if (isNull(value) || (value.length <= 0)) {\n return Promise.resolve()\n }\n\n if (value < 100) {\n return Promise.reject('[' + rule.label + ']不能小于100')\n } else {\n return Promise.resolve()\n }\n },\n */\n\n regExp(rule, value) {\n //空值不校验\n if (isNull(value) || value.length <= 0) {\n return Promise.resolve();\n }\n\n const pattern = eval(rule.regExp);\n if (!pattern.test(value)) {\n const errTxt = rule.errorMsg || '[' + rule.label + ']invalid value';\n return Promise.reject(errTxt);\n } else {\n return Promise.resolve();\n }\n }\n};\n\nexport default FormValidators;\n"],"names":["validatorName","errTxt","error","rule","value"],"mappings":";AAEY,MAAC,YAAY,SAAUA,GAAe;AAahD,SAZqB;AAAA,IACnB,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,iBAAiB;AAAA,IACjB,aAAa;AAAA,IACb,2BAA2B;AAAA,IAC3B,WAAW;AAAA,IACX,SAAS;AAAA,IACT,OAAO;AAAA,IACP,KAAK;AAAA,EACT,EAEsBA,CAAa;AACnC,GAEM,aAAa,SAAU,eAAe,MAAM,OAAO,iBAAiB;AACxE,UAAQ,IAAI,UAAU,IAAI;AAC1B,MAAI;AAEF,QAAI,OAAO,KAAK,KAAK,MAAM,UAAU;AACnC,aAAO,QAAQ,QAAO;AAGxB,UAAM,MAAM,KAAK,UAAU,aAAa,CAAC;AAEzC,QAAK,IAAI,KAAK,KAAK;AAKjB,aAAO,QAAQ,QAAO;AALF;AACpB,YAAMC,IAAS,KAAK,YAAY;AAChC,qBAAQ,IAAI,YAAYA,CAAM,GACvB,QAAQ,OAAOA,CAAM;AAAA,IAClC;AAAA,EAGA,SAAWC,GAAO;AACd,WAAO,QAAQ,QAAO;AAAA,EAC1B;AACA,GAEM,iBAAiB;AAAA;AAAA,EAErB,OAAOC,GAAMC,GAAO;AAClB,WAAO,WAAW,UAAUD,GAAMC,GAAO,MAAMD,EAAK,QAAQ,UAAU;AAAA,EAC1E;AAAA;AAAA,EAGE,OAAOA,GAAMC,GAAO;AAClB,WAAO,WAAW,UAAUD,GAAMC,GAAO,MAAMD,EAAK,QAAQ,UAAU;AAAA,EAC1E;AAAA;AAAA,EAGE,gBAAgBA,GAAMC,GAAO;AAC3B,WAAO,WAAW,mBAAmBD,GAAMC,GAAO,MAAMD,EAAK,QAAQ,YAAY;AAAA,EACrF;AAAA;AAAA,EAGE,YAAYA,GAAMC,GAAO;AACvB,WAAO,WAAW,eAAeD,GAAMC,GAAO,MAAMD,EAAK,QAAQ,WAAW;AAAA,EAChF;AAAA;AAAA,EAGE,aAAaA,GAAMC,GAAO;AAAA,EAE5B;AAAA;AAAA,EAGE,WAAWD,GAAMC,GAAO;AAAA,EAE1B;AAAA;AAAA,EAGE,0BAA0BD,GAAMC,GAAO;AACrC,WAAO;AAAA,MACL;AAAA,MACAD;AAAA,MACAC;AAAA,MACA,MAAMD,EAAK,QAAQ;AAAA,IACzB;AAAA,EACA;AAAA;AAAA,EAGE,UAAUA,GAAMC,GAAO;AACrB,WAAO,WAAW,aAAaD,GAAMC,GAAO,MAAMD,EAAK,QAAQ,WAAW;AAAA,EAC9E;AAAA;AAAA,EAGE,QAAQA,GAAMC,GAAO;AACnB,WAAO,WAAW,WAAWD,GAAMC,GAAO,MAAMD,EAAK,QAAQ,WAAW;AAAA,EAC5E;AAAA;AAAA,EAGE,MAAMA,GAAMC,GAAO;AACjB,WAAO,WAAW,SAASD,GAAMC,GAAO,MAAMD,EAAK,QAAQ,SAAS;AAAA,EACxE;AAAA;AAAA,EAGE,IAAIA,GAAMC,GAAO;AACf,WAAO,WAAW,OAAOD,GAAMC,GAAO,MAAMD,EAAK,QAAQ,UAAU;AAAA,EACvE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBE,OAAO,MAAM,OAAO;AAElB,QAAI,OAAO,KAAK,KAAK,MAAM,UAAU;AACnC,aAAO,QAAQ,QAAO;AAGxB,UAAM,UAAU,KAAK,KAAK,MAAM;AAChC,QAAK,QAAQ,KAAK,KAAK;AAIrB,aAAO,QAAQ,QAAO;AAJE;AACxB,YAAMF,IAAS,KAAK,YAAY,MAAM,KAAK,QAAQ;AACnD,aAAO,QAAQ,OAAOA,CAAM;AAAA,IAClC;AAAA,EAGA;AACA;"}
1
+ {"version":3,"file":"validators.js","sources":["../../../src/utils/validators.js"],"sourcesContent":["import { isEmptyStr, isNull } from './util';\n\nexport const getRegExp = function (validatorName) {\n const commonRegExp = {\n number: '/^[-]?\\\\d+(\\\\.\\\\d+)?$/',\n letter: '/^[A-Za-z]+$/',\n letterAndNumber: '/^[A-Za-z0-9]+$/',\n mobilePhone: '/^[1][3-9][0-9]{9}$/',\n letterStartNumberIncluded: '/^[A-Za-z]+[A-Za-z\\\\d]*$/',\n noChinese: '/^[^\\u4e00-\\u9fa5]+$/',\n chinese: '/^[\\u4e00-\\u9fa5]+$/',\n email: '/^([-_A-Za-z0-9.]+)@([_A-Za-z0-9]+\\\\.)+[A-Za-z0-9]{2,3}$/',\n url: '/^([hH][tT]{2}[pP]:\\\\/\\\\/|[hH][tT]{2}[pP][sS]:\\\\/\\\\/)(([A-Za-z0-9-~]+)\\\\.)+([A-Za-z0-9-~\\\\/])+$/'\n };\n\n return commonRegExp[validatorName];\n};\n\nconst validateFn = function (validatorName, rule, value, defaultErrorMsg) {\n console.log('rule: ', rule);\n try {\n //空值不校验\n if (isNull(value) || value.length <= 0) {\n return Promise.resolve();\n }\n\n const reg = eval(getRegExp(validatorName));\n\n if (!reg.test(value)) {\n const errTxt = rule.errorMsg || defaultErrorMsg;\n console.log('errTxt: ', errTxt);\n return Promise.reject(errTxt);\n } else {\n return Promise.resolve();\n }\n } catch (error) {\n return Promise.resolve();\n }\n};\n\nconst FormValidators = {\n /* 数字 */\n number(rule, value) {\n return validateFn('number', rule, value, '[' + rule.label + ']包含非数字字符');\n },\n\n /* 字母 */\n letter(rule, value) {\n return validateFn('letter', rule, value, '[' + rule.label + ']包含非字母字符');\n },\n\n /* 字母和数字 */\n letterAndNumber(rule, value) {\n return validateFn('letterAndNumber', rule, value, '[' + rule.label + ']只能输入字母或数字');\n },\n\n /* 手机号码 */\n mobilePhone(rule, value) {\n return validateFn('mobilePhone', rule, value, '[' + rule.label + ']手机号码格式有误');\n },\n\n /* 禁止空白字符开头 */\n noBlankStart(rule, value) {\n //暂未实现\n },\n\n /* 禁止空白字符结尾 */\n noBlankEnd(rule, value) {\n //暂未实现\n },\n\n /* 字母开头,仅可包含数字 */\n letterStartNumberIncluded(rule, value) {\n return validateFn(\n 'letterStartNumberIncluded',\n rule,\n value,\n '[' + rule.label + ']必须以字母开头,可包含数字'\n );\n },\n\n /* 禁止中文输入 */\n noChinese(rule, value) {\n return validateFn('noChinese', rule, value, '[' + rule.label + ']不可输入中文字符');\n },\n\n /* 必须中文输入 */\n chinese(rule, value) {\n return validateFn('chinese', rule, value, '[' + rule.label + ']只能输入中文字符');\n },\n\n /* 电子邮箱 */\n email(rule, value) {\n return validateFn('email', rule, value, '[' + rule.label + ']邮箱格式有误');\n },\n\n /* URL网址 */\n url(rule, value) {\n return validateFn('url', rule, value, '[' + rule.label + ']URL格式有误');\n },\n\n /*测试\n test(rule, value) {\n //空值不校验\n if (isNull(value) || (value.length <= 0)) {\n return Promise.resolve()\n }\n\n if (value < 100) {\n return Promise.reject('[' + rule.label + ']不能小于100')\n } else {\n return Promise.resolve()\n }\n },\n */\n\n regExp(rule, value) {\n //空值不校验\n if (isNull(value) || value.length <= 0) {\n return Promise.resolve();\n }\n\n const pattern = eval(rule.regExp);\n if (!pattern.test(value)) {\n const errTxt = rule.errorMsg || '[' + rule.label + ']invalid value';\n return Promise.reject(errTxt);\n } else {\n return Promise.resolve();\n }\n }\n};\n\nexport default FormValidators;\n"],"names":["validatorName","errTxt","error","rule","value"],"mappings":";AAEY,MAAC,YAAY,SAAUA,GAAe;AAahD,SAZqB;AAAA,IACnB,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,iBAAiB;AAAA,IACjB,aAAa;AAAA,IACb,2BAA2B;AAAA,IAC3B,WAAW;AAAA,IACX,SAAS;AAAA,IACT,OAAO;AAAA,IACP,KAAK;AAAA,EACT,EAEsBA,CAAa;AACnC,GAEM,aAAa,SAAU,eAAe,MAAM,OAAO,iBAAiB;AACxE,UAAQ,IAAI,UAAU,IAAI;AAC1B,MAAI;AAEF,QAAI,OAAO,KAAK,KAAK,MAAM,UAAU;AACnC,aAAO,QAAQ,QAAO;AAGxB,UAAM,MAAM,KAAK,UAAU,aAAa,CAAC;AAEzC,QAAK,IAAI,KAAK,KAAK;AAKjB,aAAO,QAAQ,QAAO;AALF;AACpB,YAAMC,IAAS,KAAK,YAAY;AAChC,qBAAQ,IAAI,YAAYA,CAAM,GACvB,QAAQ,OAAOA,CAAM;AAAA,IAC9B;AAAA,EAGF,SAASC,GAAO;AACd,WAAO,QAAQ,QAAO;AAAA,EACxB;AACF,GAEM,iBAAiB;AAAA;AAAA,EAErB,OAAOC,GAAMC,GAAO;AAClB,WAAO,WAAW,UAAUD,GAAMC,GAAO,MAAMD,EAAK,QAAQ,UAAU;AAAA,EACxE;AAAA;AAAA,EAGA,OAAOA,GAAMC,GAAO;AAClB,WAAO,WAAW,UAAUD,GAAMC,GAAO,MAAMD,EAAK,QAAQ,UAAU;AAAA,EACxE;AAAA;AAAA,EAGA,gBAAgBA,GAAMC,GAAO;AAC3B,WAAO,WAAW,mBAAmBD,GAAMC,GAAO,MAAMD,EAAK,QAAQ,YAAY;AAAA,EACnF;AAAA;AAAA,EAGA,YAAYA,GAAMC,GAAO;AACvB,WAAO,WAAW,eAAeD,GAAMC,GAAO,MAAMD,EAAK,QAAQ,WAAW;AAAA,EAC9E;AAAA;AAAA,EAGA,aAAaA,GAAMC,GAAO;AAAA,EAE1B;AAAA;AAAA,EAGA,WAAWD,GAAMC,GAAO;AAAA,EAExB;AAAA;AAAA,EAGA,0BAA0BD,GAAMC,GAAO;AACrC,WAAO;AAAA,MACL;AAAA,MACAD;AAAA,MACAC;AAAA,MACA,MAAMD,EAAK,QAAQ;AAAA,IACzB;AAAA,EACE;AAAA;AAAA,EAGA,UAAUA,GAAMC,GAAO;AACrB,WAAO,WAAW,aAAaD,GAAMC,GAAO,MAAMD,EAAK,QAAQ,WAAW;AAAA,EAC5E;AAAA;AAAA,EAGA,QAAQA,GAAMC,GAAO;AACnB,WAAO,WAAW,WAAWD,GAAMC,GAAO,MAAMD,EAAK,QAAQ,WAAW;AAAA,EAC1E;AAAA;AAAA,EAGA,MAAMA,GAAMC,GAAO;AACjB,WAAO,WAAW,SAASD,GAAMC,GAAO,MAAMD,EAAK,QAAQ,SAAS;AAAA,EACtE;AAAA;AAAA,EAGA,IAAIA,GAAMC,GAAO;AACf,WAAO,WAAW,OAAOD,GAAMC,GAAO,MAAMD,EAAK,QAAQ,UAAU;AAAA,EACrE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBA,OAAO,MAAM,OAAO;AAElB,QAAI,OAAO,KAAK,KAAK,MAAM,UAAU;AACnC,aAAO,QAAQ,QAAO;AAGxB,UAAM,UAAU,KAAK,KAAK,MAAM;AAChC,QAAK,QAAQ,KAAK,KAAK;AAIrB,aAAO,QAAQ,QAAO;AAJE;AACxB,YAAMF,IAAS,KAAK,YAAY,MAAM,KAAK,QAAQ;AACnD,aAAO,QAAQ,OAAOA,CAAM;AAAA,IAC9B;AAAA,EAGF;AACF;"}