@pisell/materials 1.0.1063 → 1.0.1064
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lowcode/assets-daily.json +11 -11
- package/build/lowcode/assets-dev.json +2 -2
- package/build/lowcode/assets-prod.json +11 -11
- package/build/lowcode/index.js +1 -1
- package/build/lowcode/meta.js +7 -7
- package/build/lowcode/preview.js +9 -9
- package/build/lowcode/render/default/view.css +1 -1
- package/build/lowcode/render/default/view.js +22 -22
- package/build/lowcode/view.css +1 -1
- package/build/lowcode/view.js +26 -26
- package/es/components/Pagination/index.d.ts +0 -1
- package/es/components/PisellBasicGrid/PisellBasicGrid.d.ts +0 -1
- package/es/components/PisellCards/components/GraphicTextCard/GraphicTextCard.d.ts +0 -1
- package/es/components/PisellCards/components/MultilevelCard/hooks/useMultilevelCardExpand.d.ts +0 -1
- package/es/components/PisellCards/components/PisellImageCard/PisellImageCard.d.ts +0 -1
- package/es/components/PisellCards/components/PisellImageCard/hooks/useImageLoad.d.ts +0 -1
- package/es/components/PisellCards/components/TabCard/TabCard.d.ts +0 -1
- package/es/components/PisellCards/components/TextCard/TextCard.d.ts +0 -1
- package/es/components/PisellCards/index.d.ts +0 -1
- package/es/components/PisellFields/index.d.ts +0 -1
- package/es/components/PisellLayouts/index.d.ts +0 -1
- package/es/components/PisellMetrics/index.d.ts +0 -1
- package/es/components/appVersionControl/index.d.ts +0 -1
- package/es/components/auto-complete-number/index.d.ts +0 -1
- package/es/components/badge/index.d.ts +0 -1
- package/es/components/batch-editor/fields/index.d.ts +0 -1
- package/es/components/batch-editor/index.d.ts +0 -1
- package/es/components/calendar/index.d.ts +0 -1
- package/es/components/cardPro/index.d.ts +0 -1
- package/es/components/checkbox/index.d.ts +0 -1
- package/es/components/classicLayout/index.d.ts +0 -1
- package/es/components/colorPicker/index.d.ts +0 -1
- package/es/components/config-provider/index.d.ts +0 -1
- package/es/components/dataSourceComponents/dataSourceForm/formItem.d.ts +0 -1
- package/es/components/dataSourceComponents/dataSourceShow/dataSourceQRCode/index.d.ts +0 -1
- package/es/components/dataSourceComponents/dataSourceTable/filter/index.d.ts +0 -1
- package/es/components/dataSourceComponents/dataSourceTable/filter/utils.d.ts +0 -1
- package/es/components/dataSourceComponents/dataSourceTable/hooks/useDataSourceKey.d.ts +0 -1
- package/es/components/dataSourceComponents/dataSourceTable/hooks/useTableQuery.d.ts +0 -1
- package/es/components/dataSourceComponents/dataSourceWrapper/index.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/ColorPicker/ReadPretty.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/DateRangePicker/ReadPretty.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/IconSelect/ReadPretty.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/Input/ReadPretty.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/Input.Email/ReadPretty.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/Input.Json/ReadPretty.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/Input.Password/ReadPretty.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/Input.Subdomain/ReadPretty.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/Input.TextArea/ReadPretty.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/Input.Url/ReadPretty.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/RecordListWrapper/index.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/Select/index.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/Tabs/index.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/TimePicker/ReadPretty.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/Translation/ReadPretty.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/Upload/CameraPopover.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/Upload/ReadPretty.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/index.d.ts +0 -1
- package/es/components/date-picker/datePickerCpt.d.ts +0 -1
- package/es/components/date-picker/index.d.ts +0 -1
- package/es/components/drag-sort-tree/TreeItem/index.d.ts +0 -1
- package/es/components/drag-sort-tree/index.d.ts +0 -1
- package/es/components/dropdown/index.d.ts +0 -1
- package/es/components/filter/components/items/index.d.ts +0 -1
- package/es/components/filter/components/items/text/Editor/index.d.ts +0 -1
- package/es/components/filter/components/items/text/Preview/index.d.ts +0 -1
- package/es/components/filter/components/items/text/index.d.ts +0 -1
- package/es/components/filter/index.d.ts +0 -1
- package/es/components/hardwareErrorTip/errorCard/index.d.ts +0 -1
- package/es/components/hardwareErrorTip/errorTipStatistics/index.d.ts +0 -1
- package/es/components/hardwareErrorTip/logCard/index.d.ts +0 -1
- package/es/components/list/index.d.ts +0 -1
- package/es/components/lowCodePage/index.d.ts +0 -1
- package/es/components/page/index.d.ts +0 -1
- package/es/components/pisellAdjustPrice/PisellAdjustPriceInputNumber.d.ts +0 -1
- package/es/components/pisellAdjustPrice/index.d.ts +0 -1
- package/es/components/pisellCard/index.d.ts +0 -1
- package/es/components/pisellDataSourceContainer/PisellDataSourceContainer.d.ts +0 -1
- package/es/components/pisellDataSourceContainer/hooks/useDataSourceKey.d.ts +0 -1
- package/es/components/pisellDatePicker/datePickerCpt.d.ts +0 -1
- package/es/components/pisellDatePicker/index.d.ts +0 -1
- package/es/components/pisellFilter/index.d.ts +0 -1
- package/es/components/pisellFloorMapLayout/PisellFloorMapLayout.js +43 -31
- package/es/components/pisellFloorMapLayout/components/FloorMapEditPanel.js +60 -16
- package/es/components/pisellFloorMapLayout/components/FloorMapEditPanel.less +8 -0
- package/es/components/pisellFloorMapLayout/components/FloorMapToolbar.js +22 -12
- package/es/components/pisellFloorMapLayout/components/FloorMapToolbar.less +7 -5
- package/es/components/pisellFloorMapLayout/components/MapLayer.js +5 -2
- package/es/components/pisellFloorMapLayout/components/ViewControls.d.ts +4 -0
- package/es/components/pisellFloorMapLayout/components/ViewControls.js +29 -10
- package/es/components/pisellFloorMapLayout/components/ViewControls.less +36 -12
- package/es/components/pisellFloorMapLayout/components/ViewControlsWithZoom.d.ts +2 -0
- package/es/components/pisellFloorMapLayout/components/ViewControlsWithZoom.js +3 -1
- package/es/components/pisellFloorMapLayout/context/mergeFloorMapLayoutContext.js +2 -2
- package/es/components/pisellFloorMapLayout/hooks/useFloorMapEditState.d.ts +1 -0
- package/es/components/pisellFloorMapLayout/hooks/useFloorMapEditState.js +166 -43
- package/es/components/pisellFloorMapLayout/hooks/useFloorMapTransformMetrics.d.ts +1 -1
- package/es/components/pisellFloorMapLayout/hooks/useFloorMapTransformMetrics.js +90 -13
- package/es/components/pisellFloorMapLayout/index.d.ts +2 -0
- package/es/components/pisellFloorMapLayout/index.js +2 -0
- package/es/components/pisellFloorMapLayout/locales.d.ts +6 -0
- package/es/components/pisellFloorMapLayout/locales.js +9 -3
- package/es/components/pisellFloorMapLayout/types.d.ts +9 -2
- package/es/components/pisellFloorMapLayout/utils/floorMapDropUtils.d.ts +1 -0
- package/es/components/pisellFloorMapLayout/utils/floorMapDropUtils.js +10 -1
- package/es/components/pisellFloorMapLayout/utils/floorMapElementKindUtils.d.ts +11 -0
- package/es/components/pisellFloorMapLayout/utils/floorMapElementKindUtils.js +86 -0
- package/es/components/pisellFloorMapLayout/utils/floorMapFallbackRender.js +3 -2
- package/es/components/pisellGridPro/GridView/index.d.ts +0 -1
- package/es/components/pisellGridPro/components/DataCard/index.d.ts +0 -1
- package/es/components/pisellInformationEntry/Scan/index.d.ts +0 -1
- package/es/components/pisellInput/components/BankCard/index.d.ts +0 -1
- package/es/components/pisellInput/components/Copy/index.d.ts +0 -1
- package/es/components/pisellInput/components/SecurityCode/index.d.ts +0 -1
- package/es/components/pisellInput/index.d.ts +0 -1
- package/es/components/pisellLoading/index.d.ts +0 -1
- package/es/components/pisellModal/components/IpadModal/index.d.ts +0 -1
- package/es/components/pisellModal/components/MobileModal/index.d.ts +0 -1
- package/es/components/pisellModal/components/index.d.ts +0 -1
- package/es/components/pisellRecordBoard/PisellRecordBoard.js +6 -3
- package/es/components/pisellRecordBoard/shellFrame/ToolBar/index.d.ts +1 -0
- package/es/components/pisellRecordBoard/shellFrame/ToolBar/index.js +21 -10
- package/es/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolbar.less +23 -0
- package/es/components/pisellRecordBoard/shellFrame/index.d.ts +2 -0
- package/es/components/pisellRecordBoard/shellFrame/index.js +9 -3
- package/es/components/pisellRecordBoard/shellFrame/shellFrameFloorMap.less +25 -0
- package/es/components/pisellRecordBoard/types.d.ts +6 -0
- package/es/components/pisellReservationScheduleBand/PisellReservationScheduleBand.js +4 -1
- package/es/components/pisellReservationScheduleBand/PisellReservationScheduleBand.less +18 -1
- package/es/components/pisellReservationScheduleBand/types.d.ts +4 -0
- package/es/components/pisellSort/index.d.ts +0 -1
- package/es/components/pisellTimeNavigator/PisellTimeNavigator.js +180 -22
- package/es/components/pisellTimeNavigator/PisellTimeNavigator.less +11 -0
- package/es/components/pisellTimeNavigator/components/CursorLayer.js +4 -4
- package/es/components/pisellTimeNavigator/components/ScaleLayer.js +3 -3
- package/es/components/pisellTimeNavigator/types.d.ts +11 -0
- package/es/components/pisellTooltip/index.d.ts +0 -1
- package/es/components/pisellUpload/index.d.ts +0 -1
- package/es/components/productCard/cartSkuCard/components/AmountFooter/index.d.ts +0 -1
- package/es/components/productCard/cartSkuCard/components/MultiDay/index.d.ts +0 -1
- package/es/components/productCard/cartSkuCard/components/Note/index.d.ts +0 -1
- package/es/components/productCard/cartSkuCard/components/discountReason/index.d.ts +0 -1
- package/es/components/productCard/cartSkuCard/components/holders/index.d.ts +0 -1
- package/es/components/productCard/cartSkuCard/components/packages/index.d.ts +0 -1
- package/es/components/productCard/cartSkuCard/components/resources/index.d.ts +0 -1
- package/es/components/productCard/cartSkuCard/components/sales/index.d.ts +0 -1
- package/es/components/productCard/cartSkuCard/components/specs/index.d.ts +0 -1
- package/es/components/productCard/cartSkuCard/components/timeRange/index.d.ts +0 -1
- package/es/components/productCard/cartSkuCard/index.d.ts +0 -1
- package/es/components/productCard/components/Action/index.d.ts +0 -1
- package/es/components/productCard/components/AmountFooter/index.d.ts +0 -1
- package/es/components/productCard/components/Divider/index.d.ts +0 -1
- package/es/components/productCard/components/Header/Actions/index.d.ts +0 -1
- package/es/components/productCard/components/Header/DeleteButton/index.d.ts +0 -1
- package/es/components/productCard/components/Header/EditButton/index.d.ts +0 -1
- package/es/components/productCard/components/Header/index.d.ts +0 -1
- package/es/components/productCard/components/MultiDay/index.d.ts +0 -1
- package/es/components/productCard/components/Note/index.d.ts +0 -1
- package/es/components/productCard/components/Packages/components/collapsibleList/utils.d.ts +0 -1
- package/es/components/productCard/components/Packages/components/options/index.d.ts +0 -1
- package/es/components/productCard/components/Packages/index.d.ts +0 -1
- package/es/components/productCard/components/Sales/index.d.ts +0 -1
- package/es/components/productCard/components/Time/components/Like/index.d.ts +0 -1
- package/es/components/productCard/components/Time/components/SelectHolder/index.d.ts +0 -1
- package/es/components/productCard/components/Time/components/SelectHolderModal/index.d.ts +0 -1
- package/es/components/productCard/components/Time/components/SelectHolderMultiple/index.d.ts +0 -1
- package/es/components/productCard/components/Time/components/SelectResource/index.d.ts +0 -1
- package/es/components/productCard/components/Time/index.d.ts +0 -1
- package/es/components/qrcode/index.d.ts +0 -1
- package/es/components/radio/index.d.ts +0 -1
- package/es/components/segmented/index.d.ts +0 -1
- package/es/components/select-time/RightPanel/index.d.ts +0 -1
- package/es/components/select-time/index.d.ts +0 -1
- package/es/components/skeleton/index.d.ts +0 -1
- package/es/components/slider/index.d.ts +0 -1
- package/es/components/sort/components/InlineMenu/index.d.ts +0 -1
- package/es/components/table/Actions/component/ColumnsSetting/index.d.ts +0 -1
- package/es/components/table/Actions/component/ExportImport/components/ExportFile/index.d.ts +0 -1
- package/es/components/table/Actions/component/ExportImport/components/ExportTable/index.d.ts +0 -1
- package/es/components/table/Actions/component/ExportImport/components/ImportLog/index.d.ts +0 -1
- package/es/components/table/Actions/component/ExportImport/components/ImportTable/index.d.ts +0 -1
- package/es/components/table/Actions/component/ExportImport/index.d.ts +0 -1
- package/es/components/table/Actions/component/GallerySetting/index.d.ts +0 -1
- package/es/components/table/Actions/component/Group/PopoverContent.d.ts +0 -1
- package/es/components/table/Actions/component/Group/index.d.ts +0 -1
- package/es/components/table/Actions/component/ViewMode/index.d.ts +0 -1
- package/es/components/table/Actions/index.d.ts +0 -1
- package/es/components/table/BasicTable/index.d.ts +0 -1
- package/es/components/table/Gallery/components/GalleryItem/components/Cover/index.d.ts +0 -1
- package/es/components/table/Gallery/components/GalleryItem/components/RenderFields/index.d.ts +0 -1
- package/es/components/table/Gallery/components/GalleryItem/components/Title/index.d.ts +0 -1
- package/es/components/table/Summary/index.d.ts +0 -1
- package/es/components/table/Table/SelectField/index.d.ts +0 -1
- package/es/components/table/Table/fields/date/Config/index.d.ts +0 -1
- package/es/components/table/Table/fields/date/Show/index.d.ts +0 -1
- package/es/components/table/Table/fields/date/Sort/index.d.ts +0 -1
- package/es/components/table/Table/fields/date/index.d.ts +0 -1
- package/es/components/table/Table/fields/image/Config/index.d.ts +0 -1
- package/es/components/table/Table/fields/image/Show/index.d.ts +0 -1
- package/es/components/table/Table/fields/image/Sort/index.d.ts +0 -1
- package/es/components/table/Table/fields/image/index.d.ts +0 -1
- package/es/components/table/Table/fields/index.d.ts +0 -1
- package/es/components/table/Table/fields/link/Config/index.d.ts +0 -1
- package/es/components/table/Table/fields/link/Show/index.d.ts +0 -1
- package/es/components/table/Table/fields/link/Sort/index.d.ts +0 -1
- package/es/components/table/Table/fields/link/index.d.ts +0 -1
- package/es/components/table/Table/fields/number/Config/index.d.ts +0 -1
- package/es/components/table/Table/fields/number/Show/index.d.ts +0 -1
- package/es/components/table/Table/fields/number/Sort/index.d.ts +0 -1
- package/es/components/table/Table/fields/number/index.d.ts +0 -1
- package/es/components/table/Table/fields/numberRange/Config/index.d.ts +0 -1
- package/es/components/table/Table/fields/numberRange/Show/index.d.ts +0 -1
- package/es/components/table/Table/fields/numberRange/Sort/index.d.ts +0 -1
- package/es/components/table/Table/fields/numberRange/index.d.ts +0 -1
- package/es/components/table/Table/fields/oldRangePicker/Config/index.d.ts +0 -1
- package/es/components/table/Table/fields/oldRangePicker/Show/index.d.ts +0 -1
- package/es/components/table/Table/fields/oldRangePicker/Sort/index.d.ts +0 -1
- package/es/components/table/Table/fields/oldRangePicker/index.d.ts +0 -1
- package/es/components/table/Table/fields/pSwitch/Config/index.d.ts +0 -1
- package/es/components/table/Table/fields/pSwitch/Show/index.d.ts +0 -1
- package/es/components/table/Table/fields/pSwitch/Sort/index.d.ts +0 -1
- package/es/components/table/Table/fields/pSwitch/index.d.ts +0 -1
- package/es/components/table/Table/fields/rangePicker/Config/index.d.ts +0 -1
- package/es/components/table/Table/fields/rangePicker/Show/index.d.ts +0 -1
- package/es/components/table/Table/fields/rangePicker/Sort/index.d.ts +0 -1
- package/es/components/table/Table/fields/rangePicker/index.d.ts +0 -1
- package/es/components/table/Table/fields/search/Config/index.d.ts +0 -1
- package/es/components/table/Table/fields/search/Show/index.d.ts +0 -1
- package/es/components/table/Table/fields/search/Sort/index.d.ts +0 -1
- package/es/components/table/Table/fields/search/index.d.ts +0 -1
- package/es/components/table/Table/fields/select/Config/index.d.ts +0 -1
- package/es/components/table/Table/fields/select/Show/index.d.ts +0 -1
- package/es/components/table/Table/fields/select/Sort/index.d.ts +0 -1
- package/es/components/table/Table/fields/select/index.d.ts +0 -1
- package/es/components/table/Table/fields/text/Config/index.d.ts +0 -1
- package/es/components/table/Table/fields/text/Show/index.d.ts +0 -1
- package/es/components/table/Table/fields/text/Sort/index.d.ts +0 -1
- package/es/components/table/Table/fields/text/index.d.ts +0 -1
- package/es/components/table/Table/fields/treeSelect/Config/index.d.ts +0 -1
- package/es/components/table/Table/fields/treeSelect/Show/index.d.ts +0 -1
- package/es/components/table/Table/fields/treeSelect/Sort/index.d.ts +0 -1
- package/es/components/table/Table/fields/treeSelect/index.d.ts +0 -1
- package/es/components/table/Table/tableConfig/SortRow/index.d.ts +0 -1
- package/es/components/table/Table/tableConfig/summary/index.d.ts +0 -1
- package/es/components/table/TableFilter/SortIcon.d.ts +0 -1
- package/es/components/table/View/index.d.ts +0 -1
- package/es/components/time-picker/index.d.ts +0 -1
- package/es/components/upload/index.d.ts +0 -1
- package/es/components/versionSelect/index.d.ts +0 -1
- package/es/components/virtual-keyboard/Amount/index.d.ts +0 -1
- package/es/components/virtual-keyboard/Number/index.d.ts +0 -1
- package/es/components/virtual-keyboard/Time/utils.d.ts +0 -1
- package/es/components/walletCard/Guest/index.d.ts +0 -1
- package/es/components/walletCard/Guide/index.d.ts +0 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/lib/components/pisellFloorMapLayout/PisellFloorMapLayout.js +39 -36
- package/lib/components/pisellFloorMapLayout/components/FloorMapEditPanel.js +56 -12
- package/lib/components/pisellFloorMapLayout/components/FloorMapEditPanel.less +8 -0
- package/lib/components/pisellFloorMapLayout/components/FloorMapToolbar.js +19 -10
- package/lib/components/pisellFloorMapLayout/components/FloorMapToolbar.less +7 -5
- package/lib/components/pisellFloorMapLayout/components/MapLayer.js +3 -1
- package/lib/components/pisellFloorMapLayout/components/ViewControls.d.ts +4 -0
- package/lib/components/pisellFloorMapLayout/components/ViewControls.js +28 -6
- package/lib/components/pisellFloorMapLayout/components/ViewControls.less +36 -12
- package/lib/components/pisellFloorMapLayout/components/ViewControlsWithZoom.d.ts +2 -0
- package/lib/components/pisellFloorMapLayout/components/ViewControlsWithZoom.js +3 -1
- package/lib/components/pisellFloorMapLayout/hooks/useFloorMapEditState.d.ts +1 -0
- package/lib/components/pisellFloorMapLayout/hooks/useFloorMapEditState.js +143 -29
- package/lib/components/pisellFloorMapLayout/hooks/useFloorMapTransformMetrics.d.ts +1 -1
- package/lib/components/pisellFloorMapLayout/hooks/useFloorMapTransformMetrics.js +86 -13
- package/lib/components/pisellFloorMapLayout/index.d.ts +2 -0
- package/lib/components/pisellFloorMapLayout/index.js +6 -0
- package/lib/components/pisellFloorMapLayout/locales.d.ts +6 -0
- package/lib/components/pisellFloorMapLayout/locales.js +9 -3
- package/lib/components/pisellFloorMapLayout/types.d.ts +9 -2
- package/lib/components/pisellFloorMapLayout/utils/floorMapDropUtils.d.ts +1 -0
- package/lib/components/pisellFloorMapLayout/utils/floorMapDropUtils.js +7 -1
- package/lib/components/pisellFloorMapLayout/utils/floorMapElementKindUtils.d.ts +11 -0
- package/lib/components/pisellFloorMapLayout/utils/floorMapElementKindUtils.js +69 -0
- package/lib/components/pisellFloorMapLayout/utils/floorMapFallbackRender.js +2 -1
- package/lib/components/pisellRecordBoard/PisellRecordBoard.js +5 -1
- package/lib/components/pisellRecordBoard/shellFrame/ToolBar/index.d.ts +1 -0
- package/lib/components/pisellRecordBoard/shellFrame/ToolBar/index.js +13 -5
- package/lib/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolbar.less +23 -0
- package/lib/components/pisellRecordBoard/shellFrame/index.d.ts +2 -0
- package/lib/components/pisellRecordBoard/shellFrame/index.js +11 -4
- package/lib/components/pisellRecordBoard/shellFrame/shellFrameFloorMap.less +25 -0
- package/lib/components/pisellRecordBoard/types.d.ts +6 -0
- package/lib/components/pisellReservationScheduleBand/PisellReservationScheduleBand.js +2 -1
- package/lib/components/pisellReservationScheduleBand/PisellReservationScheduleBand.less +18 -1
- package/lib/components/pisellReservationScheduleBand/types.d.ts +4 -0
- package/lib/components/pisellTimeNavigator/PisellTimeNavigator.js +177 -12
- package/lib/components/pisellTimeNavigator/PisellTimeNavigator.less +11 -0
- package/lib/components/pisellTimeNavigator/types.d.ts +11 -0
- package/lib/index.d.ts +1 -1
- package/lib/index.js +8 -0
- package/lowcode/floor-map-image-element/meta.ts +113 -0
- package/lowcode/floor-map-layout-provider/meta.ts +1 -1
- package/lowcode/pisell-floor-map-layout/meta.ts +37 -1
- package/lowcode/render-figma-style-round-table-card/meta.ts +1 -1
- package/lowcode/render-figma-style-table-card/meta.ts +1 -1
- package/package.json +3 -3
|
@@ -21,9 +21,17 @@ var floorMapElementKindUtils_exports = {};
|
|
|
21
21
|
__export(floorMapElementKindUtils_exports, {
|
|
22
22
|
getElementKindConfig: () => getElementKindConfig,
|
|
23
23
|
getSceneElementRenderIssue: () => getSceneElementRenderIssue,
|
|
24
|
+
getSwappableElementKindsInSameCategory: () => getSwappableElementKindsInSameCategory,
|
|
25
|
+
isFloorMapImageElementKind: () => isFloorMapImageElementKind,
|
|
26
|
+
patchSceneElementForKindSwitch: () => patchSceneElementForKindSwitch,
|
|
24
27
|
resolveDataBindingPolicy: () => resolveDataBindingPolicy
|
|
25
28
|
});
|
|
26
29
|
module.exports = __toCommonJS(floorMapElementKindUtils_exports);
|
|
30
|
+
var import_types = require("../types");
|
|
31
|
+
var import_floorMapStageDefaults = require("./floorMapStageDefaults");
|
|
32
|
+
function isFloorMapImageElementKind(kind) {
|
|
33
|
+
return kind === import_types.FLOOR_MAP_IMAGE_ELEMENT_KIND;
|
|
34
|
+
}
|
|
27
35
|
function resolveDataBindingPolicy(kind) {
|
|
28
36
|
return (kind == null ? void 0 : kind.dataBindingPolicy) ?? "none";
|
|
29
37
|
}
|
|
@@ -32,6 +40,64 @@ function getElementKindConfig(config, elementKind) {
|
|
|
32
40
|
if (!elementKind || !((_a = config == null ? void 0 : config.elementKinds) == null ? void 0 : _a.length)) return void 0;
|
|
33
41
|
return config.elementKinds.find((k) => k.value === elementKind);
|
|
34
42
|
}
|
|
43
|
+
function getSwappableElementKindsInSameCategory(config, elementKind) {
|
|
44
|
+
var _a, _b;
|
|
45
|
+
if (!elementKind || !((_a = config.elementKinds) == null ? void 0 : _a.length)) return [];
|
|
46
|
+
const rawCats = config.elementKindCategories ?? [];
|
|
47
|
+
const sorted = [...rawCats].sort((a, b) => (a.order ?? 0) - (b.order ?? 0));
|
|
48
|
+
const fallbackId = ((_b = sorted[0]) == null ? void 0 : _b.id) ?? "_uncat";
|
|
49
|
+
const self = config.elementKinds.find((k) => k.value === elementKind);
|
|
50
|
+
if (!self) return [];
|
|
51
|
+
const cid = self.categoryId ?? fallbackId;
|
|
52
|
+
return config.elementKinds.filter((k) => {
|
|
53
|
+
if (k.showInPalette === false) return false;
|
|
54
|
+
if (k.value === import_types.FLOOR_MAP_STAGE_ELEMENT_KIND) return false;
|
|
55
|
+
if (k.value === import_types.FLOOR_MAP_IMAGE_ELEMENT_KIND) return false;
|
|
56
|
+
return (k.categoryId ?? fallbackId) === cid;
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
var DEFAULT_PLACE_W = 180;
|
|
60
|
+
var DEFAULT_PLACE_H = 120;
|
|
61
|
+
var IMAGE_PLACE_W = 400;
|
|
62
|
+
var IMAGE_PLACE_H = 240;
|
|
63
|
+
var DECO_SIZE = 48;
|
|
64
|
+
function patchSceneElementForKindSwitch(config, element, nextKindValue) {
|
|
65
|
+
var _a, _b;
|
|
66
|
+
const nextCfg = getElementKindConfig(config, nextKindValue);
|
|
67
|
+
const nextPol = resolveDataBindingPolicy(nextCfg);
|
|
68
|
+
const binding = element.dataBinding;
|
|
69
|
+
const isNextImage = isFloorMapImageElementKind(nextKindValue);
|
|
70
|
+
const isNextStage = nextKindValue === import_types.FLOOR_MAP_STAGE_ELEMENT_KIND;
|
|
71
|
+
let clearBinding = false;
|
|
72
|
+
if (nextPol === "none") {
|
|
73
|
+
clearBinding = true;
|
|
74
|
+
} else if (binding && ((_a = nextCfg == null ? void 0 : nextCfg.allowedDataSourceKeys) == null ? void 0 : _a.length)) {
|
|
75
|
+
if (!nextCfg.allowedDataSourceKeys.includes(binding.dataSourceKey)) {
|
|
76
|
+
clearBinding = true;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
const nextW = isNextImage ? IMAGE_PLACE_W : isNextStage ? import_floorMapStageDefaults.STAGE_DECO_DEFAULT.width : DEFAULT_PLACE_W;
|
|
80
|
+
const nextH = isNextImage ? IMAGE_PLACE_H : isNextStage ? import_floorMapStageDefaults.STAGE_DECO_DEFAULT.height : DEFAULT_PLACE_H;
|
|
81
|
+
const useDecoSize = nextPol === "none" && nextKindValue !== import_types.FLOOR_MAP_STAGE_ELEMENT_KIND && !isNextImage;
|
|
82
|
+
const width = useDecoSize ? Math.max(element.width ?? DECO_SIZE, DECO_SIZE) : Math.max(element.width ?? nextW, nextW);
|
|
83
|
+
const height = useDecoSize ? Math.max(element.height ?? DECO_SIZE, DECO_SIZE) : Math.max(element.height ?? nextH, nextH);
|
|
84
|
+
const patch = {
|
|
85
|
+
elementKind: nextKindValue,
|
|
86
|
+
shape: isNextStage || isNextImage ? "rect" : nextCfg == null ? void 0 : nextCfg.defaultShape,
|
|
87
|
+
width,
|
|
88
|
+
height,
|
|
89
|
+
name: ((_b = nextCfg == null ? void 0 : nextCfg.defaultPresentation) == null ? void 0 : _b.title) != null && String(nextCfg.defaultPresentation.title).trim() !== "" ? String(nextCfg.defaultPresentation.title) : element.name
|
|
90
|
+
};
|
|
91
|
+
if (clearBinding) {
|
|
92
|
+
patch.dataBinding = void 0;
|
|
93
|
+
}
|
|
94
|
+
if (isNextImage) {
|
|
95
|
+
patch.imageUrl = element.imageUrl ?? "";
|
|
96
|
+
} else {
|
|
97
|
+
patch.imageUrl = void 0;
|
|
98
|
+
}
|
|
99
|
+
return patch;
|
|
100
|
+
}
|
|
35
101
|
function getSceneElementRenderIssue(element, kind, dataSources) {
|
|
36
102
|
const policy = resolveDataBindingPolicy(kind);
|
|
37
103
|
const binding = element.dataBinding;
|
|
@@ -66,5 +132,8 @@ function getSceneElementRenderIssue(element, kind, dataSources) {
|
|
|
66
132
|
0 && (module.exports = {
|
|
67
133
|
getElementKindConfig,
|
|
68
134
|
getSceneElementRenderIssue,
|
|
135
|
+
getSwappableElementKindsInSameCategory,
|
|
136
|
+
isFloorMapImageElementKind,
|
|
137
|
+
patchSceneElementForKindSwitch,
|
|
69
138
|
resolveDataBindingPolicy
|
|
70
139
|
});
|
|
@@ -35,6 +35,7 @@ __export(floorMapFallbackRender_exports, {
|
|
|
35
35
|
module.exports = __toCommonJS(floorMapFallbackRender_exports);
|
|
36
36
|
var import_react = __toESM(require("react"));
|
|
37
37
|
var import_types = require("../types");
|
|
38
|
+
var import_floorMapElementKindUtils = require("./floorMapElementKindUtils");
|
|
38
39
|
var import_FloorMapImageElement = require("../components/FloorMapImageElement");
|
|
39
40
|
var import_floorMapStageDefaults = require("./floorMapStageDefaults");
|
|
40
41
|
function renderFloorMapRenderError(message) {
|
|
@@ -67,7 +68,7 @@ function renderFloorMapFallbackPlaceholder(item) {
|
|
|
67
68
|
const isStage = kind === import_types.FLOOR_MAP_STAGE_ELEMENT_KIND;
|
|
68
69
|
const nameText = (item == null ? void 0 : item.name) != null ? String(item.name).trim() : "";
|
|
69
70
|
const fallbackLabel = nameText || kind;
|
|
70
|
-
if (
|
|
71
|
+
if ((0, import_floorMapElementKindUtils.isFloorMapImageElementKind)(kind)) {
|
|
71
72
|
const url = (_a = item._sceneElement) == null ? void 0 : _a.imageUrl;
|
|
72
73
|
return /* @__PURE__ */ import_react.default.createElement(
|
|
73
74
|
import_FloorMapImageElement.FloorMapImageElement,
|
|
@@ -92,6 +92,7 @@ function getDefaultRecordBoardContext(layoutType, selection, rowKey) {
|
|
|
92
92
|
floorMapLayoutContext: void 0,
|
|
93
93
|
defaultBodyView: void 0,
|
|
94
94
|
floorMapLayoutRef: void 0,
|
|
95
|
+
floorMapFooter: void 0,
|
|
95
96
|
dataSources: void 0,
|
|
96
97
|
gridDataSourceKey: void 0
|
|
97
98
|
};
|
|
@@ -116,6 +117,7 @@ var PisellRecordBoard = (props) => {
|
|
|
116
117
|
defaultBodyView,
|
|
117
118
|
bodyViewStorageKey,
|
|
118
119
|
floorMapLayoutRef,
|
|
120
|
+
floorMapFooter,
|
|
119
121
|
className: classNameProp,
|
|
120
122
|
style: styleProp,
|
|
121
123
|
...rest
|
|
@@ -285,7 +287,8 @@ var PisellRecordBoard = (props) => {
|
|
|
285
287
|
floorMapProps: floorMapProp,
|
|
286
288
|
floorMapLayoutContext: floorMapLayoutContextProp,
|
|
287
289
|
defaultBodyView,
|
|
288
|
-
floorMapLayoutRef
|
|
290
|
+
floorMapLayoutRef,
|
|
291
|
+
floorMapFooter
|
|
289
292
|
};
|
|
290
293
|
}, [
|
|
291
294
|
layoutType,
|
|
@@ -315,6 +318,7 @@ var PisellRecordBoard = (props) => {
|
|
|
315
318
|
floorMapLayoutContextProp,
|
|
316
319
|
defaultBodyView,
|
|
317
320
|
floorMapLayoutRef,
|
|
321
|
+
floorMapFooter,
|
|
318
322
|
bodyView,
|
|
319
323
|
setBodyView
|
|
320
324
|
]);
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { RecordBoardToolBarProps as ToolBarPropsType } from '../../types';
|
|
3
3
|
import './ToolBarFilter.less';
|
|
4
|
+
import './recordBoardToolbar.less';
|
|
4
5
|
/**
|
|
5
6
|
* RecordBoard 下的工具栏:使用 PisellToolBar。
|
|
6
7
|
* 左侧默认 PisellFind(inline);右侧默认 PisellFilter。通过 childComponentProps.toolBar.search / toolBar.filter 为对象时透传对应组件 props,为 false 时不渲染。
|
|
@@ -33,6 +33,7 @@ __export(ToolBar_exports, {
|
|
|
33
33
|
});
|
|
34
34
|
module.exports = __toCommonJS(ToolBar_exports);
|
|
35
35
|
var import_react = __toESM(require("react"));
|
|
36
|
+
var import_classnames = __toESM(require("classnames"));
|
|
36
37
|
var import_antd = require("antd");
|
|
37
38
|
var import_SwitchVertical01 = __toESM(require("@pisell/icon/es/SwitchVertical01"));
|
|
38
39
|
var import_ToolBar = __toESM(require("../../../pisellGridPro/ToolBar"));
|
|
@@ -47,6 +48,7 @@ var import_useRecordBoardContext = require("../../hooks/useRecordBoardContext");
|
|
|
47
48
|
var import_utils = require("@pisell/utils");
|
|
48
49
|
var import_locales = require("../../../../locales");
|
|
49
50
|
var import_ToolBarFilter = require("./ToolBarFilter.less");
|
|
51
|
+
var import_recordBoardToolbar = require("./recordBoardToolbar.less");
|
|
50
52
|
var import_recordBoardColumns = require("../../utils/recordBoardColumns");
|
|
51
53
|
function getSortButtonText() {
|
|
52
54
|
const key = "pisell2.recordBoard.toolbar.sort";
|
|
@@ -155,7 +157,9 @@ var RecordBoardToolBar = (props) => {
|
|
|
155
157
|
style: { marginRight: 8 }
|
|
156
158
|
}
|
|
157
159
|
) : null;
|
|
158
|
-
const
|
|
160
|
+
const compactFloorMapToolbar = bodyView === "floorMap" && showTableFloorToggle;
|
|
161
|
+
const hideBodyViewToggleInToolbarRow = showTableFloorToggle && Boolean(slots.tabs) && bodyView === "floorMap";
|
|
162
|
+
const topLeft = compactFloorMapToolbar ? null : /* @__PURE__ */ import_react.default.createElement("div", { className: "record-board-toolbar-top-left" }, !hideBodyViewToggleInToolbarRow ? bodyViewToggle : null, quickFilterNode, searchNode ? /* @__PURE__ */ import_react.default.createElement("div", { className: "record-board-toolbar-find-wrap" }, searchNode) : null, slots.topLeft);
|
|
159
163
|
const sortConfig = slots.sort;
|
|
160
164
|
const hideSort = sortConfig === false;
|
|
161
165
|
const sortValue = searchParams == null ? void 0 : searchParams[SORT_PARAMS_FIELD];
|
|
@@ -273,17 +277,21 @@ var RecordBoardToolBar = (props) => {
|
|
|
273
277
|
}
|
|
274
278
|
);
|
|
275
279
|
const showColumnSetting = slots.columnSetting !== false && Array.isArray(gridColumns) && gridColumns.length > 0;
|
|
276
|
-
const topRight = /* @__PURE__ */ import_react.default.createElement(import_antd.Space, null, showColumnSetting ? /* @__PURE__ */ import_react.default.createElement(import_ColumnSetting.default, null) : null, sortNode, filterNode, /* @__PURE__ */ import_react.default.createElement(import_ToolBarReset.default, { size: "large" }), slots.topRight);
|
|
280
|
+
const topRight = compactFloorMapToolbar ? null : /* @__PURE__ */ import_react.default.createElement(import_antd.Space, null, showColumnSetting ? /* @__PURE__ */ import_react.default.createElement(import_ColumnSetting.default, null) : null, sortNode, filterNode, /* @__PURE__ */ import_react.default.createElement(import_ToolBarReset.default, { size: "large" }), slots.topRight);
|
|
277
281
|
return /* @__PURE__ */ import_react.default.createElement(
|
|
278
282
|
import_ToolBar.default,
|
|
279
283
|
{
|
|
280
|
-
className:
|
|
284
|
+
className: (0, import_classnames.default)(
|
|
285
|
+
bodyView === "floorMap" && "pisell-record-board-toolbar--floor-map",
|
|
286
|
+
bodyView === "grid" && "pisell-record-board-toolbar--grid",
|
|
287
|
+
slots.className
|
|
288
|
+
),
|
|
281
289
|
style: slots.style,
|
|
282
290
|
tabs: slots.tabs,
|
|
283
291
|
topLeft,
|
|
284
292
|
topRight,
|
|
285
|
-
bottomLeft: slots.bottomLeft,
|
|
286
|
-
bottomRight: slots.bottomRight
|
|
293
|
+
bottomLeft: compactFloorMapToolbar ? null : slots.bottomLeft,
|
|
294
|
+
bottomRight: compactFloorMapToolbar ? null : slots.bottomRight
|
|
287
295
|
}
|
|
288
296
|
);
|
|
289
297
|
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 平面视图:工具栏常仅一行(ScheduleBand),去掉 GridPro 默认底内边距。
|
|
3
|
+
* 不用仅依赖 #body:Story/本地预览可能没有 id=body,低代码若再包一层 #body 会导致双前缀失效。
|
|
4
|
+
* !important:确保晚于 @pisellGridPro/ToolBar 中单类 .pisell-grid-pro-toolbar 的 padding-bottom。
|
|
5
|
+
*/
|
|
6
|
+
.pisell-grid-pro-toolbar.pisell-record-board-toolbar--floor-map {
|
|
7
|
+
padding-bottom: 0 !important;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
#body .pisell-grid-pro-toolbar.pisell-record-board-toolbar--floor-map {
|
|
11
|
+
padding-bottom: 0 !important;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/* 表格态工具栏与内容对齐:左右留白 16;平面图态不加此内边距 */
|
|
15
|
+
.pisell-grid-pro-toolbar.pisell-record-board-toolbar--grid {
|
|
16
|
+
padding-left: 16px;
|
|
17
|
+
padding-right: 16px;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
#body .pisell-grid-pro-toolbar.pisell-record-board-toolbar--grid {
|
|
21
|
+
padding-left: 16px;
|
|
22
|
+
padding-right: 16px;
|
|
23
|
+
}
|
|
@@ -3,6 +3,7 @@ import RecordBoardToolBar from './ToolBar';
|
|
|
3
3
|
import RecordBoardBatchActionBar from './BatchActionBar';
|
|
4
4
|
import RecordBoardPagination from './Pagination';
|
|
5
5
|
import RecordBoardSearch from './Search';
|
|
6
|
+
import './shellFrameFloorMap.less';
|
|
6
7
|
import ToolBarReset from './ToolBarReset';
|
|
7
8
|
import ToolBarQuickFilter from './ToolBarQuickFilter';
|
|
8
9
|
import RecordBoardFloorMap from './FloorMap';
|
|
@@ -18,3 +19,4 @@ declare const RecordBoardShellFrame: React.FC<{
|
|
|
18
19
|
}>;
|
|
19
20
|
export default RecordBoardShellFrame;
|
|
20
21
|
export { RecordBoardToolBar, RecordBoardBatchActionBar, RecordBoardPagination, RecordBoardSearch, ToolBarReset, ToolBarQuickFilter, RecordBoardFloorMap };
|
|
22
|
+
export { useRecordBoardShellBodyMeta } from './ShellBodyMetaContext';
|
|
@@ -36,7 +36,8 @@ __export(shellFrame_exports, {
|
|
|
36
36
|
RecordBoardToolBar: () => import_ToolBar.default,
|
|
37
37
|
ToolBarQuickFilter: () => import_ToolBarQuickFilter.default,
|
|
38
38
|
ToolBarReset: () => import_ToolBarReset.default,
|
|
39
|
-
default: () => shellFrame_default
|
|
39
|
+
default: () => shellFrame_default,
|
|
40
|
+
useRecordBoardShellBodyMeta: () => import_ShellBodyMetaContext2.useRecordBoardShellBodyMeta
|
|
40
41
|
});
|
|
41
42
|
module.exports = __toCommonJS(shellFrame_exports);
|
|
42
43
|
var import_react = __toESM(require("react"));
|
|
@@ -48,10 +49,12 @@ var import_ToolBar = __toESM(require("./ToolBar"));
|
|
|
48
49
|
var import_BatchActionBar = __toESM(require("./BatchActionBar"));
|
|
49
50
|
var import_Pagination = __toESM(require("./Pagination"));
|
|
50
51
|
var import_Search = __toESM(require("./Search"));
|
|
52
|
+
var import_shellFrameFloorMap = require("./shellFrameFloorMap.less");
|
|
51
53
|
var import_ToolBarReset = __toESM(require("./ToolBarReset"));
|
|
52
54
|
var import_ToolBarQuickFilter = __toESM(require("./ToolBarQuickFilter"));
|
|
53
55
|
var import_FloorMap = __toESM(require("./FloorMap"));
|
|
54
56
|
var import_ShellBodyMetaContext = require("./ShellBodyMetaContext");
|
|
57
|
+
var import_ShellBodyMetaContext2 = require("./ShellBodyMetaContext");
|
|
55
58
|
var FILL_HEIGHT_SCROLL_STYLE = {
|
|
56
59
|
flex: 1,
|
|
57
60
|
minHeight: 0,
|
|
@@ -152,12 +155,14 @@ var RecordBoardShellFrame = ({ children, className, style }) => {
|
|
|
152
155
|
const floorMapNode = effectiveFloorMapProps && !showGrid ? /* @__PURE__ */ import_react.default.createElement(
|
|
153
156
|
"div",
|
|
154
157
|
{
|
|
158
|
+
className: "pisell-record-board-floor-map-viewport",
|
|
155
159
|
style: {
|
|
156
160
|
flex: 1,
|
|
157
161
|
minHeight: 0,
|
|
158
162
|
display: "flex",
|
|
159
163
|
flexDirection: "column",
|
|
160
|
-
overflow: "hidden"
|
|
164
|
+
overflow: "hidden",
|
|
165
|
+
position: "relative"
|
|
161
166
|
}
|
|
162
167
|
},
|
|
163
168
|
/* @__PURE__ */ import_react.default.createElement(import_pisellFloorMapLayout.FloorMapLayoutProvider, { value: floorMapLayoutProviderValue }, /* @__PURE__ */ import_react.default.createElement(
|
|
@@ -174,7 +179,8 @@ var RecordBoardShellFrame = ({ children, className, style }) => {
|
|
|
174
179
|
...effectiveFloorMapProps.style ?? {}
|
|
175
180
|
}
|
|
176
181
|
}
|
|
177
|
-
))
|
|
182
|
+
)),
|
|
183
|
+
ctx.floorMapFooter ? /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-record-board-floor-map-floating-slot" }, ctx.floorMapFooter) : null
|
|
178
184
|
) : null;
|
|
179
185
|
const bodyContent = fillHeight ? /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, showGrid ? /* @__PURE__ */ import_react.default.createElement(
|
|
180
186
|
ScrollAreaMeasurer,
|
|
@@ -215,5 +221,6 @@ var shellFrame_default = RecordBoardShellFrame;
|
|
|
215
221
|
RecordBoardSearch,
|
|
216
222
|
RecordBoardToolBar,
|
|
217
223
|
ToolBarQuickFilter,
|
|
218
|
-
ToolBarReset
|
|
224
|
+
ToolBarReset,
|
|
225
|
+
useRecordBoardShellBodyMeta
|
|
219
226
|
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** 平面图区域:画布 + 悬浮层共用,便于底部按钮叠在画布上 */
|
|
2
|
+
.pisell-record-board-floor-map-viewport {
|
|
3
|
+
box-sizing: border-box;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* 画布内底部居中悬浮插槽(如「编辑平面图」)。
|
|
8
|
+
* 容器不接收指针事件,避免挡画布拖拽/缩放;子节点恢复可点。
|
|
9
|
+
*/
|
|
10
|
+
.pisell-record-board-floor-map-floating-slot {
|
|
11
|
+
position: absolute;
|
|
12
|
+
left: 0;
|
|
13
|
+
right: 0;
|
|
14
|
+
bottom: 20px;
|
|
15
|
+
display: flex;
|
|
16
|
+
justify-content: center;
|
|
17
|
+
align-items: center;
|
|
18
|
+
pointer-events: none;
|
|
19
|
+
/* 高于 PisellFloorMapLayout 内 ViewControls(20),避免与左下角控件叠次序模糊 */
|
|
20
|
+
z-index: 25;
|
|
21
|
+
|
|
22
|
+
> * {
|
|
23
|
+
pointer-events: auto;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -204,6 +204,10 @@ export interface RecordBoardContextValue {
|
|
|
204
204
|
defaultBodyView?: RecordBoardBodyView;
|
|
205
205
|
/** 挂到 ShellFrame 内 PisellFloorMapLayout,供外部 imperative 调用(如 saveLayout / fitBounds) */
|
|
206
206
|
floorMapLayoutRef?: Ref<PisellFloorMapLayoutRef | null>;
|
|
207
|
+
/**
|
|
208
|
+
* 平面图视图下叠在画布内的底部居中悬浮区(如「编辑平面图」),不单独占一行 footer。
|
|
209
|
+
*/
|
|
210
|
+
floorMapFooter?: ReactNode;
|
|
207
211
|
}
|
|
208
212
|
/**
|
|
209
213
|
* 各 layout 下子组件的可选透传配置(类似 ChildComponentProps)
|
|
@@ -370,6 +374,8 @@ export interface RecordBoardProps {
|
|
|
370
374
|
bodyViewStorageKey?: string;
|
|
371
375
|
/** 平面图 Layout 实例 ref,由 ShellFrame 注入 */
|
|
372
376
|
floorMapLayoutRef?: Ref<PisellFloorMapLayoutRef | null>;
|
|
377
|
+
/** 平面图画布内底部悬浮插槽(如编辑入口),注入 Context 供 ShellFrame 渲染 */
|
|
378
|
+
floorMapFooter?: ReactNode;
|
|
373
379
|
/** 其他 */
|
|
374
380
|
[key: string]: any;
|
|
375
381
|
}
|
|
@@ -53,6 +53,7 @@ function PisellReservationScheduleBand(props) {
|
|
|
53
53
|
timeNavigatorProps,
|
|
54
54
|
scheduleStartSlot,
|
|
55
55
|
scheduleEndSlot,
|
|
56
|
+
scheduleAfterDateSlot,
|
|
56
57
|
className,
|
|
57
58
|
style
|
|
58
59
|
} = props;
|
|
@@ -108,7 +109,7 @@ function PisellReservationScheduleBand(props) {
|
|
|
108
109
|
onChange: handleDateChange,
|
|
109
110
|
...scheduleProps
|
|
110
111
|
}
|
|
111
|
-
)), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-reservation-schedule-band-slot-end" }, scheduleEndSlot)),
|
|
112
|
+
), scheduleAfterDateSlot ? /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-reservation-schedule-band-after-date" }, scheduleAfterDateSlot) : null), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-reservation-schedule-band-slot-end" }, scheduleEndSlot)),
|
|
112
113
|
/* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-reservation-schedule-band-navigator" }, /* @__PURE__ */ import_react.default.createElement(
|
|
113
114
|
import_pisellTimeNavigator.PisellTimeNavigator,
|
|
114
115
|
{
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
flex-direction: column;
|
|
4
4
|
align-items: stretch;
|
|
5
5
|
width: 100%;
|
|
6
|
-
gap:
|
|
6
|
+
gap: 0;
|
|
7
7
|
box-sizing: border-box;
|
|
8
8
|
}
|
|
9
9
|
|
|
@@ -40,7 +40,24 @@
|
|
|
40
40
|
justify-self: center;
|
|
41
41
|
min-width: 0;
|
|
42
42
|
display: flex;
|
|
43
|
+
flex-direction: row;
|
|
44
|
+
flex-wrap: nowrap;
|
|
45
|
+
align-items: center;
|
|
43
46
|
justify-content: center;
|
|
47
|
+
gap: 8px;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/** 日程组件根节点默认 width:100%,在中间栏会与「日期右侧」插槽分两行;此处收窄为内容宽,保证与 after-date 同一行 */
|
|
51
|
+
.pisell-reservation-schedule-band-schedule > .pisell-reservation-schedule {
|
|
52
|
+
width: auto;
|
|
53
|
+
flex: 0 0 auto;
|
|
54
|
+
min-width: 0;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.pisell-reservation-schedule-band-after-date {
|
|
58
|
+
display: flex;
|
|
59
|
+
align-items: center;
|
|
60
|
+
flex-shrink: 0;
|
|
44
61
|
}
|
|
45
62
|
|
|
46
63
|
.pisell-reservation-schedule-band-navigator {
|
|
@@ -40,6 +40,10 @@ export interface PisellReservationScheduleBandProps {
|
|
|
40
40
|
* 顶栏日程行:PisellReservationSchedule 右侧自定义内容(如状态、主按钮)
|
|
41
41
|
*/
|
|
42
42
|
scheduleEndSlot?: ReactNode;
|
|
43
|
+
/**
|
|
44
|
+
* 顶栏日程行:紧挨在选日组件之后(如「跟随当前」),与中间列同一 flex 区
|
|
45
|
+
*/
|
|
46
|
+
scheduleAfterDateSlot?: ReactNode;
|
|
43
47
|
className?: string;
|
|
44
48
|
style?: CSSProperties;
|
|
45
49
|
}
|
|
@@ -48,6 +48,7 @@ var CELL_SIZE_V = 20;
|
|
|
48
48
|
var CURSOR_MOVES_NOW_RESERVE_PX = 56;
|
|
49
49
|
var CURSOR_MOVES_H_PADDING_PX = 8;
|
|
50
50
|
var CURSOR_MOVES_MIN_CELL_PX = 8;
|
|
51
|
+
var DENSITY_LAYER_HEIGHT = 46;
|
|
51
52
|
function PisellTimeNavigator(props) {
|
|
52
53
|
var _a, _b;
|
|
53
54
|
const {
|
|
@@ -77,7 +78,9 @@ function PisellTimeNavigator(props) {
|
|
|
77
78
|
locale,
|
|
78
79
|
timeFormat = "HH:mm",
|
|
79
80
|
renderNowButton,
|
|
80
|
-
onUserInteraction
|
|
81
|
+
onUserInteraction,
|
|
82
|
+
densitySeries: densitySeriesProp,
|
|
83
|
+
loadDensity: loadDensityProp
|
|
81
84
|
} = props;
|
|
82
85
|
const context = (0, import_useEngineContext.default)();
|
|
83
86
|
import_utils2.locales.init(
|
|
@@ -91,6 +94,38 @@ function PisellTimeNavigator(props) {
|
|
|
91
94
|
}, [referenceDateProp]);
|
|
92
95
|
const referenceDate = referenceDateFromProp ?? (0, import_dayjs.default)().startOf("day");
|
|
93
96
|
const isHorizontal = orientation === "horizontal";
|
|
97
|
+
const referenceDayKey = referenceDateFromProp != null ? referenceDateFromProp.format("YYYY-MM-DD") : (0, import_dayjs.default)().format("YYYY-MM-DD");
|
|
98
|
+
const [densityLoaded, setDensityLoaded] = (0, import_react.useState)();
|
|
99
|
+
const densityReqId = (0, import_react.useRef)(0);
|
|
100
|
+
const densityGradientId = (0, import_react.useMemo)(
|
|
101
|
+
() => `pisell-time-density-fill-${Math.random().toString(36).slice(2, 8)}`,
|
|
102
|
+
[]
|
|
103
|
+
);
|
|
104
|
+
(0, import_react.useEffect)(() => {
|
|
105
|
+
if (densitySeriesProp !== void 0) {
|
|
106
|
+
setDensityLoaded(void 0);
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
if (!loadDensityProp) {
|
|
110
|
+
setDensityLoaded(void 0);
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
const req = ++densityReqId.current;
|
|
114
|
+
let cancelled = false;
|
|
115
|
+
setDensityLoaded(void 0);
|
|
116
|
+
const refDay = (0, import_dayjs.default)(referenceDayKey).startOf("day");
|
|
117
|
+
void loadDensityProp({ referenceDate: refDay, stepMinutes }).then((arr) => {
|
|
118
|
+
if (cancelled || req !== densityReqId.current) return;
|
|
119
|
+
setDensityLoaded(Array.isArray(arr) ? arr : []);
|
|
120
|
+
}).catch(() => {
|
|
121
|
+
if (cancelled || req !== densityReqId.current) return;
|
|
122
|
+
setDensityLoaded(void 0);
|
|
123
|
+
});
|
|
124
|
+
return () => {
|
|
125
|
+
cancelled = true;
|
|
126
|
+
};
|
|
127
|
+
}, [referenceDayKey, stepMinutes, loadDensityProp, densitySeriesProp]);
|
|
128
|
+
const resolvedDensity = densitySeriesProp !== void 0 ? densitySeriesProp : densityLoaded;
|
|
94
129
|
const isAxisMoves = cursorMode === "axis-moves";
|
|
95
130
|
const [viewportSize, setViewportSize] = (0, import_react.useState)({ w: 0, h: 0 });
|
|
96
131
|
const viewportWrapRef = (0, import_react.useRef)(null);
|
|
@@ -122,10 +157,7 @@ function PisellTimeNavigator(props) {
|
|
|
122
157
|
const reserve = showNowButton ? CURSOR_MOVES_NOW_RESERVE_PX : 0;
|
|
123
158
|
const usable = Math.max(40, vpW - reserve - CURSOR_MOVES_H_PADDING_PX * 2);
|
|
124
159
|
const raw = Math.floor(usable / n);
|
|
125
|
-
return Math.max(
|
|
126
|
-
CURSOR_MOVES_MIN_CELL_PX,
|
|
127
|
-
Math.min(CELL_SIZE_H, raw)
|
|
128
|
-
);
|
|
160
|
+
return Math.max(CURSOR_MOVES_MIN_CELL_PX, Math.min(CELL_SIZE_H, raw));
|
|
129
161
|
}, [
|
|
130
162
|
isHorizontal,
|
|
131
163
|
isAxisMoves,
|
|
@@ -140,6 +172,48 @@ function PisellTimeNavigator(props) {
|
|
|
140
172
|
orientation,
|
|
141
173
|
cellSizePx
|
|
142
174
|
});
|
|
175
|
+
const horizontalDensityCurve = (0, import_react.useMemo)(() => {
|
|
176
|
+
if (!isHorizontal || !(resolvedDensity == null ? void 0 : resolvedDensity.length)) return null;
|
|
177
|
+
const ticksN = axis.ticks.length;
|
|
178
|
+
const n = Math.min(resolvedDensity.length, ticksN);
|
|
179
|
+
if (n < 2) return null;
|
|
180
|
+
const slice = resolvedDensity.slice(0, n);
|
|
181
|
+
const maxV = Math.max(...slice, 0);
|
|
182
|
+
const minV = Math.min(...slice, 0);
|
|
183
|
+
const span = Math.max(1, maxV - minV);
|
|
184
|
+
const h = DENSITY_LAYER_HEIGHT;
|
|
185
|
+
const points = slice.map((v, i) => {
|
|
186
|
+
const x = i * cellSizePx + cellSizePx / 2;
|
|
187
|
+
const t = (v - minV) / span;
|
|
188
|
+
const y = h - 1 - t * (h - 3);
|
|
189
|
+
return { x, y };
|
|
190
|
+
});
|
|
191
|
+
const first = points[0];
|
|
192
|
+
const last = points[points.length - 1];
|
|
193
|
+
let linePath = `M ${first.x} ${first.y}`;
|
|
194
|
+
for (let i = 0; i < points.length - 1; i += 1) {
|
|
195
|
+
const p0 = points[i];
|
|
196
|
+
const p1 = points[i + 1];
|
|
197
|
+
const cx = (p0.x + p1.x) / 2;
|
|
198
|
+
const cy = (p0.y + p1.y) / 2;
|
|
199
|
+
linePath += ` Q ${p0.x} ${p0.y} ${cx} ${cy}`;
|
|
200
|
+
}
|
|
201
|
+
linePath += ` T ${last.x} ${last.y}`;
|
|
202
|
+
const areaPath = `${linePath} L ${last.x} ${h} L ${first.x} ${h} Z`;
|
|
203
|
+
return {
|
|
204
|
+
points,
|
|
205
|
+
linePath,
|
|
206
|
+
areaPath,
|
|
207
|
+
h,
|
|
208
|
+
w: axis.totalLengthPx
|
|
209
|
+
};
|
|
210
|
+
}, [
|
|
211
|
+
isHorizontal,
|
|
212
|
+
resolvedDensity,
|
|
213
|
+
axis.ticks,
|
|
214
|
+
axis.totalLengthPx,
|
|
215
|
+
cellSizePx
|
|
216
|
+
]);
|
|
143
217
|
const isControlled = valueProp !== void 0;
|
|
144
218
|
const [internalValue, setInternalValue] = (0, import_react.useState)(() => {
|
|
145
219
|
const v = valueProp ?? defaultValue;
|
|
@@ -181,6 +255,39 @@ function PisellTimeNavigator(props) {
|
|
|
181
255
|
const dotOffsetPx = isHorizontal ? cellSizePx / 2 : 0;
|
|
182
256
|
const axisStartMarginW = isHorizontal && !isAxisMoves ? CURSOR_MOVES_H_PADDING_PX : Math.max(0, halfViewportW - dotOffsetPx);
|
|
183
257
|
const axisStartMarginH = Math.max(0, halfViewportH - dotOffsetPx);
|
|
258
|
+
const horizontalAxisWrapStyle = (0, import_react.useMemo)(() => {
|
|
259
|
+
if (!isHorizontal) return null;
|
|
260
|
+
const minHeight = 48;
|
|
261
|
+
if (isAxisMoves) {
|
|
262
|
+
const natural2 = axis.totalLengthPx + (effectiveViewportW - cellSizePx);
|
|
263
|
+
if (!showNowButton) {
|
|
264
|
+
return {
|
|
265
|
+
width: "100%",
|
|
266
|
+
minWidth: natural2,
|
|
267
|
+
minHeight,
|
|
268
|
+
boxSizing: "border-box"
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
return { width: natural2, minHeight };
|
|
272
|
+
}
|
|
273
|
+
const natural = CURSOR_MOVES_H_PADDING_PX + axis.totalLengthPx + CURSOR_MOVES_H_PADDING_PX;
|
|
274
|
+
if (!showNowButton) {
|
|
275
|
+
return {
|
|
276
|
+
width: "100%",
|
|
277
|
+
minWidth: natural,
|
|
278
|
+
minHeight,
|
|
279
|
+
boxSizing: "border-box"
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
return { width: natural, minHeight };
|
|
283
|
+
}, [
|
|
284
|
+
isHorizontal,
|
|
285
|
+
isAxisMoves,
|
|
286
|
+
axis.totalLengthPx,
|
|
287
|
+
effectiveViewportW,
|
|
288
|
+
cellSizePx,
|
|
289
|
+
showNowButton
|
|
290
|
+
]);
|
|
184
291
|
const handleScroll = (0, import_react.useCallback)(
|
|
185
292
|
(data) => {
|
|
186
293
|
if (scrollToCenterInProgressRef.current) return;
|
|
@@ -577,13 +684,7 @@ function PisellTimeNavigator(props) {
|
|
|
577
684
|
"div",
|
|
578
685
|
{
|
|
579
686
|
className: "pisell-time-navigator-axis-wrap",
|
|
580
|
-
style: isHorizontal ?
|
|
581
|
-
width: axis.totalLengthPx + (effectiveViewportW - cellSizePx),
|
|
582
|
-
minHeight: 48
|
|
583
|
-
} : {
|
|
584
|
-
width: CURSOR_MOVES_H_PADDING_PX + axis.totalLengthPx + CURSOR_MOVES_H_PADDING_PX,
|
|
585
|
-
minHeight: 48
|
|
586
|
-
} : {
|
|
687
|
+
style: isHorizontal ? horizontalAxisWrapStyle ?? { minHeight: 48 } : {
|
|
587
688
|
width: "100%"
|
|
588
689
|
/* 不设 height,由轴(marginTop + 内容 + marginBottom)自然撑开,避免固定高度与 margin 的 CSS 盒模型歧义 */
|
|
589
690
|
}
|
|
@@ -628,6 +729,70 @@ function PisellTimeNavigator(props) {
|
|
|
628
729
|
businessHoursPx
|
|
629
730
|
}
|
|
630
731
|
),
|
|
732
|
+
horizontalDensityCurve ? /* @__PURE__ */ import_react.default.createElement(
|
|
733
|
+
"svg",
|
|
734
|
+
{
|
|
735
|
+
className: "pisell-time-navigator-density-layer",
|
|
736
|
+
width: horizontalDensityCurve.w,
|
|
737
|
+
height: horizontalDensityCurve.h,
|
|
738
|
+
viewBox: `0 0 ${horizontalDensityCurve.w} ${horizontalDensityCurve.h}`,
|
|
739
|
+
preserveAspectRatio: "none",
|
|
740
|
+
"aria-hidden": true
|
|
741
|
+
},
|
|
742
|
+
/* @__PURE__ */ import_react.default.createElement("defs", null, /* @__PURE__ */ import_react.default.createElement(
|
|
743
|
+
"linearGradient",
|
|
744
|
+
{
|
|
745
|
+
id: densityGradientId,
|
|
746
|
+
x1: "0",
|
|
747
|
+
y1: "0",
|
|
748
|
+
x2: "0",
|
|
749
|
+
y2: "1"
|
|
750
|
+
},
|
|
751
|
+
/* @__PURE__ */ import_react.default.createElement(
|
|
752
|
+
"stop",
|
|
753
|
+
{
|
|
754
|
+
offset: "0%",
|
|
755
|
+
stopColor: "#ff9c66",
|
|
756
|
+
stopOpacity: "0.32"
|
|
757
|
+
}
|
|
758
|
+
),
|
|
759
|
+
/* @__PURE__ */ import_react.default.createElement(
|
|
760
|
+
"stop",
|
|
761
|
+
{
|
|
762
|
+
offset: "100%",
|
|
763
|
+
stopColor: "#ff9c66",
|
|
764
|
+
stopOpacity: "0.02"
|
|
765
|
+
}
|
|
766
|
+
)
|
|
767
|
+
)),
|
|
768
|
+
/* @__PURE__ */ import_react.default.createElement(
|
|
769
|
+
"path",
|
|
770
|
+
{
|
|
771
|
+
d: horizontalDensityCurve.areaPath,
|
|
772
|
+
fill: `url(#${densityGradientId})`
|
|
773
|
+
}
|
|
774
|
+
),
|
|
775
|
+
/* @__PURE__ */ import_react.default.createElement(
|
|
776
|
+
"path",
|
|
777
|
+
{
|
|
778
|
+
d: horizontalDensityCurve.linePath,
|
|
779
|
+
fill: "none",
|
|
780
|
+
stroke: "#ff8a4a",
|
|
781
|
+
strokeWidth: 1.8,
|
|
782
|
+
vectorEffect: "non-scaling-stroke"
|
|
783
|
+
}
|
|
784
|
+
),
|
|
785
|
+
horizontalDensityCurve.points.map((p, i) => /* @__PURE__ */ import_react.default.createElement(
|
|
786
|
+
"circle",
|
|
787
|
+
{
|
|
788
|
+
key: i,
|
|
789
|
+
cx: p.x,
|
|
790
|
+
cy: p.y,
|
|
791
|
+
r: 1.4,
|
|
792
|
+
fill: "#ff8a4a"
|
|
793
|
+
}
|
|
794
|
+
))
|
|
795
|
+
) : null,
|
|
631
796
|
/* @__PURE__ */ import_react.default.createElement(
|
|
632
797
|
import_components.ScaleLayer,
|
|
633
798
|
{
|