@pisell/materials 6.11.17 → 6.11.18

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 (457) hide show
  1. package/build/lowcode/assets-daily.json +11 -11
  2. package/build/lowcode/assets-dev.json +2 -2
  3. package/build/lowcode/assets-prod.json +11 -11
  4. package/build/lowcode/index.js +1 -1
  5. package/build/lowcode/meta.js +7 -7
  6. package/build/lowcode/preview.js +9 -9
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +32 -32
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +25 -25
  11. package/es/components/PisellLayouts/index.d.ts +10 -5
  12. package/es/components/PisellLayouts/index.js +8 -4
  13. package/es/components/dataSourceComponents/dataSourceSubForm/index.d.ts +13 -0
  14. package/es/components/dataSourceComponents/dataSourceSubForm/index.js +274 -0
  15. package/es/components/dataSourceComponents/dataSourceSubForm/index.less +19 -0
  16. package/es/components/dataSourceComponents/dataSourceSubForm/schema-full-example.json +544 -0
  17. package/es/components/dataSourceComponents/dataSourceSubForm/schema-simple-example.json +174 -0
  18. package/es/components/dataSourceComponents/dataSourceSubForm/types.d.ts +117 -0
  19. package/es/components/dataSourceComponents/dataSourceSubForm/types.js +1 -0
  20. package/es/components/dataSourceComponents/fields/RecordListWrapper/ReadPretty.d.ts +9 -0
  21. package/es/components/dataSourceComponents/fields/RecordListWrapper/ReadPretty.js +61 -0
  22. package/es/components/dataSourceComponents/fields/RecordListWrapper/WithMode.d.ts +4 -0
  23. package/es/components/dataSourceComponents/fields/RecordListWrapper/WithMode.js +176 -0
  24. package/es/components/dataSourceComponents/fields/RecordListWrapper/index.d.ts +12 -0
  25. package/es/components/dataSourceComponents/fields/RecordListWrapper/index.js +11 -0
  26. package/es/components/dataSourceComponents/fields/RecordListWrapper/type.d.ts +87 -0
  27. package/es/components/dataSourceComponents/fields/RecordListWrapper/type.js +1 -0
  28. package/es/components/dataSourceComponents/fields/Tabs/ReadPretty.d.ts +9 -0
  29. package/es/components/dataSourceComponents/fields/Tabs/ReadPretty.js +16 -0
  30. package/es/components/dataSourceComponents/fields/Tabs/Tabs.d.ts +23 -0
  31. package/es/components/dataSourceComponents/fields/Tabs/Tabs.js +93 -0
  32. package/es/components/dataSourceComponents/fields/Tabs/Tabs.less +64 -0
  33. package/es/components/dataSourceComponents/fields/Tabs/WithMode.d.ts +6 -0
  34. package/es/components/dataSourceComponents/fields/Tabs/WithMode.js +9 -0
  35. package/es/components/dataSourceComponents/fields/Tabs/index.d.ts +12 -0
  36. package/es/components/dataSourceComponents/fields/Tabs/index.js +18 -0
  37. package/es/components/dataSourceComponents/fields/Tabs/type.d.ts +38 -0
  38. package/es/components/dataSourceComponents/fields/Tabs/type.js +1 -0
  39. package/es/components/dataSourceComponents/fields/index.d.ts +39 -1
  40. package/es/components/dataSourceComponents/fields/index.js +5 -1
  41. package/es/components/dataSourceComponents/fields/utils.js +3 -0
  42. package/es/components/pisellFilter/type.d.ts +4 -2
  43. package/es/components/pisellFloorMapLayout/PisellFloorMapLayout.d.ts +12 -0
  44. package/es/components/pisellFloorMapLayout/PisellFloorMapLayout.js +611 -0
  45. package/es/components/pisellFloorMapLayout/PisellFloorMapLayout.less +92 -0
  46. package/es/components/pisellFloorMapLayout/PisellFloorMapLayout.stories.d.ts +55 -0
  47. package/es/components/pisellFloorMapLayout/PisellFloorMapLayout.stories.js +1667 -0
  48. package/es/components/pisellFloorMapLayout/components/CanvasTabs.d.ts +27 -0
  49. package/es/components/pisellFloorMapLayout/components/CanvasTabs.js +203 -0
  50. package/es/components/pisellFloorMapLayout/components/CanvasTabs.less +189 -0
  51. package/es/components/pisellFloorMapLayout/components/EditableItemLayer.d.ts +37 -0
  52. package/es/components/pisellFloorMapLayout/components/EditableItemLayer.js +341 -0
  53. package/es/components/pisellFloorMapLayout/components/EditableItemLayer.less +89 -0
  54. package/es/components/pisellFloorMapLayout/components/FigmaTableCard.d.ts +43 -0
  55. package/es/components/pisellFloorMapLayout/components/FigmaTableCard.js +432 -0
  56. package/es/components/pisellFloorMapLayout/components/FloorMapDataForm.d.ts +21 -0
  57. package/es/components/pisellFloorMapLayout/components/FloorMapDataForm.js +131 -0
  58. package/es/components/pisellFloorMapLayout/components/FloorMapDataForm.less +7 -0
  59. package/es/components/pisellFloorMapLayout/components/FloorMapEditPanel.d.ts +14 -0
  60. package/es/components/pisellFloorMapLayout/components/FloorMapEditPanel.js +543 -0
  61. package/es/components/pisellFloorMapLayout/components/FloorMapEditPanel.less +162 -0
  62. package/es/components/pisellFloorMapLayout/components/FloorMapEditTopBar.d.ts +36 -0
  63. package/es/components/pisellFloorMapLayout/components/FloorMapEditTopBar.js +135 -0
  64. package/es/components/pisellFloorMapLayout/components/FloorMapEditTopBar.less +149 -0
  65. package/es/components/pisellFloorMapLayout/components/FloorMapImageElement.d.ts +9 -0
  66. package/es/components/pisellFloorMapLayout/components/FloorMapImageElement.js +69 -0
  67. package/es/components/pisellFloorMapLayout/components/FloorMapToolbar.d.ts +35 -0
  68. package/es/components/pisellFloorMapLayout/components/FloorMapToolbar.js +366 -0
  69. package/es/components/pisellFloorMapLayout/components/FloorMapToolbar.less +239 -0
  70. package/es/components/pisellFloorMapLayout/components/ItemLayer.d.ts +48 -0
  71. package/es/components/pisellFloorMapLayout/components/ItemLayer.js +195 -0
  72. package/es/components/pisellFloorMapLayout/components/ItemLayer.less +19 -0
  73. package/es/components/pisellFloorMapLayout/components/MapLayer.d.ts +27 -0
  74. package/es/components/pisellFloorMapLayout/components/MapLayer.js +85 -0
  75. package/es/components/pisellFloorMapLayout/components/MapLayer.less +7 -0
  76. package/es/components/pisellFloorMapLayout/components/ViewControls.d.ts +33 -0
  77. package/es/components/pisellFloorMapLayout/components/ViewControls.js +88 -0
  78. package/es/components/pisellFloorMapLayout/components/ViewControls.less +101 -0
  79. package/es/components/pisellFloorMapLayout/components/ViewControlsWithZoom.d.ts +16 -0
  80. package/es/components/pisellFloorMapLayout/components/ViewControlsWithZoom.js +29 -0
  81. package/es/components/pisellFloorMapLayout/components/index.d.ts +21 -0
  82. package/es/components/pisellFloorMapLayout/components/index.js +13 -0
  83. package/es/components/pisellFloorMapLayout/context/FloorMapLayoutContext.d.ts +16 -0
  84. package/es/components/pisellFloorMapLayout/context/FloorMapLayoutContext.js +21 -0
  85. package/es/components/pisellFloorMapLayout/context/mergeFloorMapLayoutContext.d.ts +5 -0
  86. package/es/components/pisellFloorMapLayout/context/mergeFloorMapLayoutContext.js +28 -0
  87. package/es/components/pisellFloorMapLayout/hooks/useFloorMapEditState.d.ts +63 -0
  88. package/es/components/pisellFloorMapLayout/hooks/useFloorMapEditState.js +561 -0
  89. package/es/components/pisellFloorMapLayout/hooks/useFloorMapPaletteTouchDrag.d.ts +21 -0
  90. package/es/components/pisellFloorMapLayout/hooks/useFloorMapPaletteTouchDrag.js +122 -0
  91. package/es/components/pisellFloorMapLayout/hooks/useFloorMapTransformMetrics.d.ts +67 -0
  92. package/es/components/pisellFloorMapLayout/hooks/useFloorMapTransformMetrics.js +399 -0
  93. package/es/components/pisellFloorMapLayout/index.d.ts +15 -0
  94. package/es/components/pisellFloorMapLayout/index.js +12 -0
  95. package/es/components/pisellFloorMapLayout/locales.d.ts +192 -0
  96. package/es/components/pisellFloorMapLayout/locales.js +191 -0
  97. package/es/components/pisellFloorMapLayout/types.d.ts +586 -0
  98. package/es/components/pisellFloorMapLayout/types.js +152 -0
  99. package/es/components/pisellFloorMapLayout/utils/floorMapCanvasDisplay.d.ts +20 -0
  100. package/es/components/pisellFloorMapLayout/utils/floorMapCanvasDisplay.js +129 -0
  101. package/es/components/pisellFloorMapLayout/utils/floorMapConfigMerge.d.ts +8 -0
  102. package/es/components/pisellFloorMapLayout/utils/floorMapConfigMerge.js +87 -0
  103. package/es/components/pisellFloorMapLayout/utils/floorMapDataRecordLabel.d.ts +9 -0
  104. package/es/components/pisellFloorMapLayout/utils/floorMapDataRecordLabel.js +24 -0
  105. package/es/components/pisellFloorMapLayout/utils/floorMapDropUtils.d.ts +27 -0
  106. package/es/components/pisellFloorMapLayout/utils/floorMapDropUtils.js +56 -0
  107. package/es/components/pisellFloorMapLayout/utils/floorMapElementKindUtils.d.ts +22 -0
  108. package/es/components/pisellFloorMapLayout/utils/floorMapElementKindUtils.js +155 -0
  109. package/es/components/pisellFloorMapLayout/utils/floorMapFallbackRender.d.ts +11 -0
  110. package/es/components/pisellFloorMapLayout/utils/floorMapFallbackRender.js +89 -0
  111. package/es/components/pisellFloorMapLayout/utils/floorMapStageDefaults.d.ts +8 -0
  112. package/es/components/pisellFloorMapLayout/utils/floorMapStageDefaults.js +8 -0
  113. package/es/components/pisellFloorMapLayout/utils/floorMapViewConfigDiff.d.ts +8 -0
  114. package/es/components/pisellFloorMapLayout/utils/floorMapViewConfigDiff.js +108 -0
  115. package/es/components/pisellFloorMapLayout/utils/layoutMeasurements.d.ts +30 -0
  116. package/es/components/pisellFloorMapLayout/utils/layoutMeasurements.js +125 -0
  117. package/es/components/pisellFloorMapLayout/utils/mergeCanvasesForTabs.d.ts +7 -0
  118. package/es/components/pisellFloorMapLayout/utils/mergeCanvasesForTabs.js +29 -0
  119. package/es/components/pisellFloorMapLayout/utils/snap.d.ts +10 -0
  120. package/es/components/pisellFloorMapLayout/utils/snap.js +21 -0
  121. package/es/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.d.ts +6 -0
  122. package/es/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.js +175 -0
  123. package/es/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.less +129 -0
  124. package/es/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.stories.d.ts +10 -0
  125. package/es/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.stories.js +237 -0
  126. package/es/components/pisellHierarchicalSummaryList/components/Row.d.ts +35 -0
  127. package/es/components/pisellHierarchicalSummaryList/components/Row.js +313 -0
  128. package/es/components/pisellHierarchicalSummaryList/components/index.d.ts +1 -0
  129. package/es/components/pisellHierarchicalSummaryList/components/index.js +1 -0
  130. package/es/components/pisellHierarchicalSummaryList/hooks/index.d.ts +2 -0
  131. package/es/components/pisellHierarchicalSummaryList/hooks/index.js +1 -0
  132. package/es/components/pisellHierarchicalSummaryList/hooks/useExpandedKeys.d.ts +15 -0
  133. package/es/components/pisellHierarchicalSummaryList/hooks/useExpandedKeys.js +34 -0
  134. package/es/components/pisellHierarchicalSummaryList/index.d.ts +5 -0
  135. package/es/components/pisellHierarchicalSummaryList/index.js +5 -0
  136. package/es/components/pisellHierarchicalSummaryList/types.d.ts +248 -0
  137. package/es/components/pisellHierarchicalSummaryList/types.js +1 -0
  138. package/es/components/pisellRecordBoard/PisellRecordBoard.d.ts +2 -1
  139. package/es/components/pisellRecordBoard/PisellRecordBoard.js +98 -18
  140. package/es/components/pisellRecordBoard/PisellRecordBoard.stories.d.ts +4 -0
  141. package/es/components/pisellRecordBoard/PisellRecordBoard.stories.js +1276 -344
  142. package/es/components/pisellRecordBoard/index.d.ts +8 -2
  143. package/es/components/pisellRecordBoard/index.js +4 -2
  144. package/es/components/pisellRecordBoard/shellFrame/ColumnSetting/index.js +1 -3
  145. package/es/components/pisellRecordBoard/shellFrame/FloorMap.d.ts +14 -0
  146. package/es/components/pisellRecordBoard/shellFrame/FloorMap.js +15 -0
  147. package/es/components/pisellRecordBoard/shellFrame/ShellBodyMetaContext.d.ts +16 -0
  148. package/es/components/pisellRecordBoard/shellFrame/ShellBodyMetaContext.js +11 -0
  149. package/es/components/pisellRecordBoard/shellFrame/ToolBar/ToolBarFilter.less +61 -0
  150. package/es/components/pisellRecordBoard/shellFrame/ToolBar/index.d.ts +1 -0
  151. package/es/components/pisellRecordBoard/shellFrame/ToolBar/index.js +69 -11
  152. package/es/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolbar.less +23 -0
  153. package/es/components/pisellRecordBoard/shellFrame/index.d.ts +6 -10
  154. package/es/components/pisellRecordBoard/shellFrame/index.js +111 -20
  155. package/es/components/pisellRecordBoard/shellFrame/shellFrameFloorMap.less +25 -0
  156. package/es/components/pisellRecordBoard/types.d.ts +68 -2
  157. package/es/components/pisellRecordBoard/utils/partitionShellFrameChildren.d.ts +15 -0
  158. package/es/components/pisellRecordBoard/utils/partitionShellFrameChildren.js +57 -0
  159. package/es/components/pisellReservationSchedule/PisellReservationSchedule.d.ts +10 -0
  160. package/es/components/pisellReservationSchedule/PisellReservationSchedule.js +156 -0
  161. package/es/components/pisellReservationSchedule/PisellReservationSchedule.less +88 -0
  162. package/es/components/pisellReservationSchedule/PisellReservationSchedule.stories.d.ts +12 -0
  163. package/es/components/pisellReservationSchedule/PisellReservationSchedule.stories.js +105 -0
  164. package/es/components/pisellReservationSchedule/index.d.ts +2 -0
  165. package/es/components/pisellReservationSchedule/index.js +1 -0
  166. package/es/components/pisellReservationSchedule/locales.d.ts +25 -0
  167. package/es/components/pisellReservationSchedule/locales.js +24 -0
  168. package/es/components/pisellReservationSchedule/types.d.ts +42 -0
  169. package/es/components/pisellReservationSchedule/types.js +1 -0
  170. package/es/components/pisellReservationScheduleBand/PisellReservationScheduleBand.d.ts +10 -0
  171. package/es/components/pisellReservationScheduleBand/PisellReservationScheduleBand.js +94 -0
  172. package/es/components/pisellReservationScheduleBand/PisellReservationScheduleBand.less +66 -0
  173. package/es/components/pisellReservationScheduleBand/PisellReservationScheduleBand.stories.d.ts +16 -0
  174. package/es/components/pisellReservationScheduleBand/PisellReservationScheduleBand.stories.js +197 -0
  175. package/es/components/pisellReservationScheduleBand/index.d.ts +2 -0
  176. package/es/components/pisellReservationScheduleBand/index.js +1 -0
  177. package/es/components/pisellReservationScheduleBand/types.d.ts +49 -0
  178. package/es/components/pisellReservationScheduleBand/types.js +1 -0
  179. package/es/components/pisellShellFrame/PisellShellFrame.less +11 -0
  180. package/es/components/pisellTimeNavigator/PisellTimeNavigator.d.ts +10 -0
  181. package/es/components/pisellTimeNavigator/PisellTimeNavigator.js +787 -0
  182. package/es/components/pisellTimeNavigator/PisellTimeNavigator.less +461 -0
  183. package/es/components/pisellTimeNavigator/PisellTimeNavigator.stories.d.ts +79 -0
  184. package/es/components/pisellTimeNavigator/PisellTimeNavigator.stories.js +290 -0
  185. package/es/components/pisellTimeNavigator/components/BackgroundLayer.d.ts +14 -0
  186. package/es/components/pisellTimeNavigator/components/BackgroundLayer.js +30 -0
  187. package/es/components/pisellTimeNavigator/components/CursorLayer.d.ts +25 -0
  188. package/es/components/pisellTimeNavigator/components/CursorLayer.js +77 -0
  189. package/es/components/pisellTimeNavigator/components/GestureLayer.d.ts +33 -0
  190. package/es/components/pisellTimeNavigator/components/GestureLayer.js +91 -0
  191. package/es/components/pisellTimeNavigator/components/NowButton.d.ts +14 -0
  192. package/es/components/pisellTimeNavigator/components/NowButton.js +38 -0
  193. package/es/components/pisellTimeNavigator/components/ScaleLayer.d.ts +22 -0
  194. package/es/components/pisellTimeNavigator/components/ScaleLayer.js +73 -0
  195. package/es/components/pisellTimeNavigator/components/index.d.ts +5 -0
  196. package/es/components/pisellTimeNavigator/components/index.js +5 -0
  197. package/es/components/pisellTimeNavigator/hooks/index.d.ts +5 -0
  198. package/es/components/pisellTimeNavigator/hooks/index.js +3 -0
  199. package/es/components/pisellTimeNavigator/hooks/useDragInertia.d.ts +14 -0
  200. package/es/components/pisellTimeNavigator/hooks/useDragInertia.js +109 -0
  201. package/es/components/pisellTimeNavigator/hooks/useRealtime.d.ts +5 -0
  202. package/es/components/pisellTimeNavigator/hooks/useRealtime.js +16 -0
  203. package/es/components/pisellTimeNavigator/hooks/useTimeAxis.d.ts +27 -0
  204. package/es/components/pisellTimeNavigator/hooks/useTimeAxis.js +76 -0
  205. package/es/components/pisellTimeNavigator/index.d.ts +5 -0
  206. package/es/components/pisellTimeNavigator/index.js +4 -0
  207. package/es/components/pisellTimeNavigator/locales.d.ts +22 -0
  208. package/es/components/pisellTimeNavigator/locales.js +21 -0
  209. package/es/components/pisellTimeNavigator/types.d.ts +160 -0
  210. package/es/components/pisellTimeNavigator/types.js +1 -0
  211. package/es/components/pisellTimeNavigator/utils/index.d.ts +30 -0
  212. package/es/components/pisellTimeNavigator/utils/index.js +116 -0
  213. package/es/components/pisellWalletPassCard/index.js +1 -1
  214. package/es/components/table/index.js +1 -1
  215. package/es/index.d.ts +49 -33
  216. package/es/index.js +47 -27
  217. package/es/locales/en-US.d.ts +2 -0
  218. package/es/locales/en-US.js +2 -0
  219. package/es/locales/zh-CN.d.ts +2 -0
  220. package/es/locales/zh-CN.js +2 -0
  221. package/es/locales/zh-TW.d.ts +2 -0
  222. package/es/locales/zh-TW.js +2 -0
  223. package/lib/components/PisellLayouts/index.d.ts +10 -5
  224. package/lib/components/PisellLayouts/index.js +15 -1
  225. package/lib/components/dataSourceComponents/dataSourceSubForm/index.d.ts +13 -0
  226. package/lib/components/dataSourceComponents/dataSourceSubForm/index.js +229 -0
  227. package/lib/components/dataSourceComponents/dataSourceSubForm/index.less +19 -0
  228. package/lib/components/dataSourceComponents/dataSourceSubForm/schema-full-example.json +544 -0
  229. package/lib/components/dataSourceComponents/dataSourceSubForm/schema-simple-example.json +174 -0
  230. package/lib/components/dataSourceComponents/dataSourceSubForm/types.d.ts +117 -0
  231. package/lib/components/dataSourceComponents/dataSourceSubForm/types.js +17 -0
  232. package/lib/components/dataSourceComponents/fields/RecordListWrapper/ReadPretty.d.ts +9 -0
  233. package/lib/components/dataSourceComponents/fields/RecordListWrapper/ReadPretty.js +64 -0
  234. package/lib/components/dataSourceComponents/fields/RecordListWrapper/WithMode.d.ts +4 -0
  235. package/lib/components/dataSourceComponents/fields/RecordListWrapper/WithMode.js +157 -0
  236. package/lib/components/dataSourceComponents/fields/RecordListWrapper/index.d.ts +12 -0
  237. package/lib/components/dataSourceComponents/fields/RecordListWrapper/index.js +40 -0
  238. package/lib/components/dataSourceComponents/fields/RecordListWrapper/type.d.ts +87 -0
  239. package/lib/components/dataSourceComponents/fields/RecordListWrapper/type.js +17 -0
  240. package/lib/components/dataSourceComponents/fields/Tabs/ReadPretty.d.ts +9 -0
  241. package/lib/components/dataSourceComponents/fields/Tabs/ReadPretty.js +45 -0
  242. package/lib/components/dataSourceComponents/fields/Tabs/Tabs.d.ts +23 -0
  243. package/lib/components/dataSourceComponents/fields/Tabs/Tabs.js +95 -0
  244. package/lib/components/dataSourceComponents/fields/Tabs/Tabs.less +64 -0
  245. package/lib/components/dataSourceComponents/fields/Tabs/WithMode.d.ts +6 -0
  246. package/lib/components/dataSourceComponents/fields/Tabs/WithMode.js +39 -0
  247. package/lib/components/dataSourceComponents/fields/Tabs/index.d.ts +12 -0
  248. package/lib/components/dataSourceComponents/fields/Tabs/index.js +40 -0
  249. package/lib/components/dataSourceComponents/fields/Tabs/type.d.ts +38 -0
  250. package/lib/components/dataSourceComponents/fields/Tabs/type.js +17 -0
  251. package/lib/components/dataSourceComponents/fields/index.d.ts +39 -1
  252. package/lib/components/dataSourceComponents/fields/index.js +5 -1
  253. package/lib/components/dataSourceComponents/fields/utils.js +3 -0
  254. package/lib/components/pisellFilter/type.d.ts +4 -2
  255. package/lib/components/pisellFloorMapLayout/PisellFloorMapLayout.d.ts +12 -0
  256. package/lib/components/pisellFloorMapLayout/PisellFloorMapLayout.js +709 -0
  257. package/lib/components/pisellFloorMapLayout/PisellFloorMapLayout.less +92 -0
  258. package/lib/components/pisellFloorMapLayout/PisellFloorMapLayout.stories.d.ts +55 -0
  259. package/lib/components/pisellFloorMapLayout/PisellFloorMapLayout.stories.js +1353 -0
  260. package/lib/components/pisellFloorMapLayout/components/CanvasTabs.d.ts +27 -0
  261. package/lib/components/pisellFloorMapLayout/components/CanvasTabs.js +237 -0
  262. package/lib/components/pisellFloorMapLayout/components/CanvasTabs.less +189 -0
  263. package/lib/components/pisellFloorMapLayout/components/EditableItemLayer.d.ts +37 -0
  264. package/lib/components/pisellFloorMapLayout/components/EditableItemLayer.js +358 -0
  265. package/lib/components/pisellFloorMapLayout/components/EditableItemLayer.less +89 -0
  266. package/lib/components/pisellFloorMapLayout/components/FigmaTableCard.d.ts +43 -0
  267. package/lib/components/pisellFloorMapLayout/components/FigmaTableCard.js +482 -0
  268. package/lib/components/pisellFloorMapLayout/components/FloorMapDataForm.d.ts +21 -0
  269. package/lib/components/pisellFloorMapLayout/components/FloorMapDataForm.js +117 -0
  270. package/lib/components/pisellFloorMapLayout/components/FloorMapDataForm.less +7 -0
  271. package/lib/components/pisellFloorMapLayout/components/FloorMapEditPanel.d.ts +14 -0
  272. package/lib/components/pisellFloorMapLayout/components/FloorMapEditPanel.js +556 -0
  273. package/lib/components/pisellFloorMapLayout/components/FloorMapEditPanel.less +162 -0
  274. package/lib/components/pisellFloorMapLayout/components/FloorMapEditTopBar.d.ts +36 -0
  275. package/lib/components/pisellFloorMapLayout/components/FloorMapEditTopBar.js +195 -0
  276. package/lib/components/pisellFloorMapLayout/components/FloorMapEditTopBar.less +149 -0
  277. package/lib/components/pisellFloorMapLayout/components/FloorMapImageElement.d.ts +9 -0
  278. package/lib/components/pisellFloorMapLayout/components/FloorMapImageElement.js +94 -0
  279. package/lib/components/pisellFloorMapLayout/components/FloorMapToolbar.d.ts +35 -0
  280. package/lib/components/pisellFloorMapLayout/components/FloorMapToolbar.js +337 -0
  281. package/lib/components/pisellFloorMapLayout/components/FloorMapToolbar.less +239 -0
  282. package/lib/components/pisellFloorMapLayout/components/ItemLayer.d.ts +48 -0
  283. package/lib/components/pisellFloorMapLayout/components/ItemLayer.js +219 -0
  284. package/lib/components/pisellFloorMapLayout/components/ItemLayer.less +19 -0
  285. package/lib/components/pisellFloorMapLayout/components/MapLayer.d.ts +27 -0
  286. package/lib/components/pisellFloorMapLayout/components/MapLayer.js +110 -0
  287. package/lib/components/pisellFloorMapLayout/components/MapLayer.less +7 -0
  288. package/lib/components/pisellFloorMapLayout/components/ViewControls.d.ts +33 -0
  289. package/lib/components/pisellFloorMapLayout/components/ViewControls.js +121 -0
  290. package/lib/components/pisellFloorMapLayout/components/ViewControls.less +101 -0
  291. package/lib/components/pisellFloorMapLayout/components/ViewControlsWithZoom.d.ts +16 -0
  292. package/lib/components/pisellFloorMapLayout/components/ViewControlsWithZoom.js +65 -0
  293. package/lib/components/pisellFloorMapLayout/components/index.d.ts +21 -0
  294. package/lib/components/pisellFloorMapLayout/components/index.js +56 -0
  295. package/lib/components/pisellFloorMapLayout/context/FloorMapLayoutContext.d.ts +16 -0
  296. package/lib/components/pisellFloorMapLayout/context/FloorMapLayoutContext.js +54 -0
  297. package/lib/components/pisellFloorMapLayout/context/mergeFloorMapLayoutContext.d.ts +5 -0
  298. package/lib/components/pisellFloorMapLayout/context/mergeFloorMapLayoutContext.js +47 -0
  299. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapEditState.d.ts +63 -0
  300. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapEditState.js +545 -0
  301. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapPaletteTouchDrag.d.ts +21 -0
  302. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapPaletteTouchDrag.js +146 -0
  303. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapTransformMetrics.d.ts +67 -0
  304. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapTransformMetrics.js +382 -0
  305. package/lib/components/pisellFloorMapLayout/index.d.ts +15 -0
  306. package/lib/components/pisellFloorMapLayout/index.js +64 -0
  307. package/lib/components/pisellFloorMapLayout/locales.d.ts +192 -0
  308. package/lib/components/pisellFloorMapLayout/locales.js +212 -0
  309. package/lib/components/pisellFloorMapLayout/types.d.ts +586 -0
  310. package/lib/components/pisellFloorMapLayout/types.js +32 -0
  311. package/lib/components/pisellFloorMapLayout/utils/floorMapCanvasDisplay.d.ts +20 -0
  312. package/lib/components/pisellFloorMapLayout/utils/floorMapCanvasDisplay.js +126 -0
  313. package/lib/components/pisellFloorMapLayout/utils/floorMapConfigMerge.d.ts +8 -0
  314. package/lib/components/pisellFloorMapLayout/utils/floorMapConfigMerge.js +66 -0
  315. package/lib/components/pisellFloorMapLayout/utils/floorMapDataRecordLabel.d.ts +9 -0
  316. package/lib/components/pisellFloorMapLayout/utils/floorMapDataRecordLabel.js +44 -0
  317. package/lib/components/pisellFloorMapLayout/utils/floorMapDropUtils.d.ts +27 -0
  318. package/lib/components/pisellFloorMapLayout/utils/floorMapDropUtils.js +67 -0
  319. package/lib/components/pisellFloorMapLayout/utils/floorMapElementKindUtils.d.ts +22 -0
  320. package/lib/components/pisellFloorMapLayout/utils/floorMapElementKindUtils.js +139 -0
  321. package/lib/components/pisellFloorMapLayout/utils/floorMapFallbackRender.d.ts +11 -0
  322. package/lib/components/pisellFloorMapLayout/utils/floorMapFallbackRender.js +136 -0
  323. package/lib/components/pisellFloorMapLayout/utils/floorMapStageDefaults.d.ts +8 -0
  324. package/lib/components/pisellFloorMapLayout/utils/floorMapStageDefaults.js +33 -0
  325. package/lib/components/pisellFloorMapLayout/utils/floorMapViewConfigDiff.d.ts +8 -0
  326. package/lib/components/pisellFloorMapLayout/utils/floorMapViewConfigDiff.js +128 -0
  327. package/lib/components/pisellFloorMapLayout/utils/layoutMeasurements.d.ts +30 -0
  328. package/lib/components/pisellFloorMapLayout/utils/layoutMeasurements.js +96 -0
  329. package/lib/components/pisellFloorMapLayout/utils/mergeCanvasesForTabs.d.ts +7 -0
  330. package/lib/components/pisellFloorMapLayout/utils/mergeCanvasesForTabs.js +41 -0
  331. package/lib/components/pisellFloorMapLayout/utils/snap.d.ts +10 -0
  332. package/lib/components/pisellFloorMapLayout/utils/snap.js +43 -0
  333. package/lib/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.d.ts +6 -0
  334. package/lib/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.js +179 -0
  335. package/lib/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.less +129 -0
  336. package/lib/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.stories.d.ts +10 -0
  337. package/lib/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.stories.js +185 -0
  338. package/lib/components/pisellHierarchicalSummaryList/components/Row.d.ts +35 -0
  339. package/lib/components/pisellHierarchicalSummaryList/components/Row.js +343 -0
  340. package/lib/components/pisellHierarchicalSummaryList/components/index.d.ts +1 -0
  341. package/lib/components/pisellHierarchicalSummaryList/components/index.js +29 -0
  342. package/lib/components/pisellHierarchicalSummaryList/hooks/index.d.ts +2 -0
  343. package/lib/components/pisellHierarchicalSummaryList/hooks/index.js +29 -0
  344. package/lib/components/pisellHierarchicalSummaryList/hooks/useExpandedKeys.d.ts +15 -0
  345. package/lib/components/pisellHierarchicalSummaryList/hooks/useExpandedKeys.js +49 -0
  346. package/lib/components/pisellHierarchicalSummaryList/index.d.ts +5 -0
  347. package/lib/components/pisellHierarchicalSummaryList/index.js +31 -0
  348. package/lib/components/pisellHierarchicalSummaryList/types.d.ts +248 -0
  349. package/lib/components/pisellHierarchicalSummaryList/types.js +17 -0
  350. package/lib/components/pisellRecordBoard/PisellRecordBoard.d.ts +2 -1
  351. package/lib/components/pisellRecordBoard/PisellRecordBoard.js +86 -8
  352. package/lib/components/pisellRecordBoard/PisellRecordBoard.stories.d.ts +4 -0
  353. package/lib/components/pisellRecordBoard/PisellRecordBoard.stories.js +915 -25
  354. package/lib/components/pisellRecordBoard/index.d.ts +8 -2
  355. package/lib/components/pisellRecordBoard/index.js +6 -2
  356. package/lib/components/pisellRecordBoard/shellFrame/ColumnSetting/index.js +8 -2
  357. package/lib/components/pisellRecordBoard/shellFrame/FloorMap.d.ts +14 -0
  358. package/lib/components/pisellRecordBoard/shellFrame/FloorMap.js +27 -0
  359. package/lib/components/pisellRecordBoard/shellFrame/ShellBodyMetaContext.d.ts +16 -0
  360. package/lib/components/pisellRecordBoard/shellFrame/ShellBodyMetaContext.js +45 -0
  361. package/lib/components/pisellRecordBoard/shellFrame/ToolBar/ToolBarFilter.less +61 -0
  362. package/lib/components/pisellRecordBoard/shellFrame/ToolBar/index.d.ts +1 -0
  363. package/lib/components/pisellRecordBoard/shellFrame/ToolBar/index.js +60 -8
  364. package/lib/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolbar.less +23 -0
  365. package/lib/components/pisellRecordBoard/shellFrame/index.d.ts +6 -10
  366. package/lib/components/pisellRecordBoard/shellFrame/index.js +101 -9
  367. package/lib/components/pisellRecordBoard/shellFrame/shellFrameFloorMap.less +25 -0
  368. package/lib/components/pisellRecordBoard/types.d.ts +68 -2
  369. package/lib/components/pisellRecordBoard/utils/partitionShellFrameChildren.d.ts +15 -0
  370. package/lib/components/pisellRecordBoard/utils/partitionShellFrameChildren.js +88 -0
  371. package/lib/components/pisellReservationSchedule/PisellReservationSchedule.d.ts +10 -0
  372. package/lib/components/pisellReservationSchedule/PisellReservationSchedule.js +200 -0
  373. package/lib/components/pisellReservationSchedule/PisellReservationSchedule.less +88 -0
  374. package/lib/components/pisellReservationSchedule/PisellReservationSchedule.stories.d.ts +12 -0
  375. package/lib/components/pisellReservationSchedule/PisellReservationSchedule.stories.js +116 -0
  376. package/lib/components/pisellReservationSchedule/index.d.ts +2 -0
  377. package/lib/components/pisellReservationSchedule/index.js +29 -0
  378. package/lib/components/pisellReservationSchedule/locales.d.ts +25 -0
  379. package/lib/components/pisellReservationSchedule/locales.js +47 -0
  380. package/lib/components/pisellReservationSchedule/types.d.ts +42 -0
  381. package/lib/components/pisellReservationSchedule/types.js +17 -0
  382. package/lib/components/pisellReservationScheduleBand/PisellReservationScheduleBand.d.ts +10 -0
  383. package/lib/components/pisellReservationScheduleBand/PisellReservationScheduleBand.js +128 -0
  384. package/lib/components/pisellReservationScheduleBand/PisellReservationScheduleBand.less +66 -0
  385. package/lib/components/pisellReservationScheduleBand/PisellReservationScheduleBand.stories.d.ts +16 -0
  386. package/lib/components/pisellReservationScheduleBand/PisellReservationScheduleBand.stories.js +181 -0
  387. package/lib/components/pisellReservationScheduleBand/index.d.ts +2 -0
  388. package/lib/components/pisellReservationScheduleBand/index.js +29 -0
  389. package/lib/components/pisellReservationScheduleBand/types.d.ts +49 -0
  390. package/lib/components/pisellReservationScheduleBand/types.js +17 -0
  391. package/lib/components/pisellShellFrame/PisellShellFrame.less +11 -0
  392. package/lib/components/pisellTimeNavigator/PisellTimeNavigator.d.ts +10 -0
  393. package/lib/components/pisellTimeNavigator/PisellTimeNavigator.js +901 -0
  394. package/lib/components/pisellTimeNavigator/PisellTimeNavigator.less +461 -0
  395. package/lib/components/pisellTimeNavigator/PisellTimeNavigator.stories.d.ts +79 -0
  396. package/lib/components/pisellTimeNavigator/PisellTimeNavigator.stories.js +273 -0
  397. package/lib/components/pisellTimeNavigator/components/BackgroundLayer.d.ts +14 -0
  398. package/lib/components/pisellTimeNavigator/components/BackgroundLayer.js +78 -0
  399. package/lib/components/pisellTimeNavigator/components/CursorLayer.d.ts +25 -0
  400. package/lib/components/pisellTimeNavigator/components/CursorLayer.js +111 -0
  401. package/lib/components/pisellTimeNavigator/components/GestureLayer.d.ts +33 -0
  402. package/lib/components/pisellTimeNavigator/components/GestureLayer.js +170 -0
  403. package/lib/components/pisellTimeNavigator/components/NowButton.d.ts +14 -0
  404. package/lib/components/pisellTimeNavigator/components/NowButton.js +81 -0
  405. package/lib/components/pisellTimeNavigator/components/ScaleLayer.d.ts +22 -0
  406. package/lib/components/pisellTimeNavigator/components/ScaleLayer.js +116 -0
  407. package/lib/components/pisellTimeNavigator/components/index.d.ts +5 -0
  408. package/lib/components/pisellTimeNavigator/components/index.js +41 -0
  409. package/lib/components/pisellTimeNavigator/hooks/index.d.ts +5 -0
  410. package/lib/components/pisellTimeNavigator/hooks/index.js +35 -0
  411. package/lib/components/pisellTimeNavigator/hooks/useDragInertia.d.ts +14 -0
  412. package/lib/components/pisellTimeNavigator/hooks/useDragInertia.js +136 -0
  413. package/lib/components/pisellTimeNavigator/hooks/useRealtime.d.ts +5 -0
  414. package/lib/components/pisellTimeNavigator/hooks/useRealtime.js +49 -0
  415. package/lib/components/pisellTimeNavigator/hooks/useTimeAxis.d.ts +27 -0
  416. package/lib/components/pisellTimeNavigator/hooks/useTimeAxis.js +87 -0
  417. package/lib/components/pisellTimeNavigator/index.d.ts +5 -0
  418. package/lib/components/pisellTimeNavigator/index.js +47 -0
  419. package/lib/components/pisellTimeNavigator/locales.d.ts +22 -0
  420. package/lib/components/pisellTimeNavigator/locales.js +41 -0
  421. package/lib/components/pisellTimeNavigator/types.d.ts +160 -0
  422. package/lib/components/pisellTimeNavigator/types.js +17 -0
  423. package/lib/components/pisellTimeNavigator/utils/index.d.ts +30 -0
  424. package/lib/components/pisellTimeNavigator/utils/index.js +107 -0
  425. package/lib/components/pisellWalletPassCard/index.js +1 -1
  426. package/lib/components/table/index.js +2 -2
  427. package/lib/index.d.ts +49 -33
  428. package/lib/index.js +93 -27
  429. package/lib/locales/en-US.d.ts +2 -0
  430. package/lib/locales/en-US.js +2 -0
  431. package/lib/locales/zh-CN.d.ts +2 -0
  432. package/lib/locales/zh-CN.js +2 -0
  433. package/lib/locales/zh-TW.d.ts +2 -0
  434. package/lib/locales/zh-TW.js +2 -0
  435. package/lowcode/data-source-form/constants.ts +3 -0
  436. package/lowcode/data-source-form/utils.ts +31 -5
  437. package/lowcode/data-source-sub-form/meta.ts +259 -0
  438. package/lowcode/data-source-sub-form/snippets.ts +21 -0
  439. package/lowcode/floor-map-image-element/meta.ts +113 -0
  440. package/lowcode/floor-map-layout-provider/meta.ts +65 -0
  441. package/lowcode/form-item-record-list-wrapper/meta.ts +180 -0
  442. package/lowcode/form-item-record-list-wrapper/snippets.ts +18 -0
  443. package/lowcode/form-item-tabs/meta.ts +172 -0
  444. package/lowcode/pisell-floor-map-layout/meta.ts +5599 -0
  445. package/lowcode/pisell-hierarchical-summary-list/meta.ts +240 -0
  446. package/lowcode/pisell-reservation-schedule/index.ts +3 -0
  447. package/lowcode/pisell-reservation-schedule/meta.ts +69 -0
  448. package/lowcode/pisell-reservation-schedule/snippets.ts +1 -0
  449. package/lowcode/pisell-reservation-schedule-band/index.ts +3 -0
  450. package/lowcode/pisell-reservation-schedule-band/meta.ts +96 -0
  451. package/lowcode/pisell-reservation-schedule-band/snippets.ts +1 -0
  452. package/lowcode/pisell-time-navigator/index.ts +3 -0
  453. package/lowcode/pisell-time-navigator/meta.ts +298 -0
  454. package/lowcode/pisell-time-navigator/snippets.ts +1 -0
  455. package/lowcode/render-figma-style-round-table-card/meta.ts +589 -0
  456. package/lowcode/render-figma-style-table-card/meta.ts +589 -0
  457. package/package.json +3 -2
