@pisell/materials 6.11.42 → 6.11.44
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 +1 -1
- package/build/lowcode/preview.js +8 -8
- package/build/lowcode/render/default/view.css +1 -1
- package/build/lowcode/render/default/view.js +18 -18
- package/build/lowcode/view.css +1 -1
- package/build/lowcode/view.js +18 -18
- package/es/components/Pagination/index.d.ts +0 -1
- package/es/components/PisellCards/components/PisellImageCard/PisellImageCard.d.ts +0 -1
- package/es/components/PisellFields/index.d.ts +0 -1
- package/es/components/PisellMetrics/index.d.ts +0 -1
- package/es/components/cardPro/index.d.ts +1 -0
- package/es/components/colorPicker/index.d.ts +0 -1
- package/es/components/dataSourceComponents/dataSourceForm/formItem.d.ts +0 -1
- package/es/components/dataSourceComponents/dataSourceForm/utils.d.ts +1 -1
- package/es/components/dataSourceComponents/dataSourceShow/dataSourceImage/index.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 +2 -3
- package/es/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.d.ts +3 -3
- 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/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/index.d.ts +1 -1
- package/es/components/dataSourceComponents/fields/RecordListWrapper/index.d.ts +1 -2
- package/es/components/dataSourceComponents/fields/Select/index.d.ts +1 -2
- package/es/components/dataSourceComponents/fields/Tabs/index.d.ts +1 -2
- package/es/components/dataSourceComponents/fields/Upload/ReadPretty.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/Upload/utils.d.ts +1 -1
- package/es/components/dataSourceComponents/fields/index.d.ts +16 -17
- 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 +1 -0
- package/es/components/filter/components/FilterItem/index.js +3 -1
- package/es/components/filter/components/QuickFilter/index.js +3 -2
- 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/list/index.d.ts +0 -1
- package/es/components/lowCodePage/index.d.ts +0 -1
- package/es/components/pisellAdjustPrice/PisellAdjustPriceInputNumber.d.ts +0 -1
- package/es/components/pisellDataSourceContainer/PisellDataSourceContainer.d.ts +0 -1
- package/es/components/pisellDataSourceContainer/hooks/useDataSourceKey.d.ts +2 -3
- package/es/components/pisellDatePicker/datePickerCpt.d.ts +1 -0
- package/es/components/pisellFilter/index.d.ts +0 -1
- package/es/components/pisellFloorMapLayout/PisellFloorMapLayout.js +175 -24
- package/es/components/pisellFloorMapLayout/PisellFloorMapLayout.less +22 -0
- package/es/components/pisellFloorMapLayout/components/FigmaTableCard.d.ts +2 -2
- package/es/components/pisellFloorMapLayout/components/FigmaTableCard.js +268 -103
- package/es/components/pisellFloorMapLayout/components/FloorMapEditPanel.js +40 -4
- package/es/components/pisellFloorMapLayout/components/FloorMapEditTopBar.d.ts +22 -0
- package/es/components/pisellFloorMapLayout/components/FloorMapEditTopBar.js +138 -12
- package/es/components/pisellFloorMapLayout/components/FloorMapEditTopBar.less +9 -1
- package/es/components/pisellFloorMapLayout/components/FloorMapToolbar.js +65 -4
- package/es/components/pisellFloorMapLayout/components/FloorMapToolbar.less +97 -4
- package/es/components/pisellFloorMapLayout/components/HistoryIcons.d.ts +39 -0
- package/es/components/pisellFloorMapLayout/components/HistoryIcons.js +75 -0
- package/es/components/pisellFloorMapLayout/components/ItemLayer.js +14 -1
- package/es/components/pisellFloorMapLayout/components/ViewControls.d.ts +9 -0
- package/es/components/pisellFloorMapLayout/components/ViewControls.js +96 -12
- package/es/components/pisellFloorMapLayout/components/ViewControls.less +224 -21
- package/es/components/pisellFloorMapLayout/components/ViewControlsWithZoom.d.ts +6 -0
- package/es/components/pisellFloorMapLayout/components/ViewControlsWithZoom.js +3 -0
- package/es/components/pisellFloorMapLayout/floorMapLayoutConstants.d.ts +4 -0
- package/es/components/pisellFloorMapLayout/floorMapLayoutConstants.js +4 -0
- package/es/components/pisellFloorMapLayout/hooks/floorMapViewportPersistence.d.ts +25 -0
- package/es/components/pisellFloorMapLayout/hooks/floorMapViewportPersistence.js +68 -0
- package/es/components/pisellFloorMapLayout/hooks/useDraftConfigHistory.d.ts +18 -0
- package/es/components/pisellFloorMapLayout/hooks/useDraftConfigHistory.js +104 -0
- package/es/components/pisellFloorMapLayout/hooks/useFloorMapEditState.d.ts +5 -0
- package/es/components/pisellFloorMapLayout/hooks/useFloorMapEditState.js +121 -34
- package/es/components/pisellFloorMapLayout/hooks/useFloorMapTransformMetrics.d.ts +23 -1
- package/es/components/pisellFloorMapLayout/hooks/useFloorMapTransformMetrics.js +345 -29
- package/es/components/pisellFloorMapLayout/index.d.ts +1 -0
- package/es/components/pisellFloorMapLayout/index.js +1 -0
- package/es/components/pisellFloorMapLayout/locales-ja.d.ts +20 -0
- package/es/components/pisellFloorMapLayout/locales-ja.js +21 -1
- package/es/components/pisellFloorMapLayout/locales-pt.d.ts +20 -0
- package/es/components/pisellFloorMapLayout/locales-pt.js +21 -1
- package/es/components/pisellFloorMapLayout/locales.d.ts +100 -0
- package/es/components/pisellFloorMapLayout/locales.js +63 -3
- package/es/components/pisellFloorMapLayout/types.d.ts +37 -0
- package/es/components/pisellFloorMapLayout/utils/floorMapElementNameAsTitle.d.ts +50 -0
- package/es/components/pisellFloorMapLayout/utils/floorMapElementNameAsTitle.js +74 -0
- package/es/components/pisellGridPro/ToolBar/index.less +5 -4
- package/es/components/pisellInput/components/BankCard/index.d.ts +1 -0
- package/es/components/pisellInput/components/SecurityCode/index.d.ts +1 -0
- 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 +9 -3
- package/es/components/pisellRecordBoard/shellFrame/Calendar/utils/BookingCalendarStyle.d.ts +1 -1
- package/es/components/pisellRecordBoard/shellFrame/ColumnSetting/index.js +2 -1
- package/es/components/pisellRecordBoard/shellFrame/Pagination/index.js +9 -2
- package/es/components/pisellRecordBoard/shellFrame/ToolBar/index.js +99 -101
- package/es/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolBarConstants.d.ts +8 -0
- package/es/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolBarConstants.js +12 -0
- package/es/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolBarI18n.d.ts +13 -0
- package/es/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolBarI18n.js +66 -0
- package/es/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolbar.less +176 -10
- package/es/components/pisellRecordBoard/shellFrame/ToolBarQuickFilter/index.js +20 -2
- package/es/components/pisellRecordBoard/shellFrame/index.d.ts +6 -0
- package/es/components/pisellRecordBoard/shellFrame/index.js +3 -1
- package/es/components/pisellRecordBoard/types.d.ts +20 -1
- package/es/components/pisellShellFrame/PisellShellFrame.js +4 -1
- package/es/components/pisellShellFrame/PisellShellFrame.less +13 -0
- package/es/components/pisellShellFrame/types.d.ts +6 -0
- package/es/components/pisellTimeNavigator/PisellTimeNavigator.js +139 -29
- package/es/components/pisellTimeNavigator/PisellTimeNavigator.less +126 -13
- package/es/components/pisellTimeNavigator/components/CursorLayer.d.ts +3 -1
- package/es/components/pisellTimeNavigator/components/CursorLayer.js +3 -0
- package/es/components/pisellTimeNavigator/components/GestureLayer.d.ts +9 -1
- package/es/components/pisellTimeNavigator/components/GestureLayer.js +11 -4
- package/es/components/pisellTimeNavigator/timeNavigatorConstants.d.ts +20 -0
- package/es/components/pisellTimeNavigator/timeNavigatorConstants.js +27 -0
- package/es/components/pisellTooltip/index.d.ts +1 -0
- package/es/components/productCard/components/Action/index.d.ts +1 -0
- package/es/components/productCard/components/AmountFooter/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/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/table/Actions/component/ColumnsSetting/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/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/Gallery/components/VirtualGrid/useGapSize.d.ts +2 -2
- package/es/components/table/Table/SelectField/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/index.d.ts +0 -1
- package/es/components/table/Table/fields/image/Show/index.d.ts +0 -1
- package/es/components/table/Table/fields/index.d.ts +0 -1
- package/es/components/table/Table/fields/link/Show/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/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/index.d.ts +0 -1
- package/es/components/table/Table/fields/oldRangePicker/index.d.ts +0 -1
- package/es/components/table/Table/fields/pSwitch/Show/index.d.ts +0 -1
- package/es/components/table/Table/fields/rangePicker/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/index.d.ts +0 -1
- package/es/components/table/Table/fields/select/filterUtil/index.d.ts +1 -1
- package/es/components/table/Table/fields/select/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/index.d.ts +0 -1
- package/es/components/table/Table/fields/treeSelect/filterUtil/index.d.ts +1 -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/Table/utils.d.ts +1 -1
- package/es/components/table/View/index.d.ts +0 -1
- package/es/components/versionSelect/index.d.ts +0 -1
- package/es/index.d.ts +8 -1
- package/es/index.js +8 -1
- package/es/locales/en-US.d.ts +2 -0
- package/es/locales/en-US.js +2 -0
- package/es/locales/ja.d.ts +2 -0
- package/es/locales/ja.js +2 -0
- package/es/locales/pt.d.ts +2 -0
- package/es/locales/pt.js +2 -0
- package/es/locales/zh-CN.d.ts +2 -0
- package/es/locales/zh-CN.js +2 -0
- package/es/locales/zh-TW.d.ts +2 -0
- package/es/locales/zh-TW.js +2 -0
- package/es/utils/index.d.ts +1 -1
- package/es/utils/platform.d.ts +1 -1
- package/lib/components/Pagination/index.d.ts +0 -1
- package/lib/components/PisellCards/components/PisellImageCard/PisellImageCard.d.ts +0 -1
- package/lib/components/PisellFields/index.d.ts +0 -1
- package/lib/components/PisellMetrics/index.d.ts +0 -1
- package/lib/components/cardPro/index.d.ts +1 -0
- package/lib/components/colorPicker/index.d.ts +0 -1
- package/lib/components/dataSourceComponents/dataSourceForm/formItem.d.ts +0 -1
- package/lib/components/dataSourceComponents/dataSourceForm/utils.d.ts +1 -1
- package/lib/components/dataSourceComponents/dataSourceShow/dataSourceImage/index.d.ts +0 -1
- package/lib/components/dataSourceComponents/dataSourceShow/dataSourceQRCode/index.d.ts +0 -1
- package/lib/components/dataSourceComponents/dataSourceTable/filter/index.d.ts +0 -1
- package/lib/components/dataSourceComponents/dataSourceTable/filter/utils.d.ts +0 -1
- package/lib/components/dataSourceComponents/dataSourceTable/hooks/useDataSourceKey.d.ts +2 -3
- package/lib/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.d.ts +3 -3
- package/lib/components/dataSourceComponents/dataSourceTable/hooks/useTableQuery.d.ts +0 -1
- package/lib/components/dataSourceComponents/dataSourceWrapper/index.d.ts +0 -1
- package/lib/components/dataSourceComponents/fields/Input.Json/ReadPretty.d.ts +0 -1
- package/lib/components/dataSourceComponents/fields/Input.Password/ReadPretty.d.ts +0 -1
- package/lib/components/dataSourceComponents/fields/Input.Subdomain/index.d.ts +1 -1
- package/lib/components/dataSourceComponents/fields/RecordListWrapper/index.d.ts +1 -2
- package/lib/components/dataSourceComponents/fields/Select/index.d.ts +1 -2
- package/lib/components/dataSourceComponents/fields/Tabs/index.d.ts +1 -2
- package/lib/components/dataSourceComponents/fields/Upload/ReadPretty.d.ts +0 -1
- package/lib/components/dataSourceComponents/fields/Upload/utils.d.ts +1 -1
- package/lib/components/dataSourceComponents/fields/index.d.ts +16 -17
- package/lib/components/date-picker/datePickerCpt.d.ts +0 -1
- package/lib/components/date-picker/index.d.ts +0 -1
- package/lib/components/drag-sort-tree/TreeItem/index.d.ts +1 -0
- package/lib/components/filter/components/FilterItem/index.js +2 -1
- package/lib/components/filter/components/QuickFilter/index.js +3 -2
- package/lib/components/filter/components/items/index.d.ts +0 -1
- package/lib/components/filter/components/items/text/Editor/index.d.ts +0 -1
- package/lib/components/filter/components/items/text/Preview/index.d.ts +0 -1
- package/lib/components/filter/components/items/text/index.d.ts +0 -1
- package/lib/components/filter/index.d.ts +0 -1
- package/lib/components/list/index.d.ts +0 -1
- package/lib/components/lowCodePage/index.d.ts +0 -1
- package/lib/components/pisellAdjustPrice/PisellAdjustPriceInputNumber.d.ts +0 -1
- package/lib/components/pisellDataSourceContainer/PisellDataSourceContainer.d.ts +0 -1
- package/lib/components/pisellDataSourceContainer/hooks/useDataSourceKey.d.ts +2 -3
- package/lib/components/pisellDatePicker/datePickerCpt.d.ts +1 -0
- package/lib/components/pisellFilter/index.d.ts +0 -1
- package/lib/components/pisellFloorMapLayout/PisellFloorMapLayout.js +141 -44
- package/lib/components/pisellFloorMapLayout/PisellFloorMapLayout.less +22 -0
- package/lib/components/pisellFloorMapLayout/components/FigmaTableCard.d.ts +2 -2
- package/lib/components/pisellFloorMapLayout/components/FigmaTableCard.js +213 -94
- package/lib/components/pisellFloorMapLayout/components/FloorMapEditPanel.js +41 -2
- package/lib/components/pisellFloorMapLayout/components/FloorMapEditTopBar.d.ts +22 -0
- package/lib/components/pisellFloorMapLayout/components/FloorMapEditTopBar.js +128 -12
- package/lib/components/pisellFloorMapLayout/components/FloorMapEditTopBar.less +9 -1
- package/lib/components/pisellFloorMapLayout/components/FloorMapToolbar.js +53 -5
- package/lib/components/pisellFloorMapLayout/components/FloorMapToolbar.less +97 -4
- package/lib/components/pisellFloorMapLayout/components/HistoryIcons.d.ts +39 -0
- package/lib/components/pisellFloorMapLayout/components/HistoryIcons.js +71 -0
- package/lib/components/pisellFloorMapLayout/components/ItemLayer.js +2 -1
- package/lib/components/pisellFloorMapLayout/components/ViewControls.d.ts +9 -0
- package/lib/components/pisellFloorMapLayout/components/ViewControls.js +158 -49
- package/lib/components/pisellFloorMapLayout/components/ViewControls.less +224 -21
- package/lib/components/pisellFloorMapLayout/components/ViewControlsWithZoom.d.ts +6 -0
- package/lib/components/pisellFloorMapLayout/components/ViewControlsWithZoom.js +3 -0
- package/lib/components/pisellFloorMapLayout/floorMapLayoutConstants.d.ts +4 -0
- package/lib/components/pisellFloorMapLayout/floorMapLayoutConstants.js +29 -0
- package/lib/components/pisellFloorMapLayout/hooks/floorMapViewportPersistence.d.ts +25 -0
- package/lib/components/pisellFloorMapLayout/hooks/floorMapViewportPersistence.js +98 -0
- package/lib/components/pisellFloorMapLayout/hooks/useDraftConfigHistory.d.ts +18 -0
- package/lib/components/pisellFloorMapLayout/hooks/useDraftConfigHistory.js +95 -0
- package/lib/components/pisellFloorMapLayout/hooks/useFloorMapEditState.d.ts +5 -0
- package/lib/components/pisellFloorMapLayout/hooks/useFloorMapEditState.js +65 -15
- package/lib/components/pisellFloorMapLayout/hooks/useFloorMapTransformMetrics.d.ts +23 -1
- package/lib/components/pisellFloorMapLayout/hooks/useFloorMapTransformMetrics.js +196 -24
- package/lib/components/pisellFloorMapLayout/index.d.ts +1 -0
- package/lib/components/pisellFloorMapLayout/index.js +9 -0
- package/lib/components/pisellFloorMapLayout/locales-ja.d.ts +20 -0
- package/lib/components/pisellFloorMapLayout/locales-ja.js +21 -1
- package/lib/components/pisellFloorMapLayout/locales-pt.d.ts +20 -0
- package/lib/components/pisellFloorMapLayout/locales-pt.js +21 -1
- package/lib/components/pisellFloorMapLayout/locales.d.ts +100 -0
- package/lib/components/pisellFloorMapLayout/locales.js +63 -3
- package/lib/components/pisellFloorMapLayout/types.d.ts +37 -0
- package/lib/components/pisellFloorMapLayout/utils/floorMapElementNameAsTitle.d.ts +50 -0
- package/lib/components/pisellFloorMapLayout/utils/floorMapElementNameAsTitle.js +60 -0
- package/lib/components/pisellGridPro/ToolBar/index.less +5 -4
- package/lib/components/pisellInput/components/BankCard/index.d.ts +1 -0
- package/lib/components/pisellInput/components/SecurityCode/index.d.ts +1 -0
- package/lib/components/pisellLoading/index.d.ts +0 -1
- package/lib/components/pisellModal/components/IpadModal/index.d.ts +0 -1
- package/lib/components/pisellModal/components/MobileModal/index.d.ts +0 -1
- package/lib/components/pisellModal/components/index.d.ts +0 -1
- package/lib/components/pisellRecordBoard/PisellRecordBoard.js +10 -3
- package/lib/components/pisellRecordBoard/shellFrame/Calendar/utils/BookingCalendarStyle.d.ts +1 -1
- package/lib/components/pisellRecordBoard/shellFrame/ColumnSetting/index.js +2 -1
- package/lib/components/pisellRecordBoard/shellFrame/Pagination/index.js +3 -2
- package/lib/components/pisellRecordBoard/shellFrame/ToolBar/index.js +70 -75
- package/lib/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolBarConstants.d.ts +8 -0
- package/lib/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolBarConstants.js +38 -0
- package/lib/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolBarI18n.d.ts +13 -0
- package/lib/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolBarI18n.js +100 -0
- package/lib/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolbar.less +176 -10
- package/lib/components/pisellRecordBoard/shellFrame/ToolBarQuickFilter/index.js +8 -0
- package/lib/components/pisellRecordBoard/shellFrame/index.d.ts +6 -0
- package/lib/components/pisellRecordBoard/shellFrame/index.js +2 -1
- package/lib/components/pisellRecordBoard/types.d.ts +20 -1
- package/lib/components/pisellShellFrame/PisellShellFrame.js +2 -1
- package/lib/components/pisellShellFrame/PisellShellFrame.less +13 -0
- package/lib/components/pisellShellFrame/types.d.ts +6 -0
- package/lib/components/pisellTimeNavigator/PisellTimeNavigator.js +96 -27
- package/lib/components/pisellTimeNavigator/PisellTimeNavigator.less +126 -13
- package/lib/components/pisellTimeNavigator/components/CursorLayer.d.ts +3 -1
- package/lib/components/pisellTimeNavigator/components/CursorLayer.js +2 -0
- package/lib/components/pisellTimeNavigator/components/GestureLayer.d.ts +9 -1
- package/lib/components/pisellTimeNavigator/components/GestureLayer.js +5 -2
- package/lib/components/pisellTimeNavigator/timeNavigatorConstants.d.ts +20 -0
- package/lib/components/pisellTimeNavigator/timeNavigatorConstants.js +47 -0
- package/lib/components/pisellTooltip/index.d.ts +1 -0
- package/lib/components/productCard/components/Action/index.d.ts +1 -0
- package/lib/components/productCard/components/AmountFooter/index.d.ts +0 -1
- package/lib/components/productCard/components/MultiDay/index.d.ts +0 -1
- package/lib/components/productCard/components/Note/index.d.ts +0 -1
- package/lib/components/productCard/components/Packages/components/collapsibleList/utils.d.ts +0 -1
- package/lib/components/productCard/components/Packages/components/options/index.d.ts +0 -1
- package/lib/components/productCard/components/Packages/index.d.ts +0 -1
- package/lib/components/productCard/components/Time/components/SelectResource/index.d.ts +0 -1
- package/lib/components/productCard/components/Time/index.d.ts +0 -1
- package/lib/components/qrcode/index.d.ts +0 -1
- package/lib/components/table/Actions/component/ColumnsSetting/index.d.ts +0 -1
- package/lib/components/table/Actions/component/ExportImport/index.d.ts +0 -1
- package/lib/components/table/Actions/component/GallerySetting/index.d.ts +0 -1
- package/lib/components/table/Actions/component/Group/index.d.ts +0 -1
- package/lib/components/table/Actions/index.d.ts +0 -1
- package/lib/components/table/BasicTable/index.d.ts +0 -1
- package/lib/components/table/Gallery/components/GalleryItem/components/Cover/index.d.ts +0 -1
- package/lib/components/table/Gallery/components/GalleryItem/components/RenderFields/index.d.ts +0 -1
- package/lib/components/table/Gallery/components/GalleryItem/components/Title/index.d.ts +0 -1
- package/lib/components/table/Gallery/components/VirtualGrid/useGapSize.d.ts +2 -2
- package/lib/components/table/Table/SelectField/index.d.ts +0 -1
- package/lib/components/table/Table/fields/date/Show/index.d.ts +0 -1
- package/lib/components/table/Table/fields/date/index.d.ts +0 -1
- package/lib/components/table/Table/fields/image/Show/index.d.ts +0 -1
- package/lib/components/table/Table/fields/index.d.ts +0 -1
- package/lib/components/table/Table/fields/link/Show/index.d.ts +0 -1
- package/lib/components/table/Table/fields/number/Show/index.d.ts +0 -1
- package/lib/components/table/Table/fields/number/index.d.ts +0 -1
- package/lib/components/table/Table/fields/numberRange/Show/index.d.ts +0 -1
- package/lib/components/table/Table/fields/numberRange/index.d.ts +0 -1
- package/lib/components/table/Table/fields/oldRangePicker/index.d.ts +0 -1
- package/lib/components/table/Table/fields/pSwitch/Show/index.d.ts +0 -1
- package/lib/components/table/Table/fields/rangePicker/index.d.ts +0 -1
- package/lib/components/table/Table/fields/search/Show/index.d.ts +0 -1
- package/lib/components/table/Table/fields/search/index.d.ts +0 -1
- package/lib/components/table/Table/fields/select/filterUtil/index.d.ts +1 -1
- package/lib/components/table/Table/fields/select/index.d.ts +0 -1
- package/lib/components/table/Table/fields/text/Show/index.d.ts +0 -1
- package/lib/components/table/Table/fields/text/index.d.ts +0 -1
- package/lib/components/table/Table/fields/treeSelect/filterUtil/index.d.ts +1 -1
- package/lib/components/table/Table/fields/treeSelect/index.d.ts +0 -1
- package/lib/components/table/Table/tableConfig/SortRow/index.d.ts +0 -1
- package/lib/components/table/Table/tableConfig/summary/index.d.ts +0 -1
- package/lib/components/table/Table/utils.d.ts +1 -1
- package/lib/components/table/View/index.d.ts +0 -1
- package/lib/components/versionSelect/index.d.ts +0 -1
- package/lib/index.d.ts +8 -1
- package/lib/index.js +8 -0
- package/lib/locales/en-US.d.ts +2 -0
- package/lib/locales/en-US.js +2 -0
- package/lib/locales/ja.d.ts +2 -0
- package/lib/locales/ja.js +2 -0
- package/lib/locales/pt.d.ts +2 -0
- package/lib/locales/pt.js +2 -0
- package/lib/locales/zh-CN.d.ts +2 -0
- package/lib/locales/zh-CN.js +2 -0
- package/lib/locales/zh-TW.d.ts +2 -0
- package/lib/locales/zh-TW.js +2 -0
- package/lib/utils/index.d.ts +1 -1
- package/lib/utils/platform.d.ts +1 -1
- package/lowcode/pisell-record-board-calendar-view/meta.ts +1 -1
- package/package.json +2 -2
|
@@ -15,12 +15,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
15
15
|
*/
|
|
16
16
|
import { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';
|
|
17
17
|
import { getContentSize, getPixelBoundingBox } from "../utils/layoutMeasurements";
|
|
18
|
-
|
|
19
|
-
/** 平面图包围盒单侧默认外扩(像素);过大会导致首屏大量空白 */
|
|
20
|
-
var DEFAULT_BOUNDING_PADDING = 56;
|
|
21
|
-
|
|
22
|
-
/** 视口内与首屏对齐时,图元束左上与容器边缘的留白 */
|
|
23
|
-
var VIEWPORT_TOP_LEFT_MARGIN = 16;
|
|
18
|
+
import { DEFAULT_BOUNDING_PADDING, FIT_BOUNDS_MATCH_POS_EPSILON, FIT_BOUNDS_MATCH_SCALE_EPSILON, VIEWPORT_PERSIST_DEBOUNCE_MS, VIEWPORT_TOP_LEFT_MARGIN, readPersistedViewport, readPersistedViewportLock, writePersistedViewport, writePersistedViewportLock } from "./floorMapViewportPersistence";
|
|
24
19
|
|
|
25
20
|
/** react-zoom-pan-pinch TransformWrapper render 注入的上下文 */
|
|
26
21
|
|
|
@@ -35,7 +30,8 @@ export function useFloorMapTransformMetrics(params) {
|
|
|
35
30
|
transformRef = params.transformRef,
|
|
36
31
|
contentOffsetRef = params.contentOffsetRef,
|
|
37
32
|
boundingPaddingProp = params.boundingPadding,
|
|
38
|
-
frameResetKey = params.frameResetKey
|
|
33
|
+
frameResetKey = params.frameResetKey,
|
|
34
|
+
viewportPersistKey = params.viewportPersistKey;
|
|
39
35
|
var padSingle = boundingPaddingProp !== null && boundingPaddingProp !== void 0 ? boundingPaddingProp : DEFAULT_BOUNDING_PADDING;
|
|
40
36
|
var containerRef = useRef(null);
|
|
41
37
|
var mapAreaRef = useRef(null);
|
|
@@ -109,6 +105,49 @@ export function useFloorMapTransformMetrics(params) {
|
|
|
109
105
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
110
106
|
isFullscreen = _useState8[0],
|
|
111
107
|
setIsFullscreen = _useState8[1];
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* 「适配视口」激活态:当前 transform 与最近一次 fitBounds 计算出的目标 transform 在容差内一致时为 true。
|
|
111
|
+
* 由 fitBounds 写入快照、notifyTransformed 比较;用户主动拖动/缩放后立即失活。
|
|
112
|
+
*/
|
|
113
|
+
var lastFitSnapshotRef = useRef(null);
|
|
114
|
+
var _useState9 = useState(false),
|
|
115
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
116
|
+
isAtFitBounds = _useState10[0],
|
|
117
|
+
setIsAtFitBounds = _useState10[1];
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* 视口锁定态:按 viewportPersistKey 维度持久化到 localStorage。
|
|
121
|
+
* - 切 / 挂载时按 key 读初始值;
|
|
122
|
+
* - 用户切换时立刻写回;
|
|
123
|
+
* - 锁定后 fitBounds / 程序化 zoom 入口与 PisellFloorMapLayout 透传到 TransformWrapper 的
|
|
124
|
+
* panning/wheel/pinch.disabled 共同把所有视角写入路径关闭。
|
|
125
|
+
* 切 canvas(key 变化)时跟随新 key 重新初始化,互不影响。
|
|
126
|
+
*/
|
|
127
|
+
var _useState11 = useState(function () {
|
|
128
|
+
return viewportPersistKey ? readPersistedViewportLock(viewportPersistKey) : false;
|
|
129
|
+
}),
|
|
130
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
131
|
+
viewportLocked = _useState12[0],
|
|
132
|
+
setViewportLockedState = _useState12[1];
|
|
133
|
+
var viewportLockedRef = useRef(viewportLocked);
|
|
134
|
+
viewportLockedRef.current = viewportLocked;
|
|
135
|
+
useEffect(function () {
|
|
136
|
+
if (!viewportPersistKey) {
|
|
137
|
+
setViewportLockedState(false);
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
setViewportLockedState(readPersistedViewportLock(viewportPersistKey));
|
|
141
|
+
}, [viewportPersistKey]);
|
|
142
|
+
var setViewportLocked = useCallback(function (next) {
|
|
143
|
+
setViewportLockedState(next);
|
|
144
|
+
var key = viewportPersistKey;
|
|
145
|
+
if (!key) return;
|
|
146
|
+
writePersistedViewportLock(key, next);
|
|
147
|
+
}, [viewportPersistKey]);
|
|
148
|
+
var toggleViewportLocked = useCallback(function () {
|
|
149
|
+
setViewportLocked(!viewportLockedRef.current);
|
|
150
|
+
}, [setViewportLocked]);
|
|
112
151
|
var _useMemo = useMemo(function () {
|
|
113
152
|
var fromItems = getContentSize(items, cellSize, itemGap, effectiveItemUnit);
|
|
114
153
|
var pad = padSingle * 2;
|
|
@@ -203,32 +242,60 @@ export function useFloorMapTransformMetrics(params) {
|
|
|
203
242
|
cancelAnimationFrame(raf);
|
|
204
243
|
};
|
|
205
244
|
}, [isFloorMapView, frameResetKey, alignPadSingle, initialPositionX, initialPositionY, zoomConfig.initialScale, transformRef, autoFitOnMount]);
|
|
245
|
+
|
|
246
|
+
/**
|
|
247
|
+
* 伪全屏:用 `position: fixed; inset: 0` 撑满视口,不调用浏览器 Fullscreen API。
|
|
248
|
+
* 与「资源墙大屏」一致的体验:避免浏览器全屏带来的右键菜单受限、第三方弹层被全屏元素隔绝等。
|
|
249
|
+
*
|
|
250
|
+
* 对应 className 与 body overflow 锁定见 PisellFloorMapLayout.less 中
|
|
251
|
+
* `.pisell-floor-map-layout--pseudo-fullscreen` 与 `body.pisell-floor-map-layout-fullscreen-host`。
|
|
252
|
+
*
|
|
253
|
+
* 注意:不再监听 ESC 退出全屏。平面图编辑态全屏与编辑模式强绑定(PisellFloorMapLayout 中 effect),
|
|
254
|
+
* 若 ESC 直接 setIsFullscreen(false) 会立刻被同步 effect 拉回 true,徒增闪烁。
|
|
255
|
+
* 退出全屏 = 退出编辑,由顶栏退出按钮承担。
|
|
256
|
+
*/
|
|
206
257
|
useEffect(function () {
|
|
207
|
-
|
|
208
|
-
if (
|
|
209
|
-
var
|
|
210
|
-
|
|
258
|
+
if (!isFullscreen) return;
|
|
259
|
+
if (typeof document === 'undefined') return;
|
|
260
|
+
var bodyCls = 'pisell-floor-map-layout-fullscreen-host';
|
|
261
|
+
document.body.classList.add(bodyCls);
|
|
262
|
+
return function () {
|
|
263
|
+
document.body.classList.remove(bodyCls);
|
|
211
264
|
};
|
|
212
|
-
|
|
265
|
+
}, [isFullscreen]);
|
|
266
|
+
|
|
267
|
+
/** 卸载兜底:组件被卸载时不要把 body 锁住的样式残留 */
|
|
268
|
+
useEffect(function () {
|
|
213
269
|
return function () {
|
|
214
|
-
|
|
270
|
+
if (typeof document === 'undefined') return;
|
|
271
|
+
document.body.classList.remove('pisell-floor-map-layout-fullscreen-host');
|
|
215
272
|
};
|
|
216
273
|
}, []);
|
|
217
274
|
var toggleFullscreen = useCallback(function () {
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
var _document$exitFullscr, _document;
|
|
222
|
-
(_document$exitFullscr = (_document = document).exitFullscreen) === null || _document$exitFullscr === void 0 || _document$exitFullscr.call(_document);
|
|
223
|
-
} else {
|
|
224
|
-
var _el$requestFullscreen;
|
|
225
|
-
(_el$requestFullscreen = el.requestFullscreen) === null || _el$requestFullscreen === void 0 || _el$requestFullscreen.call(el);
|
|
226
|
-
}
|
|
275
|
+
setIsFullscreen(function (prev) {
|
|
276
|
+
return !prev;
|
|
277
|
+
});
|
|
227
278
|
}, []);
|
|
228
279
|
|
|
280
|
+
/**
|
|
281
|
+
* 仅保留 fitBoundsRef 给手动 fitBounds 按钮用。
|
|
282
|
+
*
|
|
283
|
+
* 历史上这里有个 useEffect:进入伪全屏时自动 fitBounds 适配新视口。
|
|
284
|
+
* 但现在「编辑态自动全屏 + 视口持久化」的组合下,这会把用户上次保存的视角
|
|
285
|
+
* 覆盖成 fit 结果,导致每次进编辑都被强制全览,违背用户意图。
|
|
286
|
+
* 视口尺寸变化由 ResizeObserver 自然处理,transform 不变即「保留用户视角」。
|
|
287
|
+
*/
|
|
288
|
+
var fitBoundsRef = useRef(null);
|
|
289
|
+
|
|
229
290
|
/** @returns 是否已调用 setTransform(用于首屏 autoFit:避免空跑仍标记 done) */
|
|
230
291
|
var fitBounds = useCallback(function () {
|
|
231
292
|
var _zoom$max3;
|
|
293
|
+
/**
|
|
294
|
+
* 锁定态:拦截所有 fitBounds 触发路径(按钮 / autoFit useLayoutEffect / ref API),
|
|
295
|
+
* 让画布严格停留在用户锁定时的视角。返回 true 让 autoFit 调用方将 done 置位,
|
|
296
|
+
* 避免被无限重试占用 rAF。
|
|
297
|
+
*/
|
|
298
|
+
if (viewportLockedRef.current) return true;
|
|
232
299
|
var ctx = transformRef.current;
|
|
233
300
|
var container = containerRef.current;
|
|
234
301
|
if (!ctx || !container) return false;
|
|
@@ -257,6 +324,12 @@ export function useFloorMapTransformMetrics(params) {
|
|
|
257
324
|
var _x = wrapperRect.width / 2 - bboxCx * _nextScale;
|
|
258
325
|
var _y = wrapperRect.height / 2 - bboxCy * _nextScale;
|
|
259
326
|
ctx.setTransform(_x, _y, _nextScale);
|
|
327
|
+
lastFitSnapshotRef.current = {
|
|
328
|
+
x: _x,
|
|
329
|
+
y: _y,
|
|
330
|
+
scale: _nextScale
|
|
331
|
+
};
|
|
332
|
+
setIsAtFitBounds(true);
|
|
260
333
|
return true;
|
|
261
334
|
}
|
|
262
335
|
if (contentWidth <= 0 || contentHeight <= 0) return false;
|
|
@@ -267,9 +340,18 @@ export function useFloorMapTransformMetrics(params) {
|
|
|
267
340
|
var x = VIEWPORT_TOP_LEFT_MARGIN - padA * nextScale;
|
|
268
341
|
var y = VIEWPORT_TOP_LEFT_MARGIN - padA * nextScale;
|
|
269
342
|
ctx.setTransform(x, y, nextScale);
|
|
343
|
+
lastFitSnapshotRef.current = {
|
|
344
|
+
x: x,
|
|
345
|
+
y: y,
|
|
346
|
+
scale: nextScale
|
|
347
|
+
};
|
|
348
|
+
setIsAtFitBounds(true);
|
|
270
349
|
return true;
|
|
271
350
|
}, [contentWidth, contentHeight, zoom.max, transformRef, alignPadSingle, isFloorMapView, effectiveItemUnit, items, cellSize, padSingle]);
|
|
272
351
|
|
|
352
|
+
/** 让"进入伪全屏后自动 fit"的 effect 能拿到最新的 fitBounds 实现 */
|
|
353
|
+
fitBoundsRef.current = fitBounds;
|
|
354
|
+
|
|
273
355
|
/**
|
|
274
356
|
* autoFitOnMount:每个画布在「有图元且 content 尺寸已按包围盒算好」后执行一次 fitBounds。
|
|
275
357
|
* 避免首帧 items 仍为空时用占位尺寸 fit 完并标记 done,导致异步图元加载后不再适配。
|
|
@@ -279,6 +361,13 @@ export function useFloorMapTransformMetrics(params) {
|
|
|
279
361
|
done: false
|
|
280
362
|
});
|
|
281
363
|
var prevItemsCountForAutoFitRef = useRef(null);
|
|
364
|
+
/**
|
|
365
|
+
* 记录「本 frame 的 transform 已由视口缓存接管」:
|
|
366
|
+
* 命中 localStorage 恢复或 restore effect 完成后写入当前 frame。
|
|
367
|
+
* 只要等于当前 frame,autoFit 所有分支(包括 items 从 0→N 的 reset done)一律放弃,
|
|
368
|
+
* 防止 items 异步加载后 autoFit 覆盖恢复值 → onTransformed 又把 fit 结果回写到 localStorage。
|
|
369
|
+
*/
|
|
370
|
+
var cachedRestoredFrameRef = useRef('');
|
|
282
371
|
/**
|
|
283
372
|
* 首屏 auto fit:时序上易出现「Transform 未挂载 / wrapper 尺寸为 0 / 内容区尚未提交」,
|
|
284
373
|
* 用 layoutEffect + 双 rAF 贴近浏览器布局完成时刻;仅 fitBounds 真正 setTransform 后才记 done;
|
|
@@ -293,10 +382,26 @@ export function useFloorMapTransformMetrics(params) {
|
|
|
293
382
|
done: false
|
|
294
383
|
};
|
|
295
384
|
prevItemsCountForAutoFitRef.current = null;
|
|
385
|
+
/**
|
|
386
|
+
* 命中视口缓存:跳过本帧 autoFit,让恢复 effect 用缓存 transform 接管。
|
|
387
|
+
* 避免「先 autoFit 一次再被恢复覆盖」造成的视觉闪烁。
|
|
388
|
+
* 同步打上「缓存接管」标记,防止下面的「items 0→N reset done」再度启用 autoFit
|
|
389
|
+
* 覆盖恢复值并把 fit 结果通过 onTransformed 回写 localStorage。
|
|
390
|
+
*/
|
|
391
|
+
if (viewportPersistKey && readPersistedViewport(viewportPersistKey)) {
|
|
392
|
+
autoFitOnceRef.current.done = true;
|
|
393
|
+
cachedRestoredFrameRef.current = frame;
|
|
394
|
+
} else if (cachedRestoredFrameRef.current !== frame) {
|
|
395
|
+
cachedRestoredFrameRef.current = '';
|
|
396
|
+
}
|
|
296
397
|
}
|
|
297
398
|
var itemCount = items.length;
|
|
298
399
|
var prevN = prevItemsCountForAutoFitRef.current;
|
|
299
|
-
|
|
400
|
+
/**
|
|
401
|
+
* 已由缓存接管本 frame 的 transform:items 异步加载完成后绝不重新启用 autoFit,
|
|
402
|
+
* 否则会把用户上次拖拽的位置覆盖成适配视口,且被 onTransformed 回写 localStorage。
|
|
403
|
+
*/
|
|
404
|
+
if (prevN !== null && prevN === 0 && itemCount > 0 && cachedRestoredFrameRef.current !== frame) {
|
|
300
405
|
autoFitOnceRef.current.done = false;
|
|
301
406
|
}
|
|
302
407
|
prevItemsCountForAutoFitRef.current = itemCount;
|
|
@@ -349,16 +454,16 @@ export function useFloorMapTransformMetrics(params) {
|
|
|
349
454
|
cancelled = true;
|
|
350
455
|
cancelAnimationFrame(raf);
|
|
351
456
|
};
|
|
352
|
-
}, [isFloorMapView, autoFitOnMount, frameResetKey, effectiveItemUnit, items.length, contentWidth, contentHeight, viewportSize.width, viewportSize.height, mapAreaSize.width, mapAreaSize.height, fitBounds, transformRef]);
|
|
457
|
+
}, [isFloorMapView, autoFitOnMount, frameResetKey, effectiveItemUnit, items.length, contentWidth, contentHeight, viewportSize.width, viewportSize.height, mapAreaSize.width, mapAreaSize.height, fitBounds, transformRef, viewportPersistKey]);
|
|
353
458
|
var lastTransformRef = useRef({
|
|
354
459
|
x: 0,
|
|
355
460
|
y: 0,
|
|
356
461
|
scale: 1
|
|
357
462
|
});
|
|
358
|
-
var
|
|
359
|
-
|
|
360
|
-
isInteractingWithElement =
|
|
361
|
-
setIsInteractingWithElement =
|
|
463
|
+
var _useState13 = useState(false),
|
|
464
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
465
|
+
isInteractingWithElement = _useState14[0],
|
|
466
|
+
setIsInteractingWithElement = _useState14[1];
|
|
362
467
|
var prevInteractingRef = useRef(false);
|
|
363
468
|
useEffect(function () {
|
|
364
469
|
if (isInteractingWithElement) {
|
|
@@ -376,6 +481,210 @@ export function useFloorMapTransformMetrics(params) {
|
|
|
376
481
|
return cancelAnimationFrame(raf);
|
|
377
482
|
};
|
|
378
483
|
}, [isInteractingWithElement, transformRef]);
|
|
484
|
+
|
|
485
|
+
/**
|
|
486
|
+
* 视口持久化:写入节流 + 切 canvas 时清掉 pending;
|
|
487
|
+
* persistKeyRef 保证 debounce 触发时仍然写到「触发时刻」对应的 key(避免 key 变化后被错位写入)。
|
|
488
|
+
*/
|
|
489
|
+
var persistKeyRef = useRef(viewportPersistKey);
|
|
490
|
+
persistKeyRef.current = viewportPersistKey;
|
|
491
|
+
var persistTimerRef = useRef(null);
|
|
492
|
+
var flushPersistRef = useRef(null);
|
|
493
|
+
var schedulePersistViewport = useCallback(function (snapshot) {
|
|
494
|
+
var key = persistKeyRef.current;
|
|
495
|
+
if (!key) return;
|
|
496
|
+
if (persistTimerRef.current != null) {
|
|
497
|
+
clearTimeout(persistTimerRef.current);
|
|
498
|
+
persistTimerRef.current = null;
|
|
499
|
+
}
|
|
500
|
+
var targetKey = key;
|
|
501
|
+
var doWrite = function doWrite() {
|
|
502
|
+
persistTimerRef.current = null;
|
|
503
|
+
flushPersistRef.current = null;
|
|
504
|
+
writePersistedViewport(targetKey, snapshot);
|
|
505
|
+
};
|
|
506
|
+
flushPersistRef.current = doWrite;
|
|
507
|
+
persistTimerRef.current = setTimeout(doWrite, VIEWPORT_PERSIST_DEBOUNCE_MS);
|
|
508
|
+
}, []);
|
|
509
|
+
|
|
510
|
+
/**
|
|
511
|
+
* 由 onTransformed 回调统一上报当前 transform:
|
|
512
|
+
* - 写 lastTransformRef(替代父组件直接赋值)
|
|
513
|
+
* - 与最近一次 fitBounds 快照比较,更新激活态
|
|
514
|
+
*
|
|
515
|
+
* ❗注意:故意不在这里写 localStorage。
|
|
516
|
+
* react-zoom-pan-pinch 在挂载、`setTransform`、`fitBounds`、`resetTransform` 等程序化路径
|
|
517
|
+
* 也会触发 onTransformed(含挂载初始值 {x:16, y:16, scale:1}),若在此持久化,
|
|
518
|
+
* wrapper 重挂载时会用这份"初始值"覆盖 localStorage 里用户上次保存的视角。
|
|
519
|
+
* 持久化改由 onPanningStop / onPinchingStop / onZoomStop / onWheelStop 触发,
|
|
520
|
+
* 那些事件只在「用户真的拖完/缩放完」时才发生。
|
|
521
|
+
*/
|
|
522
|
+
var notifyTransformed = useCallback(function (x, y, nextScale) {
|
|
523
|
+
lastTransformRef.current = {
|
|
524
|
+
x: x,
|
|
525
|
+
y: y,
|
|
526
|
+
scale: nextScale
|
|
527
|
+
};
|
|
528
|
+
var snap = lastFitSnapshotRef.current;
|
|
529
|
+
if (snap) {
|
|
530
|
+
var same = Math.abs(snap.x - x) < FIT_BOUNDS_MATCH_POS_EPSILON && Math.abs(snap.y - y) < FIT_BOUNDS_MATCH_POS_EPSILON && Math.abs(snap.scale - nextScale) < FIT_BOUNDS_MATCH_SCALE_EPSILON;
|
|
531
|
+
setIsAtFitBounds(function (prev) {
|
|
532
|
+
return prev === same ? prev : same;
|
|
533
|
+
});
|
|
534
|
+
} else {
|
|
535
|
+
setIsAtFitBounds(function (prev) {
|
|
536
|
+
return prev ? false : prev;
|
|
537
|
+
});
|
|
538
|
+
}
|
|
539
|
+
}, []);
|
|
540
|
+
|
|
541
|
+
/**
|
|
542
|
+
* 用户交互结束时(pan / zoom / pinch / wheel stop)调用:
|
|
543
|
+
* 以 lastTransformRef 当前值为快照写 localStorage(debounce 兜底高频 stop)。
|
|
544
|
+
* 程序化的 setTransform / fitBounds / 挂载初始化都不会调这里,避免污染缓存。
|
|
545
|
+
*/
|
|
546
|
+
var persistCurrentViewport = useCallback(function () {
|
|
547
|
+
var snapshot = lastTransformRef.current;
|
|
548
|
+
schedulePersistViewport({
|
|
549
|
+
x: snapshot.x,
|
|
550
|
+
y: snapshot.y,
|
|
551
|
+
scale: snapshot.scale
|
|
552
|
+
});
|
|
553
|
+
}, [schedulePersistViewport]);
|
|
554
|
+
|
|
555
|
+
/** 让 restore 路径读到最新 frameResetKey,避免 closure 过期 */
|
|
556
|
+
var frameResetKeyRef = useRef(frameResetKey);
|
|
557
|
+
frameResetKeyRef.current = frameResetKey;
|
|
558
|
+
var viewportPersistKeyRef = useRef(viewportPersistKey);
|
|
559
|
+
viewportPersistKeyRef.current = viewportPersistKey;
|
|
560
|
+
|
|
561
|
+
/**
|
|
562
|
+
* 把缓存视角立即贴到画布上的统一入口(restore effect 与 attachTransformContext 共用)。
|
|
563
|
+
*
|
|
564
|
+
* 关键点:
|
|
565
|
+
* 1. setTransform 的 animationTime 必须传 0:
|
|
566
|
+
* - react-zoom-pan-pinch 默认 200ms 缓动;
|
|
567
|
+
* - 首屏若 namespace 异步、autoFit 抢先 setTransform(fit) 并仍在缓动中,
|
|
568
|
+
* restore 这次 setTransform 会被库认为是「动画过程中无意义的同向 set」吃掉
|
|
569
|
+
* 或与原动画合成,最终视觉停在 fit 处;
|
|
570
|
+
* - 传 0 等价于"立即落点",强制覆盖任何在飞动画。
|
|
571
|
+
* 2. 命中后立刻把 cachedRestoredFrameRef / autoFit done / initialAlign done 都打上,
|
|
572
|
+
* 防止后续 effect 反向覆盖缓存值。
|
|
573
|
+
*/
|
|
574
|
+
var applyPersistedViewport = useCallback(function (cached) {
|
|
575
|
+
var ctx = transformRef.current;
|
|
576
|
+
if (!ctx) return false;
|
|
577
|
+
ctx.setTransform(cached.x, cached.y, cached.scale, 0);
|
|
578
|
+
lastTransformRef.current = _objectSpread({}, cached);
|
|
579
|
+
lastFitSnapshotRef.current = null;
|
|
580
|
+
setIsAtFitBounds(false);
|
|
581
|
+
autoFitOnceRef.current.done = true;
|
|
582
|
+
initialAlignRef.current.done = true;
|
|
583
|
+
var currentFrame = frameResetKeyRef.current;
|
|
584
|
+
if (currentFrame !== undefined) {
|
|
585
|
+
cachedRestoredFrameRef.current = String(currentFrame);
|
|
586
|
+
}
|
|
587
|
+
return true;
|
|
588
|
+
}, [transformRef]);
|
|
589
|
+
|
|
590
|
+
/**
|
|
591
|
+
* 切换 viewportPersistKey 或 frameResetKey 时(含挂载、wrapper 重挂载):
|
|
592
|
+
* 尝试从 localStorage 读取上次视角并恢复。命中缓存 → 阻止本帧 autoFitOnMount /
|
|
593
|
+
* 首次左上对齐覆盖。未命中保持原行为。
|
|
594
|
+
*
|
|
595
|
+
* ❗frameResetKey 必须在依赖里:
|
|
596
|
+
* `transformWrapperKey` 在远端配置(boundingPadding / defaultScale)回包后会变,
|
|
597
|
+
* 触发 TransformWrapper 卸载重挂载并以 `initialPositionX/Y/Scale` (≈16,16,1) 渲染。
|
|
598
|
+
* 仅依赖 viewportPersistKey 时此处不会重跑,画布会停在初始 transform,
|
|
599
|
+
* 用户上次保存的视角虽然在 localStorage 里却没"贴回"画布。
|
|
600
|
+
*/
|
|
601
|
+
useEffect(function () {
|
|
602
|
+
if (!viewportPersistKey) return;
|
|
603
|
+
var cached = readPersistedViewport(viewportPersistKey);
|
|
604
|
+
if (!cached) return;
|
|
605
|
+
var cancelled = false;
|
|
606
|
+
var raf1 = 0;
|
|
607
|
+
var raf2 = 0;
|
|
608
|
+
var attempts = 0;
|
|
609
|
+
var MAX_ATTEMPTS = 60;
|
|
610
|
+
var tick = function tick() {
|
|
611
|
+
if (cancelled) return;
|
|
612
|
+
if (!applyPersistedViewport(cached)) {
|
|
613
|
+
if (attempts++ < MAX_ATTEMPTS) {
|
|
614
|
+
raf1 = requestAnimationFrame(tick);
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
};
|
|
618
|
+
|
|
619
|
+
/** 双 rAF:等 TransformWrapper 的 ctx 就绪后再写 */
|
|
620
|
+
raf1 = requestAnimationFrame(function () {
|
|
621
|
+
raf2 = requestAnimationFrame(tick);
|
|
622
|
+
});
|
|
623
|
+
return function () {
|
|
624
|
+
cancelled = true;
|
|
625
|
+
cancelAnimationFrame(raf1);
|
|
626
|
+
cancelAnimationFrame(raf2);
|
|
627
|
+
};
|
|
628
|
+
}, [viewportPersistKey, frameResetKey, applyPersistedViewport]);
|
|
629
|
+
|
|
630
|
+
/**
|
|
631
|
+
* PisellFloorMapLayout 在 TransformWrapper children render 中调用:
|
|
632
|
+
* {(ctx) => { attachTransformContext(ctx); return <>...</> }}
|
|
633
|
+
*
|
|
634
|
+
* 用途:wrapper 首次挂载 / 重挂载时,立刻 schedule 一次 restore,
|
|
635
|
+
* 避免依赖 useEffect、namespace 异步、autoFit 抢先 setTransform 之间的复杂时序。
|
|
636
|
+
*
|
|
637
|
+
* ⚠️ 不要用「ctx 引用是否变化」做去重:
|
|
638
|
+
* react-zoom-pan-pinch 在每次内部状态更新(缩放 / 平移过程中的 onTransformed)
|
|
639
|
+
* 都会让父组件重 render,children render 函数会再次被调用,部分版本下 ctx 是新对象引用。
|
|
640
|
+
* 一旦把它判成「新 ctx」再次 schedule restore,就会把用户刚做的缩放/平移
|
|
641
|
+
* 又覆盖回缓存,表现成「拖动可以,缩放回弹/缩放不动」。
|
|
642
|
+
*
|
|
643
|
+
* 改用 cachedRestoredFrameRef 做幂等:每个 frame(= TransformWrapper 的 key)
|
|
644
|
+
* 在生命周期内只 restore 一次。frame 真变化(wrapper 卸载重挂载)时,autoFit
|
|
645
|
+
* useLayoutEffect 的 reset 分支会清掉 / 重置该 ref,attach 自然能再次触发。
|
|
646
|
+
*/
|
|
647
|
+
var attachTransformContext = useCallback(function (ctx) {
|
|
648
|
+
transformRef.current = ctx;
|
|
649
|
+
var key = viewportPersistKeyRef.current;
|
|
650
|
+
var currentFrame = frameResetKeyRef.current;
|
|
651
|
+
if (!key || currentFrame === undefined) return;
|
|
652
|
+
var frameStr = String(currentFrame);
|
|
653
|
+
/** 该 frame 已经 restore 过(attach 触发或 autoFit reset 分支命中均会标记) */
|
|
654
|
+
if (cachedRestoredFrameRef.current === frameStr) return;
|
|
655
|
+
var cached = readPersistedViewport(key);
|
|
656
|
+
if (!cached) return;
|
|
657
|
+
/**
|
|
658
|
+
* 立刻占座:避免本帧后续如果触发 attach 重入 / restore useEffect 同步跑
|
|
659
|
+
* 出现两条 setTransform 路径并发。applyPersistedViewport 内部还会再设一次
|
|
660
|
+
* (等于幂等)。
|
|
661
|
+
*/
|
|
662
|
+
cachedRestoredFrameRef.current = frameStr;
|
|
663
|
+
/**
|
|
664
|
+
* 双 rAF 等 wrapper 内部 useEffect / 初始 onTransformed 走完,
|
|
665
|
+
* 否则可能被库的 init 回调把 transform 又重置回 initial。
|
|
666
|
+
*/
|
|
667
|
+
requestAnimationFrame(function () {
|
|
668
|
+
requestAnimationFrame(function () {
|
|
669
|
+
/** 等待期间 frame 又变了(快速切画布)则交给新 frame 的 attach 处理 */
|
|
670
|
+
if (frameResetKeyRef.current !== currentFrame) return;
|
|
671
|
+
applyPersistedViewport(cached);
|
|
672
|
+
});
|
|
673
|
+
});
|
|
674
|
+
}, [transformRef, applyPersistedViewport]);
|
|
675
|
+
|
|
676
|
+
/** 卸载 / key 变化时把待写的视口立刻 flush,避免快速来回切丢失最后一次操作 */
|
|
677
|
+
useEffect(function () {
|
|
678
|
+
return function () {
|
|
679
|
+
var _flushPersistRef$curr;
|
|
680
|
+
if (persistTimerRef.current != null) {
|
|
681
|
+
clearTimeout(persistTimerRef.current);
|
|
682
|
+
persistTimerRef.current = null;
|
|
683
|
+
}
|
|
684
|
+
(_flushPersistRef$curr = flushPersistRef.current) === null || _flushPersistRef$curr === void 0 || _flushPersistRef$curr.call(flushPersistRef);
|
|
685
|
+
flushPersistRef.current = null;
|
|
686
|
+
};
|
|
687
|
+
}, [viewportPersistKey]);
|
|
379
688
|
return {
|
|
380
689
|
containerRef: containerRef,
|
|
381
690
|
mapAreaRef: mapAreaRef,
|
|
@@ -393,8 +702,15 @@ export function useFloorMapTransformMetrics(params) {
|
|
|
393
702
|
isFullscreen: isFullscreen,
|
|
394
703
|
toggleFullscreen: toggleFullscreen,
|
|
395
704
|
fitBounds: fitBounds,
|
|
705
|
+
isAtFitBounds: isAtFitBounds,
|
|
706
|
+
notifyTransformed: notifyTransformed,
|
|
707
|
+
persistCurrentViewport: persistCurrentViewport,
|
|
708
|
+
attachTransformContext: attachTransformContext,
|
|
396
709
|
lastTransformRef: lastTransformRef,
|
|
397
710
|
isInteractingWithElement: isInteractingWithElement,
|
|
398
|
-
setIsInteractingWithElement: setIsInteractingWithElement
|
|
711
|
+
setIsInteractingWithElement: setIsInteractingWithElement,
|
|
712
|
+
viewportLocked: viewportLocked,
|
|
713
|
+
setViewportLocked: setViewportLocked,
|
|
714
|
+
toggleViewportLocked: toggleViewportLocked
|
|
399
715
|
};
|
|
400
716
|
}
|
|
@@ -7,6 +7,7 @@ export type { PisellFloorMapLayoutProps, PisellFloorMapLayoutRef, FloorMapItemBa
|
|
|
7
7
|
export { FLOOR_MAP_STAGE_ELEMENT_KIND, FLOOR_MAP_IMAGE_ELEMENT_KIND, } from './types';
|
|
8
8
|
export { renderFloorMapFallbackPlaceholder } from './utils/floorMapFallbackRender';
|
|
9
9
|
export { isFloorMapImageElementKind } from './utils/floorMapElementKindUtils';
|
|
10
|
+
export { NAME_AS_TITLE_EXT_KEY, isElementNameAsTitleEnabled, buildNameAsTitleExtensionsPatch, resolveSceneElementDisplayTitle, } from './utils/floorMapElementNameAsTitle';
|
|
10
11
|
export { findFloorMapRowByDataBinding, getFloorMapBindingPlaceholderReason, } from './utils/floorMapDataBindingUtils';
|
|
11
12
|
export type { FloorMapDataSourceRow, FloorMapBindingPlaceholderReason, } from './utils/floorMapDataBindingUtils';
|
|
12
13
|
export { createShopFloorPlanClient, SHOP_FLOOR_PLAN_DUPLICATE_CODE, } from './shopFloorPlan/shopFloorPlanClient';
|
|
@@ -6,6 +6,7 @@ export { PisellFloorMapLayout } from "./PisellFloorMapLayout";
|
|
|
6
6
|
export { FLOOR_MAP_STAGE_ELEMENT_KIND, FLOOR_MAP_IMAGE_ELEMENT_KIND } from "./types";
|
|
7
7
|
export { renderFloorMapFallbackPlaceholder } from "./utils/floorMapFallbackRender";
|
|
8
8
|
export { isFloorMapImageElementKind } from "./utils/floorMapElementKindUtils";
|
|
9
|
+
export { NAME_AS_TITLE_EXT_KEY, isElementNameAsTitleEnabled, buildNameAsTitleExtensionsPatch, resolveSceneElementDisplayTitle } from "./utils/floorMapElementNameAsTitle";
|
|
9
10
|
export { findFloorMapRowByDataBinding, getFloorMapBindingPlaceholderReason } from "./utils/floorMapDataBindingUtils";
|
|
10
11
|
export { createShopFloorPlanClient, SHOP_FLOOR_PLAN_DUPLICATE_CODE } from "./shopFloorPlan/shopFloorPlanClient";
|
|
11
12
|
export { pickFloorPlanDetail, parseLayoutFieldToViewConfigPatch, mergeFloorPlanViewRemote, floorMapSavedConfigToRemotePatch, viewConfigToLayoutPayload, inferCanvasSizeFromScene, buildFloorPlanPutBody, isShopFloorPlanNotFoundResponse, isHttpNotFoundError, isFloorPlanDuplicateCodeError } from "./shopFloorPlan/shopFloorPlanPure";
|
|
@@ -12,6 +12,14 @@ declare const _default: {
|
|
|
12
12
|
'pisell-floor-map-layout.edit-top-bar.unsaved': string;
|
|
13
13
|
'pisell-floor-map-layout.edit-top-bar.save': string;
|
|
14
14
|
'pisell-floor-map-layout.edit-top-bar.saving': string;
|
|
15
|
+
'pisell-floor-map-layout.edit-top-bar.undo': string;
|
|
16
|
+
'pisell-floor-map-layout.edit-top-bar.redo': string;
|
|
17
|
+
'pisell-floor-map-layout.edit-top-bar.cancel-edit': string;
|
|
18
|
+
'pisell-floor-map-layout.edit-top-bar.finish-edit': string;
|
|
19
|
+
'pisell-floor-map-layout.edit-top-bar.cancel-confirm-title': string;
|
|
20
|
+
'pisell-floor-map-layout.edit-top-bar.cancel-confirm-content': string;
|
|
21
|
+
'pisell-floor-map-layout.edit-top-bar.cancel-confirm-ok': string;
|
|
22
|
+
'pisell-floor-map-layout.edit-top-bar.cancel-confirm-cancel': string;
|
|
15
23
|
'pisell-floor-map-layout.canvas-tabs.empty': string;
|
|
16
24
|
'pisell-floor-map-layout.canvas-tabs.add': string;
|
|
17
25
|
'pisell-floor-map-layout.canvas-tabs.add-title': string;
|
|
@@ -41,6 +49,8 @@ declare const _default: {
|
|
|
41
49
|
'pisell-floor-map-layout.edit-panel.label-name-stage': string;
|
|
42
50
|
'pisell-floor-map-layout.edit-panel.ph-name-stage': string;
|
|
43
51
|
'pisell-floor-map-layout.edit-panel.ph-name': string;
|
|
52
|
+
'pisell-floor-map-layout.edit-panel.label-name-as-title': string;
|
|
53
|
+
'pisell-floor-map-layout.edit-panel.tip-name-as-title': string;
|
|
44
54
|
'pisell-floor-map-layout.edit-panel.label-image-url': string;
|
|
45
55
|
'pisell-floor-map-layout.edit-panel.extra-image-url': string;
|
|
46
56
|
'pisell-floor-map-layout.edit-panel.ph-https': string;
|
|
@@ -81,6 +91,8 @@ declare const _default: {
|
|
|
81
91
|
'pisell-floor-map-layout.toolbar.layout-dirty-hint': string;
|
|
82
92
|
'pisell-floor-map-layout.toolbar.save': string;
|
|
83
93
|
'pisell-floor-map-layout.toolbar.saving': string;
|
|
94
|
+
'pisell-floor-map-layout.toolbar.collapse': string;
|
|
95
|
+
'pisell-floor-map-layout.toolbar.expand': string;
|
|
84
96
|
'pisell-floor-map-layout.view-controls.zoom-out-aria': string;
|
|
85
97
|
'pisell-floor-map-layout.view-controls.zoom-in-aria': string;
|
|
86
98
|
'pisell-floor-map-layout.view-controls.reset-aria': string;
|
|
@@ -91,6 +103,8 @@ declare const _default: {
|
|
|
91
103
|
'pisell-floor-map-layout.view-controls.fullscreen-exit-aria': string;
|
|
92
104
|
'pisell-floor-map-layout.view-controls.expand-tools-aria': string;
|
|
93
105
|
'pisell-floor-map-layout.view-controls.collapse-tools-aria': string;
|
|
106
|
+
'pisell-floor-map-layout.view-controls.viewport-lock-aria': string;
|
|
107
|
+
'pisell-floor-map-layout.view-controls.viewport-unlock-aria': string;
|
|
94
108
|
'pisell-floor-map-layout.image-element.default-name': string;
|
|
95
109
|
'pisell-floor-map-layout.placement.fallback-image-name': string;
|
|
96
110
|
'pisell-floor-map-layout.image-element.hint-no-url': string;
|
|
@@ -109,5 +123,11 @@ declare const _default: {
|
|
|
109
123
|
'pisell-floor-map-layout.figma-card.default-table': string;
|
|
110
124
|
'pisell-floor-map-layout.figma-card.capacity-seats': string;
|
|
111
125
|
'pisell-floor-map-layout.figma-card.guests-count': string;
|
|
126
|
+
'pisell-floor-map-layout.figma-card.status-available': string;
|
|
127
|
+
'pisell-floor-map-layout.figma-card.status-reserved': string;
|
|
128
|
+
'pisell-floor-map-layout.figma-card.status-waiting': string;
|
|
129
|
+
'pisell-floor-map-layout.figma-card.status-dining': string;
|
|
130
|
+
'pisell-floor-map-layout.figma-card.status-billed': string;
|
|
131
|
+
'pisell-floor-map-layout.figma-card.status-availableSoon': string;
|
|
112
132
|
};
|
|
113
133
|
export default _default;
|
|
@@ -12,6 +12,14 @@ export default {
|
|
|
12
12
|
'pisell-floor-map-layout.edit-top-bar.unsaved': '未保存',
|
|
13
13
|
'pisell-floor-map-layout.edit-top-bar.save': '保存',
|
|
14
14
|
'pisell-floor-map-layout.edit-top-bar.saving': '保存中…',
|
|
15
|
+
'pisell-floor-map-layout.edit-top-bar.undo': '元に戻す',
|
|
16
|
+
'pisell-floor-map-layout.edit-top-bar.redo': 'やり直す',
|
|
17
|
+
'pisell-floor-map-layout.edit-top-bar.cancel-edit': 'キャンセル',
|
|
18
|
+
'pisell-floor-map-layout.edit-top-bar.finish-edit': '完了',
|
|
19
|
+
'pisell-floor-map-layout.edit-top-bar.cancel-confirm-title': '未保存の変更',
|
|
20
|
+
'pisell-floor-map-layout.edit-top-bar.cancel-confirm-content': 'このページを離れると、保存していない変更は失われます。',
|
|
21
|
+
'pisell-floor-map-layout.edit-top-bar.cancel-confirm-ok': '確定',
|
|
22
|
+
'pisell-floor-map-layout.edit-top-bar.cancel-confirm-cancel': 'キャンセル',
|
|
15
23
|
'pisell-floor-map-layout.canvas-tabs.empty': 'キャンバスがありません',
|
|
16
24
|
'pisell-floor-map-layout.canvas-tabs.add': '+ フロアを追加',
|
|
17
25
|
'pisell-floor-map-layout.canvas-tabs.add-title': 'フロアを追加',
|
|
@@ -41,6 +49,8 @@ export default {
|
|
|
41
49
|
'pisell-floor-map-layout.edit-panel.label-name-stage': '表示名(キャンバス上)',
|
|
42
50
|
'pisell-floor-map-layout.edit-panel.ph-name-stage': '例:ステージ、DJ ブース、ダンスフロア',
|
|
43
51
|
'pisell-floor-map-layout.edit-panel.ph-name': '要素名',
|
|
52
|
+
'pisell-floor-map-layout.edit-panel.label-name-as-title': 'この名前をリソース名として使用',
|
|
53
|
+
'pisell-floor-map-layout.edit-panel.tip-name-as-title': '有効にするとキャンバス上のカードのタイトルがこの名前になり、紐付けたレコードのタイトルを上書きします。',
|
|
44
54
|
'pisell-floor-map-layout.edit-panel.label-image-url': '画像 URL',
|
|
45
55
|
'pisell-floor-map-layout.edit-panel.extra-image-url': 'ネットワーク上の画像 URL を指定。重なり順を下げるとテーブルの下に配置できます。',
|
|
46
56
|
'pisell-floor-map-layout.edit-panel.ph-https': 'https://...',
|
|
@@ -81,6 +91,8 @@ export default {
|
|
|
81
91
|
'pisell-floor-map-layout.toolbar.layout-dirty-hint': 'レイアウトが変更されました。「保存」で確定してください。',
|
|
82
92
|
'pisell-floor-map-layout.toolbar.save': '保存',
|
|
83
93
|
'pisell-floor-map-layout.toolbar.saving': '保存中…',
|
|
94
|
+
'pisell-floor-map-layout.toolbar.collapse': 'パネルを折りたたむ',
|
|
95
|
+
'pisell-floor-map-layout.toolbar.expand': 'パネルを展開',
|
|
84
96
|
'pisell-floor-map-layout.view-controls.zoom-out-aria': '縮小',
|
|
85
97
|
'pisell-floor-map-layout.view-controls.zoom-in-aria': '拡大',
|
|
86
98
|
'pisell-floor-map-layout.view-controls.reset-aria': '表示をリセット',
|
|
@@ -91,6 +103,8 @@ export default {
|
|
|
91
103
|
'pisell-floor-map-layout.view-controls.fullscreen-exit-aria': '全画面を終了',
|
|
92
104
|
'pisell-floor-map-layout.view-controls.expand-tools-aria': 'その他の表示ツールを表示',
|
|
93
105
|
'pisell-floor-map-layout.view-controls.collapse-tools-aria': 'その他の表示ツールを隠す',
|
|
106
|
+
'pisell-floor-map-layout.view-controls.viewport-lock-aria': 'ビューを固定(パン・ズームを無効化)',
|
|
107
|
+
'pisell-floor-map-layout.view-controls.viewport-unlock-aria': 'ビュー固定を解除',
|
|
94
108
|
'pisell-floor-map-layout.image-element.default-name': '画像要素',
|
|
95
109
|
'pisell-floor-map-layout.placement.fallback-image-name': '背景',
|
|
96
110
|
'pisell-floor-map-layout.image-element.hint-no-url': 'サイドバーで画像 URL を入力。重なり順を下げるとテーブル下の背景にできます。',
|
|
@@ -108,5 +122,11 @@ export default {
|
|
|
108
122
|
'pisell-floor-map-layout.figma-card.kind-square-table': 'テーブル',
|
|
109
123
|
'pisell-floor-map-layout.figma-card.default-table': 'テーブル',
|
|
110
124
|
'pisell-floor-map-layout.figma-card.capacity-seats': '着席 {n} 名',
|
|
111
|
-
'pisell-floor-map-layout.figma-card.guests-count': '{n} 名'
|
|
125
|
+
'pisell-floor-map-layout.figma-card.guests-count': '{n} 名',
|
|
126
|
+
'pisell-floor-map-layout.figma-card.status-available': '空席',
|
|
127
|
+
'pisell-floor-map-layout.figma-card.status-reserved': '予約済',
|
|
128
|
+
'pisell-floor-map-layout.figma-card.status-waiting': '待機中',
|
|
129
|
+
'pisell-floor-map-layout.figma-card.status-dining': '食事中',
|
|
130
|
+
'pisell-floor-map-layout.figma-card.status-billed': '会計済',
|
|
131
|
+
'pisell-floor-map-layout.figma-card.status-availableSoon': '間もなく'
|
|
112
132
|
};
|
|
@@ -12,6 +12,14 @@ declare const _default: {
|
|
|
12
12
|
'pisell-floor-map-layout.edit-top-bar.unsaved': string;
|
|
13
13
|
'pisell-floor-map-layout.edit-top-bar.save': string;
|
|
14
14
|
'pisell-floor-map-layout.edit-top-bar.saving': string;
|
|
15
|
+
'pisell-floor-map-layout.edit-top-bar.undo': string;
|
|
16
|
+
'pisell-floor-map-layout.edit-top-bar.redo': string;
|
|
17
|
+
'pisell-floor-map-layout.edit-top-bar.cancel-edit': string;
|
|
18
|
+
'pisell-floor-map-layout.edit-top-bar.finish-edit': string;
|
|
19
|
+
'pisell-floor-map-layout.edit-top-bar.cancel-confirm-title': string;
|
|
20
|
+
'pisell-floor-map-layout.edit-top-bar.cancel-confirm-content': string;
|
|
21
|
+
'pisell-floor-map-layout.edit-top-bar.cancel-confirm-ok': string;
|
|
22
|
+
'pisell-floor-map-layout.edit-top-bar.cancel-confirm-cancel': string;
|
|
15
23
|
'pisell-floor-map-layout.canvas-tabs.empty': string;
|
|
16
24
|
'pisell-floor-map-layout.canvas-tabs.add': string;
|
|
17
25
|
'pisell-floor-map-layout.canvas-tabs.add-title': string;
|
|
@@ -41,6 +49,8 @@ declare const _default: {
|
|
|
41
49
|
'pisell-floor-map-layout.edit-panel.label-name-stage': string;
|
|
42
50
|
'pisell-floor-map-layout.edit-panel.ph-name-stage': string;
|
|
43
51
|
'pisell-floor-map-layout.edit-panel.ph-name': string;
|
|
52
|
+
'pisell-floor-map-layout.edit-panel.label-name-as-title': string;
|
|
53
|
+
'pisell-floor-map-layout.edit-panel.tip-name-as-title': string;
|
|
44
54
|
'pisell-floor-map-layout.edit-panel.label-image-url': string;
|
|
45
55
|
'pisell-floor-map-layout.edit-panel.extra-image-url': string;
|
|
46
56
|
'pisell-floor-map-layout.edit-panel.ph-https': string;
|
|
@@ -81,6 +91,8 @@ declare const _default: {
|
|
|
81
91
|
'pisell-floor-map-layout.toolbar.layout-dirty-hint': string;
|
|
82
92
|
'pisell-floor-map-layout.toolbar.save': string;
|
|
83
93
|
'pisell-floor-map-layout.toolbar.saving': string;
|
|
94
|
+
'pisell-floor-map-layout.toolbar.collapse': string;
|
|
95
|
+
'pisell-floor-map-layout.toolbar.expand': string;
|
|
84
96
|
'pisell-floor-map-layout.view-controls.zoom-out-aria': string;
|
|
85
97
|
'pisell-floor-map-layout.view-controls.zoom-in-aria': string;
|
|
86
98
|
'pisell-floor-map-layout.view-controls.reset-aria': string;
|
|
@@ -91,6 +103,8 @@ declare const _default: {
|
|
|
91
103
|
'pisell-floor-map-layout.view-controls.fullscreen-exit-aria': string;
|
|
92
104
|
'pisell-floor-map-layout.view-controls.expand-tools-aria': string;
|
|
93
105
|
'pisell-floor-map-layout.view-controls.collapse-tools-aria': string;
|
|
106
|
+
'pisell-floor-map-layout.view-controls.viewport-lock-aria': string;
|
|
107
|
+
'pisell-floor-map-layout.view-controls.viewport-unlock-aria': string;
|
|
94
108
|
'pisell-floor-map-layout.image-element.default-name': string;
|
|
95
109
|
'pisell-floor-map-layout.placement.fallback-image-name': string;
|
|
96
110
|
'pisell-floor-map-layout.image-element.hint-no-url': string;
|
|
@@ -109,5 +123,11 @@ declare const _default: {
|
|
|
109
123
|
'pisell-floor-map-layout.figma-card.default-table': string;
|
|
110
124
|
'pisell-floor-map-layout.figma-card.capacity-seats': string;
|
|
111
125
|
'pisell-floor-map-layout.figma-card.guests-count': string;
|
|
126
|
+
'pisell-floor-map-layout.figma-card.status-available': string;
|
|
127
|
+
'pisell-floor-map-layout.figma-card.status-reserved': string;
|
|
128
|
+
'pisell-floor-map-layout.figma-card.status-waiting': string;
|
|
129
|
+
'pisell-floor-map-layout.figma-card.status-dining': string;
|
|
130
|
+
'pisell-floor-map-layout.figma-card.status-billed': string;
|
|
131
|
+
'pisell-floor-map-layout.figma-card.status-availableSoon': string;
|
|
112
132
|
};
|
|
113
133
|
export default _default;
|