@lvce-editor/find-widget-worker 1.2.0 → 1.4.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.
@@ -906,11 +906,11 @@ const isEqual$3 = (oldState, newState) => {
906
906
  };
907
907
 
908
908
  const isEqual$2 = (oldState, newState) => {
909
- return oldState.version === newState.version;
909
+ return oldState.focused === newState.focused;
910
910
  };
911
911
 
912
912
  const isEqual$1 = (oldState, newState) => {
913
- return oldState.version === newState.version;
913
+ return oldState.version === newState.version && oldState.replaceExpanded === newState.replaceExpanded && oldState.matchCount === newState.matchCount && oldState.matchIndex === newState.matchIndex;
914
914
  };
915
915
 
916
916
  const isEqual = (oldState, newState) => {
@@ -922,9 +922,10 @@ const RenderEventListeners = 11;
922
922
  const RenderUid = 12;
923
923
  const RenderContent = 13;
924
924
  const RenderFocusContext = 14;
925
+ const RenderFocus = 15;
925
926
 
926
- const modules = [isEqual$3, isEqual$1, isEqual$4, isEqual, isEqual$2];
927
- const numbers = [RenderEventListeners, RenderContent, RenderBounds, RenderUid, RenderFocusContext];
927
+ const modules = [isEqual$3, isEqual$1, isEqual$4, isEqual, isEqual$2, isEqual$2];
928
+ const numbers = [RenderEventListeners, RenderContent, RenderBounds, RenderUid, RenderFocusContext, RenderFocus];
928
929
 
929
930
  const diff = (oldState, newState) => {
930
931
  const diffResult = [];
@@ -1012,6 +1013,11 @@ const handleBlur = async state => {
1012
1013
  };
1013
1014
  };
1014
1015
 
1016
+ const handleClickClose = state => {
1017
+ // TODO ask editor worker to dispose widget
1018
+ return state;
1019
+ };
1020
+
1015
1021
  const findRegexMatches = (lines, regex) => {
1016
1022
  if (!regex.global) {
1017
1023
  throw new Error('regex must be global');
@@ -1082,6 +1088,26 @@ const handleInput = (state, value) => {
1082
1088
  return refresh(state, value);
1083
1089
  };
1084
1090
 
1091
+ const getFindWidgetHeight = replaceExpanded => {
1092
+ const collapsedHeight = 30;
1093
+ const expandedHeight = 60;
1094
+ const newHeight = replaceExpanded ? expandedHeight : collapsedHeight;
1095
+ return newHeight;
1096
+ };
1097
+
1098
+ const toggleReplace = state => {
1099
+ const {
1100
+ replaceExpanded
1101
+ } = state;
1102
+ const newExpanded = !replaceExpanded;
1103
+ const newHeight = getFindWidgetHeight(newExpanded);
1104
+ return {
1105
+ ...state,
1106
+ replaceExpanded: newExpanded,
1107
+ height: newHeight
1108
+ };
1109
+ };
1110
+
1085
1111
  const commandIds = ['handleSliderPointerDown', 'handleSliderPointerMove'];
1086
1112
 
1087
1113
  const getCommandIds = () => {
@@ -1196,7 +1222,10 @@ const loadContent = async state => {
1196
1222
  x,
1197
1223
  y,
1198
1224
  width,
1199
- height
1225
+ height,
1226
+ lines,
1227
+ selections,
1228
+ focused: true
1200
1229
  };
1201
1230
  };
1202
1231
 
@@ -1216,14 +1245,19 @@ const renderBounds = (oldState, newState) => {
1216
1245
  return [SetBounds, uid, x, y, width, height];
1217
1246
  };
1218
1247
 
1248
+ const HandleBlur = 'handleBlur';
1219
1249
  const HandleClickClose = 'handleClickClose';
1250
+ const HandleClickFocusPreviousMatch = 'handleClickFocusPreviousMatch';
1220
1251
  const HandleClickNextMatch = 'handleClickNextMatch';
1221
1252
  const HandleClickPreviousMatch = 'handleClickPreviousMatch';
1222
1253
  const HandleClickReplace = 'handleClickReplace';
1254
+ const HandleClickToggleReplace = 'handleClickToggleReplace';
1223
1255
  const HandleClickReplaceAll = 'handleClickReplaceAll';
1224
1256
  const HandleFocus = 'handleFocus';
1225
1257
  const HandleInput = 'handleInput';
1226
1258
  const HandleReplaceFocus = 'handleReplaceFocus';
1259
+ const HandleFocusPrevious = 'handleFocusPrevious';
1260
+ const HandleFocusNext = 'handleFocusNext';
1227
1261
  const HandleReplaceInput = 'handleReplaceInput';
1228
1262
 
1229
1263
  const emptyObject = {};
@@ -1557,18 +1591,66 @@ const renderContent = (oldState, newState) => {
1557
1591
  return [SetDom2, uid, dom];
1558
1592
  };
1559
1593
 
1560
- const getEventListeners = uid => {
1561
- return [];
1594
+ const getEventListeners = (uid, widgetId) => {
1595
+ return [{
1596
+ name: HandleInput,
1597
+ params: ['executeWidgetCommand', 'FindWidget', 'FindWidget.handleInput', 0, widgetId, 'event.target.value']
1598
+ }, {
1599
+ name: HandleClickClose,
1600
+ params: ['executeWidgetCommand', 'FindWidget', 'FindWidget.handleClickClose', 0, widgetId]
1601
+ }, {
1602
+ name: HandleClickFocusPreviousMatch,
1603
+ params: ['executeWidgetCommand', 'FindWidget', 'FindWidget.handleClickPreviousMatch', 0, widgetId]
1604
+ }, {
1605
+ name: HandleClickNextMatch,
1606
+ params: ['executeWidgetCommand', 'FindWidget', 'FindWidget.handleClickNextMatch', 0, widgetId]
1607
+ }, {
1608
+ name: HandleClickReplace,
1609
+ params: ['executeWidgetCommand', 'FindWidget', 'FindWidget.handleClickReplace', 0, widgetId]
1610
+ }, {
1611
+ name: HandleClickReplace,
1612
+ params: ['executeWidgetCommand', 'FindWidget', 'FindWidget.handleClickReplaceAll', 0, widgetId]
1613
+ }, {
1614
+ name: HandleClickToggleReplace,
1615
+ params: ['executeWidgetCommand', 'FindWidget', 'FindWidget.toggleReplace', 0, widgetId]
1616
+ }, {
1617
+ name: HandleBlur,
1618
+ params: ['executeWidgetCommand', 'FindWidget', 'FindWidget.handleBlur', 0, widgetId]
1619
+ }, {
1620
+ name: HandleReplaceInput,
1621
+ params: ['executeWidgetCommand', 'FindWidget', 'FindWidget.handleReplaceInput', 0, widgetId]
1622
+ }, {
1623
+ name: HandleReplaceFocus,
1624
+ params: ['executeWidgetCommand', 'FindWidget', 'FindWidget.handleReplaceFocus', 0, widgetId]
1625
+ }, {
1626
+ name: HandleFocusPrevious,
1627
+ params: ['executeWidgetCommand', 'FindWidget', 'FindWidget.handleFocusPrevious', 0, widgetId]
1628
+ }, {
1629
+ name: HandleFocusNext,
1630
+ params: ['executeWidgetCommand', 'FindWidget', 'FindWidget.handleFocusNext', 0, widgetId]
1631
+ }, {
1632
+ name: HandleClickReplaceAll,
1633
+ params: ['executeWidgetCommand', 'FindWidget', 'FindWidget.handleClickReplaceAll', 0, widgetId]
1634
+ }];
1562
1635
  };
1563
1636
 
1637
+ const Find = 5;
1638
+
1564
1639
  const renderEventListeners = state => {
1565
1640
  const {
1566
1641
  uid
1567
1642
  } = state;
1568
- const eventListeners = getEventListeners();
1643
+ const eventListeners = getEventListeners(uid, Find);
1569
1644
  return [SetEventListeners, uid, eventListeners];
1570
1645
  };
1571
1646
 
1647
+ const renderFocus = (oldState, newState) => {
1648
+ const {
1649
+ uid
1650
+ } = newState;
1651
+ return [/* method */'Viewlet.focusSelector', uid, `[name="search-value"]`];
1652
+ };
1653
+
1572
1654
  const FocusFindWidget = 16;
1573
1655
 
1574
1656
  const renderFocusContext = (oldState, newState) => {
@@ -1595,6 +1677,8 @@ const getRenderer = diffType => {
1595
1677
  return renderUid;
1596
1678
  case RenderFocusContext:
1597
1679
  return renderFocusContext;
1680
+ case RenderFocus:
1681
+ return renderFocus;
1598
1682
  default:
1599
1683
  throw new Error('unknown renderer');
1600
1684
  }
@@ -1626,17 +1710,19 @@ const terminate = () => {
1626
1710
  const commandMap = {
1627
1711
  'FindWidget.create': create$1,
1628
1712
  'FindWidget.diff2': diff2,
1629
- 'FindWidget.focusFirst': focusFirst,
1630
- 'FindWidget.focusIndex': focusIndex,
1631
- 'FindWidget.focusLast': focusLast,
1632
- 'FindWidget.focusNext': focusNext,
1633
- 'FindWidget.focusPrevious': focusPrevious,
1713
+ 'FindWidget.focusFirst': wrapCommand(focusFirst),
1714
+ 'FindWidget.focusIndex': wrapCommand(focusIndex),
1715
+ 'FindWidget.focusLast': wrapCommand(focusLast),
1716
+ 'FindWidget.focusNext': wrapCommand(focusNext),
1717
+ 'FindWidget.focusPrevious': wrapCommand(focusPrevious),
1634
1718
  'FindWidget.getCommandIds': getCommandIds,
1635
- 'FindWidget.handleBlur': handleBlur,
1636
- 'FindWidget.handleInput': handleInput,
1719
+ 'FindWidget.handleBlur': wrapCommand(handleBlur),
1720
+ 'FindWidget.handleClickClose': wrapCommand(handleClickClose),
1721
+ 'FindWidget.handleInput': wrapCommand(handleInput),
1637
1722
  'FindWidget.loadContent': wrapCommand(loadContent),
1638
1723
  'FindWidget.render2': render2,
1639
- 'FindWidget.terminate': terminate
1724
+ 'FindWidget.terminate': terminate,
1725
+ 'FindWidget.toggleReplace': wrapCommand(toggleReplace)
1640
1726
  };
1641
1727
 
1642
1728
  const listen = async () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/find-widget-worker",
3
- "version": "1.2.0",
3
+ "version": "1.4.0",
4
4
  "description": "Web Worker for the find widget in Lvce Editor",
5
5
  "repository": {
6
6
  "type": "git",