@atlaskit/editor-plugin-extension 5.3.7 → 5.3.8

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/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # @atlaskit/editor-plugin-extension
2
2
 
3
+ ## 5.3.8
4
+
5
+ ### Patch Changes
6
+
7
+ - [#147357](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/147357)
8
+ [`1eab8cfeaf029`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/1eab8cfeaf029) -
9
+ Migrate extensions and floating toolbar plugins to use useSharedPluginStateSelector hook
10
+ - Updated dependencies
11
+
3
12
  ## 5.3.7
4
13
 
5
14
  ### Patch Changes
@@ -26,6 +26,7 @@ var _new = _interopRequireDefault(require("@atlaskit/button/new"));
26
26
  var _analytics = require("@atlaskit/editor-common/analytics");
27
27
  var _extensions = require("@atlaskit/editor-common/extensions");
28
28
  var _hooks = require("@atlaskit/editor-common/hooks");
29
+ var _useSharedPluginStateSelector = require("@atlaskit/editor-common/use-shared-plugin-state-selector");
29
30
  var _form = _interopRequireWildcard(require("@atlaskit/form"));
30
31
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
31
32
  var _experiments = require("@atlaskit/tmp-editor-statsig/experiments");
@@ -488,6 +489,18 @@ var ConfigPanel = /*#__PURE__*/function (_React$Component) {
488
489
  }
489
490
  }]);
490
491
  }(_react.default.Component);
