@webiny/app-headless-cms-common 5.42.2 → 5.42.3-beta.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/Fields/ErrorBoundary.d.ts +23 -0
- package/Fields/ErrorBoundary.js +60 -0
- package/Fields/ErrorBoundary.js.map +1 -0
- package/Fields/FieldElement.d.ts +64 -0
- package/Fields/FieldElement.js +80 -0
- package/Fields/FieldElement.js.map +1 -0
- package/Fields/FieldElementError.d.ts +7 -0
- package/Fields/FieldElementError.js +33 -0
- package/Fields/FieldElementError.js.map +1 -0
- package/Fields/Fields.d.ts +11 -0
- package/Fields/Fields.js +45 -0
- package/Fields/Fields.js.map +1 -0
- package/Fields/Label.d.ts +6 -0
- package/Fields/Label.js +34 -0
- package/Fields/Label.js.map +1 -0
- package/Fields/index.d.ts +3 -0
- package/Fields/index.js +40 -0
- package/Fields/index.js.map +1 -0
- package/Fields/useBind.d.ts +9 -0
- package/Fields/useBind.js +118 -0
- package/Fields/useBind.js.map +1 -0
- package/Fields/useRenderPlugins.d.ts +1 -0
- package/Fields/useRenderPlugins.js +15 -0
- package/Fields/useRenderPlugins.js.map +1 -0
- package/ModelFieldProvider/ModelFieldContext.d.ts +36 -0
- package/ModelFieldProvider/ModelFieldContext.js +31 -0
- package/ModelFieldProvider/ModelFieldContext.js.map +1 -0
- package/ModelFieldProvider/index.d.ts +2 -0
- package/ModelFieldProvider/index.js +29 -0
- package/ModelFieldProvider/index.js.map +1 -0
- package/ModelFieldProvider/useModelField.d.ts +16 -0
- package/ModelFieldProvider/useModelField.js +37 -0
- package/ModelFieldProvider/useModelField.js.map +1 -0
- package/ModelProvider/ModelContext.d.ts +9 -0
- package/ModelProvider/ModelContext.js +18 -0
- package/ModelProvider/ModelContext.js.map +1 -0
- package/ModelProvider/index.d.ts +2 -0
- package/ModelProvider/index.js +29 -0
- package/ModelProvider/index.js.map +1 -0
- package/ModelProvider/useModel.d.ts +9 -0
- package/ModelProvider/useModel.js +22 -0
- package/ModelProvider/useModel.js.map +1 -0
- package/createFieldsList.js +2 -2
- package/createFieldsList.js.map +1 -1
- package/createValidationContainer.d.ts +18 -0
- package/createValidationContainer.js +31 -0
- package/createValidationContainer.js.map +1 -0
- package/createValidators.d.ts +3 -0
- package/createValidators.js +62 -0
- package/createValidators.js.map +1 -0
- package/index.d.ts +5 -0
- package/index.js +55 -0
- package/index.js.map +1 -1
- package/package.json +17 -8
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useRenderPlugins(): import("@webiny/plugins/PluginsContainer").WithName<import("../types").CmsModelFieldRendererPlugin>[];
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useRenderPlugins = useRenderPlugins;
|
|
7
|
+
var _plugins = require("@webiny/plugins");
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
function useRenderPlugins() {
|
|
10
|
+
return (0, _react.useMemo)(function () {
|
|
11
|
+
return _plugins.plugins.byType("cms-editor-field-renderer");
|
|
12
|
+
}, []);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=useRenderPlugins.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_plugins","require","_react","useRenderPlugins","useMemo","plugins","byType"],"sources":["useRenderPlugins.ts"],"sourcesContent":["import { plugins } from \"@webiny/plugins\";\nimport { useMemo } from \"react\";\nimport { CmsEditorFieldRendererPlugin } from \"~/types\";\n\nexport function useRenderPlugins() {\n return useMemo(\n () => plugins.byType<CmsEditorFieldRendererPlugin>(\"cms-editor-field-renderer\"),\n []\n );\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAGO,SAASE,gBAAgBA,CAAA,EAAG;EAC/B,OAAO,IAAAC,cAAO,EACV;IAAA,OAAMC,gBAAO,CAACC,MAAM,CAA+B,2BAA2B,CAAC;EAAA,GAC/E,EACJ,CAAC;AACL","ignoreList":[]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { CmsModelField } from "../types";
|
|
3
|
+
export type ModelFieldContext = CmsModelField;
|
|
4
|
+
export declare const ModelFieldContext: React.Context<{
|
|
5
|
+
id: string;
|
|
6
|
+
type: string;
|
|
7
|
+
fieldId: string;
|
|
8
|
+
storageId?: string | undefined;
|
|
9
|
+
label: string;
|
|
10
|
+
helpText?: string | undefined;
|
|
11
|
+
placeholderText?: string | undefined;
|
|
12
|
+
validation?: (import("../types").CmsModelFieldValidator | import("@webiny/validation/types").Validator)[] | undefined;
|
|
13
|
+
listValidation?: import("../types").CmsModelFieldValidator[] | undefined;
|
|
14
|
+
multipleValues?: boolean | undefined;
|
|
15
|
+
predefinedValues?: import("../types").CmsEditorFieldPredefinedValues | undefined;
|
|
16
|
+
settings?: import("../types").CmsModelFieldSettings<unknown> | undefined;
|
|
17
|
+
renderer: {
|
|
18
|
+
name: string;
|
|
19
|
+
settings?: Record<string, any> | undefined;
|
|
20
|
+
} | ((props: import("../types").CmsModelFieldRendererProps) => React.ReactNode);
|
|
21
|
+
tags?: string[] | undefined;
|
|
22
|
+
} | undefined>;
|
|
23
|
+
export interface ModelFieldProviderProps {
|
|
24
|
+
field: CmsModelField;
|
|
25
|
+
children: React.ReactNode;
|
|
26
|
+
}
|
|
27
|
+
export declare const ModelFieldProvider: ({ field, children }: ModelFieldProviderProps) => React.JSX.Element;
|
|
28
|
+
export declare const ParentValueIndexProvider: {
|
|
29
|
+
({ children, ...props }: {
|
|
30
|
+
index: number;
|
|
31
|
+
} & {
|
|
32
|
+
children: React.ReactNode;
|
|
33
|
+
}): React.JSX.Element;
|
|
34
|
+
displayName: string;
|
|
35
|
+
};
|
|
36
|
+
export declare const useParentValueIndex: () => number;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.useParentValueIndex = exports.ParentValueIndexProvider = exports.ModelFieldProvider = exports.ModelFieldContext = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _appAdmin = require("@webiny/app-admin");
|
|
10
|
+
var ModelFieldContext = exports.ModelFieldContext = /*#__PURE__*/_react.default.createContext(undefined);
|
|
11
|
+
var ModelFieldProvider = exports.ModelFieldProvider = function ModelFieldProvider(_ref) {
|
|
12
|
+
var field = _ref.field,
|
|
13
|
+
children = _ref.children;
|
|
14
|
+
return /*#__PURE__*/_react.default.createElement(ModelFieldContext.Provider, {
|
|
15
|
+
value: field
|
|
16
|
+
}, children);
|
|
17
|
+
};
|
|
18
|
+
var _createGenericContext = (0, _appAdmin.createGenericContext)("FieldIndex"),
|
|
19
|
+
Provider = _createGenericContext.Provider,
|
|
20
|
+
useHook = _createGenericContext.useHook;
|
|
21
|
+
var ParentValueIndexProvider = exports.ParentValueIndexProvider = Provider;
|
|
22
|
+
var useParentValueIndex = exports.useParentValueIndex = function useParentValueIndex() {
|
|
23
|
+
try {
|
|
24
|
+
var context = useHook();
|
|
25
|
+
return context.index;
|
|
26
|
+
} catch (_unused) {
|
|
27
|
+
return -1;
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=ModelFieldContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_appAdmin","ModelFieldContext","exports","React","createContext","undefined","ModelFieldProvider","_ref","field","children","default","createElement","Provider","value","_createGenericContext","createGenericContext","useHook","ParentValueIndexProvider","useParentValueIndex","context","index","_unused"],"sources":["ModelFieldContext.tsx"],"sourcesContent":["import React from \"react\";\nimport { CmsModelField } from \"~/types\";\nimport { createGenericContext } from \"@webiny/app-admin\";\n\nexport type ModelFieldContext = CmsModelField;\n\nexport const ModelFieldContext = React.createContext<ModelFieldContext | undefined>(undefined);\n\nexport interface ModelFieldProviderProps {\n field: CmsModelField;\n children: React.ReactNode;\n}\n\nexport const ModelFieldProvider = ({ field, children }: ModelFieldProviderProps) => {\n return <ModelFieldContext.Provider value={field}>{children}</ModelFieldContext.Provider>;\n};\n\nconst { Provider, useHook } = createGenericContext<{ index: number }>(\"FieldIndex\");\n\nexport const ParentValueIndexProvider = Provider;\n\nexport const useParentValueIndex = () => {\n try {\n const context = useHook();\n return context.index;\n } catch {\n return -1;\n }\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAD,OAAA;AAIO,IAAME,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,gBAAGE,cAAK,CAACC,aAAa,CAAgCC,SAAS,CAAC;AAOvF,IAAMC,kBAAkB,GAAAJ,OAAA,CAAAI,kBAAA,GAAG,SAArBA,kBAAkBA,CAAAC,IAAA,EAAqD;EAAA,IAA/CC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;EAChD,oBAAOZ,MAAA,CAAAa,OAAA,CAAAC,aAAA,CAACV,iBAAiB,CAACW,QAAQ;IAACC,KAAK,EAAEL;EAAM,GAAEC,QAAqC,CAAC;AAC5F,CAAC;AAED,IAAAK,qBAAA,GAA8B,IAAAC,8BAAoB,EAAoB,YAAY,CAAC;EAA3EH,QAAQ,GAAAE,qBAAA,CAARF,QAAQ;EAAEI,OAAO,GAAAF,qBAAA,CAAPE,OAAO;AAElB,IAAMC,wBAAwB,GAAAf,OAAA,CAAAe,wBAAA,GAAGL,QAAQ;AAEzC,IAAMM,mBAAmB,GAAAhB,OAAA,CAAAgB,mBAAA,GAAG,SAAtBA,mBAAmBA,CAAA,EAAS;EACrC,IAAI;IACA,IAAMC,OAAO,GAAGH,OAAO,CAAC,CAAC;IACzB,OAAOG,OAAO,CAACC,KAAK;EACxB,CAAC,CAAC,OAAAC,OAAA,EAAM;IACJ,OAAO,CAAC,CAAC;EACb;AACJ,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _ModelFieldContext = require("./ModelFieldContext");
|
|
7
|
+
Object.keys(_ModelFieldContext).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _ModelFieldContext[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function get() {
|
|
13
|
+
return _ModelFieldContext[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
var _useModelField = require("./useModelField");
|
|
18
|
+
Object.keys(_useModelField).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _useModelField[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function get() {
|
|
24
|
+
return _useModelField[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_ModelFieldContext","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_useModelField"],"sources":["index.ts"],"sourcesContent":["export * from \"./ModelFieldContext\";\nexport * from \"./useModelField\";\n"],"mappings":";;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,kBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,kBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,kBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,cAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,cAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,cAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAC,cAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { CmsModelField, CmsModelFieldTypePlugin } from "../types";
|
|
3
|
+
export interface UseModelField {
|
|
4
|
+
field: CmsModelField;
|
|
5
|
+
parentValueIndex: number;
|
|
6
|
+
fieldPlugin: CmsModelFieldTypePlugin;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Get model field from the current context.
|
|
10
|
+
*/
|
|
11
|
+
export declare const useModelField: import("@webiny/react-composition").GenericHook<unknown, UseModelField> & {
|
|
12
|
+
original: import("@webiny/react-composition").GenericHook<unknown, UseModelField>;
|
|
13
|
+
originalName: string;
|
|
14
|
+
} & {
|
|
15
|
+
createDecorator: (decorator: import("@webiny/react-composition").Decorator<() => UseModelField>) => () => import("react").JSX.Element;
|
|
16
|
+
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useModelField = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _plugins = require("@webiny/plugins");
|
|
9
|
+
var _reactComposition = require("@webiny/react-composition");
|
|
10
|
+
var _ModelFieldContext = require("./ModelFieldContext");
|
|
11
|
+
var getFieldPlugin = function getFieldPlugin(type) {
|
|
12
|
+
var plugin = _plugins.plugins.byType("cms-editor-field-type").find(function (plugin) {
|
|
13
|
+
return plugin.field.type === type;
|
|
14
|
+
});
|
|
15
|
+
if (!plugin) {
|
|
16
|
+
throw Error("Missing plugin for field type \"".concat(type, "\"!"));
|
|
17
|
+
}
|
|
18
|
+
return plugin;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Get model field from the current context.
|
|
22
|
+
*/
|
|
23
|
+
var useModelField = exports.useModelField = (0, _reactComposition.makeDecoratable)(function () {
|
|
24
|
+
var field = (0, _react.useContext)(_ModelFieldContext.ModelFieldContext);
|
|
25
|
+
var parentValueIndex = (0, _ModelFieldContext.useParentValueIndex)();
|
|
26
|
+
if (!field) {
|
|
27
|
+
throw Error("Missing \"ModelFieldProvider\" in the component tree. Are you using the \"useModelField()\" hook in the right place?");
|
|
28
|
+
}
|
|
29
|
+
var fieldPlugin = getFieldPlugin(field.type);
|
|
30
|
+
return {
|
|
31
|
+
field: field,
|
|
32
|
+
fieldPlugin: fieldPlugin,
|
|
33
|
+
parentValueIndex: parentValueIndex
|
|
34
|
+
};
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=useModelField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_plugins","_reactComposition","_ModelFieldContext","getFieldPlugin","type","plugin","plugins","byType","find","field","Error","concat","useModelField","exports","makeDecoratable","useContext","ModelFieldContext","parentValueIndex","useParentValueIndex","fieldPlugin"],"sources":["useModelField.ts"],"sourcesContent":["import { useContext } from \"react\";\nimport { plugins } from \"@webiny/plugins\";\nimport { makeDecoratable } from \"@webiny/react-composition\";\nimport { ModelFieldContext, useParentValueIndex } from \"./ModelFieldContext\";\nimport { CmsModelField, CmsModelFieldTypePlugin } from \"~/types\";\n\ninterface GetFieldPlugin {\n (type: string): CmsModelFieldTypePlugin;\n}\n\nconst getFieldPlugin: GetFieldPlugin = type => {\n const plugin = plugins\n .byType<CmsModelFieldTypePlugin>(\"cms-editor-field-type\")\n .find(plugin => plugin.field.type === type);\n\n if (!plugin) {\n throw Error(`Missing plugin for field type \"${type}\"!`);\n }\n\n return plugin;\n};\n\nexport interface UseModelField {\n field: CmsModelField;\n parentValueIndex: number;\n fieldPlugin: CmsModelFieldTypePlugin;\n}\n\n/**\n * Get model field from the current context.\n */\nexport const useModelField = makeDecoratable((): UseModelField => {\n const field = useContext(ModelFieldContext);\n const parentValueIndex = useParentValueIndex();\n\n if (!field) {\n throw Error(\n `Missing \"ModelFieldProvider\" in the component tree. Are you using the \"useModelField()\" hook in the right place?`\n );\n }\n\n const fieldPlugin = getFieldPlugin(field.type);\n\n return { field, fieldPlugin, parentValueIndex };\n});\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AACA,IAAAG,kBAAA,GAAAH,OAAA;AAOA,IAAMI,cAA8B,GAAG,SAAjCA,cAA8BA,CAAGC,IAAI,EAAI;EAC3C,IAAMC,MAAM,GAAGC,gBAAO,CACjBC,MAAM,CAA0B,uBAAuB,CAAC,CACxDC,IAAI,CAAC,UAAAH,MAAM;IAAA,OAAIA,MAAM,CAACI,KAAK,CAACL,IAAI,KAAKA,IAAI;EAAA,EAAC;EAE/C,IAAI,CAACC,MAAM,EAAE;IACT,MAAMK,KAAK,oCAAAC,MAAA,CAAmCP,IAAI,QAAI,CAAC;EAC3D;EAEA,OAAOC,MAAM;AACjB,CAAC;AAQD;AACA;AACA;AACO,IAAMO,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,IAAAE,iCAAe,EAAC,YAAqB;EAC9D,IAAML,KAAK,GAAG,IAAAM,iBAAU,EAACC,oCAAiB,CAAC;EAC3C,IAAMC,gBAAgB,GAAG,IAAAC,sCAAmB,EAAC,CAAC;EAE9C,IAAI,CAACT,KAAK,EAAE;IACR,MAAMC,KAAK,uHAEX,CAAC;EACL;EAEA,IAAMS,WAAW,GAAGhB,cAAc,CAACM,KAAK,CAACL,IAAI,CAAC;EAE9C,OAAO;IAAEK,KAAK,EAALA,KAAK;IAAEU,WAAW,EAAXA,WAAW;IAAEF,gBAAgB,EAAhBA;EAAiB,CAAC;AACnD,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { CmsModel } from "../types";
|
|
3
|
+
export type ModelContext = CmsModel;
|
|
4
|
+
export declare const ModelContext: React.Context<CmsModel | undefined>;
|
|
5
|
+
export interface ModelProviderProps {
|
|
6
|
+
model: CmsModel;
|
|
7
|
+
children: React.ReactNode;
|
|
8
|
+
}
|
|
9
|
+
export declare const ModelProvider: ({ model, children }: ModelProviderProps) => React.JSX.Element;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.ModelProvider = exports.ModelContext = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var ModelContext = exports.ModelContext = /*#__PURE__*/_react.default.createContext(undefined);
|
|
10
|
+
var ModelProvider = exports.ModelProvider = function ModelProvider(_ref) {
|
|
11
|
+
var model = _ref.model,
|
|
12
|
+
children = _ref.children;
|
|
13
|
+
return /*#__PURE__*/_react.default.createElement(ModelContext.Provider, {
|
|
14
|
+
value: model
|
|
15
|
+
}, children);
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=ModelContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","ModelContext","exports","React","createContext","undefined","ModelProvider","_ref","model","children","default","createElement","Provider","value"],"sources":["ModelContext.tsx"],"sourcesContent":["import React from \"react\";\nimport { CmsModel } from \"~/types\";\n\nexport type ModelContext = CmsModel;\n\nexport const ModelContext = React.createContext<ModelContext | undefined>(undefined);\n\nexport interface ModelProviderProps {\n model: CmsModel;\n children: React.ReactNode;\n}\n\nexport const ModelProvider = ({ model, children }: ModelProviderProps) => {\n return <ModelContext.Provider value={model}>{children}</ModelContext.Provider>;\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKO,IAAMC,YAAY,GAAAC,OAAA,CAAAD,YAAA,gBAAGE,cAAK,CAACC,aAAa,CAA2BC,SAAS,CAAC;AAO7E,IAAMC,aAAa,GAAAJ,OAAA,CAAAI,aAAA,GAAG,SAAhBA,aAAaA,CAAAC,IAAA,EAAgD;EAAA,IAA1CC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;EAC3C,oBAAOX,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACV,YAAY,CAACW,QAAQ;IAACC,KAAK,EAAEL;EAAM,GAAEC,QAAgC,CAAC;AAClF,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _ModelContext = require("./ModelContext");
|
|
7
|
+
Object.keys(_ModelContext).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _ModelContext[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function get() {
|
|
13
|
+
return _ModelContext[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
var _useModel = require("./useModel");
|
|
18
|
+
Object.keys(_useModel).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _useModel[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function get() {
|
|
24
|
+
return _useModel[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_ModelContext","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_useModel"],"sources":["index.ts"],"sourcesContent":["export * from \"./ModelContext\";\nexport * from \"./useModel\";\n"],"mappings":";;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,aAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,aAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,aAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,SAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,SAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,SAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAC,SAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useModel = useModel;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _ModelContext = require("./ModelContext");
|
|
9
|
+
/**
|
|
10
|
+
* Get model from the current context.
|
|
11
|
+
*/
|
|
12
|
+
function useModel() {
|
|
13
|
+
var model = (0, _react.useContext)(_ModelContext.ModelContext);
|
|
14
|
+
if (!model) {
|
|
15
|
+
throw Error("Missing \"ModelContext\" in the component tree. Are you using the \"useModel()\" hook in the right place?");
|
|
16
|
+
}
|
|
17
|
+
return {
|
|
18
|
+
model: model
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=useModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_ModelContext","useModel","model","useContext","ModelContext","Error"],"sources":["useModel.ts"],"sourcesContent":["import { useContext } from \"react\";\nimport { ModelContext } from \"./ModelContext\";\nimport { CmsModel } from \"~/types\";\n\ntype UseModelReturnType = {\n model: CmsModel;\n};\n\n/**\n * Get model from the current context.\n */\nexport function useModel(): UseModelReturnType {\n const model = useContext(ModelContext);\n if (!model) {\n throw Error(\n `Missing \"ModelContext\" in the component tree. Are you using the \"useModel()\" hook in the right place?`\n );\n }\n\n return { model };\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAOA;AACA;AACA;AACO,SAASE,QAAQA,CAAA,EAAuB;EAC3C,IAAMC,KAAK,GAAG,IAAAC,iBAAU,EAACC,0BAAY,CAAC;EACtC,IAAI,CAACF,KAAK,EAAE;IACR,MAAMG,KAAK,4GAEX,CAAC;EACL;EAEA,OAAO;IAAEH,KAAK,EAALA;EAAM,CAAC;AACpB","ignoreList":[]}
|
package/createFieldsList.js
CHANGED
|
@@ -41,10 +41,10 @@ function createFieldsList(_ref) {
|
|
|
41
41
|
return field.fieldId;
|
|
42
42
|
}).filter(Boolean);
|
|
43
43
|
/**
|
|
44
|
-
* If there are no fields, let's always load the `
|
|
44
|
+
* If there are no fields, let's always load the `_empty` field.
|
|
45
45
|
*/
|
|
46
46
|
if (fields.length === 0) {
|
|
47
|
-
fields.push("
|
|
47
|
+
fields.push("_empty");
|
|
48
48
|
}
|
|
49
49
|
return fields.join("\n");
|
|
50
50
|
}
|
package/createFieldsList.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_plugins","require","createFieldsList","_ref","model","inputFields","fields","graphQLTypePrefix","fieldPlugins","plugins","byType","reduce","acc","item","_objectSpread3","default","_defineProperty2","field","type","typePrefix","singularApiName","map","console","log","concat","graphql","queryField","selection","fieldId","filter","Boolean","length","push","join"],"sources":["createFieldsList.ts"],"sourcesContent":["import { CmsModel, CmsModelField, CmsModelFieldTypePlugin } from \"~/types\";\nimport { plugins } from \"@webiny/plugins\";\n\ninterface CreateFieldsListParams {\n model: CmsModel;\n fields: CmsModelField[];\n graphQLTypePrefix?: string;\n}\n\nexport function createFieldsList({\n model,\n fields: inputFields,\n graphQLTypePrefix\n}: CreateFieldsListParams): string {\n const fieldPlugins: Record<string, CmsModelFieldTypePlugin[\"field\"]> = plugins\n .byType<CmsModelFieldTypePlugin>(\"cms-editor-field-type\")\n .reduce((acc, item) => ({ ...acc, [item.field.type]: item.field }), {});\n\n const typePrefix = graphQLTypePrefix ?? model.singularApiName;\n\n const fields = inputFields\n .map(field => {\n if (!fieldPlugins[field.type]) {\n console.log(`Unknown field plugin for field type \"${field.type}\".`);\n return null;\n }\n const { graphql } = fieldPlugins[field.type];\n\n if (graphql && graphql.queryField) {\n const { queryField } = graphql;\n const selection =\n typeof queryField === \"string\"\n ? queryField\n : queryField({ model, field, graphQLTypePrefix: typePrefix });\n\n /**\n * If field type plugin returns `null`, we don't include the field in the selection.\n */\n if (selection === null) {\n return null;\n }\n\n return `${field.fieldId} ${selection}`;\n }\n\n return field.fieldId;\n })\n .filter(Boolean);\n /**\n * If there are no fields, let's always load the `
|
|
1
|
+
{"version":3,"names":["_plugins","require","createFieldsList","_ref","model","inputFields","fields","graphQLTypePrefix","fieldPlugins","plugins","byType","reduce","acc","item","_objectSpread3","default","_defineProperty2","field","type","typePrefix","singularApiName","map","console","log","concat","graphql","queryField","selection","fieldId","filter","Boolean","length","push","join"],"sources":["createFieldsList.ts"],"sourcesContent":["import { CmsModel, CmsModelField, CmsModelFieldTypePlugin } from \"~/types\";\nimport { plugins } from \"@webiny/plugins\";\n\ninterface CreateFieldsListParams {\n model: CmsModel;\n fields: CmsModelField[];\n graphQLTypePrefix?: string;\n}\n\nexport function createFieldsList({\n model,\n fields: inputFields,\n graphQLTypePrefix\n}: CreateFieldsListParams): string {\n const fieldPlugins: Record<string, CmsModelFieldTypePlugin[\"field\"]> = plugins\n .byType<CmsModelFieldTypePlugin>(\"cms-editor-field-type\")\n .reduce((acc, item) => ({ ...acc, [item.field.type]: item.field }), {});\n\n const typePrefix = graphQLTypePrefix ?? model.singularApiName;\n\n const fields = inputFields\n .map(field => {\n if (!fieldPlugins[field.type]) {\n console.log(`Unknown field plugin for field type \"${field.type}\".`);\n return null;\n }\n const { graphql } = fieldPlugins[field.type];\n\n if (graphql && graphql.queryField) {\n const { queryField } = graphql;\n const selection =\n typeof queryField === \"string\"\n ? queryField\n : queryField({ model, field, graphQLTypePrefix: typePrefix });\n\n /**\n * If field type plugin returns `null`, we don't include the field in the selection.\n */\n if (selection === null) {\n return null;\n }\n\n return `${field.fieldId} ${selection}`;\n }\n\n return field.fieldId;\n })\n .filter(Boolean);\n /**\n * If there are no fields, let's always load the `_empty` field.\n */\n if (fields.length === 0) {\n fields.push(\"_empty\");\n }\n return fields.join(\"\\n\");\n}\n"],"mappings":";;;;;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AAQO,SAASC,gBAAgBA,CAAAC,IAAA,EAIG;EAAA,IAH/BC,KAAK,GAAAD,IAAA,CAALC,KAAK;IACGC,WAAW,GAAAF,IAAA,CAAnBG,MAAM;IACNC,iBAAiB,GAAAJ,IAAA,CAAjBI,iBAAiB;EAEjB,IAAMC,YAA8D,GAAGC,gBAAO,CACzEC,MAAM,CAA0B,uBAAuB,CAAC,CACxDC,MAAM,CAAC,UAACC,GAAG,EAAEC,IAAI;IAAA,WAAAC,cAAA,CAAAC,OAAA,MAAAD,cAAA,CAAAC,OAAA,MAAWH,GAAG,WAAAI,gBAAA,CAAAD,OAAA,MAAGF,IAAI,CAACI,KAAK,CAACC,IAAI,EAAGL,IAAI,CAACI,KAAK;EAAA,CAAG,EAAE,CAAC,CAAC,CAAC;EAE3E,IAAME,UAAU,GAAGZ,iBAAiB,IAAIH,KAAK,CAACgB,eAAe;EAE7D,IAAMd,MAAM,GAAGD,WAAW,CACrBgB,GAAG,CAAC,UAAAJ,KAAK,EAAI;IACV,IAAI,CAACT,YAAY,CAACS,KAAK,CAACC,IAAI,CAAC,EAAE;MAC3BI,OAAO,CAACC,GAAG,0CAAAC,MAAA,CAAyCP,KAAK,CAACC,IAAI,QAAI,CAAC;MACnE,OAAO,IAAI;IACf;IACA,IAAQO,OAAO,GAAKjB,YAAY,CAACS,KAAK,CAACC,IAAI,CAAC,CAApCO,OAAO;IAEf,IAAIA,OAAO,IAAIA,OAAO,CAACC,UAAU,EAAE;MAC/B,IAAQA,UAAU,GAAKD,OAAO,CAAtBC,UAAU;MAClB,IAAMC,SAAS,GACX,OAAOD,UAAU,KAAK,QAAQ,GACxBA,UAAU,GACVA,UAAU,CAAC;QAAEtB,KAAK,EAALA,KAAK;QAAEa,KAAK,EAALA,KAAK;QAAEV,iBAAiB,EAAEY;MAAW,CAAC,CAAC;;MAErE;AAChB;AACA;MACgB,IAAIQ,SAAS,KAAK,IAAI,EAAE;QACpB,OAAO,IAAI;MACf;MAEA,UAAAH,MAAA,CAAUP,KAAK,CAACW,OAAO,OAAAJ,MAAA,CAAIG,SAAS;IACxC;IAEA,OAAOV,KAAK,CAACW,OAAO;EACxB,CAAC,CAAC,CACDC,MAAM,CAACC,OAAO,CAAC;EACpB;AACJ;AACA;EACI,IAAIxB,MAAM,CAACyB,MAAM,KAAK,CAAC,EAAE;IACrBzB,MAAM,CAAC0B,IAAI,CAAC,QAAQ,CAAC;EACzB;EACA,OAAO1B,MAAM,CAAC2B,IAAI,CAAC,IAAI,CAAC;AAC5B","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
declare global {
|
|
3
|
+
namespace JSX {
|
|
4
|
+
interface IntrinsicElements {
|
|
5
|
+
"hcms-field-validation": {
|
|
6
|
+
"data-path": string;
|
|
7
|
+
"data-field-type": string;
|
|
8
|
+
"data-field-multiple-values": string;
|
|
9
|
+
"data-field-renderer": string;
|
|
10
|
+
style: React.CSSProperties;
|
|
11
|
+
children: React.ReactNode;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export declare const createValidationContainer: (path: string) => ({ children }: {
|
|
17
|
+
children: React.ReactNode;
|
|
18
|
+
}) => React.JSX.Element;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.createValidationContainer = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _ModelFieldProvider = require("./ModelFieldProvider");
|
|
10
|
+
var ValidationContainerStyles = {
|
|
11
|
+
display: "inherit"
|
|
12
|
+
};
|
|
13
|
+
var createValidationContainer = exports.createValidationContainer = function createValidationContainer(path) {
|
|
14
|
+
return function ValidationContainer(_ref) {
|
|
15
|
+
var children = _ref.children;
|
|
16
|
+
var _useModelField = (0, _ModelFieldProvider.useModelField)(),
|
|
17
|
+
field = _useModelField.field;
|
|
18
|
+
if (field.multipleValues === undefined) {
|
|
19
|
+
field.multipleValues = false;
|
|
20
|
+
}
|
|
21
|
+
return /*#__PURE__*/_react.default.createElement("hcms-field-validation", {
|
|
22
|
+
style: ValidationContainerStyles,
|
|
23
|
+
"data-path": path,
|
|
24
|
+
"data-field-type": field.type,
|
|
25
|
+
"data-field-multiple-values": String(field.multipleValues),
|
|
26
|
+
"data-field-renderer": String(field.renderer.name)
|
|
27
|
+
}, children);
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=createValidationContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_ModelFieldProvider","ValidationContainerStyles","display","createValidationContainer","exports","path","ValidationContainer","_ref","children","_useModelField","useModelField","field","multipleValues","undefined","default","createElement","style","type","String","renderer","name"],"sources":["createValidationContainer.tsx"],"sourcesContent":["import React from \"react\";\nimport { useModelField } from \"./ModelFieldProvider\";\n\ndeclare global {\n // eslint-disable-next-line\n namespace JSX {\n interface IntrinsicElements {\n \"hcms-field-validation\": {\n \"data-path\": string;\n \"data-field-type\": string;\n \"data-field-multiple-values\": string;\n \"data-field-renderer\": string;\n style: React.CSSProperties;\n children: React.ReactNode;\n };\n }\n }\n}\n\nconst ValidationContainerStyles = { display: \"inherit\" };\n\nexport const createValidationContainer = (path: string) => {\n return function ValidationContainer({ children }: { children: React.ReactNode }) {\n const { field } = useModelField();\n\n if (field.multipleValues === undefined) {\n field.multipleValues = false;\n }\n\n return (\n <hcms-field-validation\n style={ValidationContainerStyles}\n data-path={path}\n data-field-type={field.type}\n data-field-multiple-values={String(field.multipleValues)}\n data-field-renderer={String(field.renderer.name)}\n >\n {children}\n </hcms-field-validation>\n );\n };\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAD,OAAA;AAkBA,IAAME,yBAAyB,GAAG;EAAEC,OAAO,EAAE;AAAU,CAAC;AAEjD,IAAMC,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,GAAG,SAA5BA,yBAAyBA,CAAIE,IAAY,EAAK;EACvD,OAAO,SAASC,mBAAmBA,CAAAC,IAAA,EAA8C;IAAA,IAA3CC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAC1C,IAAAC,cAAA,GAAkB,IAAAC,iCAAa,EAAC,CAAC;MAAzBC,KAAK,GAAAF,cAAA,CAALE,KAAK;IAEb,IAAIA,KAAK,CAACC,cAAc,KAAKC,SAAS,EAAE;MACpCF,KAAK,CAACC,cAAc,GAAG,KAAK;IAChC;IAEA,oBACIf,MAAA,CAAAiB,OAAA,CAAAC,aAAA;MACIC,KAAK,EAAEf,yBAA0B;MACjC,aAAWI,IAAK;MAChB,mBAAiBM,KAAK,CAACM,IAAK;MAC5B,8BAA4BC,MAAM,CAACP,KAAK,CAACC,cAAc,CAAE;MACzD,uBAAqBM,MAAM,CAACP,KAAK,CAACQ,QAAQ,CAACC,IAAI;IAAE,GAEhDZ,QACkB,CAAC;EAEhC,CAAC;AACL,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.createValidators = void 0;
|
|
8
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
|
+
var _plugins = require("@webiny/plugins");
|
|
10
|
+
var _camelCase = _interopRequireDefault(require("lodash/camelCase"));
|
|
11
|
+
var createValidators = exports.createValidators = function createValidators(field, validation) {
|
|
12
|
+
var validatorPlugins = _plugins.plugins.byType("cms-model-field-validator");
|
|
13
|
+
return validation.reduce(function (collection, item) {
|
|
14
|
+
if (typeof item === "function") {
|
|
15
|
+
return [].concat((0, _toConsumableArray2.default)(collection), [item]);
|
|
16
|
+
}
|
|
17
|
+
var validatorPlugin = validatorPlugins.find(function (plugin) {
|
|
18
|
+
return plugin.validator.name === item.name;
|
|
19
|
+
});
|
|
20
|
+
if (!validatorPlugin || typeof validatorPlugin.validator.validate !== "function") {
|
|
21
|
+
return collection;
|
|
22
|
+
}
|
|
23
|
+
var validator = async function validator(value) {
|
|
24
|
+
var isInvalid;
|
|
25
|
+
var message = item.message;
|
|
26
|
+
try {
|
|
27
|
+
var result = await validatorPlugin.validator.validate(value, {
|
|
28
|
+
validator: item,
|
|
29
|
+
field: field
|
|
30
|
+
});
|
|
31
|
+
isInvalid = result === false;
|
|
32
|
+
} catch (e) {
|
|
33
|
+
isInvalid = true;
|
|
34
|
+
if (e.message && !item.message) {
|
|
35
|
+
message = e.message;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if (isInvalid) {
|
|
39
|
+
var interpolated = message || "Invalid value.";
|
|
40
|
+
var getVariableValues = validatorPlugin.validator.getVariableValues;
|
|
41
|
+
if (typeof getVariableValues === "function") {
|
|
42
|
+
var variables = getVariableValues({
|
|
43
|
+
validator: item
|
|
44
|
+
});
|
|
45
|
+
Object.keys(variables).forEach(function (key) {
|
|
46
|
+
var regex = new RegExp("{".concat(key, "}"), "g");
|
|
47
|
+
interpolated = interpolated.replace(regex, variables[key]);
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
throw new Error(interpolated);
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* We need to set the validator name because it will be used as the reference to skip, if necessary.
|
|
55
|
+
*/
|
|
56
|
+
validator.validatorName = (0, _camelCase.default)(validatorPlugin.validator.name);
|
|
57
|
+
collection.push(validator);
|
|
58
|
+
return collection;
|
|
59
|
+
}, []);
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
//# sourceMappingURL=createValidators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_plugins","require","_camelCase","_interopRequireDefault","createValidators","exports","field","validation","validatorPlugins","plugins","byType","reduce","collection","item","concat","_toConsumableArray2","default","validatorPlugin","find","plugin","validator","name","validate","value","isInvalid","message","result","e","interpolated","getVariableValues","variables","Object","keys","forEach","key","regex","RegExp","replace","Error","validatorName","camelCase","push"],"sources":["createValidators.ts"],"sourcesContent":["import { plugins } from \"@webiny/plugins\";\nimport { CmsModelField, CmsModelFieldValidator, CmsModelFieldValidatorPlugin } from \"~/types\";\nimport { Validator } from \"@webiny/validation/types\";\nimport camelCase from \"lodash/camelCase\";\n\nexport const createValidators = (\n field: CmsModelField,\n validation: (CmsModelFieldValidator | Validator)[]\n): Validator[] => {\n const validatorPlugins = plugins.byType<CmsModelFieldValidatorPlugin>(\n \"cms-model-field-validator\"\n );\n\n return validation.reduce<Validator[]>((collection, item) => {\n if (typeof item === \"function\") {\n return [...collection, item];\n }\n\n const validatorPlugin = validatorPlugins.find(\n plugin => plugin.validator.name === item.name\n );\n\n if (!validatorPlugin || typeof validatorPlugin.validator.validate !== \"function\") {\n return collection;\n }\n\n const validator = async (value: any | any[]) => {\n let isInvalid;\n let message = item.message;\n try {\n const result = await validatorPlugin.validator.validate(value, {\n validator: item,\n field\n });\n\n isInvalid = result === false;\n } catch (e) {\n isInvalid = true;\n if (e.message && !item.message) {\n message = e.message;\n }\n }\n\n if (isInvalid) {\n let interpolated = message || \"Invalid value.\";\n\n const getVariableValues = validatorPlugin.validator.getVariableValues;\n if (typeof getVariableValues === \"function\") {\n const variables = getVariableValues({ validator: item });\n\n Object.keys(variables).forEach(key => {\n const regex = new RegExp(`\\{${key}\\}`, \"g\");\n interpolated = interpolated.replace(regex, variables[key]);\n });\n }\n\n throw new Error(interpolated);\n }\n };\n /**\n * We need to set the validator name because it will be used as the reference to skip, if necessary.\n */\n validator.validatorName = camelCase(validatorPlugin.validator.name);\n\n collection.push(validator);\n return collection;\n }, [] as Validator[]);\n};\n"],"mappings":";;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAGA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEO,IAAMG,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAG,SAAnBA,gBAAgBA,CACzBE,KAAoB,EACpBC,UAAkD,EACpC;EACd,IAAMC,gBAAgB,GAAGC,gBAAO,CAACC,MAAM,CACnC,2BACJ,CAAC;EAED,OAAOH,UAAU,CAACI,MAAM,CAAc,UAACC,UAAU,EAAEC,IAAI,EAAK;IACxD,IAAI,OAAOA,IAAI,KAAK,UAAU,EAAE;MAC5B,UAAAC,MAAA,KAAAC,mBAAA,CAAAC,OAAA,EAAWJ,UAAU,IAAEC,IAAI;IAC/B;IAEA,IAAMI,eAAe,GAAGT,gBAAgB,CAACU,IAAI,CACzC,UAAAC,MAAM;MAAA,OAAIA,MAAM,CAACC,SAAS,CAACC,IAAI,KAAKR,IAAI,CAACQ,IAAI;IAAA,CACjD,CAAC;IAED,IAAI,CAACJ,eAAe,IAAI,OAAOA,eAAe,CAACG,SAAS,CAACE,QAAQ,KAAK,UAAU,EAAE;MAC9E,OAAOV,UAAU;IACrB;IAEA,IAAMQ,SAAS,GAAG,eAAZA,SAASA,CAAUG,KAAkB,EAAK;MAC5C,IAAIC,SAAS;MACb,IAAIC,OAAO,GAAGZ,IAAI,CAACY,OAAO;MAC1B,IAAI;QACA,IAAMC,MAAM,GAAG,MAAMT,eAAe,CAACG,SAAS,CAACE,QAAQ,CAACC,KAAK,EAAE;UAC3DH,SAAS,EAAEP,IAAI;UACfP,KAAK,EAALA;QACJ,CAAC,CAAC;QAEFkB,SAAS,GAAGE,MAAM,KAAK,KAAK;MAChC,CAAC,CAAC,OAAOC,CAAC,EAAE;QACRH,SAAS,GAAG,IAAI;QAChB,IAAIG,CAAC,CAACF,OAAO,IAAI,CAACZ,IAAI,CAACY,OAAO,EAAE;UAC5BA,OAAO,GAAGE,CAAC,CAACF,OAAO;QACvB;MACJ;MAEA,IAAID,SAAS,EAAE;QACX,IAAII,YAAY,GAAGH,OAAO,IAAI,gBAAgB;QAE9C,IAAMI,iBAAiB,GAAGZ,eAAe,CAACG,SAAS,CAACS,iBAAiB;QACrE,IAAI,OAAOA,iBAAiB,KAAK,UAAU,EAAE;UACzC,IAAMC,SAAS,GAAGD,iBAAiB,CAAC;YAAET,SAAS,EAAEP;UAAK,CAAC,CAAC;UAExDkB,MAAM,CAACC,IAAI,CAACF,SAAS,CAAC,CAACG,OAAO,CAAC,UAAAC,GAAG,EAAI;YAClC,IAAMC,KAAK,GAAG,IAAIC,MAAM,KAAAtB,MAAA,CAAMoB,GAAG,QAAM,GAAG,CAAC;YAC3CN,YAAY,GAAGA,YAAY,CAACS,OAAO,CAACF,KAAK,EAAEL,SAAS,CAACI,GAAG,CAAC,CAAC;UAC9D,CAAC,CAAC;QACN;QAEA,MAAM,IAAII,KAAK,CAACV,YAAY,CAAC;MACjC;IACJ,CAAC;IACD;AACR;AACA;IACQR,SAAS,CAACmB,aAAa,GAAG,IAAAC,kBAAS,EAACvB,eAAe,CAACG,SAAS,CAACC,IAAI,CAAC;IAEnET,UAAU,CAAC6B,IAAI,CAACrB,SAAS,CAAC;IAC1B,OAAOR,UAAU;EACrB,CAAC,EAAE,EAAiB,CAAC;AACzB,CAAC","ignoreList":[]}
|
package/index.d.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
|
+
export * from "./Fields";
|
|
2
|
+
export * from "./ModelFieldProvider";
|
|
3
|
+
export * from "./ModelProvider";
|
|
1
4
|
export * from "./entries.graphql";
|
|
2
5
|
export * from "./getModelTitleFieldId";
|
|
3
6
|
export * from "./createFieldsList";
|
|
7
|
+
export * from "./createValidationContainer";
|
|
8
|
+
export * from "./createValidators";
|
|
4
9
|
export * from "./prepareFormData";
|
|
5
10
|
export * from "./constants";
|
package/index.js
CHANGED
|
@@ -3,6 +3,39 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
var _Fields = require("./Fields");
|
|
7
|
+
Object.keys(_Fields).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _Fields[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function get() {
|
|
13
|
+
return _Fields[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
var _ModelFieldProvider = require("./ModelFieldProvider");
|
|
18
|
+
Object.keys(_ModelFieldProvider).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _ModelFieldProvider[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function get() {
|
|
24
|
+
return _ModelFieldProvider[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
var _ModelProvider = require("./ModelProvider");
|
|
29
|
+
Object.keys(_ModelProvider).forEach(function (key) {
|
|
30
|
+
if (key === "default" || key === "__esModule") return;
|
|
31
|
+
if (key in exports && exports[key] === _ModelProvider[key]) return;
|
|
32
|
+
Object.defineProperty(exports, key, {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function get() {
|
|
35
|
+
return _ModelProvider[key];
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
6
39
|
var _entries = require("./entries.graphql");
|
|
7
40
|
Object.keys(_entries).forEach(function (key) {
|
|
8
41
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -36,6 +69,28 @@ Object.keys(_createFieldsList).forEach(function (key) {
|
|
|
36
69
|
}
|
|
37
70
|
});
|
|
38
71
|
});
|
|
72
|
+
var _createValidationContainer = require("./createValidationContainer");
|
|
73
|
+
Object.keys(_createValidationContainer).forEach(function (key) {
|
|
74
|
+
if (key === "default" || key === "__esModule") return;
|
|
75
|
+
if (key in exports && exports[key] === _createValidationContainer[key]) return;
|
|
76
|
+
Object.defineProperty(exports, key, {
|
|
77
|
+
enumerable: true,
|
|
78
|
+
get: function get() {
|
|
79
|
+
return _createValidationContainer[key];
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
var _createValidators = require("./createValidators");
|
|
84
|
+
Object.keys(_createValidators).forEach(function (key) {
|
|
85
|
+
if (key === "default" || key === "__esModule") return;
|
|
86
|
+
if (key in exports && exports[key] === _createValidators[key]) return;
|
|
87
|
+
Object.defineProperty(exports, key, {
|
|
88
|
+
enumerable: true,
|
|
89
|
+
get: function get() {
|
|
90
|
+
return _createValidators[key];
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
});
|
|
39
94
|
var _prepareFormData = require("./prepareFormData");
|
|
40
95
|
Object.keys(_prepareFormData).forEach(function (key) {
|
|
41
96
|
if (key === "default" || key === "__esModule") return;
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_Fields","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_ModelFieldProvider","_ModelProvider","_entries","_getModelTitleFieldId","_createFieldsList","_createValidationContainer","_createValidators","_prepareFormData","_constants"],"sources":["index.ts"],"sourcesContent":["export * from \"./Fields\";\nexport * from \"./ModelFieldProvider\";\nexport * from \"./ModelProvider\";\nexport * from \"./entries.graphql\";\nexport * from \"./getModelTitleFieldId\";\nexport * from \"./createFieldsList\";\nexport * from \"./createValidationContainer\";\nexport * from \"./createValidators\";\nexport * from \"./prepareFormData\";\nexport * from \"./constants\";\n"],"mappings":"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","ignoreList":[]}
|