@servantcdh/ez-planet-labeling 0.5.22 → 0.5.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +37 -2
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -3587,7 +3587,7 @@ const LIB_AUTHOR = "최동호";
3587
3587
  const LIB_CONTACT = "servantcdh@naver.com";
3588
3588
  const __EZ_PLANET_META__ = Object.freeze({
3589
3589
  name: LIB_NAME,
3590
- version: "0.5.22",
3590
+ version: "0.5.23",
3591
3591
  author: LIB_AUTHOR,
3592
3592
  contact: LIB_CONTACT,
3593
3593
  license: "Proprietary — See LICENSE"
@@ -18568,8 +18568,12 @@ const useImageLabelingUIMeta = ({
18568
18568
  const cycleLayerMode = useLayerModeStore((state) => state.cycleMode);
18569
18569
  const [isActiveSubToolPanel, setIsActiveSubToolPanel] = useState(false);
18570
18570
  const [selectedSubToolId, setSelectedSubToolId] = useState("magic-wand");
18571
+ const [lastSelectedType, setLastSelectedType] = useState("subTool");
18572
+ const [lastSelectedExtension, setLastSelectedExtension] = useState(null);
18571
18573
  const extensionSubMenuItems = useToolbarSubMenuItemsStore((s) => s.items);
18572
18574
  const activePanelId = useExtensionFloatingPanelStore((s) => s.activePanelId);
18575
+ const extItemsRef = useRef(extensionSubMenuItems);
18576
+ extItemsRef.current = extensionSubMenuItems;
18573
18577
  const subButtonItems = useMemo(() => {
18574
18578
  if (!isActiveSubToolPanel) {
18575
18579
  return void 0;
@@ -18586,6 +18590,7 @@ const useImageLabelingUIMeta = ({
18586
18590
  onClick: () => {
18587
18591
  setTool(magicbrushTool());
18588
18592
  setSelectedSubToolId("magic-wand");
18593
+ setLastSelectedType("subTool");
18589
18594
  setIsActiveSubToolPanel(false);
18590
18595
  }
18591
18596
  },
@@ -18600,6 +18605,7 @@ const useImageLabelingUIMeta = ({
18600
18605
  onClick: () => {
18601
18606
  setTool(superpixelTool());
18602
18607
  setSelectedSubToolId("superpixel");
18608
+ setLastSelectedType("subTool");
18603
18609
  setIsActiveSubToolPanel(false);
18604
18610
  }
18605
18611
  }
@@ -18615,6 +18621,8 @@ const useImageLabelingUIMeta = ({
18615
18621
  disabled: ext.disabled ?? false,
18616
18622
  onClick: () => {
18617
18623
  ext.onClick();
18624
+ setLastSelectedType("extension");
18625
+ setLastSelectedExtension(ext);
18618
18626
  setIsActiveSubToolPanel(false);
18619
18627
  }
18620
18628
  }));
@@ -18639,9 +18647,19 @@ const useImageLabelingUIMeta = ({
18639
18647
  }
18640
18648
  return `icon-${layerMode[0] ? "bottom" : "top"}-layer`;
18641
18649
  }, [layerMode]);
18650
+ useEffect(() => {
18651
+ if (activePanelId) {
18652
+ const ext = extItemsRef.current.find((e) => e.id === activePanelId);
18653
+ if (ext) {
18654
+ setLastSelectedType("extension");
18655
+ setLastSelectedExtension(ext);
18656
+ }
18657
+ }
18658
+ }, [activePanelId]);
18642
18659
  useEffect(() => {
18643
18660
  if (["magic-wand", "superpixel"].includes((tool == null ? void 0 : tool.id) ?? "")) {
18644
18661
  setSelectedSubToolId(tool == null ? void 0 : tool.id);
18662
+ setLastSelectedType("subTool");
18645
18663
  }
18646
18664
  setIsActiveSubToolPanel(false);
18647
18665
  }, [tool, setSelectedSubToolId]);
@@ -18725,7 +18743,24 @@ const useImageLabelingUIMeta = ({
18725
18743
  setTool(brushTool());
18726
18744
  }
18727
18745
  },
18728
- {
18746
+ lastSelectedType === "extension" && lastSelectedExtension ? {
18747
+ variant: "radio",
18748
+ iconType: lastSelectedExtension.iconType,
18749
+ name: "tool",
18750
+ title: formatShortcutTitle(
18751
+ lastSelectedExtension.name,
18752
+ lastSelectedExtension.shortcut
18753
+ ),
18754
+ disabled: lastSelectedExtension.disabled ?? false,
18755
+ checked: activePanelId === lastSelectedExtension.id,
18756
+ id: `ext-history-${lastSelectedExtension.id}`,
18757
+ onClick: () => {
18758
+ const ext = extItemsRef.current.find(
18759
+ (e) => e.id === lastSelectedExtension.id
18760
+ );
18761
+ if (ext) ext.onClick();
18762
+ }
18763
+ } : {
18729
18764
  variant: "radio",
18730
18765
  iconType: subToolIconMap[selectedSubToolId],
18731
18766
  name: "tool",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servantcdh/ez-planet-labeling",
3
- "version": "0.5.22",
3
+ "version": "0.5.23",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",