492
+ var useSharedState = (0, _hooks.sharedPluginStateHookMigratorFactory)(function (api) {
493
+ var contextIdentifierProvider = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(api, 'contextIdentifier.contextIdentifierProvider');
494
+ return {
495
+ contextIdentifierProvider: contextIdentifierProvider
496
+ };
497
+ }, function (api) {
498
+ var _useSharedPluginState = (0, _hooks.useSharedPluginState)(api, ['contextIdentifier']),
499
+ contextIdentifierState = _useSharedPluginState.contextIdentifierState;
500
+ return {
501
+ contextIdentifierProvider: contextIdentifierState === null || contextIdentifierState === void 0 ? void 0 : contextIdentifierState.contextIdentifierProvider
502
+ };
503
+ });
491
504
  function ConfigFormIntlWithBoundary(_ref6) {
492
505
  var api = _ref6.api,
493
506
  fields = _ref6.fields,
@@ -503,10 +516,8 @@ function ConfigFormIntlWithBoundary(_ref6) {
503
516
  firstVisibleFieldName = _ref6.firstVisibleFieldName,
504
517
  errorMessage = _ref6.errorMessage,
505
518
  disableFields = _ref6.disableFields;
506
- var _useSharedPluginState = (0, _hooks.useSharedPluginState)(api, ['contextIdentifier']),
507
- contextIdentifierState = _useSharedPluginState.contextIdentifierState;
508
- var _ref7 = contextIdentifierState !== null && contextIdentifierState !== void 0 ? contextIdentifierState : {},
509
- contextIdentifierProvider = _ref7.contextIdentifierProvider;
519
+ var _useSharedState = useSharedState(api),
520
+ contextIdentifierProvider = _useSharedState.contextIdentifierProvider;
510
521
  return /*#__PURE__*/_react.default.createElement(_FormErrorBoundary.FormErrorBoundary, {
511
522
  contextIdentifierProvider: contextIdentifierProvider,
512
523
  extensionKey: extensionManifest.key,
@@ -16,6 +16,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
16
16
  var _react = _interopRequireWildcard(require("react"));
17
17
  var _extensions = require("@atlaskit/editor-common/extensions");
18
18
  var _hooks = require("@atlaskit/editor-common/hooks");
19
+ var _useSharedPluginStateSelector = require("@atlaskit/editor-common/use-shared-plugin-state-selector");
19
20
  var _compiled = require("@atlaskit/primitives/compiled");
20
21
  var _commands = require("../editor-commands/commands");
21
22
  var _pluginFactory = require("../pm-plugins/plugin-factory");
@@ -28,35 +29,50 @@ var _contextPanel = require("./context-panel");
28
29
  var _SaveIndicator = require("./SaveIndicator/SaveIndicator");
29
30
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
30
31
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
32
+ var useSharedState = (0, _hooks.sharedPluginStateHookMigratorFactory)(function (api) {
33
+ var showContextPanel = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(api, 'extension.showContextPanel');
34
+ var extensionProvider = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(api, 'extension.extensionProvider');
35
+ var processParametersAfter = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(api, 'extension.processParametersAfter');
36
+ return {
37
+ showContextPanel: showContextPanel,
38
+ extensionProvider: extensionProvider,
39
+ processParametersAfter: processParametersAfter
40
+ };
41
+ }, function (api) {
42
+ var _useSharedPluginState = (0, _hooks.useSharedPluginState)(api, ['extension']),
43
+ extensionState = _useSharedPluginState.extensionState;
44
+ return {
45
+ showContextPanel: extensionState === null || extensionState === void 0 ? void 0 : extensionState.showContextPanel,
46
+ extensionProvider: extensionState === null || extensionState === void 0 ? void 0 : extensionState.extensionProvider,
47
+ processParametersAfter: extensionState === null || extensionState === void 0 ? void 0 : extensionState.processParametersAfter
48
+ };
49
+ });
31
50
  function useConfigPanelPluginHook(_ref) {
32
51
  var editorView = _ref.editorView,
33
52
  api = _ref.api;
34
53
  var editorState = editorView.state;
35
- var _useSharedPluginState = (0, _hooks.useSharedPluginState)(api, ['extension']),
36
- extensionState = _useSharedPluginState.extensionState;
54
+ var _useSharedState = useSharedState(api),
55
+ showContextPanel = _useSharedState.showContextPanel,
56
+ extensionProvider = _useSharedState.extensionProvider,
57
+ processParametersAfter = _useSharedState.processParametersAfter;
37
58
  (0, _react.useEffect)(function () {
38
59
  var nodeWithPos = (0, _utils.getSelectedExtension)(editorState, true);
39
60
  // Adding checks to bail out early
40
- if (!nodeWithPos || !extensionState) {
61
+ if (!nodeWithPos) {
41
62
  hideConfigPanel(api);
42
63
  return;
43
64
  }
44
- if (extensionState) {
45
- var showContextPanel = extensionState.showContextPanel,
46
- extensionProvider = extensionState.extensionProvider,
47
- processParametersAfter = extensionState.processParametersAfter;
48
- if (showContextPanel && extensionProvider && processParametersAfter) {
49
- showConfigPanel({
50
- api: api,
51
- editorView: editorView,
52
- extensionProvider: extensionProvider,
53
- nodeWithPos: nodeWithPos
54
- });
55
- } else {
56
- hideConfigPanel(api);
57
- }
65
+ if (showContextPanel && extensionProvider && processParametersAfter) {
66
+ showConfigPanel({
67
+ api: api,
68
+ editorView: editorView,
69
+ extensionProvider: extensionProvider,
70
+ nodeWithPos: nodeWithPos
71
+ });
72
+ } else {
73
+ hideConfigPanel(api);
58
74
  }
59
- }, [api, editorState, editorView, extensionState]);
75
+ }, [api, editorState, editorView, showContextPanel, extensionProvider, processParametersAfter]);
60
76
  (0, _react.useEffect)(function () {
61
77
  return function () {
62
78
  hideConfigPanel(api);
@@ -10,7 +10,8 @@ import ButtonGroup from '@atlaskit/button/button-group';
10
10
  import Button from '@atlaskit/button/new';
11
11
  import { ACTION, ACTION_SUBJECT, EVENT_TYPE, fireAnalyticsEvent } from '@atlaskit/editor-common/analytics';
12
12
  import { isTabGroup, configPanelMessages as messages } from '@atlaskit/editor-common/extensions';
13
- import { useSharedPluginState } from '@atlaskit/editor-common/hooks';
13
+ import { sharedPluginStateHookMigratorFactory, useSharedPluginState } from '@atlaskit/editor-common/hooks';
14
+ import { useSharedPluginStateSelector } from '@atlaskit/editor-common/use-shared-plugin-state-selector';
14
15
  import Form, { FormFooter } from '@atlaskit/form';
15
16
  import { fg } from '@atlaskit/platform-feature-flags';
16
17
  import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
@@ -425,6 +426,19 @@ class ConfigPanel extends React.Component {
425
426
  });
426
427
  }
427
428
  }
429
+ const useSharedState = sharedPluginStateHookMigratorFactory(api => {
430
+ const contextIdentifierProvider = useSharedPluginStateSelector(api, 'contextIdentifier.contextIdentifierProvider');
431
+ return {
432
+ contextIdentifierProvider
433
+ };
434
+ }, api => {
435
+ const {
436
+ contextIdentifierState
437
+ } = useSharedPluginState(api, ['contextIdentifier']);
438
+ return {
439
+ contextIdentifierProvider: contextIdentifierState === null || contextIdentifierState === void 0 ? void 0 : contextIdentifierState.contextIdentifierProvider
440
+ };
441
+ });
428
442
  function ConfigFormIntlWithBoundary({
429
443
  api,
430
444
  fields,
@@ -441,12 +455,9 @@ function ConfigFormIntlWithBoundary({
441
455
  errorMessage,
442
456
  disableFields
443
457
  }) {
444
- const {
445
- contextIdentifierState
446
- } = useSharedPluginState(api, ['contextIdentifier']);
447
458
  const {
448
459
  contextIdentifierProvider
449
- } = contextIdentifierState !== null && contextIdentifierState !== void 0 ? contextIdentifierState : {};
460
+ } = useSharedState(api);
450
461
  return /*#__PURE__*/React.createElement(FormErrorBoundary, {
451
462
  contextIdentifierProvider: contextIdentifierProvider,
452
463
  extensionKey: extensionManifest.key,
@@ -1,6 +1,7 @@
1
1
  import React, { useEffect } from 'react';
2
2
  import { getExtensionKeyAndNodeKey } from '@atlaskit/editor-common/extensions';
3
- import { useSharedPluginState } from '@atlaskit/editor-common/hooks';
3
+ import { sharedPluginStateHookMigratorFactory, useSharedPluginState } from '@atlaskit/editor-common/hooks';
4
+ import { useSharedPluginStateSelector } from '@atlaskit/editor-common/use-shared-plugin-state-selector';
4
5
  import { Box } from '@atlaskit/primitives/compiled';
5
6
  import { clearEditingContext, forceAutoSave } from '../editor-commands/commands';
6
7
  import { getPluginState } from '../pm-plugins/plugin-factory';
@@ -11,39 +12,53 @@ import HeaderAfterIconElement from './ConfigPanel/Header/HeaderAfterIconElement'
11
12
  import HeaderIcon from './ConfigPanel/Header/HeaderIcon';
12
13
  import { onChangeAction } from './context-panel';
13
14
  import { SaveIndicator } from './SaveIndicator/SaveIndicator';
15
+ const useSharedState = sharedPluginStateHookMigratorFactory(api => {
16
+ const showContextPanel = useSharedPluginStateSelector(api, 'extension.showContextPanel');
17
+ const extensionProvider = useSharedPluginStateSelector(api, 'extension.extensionProvider');
18
+ const processParametersAfter = useSharedPluginStateSelector(api, 'extension.processParametersAfter');
19
+ return {
20
+ showContextPanel,
21
+ extensionProvider,
22
+ processParametersAfter
23
+ };
24
+ }, api => {
25
+ const {
26
+ extensionState
27
+ } = useSharedPluginState(api, ['extension']);
28
+ return {
29
+ showContextPanel: extensionState === null || extensionState === void 0 ? void 0 : extensionState.showContextPanel,
30
+ extensionProvider: extensionState === null || extensionState === void 0 ? void 0 : extensionState.extensionProvider,
31
+ processParametersAfter: extensionState === null || extensionState === void 0 ? void 0 : extensionState.processParametersAfter
32
+ };
33
+ });
14
34
  export function useConfigPanelPluginHook({
15
35
  editorView,
16
36
  api
17
37
  }) {
18
38
  const editorState = editorView.state;
19
39
  const {
20
- extensionState
21
- } = useSharedPluginState(api, ['extension']);
40
+ showContextPanel,
41
+ extensionProvider,
42
+ processParametersAfter
43
+ } = useSharedState(api);
22
44
  useEffect(() => {
23
45
  const nodeWithPos = getSelectedExtension(editorState, true);
24
46
  // Adding checks to bail out early
25
- if (!nodeWithPos || !extensionState) {
47
+ if (!nodeWithPos) {
26
48
  hideConfigPanel(api);
27
49
  return;
28
50
  }
29
- if (extensionState) {
30
- const {
31
- showContextPanel,
51
+ if (showContextPanel && extensionProvider && processParametersAfter) {
52
+ showConfigPanel({
53
+ api,
54
+ editorView,
32
55
  extensionProvider,
33
- processParametersAfter
34
- } = extensionState;
35
- if (showContextPanel && extensionProvider && processParametersAfter) {
36
- showConfigPanel({
37
- api,
38
- editorView,
39
- extensionProvider,
40
- nodeWithPos
41
- });
42
- } else {
43
- hideConfigPanel(api);
44
- }
56
+ nodeWithPos
57
+ });
58
+ } else {
59
+ hideConfigPanel(api);
45
60
  }
46
- }, [api, editorState, editorView, extensionState]);
61
+ }, [api, editorState, editorView, showContextPanel, extensionProvider, processParametersAfter]);
47
62
  useEffect(() => {
48
63
  return () => {
49
64
  hideConfigPanel(api);
@@ -21,7 +21,8 @@ import ButtonGroup from '@atlaskit/button/button-group';
21
21
  import Button from '@atlaskit/button/new';
22
22
  import { ACTION, ACTION_SUBJECT, EVENT_TYPE, fireAnalyticsEvent } from '@atlaskit/editor-common/analytics';
23
23
  import { isTabGroup, configPanelMessages as messages } from '@atlaskit/editor-common/extensions';
24
- import { useSharedPluginState } from '@atlaskit/editor-common/hooks';
24
+ import { sharedPluginStateHookMigratorFactory, useSharedPluginState } from '@atlaskit/editor-common/hooks';
25
+ import { useSharedPluginStateSelector } from '@atlaskit/editor-common/use-shared-plugin-state-selector';
25
26
  import Form, { FormFooter } from '@atlaskit/form';
26
27
  import { fg } from '@atlaskit/platform-feature-flags';
27
28
  import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
@@ -478,6 +479,18 @@ var ConfigPanel = /*#__PURE__*/function (_React$Component) {
478
479
  }
479
480
  }]);
480
481
  }(React.Component);
482
+ var useSharedState = sharedPluginStateHookMigratorFactory(function (api) {
483
+ var contextIdentifierProvider = useSharedPluginStateSelector(api, 'contextIdentifier.contextIdentifierProvider');
484
+ return {
485
+ contextIdentifierProvider: contextIdentifierProvider
486
+ };
487
+ }, function (api) {
488
+ var _useSharedPluginState = useSharedPluginState(api, ['contextIdentifier']),
489
+ contextIdentifierState = _useSharedPluginState.contextIdentifierState;
490
+ return {
491
+ contextIdentifierProvider: contextIdentifierState === null || contextIdentifierState === void 0 ? void 0 : contextIdentifierState.contextIdentifierProvider
492
+ };
493
+ });
481
494
  function ConfigFormIntlWithBoundary(_ref6) {
482
495
  var api = _ref6.api,
483
496
  fields = _ref6.fields,
@@ -493,10 +506,8 @@ function ConfigFormIntlWithBoundary(_ref6) {
493
506
  firstVisibleFieldName = _ref6.firstVisibleFieldName,
494
507
  errorMessage = _ref6.errorMessage,
495
508
  disableFields = _ref6.disableFields;
496
- var _useSharedPluginState = useSharedPluginState(api, ['contextIdentifier']),
497
- contextIdentifierState = _useSharedPluginState.contextIdentifierState;
498
- var _ref7 = contextIdentifierState !== null && contextIdentifierState !== void 0 ? contextIdentifierState : {},
499
- contextIdentifierProvider = _ref7.contextIdentifierProvider;
509
+ var _useSharedState = useSharedState(api),
510
+ contextIdentifierProvider = _useSharedState.contextIdentifierProvider;
500
511
  return /*#__PURE__*/React.createElement(FormErrorBoundary, {
501
512
  contextIdentifierProvider: contextIdentifierProvider,
502
513
  extensionKey: extensionManifest.key,
@@ -3,7 +3,8 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  import _regeneratorRuntime from "@babel/runtime/regenerator";
4
4
  import React, { useEffect } from 'react';
5
5
  import { getExtensionKeyAndNodeKey } from '@atlaskit/editor-common/extensions';
6
- import { useSharedPluginState } from '@atlaskit/editor-common/hooks';
6
+ import { sharedPluginStateHookMigratorFactory, useSharedPluginState } from '@atlaskit/editor-common/hooks';
7
+ import { useSharedPluginStateSelector } from '@atlaskit/editor-common/use-shared-plugin-state-selector';
7
8
  import { Box } from '@atlaskit/primitives/compiled';
8
9
  import { clearEditingContext, forceAutoSave } from '../editor-commands/commands';
9
10
  import { getPluginState } from '../pm-plugins/plugin-factory';
@@ -14,35 +15,50 @@ import HeaderAfterIconElement from './ConfigPanel/Header/HeaderAfterIconElement'
14
15
  import HeaderIcon from './ConfigPanel/Header/HeaderIcon';
15
16
  import { onChangeAction } from './context-panel';
16
17
  import { SaveIndicator } from './SaveIndicator/SaveIndicator';
18
+ var useSharedState = sharedPluginStateHookMigratorFactory(function (api) {
19
+ var showContextPanel = useSharedPluginStateSelector(api, 'extension.showContextPanel');
20
+ var extensionProvider = useSharedPluginStateSelector(api, 'extension.extensionProvider');
21
+ var processParametersAfter = useSharedPluginStateSelector(api, 'extension.processParametersAfter');
22
+ return {
23
+ showContextPanel: showContextPanel,
24
+ extensionProvider: extensionProvider,
25
+ processParametersAfter: processParametersAfter
26
+ };
27
+ }, function (api) {
28
+ var _useSharedPluginState = useSharedPluginState(api, ['extension']),
29
+ extensionState = _useSharedPluginState.extensionState;
30
+ return {
31
+ showContextPanel: extensionState === null || extensionState === void 0 ? void 0 : extensionState.showContextPanel,
32
+ extensionProvider: extensionState === null || extensionState === void 0 ? void 0 : extensionState.extensionProvider,
33
+ processParametersAfter: extensionState === null || extensionState === void 0 ? void 0 : extensionState.processParametersAfter
34
+ };
35
+ });
17
36
  export function useConfigPanelPluginHook(_ref) {
18
37
  var editorView = _ref.editorView,
19
38
  api = _ref.api;
20
39
  var editorState = editorView.state;
21
- var _useSharedPluginState = useSharedPluginState(api, ['extension']),
22
- extensionState = _useSharedPluginState.extensionState;
40
+ var _useSharedState = useSharedState(api),
41
+ showContextPanel = _useSharedState.showContextPanel,
42
+ extensionProvider = _useSharedState.extensionProvider,
43
+ processParametersAfter = _useSharedState.processParametersAfter;
23
44
  useEffect(function () {
24
45
  var nodeWithPos = getSelectedExtension(editorState, true);
25
46
  // Adding checks to bail out early
26
- if (!nodeWithPos || !extensionState) {
47
+ if (!nodeWithPos) {
27
48
  hideConfigPanel(api);
28
49
  return;
29
50
  }
30
- if (extensionState) {
31
- var showContextPanel = extensionState.showContextPanel,
32
- extensionProvider = extensionState.extensionProvider,
33
- processParametersAfter = extensionState.processParametersAfter;
34
- if (showContextPanel && extensionProvider && processParametersAfter) {
35
- showConfigPanel({
36
- api: api,
37
- editorView: editorView,
38
- extensionProvider: extensionProvider,
39
- nodeWithPos: nodeWithPos
40
- });
41
- } else {
42
- hideConfigPanel(api);
43
- }
51
+ if (showContextPanel && extensionProvider && processParametersAfter) {
52
+ showConfigPanel({
53
+ api: api,
54
+ editorView: editorView,
55
+ extensionProvider: extensionProvider,
56
+ nodeWithPos: nodeWithPos
57
+ });
58
+ } else {
59
+ hideConfigPanel(api);
44
60
  }
45
- }, [api, editorState, editorView, extensionState]);
61
+ }, [api, editorState, editorView, showContextPanel, extensionProvider, processParametersAfter]);
46
62
  useEffect(function () {
47
63
  return function () {
48
64
  hideConfigPanel(api);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-extension",
3
- "version": "5.3.7",
3
+ "version": "5.3.8",
4
4
  "description": "editor-plugin-extension plugin for @atlaskit/editor-core",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -28,13 +28,13 @@
28
28
  "@atlaskit/adf-schema": "^47.6.0",
29
29
  "@atlaskit/adf-utils": "^19.19.0",
30
30
  "@atlaskit/analytics-next": "^11.0.0",
31
- "@atlaskit/avatar": "^25.0.0",
31
+ "@atlaskit/avatar": "^25.1.0",
32
32
  "@atlaskit/button": "^23.0.0",
33
33
  "@atlaskit/checkbox": "^17.1.0",
34
34
  "@atlaskit/datetime-picker": "^17.0.0",
35
- "@atlaskit/editor-common": "^105.0.0",
35
+ "@atlaskit/editor-common": "^105.2.0",
36
36
  "@atlaskit/editor-json-transformer": "^8.24.0",
37
- "@atlaskit/editor-plugin-analytics": "^2.2.0",
37
+ "@atlaskit/editor-plugin-analytics": "^2.3.0",
38
38
  "@atlaskit/editor-plugin-connectivity": "^2.0.0",
39
39
  "@atlaskit/editor-plugin-context-identifier": "^2.1.0",
40
40
  "@atlaskit/editor-plugin-context-panel": "^4.1.0",
@@ -59,7 +59,7 @@
59
59
  "@atlaskit/textarea": "^8.0.0",
60
60
  "@atlaskit/textfield": "^8.0.0",
61
61
  "@atlaskit/theme": "^18.0.0",
62
- "@atlaskit/tmp-editor-statsig": "^4.19.0",
62
+ "@atlaskit/tmp-editor-statsig": "^4.21.0",
63
63
  "@atlaskit/toggle": "^15.0.0",
64
64
  "@atlaskit/tokens": "^4.8.0",
65
65
  "@atlaskit/tooltip": "^20.0.0",