@lvce-editor/find-widget-worker 1.8.0 → 1.9.0

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.
@@ -981,36 +981,74 @@ const focusCloseButton = state => {
981
981
  return setFindWidgetFocus(state, FocusFindWidgetCloseButton);
982
982
  };
983
983
 
984
- // TODO don't call renderer worker, set editor state
985
- // TODO this function should be synchronous
986
- const focusIndex = (state, index) => {
984
+ const rpcs = Object.create(null);
985
+ const set$a = (id, rpc) => {
986
+ rpcs[id] = rpc;
987
+ };
988
+ const get = id => {
989
+ return rpcs[id];
990
+ };
991
+
992
+ /* eslint-disable @typescript-eslint/explicit-function-return-type */
993
+
994
+ const create = rpcId => {
995
+ return {
996
+ // @ts-ignore
997
+ invoke(method, ...params) {
998
+ const rpc = get(rpcId);
999
+ // @ts-ignore
1000
+ return rpc.invoke(method, ...params);
1001
+ },
1002
+ // @ts-ignore
1003
+ invokeAndTransfer(method, ...params) {
1004
+ const rpc = get(rpcId);
1005
+ // @ts-ignore
1006
+ return rpc.invokeAndTransfer(method, ...params);
1007
+ },
1008
+ set(rpc) {
1009
+ set$a(rpcId, rpc);
1010
+ }
1011
+ };
1012
+ };
1013
+ const EditorWorker$1 = 99;
1014
+ const {
1015
+ invoke: invoke$9,
1016
+ set: set$9
1017
+ } = create(EditorWorker$1);
1018
+ const EditorWorker = {
1019
+ __proto__: null,
1020
+ invoke: invoke$9,
1021
+ set: set$9
1022
+ };
1023
+
1024
+ const {
1025
+ invoke,
1026
+ set} = EditorWorker;
1027
+
1028
+ const setSelections = async (editorUid, selections) => {
1029
+ // @ts-ignore
1030
+ await invoke('Editor.setSelections2', editorUid, selections);
1031
+ };
1032
+
1033
+ const focusIndex = async (state, index) => {
987
1034
  const {
988
- matchIndex
1035
+ matchIndex,
1036
+ matches,
1037
+ editorUid,
1038
+ value
989
1039
  } = state;
990
1040
  if (index === matchIndex) {
991
1041
  return state;
992
1042
  }
993
- // TODO update editor
994
- // const { widgets } = editor
995
- // const childIndex = widgets.findIndex(isFind)
996
- // const childWidget = widgets[childIndex]
997
-
998
1043
  // // TODO find next match and highlight it
999
- // const matchRowIndex = matches[index * 2]
1000
- // const matchColumnIndex = matches[index * 2 + 1]
1001
- // const newSelections = new Uint32Array([matchRowIndex, matchColumnIndex, matchRowIndex, matchColumnIndex + value.length])
1002
- // const newState: FindWidgetState = {
1003
- // ...findState,
1004
- // matchIndex: index,
1005
- // }
1006
- // const newWidget = {
1007
- // ...childWidget,
1008
- // newState,
1009
- // }
1010
- // const newWidgets = [...widgets.slice(0, childIndex), newWidget, ...widgets.slice(childIndex + 1)]
1044
+ const matchRowIndex = matches[index * 2];
1045
+ const matchColumnIndex = matches[index * 2 + 1];
1046
+ const newSelections = new Uint32Array([matchRowIndex, matchColumnIndex, matchRowIndex, matchColumnIndex + value.length]);
1047
+ await setSelections(editorUid, newSelections);
1011
1048
  return {
1012
1049
  ...state,
1013
- matchIndex: index
1050
+ matchIndex: index,
1051
+ selections: [...newSelections]
1014
1052
  };
1015
1053
  };
1016
1054
  const focusFirst = state => {
@@ -1058,50 +1096,6 @@ const handleBlur = async state => {
1058
1096
  };
1059
1097
  };
1060
1098
 
1061
- const rpcs = Object.create(null);
1062
- const set$a = (id, rpc) => {
1063
- rpcs[id] = rpc;
1064
- };
1065
- const get = id => {
1066
- return rpcs[id];
1067
- };
1068
-
1069
- /* eslint-disable @typescript-eslint/explicit-function-return-type */
1070
-
1071
- const create = rpcId => {
1072
- return {
1073
- // @ts-ignore
1074
- invoke(method, ...params) {
1075
- const rpc = get(rpcId);
1076
- // @ts-ignore
1077
- return rpc.invoke(method, ...params);
1078
- },
1079
- // @ts-ignore
1080
- invokeAndTransfer(method, ...params) {
1081
- const rpc = get(rpcId);
1082
- // @ts-ignore
1083
- return rpc.invokeAndTransfer(method, ...params);
1084
- },
1085
- set(rpc) {
1086
- set$a(rpcId, rpc);
1087
- }
1088
- };
1089
- };
1090
- const EditorWorker$1 = 99;
1091
- const {
1092
- invoke: invoke$9,
1093
- set: set$9
1094
- } = create(EditorWorker$1);
1095
- const EditorWorker = {
1096
- __proto__: null,
1097
- invoke: invoke$9,
1098
- set: set$9
1099
- };
1100
-
1101
- const {
1102
- invoke,
1103
- set} = EditorWorker;
1104
-
1105
1099
  const close$1 = async state => {
1106
1100
  const {
1107
1101
  editorUid
@@ -1287,6 +1281,10 @@ const loadContent = async state => {
1287
1281
  };
1288
1282
  };
1289
1283
 
1284
+ const preventDefaultBrowserFind = state => {
1285
+ return state;
1286
+ };
1287
+
1290
1288
  const SetBounds = 'Viewlet.setBounds';
1291
1289
  const SetDom2 = 'Viewlet.setDom2';
1292
1290
  const SetUid = 'Viewlet.setUid';
@@ -1305,7 +1303,6 @@ const renderBounds = (oldState, newState) => {
1305
1303
 
1306
1304
  const HandleBlur = 'handleBlur';
1307
1305
  const HandleClickClose = 'handleClickClose';
1308
- const HandleClickFocusPreviousMatch = 'handleClickFocusPreviousMatch';
1309
1306
  const HandleClickNextMatch = 'handleClickNextMatch';
1310
1307
  const HandleClickPreviousMatch = 'handleClickPreviousMatch';
1311
1308
  const HandleClickReplace = 'handleClickReplace';
@@ -1658,11 +1655,11 @@ const getEventListeners = (uid, widgetId) => {
1658
1655
  name: HandleClickClose,
1659
1656
  params: ['executeWidgetCommand', 'FindWidget', 'FindWidget.handleClickClose', 0, widgetId]
1660
1657
  }, {
1661
- name: HandleClickFocusPreviousMatch,
1662
- params: ['executeWidgetCommand', 'FindWidget', 'FindWidget.handleClickPreviousMatch', 0, widgetId]
1658
+ name: HandleClickPreviousMatch,
1659
+ params: ['executeWidgetCommand', 'FindWidget', 'FindWidget.focusPrevious', 0, widgetId]
1663
1660
  }, {
1664
1661
  name: HandleClickNextMatch,
1665
- params: ['executeWidgetCommand', 'FindWidget', 'FindWidget.handleClickNextMatch', 0, widgetId]
1662
+ params: ['executeWidgetCommand', 'FindWidget', 'FindWidget.focusNext', 0, widgetId]
1666
1663
  }, {
1667
1664
  name: HandleClickReplace,
1668
1665
  params: ['executeWidgetCommand', 'FindWidget', 'FindWidget.handleClickReplace', 0, widgetId]
@@ -1793,6 +1790,7 @@ const commandMap = {
1793
1790
  'FindWidget.handleClickClose': wrapCommand(handleClickClose),
1794
1791
  'FindWidget.handleInput': wrapCommand(handleInput),
1795
1792
  'FindWidget.loadContent': wrapCommand(loadContent),
1793
+ 'FindWidget.preventDefaultBrowserFind': wrapCommand(preventDefaultBrowserFind),
1796
1794
  'FindWidget.render2': render2,
1797
1795
  'FindWidget.terminate': terminate,
1798
1796
  'FindWidget.toggleReplace': wrapCommand(toggleReplace)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/find-widget-worker",
3
- "version": "1.8.0",
3
+ "version": "1.9.0",
4
4
  "description": "Web Worker for the find widget in Lvce Editor",
5
5
  "repository": {
6
6
  "type": "git",