@atlaskit/editor-plugin-extension 0.4.2 → 0.5.1
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/.eslintrc.js +26 -0
- package/CHANGELOG.md +16 -0
- package/dist/cjs/actions.js +236 -0
- package/dist/cjs/commands.js +122 -0
- package/dist/cjs/context-panel.js +269 -0
- package/dist/cjs/extension-api.js +266 -0
- package/dist/cjs/index.js +8 -1
- package/dist/cjs/plugin-factory.js +32 -0
- package/dist/cjs/plugin-key.js +8 -0
- package/dist/cjs/plugin.js +147 -0
- package/dist/cjs/pm-plugins/keymap.js +21 -0
- package/dist/cjs/pm-plugins/macro/actions.js +186 -0
- package/dist/cjs/pm-plugins/macro/index.js +72 -0
- package/dist/cjs/pm-plugins/macro/plugin-key.js +8 -0
- package/dist/cjs/pm-plugins/macro/types.js +5 -0
- package/dist/cjs/pm-plugins/main.js +323 -0
- package/dist/cjs/pm-plugins/unique-id.js +80 -0
- package/dist/cjs/pm-plugins/utils.js +75 -0
- package/dist/cjs/reducer.js +18 -0
- package/dist/cjs/toolbar.js +242 -0
- package/dist/cjs/ui/ConfigPanel/ConfigPanel.js +475 -0
- package/dist/cjs/ui/ConfigPanel/ConfigPanelFieldsLoader.js +122 -0
- package/dist/cjs/ui/ConfigPanel/ConfigPanelLoader.js +23 -0
- package/dist/cjs/ui/ConfigPanel/ErrorMessage/ErrorImage.js +76 -0
- package/dist/cjs/ui/ConfigPanel/ErrorMessage/index.js +33 -0
- package/dist/cjs/ui/ConfigPanel/FieldMessages.js +105 -0
- package/dist/cjs/ui/ConfigPanel/Fields/Boolean.js +150 -0
- package/dist/cjs/ui/ConfigPanel/Fields/CheckboxGroup.js +101 -0
- package/dist/cjs/ui/ConfigPanel/Fields/ColorPicker.js +420 -0
- package/dist/cjs/ui/ConfigPanel/Fields/CustomSelect.js +192 -0
- package/dist/cjs/ui/ConfigPanel/Fields/Date.js +55 -0
- package/dist/cjs/ui/ConfigPanel/Fields/DateRange.js +160 -0
- package/dist/cjs/ui/ConfigPanel/Fields/Enum.js +41 -0
- package/dist/cjs/ui/ConfigPanel/Fields/Expand.js +88 -0
- package/dist/cjs/ui/ConfigPanel/Fields/Fieldset.js +270 -0
- package/dist/cjs/ui/ConfigPanel/Fields/Number.js +64 -0
- package/dist/cjs/ui/ConfigPanel/Fields/RadioGroup.js +56 -0
- package/dist/cjs/ui/ConfigPanel/Fields/Select.js +60 -0
- package/dist/cjs/ui/ConfigPanel/Fields/SelectItem.js +53 -0
- package/dist/cjs/ui/ConfigPanel/Fields/String.js +75 -0
- package/dist/cjs/ui/ConfigPanel/Fields/TabGroup.js +73 -0
- package/dist/cjs/ui/ConfigPanel/Fields/UnhandledType.js +19 -0
- package/dist/cjs/ui/ConfigPanel/Fields/UserSelect.js +268 -0
- package/dist/cjs/ui/ConfigPanel/Fields/common/RequiredIndicator.js +12 -0
- package/dist/cjs/ui/ConfigPanel/FormContent.js +231 -0
- package/dist/cjs/ui/ConfigPanel/FormErrorBoundary.js +140 -0
- package/dist/cjs/ui/ConfigPanel/Header.js +148 -0
- package/dist/cjs/ui/ConfigPanel/LoadingState.js +25 -0
- package/dist/cjs/ui/ConfigPanel/NestedForms/RemovableField.js +61 -0
- package/dist/cjs/ui/ConfigPanel/constants.js +13 -0
- package/dist/cjs/ui/ConfigPanel/index.js +9 -0
- package/dist/cjs/ui/ConfigPanel/messages.js +99 -0
- package/dist/cjs/ui/ConfigPanel/transformers.js +631 -0
- package/dist/cjs/ui/ConfigPanel/types.js +15 -0
- package/dist/cjs/ui/ConfigPanel/use-abortable-effect/index.js +56 -0
- package/dist/cjs/ui/ConfigPanel/use-state-from-promise/index.js +41 -0
- package/dist/cjs/ui/ConfigPanel/utils.js +116 -0
- package/dist/cjs/ui/SaveIndicator/SaveIndicator.js +79 -0
- package/dist/cjs/ui/SaveIndicator/messages.js +14 -0
- package/dist/cjs/ui/SaveIndicator/types.js +5 -0
- package/dist/cjs/utils.js +73 -0
- package/dist/es2019/actions.js +203 -0
- package/dist/es2019/commands.js +99 -0
- package/dist/es2019/context-panel.js +181 -0
- package/dist/es2019/extension-api.js +284 -0
- package/dist/es2019/index.js +1 -1
- package/dist/es2019/plugin-factory.js +26 -0
- package/dist/es2019/plugin-key.js +2 -0
- package/dist/es2019/plugin.js +138 -0
- package/dist/es2019/pm-plugins/keymap.js +15 -0
- package/dist/es2019/pm-plugins/macro/actions.js +152 -0
- package/dist/es2019/pm-plugins/macro/index.js +36 -0
- package/dist/es2019/pm-plugins/macro/plugin-key.js +2 -0
- package/dist/es2019/pm-plugins/macro/types.js +1 -0
- package/dist/es2019/pm-plugins/main.js +230 -0
- package/dist/es2019/pm-plugins/unique-id.js +69 -0
- package/dist/es2019/pm-plugins/utils.js +30 -0
- package/dist/es2019/reducer.js +11 -0
- package/dist/es2019/toolbar.js +236 -0
- package/dist/es2019/ui/ConfigPanel/ConfigPanel.js +415 -0
- package/dist/es2019/ui/ConfigPanel/ConfigPanelFieldsLoader.js +100 -0
- package/dist/es2019/ui/ConfigPanel/ConfigPanelLoader.js +7 -0
- package/dist/es2019/ui/ConfigPanel/ErrorMessage/ErrorImage.js +66 -0
- package/dist/es2019/ui/ConfigPanel/ErrorMessage/index.js +25 -0
- package/dist/es2019/ui/ConfigPanel/FieldMessages.js +101 -0
- package/dist/es2019/ui/ConfigPanel/Fields/Boolean.js +138 -0
- package/dist/es2019/ui/ConfigPanel/Fields/CheckboxGroup.js +96 -0
- package/dist/es2019/ui/ConfigPanel/Fields/ColorPicker.js +411 -0
- package/dist/es2019/ui/ConfigPanel/Fields/CustomSelect.js +132 -0
- package/dist/es2019/ui/ConfigPanel/Fields/Date.js +50 -0
- package/dist/es2019/ui/ConfigPanel/Fields/DateRange.js +139 -0
- package/dist/es2019/ui/ConfigPanel/Fields/Enum.js +35 -0
- package/dist/es2019/ui/ConfigPanel/Fields/Expand.js +73 -0
- package/dist/es2019/ui/ConfigPanel/Fields/Fieldset.js +227 -0
- package/dist/es2019/ui/ConfigPanel/Fields/Number.js +61 -0
- package/dist/es2019/ui/ConfigPanel/Fields/RadioGroup.js +40 -0
- package/dist/es2019/ui/ConfigPanel/Fields/Select.js +50 -0
- package/dist/es2019/ui/ConfigPanel/Fields/SelectItem.js +47 -0
- package/dist/es2019/ui/ConfigPanel/Fields/String.js +67 -0
- package/dist/es2019/ui/ConfigPanel/Fields/TabGroup.js +57 -0
- package/dist/es2019/ui/ConfigPanel/Fields/UnhandledType.js +11 -0
- package/dist/es2019/ui/ConfigPanel/Fields/UserSelect.js +194 -0
- package/dist/es2019/ui/ConfigPanel/Fields/common/RequiredIndicator.js +5 -0
- package/dist/es2019/ui/ConfigPanel/FormContent.js +225 -0
- package/dist/es2019/ui/ConfigPanel/FormErrorBoundary.js +100 -0
- package/dist/es2019/ui/ConfigPanel/Header.js +140 -0
- package/dist/es2019/ui/ConfigPanel/LoadingState.js +15 -0
- package/dist/es2019/ui/ConfigPanel/NestedForms/RemovableField.js +52 -0
- package/dist/es2019/ui/ConfigPanel/constants.js +7 -0
- package/dist/es2019/ui/ConfigPanel/index.js +2 -0
- package/dist/es2019/ui/ConfigPanel/messages.js +93 -0
- package/dist/es2019/ui/ConfigPanel/transformers.js +367 -0
- package/dist/es2019/ui/ConfigPanel/types.js +9 -0
- package/dist/es2019/ui/ConfigPanel/use-abortable-effect/index.js +46 -0
- package/dist/es2019/ui/ConfigPanel/use-state-from-promise/index.js +30 -0
- package/dist/es2019/ui/ConfigPanel/utils.js +86 -0
- package/dist/es2019/ui/SaveIndicator/SaveIndicator.js +66 -0
- package/dist/es2019/ui/SaveIndicator/messages.js +8 -0
- package/dist/es2019/ui/SaveIndicator/types.js +1 -0
- package/dist/es2019/utils.js +65 -0
- package/dist/esm/actions.js +223 -0
- package/dist/esm/commands.js +113 -0
- package/dist/esm/context-panel.js +261 -0
- package/dist/esm/extension-api.js +259 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/plugin-factory.js +25 -0
- package/dist/esm/plugin-key.js +2 -0
- package/dist/esm/plugin.js +140 -0
- package/dist/esm/pm-plugins/keymap.js +15 -0
- package/dist/esm/pm-plugins/macro/actions.js +179 -0
- package/dist/esm/pm-plugins/macro/index.js +42 -0
- package/dist/esm/pm-plugins/macro/plugin-key.js +2 -0
- package/dist/esm/pm-plugins/macro/types.js +1 -0
- package/dist/esm/pm-plugins/main.js +298 -0
- package/dist/esm/pm-plugins/unique-id.js +74 -0
- package/dist/esm/pm-plugins/utils.js +68 -0
- package/dist/esm/reducer.js +11 -0
- package/dist/esm/toolbar.js +235 -0
- package/dist/esm/ui/ConfigPanel/ConfigPanel.js +465 -0
- package/dist/esm/ui/ConfigPanel/ConfigPanelFieldsLoader.js +112 -0
- package/dist/esm/ui/ConfigPanel/ConfigPanelLoader.js +11 -0
- package/dist/esm/ui/ConfigPanel/ErrorMessage/ErrorImage.js +68 -0
- package/dist/esm/ui/ConfigPanel/ErrorMessage/index.js +26 -0
- package/dist/esm/ui/ConfigPanel/FieldMessages.js +97 -0
- package/dist/esm/ui/ConfigPanel/Fields/Boolean.js +140 -0
- package/dist/esm/ui/ConfigPanel/Fields/CheckboxGroup.js +95 -0
- package/dist/esm/ui/ConfigPanel/Fields/ColorPicker.js +414 -0
- package/dist/esm/ui/ConfigPanel/Fields/CustomSelect.js +182 -0
- package/dist/esm/ui/ConfigPanel/Fields/Date.js +48 -0
- package/dist/esm/ui/ConfigPanel/Fields/DateRange.js +154 -0
- package/dist/esm/ui/ConfigPanel/Fields/Enum.js +34 -0
- package/dist/esm/ui/ConfigPanel/Fields/Expand.js +77 -0
- package/dist/esm/ui/ConfigPanel/Fields/Fieldset.js +261 -0
- package/dist/esm/ui/ConfigPanel/Fields/Number.js +57 -0
- package/dist/esm/ui/ConfigPanel/Fields/RadioGroup.js +46 -0
- package/dist/esm/ui/ConfigPanel/Fields/Select.js +50 -0
- package/dist/esm/ui/ConfigPanel/Fields/SelectItem.js +45 -0
- package/dist/esm/ui/ConfigPanel/Fields/String.js +65 -0
- package/dist/esm/ui/ConfigPanel/Fields/TabGroup.js +62 -0
- package/dist/esm/ui/ConfigPanel/Fields/UnhandledType.js +10 -0
- package/dist/esm/ui/ConfigPanel/Fields/UserSelect.js +258 -0
- package/dist/esm/ui/ConfigPanel/Fields/common/RequiredIndicator.js +5 -0
- package/dist/esm/ui/ConfigPanel/FormContent.js +223 -0
- package/dist/esm/ui/ConfigPanel/FormErrorBoundary.js +133 -0
- package/dist/esm/ui/ConfigPanel/Header.js +140 -0
- package/dist/esm/ui/ConfigPanel/LoadingState.js +17 -0
- package/dist/esm/ui/ConfigPanel/NestedForms/RemovableField.js +53 -0
- package/dist/esm/ui/ConfigPanel/constants.js +7 -0
- package/dist/esm/ui/ConfigPanel/index.js +2 -0
- package/dist/esm/ui/ConfigPanel/messages.js +93 -0
- package/dist/esm/ui/ConfigPanel/transformers.js +624 -0
- package/dist/esm/ui/ConfigPanel/types.js +9 -0
- package/dist/esm/ui/ConfigPanel/use-abortable-effect/index.js +49 -0
- package/dist/esm/ui/ConfigPanel/use-state-from-promise/index.js +34 -0
- package/dist/esm/ui/ConfigPanel/utils.js +109 -0
- package/dist/esm/ui/SaveIndicator/SaveIndicator.js +72 -0
- package/dist/esm/ui/SaveIndicator/messages.js +8 -0
- package/dist/esm/ui/SaveIndicator/types.js +1 -0
- package/dist/esm/utils.js +67 -0
- package/dist/types/actions.d.ts +20 -0
- package/dist/types/commands.d.ts +15 -0
- package/dist/types/context-panel.d.ts +10 -0
- package/dist/types/extension-api.d.ts +12 -0
- package/dist/types/index.d.ts +2 -1
- package/dist/types/plugin-factory.d.ts +4 -0
- package/dist/types/plugin-key.d.ts +3 -0
- package/dist/types/plugin.d.ts +2 -0
- package/dist/types/pm-plugins/keymap.d.ts +3 -0
- package/dist/types/pm-plugins/macro/actions.d.ts +9 -0
- package/dist/types/pm-plugins/macro/index.d.ts +8 -0
- package/dist/types/pm-plugins/macro/plugin-key.d.ts +3 -0
- package/dist/types/pm-plugins/macro/types.d.ts +4 -0
- package/dist/types/pm-plugins/main.d.ts +25 -0
- package/dist/types/pm-plugins/unique-id.d.ts +3 -0
- package/dist/types/pm-plugins/utils.d.ts +3 -0
- package/dist/types/reducer.d.ts +2 -0
- package/dist/types/toolbar.d.ts +44 -0
- package/dist/types/types.d.ts +27 -2
- package/dist/types/ui/ConfigPanel/ConfigPanel.d.ts +22 -0
- package/dist/types/ui/ConfigPanel/ConfigPanelFieldsLoader.d.ts +21 -0
- package/dist/types/ui/ConfigPanel/ConfigPanelLoader.d.ts +5 -0
- package/dist/types/ui/ConfigPanel/ErrorMessage/ErrorImage.d.ts +4 -0
- package/dist/types/ui/ConfigPanel/ErrorMessage/index.d.ts +10 -0
- package/dist/types/ui/ConfigPanel/FieldMessages.d.ts +12 -0
- package/dist/types/ui/ConfigPanel/Fields/Boolean.d.ts +8 -0
- package/dist/types/ui/ConfigPanel/Fields/CheckboxGroup.d.ts +8 -0
- package/dist/types/ui/ConfigPanel/Fields/ColorPicker.d.ts +20 -0
- package/dist/types/ui/ConfigPanel/Fields/CustomSelect.d.ts +24 -0
- package/dist/types/ui/ConfigPanel/Fields/Date.d.ts +20 -0
- package/dist/types/ui/ConfigPanel/Fields/DateRange.d.ts +20 -0
- package/dist/types/ui/ConfigPanel/Fields/Enum.d.ts +10 -0
- package/dist/types/ui/ConfigPanel/Fields/Expand.d.ts +16 -0
- package/dist/types/ui/ConfigPanel/Fields/Fieldset.d.ts +19 -0
- package/dist/types/ui/ConfigPanel/Fields/Number.d.ts +10 -0
- package/dist/types/ui/ConfigPanel/Fields/RadioGroup.d.ts +8 -0
- package/dist/types/ui/ConfigPanel/Fields/Select.d.ts +11 -0
- package/dist/types/ui/ConfigPanel/Fields/SelectItem.d.ts +5 -0
- package/dist/types/ui/ConfigPanel/Fields/String.d.ts +10 -0
- package/dist/types/ui/ConfigPanel/Fields/TabGroup.d.ts +14 -0
- package/dist/types/ui/ConfigPanel/Fields/UnhandledType.d.ts +6 -0
- package/dist/types/ui/ConfigPanel/Fields/UserSelect.d.ts +10 -0
- package/dist/types/ui/ConfigPanel/Fields/common/RequiredIndicator.d.ts +1 -0
- package/dist/types/ui/ConfigPanel/FormContent.d.ts +4 -0
- package/dist/types/ui/ConfigPanel/FormErrorBoundary.d.ts +16 -0
- package/dist/types/ui/ConfigPanel/Header.d.ts +23 -0
- package/dist/types/ui/ConfigPanel/LoadingState.d.ts +4 -0
- package/dist/types/ui/ConfigPanel/NestedForms/RemovableField.d.ts +19 -0
- package/dist/types/ui/ConfigPanel/constants.d.ts +2 -0
- package/dist/types/ui/ConfigPanel/index.d.ts +2 -0
- package/dist/types/ui/ConfigPanel/messages.d.ts +92 -0
- package/dist/types/ui/ConfigPanel/transformers.d.ts +9 -0
- package/dist/types/ui/ConfigPanel/types.d.ts +36 -0
- package/dist/types/ui/ConfigPanel/use-abortable-effect/index.d.ts +16 -0
- package/dist/types/ui/ConfigPanel/use-state-from-promise/index.d.ts +15 -0
- package/dist/types/ui/ConfigPanel/utils.d.ts +16 -0
- package/dist/types/ui/SaveIndicator/SaveIndicator.d.ts +4 -0
- package/dist/types/ui/SaveIndicator/messages.d.ts +7 -0
- package/dist/types/ui/SaveIndicator/types.d.ts +11 -0
- package/dist/types/utils.d.ts +15 -0
- package/dist/types-ts4.5/actions.d.ts +20 -0
- package/dist/types-ts4.5/commands.d.ts +15 -0
- package/dist/types-ts4.5/context-panel.d.ts +10 -0
- package/dist/types-ts4.5/extension-api.d.ts +12 -0
- package/dist/types-ts4.5/index.d.ts +2 -1
- package/dist/types-ts4.5/plugin-factory.d.ts +4 -0
- package/dist/types-ts4.5/plugin-key.d.ts +3 -0
- package/dist/types-ts4.5/plugin.d.ts +2 -0
- package/dist/types-ts4.5/pm-plugins/keymap.d.ts +3 -0
- package/dist/types-ts4.5/pm-plugins/macro/actions.d.ts +9 -0
- package/dist/types-ts4.5/pm-plugins/macro/index.d.ts +8 -0
- package/dist/types-ts4.5/pm-plugins/macro/plugin-key.d.ts +3 -0
- package/dist/types-ts4.5/pm-plugins/macro/types.d.ts +4 -0
- package/dist/types-ts4.5/pm-plugins/main.d.ts +25 -0
- package/dist/types-ts4.5/pm-plugins/unique-id.d.ts +3 -0
- package/dist/types-ts4.5/pm-plugins/utils.d.ts +3 -0
- package/dist/types-ts4.5/reducer.d.ts +2 -0
- package/dist/types-ts4.5/toolbar.d.ts +44 -0
- package/dist/types-ts4.5/types.d.ts +27 -2
- package/dist/types-ts4.5/ui/ConfigPanel/ConfigPanel.d.ts +22 -0
- package/dist/types-ts4.5/ui/ConfigPanel/ConfigPanelFieldsLoader.d.ts +21 -0
- package/dist/types-ts4.5/ui/ConfigPanel/ConfigPanelLoader.d.ts +5 -0
- package/dist/types-ts4.5/ui/ConfigPanel/ErrorMessage/ErrorImage.d.ts +4 -0
- package/dist/types-ts4.5/ui/ConfigPanel/ErrorMessage/index.d.ts +10 -0
- package/dist/types-ts4.5/ui/ConfigPanel/FieldMessages.d.ts +12 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/Boolean.d.ts +8 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/CheckboxGroup.d.ts +8 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/ColorPicker.d.ts +20 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/CustomSelect.d.ts +24 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/Date.d.ts +20 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/DateRange.d.ts +20 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/Enum.d.ts +10 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/Expand.d.ts +16 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/Fieldset.d.ts +19 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/Number.d.ts +10 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/RadioGroup.d.ts +8 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/Select.d.ts +11 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/SelectItem.d.ts +5 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/String.d.ts +10 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/TabGroup.d.ts +14 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/UnhandledType.d.ts +6 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/UserSelect.d.ts +10 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/common/RequiredIndicator.d.ts +1 -0
- package/dist/types-ts4.5/ui/ConfigPanel/FormContent.d.ts +4 -0
- package/dist/types-ts4.5/ui/ConfigPanel/FormErrorBoundary.d.ts +16 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Header.d.ts +23 -0
- package/dist/types-ts4.5/ui/ConfigPanel/LoadingState.d.ts +4 -0
- package/dist/types-ts4.5/ui/ConfigPanel/NestedForms/RemovableField.d.ts +19 -0
- package/dist/types-ts4.5/ui/ConfigPanel/constants.d.ts +2 -0
- package/dist/types-ts4.5/ui/ConfigPanel/index.d.ts +2 -0
- package/dist/types-ts4.5/ui/ConfigPanel/messages.d.ts +92 -0
- package/dist/types-ts4.5/ui/ConfigPanel/transformers.d.ts +9 -0
- package/dist/types-ts4.5/ui/ConfigPanel/types.d.ts +39 -0
- package/dist/types-ts4.5/ui/ConfigPanel/use-abortable-effect/index.d.ts +16 -0
- package/dist/types-ts4.5/ui/ConfigPanel/use-state-from-promise/index.d.ts +18 -0
- package/dist/types-ts4.5/ui/ConfigPanel/utils.d.ts +16 -0
- package/dist/types-ts4.5/ui/SaveIndicator/SaveIndicator.d.ts +4 -0
- package/dist/types-ts4.5/ui/SaveIndicator/messages.d.ts +7 -0
- package/dist/types-ts4.5/ui/SaveIndicator/types.d.ts +11 -0
- package/dist/types-ts4.5/utils.d.ts +15 -0
- package/example-utils/config-panel/ConfigPanelWithExtensionPicker.tsx +217 -0
- package/example-utils/config-panel/ConfigPanelWithProviders.tsx +51 -0
- package/example-utils/config-panel/ExtensionNodePicker.tsx +141 -0
- package/example-utils/config-panel/FieldTypePicker.tsx +63 -0
- package/example-utils/config-panel/example-manifest-all-fields.ts +86 -0
- package/example-utils/config-panel/example-manifest-individual-fields.ts +85 -0
- package/example-utils/config-panel/fields.ts +611 -0
- package/package.json +49 -7
|
@@ -0,0 +1,631 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.serialize = exports.findDuplicateFields = exports.deserialize = void 0;
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
12
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
14
|
+
var _extensions = require("@atlaskit/editor-common/extensions");
|
|
15
|
+
var _utils = require("./utils");
|
|
16
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
17
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
18
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
19
|
+
var isOption = function isOption(option) {
|
|
20
|
+
return option && (0, _typeof2.default)(option) === 'object' && 'label' in option && 'value' in option;
|
|
21
|
+
};
|
|
22
|
+
var isOptions = function isOptions(options) {
|
|
23
|
+
return Array.isArray(options) && options.every(isOption);
|
|
24
|
+
};
|
|
25
|
+
/** maps the typed-values from the Form values object */
|
|
26
|
+
function extract(value, field, options) {
|
|
27
|
+
if (isOptions(value)) {
|
|
28
|
+
return value.map(function (item) {
|
|
29
|
+
return item.value;
|
|
30
|
+
});
|
|
31
|
+
} else if (isOption(value)) {
|
|
32
|
+
return value.value;
|
|
33
|
+
} else if ((0, _extensions.isDateRange)(value)) {
|
|
34
|
+
return value;
|
|
35
|
+
} else if (value !== undefined && field.type === 'number') {
|
|
36
|
+
if (value === '') {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
return Number(value);
|
|
40
|
+
}
|
|
41
|
+
// Workaround for https://product-fabric.atlassian.net/browse/DST-2701
|
|
42
|
+
else if (options !== null && options !== void 0 && options.useDefaultValue && value === undefined && 'defaultValue' in field) {
|
|
43
|
+
return field.defaultValue;
|
|
44
|
+
}
|
|
45
|
+
return value;
|
|
46
|
+
}
|
|
47
|
+
var findDuplicateFields = exports.findDuplicateFields = function findDuplicateFields(fields) {
|
|
48
|
+
return findDuplicateFieldsInternal(flattenFields(fields));
|
|
49
|
+
};
|
|
50
|
+
var findDuplicateFieldsInternal = function findDuplicateFieldsInternal(fields) {
|
|
51
|
+
var allowDuplicatesMap = {};
|
|
52
|
+
return fields.find(function (field) {
|
|
53
|
+
if ((0, _extensions.isExpand)(field)) {
|
|
54
|
+
return findDuplicateFieldsInternal(field.fields);
|
|
55
|
+
} else if ((0, _extensions.isTabGroup)(field)) {
|
|
56
|
+
return field.fields.find(function (tabField) {
|
|
57
|
+
return findDuplicateFieldsInternal(tabField.fields);
|
|
58
|
+
});
|
|
59
|
+
} else if (allowDuplicatesMap[field.name] === undefined) {
|
|
60
|
+
allowDuplicatesMap[field.name] = !!field.allowDuplicates;
|
|
61
|
+
return;
|
|
62
|
+
} else if (!field.allowDuplicates || !allowDuplicatesMap[field.name]) {
|
|
63
|
+
return field;
|
|
64
|
+
}
|
|
65
|
+
return;
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
var serialize = exports.serialize = /*#__PURE__*/function () {
|
|
69
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(manifest, data, fields) {
|
|
70
|
+
var options,
|
|
71
|
+
result,
|
|
72
|
+
_options$depth,
|
|
73
|
+
depth,
|
|
74
|
+
parentType,
|
|
75
|
+
flattenedFields,
|
|
76
|
+
fillResults,
|
|
77
|
+
parameters,
|
|
78
|
+
hasDuplicateFields,
|
|
79
|
+
_args2 = arguments;
|
|
80
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
81
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
82
|
+
case 0:
|
|
83
|
+
options = _args2.length > 3 && _args2[3] !== undefined ? _args2[3] : {};
|
|
84
|
+
result = [];
|
|
85
|
+
_options$depth = options.depth, depth = _options$depth === void 0 ? 0 : _options$depth, parentType = options.parentType;
|
|
86
|
+
flattenedFields = flattenFields(fields);
|
|
87
|
+
fillResults = flattenedFields.map( /*#__PURE__*/function () {
|
|
88
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(field) {
|
|
89
|
+
var tabGroupData, tabData, expandData, fieldsetData, value;
|
|
90
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
91
|
+
while (1) switch (_context.prev = _context.next) {
|
|
92
|
+
case 0:
|
|
93
|
+
if (!(0, _extensions.isTabGroup)(field)) {
|
|
94
|
+
_context.next = 7;
|
|
95
|
+
break;
|
|
96
|
+
}
|
|
97
|
+
_context.next = 3;
|
|
98
|
+
return serializeTabGroupField(manifest, field, data);
|
|
99
|
+
case 3:
|
|
100
|
+
tabGroupData = _context.sent;
|
|
101
|
+
result.push.apply(result, (0, _toConsumableArray2.default)(tabGroupData));
|
|
102
|
+
_context.next = 30;
|
|
103
|
+
break;
|
|
104
|
+
case 7:
|
|
105
|
+
if (!(0, _extensions.isTabField)(field)) {
|
|
106
|
+
_context.next = 14;
|
|
107
|
+
break;
|
|
108
|
+
}
|
|
109
|
+
_context.next = 10;
|
|
110
|
+
return serializeTabField(manifest, field, data);
|
|
111
|
+
case 10:
|
|
112
|
+
tabData = _context.sent;
|
|
113
|
+
result.push.apply(result, (0, _toConsumableArray2.default)(tabData));
|
|
114
|
+
_context.next = 30;
|
|
115
|
+
break;
|
|
116
|
+
case 14:
|
|
117
|
+
if (!(0, _extensions.isExpand)(field)) {
|
|
118
|
+
_context.next = 21;
|
|
119
|
+
break;
|
|
120
|
+
}
|
|
121
|
+
_context.next = 17;
|
|
122
|
+
return serializeExpandField(manifest, field, data);
|
|
123
|
+
case 17:
|
|
124
|
+
expandData = _context.sent;
|
|
125
|
+
result.push.apply(result, (0, _toConsumableArray2.default)(expandData));
|
|
126
|
+
_context.next = 30;
|
|
127
|
+
break;
|
|
128
|
+
case 21:
|
|
129
|
+
if (!((0, _extensions.isFieldset)(field) && depth === 0)) {
|
|
130
|
+
_context.next = 28;
|
|
131
|
+
break;
|
|
132
|
+
}
|
|
133
|
+
_context.next = 24;
|
|
134
|
+
return serializeFieldset(manifest, field, data, depth);
|
|
135
|
+
case 24:
|
|
136
|
+
fieldsetData = _context.sent;
|
|
137
|
+
if (fieldsetData) {
|
|
138
|
+
result.push(fieldsetData);
|
|
139
|
+
}
|
|
140
|
+
_context.next = 30;
|
|
141
|
+
break;
|
|
142
|
+
case 28:
|
|
143
|
+
value = extract(data[field.name], field, {
|
|
144
|
+
useDefaultValue: true
|
|
145
|
+
}); // ignore undefined values
|
|
146
|
+
if (value !== undefined) {
|
|
147
|
+
result.push((0, _defineProperty2.default)({}, field.name, value));
|
|
148
|
+
}
|
|
149
|
+
case 30:
|
|
150
|
+
case "end":
|
|
151
|
+
return _context.stop();
|
|
152
|
+
}
|
|
153
|
+
}, _callee);
|
|
154
|
+
}));
|
|
155
|
+
return function (_x4) {
|
|
156
|
+
return _ref2.apply(this, arguments);
|
|
157
|
+
};
|
|
158
|
+
}());
|
|
159
|
+
_context2.next = 7;
|
|
160
|
+
return Promise.all(fillResults);
|
|
161
|
+
case 7:
|
|
162
|
+
// Crunch fields down to parameters
|
|
163
|
+
parameters = result.reduce(function (obj, current) {
|
|
164
|
+
for (var _key in current) {
|
|
165
|
+
obj[_key] = current[_key];
|
|
166
|
+
}
|
|
167
|
+
return obj;
|
|
168
|
+
}, {}); // Fix up duplicate values (currently only for fieldsets)
|
|
169
|
+
hasDuplicateFields = parentType === 'fieldset' && !!flattenedFields.find(function (field) {
|
|
170
|
+
return field.allowDuplicates;
|
|
171
|
+
});
|
|
172
|
+
if (!hasDuplicateFields) {
|
|
173
|
+
_context2.next = 11;
|
|
174
|
+
break;
|
|
175
|
+
}
|
|
176
|
+
return _context2.abrupt("return", serializeMergeDuplicateFieldData(parameters, data, flattenedFields));
|
|
177
|
+
case 11:
|
|
178
|
+
return _context2.abrupt("return", parameters);
|
|
179
|
+
case 12:
|
|
180
|
+
case "end":
|
|
181
|
+
return _context2.stop();
|
|
182
|
+
}
|
|
183
|
+
}, _callee2);
|
|
184
|
+
}));
|
|
185
|
+
return function serialize(_x, _x2, _x3) {
|
|
186
|
+
return _ref.apply(this, arguments);
|
|
187
|
+
};
|
|
188
|
+
}();
|
|
189
|
+
var serializeFieldset = /*#__PURE__*/function () {
|
|
190
|
+
var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(manifest, field, data, depth) {
|
|
191
|
+
var fieldSerializer, fieldsetFields, fieldParams, extracted;
|
|
192
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
193
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
194
|
+
case 0:
|
|
195
|
+
_context3.prev = 0;
|
|
196
|
+
_context3.next = 3;
|
|
197
|
+
return (0, _extensions.getFieldSerializer)(manifest, field.options.transformer);
|
|
198
|
+
case 3:
|
|
199
|
+
fieldSerializer = _context3.sent;
|
|
200
|
+
_context3.next = 10;
|
|
201
|
+
break;
|
|
202
|
+
case 6:
|
|
203
|
+
_context3.prev = 6;
|
|
204
|
+
_context3.t0 = _context3["catch"](0);
|
|
205
|
+
if (!(data[field.name] !== undefined)) {
|
|
206
|
+
_context3.next = 10;
|
|
207
|
+
break;
|
|
208
|
+
}
|
|
209
|
+
throw _context3.t0;
|
|
210
|
+
case 10:
|
|
211
|
+
if (fieldSerializer) {
|
|
212
|
+
_context3.next = 12;
|
|
213
|
+
break;
|
|
214
|
+
}
|
|
215
|
+
return _context3.abrupt("return");
|
|
216
|
+
case 12:
|
|
217
|
+
fieldsetFields = field.fields;
|
|
218
|
+
fieldParams = extract(data[field.name], field, {
|
|
219
|
+
useDefaultValue: true
|
|
220
|
+
}) || {};
|
|
221
|
+
_context3.next = 16;
|
|
222
|
+
return serialize(manifest, fieldParams, fieldsetFields, {
|
|
223
|
+
depth: depth + 1,
|
|
224
|
+
parentType: 'fieldset'
|
|
225
|
+
});
|
|
226
|
+
case 16:
|
|
227
|
+
extracted = _context3.sent;
|
|
228
|
+
return _context3.abrupt("return", (0, _defineProperty2.default)({}, field.name, fieldSerializer(extracted)));
|
|
229
|
+
case 18:
|
|
230
|
+
case "end":
|
|
231
|
+
return _context3.stop();
|
|
232
|
+
}
|
|
233
|
+
}, _callee3, null, [[0, 6]]);
|
|
234
|
+
}));
|
|
235
|
+
return function serializeFieldset(_x5, _x6, _x7, _x8) {
|
|
236
|
+
return _ref3.apply(this, arguments);
|
|
237
|
+
};
|
|
238
|
+
}();
|
|
239
|
+
var serializeExpandField = /*#__PURE__*/function () {
|
|
240
|
+
var _ref5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(manifest, field, data) {
|
|
241
|
+
var expandData, value, results, fieldName;
|
|
242
|
+
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
243
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
244
|
+
case 0:
|
|
245
|
+
expandData = field.hasGroupedValues ? data[field.name] || {} : data;
|
|
246
|
+
_context4.next = 3;
|
|
247
|
+
return serialize(manifest, expandData, field.fields, {
|
|
248
|
+
parentType: 'expand'
|
|
249
|
+
});
|
|
250
|
+
case 3:
|
|
251
|
+
value = _context4.sent;
|
|
252
|
+
results = [];
|
|
253
|
+
if (!field.hasGroupedValues) {
|
|
254
|
+
for (fieldName in value) {
|
|
255
|
+
results.push((0, _defineProperty2.default)({}, fieldName, value[fieldName]));
|
|
256
|
+
}
|
|
257
|
+
} else {
|
|
258
|
+
results.push((0, _defineProperty2.default)({}, field.name, value));
|
|
259
|
+
}
|
|
260
|
+
return _context4.abrupt("return", results);
|
|
261
|
+
case 7:
|
|
262
|
+
case "end":
|
|
263
|
+
return _context4.stop();
|
|
264
|
+
}
|
|
265
|
+
}, _callee4);
|
|
266
|
+
}));
|
|
267
|
+
return function serializeExpandField(_x9, _x10, _x11) {
|
|
268
|
+
return _ref5.apply(this, arguments);
|
|
269
|
+
};
|
|
270
|
+
}();
|
|
271
|
+
var resolveTabValues = /*#__PURE__*/function () {
|
|
272
|
+
var _ref6 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(manifest, tabField, groupData) {
|
|
273
|
+
var tabFieldParams;
|
|
274
|
+
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
275
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
276
|
+
case 0:
|
|
277
|
+
tabFieldParams = tabField.hasGroupedValues ? groupData[tabField.name] || {} : groupData;
|
|
278
|
+
_context5.next = 3;
|
|
279
|
+
return serialize(manifest, tabFieldParams, tabField.fields, {
|
|
280
|
+
parentType: 'tab'
|
|
281
|
+
});
|
|
282
|
+
case 3:
|
|
283
|
+
return _context5.abrupt("return", _context5.sent);
|
|
284
|
+
case 4:
|
|
285
|
+
case "end":
|
|
286
|
+
return _context5.stop();
|
|
287
|
+
}
|
|
288
|
+
}, _callee5);
|
|
289
|
+
}));
|
|
290
|
+
return function resolveTabValues(_x12, _x13, _x14) {
|
|
291
|
+
return _ref6.apply(this, arguments);
|
|
292
|
+
};
|
|
293
|
+
}();
|
|
294
|
+
var serializeTabGroupField = /*#__PURE__*/function () {
|
|
295
|
+
var _ref7 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(manifest, field, data) {
|
|
296
|
+
var tabs, results, value, i, tabField, tabFieldParameters, fieldName, _fieldName;
|
|
297
|
+
return _regenerator.default.wrap(function _callee6$(_context6) {
|
|
298
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
299
|
+
case 0:
|
|
300
|
+
tabs = field.fields;
|
|
301
|
+
results = [];
|
|
302
|
+
value = {};
|
|
303
|
+
i = 0;
|
|
304
|
+
case 4:
|
|
305
|
+
if (!(i < tabs.length)) {
|
|
306
|
+
_context6.next = 13;
|
|
307
|
+
break;
|
|
308
|
+
}
|
|
309
|
+
tabField = tabs[i];
|
|
310
|
+
_context6.next = 8;
|
|
311
|
+
return resolveTabValues(manifest, tabField, field.hasGroupedValues ? data[field.name] || {} : data);
|
|
312
|
+
case 8:
|
|
313
|
+
tabFieldParameters = _context6.sent;
|
|
314
|
+
if (tabField.hasGroupedValues) {
|
|
315
|
+
// Keep namespaced by tab
|
|
316
|
+
value[tabField.name] = tabFieldParameters;
|
|
317
|
+
} else {
|
|
318
|
+
// Copy into tabGroup value
|
|
319
|
+
for (fieldName in tabFieldParameters) {
|
|
320
|
+
value[fieldName] = tabFieldParameters[fieldName];
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
case 10:
|
|
324
|
+
i++;
|
|
325
|
+
_context6.next = 4;
|
|
326
|
+
break;
|
|
327
|
+
case 13:
|
|
328
|
+
// Now for tabGroup...
|
|
329
|
+
if (field.hasGroupedValues) {
|
|
330
|
+
results.push((0, _defineProperty2.default)({}, field.name, value));
|
|
331
|
+
} else {
|
|
332
|
+
for (_fieldName in value) {
|
|
333
|
+
results.push((0, _defineProperty2.default)({}, _fieldName, value));
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
return _context6.abrupt("return", results);
|
|
337
|
+
case 15:
|
|
338
|
+
case "end":
|
|
339
|
+
return _context6.stop();
|
|
340
|
+
}
|
|
341
|
+
}, _callee6);
|
|
342
|
+
}));
|
|
343
|
+
return function serializeTabGroupField(_x15, _x16, _x17) {
|
|
344
|
+
return _ref7.apply(this, arguments);
|
|
345
|
+
};
|
|
346
|
+
}();
|
|
347
|
+
var serializeTabField = /*#__PURE__*/function () {
|
|
348
|
+
var _ref8 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7(manifest, field, data) {
|
|
349
|
+
var results, tabField, tabFieldParameters, fieldName;
|
|
350
|
+
return _regenerator.default.wrap(function _callee7$(_context7) {
|
|
351
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
352
|
+
case 0:
|
|
353
|
+
results = [];
|
|
354
|
+
tabField = field;
|
|
355
|
+
_context7.next = 4;
|
|
356
|
+
return resolveTabValues(manifest, tabField, data);
|
|
357
|
+
case 4:
|
|
358
|
+
tabFieldParameters = _context7.sent;
|
|
359
|
+
if (tabField.hasGroupedValues) {
|
|
360
|
+
// Keep namespaced by tab
|
|
361
|
+
results.push((0, _defineProperty2.default)({}, tabField.name, tabFieldParameters));
|
|
362
|
+
} else {
|
|
363
|
+
// Copy into tabGroup value
|
|
364
|
+
for (fieldName in tabFieldParameters) {
|
|
365
|
+
results.push((0, _defineProperty2.default)({}, fieldName, tabFieldParameters[fieldName]));
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
return _context7.abrupt("return", results);
|
|
369
|
+
case 7:
|
|
370
|
+
case "end":
|
|
371
|
+
return _context7.stop();
|
|
372
|
+
}
|
|
373
|
+
}, _callee7);
|
|
374
|
+
}));
|
|
375
|
+
return function serializeTabField(_x18, _x19, _x20) {
|
|
376
|
+
return _ref8.apply(this, arguments);
|
|
377
|
+
};
|
|
378
|
+
}();
|
|
379
|
+
var serializeMergeDuplicateFieldData = function serializeMergeDuplicateFieldData(parameters, formData, flattenedFields) {
|
|
380
|
+
// Weed out all the non-duplicate field names
|
|
381
|
+
var allDuplicateFieldNames = Object.keys(formData).filter(function (key) {
|
|
382
|
+
return (0, _utils.isDuplicateField)(key);
|
|
383
|
+
});
|
|
384
|
+
return flattenedFields.reduce(function (newParams, field) {
|
|
385
|
+
var paramValue = parameters[field.name];
|
|
386
|
+
if (!field.allowDuplicates && paramValue !== undefined) {
|
|
387
|
+
newParams[field.name] = paramValue;
|
|
388
|
+
} else {
|
|
389
|
+
// extract the given duplicate values through the field
|
|
390
|
+
var duplicateValues = allDuplicateFieldNames.filter(function (name) {
|
|
391
|
+
return (0, _utils.getNameFromDuplicateField)(name) === field.name;
|
|
392
|
+
}).map(function (duplicateFieldName) {
|
|
393
|
+
return extract(formData[duplicateFieldName], field, {
|
|
394
|
+
useDefaultValue: true
|
|
395
|
+
});
|
|
396
|
+
});
|
|
397
|
+
// Merge and ensure that all values are worth serializing
|
|
398
|
+
var mergedValues = [paramValue].concat((0, _toConsumableArray2.default)(duplicateValues)).filter(function (value) {
|
|
399
|
+
return value !== undefined;
|
|
400
|
+
});
|
|
401
|
+
if (mergedValues.length > 0) {
|
|
402
|
+
// Replace so the duplicate field values are saved under the
|
|
403
|
+
// fieldName as an array
|
|
404
|
+
newParams[field.name] = mergedValues;
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
return newParams;
|
|
408
|
+
}, {});
|
|
409
|
+
};
|
|
410
|
+
function injectDefaultValues(data, fields) {
|
|
411
|
+
var copy = (0, _toConsumableArray2.default)(convertToParametersArray(data));
|
|
412
|
+
var _iterator = _createForOfIteratorHelper(fields),
|
|
413
|
+
_step;
|
|
414
|
+
try {
|
|
415
|
+
var _loop = function _loop() {
|
|
416
|
+
var field = _step.value;
|
|
417
|
+
var name = field.name;
|
|
418
|
+
var fieldIndex = copy.findIndex(function (item) {
|
|
419
|
+
return Object.entries(item)[0][0] === name;
|
|
420
|
+
});
|
|
421
|
+
if (fieldIndex >= 0 && !(0, _extensions.isFieldset)(field)) {
|
|
422
|
+
return 1; // continue
|
|
423
|
+
}
|
|
424
|
+
if ((0, _extensions.isFieldset)(field)) {
|
|
425
|
+
var fieldsetFields = field.fields;
|
|
426
|
+
if (fieldIndex >= 0) {
|
|
427
|
+
var fieldValue = Object.entries(copy[fieldIndex])[0][1];
|
|
428
|
+
copy[fieldIndex] = (0, _defineProperty2.default)({}, name, injectDefaultValues(fieldValue, fieldsetFields));
|
|
429
|
+
} else {
|
|
430
|
+
copy.push((0, _defineProperty2.default)({}, name, injectDefaultValues({}, fieldsetFields)));
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
if ('defaultValue' in field) {
|
|
434
|
+
copy.push((0, _defineProperty2.default)({}, name, field.defaultValue));
|
|
435
|
+
}
|
|
436
|
+
};
|
|
437
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
438
|
+
if (_loop()) continue;
|
|
439
|
+
}
|
|
440
|
+
} catch (err) {
|
|
441
|
+
_iterator.e(err);
|
|
442
|
+
} finally {
|
|
443
|
+
_iterator.f();
|
|
444
|
+
}
|
|
445
|
+
return convertToParametersObject(copy);
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
/**
|
|
449
|
+
* Flattens the given FieldDefinition[] so it resembles the expected data
|
|
450
|
+
* structure in result Parameters.
|
|
451
|
+
*/
|
|
452
|
+
var flattenFields = function flattenFields(fields) {
|
|
453
|
+
var flattenAccumulator = function flattenAccumulator(accumulator, field) {
|
|
454
|
+
if ((0, _extensions.isTabGroup)(field)) {
|
|
455
|
+
if (field.hasGroupedValues) {
|
|
456
|
+
accumulator.push(field);
|
|
457
|
+
} else {
|
|
458
|
+
var flattenedTabs = field.fields.reduce(function (tabAccumulator, tab) {
|
|
459
|
+
return tabAccumulator.concat(tab.hasGroupedValues ?
|
|
460
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
461
|
+
tab : tab.fields.reduce(flattenAccumulator, []));
|
|
462
|
+
}, []);
|
|
463
|
+
accumulator.push.apply(accumulator, (0, _toConsumableArray2.default)(flattenedTabs));
|
|
464
|
+
}
|
|
465
|
+
} else if ((0, _extensions.isExpand)(field)) {
|
|
466
|
+
if (field.hasGroupedValues) {
|
|
467
|
+
accumulator.push(field);
|
|
468
|
+
} else {
|
|
469
|
+
var flattenedExpand = field.fields.reduce(flattenAccumulator, []);
|
|
470
|
+
accumulator.push.apply(accumulator, (0, _toConsumableArray2.default)(flattenedExpand));
|
|
471
|
+
}
|
|
472
|
+
} else {
|
|
473
|
+
accumulator.push(field);
|
|
474
|
+
}
|
|
475
|
+
return accumulator;
|
|
476
|
+
};
|
|
477
|
+
return fields.reduce(flattenAccumulator, []);
|
|
478
|
+
};
|
|
479
|
+
var deserialize = exports.deserialize = /*#__PURE__*/function () {
|
|
480
|
+
var _ref9 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8(manifest, data, fields) {
|
|
481
|
+
var depth,
|
|
482
|
+
dataArray,
|
|
483
|
+
result,
|
|
484
|
+
errors,
|
|
485
|
+
flattenedFields,
|
|
486
|
+
_iterator2,
|
|
487
|
+
_step2,
|
|
488
|
+
_loop2,
|
|
489
|
+
_ret,
|
|
490
|
+
_args9 = arguments;
|
|
491
|
+
return _regenerator.default.wrap(function _callee8$(_context9) {
|
|
492
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
493
|
+
case 0:
|
|
494
|
+
depth = _args9.length > 3 && _args9[3] !== undefined ? _args9[3] : 0;
|
|
495
|
+
dataArray = convertToParametersArray(data);
|
|
496
|
+
result = [];
|
|
497
|
+
errors = [];
|
|
498
|
+
flattenedFields = flattenFields(fields);
|
|
499
|
+
_iterator2 = _createForOfIteratorHelper(dataArray);
|
|
500
|
+
_context9.prev = 6;
|
|
501
|
+
_loop2 = /*#__PURE__*/_regenerator.default.mark(function _loop2() {
|
|
502
|
+
var item, _Object$entries$, name, originalValue, field, value, fieldDeserializer;
|
|
503
|
+
return _regenerator.default.wrap(function _loop2$(_context8) {
|
|
504
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
505
|
+
case 0:
|
|
506
|
+
item = _step2.value;
|
|
507
|
+
_Object$entries$ = (0, _slicedToArray2.default)(Object.entries(item)[0], 2), name = _Object$entries$[0], originalValue = _Object$entries$[1];
|
|
508
|
+
field = flattenedFields.find(function (field) {
|
|
509
|
+
return field.name === (0, _utils.getNameFromDuplicateField)(name);
|
|
510
|
+
});
|
|
511
|
+
if (!(field === undefined)) {
|
|
512
|
+
_context8.next = 5;
|
|
513
|
+
break;
|
|
514
|
+
}
|
|
515
|
+
return _context8.abrupt("return", 0);
|
|
516
|
+
case 5:
|
|
517
|
+
value = extract(originalValue, field);
|
|
518
|
+
if (!(value === undefined)) {
|
|
519
|
+
_context8.next = 8;
|
|
520
|
+
break;
|
|
521
|
+
}
|
|
522
|
+
return _context8.abrupt("return", 0);
|
|
523
|
+
case 8:
|
|
524
|
+
if (!((0, _extensions.isFieldset)(field) && depth === 0)) {
|
|
525
|
+
_context8.next = 24;
|
|
526
|
+
break;
|
|
527
|
+
}
|
|
528
|
+
_context8.next = 11;
|
|
529
|
+
return (0, _extensions.getFieldDeserializer)(manifest, field.options.transformer);
|
|
530
|
+
case 11:
|
|
531
|
+
fieldDeserializer = _context8.sent;
|
|
532
|
+
if (!fieldDeserializer) {
|
|
533
|
+
_context8.next = 24;
|
|
534
|
+
break;
|
|
535
|
+
}
|
|
536
|
+
_context8.prev = 13;
|
|
537
|
+
value = fieldDeserializer(value);
|
|
538
|
+
_context8.next = 21;
|
|
539
|
+
break;
|
|
540
|
+
case 17:
|
|
541
|
+
_context8.prev = 17;
|
|
542
|
+
_context8.t0 = _context8["catch"](13);
|
|
543
|
+
errors.push((0, _defineProperty2.default)({}, name, _context8.t0 instanceof Error ? _context8.t0.message : String(_context8.t0)));
|
|
544
|
+
return _context8.abrupt("return", 0);
|
|
545
|
+
case 21:
|
|
546
|
+
_context8.next = 23;
|
|
547
|
+
return deserialize(manifest, value, field.fields, depth + 1);
|
|
548
|
+
case 23:
|
|
549
|
+
value = _context8.sent;
|
|
550
|
+
case 24:
|
|
551
|
+
result.push((0, _defineProperty2.default)({}, name, value));
|
|
552
|
+
case 25:
|
|
553
|
+
case "end":
|
|
554
|
+
return _context8.stop();
|
|
555
|
+
}
|
|
556
|
+
}, _loop2, null, [[13, 17]]);
|
|
557
|
+
});
|
|
558
|
+
_iterator2.s();
|
|
559
|
+
case 9:
|
|
560
|
+
if ((_step2 = _iterator2.n()).done) {
|
|
561
|
+
_context9.next = 16;
|
|
562
|
+
break;
|
|
563
|
+
}
|
|
564
|
+
return _context9.delegateYield(_loop2(), "t0", 11);
|
|
565
|
+
case 11:
|
|
566
|
+
_ret = _context9.t0;
|
|
567
|
+
if (!(_ret === 0)) {
|
|
568
|
+
_context9.next = 14;
|
|
569
|
+
break;
|
|
570
|
+
}
|
|
571
|
+
return _context9.abrupt("continue", 14);
|
|
572
|
+
case 14:
|
|
573
|
+
_context9.next = 9;
|
|
574
|
+
break;
|
|
575
|
+
case 16:
|
|
576
|
+
_context9.next = 21;
|
|
577
|
+
break;
|
|
578
|
+
case 18:
|
|
579
|
+
_context9.prev = 18;
|
|
580
|
+
_context9.t1 = _context9["catch"](6);
|
|
581
|
+
_iterator2.e(_context9.t1);
|
|
582
|
+
case 21:
|
|
583
|
+
_context9.prev = 21;
|
|
584
|
+
_iterator2.f();
|
|
585
|
+
return _context9.finish(21);
|
|
586
|
+
case 24:
|
|
587
|
+
result = convertToParametersObject(result);
|
|
588
|
+
if (errors.length > 0) {
|
|
589
|
+
result.errors = convertToParametersObject(errors);
|
|
590
|
+
}
|
|
591
|
+
return _context9.abrupt("return", injectDefaultValues(result, flattenedFields));
|
|
592
|
+
case 27:
|
|
593
|
+
case "end":
|
|
594
|
+
return _context9.stop();
|
|
595
|
+
}
|
|
596
|
+
}, _callee8, null, [[6, 18, 21, 24]]);
|
|
597
|
+
}));
|
|
598
|
+
return function deserialize(_x21, _x22, _x23) {
|
|
599
|
+
return _ref9.apply(this, arguments);
|
|
600
|
+
};
|
|
601
|
+
}();
|
|
602
|
+
var convertToParametersObject = function convertToParametersObject() {
|
|
603
|
+
var parameters = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
604
|
+
if (!Array.isArray(parameters)) {
|
|
605
|
+
return parameters;
|
|
606
|
+
}
|
|
607
|
+
return parameters.reduce(function (obj, current) {
|
|
608
|
+
for (var _key2 in current) {
|
|
609
|
+
var keys = Object.keys(obj);
|
|
610
|
+
var resultKey = _key2;
|
|
611
|
+
var idx = 1;
|
|
612
|
+
while (keys.indexOf(resultKey) >= 0) {
|
|
613
|
+
resultKey = "".concat((0, _utils.getNameFromDuplicateField)(_key2), ":").concat(idx);
|
|
614
|
+
idx++;
|
|
615
|
+
}
|
|
616
|
+
obj[resultKey] = current[_key2];
|
|
617
|
+
}
|
|
618
|
+
return obj;
|
|
619
|
+
}, {});
|
|
620
|
+
};
|
|
621
|
+
var convertToParametersArray = function convertToParametersArray() {
|
|
622
|
+
var parameters = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
623
|
+
if (Array.isArray(parameters)) {
|
|
624
|
+
return parameters;
|
|
625
|
+
}
|
|
626
|
+
var dataArray = [];
|
|
627
|
+
for (var name in parameters) {
|
|
628
|
+
dataArray.push((0, _defineProperty2.default)({}, name, parameters[name]));
|
|
629
|
+
}
|
|
630
|
+
return dataArray;
|
|
631
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ValidationError = exports.FieldTypeError = void 0;
|
|
7
|
+
var ValidationError = exports.ValidationError = /*#__PURE__*/function (ValidationError) {
|
|
8
|
+
ValidationError["Required"] = "required";
|
|
9
|
+
ValidationError["Invalid"] = "invalid";
|
|
10
|
+
return ValidationError;
|
|
11
|
+
}({});
|
|
12
|
+
var FieldTypeError = exports.FieldTypeError = /*#__PURE__*/function (FieldTypeError) {
|
|
13
|
+
FieldTypeError["isMultipleAndRadio"] = "isMultipleAndRadio";
|
|
14
|
+
return FieldTypeError;
|
|
15
|
+
}({});
|