@@ -0,0 +1,561 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ var _excluded = ["x", "y", "zIndex", "width", "height"];
3
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
4
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
5
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
6
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
7
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
8
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
9
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
11
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
12
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
13
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
14
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
15
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
16
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
17
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
18
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
19
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
20
+ /**
21
+ * 平面图编辑态:草稿配置、画布 Tab、选中、放置模式、落点、侧栏更新/删除/保存记录
22
+ */
23
+ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
24
+ import { message } from 'antd';
25
+ import { locales } from '@pisell/utils';
26
+ import useEngineContext from "../../../hooks/useEngineContext";
27
+ import { createTranslationText } from "../../translation/utils";
28
+ import { mergeCanvasItems } from "../utils/floorMapConfigMerge";
29
+ import { STAGE_DECO_DEFAULT } from "../utils/floorMapStageDefaults";
30
+ import { floorMapViewConfigsEqual, normalizeFloorMapViewConfigFromProp } from "../utils/floorMapViewConfigDiff";
31
+ import { getElementKindConfig, resolveDataBindingPolicy, isFloorMapImageElementKind } from "../utils/floorMapElementKindUtils";
32
+ import { DEFAULT_CELL_SIZE } from "../utils/layoutMeasurements";
33
+ import { initFloorMapLayoutLocales } from "../utils/floorMapCanvasDisplay";
34
+ import { FLOOR_MAP_STAGE_ELEMENT_KIND } from "../types";
35
+ var IMAGE_PLACE_DEFAULT = {
36
+ width: 400,
37
+ height: 240
38
+ };
39
+ var GRID_VIS_STORAGE_PREFIX = 'pisell-floor-map-layout.grid-visible';
40
+ function getGridVisStorageKey(canvasId) {
41
+ return "".concat(GRID_VIS_STORAGE_PREFIX, ":").concat(canvasId);
42
+ }
43
+ function readStoredGridVisible(canvasId) {
44
+ try {
45
+ var raw = localStorage.getItem(getGridVisStorageKey(canvasId));
46
+ if (raw == null) return null;
47
+ if (raw === '1') return true;
48
+ if (raw === '0') return false;
49
+ return null;
50
+ } catch (_unused) {
51
+ return null;
52
+ }
53
+ }
54
+ function writeStoredGridVisible(canvasId, visible) {
55
+ try {
56
+ localStorage.setItem(getGridVisStorageKey(canvasId), visible ? '1' : '0');
57
+ } catch (_unused2) {
58
+ // ignore localStorage failure (private mode / quota / sandbox)
59
+ }
60
+ }
61
+
62
+ /** 批量落位时每条相对上一条的偏移(内容坐标) */
63
+ var BATCH_PLACE_OFFSET = 16;
64
+ function newInstanceId() {
65
+ return "elm_".concat(Date.now(), "_").concat(Math.random().toString(36).slice(2, 9));
66
+ }
67
+ function duplicateBinding(elements, binding, exceptInstanceId) {
68
+ return (elements !== null && elements !== void 0 ? elements : []).some(function (e) {
69
+ var _e$dataBinding, _e$dataBinding2;
70
+ return e.instanceId !== exceptInstanceId && ((_e$dataBinding = e.dataBinding) === null || _e$dataBinding === void 0 ? void 0 : _e$dataBinding.dataSourceKey) === binding.dataSourceKey && ((_e$dataBinding2 = e.dataBinding) === null || _e$dataBinding2 === void 0 ? void 0 : _e$dataBinding2.recordId) === binding.recordId;
71
+ });
72
+ }
73
+ export function useFloorMapEditState(params) {
74
+ var _engineCtx$engine;
75
+ var floorMapConfigProp = params.floorMapConfigProp,
76
+ isFloorMapView = params.isFloorMapView,
77
+ itemsProp = params.itemsProp,
78
+ cellSizeProp = params.cellSizeProp,
79
+ dataSources = params.dataSources,
80
+ onSave = params.onSave,
81
+ onDataSourceRecordSave = params.onDataSourceRecordSave,
82
+ dataSourceFormColumns = params.dataSourceFormColumns,
83
+ dataSourceRecordForm = params.dataSourceRecordForm,
84
+ dataSourceLabels = params.dataSourceLabels,
85
+ layoutPrefix = params.layoutPrefix,
86
+ contentOffsetRef = params.contentOffsetRef,
87
+ showDataSourceRecordFormBlock = params.showDataSourceRecordFormBlock;
88
+ var engineCtx = useEngineContext();
89
+ var engineLocale = (engineCtx === null || engineCtx === void 0 || (_engineCtx$engine = engineCtx.engine) === null || _engineCtx$engine === void 0 || (_engineCtx$engine = _engineCtx$engine.props) === null || _engineCtx$engine === void 0 ? void 0 : _engineCtx$engine.locale) || 'zh-CN';
90
+ var _useState = useState(null),
91
+ _useState2 = _slicedToArray(_useState, 2),
92
+ draftConfig = _useState2[0],
93
+ setDraftConfig = _useState2[1];
94
+ var _useState3 = useState(null),
95
+ _useState4 = _slicedToArray(_useState3, 2),
96
+ currentCanvasId = _useState4[0],
97
+ setCurrentCanvasId = _useState4[1];
98
+ var _useState5 = useState(null),
99
+ _useState6 = _slicedToArray(_useState5, 2),
100
+ selectedId = _useState6[0],
101
+ setSelectedId = _useState6[1];
102
+ var _useState7 = useState(null),
103
+ _useState8 = _slicedToArray(_useState7, 2),
104
+ placeMode = _useState8[0],
105
+ setPlaceMode = _useState8[1];
106
+ var _useState9 = useState(false),
107
+ _useState10 = _slicedToArray(_useState9, 2),
108
+ saving = _useState10[0],
109
+ setSaving = _useState10[1];
110
+ var _useState11 = useState(false),
111
+ _useState12 = _slicedToArray(_useState11, 2),
112
+ savingRecord = _useState12[0],
113
+ setSavingRecord = _useState12[1];
114
+ /**
115
+ * 本地“已提交保存”的基线快照:
116
+ * - 点击「完成编辑/保存」后立即置为当前 draft,避免等待上游 props 回写期间仍显示“未持久化”提示;
117
+ * - 用户后续再改动 draft 时,dirty 会再次为 true。
118
+ */
119
+ var _useState13 = useState(null),
120
+ _useState14 = _slicedToArray(_useState13, 2),
121
+ savedBaselineConfig = _useState14[0],
122
+ setSavedBaselineConfig = _useState14[1];
123
+ var config = isFloorMapView ? draftConfig !== null && draftConfig !== void 0 ? draftConfig : floorMapConfigProp : null;
124
+ var configRef = useRef(config);
125
+ configRef.current = config;
126
+ useEffect(function () {
127
+ if (!floorMapConfigProp) return;
128
+ var baseConfig = normalizeFloorMapViewConfigFromProp(floorMapConfigProp);
129
+ var nextConfig = _objectSpread(_objectSpread({}, baseConfig), {}, {
130
+ canvases: baseConfig.canvases.map(function (canvas) {
131
+ var _canvas$mapLayer;
132
+ var stored = readStoredGridVisible(canvas.id);
133
+ if (stored == null) return canvas;
134
+ return _objectSpread(_objectSpread({}, canvas), {}, {
135
+ mapLayer: _objectSpread(_objectSpread({}, (_canvas$mapLayer = canvas.mapLayer) !== null && _canvas$mapLayer !== void 0 ? _canvas$mapLayer : {}), {}, {
136
+ showGrid: stored
137
+ })
138
+ });
139
+ })
140
+ });
141
+ setDraftConfig(nextConfig);
142
+ /** 上游配置已刷新,以服务端/父级为准,清空本地临时保存基线 */
143
+ setSavedBaselineConfig(null);
144
+ var enabled = nextConfig.canvases.filter(function (c) {
145
+ return c.enabled;
146
+ }).sort(function (a, b) {
147
+ return a.order - b.order;
148
+ });
149
+ setCurrentCanvasId(function (prev) {
150
+ var _enabled$0$id, _enabled$;
151
+ return prev && enabled.some(function (c) {
152
+ return c.id === prev;
153
+ }) ? prev : (_enabled$0$id = (_enabled$ = enabled[0]) === null || _enabled$ === void 0 ? void 0 : _enabled$.id) !== null && _enabled$0$id !== void 0 ? _enabled$0$id : null;
154
+ });
155
+ }, [floorMapConfigProp]);
156
+
157
+ /** 当前草稿与上游持久化 `floorMapConfig`(经同等规范化)是否不一致 */
158
+ var isLayoutDirty = useMemo(function () {
159
+ if (!isFloorMapView || !draftConfig || !floorMapConfigProp) return false;
160
+ var baseline = savedBaselineConfig !== null && savedBaselineConfig !== void 0 ? savedBaselineConfig : normalizeFloorMapViewConfigFromProp(floorMapConfigProp);
161
+ return !floorMapViewConfigsEqual(draftConfig, baseline);
162
+ }, [isFloorMapView, draftConfig, floorMapConfigProp, savedBaselineConfig]);
163
+ var handleAddCanvas = useCallback(function () {
164
+ initFloorMapLayoutLocales(engineLocale);
165
+ var label = locales.getText('pisell-floor-map-layout.canvas-tabs.default-new-canvas-name');
166
+ var defaultName = createTranslationText(label, true);
167
+ var newId = "floor_".concat(Date.now());
168
+ var newCanvas = {
169
+ id: newId,
170
+ name: defaultName,
171
+ order: 0,
172
+ enabled: true
173
+ };
174
+ setDraftConfig(function (prev) {
175
+ if (!prev) return prev;
176
+ var list = prev.canvases.filter(function (c) {
177
+ return c.enabled;
178
+ }).sort(function (a, b) {
179
+ return a.order - b.order;
180
+ });
181
+ newCanvas.order = list.length > 0 ? Math.max.apply(Math, _toConsumableArray(list.map(function (c) {
182
+ return c.order;
183
+ }))) + 1 : 0;
184
+ return _objectSpread(_objectSpread({}, prev), {}, {
185
+ canvases: [].concat(_toConsumableArray(prev.canvases), [newCanvas])
186
+ });
187
+ });
188
+ setCurrentCanvasId(newId);
189
+ }, [engineLocale]);
190
+ var handleRemoveCanvas = useCallback(function (canvasId) {
191
+ setDraftConfig(function (prev) {
192
+ var _prev$sceneElements;
193
+ if (!prev) return prev;
194
+ var nextCanvases = prev.canvases.filter(function (c) {
195
+ return c.id !== canvasId;
196
+ });
197
+ if (nextCanvases.length === 0) return prev;
198
+ return _objectSpread(_objectSpread({}, prev), {}, {
199
+ canvases: nextCanvases,
200
+ sceneElements: ((_prev$sceneElements = prev.sceneElements) !== null && _prev$sceneElements !== void 0 ? _prev$sceneElements : []).filter(function (e) {
201
+ return e.canvasId !== canvasId;
202
+ })
203
+ });
204
+ });
205
+ setCurrentCanvasId(function (prev) {
206
+ var _enabled$0$id2, _enabled$2;
207
+ if (prev !== canvasId) return prev;
208
+ var cfg = configRef.current;
209
+ if (!cfg) return prev;
210
+ var enabled = cfg.canvases.filter(function (c) {
211
+ return c.id !== canvasId && c.enabled;
212
+ }).sort(function (a, b) {
213
+ return a.order - b.order;
214
+ });
215
+ return (_enabled$0$id2 = (_enabled$2 = enabled[0]) === null || _enabled$2 === void 0 ? void 0 : _enabled$2.id) !== null && _enabled$0$id2 !== void 0 ? _enabled$0$id2 : null;
216
+ });
217
+ }, []);
218
+ var handleRenameCanvas = useCallback(function (canvasId, name) {
219
+ if (typeof name === 'string') {
220
+ var trimmed = name.trim();
221
+ if (!trimmed) return;
222
+ setDraftConfig(function (prev) {
223
+ if (!prev) return prev;
224
+ return _objectSpread(_objectSpread({}, prev), {}, {
225
+ canvases: prev.canvases.map(function (c) {
226
+ return c.id === canvasId ? _objectSpread(_objectSpread({}, c), {}, {
227
+ name: trimmed,
228
+ nameKey: undefined
229
+ }) : c;
230
+ })
231
+ });
232
+ });
233
+ return;
234
+ }
235
+ var hasAny = Object.values(name).some(function (s) {
236
+ return typeof s === 'string' && s.trim();
237
+ });
238
+ if (!hasAny) return;
239
+ setDraftConfig(function (prev) {
240
+ if (!prev) return prev;
241
+ return _objectSpread(_objectSpread({}, prev), {}, {
242
+ canvases: prev.canvases.map(function (c) {
243
+ return c.id === canvasId ? _objectSpread(_objectSpread({}, c), {}, {
244
+ name: name,
245
+ nameKey: undefined
246
+ }) : c;
247
+ })
248
+ });
249
+ });
250
+ }, []);
251
+ var mergedItems = useMemo(function () {
252
+ if (!isFloorMapView || !config || !currentCanvasId) return [];
253
+ return mergeCanvasItems(currentCanvasId, config, cellSizeProp !== null && cellSizeProp !== void 0 ? cellSizeProp : DEFAULT_CELL_SIZE);
254
+ }, [isFloorMapView, config, currentCanvasId, cellSizeProp]);
255
+ var items = isFloorMapView ? mergedItems : itemsProp;
256
+ var updateDraftSceneElement = useCallback(function (instanceId, patch) {
257
+ setDraftConfig(function (prev) {
258
+ var _prev$sceneElements2, _prev$sceneElements3;
259
+ if (!prev) return prev;
260
+ var current = ((_prev$sceneElements2 = prev.sceneElements) !== null && _prev$sceneElements2 !== void 0 ? _prev$sceneElements2 : []).find(function (e) {
261
+ return e.instanceId === instanceId;
262
+ });
263
+ var normalized = _objectSpread({}, patch);
264
+ var unlocking = patch.layoutTransformLocked === false;
265
+ if (current !== null && current !== void 0 && current.layoutTransformLocked && !unlocking) {
266
+ var _normalized = normalized,
267
+ _x = _normalized.x,
268
+ _y = _normalized.y,
269
+ _z = _normalized.zIndex,
270
+ _w = _normalized.width,
271
+ _h = _normalized.height,
272
+ rest = _objectWithoutProperties(_normalized, _excluded);
273
+ normalized = rest;
274
+ }
275
+ if (normalized.x !== undefined) normalized.x = Math.round(normalized.x);
276
+ if (normalized.y !== undefined) normalized.y = Math.round(normalized.y);
277
+ if (normalized.width !== undefined) normalized.width = Math.round(normalized.width);
278
+ if (normalized.height !== undefined) normalized.height = Math.round(normalized.height);
279
+ var list = ((_prev$sceneElements3 = prev.sceneElements) !== null && _prev$sceneElements3 !== void 0 ? _prev$sceneElements3 : []).map(function (e) {
280
+ return e.instanceId === instanceId ? _objectSpread(_objectSpread({}, e), normalized) : e;
281
+ });
282
+ return _objectSpread(_objectSpread({}, prev), {}, {
283
+ sceneElements: list
284
+ });
285
+ });
286
+ }, []);
287
+ var handleUpdateItem = useCallback(function (itemId, patch) {
288
+ updateDraftSceneElement(itemId, patch);
289
+ }, [updateDraftSceneElement]);
290
+ var placeOverlayClass = "".concat(layoutPrefix, "-place-overlay");
291
+
292
+ /**
293
+ * 在内容坐标系下按「新建图元」模式落 sceneElement(支持 recordIds 批量;点击与拖拽共用)
294
+ * @returns 是否已成功写入草稿(校验失败时为 false)
295
+ */
296
+ var applyScenePlacementAtCoords = useCallback(function (contentX, contentY, scene) {
297
+ var _kindConfig$allowedDa, _ref, _scene$dataSourceKey;
298
+ if (!config || !currentCanvasId) return false;
299
+ var defaultPlacementWidth = 180;
300
+ var defaultPlacementHeight = 120;
301
+ var defaultDecoSize = 48;
302
+ var kindConfig = getElementKindConfig(config, scene.elementKind);
303
+ var policy = resolveDataBindingPolicy(kindConfig);
304
+ var allKeys = Object.keys(dataSources !== null && dataSources !== void 0 ? dataSources : {});
305
+ var allowedKeys = kindConfig !== null && kindConfig !== void 0 && (_kindConfig$allowedDa = kindConfig.allowedDataSourceKeys) !== null && _kindConfig$allowedDa !== void 0 && _kindConfig$allowedDa.length ? kindConfig.allowedDataSourceKeys.filter(function (k) {
306
+ return allKeys.includes(k);
307
+ }) : allKeys;
308
+ var pickKey = (_ref = (_scene$dataSourceKey = scene.dataSourceKey) !== null && _scene$dataSourceKey !== void 0 ? _scene$dataSourceKey : allowedKeys[0]) !== null && _ref !== void 0 ? _ref : allKeys[0];
309
+ var recordIdsToPlace = scene.recordIds && scene.recordIds.length > 0 ? scene.recordIds : scene.recordId ? [scene.recordId] : [];
310
+ var isStage = scene.elementKind === FLOOR_MAP_STAGE_ELEMENT_KIND;
311
+ var isImage = isFloorMapImageElementKind(scene.elementKind);
312
+ var w = isImage ? IMAGE_PLACE_DEFAULT.width : isStage ? STAGE_DECO_DEFAULT.width : defaultPlacementWidth;
313
+ var h = isImage ? IMAGE_PLACE_DEFAULT.height : isStage ? STAGE_DECO_DEFAULT.height : defaultPlacementHeight;
314
+ var useDecoSize = policy === 'none' && scene.elementKind !== FLOOR_MAP_STAGE_ELEMENT_KIND && !isImage;
315
+ var buildOneElement = function buildOneElement(dataBinding, x, y, name) {
316
+ return _objectSpread({
317
+ instanceId: newInstanceId(),
318
+ canvasId: currentCanvasId,
319
+ x: x,
320
+ y: y,
321
+ name: name,
322
+ zIndex: isImage ? -5 : 0,
323
+ width: useDecoSize ? defaultDecoSize : w,
324
+ height: useDecoSize ? defaultDecoSize : h,
325
+ elementKind: scene.elementKind,
326
+ shape: isStage || isImage ? 'rect' : kindConfig === null || kindConfig === void 0 ? void 0 : kindConfig.defaultShape,
327
+ dataBinding: dataBinding
328
+ }, isImage ? {
329
+ imageUrl: ''
330
+ } : {});
331
+ };
332
+ var dataBinding;
333
+ if (policy !== 'none' && pickKey) {
334
+ var _dataSources$pickKey;
335
+ var dsList = (_dataSources$pickKey = dataSources === null || dataSources === void 0 ? void 0 : dataSources[pickKey]) !== null && _dataSources$pickKey !== void 0 ? _dataSources$pickKey : [];
336
+ if (dsList.length === 0) {
337
+ dataBinding = {
338
+ dataSourceKey: pickKey,
339
+ recordId: "new_".concat(Date.now())
340
+ };
341
+ } else if (recordIdsToPlace.length === 0) {
342
+ if (policy === 'required') {
343
+ message.warning('请先在侧栏选择数据源与数据行,再落位');
344
+ return false;
345
+ }
346
+ } else if (recordIdsToPlace.length === 1) {
347
+ var rid = recordIdsToPlace[0];
348
+ var record = dsList.find(function (r) {
349
+ return r.id === rid;
350
+ });
351
+ if (!record) {
352
+ message.error('所选记录不存在,请重新选择数据行');
353
+ return false;
354
+ }
355
+ var cand = {
356
+ dataSourceKey: pickKey,
357
+ recordId: rid
358
+ };
359
+ if (duplicateBinding(config.sceneElements, cand)) {
360
+ message.warning('该数据记录已在平面图中绑定,请勿重复添加');
361
+ return false;
362
+ }
363
+ dataBinding = cand;
364
+ } else {
365
+ var newEls = [];
366
+ var skippedDup = 0;
367
+ var skippedMissing = 0;
368
+ var placeIndex = 0;
369
+ var seenInBatch = new Set();
370
+ recordIdsToPlace.forEach(function (rid) {
371
+ var _row$name;
372
+ var record = dsList.find(function (r) {
373
+ return r.id === rid;
374
+ });
375
+ if (!record) {
376
+ skippedMissing += 1;
377
+ return;
378
+ }
379
+ var cand = {
380
+ dataSourceKey: pickKey,
381
+ recordId: rid
382
+ };
383
+ if (seenInBatch.has(rid) || duplicateBinding(config.sceneElements, cand)) {
384
+ skippedDup += 1;
385
+ return;
386
+ }
387
+ seenInBatch.add(rid);
388
+ var row = record;
389
+ var placementName = String((_row$name = row === null || row === void 0 ? void 0 : row.name) !== null && _row$name !== void 0 ? _row$name : rid);
390
+ newEls.push(buildOneElement(cand, contentX + placeIndex * BATCH_PLACE_OFFSET, contentY + placeIndex * BATCH_PLACE_OFFSET, placementName));
391
+ placeIndex += 1;
392
+ });
393
+ if (skippedDup > 0) {
394
+ message.warning("\u5DF2\u8DF3\u8FC7 ".concat(skippedDup, " \u6761\u5DF2\u5728\u5E73\u9762\u56FE\u4E2D\u7ED1\u5B9A\u7684\u8BB0\u5F55"));
395
+ }
396
+ if (skippedMissing > 0) {
397
+ message.warning("\u6709 ".concat(skippedMissing, " \u6761\u8BB0\u5F55\u4E0D\u5B58\u5728\uFF0C\u5DF2\u8DF3\u8FC7"));
398
+ }
399
+ if (newEls.length === 0) {
400
+ message.warning('没有可落位的记录');
401
+ return false;
402
+ }
403
+ setDraftConfig(function (prev) {
404
+ var _prev$sceneElements4;
405
+ return prev ? _objectSpread(_objectSpread({}, prev), {}, {
406
+ sceneElements: [].concat(_toConsumableArray((_prev$sceneElements4 = prev.sceneElements) !== null && _prev$sceneElements4 !== void 0 ? _prev$sceneElements4 : []), newEls)
407
+ }) : prev;
408
+ });
409
+ return true;
410
+ }
411
+ }
412
+ var placementName = function (_kindConfig$defaultPr, _kindConfig$defaultPr2) {
413
+ if (isStage) return STAGE_DECO_DEFAULT.name;
414
+ if (isImage) return '底图';
415
+ var db = dataBinding;
416
+ var rid = recordIdsToPlace[0];
417
+ if (db && rid) {
418
+ var _dataSources$db$dataS, _row$name2;
419
+ var row = dataSources === null || dataSources === void 0 || (_dataSources$db$dataS = dataSources[db.dataSourceKey]) === null || _dataSources$db$dataS === void 0 ? void 0 : _dataSources$db$dataS.find(function (r) {
420
+ return r.id === rid;
421
+ });
422
+ return String((_row$name2 = row === null || row === void 0 ? void 0 : row.name) !== null && _row$name2 !== void 0 ? _row$name2 : rid);
423
+ }
424
+ return (_kindConfig$defaultPr = kindConfig === null || kindConfig === void 0 || (_kindConfig$defaultPr2 = kindConfig.defaultPresentation) === null || _kindConfig$defaultPr2 === void 0 ? void 0 : _kindConfig$defaultPr2.title) !== null && _kindConfig$defaultPr !== void 0 ? _kindConfig$defaultPr : '';
425
+ }();
426
+ var newEl = buildOneElement(dataBinding, contentX, contentY, placementName);
427
+ setDraftConfig(function (prev) {
428
+ var _prev$sceneElements5;
429
+ return prev ? _objectSpread(_objectSpread({}, prev), {}, {
430
+ sceneElements: [].concat(_toConsumableArray((_prev$sceneElements5 = prev.sceneElements) !== null && _prev$sceneElements5 !== void 0 ? _prev$sceneElements5 : []), [newEl])
431
+ }) : prev;
432
+ });
433
+ return true;
434
+ }, [config, currentCanvasId, dataSources]);
435
+ var handleCanvasPlaceClick = useCallback(function (e) {
436
+ if (!placeMode || placeMode.type !== 'scene' || !config || !currentCanvasId) return;
437
+ var target = e.target;
438
+ if (!target.classList.contains(placeOverlayClass)) return;
439
+ var _contentOffsetRef$cur = contentOffsetRef.current,
440
+ ox = _contentOffsetRef$cur.x,
441
+ oy = _contentOffsetRef$cur.y;
442
+ var contentX = Math.round(e.nativeEvent.offsetX - ox);
443
+ var contentY = Math.round(e.nativeEvent.offsetY - oy);
444
+ if (applyScenePlacementAtCoords(contentX, contentY, placeMode)) {
445
+ setPlaceMode(null);
446
+ }
447
+ }, [placeMode, config, currentCanvasId, applyScenePlacementAtCoords, placeOverlayClass]);
448
+
449
+ /** 从左侧图元栏拖拽到画布落位(与点击落点规则一致) */
450
+ var placeSceneElementFromPaletteDrop = useCallback(function (contentX, contentY, scene) {
451
+ if (applyScenePlacementAtCoords(contentX, contentY, scene)) {
452
+ setPlaceMode(null);
453
+ }
454
+ }, [applyScenePlacementAtCoords]);
455
+ var handleSave = useCallback(function () {
456
+ if (!draftConfig || !onSave) return;
457
+ setSaving(true);
458
+ try {
459
+ onSave(draftConfig);
460
+ /** 先本地确认“已提交保存”,让提示即时消失;后续以 props 回写为准 */
461
+ setSavedBaselineConfig(draftConfig);
462
+ } finally {
463
+ setSaving(false);
464
+ }
465
+ }, [draftConfig, onSave]);
466
+
467
+ /** 切换当前画布草稿中的 mapLayer.showGrid(随布局保存持久化) */
468
+ var toggleDraftCanvasShowGrid = useCallback(function () {
469
+ setDraftConfig(function (prev) {
470
+ if (!prev || !currentCanvasId) return prev;
471
+ return _objectSpread(_objectSpread({}, prev), {}, {
472
+ canvases: prev.canvases.map(function (c) {
473
+ var _c$mapLayer;
474
+ if (c.id !== currentCanvasId) return c;
475
+ var nextShow = !Boolean((_c$mapLayer = c.mapLayer) === null || _c$mapLayer === void 0 ? void 0 : _c$mapLayer.showGrid);
476
+ writeStoredGridVisible(currentCanvasId, nextShow);
477
+ return _objectSpread(_objectSpread({}, c), {}, {
478
+ mapLayer: _objectSpread(_objectSpread({}, c.mapLayer), {}, {
479
+ showGrid: nextShow
480
+ })
481
+ });
482
+ })
483
+ });
484
+ });
485
+ }, [currentCanvasId]);
486
+ var handleEditPanelUpdate = useCallback(function (patch) {
487
+ if (!selectedId) return;
488
+ var bindingPatch = patch.dataBinding;
489
+ if (bindingPatch !== null && bindingPatch !== void 0 && bindingPatch.dataSourceKey && bindingPatch !== null && bindingPatch !== void 0 && bindingPatch.recordId) {
490
+ var _configRef$current;
491
+ var cand = bindingPatch;
492
+ if (duplicateBinding((_configRef$current = configRef.current) === null || _configRef$current === void 0 ? void 0 : _configRef$current.sceneElements, cand, selectedId)) {
493
+ message.warning('该数据记录已被其他图元绑定');
494
+ return;
495
+ }
496
+ }
497
+ updateDraftSceneElement(selectedId, patch);
498
+ }, [selectedId, updateDraftSceneElement]);
499
+ var handleSaveRecord = useCallback(function (dataSourceKey, id, newData) {
500
+ onDataSourceRecordSave === null || onDataSourceRecordSave === void 0 || onDataSourceRecordSave(dataSourceKey, id, newData);
501
+ setSavingRecord(true);
502
+ setTimeout(function () {
503
+ return setSavingRecord(false);
504
+ }, 500);
505
+ }, [onDataSourceRecordSave]);
506
+ var handleEditPanelDelete = useCallback(function () {
507
+ if (!selectedId) return;
508
+ setDraftConfig(function (prev) {
509
+ var _prev$sceneElements6;
510
+ if (!prev) return prev;
511
+ return _objectSpread(_objectSpread({}, prev), {}, {
512
+ sceneElements: ((_prev$sceneElements6 = prev.sceneElements) !== null && _prev$sceneElements6 !== void 0 ? _prev$sceneElements6 : []).filter(function (e) {
513
+ return e.instanceId !== selectedId;
514
+ })
515
+ });
516
+ });
517
+ setSelectedId(null);
518
+ }, [selectedId]);
519
+ var selectedItem = selectedId ? mergedItems.find(function (m) {
520
+ return m.id === selectedId;
521
+ }) : null;
522
+ var editPanelParams = selectedItem && config && selectedId ? {
523
+ itemId: selectedId,
524
+ sceneElement: selectedItem._sceneElement,
525
+ onUpdate: handleEditPanelUpdate,
526
+ onSaveRecord: onDataSourceRecordSave ? handleSaveRecord : undefined,
527
+ onClose: function onClose() {
528
+ return setSelectedId(null);
529
+ },
530
+ onDelete: config.canvasUi.canEdit ? handleEditPanelDelete : undefined,
531
+ recordFormColumns: dataSourceFormColumns,
532
+ dataSourceRecordForm: dataSourceRecordForm,
533
+ dataSourceLabels: dataSourceLabels,
534
+ layoutDraftDirty: isLayoutDirty,
535
+ showDataSourceRecordFormBlock: showDataSourceRecordFormBlock
536
+ } : null;
537
+ return {
538
+ config: config,
539
+ currentCanvasId: currentCanvasId,
540
+ setCurrentCanvasId: setCurrentCanvasId,
541
+ selectedId: selectedId,
542
+ setSelectedId: setSelectedId,
543
+ placeMode: placeMode,
544
+ setPlaceMode: setPlaceMode,
545
+ mergedItems: mergedItems,
546
+ items: items,
547
+ saving: saving,
548
+ savingRecord: savingRecord,
549
+ handleAddCanvas: handleAddCanvas,
550
+ handleRemoveCanvas: handleRemoveCanvas,
551
+ handleRenameCanvas: handleRenameCanvas,
552
+ handleUpdateItem: handleUpdateItem,
553
+ handleCanvasPlaceClick: handleCanvasPlaceClick,
554
+ handleSave: handleSave,
555
+ placeSceneElementFromPaletteDrop: placeSceneElementFromPaletteDrop,
556
+ editPanelParams: editPanelParams,
557
+ placeOverlayClass: placeOverlayClass,
558
+ isLayoutDirty: isLayoutDirty,
559
+ toggleDraftCanvasShowGrid: toggleDraftCanvasShowGrid
560
+ };
561
+ }
@@ -0,0 +1,21 @@
1
+ import type { MutableRefObject, PointerEvent as ReactPointerEvent } from 'react';
2
+ import type { FloorMapPaletteDragPayload } from '../utils/floorMapDropUtils';
3
+ export interface UseFloorMapPaletteTouchDragParams {
4
+ enabled: boolean;
5
+ mapDropLayerRef: MutableRefObject<HTMLDivElement | null>;
6
+ contentWidth: number;
7
+ contentHeight: number;
8
+ contentOffsetRef: MutableRefObject<{
9
+ x: number;
10
+ y: number;
11
+ }>;
12
+ setMapPaletteDragActive: (v: boolean) => void;
13
+ onDropInScene: (payload: FloorMapPaletteDragPayload, sceneX: number, sceneY: number) => void;
14
+ }
15
+ export interface UseFloorMapPaletteTouchDragResult {
16
+ /** 挂在图元预览按钮上;mouse 不处理,交给 HTML5 DnD */
17
+ handlePaletteCardPointerDown: (payload: FloorMapPaletteDragPayload, e: ReactPointerEvent<HTMLElement>) => void;
18
+ /** 图元按钮 onClick 前检查:触摸拖放过则吞掉本次点击 */
19
+ consumeToolbarClickIfTouchDrag: () => boolean;
20
+ }
21
+ export declare function useFloorMapPaletteTouchDrag(params: UseFloorMapPaletteTouchDragParams): UseFloorMapPaletteTouchDragResult;