@webiny/app-headless-cms 6.0.0-rc.2 → 6.0.0-rc.4
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/admin/components/ContentEntries/Header/ButtonRefresh/ButtonRefresh.d.ts +2 -0
- package/admin/components/ContentEntries/Header/ButtonRefresh/ButtonRefresh.js +18 -0
- package/admin/components/ContentEntries/Header/ButtonRefresh/ButtonRefresh.js.map +1 -0
- package/admin/components/ContentEntries/Header/ButtonRefresh/index.d.ts +1 -0
- package/admin/components/ContentEntries/Header/ButtonRefresh/index.js +3 -0
- package/admin/components/ContentEntries/Header/ButtonRefresh/index.js.map +1 -0
- package/admin/components/ContentEntries/Header/Header.js +2 -1
- package/admin/components/ContentEntries/Header/Header.js.map +1 -1
- package/admin/components/ContentEntries/SidebarContent/SidebarContent.js +1 -1
- package/admin/components/ContentEntries/SidebarContent/SidebarContent.js.map +1 -1
- package/admin/components/ContentEntries/SidebarHeader/SidebarHeader.js +1 -1
- package/admin/components/ContentEntries/SidebarHeader/SidebarHeader.js.map +1 -1
- package/admin/components/ContentModelEditor/ContentModelEditor.js +1 -6
- package/admin/components/ContentModelEditor/ContentModelEditor.js.map +1 -1
- package/admin/components/ContentModelEditor/ContentModelEditorProvider.d.ts +2 -0
- package/admin/components/ContentModelEditor/ContentModelEditorProvider.js +14 -2
- package/admin/components/ContentModelEditor/ContentModelEditorProvider.js.map +1 -1
- package/admin/components/ContentModelEditor/FieldsSidebar.js +51 -2
- package/admin/components/ContentModelEditor/FieldsSidebar.js.map +1 -1
- package/admin/components/Droppable.d.ts +1 -1
- package/admin/components/Droppable.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js +3 -3
- package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/FieldSettingsTabs.d.ts +10 -0
- package/admin/components/FieldEditor/EditFieldDialog/FieldSettingsTabs.js +69 -0
- package/admin/components/FieldEditor/EditFieldDialog/FieldSettingsTabs.js.map +1 -0
- package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js +27 -9
- package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/PermissionsTab/CannotUsePermissions.d.ts +2 -0
- package/admin/components/FieldEditor/EditFieldDialog/PermissionsTab/CannotUsePermissions.js +14 -0
- package/admin/components/FieldEditor/EditFieldDialog/PermissionsTab/CannotUsePermissions.js.map +1 -0
- package/admin/components/FieldEditor/EditFieldDialog/PermissionsTab/FieldPermissionsSelection.d.ts +15 -0
- package/admin/components/FieldEditor/EditFieldDialog/PermissionsTab/FieldPermissionsSelection.js +131 -0
- package/admin/components/FieldEditor/EditFieldDialog/PermissionsTab/FieldPermissionsSelection.js.map +1 -0
- package/admin/components/FieldEditor/EditFieldDialog/PermissionsTab/PermissionsTab.d.ts +4 -0
- package/admin/components/FieldEditor/EditFieldDialog/PermissionsTab/PermissionsTab.js +74 -0
- package/admin/components/FieldEditor/EditFieldDialog/PermissionsTab/PermissionsTab.js.map +1 -0
- package/admin/components/FieldEditor/EditFieldDialog/RulesTab/RulesTab.d.ts +13 -0
- package/admin/components/FieldEditor/EditFieldDialog/RulesTab/RulesTab.js +203 -0
- package/admin/components/FieldEditor/EditFieldDialog/RulesTab/RulesTab.js.map +1 -0
- package/admin/components/FieldEditor/EditFieldDialog/RulesTab/index.d.ts +1 -0
- package/admin/components/FieldEditor/EditFieldDialog/RulesTab/index.js +3 -0
- package/admin/components/FieldEditor/EditFieldDialog/RulesTab/index.js.map +1 -0
- package/admin/components/FieldEditor/EditFieldDialog.js +13 -56
- package/admin/components/FieldEditor/EditFieldDialog.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialogContainer.d.ts +12 -0
- package/admin/components/FieldEditor/EditFieldDialogContainer.js +40 -0
- package/admin/components/FieldEditor/EditFieldDialogContainer.js.map +1 -0
- package/admin/components/FieldEditor/EditFieldDrawerContainer.d.ts +12 -0
- package/admin/components/FieldEditor/EditFieldDrawerContainer.js +40 -0
- package/admin/components/FieldEditor/EditFieldDrawerContainer.js.map +1 -0
- package/admin/components/FieldEditor/FieldEditor.js +148 -88
- package/admin/components/FieldEditor/FieldEditor.js.map +1 -1
- package/admin/components/FieldEditor/FieldEditorContext.d.ts +33 -3
- package/admin/components/FieldEditor/FieldEditorContext.js +225 -6
- package/admin/components/FieldEditor/FieldEditorContext.js.map +1 -1
- package/admin/components/FieldEditor/LayoutCell.d.ts +9 -0
- package/admin/components/FieldEditor/LayoutCell.js +33 -0
- package/admin/components/FieldEditor/LayoutCell.js.map +1 -0
- package/admin/components/FieldEditor/utils/deleteField.js +12 -4
- package/admin/components/FieldEditor/utils/deleteField.js.map +1 -1
- package/admin/components/FieldEditor/utils/getFieldPosition.js +6 -1
- package/admin/components/FieldEditor/utils/getFieldPosition.js.map +1 -1
- package/admin/graphql/contentModels.d.ts +2 -2
- package/admin/graphql/contentModels.js +7 -0
- package/admin/graphql/contentModels.js.map +1 -1
- package/admin/hooks/useModelFieldGraphqlContext.d.ts +1 -0
- package/admin/plugins/fieldRenderers/DynamicSection.d.ts +2 -1
- package/admin/plugins/fieldRenderers/DynamicSection.js +3 -1
- package/admin/plugins/fieldRenderers/DynamicSection.js.map +1 -1
- package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js +7 -1
- package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js.map +1 -1
- package/admin/plugins/fieldRenderers/checkboxes.js +7 -1
- package/admin/plugins/fieldRenderers/checkboxes.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/Input.js +9 -2
- package/admin/plugins/fieldRenderers/dateTime/Input.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/Select.js +7 -0
- package/admin/plugins/fieldRenderers/dateTime/Select.js.map +1 -1
- package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.d.ts +1 -0
- package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.js +9 -5
- package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.js.map +1 -1
- package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.d.ts +2 -1
- package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.js +18 -10
- package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.js.map +1 -1
- package/admin/plugins/fieldRenderers/lexicalText/lexicalTextInput.js +13 -4
- package/admin/plugins/fieldRenderers/lexicalText/lexicalTextInput.js.map +1 -1
- package/admin/plugins/fieldRenderers/lexicalText/lexicalTextInputs.js +10 -4
- package/admin/plugins/fieldRenderers/lexicalText/lexicalTextInputs.js.map +1 -1
- package/admin/plugins/fieldRenderers/longText/longText.js +7 -1
- package/admin/plugins/fieldRenderers/longText/longText.js.map +1 -1
- package/admin/plugins/fieldRenderers/longText/longTexts.js +12 -3
- package/admin/plugins/fieldRenderers/longText/longTexts.js.map +1 -1
- package/admin/plugins/fieldRenderers/number/numberInput.js +7 -1
- package/admin/plugins/fieldRenderers/number/numberInput.js.map +1 -1
- package/admin/plugins/fieldRenderers/number/numberInputs.js +11 -3
- package/admin/plugins/fieldRenderers/number/numberInputs.js.map +1 -1
- package/admin/plugins/fieldRenderers/object/FieldSettings.d.ts +2 -1
- package/admin/plugins/fieldRenderers/object/MultiValueContainer.js +5 -0
- package/admin/plugins/fieldRenderers/object/MultiValueContainer.js.map +1 -1
- package/admin/plugins/fieldRenderers/object/MultiValueItemContainer.d.ts +1 -0
- package/admin/plugins/fieldRenderers/object/MultiValueItemContainer.js +3 -2
- package/admin/plugins/fieldRenderers/object/MultiValueItemContainer.js.map +1 -1
- package/admin/plugins/fieldRenderers/radioButtons.js +7 -1
- package/admin/plugins/fieldRenderers/radioButtons.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedMultipleReferenceField.js +15 -7
- package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedMultipleReferenceField.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedSingleReferenceField.js +14 -7
- package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedSingleReferenceField.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/Entry.d.ts +3 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/Entry.js +7 -6
- package/admin/plugins/fieldRenderers/ref/advanced/components/Entry.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.d.ts +1 -1
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js +9 -3
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.d.ts +1 -1
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js +9 -3
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/simple/components/SimpleMultipleRenderer.js +7 -1
- package/admin/plugins/fieldRenderers/ref/simple/components/SimpleMultipleRenderer.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/simple/components/SimpleSingleRenderer.js +7 -1
- package/admin/plugins/fieldRenderers/ref/simple/components/SimpleSingleRenderer.js.map +1 -1
- package/admin/plugins/fieldRenderers/select.js +7 -1
- package/admin/plugins/fieldRenderers/select.js.map +1 -1
- package/admin/plugins/fieldRenderers/text/tags.js +7 -1
- package/admin/plugins/fieldRenderers/text/tags.js.map +1 -1
- package/admin/plugins/fieldRenderers/text/textInput.js +7 -1
- package/admin/plugins/fieldRenderers/text/textInput.js.map +1 -1
- package/admin/plugins/fieldRenderers/text/textInputs.js +12 -3
- package/admin/plugins/fieldRenderers/text/textInputs.js.map +1 -1
- package/admin/plugins/fields/ui/TabsLayoutEditor.d.ts +9 -0
- package/admin/plugins/fields/ui/TabsLayoutEditor.js +470 -0
- package/admin/plugins/fields/ui/TabsLayoutEditor.js.map +1 -0
- package/admin/plugins/fields/ui/alert.d.ts +2 -2
- package/admin/plugins/fields/ui/alert.js +144 -17
- package/admin/plugins/fields/ui/alert.js.map +1 -1
- package/admin/plugins/fields/ui/index.d.ts +1 -0
- package/admin/plugins/fields/ui/index.js +1 -0
- package/admin/plugins/fields/ui/index.js.map +1 -1
- package/admin/plugins/fields/ui/separator.d.ts +2 -2
- package/admin/plugins/fields/ui/separator.js +131 -17
- package/admin/plugins/fields/ui/separator.js.map +1 -1
- package/admin/plugins/fields/ui/tabs.d.ts +2 -0
- package/admin/plugins/fields/ui/tabs.js +89 -0
- package/admin/plugins/fields/ui/tabs.js.map +1 -0
- package/admin/plugins/index.d.ts +1 -0
- package/admin/views/contentEntries/hooks/useContentEntriesList.d.ts +1 -0
- package/admin/views/contentEntries/hooks/useContentEntriesList.js +4 -2
- package/admin/views/contentEntries/hooks/useContentEntriesList.js.map +1 -1
- package/admin/views/contentModels/importing/graphql.d.ts +2 -2
- package/admin/views/contentModels/importing/graphql.js.map +1 -1
- package/allPlugins.d.ts +2 -1
- package/allPlugins.js +2 -3
- package/allPlugins.js.map +1 -1
- package/exports/admin/cms/{fieldRenderers/dynamicZone.js → field-renderers/dynamic-zone.js} +1 -1
- package/exports/admin/cms/field-renderers/dynamic-zone.js.map +1 -0
- package/exports/admin/cms/model.d.ts +1 -0
- package/exports/admin/cms/model.js +3 -0
- package/exports/admin/cms/model.js.map +1 -0
- package/package.json +23 -23
- package/types.d.ts +1 -0
- package/types.js +5 -1
- package/types.js.map +1 -1
- package/admin/plugins/fieldRenderers/ui/alert.d.ts +0 -2
- package/admin/plugins/fieldRenderers/ui/alert.js +0 -32
- package/admin/plugins/fieldRenderers/ui/alert.js.map +0 -1
- package/admin/plugins/fieldRenderers/ui/index.d.ts +0 -2
- package/admin/plugins/fieldRenderers/ui/index.js +0 -4
- package/admin/plugins/fieldRenderers/ui/index.js.map +0 -1
- package/admin/plugins/fieldRenderers/ui/separator.d.ts +0 -2
- package/admin/plugins/fieldRenderers/ui/separator.js +0 -31
- package/admin/plugins/fieldRenderers/ui/separator.js.map +0 -1
- package/exports/admin/cms/fieldRenderers/dynamicZone.js.map +0 -1
- /package/exports/admin/cms/{fieldRenderers/dynamicZone.d.ts → field-renderers/dynamic-zone.d.ts} +0 -0
- /package/exports/admin/cms/{fieldRenderers → field-renderers}/object.d.ts +0 -0
- /package/exports/admin/cms/{fieldRenderers → field-renderers}/object.js +0 -0
- /package/exports/admin/cms/{fieldRenderers → field-renderers}/object.js.map +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useState","debounce","NewEntryButton","AutoComplete","i18n","SimpleLink","useNewRefEntry","useReference","renderItem","createEntryUrl","useModels","NewReferencedEntryDialog","t","ns","unpublishedLabel","publishedLabel","ContentEntriesAutocomplete","bind","field","models","showNewEntryModal","setShowNewEntryModal","options","setSearch","value","loading","onChange","entryInfo","published","link","publishItLink","createElement","to","here","renderNewEntryModal","refModelId","help","model","find","modelId","Fragment","onClose","entry","Object","assign","undefined","label","note","description","onInput","search","noResultFound","onClick"],"sources":["ContentEntriesAutocomplete.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport debounce from \"lodash/debounce.js\";\nimport { NewEntryButton } from \"./NewEntryButton.js\";\nimport { AutoComplete } from \"@webiny/ui/AutoComplete/index.js\";\nimport { i18n } from \"@webiny/app/i18n/index.js\";\nimport { SimpleLink } from \"@webiny/app-admin\";\nimport { useNewRefEntry } from \"../hooks/useNewRefEntry.js\";\nimport { useReference } from \"./useReference.js\";\nimport { renderItem } from \"./renderItem.js\";\nimport { createEntryUrl } from \"./createEntryUrl.js\";\nimport type { CmsModelField } from \"~/types.js\";\nimport type { BindComponentRenderProp } from \"@webiny/form\";\nimport { useModels } from \"~/admin/hooks/index.js\";\nimport { NewReferencedEntryDialog } from \"~/admin/plugins/fieldRenderers/ref/components/NewReferencedEntryDialog.js\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/ref\");\n\nconst unpublishedLabel = t`Selected content entry is not published. Make sure to {publishItLink} before publishing the main content entry.`;\nconst publishedLabel = t`Selected content entry is published. You can view it {here}.`;\n\ninterface ContentEntriesAutocompleteProps {\n bind: BindComponentRenderProp;\n field: CmsModelField;\n}\nconst ContentEntriesAutocomplete = ({ bind
|
|
1
|
+
{"version":3,"names":["React","useState","debounce","NewEntryButton","AutoComplete","i18n","SimpleLink","useNewRefEntry","useReference","renderItem","createEntryUrl","useEffectiveRules","useModelField","useModels","NewReferencedEntryDialog","t","ns","unpublishedLabel","publishedLabel","ContentEntriesAutocomplete","bind","field","rules","models","showNewEntryModal","setShowNewEntryModal","options","setSearch","value","loading","onChange","disabled","canEdit","entryInfo","published","link","publishItLink","createElement","to","here","renderNewEntryModal","refModelId","help","model","find","modelId","Fragment","onClose","entry","Object","assign","undefined","label","note","description","onInput","search","noResultFound","onClick"],"sources":["ContentEntriesAutocomplete.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport debounce from \"lodash/debounce.js\";\nimport { NewEntryButton } from \"./NewEntryButton.js\";\nimport { AutoComplete } from \"@webiny/ui/AutoComplete/index.js\";\nimport { i18n } from \"@webiny/app/i18n/index.js\";\nimport { SimpleLink } from \"@webiny/app-admin\";\nimport { useNewRefEntry } from \"../hooks/useNewRefEntry.js\";\nimport { useReference } from \"./useReference.js\";\nimport { renderItem } from \"./renderItem.js\";\nimport { createEntryUrl } from \"./createEntryUrl.js\";\nimport type { CmsModelField } from \"~/types.js\";\nimport type { BindComponentRenderProp } from \"@webiny/form\";\nimport { useEffectiveRules } from \"@webiny/app-headless-cms-common\";\nimport { useModelField, useModels } from \"~/admin/hooks/index.js\";\nimport { NewReferencedEntryDialog } from \"~/admin/plugins/fieldRenderers/ref/components/NewReferencedEntryDialog.js\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/ref\");\n\nconst unpublishedLabel = t`Selected content entry is not published. Make sure to {publishItLink} before publishing the main content entry.`;\nconst publishedLabel = t`Selected content entry is published. You can view it {here}.`;\n\ninterface ContentEntriesAutocompleteProps {\n bind: BindComponentRenderProp;\n field: CmsModelField;\n}\nconst ContentEntriesAutocomplete = ({ bind }: ContentEntriesAutocompleteProps) => {\n const { field } = useModelField();\n const rules = useEffectiveRules(field);\n const { models } = useModels();\n const [showNewEntryModal, setShowNewEntryModal] = useState(false);\n const { options, setSearch, value, loading, onChange } = useReference({\n bind,\n field\n });\n\n const disabled = !rules.canEdit || rules.disabled;\n\n let entryInfo: string | null = null;\n if (value && !value.published) {\n const link = createEntryUrl(value);\n entryInfo = unpublishedLabel({\n publishItLink: <SimpleLink to={link}>{t`publish it`}</SimpleLink>\n });\n } else if (value) {\n const link = createEntryUrl(value);\n entryInfo = publishedLabel({\n here: <SimpleLink to={link}>{t`here`}</SimpleLink>\n });\n }\n const { renderNewEntryModal, refModelId, help } = useNewRefEntry({ field });\n const model = models.find(model => model.modelId === refModelId);\n\n /*\n * Wrap AutoComplete input in NewRefEntry modal.\n */\n if (renderNewEntryModal) {\n return (\n <>\n {showNewEntryModal && model ? (\n <NewReferencedEntryDialog\n onClose={() => setShowNewEntryModal(false)}\n model={model}\n onChange={entry => {\n return onChange(entry, entry);\n }}\n />\n ) : null}\n\n <AutoComplete\n {...bind}\n renderItem={renderItem}\n onChange={onChange}\n loading={loading}\n value={value || undefined}\n options={options}\n label={field.label}\n note={entryInfo}\n data-testid={`fr.input.autocomplete.${field.label}`}\n description={<>{field.help}</>}\n onInput={debounce(search => setSearch(search), 250)}\n noResultFound={<NewEntryButton onClick={() => setShowNewEntryModal(true)} />}\n />\n </>\n );\n }\n\n return (\n <AutoComplete\n {...bind}\n disabled={disabled}\n renderItem={renderItem}\n onChange={onChange}\n loading={loading}\n value={value || undefined}\n options={options}\n label={field.label}\n description={<>{field.help}</>}\n note={entryInfo}\n onInput={debounce(search => setSearch(search), 250)}\n noResultFound={help}\n />\n );\n};\n\nexport default ContentEntriesAutocomplete;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,5 +5,5 @@ interface ContentEntriesMultiAutocompleteProps {
|
|
|
5
5
|
bind: BindComponentRenderProp;
|
|
6
6
|
field: CmsModelField;
|
|
7
7
|
}
|
|
8
|
-
declare const ContentEntriesMultiAutocomplete: ({ bind
|
|
8
|
+
declare const ContentEntriesMultiAutocomplete: ({ bind }: ContentEntriesMultiAutocompleteProps) => React.JSX.Element;
|
|
9
9
|
export default ContentEntriesMultiAutocomplete;
|
|
@@ -7,15 +7,19 @@ import { useReferences } from "./useReferences.js";
|
|
|
7
7
|
import { renderItem, renderListItemOptions } from "./renderItem.js";
|
|
8
8
|
import { NewEntryButton } from "./NewEntryButton.js";
|
|
9
9
|
import { useNewRefEntry } from "../hooks/useNewRefEntry.js";
|
|
10
|
-
import {
|
|
10
|
+
import { useEffectiveRules } from "@webiny/app-headless-cms-common";
|
|
11
|
+
import { useModelField, useModels } from "../../../../hooks/index.js";
|
|
11
12
|
import { NewReferencedEntryDialog } from "./NewReferencedEntryDialog.js";
|
|
12
13
|
import { Routes } from "../../../../../routes.js";
|
|
13
14
|
const t = i18n.ns("app-headless-cms/admin/fields/ref");
|
|
14
15
|
const warn = t`Before publishing the main content entry, make sure you publish the following referenced entries: {entries}`;
|
|
15
16
|
const ContentEntriesMultiAutocomplete = ({
|
|
16
|
-
bind
|
|
17
|
-
field
|
|
17
|
+
bind
|
|
18
18
|
}) => {
|
|
19
|
+
const {
|
|
20
|
+
field
|
|
21
|
+
} = useModelField();
|
|
22
|
+
const rules = useEffectiveRules(field);
|
|
19
23
|
const {
|
|
20
24
|
models
|
|
21
25
|
} = useModels();
|
|
@@ -30,6 +34,7 @@ const ContentEntriesMultiAutocomplete = ({
|
|
|
30
34
|
bind,
|
|
31
35
|
field
|
|
32
36
|
});
|
|
37
|
+
const disabled = !rules.canEdit || rules.disabled;
|
|
33
38
|
const {
|
|
34
39
|
renderNewEntryModal,
|
|
35
40
|
refModelId,
|
|
@@ -96,6 +101,7 @@ const ContentEntriesMultiAutocomplete = ({
|
|
|
96
101
|
})));
|
|
97
102
|
}
|
|
98
103
|
return /*#__PURE__*/React.createElement(MultiAutoComplete, Object.assign({}, bind, {
|
|
104
|
+
disabled: disabled,
|
|
99
105
|
renderItem: renderItem,
|
|
100
106
|
renderListItemLabel: renderItem,
|
|
101
107
|
renderListItemOptions: renderListItemOptions,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useState","debounce","MultiAutoComplete","RouteLink","i18n","useReferences","renderItem","renderListItemOptions","NewEntryButton","useNewRefEntry","useModels","NewReferencedEntryDialog","Routes","t","ns","warn","ContentEntriesMultiAutocomplete","bind","field","models","showNewEntryModal","setShowNewEntryModal","options","setSearch","entries","loading","onChange","renderNewEntryModal","refModelId","help","entryWarning","entry","index","id","modelId","name","published","createElement","Fragment","key","route","ContentEntries","List","params","warnings","filter","item","warning","length","map","refEntryOnChange","value","model","find","onClose","Object","assign","renderListItemLabel","useMultipleSelectionList","label","onInput","description","note","noResultFound","onClick"],"sources":["ContentEntriesMultiAutoComplete.tsx"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport debounce from \"lodash/debounce.js\";\nimport { MultiAutoComplete } from \"@webiny/ui/AutoComplete/index.js\";\nimport { RouteLink } from \"@webiny/app-admin\";\nimport { i18n } from \"@webiny/app/i18n/index.js\";\nimport { useReferences } from \"./useReferences.js\";\nimport { renderItem, renderListItemOptions } from \"./renderItem.js\";\nimport { NewEntryButton } from \"./NewEntryButton.js\";\nimport { useNewRefEntry } from \"../hooks/useNewRefEntry.js\";\nimport type { CmsModelField } from \"~/types.js\";\nimport type { BindComponentRenderProp } from \"@webiny/form\";\nimport type { OptionItem } from \"./types.js\";\nimport { useModels } from \"~/admin/hooks/index.js\";\nimport { NewReferencedEntryDialog } from \"~/admin/plugins/fieldRenderers/ref/components/NewReferencedEntryDialog.js\";\nimport { Routes } from \"~/routes.js\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/ref\");\n\nconst warn = t`Before publishing the main content entry, make sure you publish the following referenced entries: {entries}`;\n\ninterface ContentEntriesMultiAutocompleteProps {\n bind: BindComponentRenderProp;\n field: CmsModelField;\n}\nconst ContentEntriesMultiAutocomplete = ({ bind
|
|
1
|
+
{"version":3,"names":["React","useCallback","useState","debounce","MultiAutoComplete","RouteLink","i18n","useReferences","renderItem","renderListItemOptions","NewEntryButton","useNewRefEntry","useEffectiveRules","useModelField","useModels","NewReferencedEntryDialog","Routes","t","ns","warn","ContentEntriesMultiAutocomplete","bind","field","rules","models","showNewEntryModal","setShowNewEntryModal","options","setSearch","entries","loading","onChange","disabled","canEdit","renderNewEntryModal","refModelId","help","entryWarning","entry","index","id","modelId","name","published","createElement","Fragment","key","route","ContentEntries","List","params","warnings","filter","item","warning","length","map","refEntryOnChange","value","model","find","onClose","Object","assign","renderListItemLabel","useMultipleSelectionList","label","onInput","description","note","noResultFound","onClick"],"sources":["ContentEntriesMultiAutoComplete.tsx"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport debounce from \"lodash/debounce.js\";\nimport { MultiAutoComplete } from \"@webiny/ui/AutoComplete/index.js\";\nimport { RouteLink } from \"@webiny/app-admin\";\nimport { i18n } from \"@webiny/app/i18n/index.js\";\nimport { useReferences } from \"./useReferences.js\";\nimport { renderItem, renderListItemOptions } from \"./renderItem.js\";\nimport { NewEntryButton } from \"./NewEntryButton.js\";\nimport { useNewRefEntry } from \"../hooks/useNewRefEntry.js\";\nimport type { CmsModelField } from \"~/types.js\";\nimport type { BindComponentRenderProp } from \"@webiny/form\";\nimport type { OptionItem } from \"./types.js\";\nimport { useEffectiveRules } from \"@webiny/app-headless-cms-common\";\nimport { useModelField, useModels } from \"~/admin/hooks/index.js\";\nimport { NewReferencedEntryDialog } from \"~/admin/plugins/fieldRenderers/ref/components/NewReferencedEntryDialog.js\";\nimport { Routes } from \"~/routes.js\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/ref\");\n\nconst warn = t`Before publishing the main content entry, make sure you publish the following referenced entries: {entries}`;\n\ninterface ContentEntriesMultiAutocompleteProps {\n bind: BindComponentRenderProp;\n field: CmsModelField;\n}\nconst ContentEntriesMultiAutocomplete = ({ bind }: ContentEntriesMultiAutocompleteProps) => {\n const { field } = useModelField();\n const rules = useEffectiveRules(field);\n const { models } = useModels();\n const [showNewEntryModal, setShowNewEntryModal] = useState(false);\n const { options, setSearch, entries, loading, onChange } = useReferences({ bind, field });\n const disabled = !rules.canEdit || rules.disabled;\n\n const { renderNewEntryModal, refModelId, help } = useNewRefEntry({ field });\n\n const entryWarning = (entry: OptionItem, index: number): React.ReactElement | null => {\n const { id, modelId, name, published } = entry;\n if (published) {\n return null;\n }\n return (\n <React.Fragment key={id}>\n {index > 0 && \", \"}\n <RouteLink route={Routes.ContentEntries.List} params={{ id, modelId }}>\n {name}\n </RouteLink>\n </React.Fragment>\n );\n };\n\n const warnings = entries.filter(item => !item.published);\n let warning: React.ReactElement | null = null;\n if (warnings.length > 0) {\n warning = warn({\n entries: <>{warnings.map(entryWarning)}</>\n });\n }\n\n const refEntryOnChange = useCallback(\n (value: OptionItem) => {\n /**\n * Append new selected entry at the end of existing entries.\n */\n onChange([...entries, value]);\n setShowNewEntryModal(false);\n },\n\n [onChange, entries]\n );\n\n const model = models.find(model => model.modelId === refModelId);\n\n if (renderNewEntryModal) {\n return (\n <>\n {showNewEntryModal && model ? (\n <NewReferencedEntryDialog\n onClose={() => setShowNewEntryModal(false)}\n model={model}\n onChange={refEntryOnChange}\n />\n ) : null}\n <MultiAutoComplete\n {...bind}\n renderItem={renderItem}\n renderListItemLabel={renderItem}\n renderListItemOptions={renderListItemOptions}\n useMultipleSelectionList\n onChange={onChange}\n loading={loading}\n value={entries}\n options={options}\n label={field.label}\n onInput={debounce(setSearch, 250)}\n description={<>{field.help}</>}\n note={warning}\n noResultFound={<NewEntryButton onClick={() => setShowNewEntryModal(true)} />}\n />\n </>\n );\n }\n\n return (\n <MultiAutoComplete\n {...bind}\n disabled={disabled}\n renderItem={renderItem}\n renderListItemLabel={renderItem}\n renderListItemOptions={renderListItemOptions}\n useMultipleSelectionList\n onChange={onChange}\n loading={loading}\n value={entries}\n options={options}\n label={field.label}\n onInput={debounce(setSearch, 250)}\n description={<>{field.help}</>}\n note={warning}\n noResultFound={help}\n />\n );\n};\n\nexport default ContentEntriesMultiAutocomplete;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,11 +3,16 @@ import { useContentModels } from "./useContentModels.js";
|
|
|
3
3
|
import { useReferences } from "./useReferences.js";
|
|
4
4
|
import { CheckboxGroup } from "@webiny/admin-ui";
|
|
5
5
|
import { Loader } from "./Loader.js";
|
|
6
|
+
import { useEffectiveRules, useModelField } from "@webiny/app-headless-cms-common";
|
|
6
7
|
export const SimpleMultipleRenderer = props => {
|
|
7
8
|
const {
|
|
8
|
-
field,
|
|
9
9
|
bind
|
|
10
10
|
} = props;
|
|
11
|
+
const {
|
|
12
|
+
field
|
|
13
|
+
} = useModelField();
|
|
14
|
+
const rules = useEffectiveRules(field);
|
|
15
|
+
const disabled = !rules.canEdit || rules.disabled;
|
|
11
16
|
const values = useMemo(() => {
|
|
12
17
|
return Array.isArray(bind.value) ? bind.value.map(item => item.id) : [];
|
|
13
18
|
}, [bind.value]);
|
|
@@ -32,6 +37,7 @@ export const SimpleMultipleRenderer = props => {
|
|
|
32
37
|
return /*#__PURE__*/React.createElement(Loader, null);
|
|
33
38
|
}
|
|
34
39
|
return /*#__PURE__*/React.createElement(CheckboxGroup, Object.assign({}, bind, {
|
|
40
|
+
disabled: disabled,
|
|
35
41
|
label: field.label,
|
|
36
42
|
description: field.description,
|
|
37
43
|
note: field.note,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useMemo","useContentModels","useReferences","CheckboxGroup","Loader","SimpleMultipleRenderer","props","field","
|
|
1
|
+
{"version":3,"names":["React","useMemo","useContentModels","useReferences","CheckboxGroup","Loader","useEffectiveRules","useModelField","SimpleMultipleRenderer","props","bind","field","rules","disabled","canEdit","values","Array","isArray","value","map","item","id","models","references","items","entries","entry","label","title","loading","createElement","Object","assign","description","note","hint","help","onChange","selectedEntryIds","split","selectedItems","filter","includes","entryId","model","modelId"],"sources":["SimpleMultipleRenderer.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport type { BindComponentRenderProp, CmsModelField } from \"~/types.js\";\nimport type { CmsReferenceValue } from \"~/admin/plugins/fieldRenderers/ref/components/types.js\";\nimport { useContentModels } from \"./useContentModels.js\";\nimport { useReferences } from \"./useReferences.js\";\nimport { CheckboxGroup } from \"@webiny/admin-ui\";\nimport { Loader } from \"./Loader.js\";\nimport { useEffectiveRules, useModelField } from \"@webiny/app-headless-cms-common\";\n\ninterface SimpleMultipleRendererProps {\n bind: BindComponentRenderProp<CmsReferenceValue[] | undefined | null>;\n field: CmsModelField;\n}\n\nexport const SimpleMultipleRenderer = (props: SimpleMultipleRendererProps) => {\n const { bind } = props;\n\n const { field } = useModelField();\n const rules = useEffectiveRules(field);\n const disabled = !rules.canEdit || rules.disabled;\n\n const values = useMemo(() => {\n return Array.isArray(bind.value) ? bind.value.map(item => item.id) : [];\n }, [bind.value]);\n\n const { models } = useContentModels({\n field\n });\n\n const references = useReferences({\n models\n });\n\n const items = useMemo(() => {\n if (!references.entries) {\n return [];\n }\n\n return references.entries.map(entry => ({\n label: entry.title,\n value: entry.id\n }));\n }, [references]);\n\n if (references.loading) {\n return <Loader />;\n }\n\n return (\n <CheckboxGroup\n {...bind}\n disabled={disabled}\n label={field.label}\n description={field.description}\n note={field.note}\n hint={field.help}\n value={values}\n items={items}\n onChange={(values: string[]) => {\n const selectedEntryIds = values.map(value => value.split(\"#\")[0]);\n const selectedItems = references.entries.filter(entry =>\n selectedEntryIds.includes(entry.entryId)\n );\n\n bind.onChange(\n selectedItems.map(({ id, model }) => ({\n id,\n modelId: model.modelId\n }))\n );\n }}\n />\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AAGtC,SAASC,gBAAgB;AACzB,SAASC,aAAa;AACtB,SAASC,aAAa,QAAQ,kBAAkB;AAChD,SAASC,MAAM;AACf,SAASC,iBAAiB,EAAEC,aAAa,QAAQ,iCAAiC;AAOlF,OAAO,MAAMC,sBAAsB,GAAIC,KAAkC,IAAK;EAC1E,MAAM;IAAEC;EAAK,CAAC,GAAGD,KAAK;EAEtB,MAAM;IAAEE;EAAM,CAAC,GAAGJ,aAAa,CAAC,CAAC;EACjC,MAAMK,KAAK,GAAGN,iBAAiB,CAACK,KAAK,CAAC;EACtC,MAAME,QAAQ,GAAG,CAACD,KAAK,CAACE,OAAO,IAAIF,KAAK,CAACC,QAAQ;EAEjD,MAAME,MAAM,GAAGd,OAAO,CAAC,MAAM;IACzB,OAAOe,KAAK,CAACC,OAAO,CAACP,IAAI,CAACQ,KAAK,CAAC,GAAGR,IAAI,CAACQ,KAAK,CAACC,GAAG,CAACC,IAAI,IAAIA,IAAI,CAACC,EAAE,CAAC,GAAG,EAAE;EAC3E,CAAC,EAAE,CAACX,IAAI,CAACQ,KAAK,CAAC,CAAC;EAEhB,MAAM;IAAEI;EAAO,CAAC,GAAGpB,gBAAgB,CAAC;IAChCS;EACJ,CAAC,CAAC;EAEF,MAAMY,UAAU,GAAGpB,aAAa,CAAC;IAC7BmB;EACJ,CAAC,CAAC;EAEF,MAAME,KAAK,GAAGvB,OAAO,CAAC,MAAM;IACxB,IAAI,CAACsB,UAAU,CAACE,OAAO,EAAE;MACrB,OAAO,EAAE;IACb;IAEA,OAAOF,UAAU,CAACE,OAAO,CAACN,GAAG,CAACO,KAAK,KAAK;MACpCC,KAAK,EAAED,KAAK,CAACE,KAAK;MAClBV,KAAK,EAAEQ,KAAK,CAACL;IACjB,CAAC,CAAC,CAAC;EACP,CAAC,EAAE,CAACE,UAAU,CAAC,CAAC;EAEhB,IAAIA,UAAU,CAACM,OAAO,EAAE;IACpB,oBAAO7B,KAAA,CAAA8B,aAAA,CAACzB,MAAM,MAAE,CAAC;EACrB;EAEA,oBACIL,KAAA,CAAA8B,aAAA,CAAC1B,aAAa,EAAA2B,MAAA,CAAAC,MAAA,KACNtB,IAAI;IACRG,QAAQ,EAAEA,QAAS;IACnBc,KAAK,EAAEhB,KAAK,CAACgB,KAAM;IACnBM,WAAW,EAAEtB,KAAK,CAACsB,WAAY;IAC/BC,IAAI,EAAEvB,KAAK,CAACuB,IAAK;IACjBC,IAAI,EAAExB,KAAK,CAACyB,IAAK;IACjBlB,KAAK,EAAEH,MAAO;IACdS,KAAK,EAAEA,KAAM;IACba,QAAQ,EAAGtB,MAAgB,IAAK;MAC5B,MAAMuB,gBAAgB,GAAGvB,MAAM,CAACI,GAAG,CAACD,KAAK,IAAIA,KAAK,CAACqB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;MACjE,MAAMC,aAAa,GAAGjB,UAAU,CAACE,OAAO,CAACgB,MAAM,CAACf,KAAK,IACjDY,gBAAgB,CAACI,QAAQ,CAAChB,KAAK,CAACiB,OAAO,CAC3C,CAAC;MAEDjC,IAAI,CAAC2B,QAAQ,CACTG,aAAa,CAACrB,GAAG,CAAC,CAAC;QAAEE,EAAE;QAAEuB;MAAM,CAAC,MAAM;QAClCvB,EAAE;QACFwB,OAAO,EAAED,KAAK,CAACC;MACnB,CAAC,CAAC,CACN,CAAC;IACL;EAAE,EACL,CAAC;AAEV,CAAC","ignoreList":[]}
|
|
@@ -3,11 +3,16 @@ import { useContentModels } from "./useContentModels.js";
|
|
|
3
3
|
import { useReferences } from "./useReferences.js";
|
|
4
4
|
import { Loader } from "./Loader.js";
|
|
5
5
|
import { RadioGroup } from "@webiny/admin-ui";
|
|
6
|
+
import { useEffectiveRules, useModelField } from "@webiny/app-headless-cms-common";
|
|
6
7
|
export const SimpleSingleRenderer = props => {
|
|
7
8
|
const {
|
|
8
|
-
field,
|
|
9
9
|
bind
|
|
10
10
|
} = props;
|
|
11
|
+
const {
|
|
12
|
+
field
|
|
13
|
+
} = useModelField();
|
|
14
|
+
const rules = useEffectiveRules(field);
|
|
15
|
+
const disabled = !rules.canEdit || rules.disabled;
|
|
11
16
|
const value = useMemo(() => {
|
|
12
17
|
return bind.value?.id;
|
|
13
18
|
}, [bind.value]);
|
|
@@ -32,6 +37,7 @@ export const SimpleSingleRenderer = props => {
|
|
|
32
37
|
return /*#__PURE__*/React.createElement(Loader, null);
|
|
33
38
|
}
|
|
34
39
|
return /*#__PURE__*/React.createElement(RadioGroup, Object.assign({}, bind, {
|
|
40
|
+
disabled: disabled,
|
|
35
41
|
label: field.label,
|
|
36
42
|
description: field.description,
|
|
37
43
|
note: field.note,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useMemo","useContentModels","useReferences","Loader","RadioGroup","SimpleSingleRenderer","props","field","
|
|
1
|
+
{"version":3,"names":["React","useMemo","useContentModels","useReferences","Loader","RadioGroup","useEffectiveRules","useModelField","SimpleSingleRenderer","props","bind","field","rules","disabled","canEdit","value","id","models","references","items","entries","map","entry","label","title","loading","createElement","Object","assign","description","note","hint","help","onChange","selectedItem","find","entryId","split","modelId","model"],"sources":["SimpleSingleRenderer.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport type { BindComponentRenderProp, CmsModelField } from \"~/types.js\";\nimport type { CmsReferenceValue } from \"~/admin/plugins/fieldRenderers/ref/components/types.js\";\nimport { useContentModels } from \"./useContentModels.js\";\nimport { useReferences } from \"./useReferences.js\";\nimport { Loader } from \"~/admin/plugins/fieldRenderers/ref/simple/components/Loader.js\";\nimport { RadioGroup } from \"@webiny/admin-ui\";\nimport { useEffectiveRules, useModelField } from \"@webiny/app-headless-cms-common\";\n\ninterface SimpleSingleRendererProps {\n bind: BindComponentRenderProp<CmsReferenceValue | undefined | null>;\n field: CmsModelField;\n}\n\nexport const SimpleSingleRenderer = (props: SimpleSingleRendererProps) => {\n const { bind } = props;\n\n const { field } = useModelField();\n const rules = useEffectiveRules(field);\n const disabled = !rules.canEdit || rules.disabled;\n\n const value = useMemo(() => {\n return bind.value?.id;\n }, [bind.value]);\n\n const { models } = useContentModels({\n field\n });\n\n const references = useReferences({\n models\n });\n\n const items = useMemo(() => {\n if (!references.entries) {\n return [];\n }\n\n return references.entries.map(entry => ({\n label: entry.title,\n value: entry.id\n }));\n }, [references]);\n\n if (references.loading) {\n return <Loader />;\n }\n\n return (\n <RadioGroup\n {...bind}\n disabled={disabled}\n label={field.label}\n description={field.description}\n note={field.note}\n hint={field.help}\n value={value}\n items={items}\n onChange={(value: string) => {\n const selectedItem = references.entries.find(\n entry => entry.entryId === value.split(\"#\")[0]\n );\n\n if (!selectedItem) {\n return;\n }\n\n bind.onChange({\n id: selectedItem.id,\n modelId: selectedItem.model.modelId\n });\n }}\n />\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AAGtC,SAASC,gBAAgB;AACzB,SAASC,aAAa;AACtB,SAASC,MAAM;AACf,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,iBAAiB,EAAEC,aAAa,QAAQ,iCAAiC;AAOlF,OAAO,MAAMC,oBAAoB,GAAIC,KAAgC,IAAK;EACtE,MAAM;IAAEC;EAAK,CAAC,GAAGD,KAAK;EAEtB,MAAM;IAAEE;EAAM,CAAC,GAAGJ,aAAa,CAAC,CAAC;EACjC,MAAMK,KAAK,GAAGN,iBAAiB,CAACK,KAAK,CAAC;EACtC,MAAME,QAAQ,GAAG,CAACD,KAAK,CAACE,OAAO,IAAIF,KAAK,CAACC,QAAQ;EAEjD,MAAME,KAAK,GAAGd,OAAO,CAAC,MAAM;IACxB,OAAOS,IAAI,CAACK,KAAK,EAAEC,EAAE;EACzB,CAAC,EAAE,CAACN,IAAI,CAACK,KAAK,CAAC,CAAC;EAEhB,MAAM;IAAEE;EAAO,CAAC,GAAGf,gBAAgB,CAAC;IAChCS;EACJ,CAAC,CAAC;EAEF,MAAMO,UAAU,GAAGf,aAAa,CAAC;IAC7Bc;EACJ,CAAC,CAAC;EAEF,MAAME,KAAK,GAAGlB,OAAO,CAAC,MAAM;IACxB,IAAI,CAACiB,UAAU,CAACE,OAAO,EAAE;MACrB,OAAO,EAAE;IACb;IAEA,OAAOF,UAAU,CAACE,OAAO,CAACC,GAAG,CAACC,KAAK,KAAK;MACpCC,KAAK,EAAED,KAAK,CAACE,KAAK;MAClBT,KAAK,EAAEO,KAAK,CAACN;IACjB,CAAC,CAAC,CAAC;EACP,CAAC,EAAE,CAACE,UAAU,CAAC,CAAC;EAEhB,IAAIA,UAAU,CAACO,OAAO,EAAE;IACpB,oBAAOzB,KAAA,CAAA0B,aAAA,CAACtB,MAAM,MAAE,CAAC;EACrB;EAEA,oBACIJ,KAAA,CAAA0B,aAAA,CAACrB,UAAU,EAAAsB,MAAA,CAAAC,MAAA,KACHlB,IAAI;IACRG,QAAQ,EAAEA,QAAS;IACnBU,KAAK,EAAEZ,KAAK,CAACY,KAAM;IACnBM,WAAW,EAAElB,KAAK,CAACkB,WAAY;IAC/BC,IAAI,EAAEnB,KAAK,CAACmB,IAAK;IACjBC,IAAI,EAAEpB,KAAK,CAACqB,IAAK;IACjBjB,KAAK,EAAEA,KAAM;IACbI,KAAK,EAAEA,KAAM;IACbc,QAAQ,EAAGlB,KAAa,IAAK;MACzB,MAAMmB,YAAY,GAAGhB,UAAU,CAACE,OAAO,CAACe,IAAI,CACxCb,KAAK,IAAIA,KAAK,CAACc,OAAO,KAAKrB,KAAK,CAACsB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CACjD,CAAC;MAED,IAAI,CAACH,YAAY,EAAE;QACf;MACJ;MAEAxB,IAAI,CAACuB,QAAQ,CAAC;QACVjB,EAAE,EAAEkB,YAAY,CAAClB,EAAE;QACnBsB,OAAO,EAAEJ,YAAY,CAACK,KAAK,CAACD;MAChC,CAAC,CAAC;IACN;EAAE,EACL,CAAC;AAEV,CAAC","ignoreList":[]}
|
|
@@ -2,6 +2,7 @@ import React from "react";
|
|
|
2
2
|
import get from "lodash/get.js";
|
|
3
3
|
import { i18n } from "@webiny/app/i18n/index.js";
|
|
4
4
|
import { Select } from "@webiny/admin-ui";
|
|
5
|
+
import { useEffectiveRules, useModelField } from "@webiny/app-headless-cms-common";
|
|
5
6
|
const t = i18n.ns("app-headless-cms/admin/fields/text");
|
|
6
7
|
const plugin = {
|
|
7
8
|
type: "cms-editor-field-renderer",
|
|
@@ -16,9 +17,13 @@ const plugin = {
|
|
|
16
17
|
return !field.list && !!get(field, "predefinedValues.enabled");
|
|
17
18
|
},
|
|
18
19
|
render({
|
|
19
|
-
field,
|
|
20
20
|
getBind
|
|
21
21
|
}) {
|
|
22
|
+
const {
|
|
23
|
+
field
|
|
24
|
+
} = useModelField();
|
|
25
|
+
const rules = useEffectiveRules(field);
|
|
26
|
+
const disabled = !rules.canEdit || rules.disabled;
|
|
22
27
|
const Bind = getBind();
|
|
23
28
|
const {
|
|
24
29
|
values: options = []
|
|
@@ -31,6 +36,7 @@ const plugin = {
|
|
|
31
36
|
onChange,
|
|
32
37
|
...bind
|
|
33
38
|
}) => /*#__PURE__*/React.createElement(Bind.ValidationContainer, null, /*#__PURE__*/React.createElement(Select, Object.assign({}, bind, {
|
|
39
|
+
disabled: disabled,
|
|
34
40
|
label: field.label,
|
|
35
41
|
description: field.description,
|
|
36
42
|
note: field.note,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","get","i18n","Select","t","ns","plugin","type","name","renderer","rendererName","description","canUse","field","list","render","getBind","Bind","values","options","predefinedValues","defaultOption","find","option","selected","createElement","defaultValue","value","undefined","onChange","bind","ValidationContainer","Object","assign","label","note","hint","help","placeholder","String","Number"],"sources":["select.tsx"],"sourcesContent":["import React from \"react\";\nimport get from \"lodash/get.js\";\nimport { i18n } from \"@webiny/app/i18n/index.js\";\nimport type { CmsModelFieldRendererPlugin } from \"~/types.js\";\nimport { Select } from \"@webiny/admin-ui\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/text\");\n\nconst plugin: CmsModelFieldRendererPlugin = {\n type: \"cms-editor-field-renderer\",\n name: \"cms-editor-field-renderer-select-box\",\n renderer: {\n rendererName: \"select-box\",\n name: t`Select Box`,\n description: t`Renders a select box, allowing selection of a single value.`,\n canUse({ field }) {\n return !field.list && !!get(field, \"predefinedValues.enabled\");\n },\n render({
|
|
1
|
+
{"version":3,"names":["React","get","i18n","Select","useEffectiveRules","useModelField","t","ns","plugin","type","name","renderer","rendererName","description","canUse","field","list","render","getBind","rules","disabled","canEdit","Bind","values","options","predefinedValues","defaultOption","find","option","selected","createElement","defaultValue","value","undefined","onChange","bind","ValidationContainer","Object","assign","label","note","hint","help","placeholder","String","Number"],"sources":["select.tsx"],"sourcesContent":["import React from \"react\";\nimport get from \"lodash/get.js\";\nimport { i18n } from \"@webiny/app/i18n/index.js\";\nimport type { CmsModelFieldRendererPlugin } from \"~/types.js\";\nimport { Select } from \"@webiny/admin-ui\";\nimport { useEffectiveRules, useModelField } from \"@webiny/app-headless-cms-common\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/text\");\n\nconst plugin: CmsModelFieldRendererPlugin = {\n type: \"cms-editor-field-renderer\",\n name: \"cms-editor-field-renderer-select-box\",\n renderer: {\n rendererName: \"select-box\",\n name: t`Select Box`,\n description: t`Renders a select box, allowing selection of a single value.`,\n canUse({ field }) {\n return !field.list && !!get(field, \"predefinedValues.enabled\");\n },\n render({ getBind }) {\n const { field } = useModelField();\n const rules = useEffectiveRules(field);\n const disabled = !rules.canEdit || rules.disabled;\n const Bind = getBind();\n\n const { values: options = [] } = field.predefinedValues || {};\n const defaultOption = options.find(option => !!option.selected);\n\n return (\n <Bind defaultValue={defaultOption ? defaultOption.value : undefined}>\n {({ value, onChange, ...bind }) => (\n <Bind.ValidationContainer>\n <Select\n {...bind}\n disabled={disabled}\n label={field.label}\n description={field.description}\n note={field.note}\n hint={field.help}\n options={options}\n placeholder={field.placeholder}\n data-testid={`fr.input.select.${field.label}`}\n value={typeof value !== \"undefined\" ? String(value) : undefined}\n onChange={value => {\n if (field.type === \"number\") {\n onChange(Number(value));\n } else {\n onChange(String(value));\n }\n }}\n />\n </Bind.ValidationContainer>\n )}\n </Bind>\n );\n }\n }\n};\n\nexport default plugin;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,GAAG,MAAM,eAAe;AAC/B,SAASC,IAAI,QAAQ,2BAA2B;AAEhD,SAASC,MAAM,QAAQ,kBAAkB;AACzC,SAASC,iBAAiB,EAAEC,aAAa,QAAQ,iCAAiC;AAElF,MAAMC,CAAC,GAAGJ,IAAI,CAACK,EAAE,CAAC,oCAAoC,CAAC;AAEvD,MAAMC,MAAmC,GAAG;EACxCC,IAAI,EAAE,2BAA2B;EACjCC,IAAI,EAAE,sCAAsC;EAC5CC,QAAQ,EAAE;IACNC,YAAY,EAAE,YAAY;IAC1BF,IAAI,EAAEJ,CAAC,YAAY;IACnBO,WAAW,EAAEP,CAAC,6DAA6D;IAC3EQ,MAAMA,CAAC;MAAEC;IAAM,CAAC,EAAE;MACd,OAAO,CAACA,KAAK,CAACC,IAAI,IAAI,CAAC,CAACf,GAAG,CAACc,KAAK,EAAE,0BAA0B,CAAC;IAClE,CAAC;IACDE,MAAMA,CAAC;MAAEC;IAAQ,CAAC,EAAE;MAChB,MAAM;QAAEH;MAAM,CAAC,GAAGV,aAAa,CAAC,CAAC;MACjC,MAAMc,KAAK,GAAGf,iBAAiB,CAACW,KAAK,CAAC;MACtC,MAAMK,QAAQ,GAAG,CAACD,KAAK,CAACE,OAAO,IAAIF,KAAK,CAACC,QAAQ;MACjD,MAAME,IAAI,GAAGJ,OAAO,CAAC,CAAC;MAEtB,MAAM;QAAEK,MAAM,EAAEC,OAAO,GAAG;MAAG,CAAC,GAAGT,KAAK,CAACU,gBAAgB,IAAI,CAAC,CAAC;MAC7D,MAAMC,aAAa,GAAGF,OAAO,CAACG,IAAI,CAACC,MAAM,IAAI,CAAC,CAACA,MAAM,CAACC,QAAQ,CAAC;MAE/D,oBACI7B,KAAA,CAAA8B,aAAA,CAACR,IAAI;QAACS,YAAY,EAAEL,aAAa,GAAGA,aAAa,CAACM,KAAK,GAAGC;MAAU,GAC/D,CAAC;QAAED,KAAK;QAAEE,QAAQ;QAAE,GAAGC;MAAK,CAAC,kBAC1BnC,KAAA,CAAA8B,aAAA,CAACR,IAAI,CAACc,mBAAmB,qBACrBpC,KAAA,CAAA8B,aAAA,CAAC3B,MAAM,EAAAkC,MAAA,CAAAC,MAAA,KACCH,IAAI;QACRf,QAAQ,EAAEA,QAAS;QACnBmB,KAAK,EAAExB,KAAK,CAACwB,KAAM;QACnB1B,WAAW,EAAEE,KAAK,CAACF,WAAY;QAC/B2B,IAAI,EAAEzB,KAAK,CAACyB,IAAK;QACjBC,IAAI,EAAE1B,KAAK,CAAC2B,IAAK;QACjBlB,OAAO,EAAEA,OAAQ;QACjBmB,WAAW,EAAE5B,KAAK,CAAC4B,WAAY;QAC/B,eAAa,mBAAmB5B,KAAK,CAACwB,KAAK,EAAG;QAC9CP,KAAK,EAAE,OAAOA,KAAK,KAAK,WAAW,GAAGY,MAAM,CAACZ,KAAK,CAAC,GAAGC,SAAU;QAChEC,QAAQ,EAAEF,KAAK,IAAI;UACf,IAAIjB,KAAK,CAACN,IAAI,KAAK,QAAQ,EAAE;YACzByB,QAAQ,CAACW,MAAM,CAACb,KAAK,CAAC,CAAC;UAC3B,CAAC,MAAM;YACHE,QAAQ,CAACU,MAAM,CAACZ,KAAK,CAAC,CAAC;UAC3B;QACJ;MAAE,EACL,CACqB,CAE5B,CAAC;IAEf;EACJ;AACJ,CAAC;AAED,eAAexB,MAAM","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { Tags } from "@webiny/admin-ui";
|
|
3
|
+
import { useEffectiveRules, useModelField } from "@webiny/app-headless-cms-common";
|
|
3
4
|
export const tags = {
|
|
4
5
|
type: "cms-editor-field-renderer",
|
|
5
6
|
name: "cms-editor-field-renderer-tags",
|
|
@@ -13,14 +14,19 @@ export const tags = {
|
|
|
13
14
|
return field.type === "text" && field.list === true && !field.predefinedValues?.enabled;
|
|
14
15
|
},
|
|
15
16
|
render({
|
|
16
|
-
field,
|
|
17
17
|
getBind
|
|
18
18
|
}) {
|
|
19
|
+
const {
|
|
20
|
+
field
|
|
21
|
+
} = useModelField();
|
|
22
|
+
const rules = useEffectiveRules(field);
|
|
23
|
+
const disabled = !rules.canEdit || rules.disabled;
|
|
19
24
|
const Bind = getBind();
|
|
20
25
|
return /*#__PURE__*/React.createElement(Bind, {
|
|
21
26
|
defaultValue: []
|
|
22
27
|
}, props => {
|
|
23
28
|
return /*#__PURE__*/React.createElement(Bind.ValidationContainer, null, /*#__PURE__*/React.createElement(Tags, Object.assign({
|
|
29
|
+
disabled: disabled,
|
|
24
30
|
label: field.label,
|
|
25
31
|
placeholder: field.placeholder || "Add values",
|
|
26
32
|
description: field.description,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Tags","tags","type","name","renderer","rendererName","description","canUse","field","list","predefinedValues","enabled","render","getBind","Bind","createElement","defaultValue","props","ValidationContainer","Object","assign","label","placeholder","note","hint","help"],"sources":["tags.tsx"],"sourcesContent":["import React from \"react\";\nimport { Tags } from \"@webiny/admin-ui\";\nimport type { CmsModelFieldRendererPlugin } from \"~/types.js\";\n\nexport const tags: CmsModelFieldRendererPlugin = {\n type: \"cms-editor-field-renderer\",\n name: \"cms-editor-field-renderer-tags\",\n renderer: {\n rendererName: \"tags\",\n name: \"Tags\",\n description: `Renders a tags component.`,\n canUse({ field }) {\n return field.type === \"text\" && field.list === true && !field.predefinedValues?.enabled;\n },\n render({
|
|
1
|
+
{"version":3,"names":["React","Tags","useEffectiveRules","useModelField","tags","type","name","renderer","rendererName","description","canUse","field","list","predefinedValues","enabled","render","getBind","rules","disabled","canEdit","Bind","createElement","defaultValue","props","ValidationContainer","Object","assign","label","placeholder","note","hint","help"],"sources":["tags.tsx"],"sourcesContent":["import React from \"react\";\nimport { Tags } from \"@webiny/admin-ui\";\nimport type { CmsModelFieldRendererPlugin } from \"~/types.js\";\nimport { useEffectiveRules, useModelField } from \"@webiny/app-headless-cms-common\";\n\nexport const tags: CmsModelFieldRendererPlugin = {\n type: \"cms-editor-field-renderer\",\n name: \"cms-editor-field-renderer-tags\",\n renderer: {\n rendererName: \"tags\",\n name: \"Tags\",\n description: `Renders a tags component.`,\n canUse({ field }) {\n return field.type === \"text\" && field.list === true && !field.predefinedValues?.enabled;\n },\n render({ getBind }) {\n const { field } = useModelField();\n const rules = useEffectiveRules(field);\n const disabled = !rules.canEdit || rules.disabled;\n const Bind = getBind();\n\n return (\n <Bind defaultValue={[]}>\n {props => {\n return (\n <Bind.ValidationContainer>\n <Tags\n disabled={disabled}\n label={field.label}\n placeholder={field.placeholder || \"Add values\"}\n description={field.description}\n note={field.note}\n hint={field.help}\n {...props}\n />\n </Bind.ValidationContainer>\n );\n }}\n </Bind>\n );\n }\n }\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,kBAAkB;AAEvC,SAASC,iBAAiB,EAAEC,aAAa,QAAQ,iCAAiC;AAElF,OAAO,MAAMC,IAAiC,GAAG;EAC7CC,IAAI,EAAE,2BAA2B;EACjCC,IAAI,EAAE,gCAAgC;EACtCC,QAAQ,EAAE;IACNC,YAAY,EAAE,MAAM;IACpBF,IAAI,EAAE,MAAM;IACZG,WAAW,EAAE,2BAA2B;IACxCC,MAAMA,CAAC;MAAEC;IAAM,CAAC,EAAE;MACd,OAAOA,KAAK,CAACN,IAAI,KAAK,MAAM,IAAIM,KAAK,CAACC,IAAI,KAAK,IAAI,IAAI,CAACD,KAAK,CAACE,gBAAgB,EAAEC,OAAO;IAC3F,CAAC;IACDC,MAAMA,CAAC;MAAEC;IAAQ,CAAC,EAAE;MAChB,MAAM;QAAEL;MAAM,CAAC,GAAGR,aAAa,CAAC,CAAC;MACjC,MAAMc,KAAK,GAAGf,iBAAiB,CAACS,KAAK,CAAC;MACtC,MAAMO,QAAQ,GAAG,CAACD,KAAK,CAACE,OAAO,IAAIF,KAAK,CAACC,QAAQ;MACjD,MAAME,IAAI,GAAGJ,OAAO,CAAC,CAAC;MAEtB,oBACIhB,KAAA,CAAAqB,aAAA,CAACD,IAAI;QAACE,YAAY,EAAE;MAAG,GAClBC,KAAK,IAAI;QACN,oBACIvB,KAAA,CAAAqB,aAAA,CAACD,IAAI,CAACI,mBAAmB,qBACrBxB,KAAA,CAAAqB,aAAA,CAACpB,IAAI,EAAAwB,MAAA,CAAAC,MAAA;UACDR,QAAQ,EAAEA,QAAS;UACnBS,KAAK,EAAEhB,KAAK,CAACgB,KAAM;UACnBC,WAAW,EAAEjB,KAAK,CAACiB,WAAW,IAAI,YAAa;UAC/CnB,WAAW,EAAEE,KAAK,CAACF,WAAY;UAC/BoB,IAAI,EAAElB,KAAK,CAACkB,IAAK;UACjBC,IAAI,EAAEnB,KAAK,CAACoB;QAAK,GACbR,KAAK,CACZ,CACqB,CAAC;MAEnC,CACE,CAAC;IAEf;EACJ;AACJ,CAAC","ignoreList":[]}
|
|
@@ -3,6 +3,7 @@ import get from "lodash/get.js";
|
|
|
3
3
|
import { i18n } from "@webiny/app/i18n/index.js";
|
|
4
4
|
import { DelayedOnChange } from "@webiny/ui/DelayedOnChange/index.js";
|
|
5
5
|
import { Input } from "@webiny/admin-ui";
|
|
6
|
+
import { useEffectiveRules, useModelField } from "@webiny/app-headless-cms-common";
|
|
6
7
|
const t = i18n.ns("app-headless-cms/admin/fields/text");
|
|
7
8
|
const plugin = {
|
|
8
9
|
type: "cms-editor-field-renderer",
|
|
@@ -17,15 +18,20 @@ const plugin = {
|
|
|
17
18
|
return field.type === "text" && !field.list && !get(field, "predefinedValues.enabled");
|
|
18
19
|
},
|
|
19
20
|
render({
|
|
20
|
-
field,
|
|
21
21
|
getBind
|
|
22
22
|
}) {
|
|
23
|
+
const {
|
|
24
|
+
field
|
|
25
|
+
} = useModelField();
|
|
26
|
+
const rules = useEffectiveRules(field);
|
|
27
|
+
const disabled = !rules.canEdit || rules.disabled;
|
|
23
28
|
const Bind = getBind();
|
|
24
29
|
return /*#__PURE__*/React.createElement(Bind, null, bind => /*#__PURE__*/React.createElement(Bind.ValidationContainer, null, /*#__PURE__*/React.createElement(DelayedOnChange, {
|
|
25
30
|
value: bind.value,
|
|
26
31
|
onChange: bind.onChange,
|
|
27
32
|
onBlur: bind.validate
|
|
28
33
|
}, /*#__PURE__*/React.createElement(Input, {
|
|
34
|
+
disabled: disabled,
|
|
29
35
|
label: field.label,
|
|
30
36
|
placeholder: field.placeholder,
|
|
31
37
|
description: field.description,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","get","i18n","DelayedOnChange","Input","t","ns","plugin","type","name","renderer","rendererName","description","canUse","field","list","render","getBind","Bind","createElement","bind","ValidationContainer","value","onChange","onBlur","validate","label","placeholder","hint","help","note","validation"],"sources":["textInput.tsx"],"sourcesContent":["import React from \"react\";\nimport get from \"lodash/get.js\";\nimport { i18n } from \"@webiny/app/i18n/index.js\";\nimport { DelayedOnChange } from \"@webiny/ui/DelayedOnChange/index.js\";\nimport type { CmsModelFieldRendererPlugin } from \"~/types.js\";\nimport { Input } from \"@webiny/admin-ui\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/text\");\n\nconst plugin: CmsModelFieldRendererPlugin = {\n type: \"cms-editor-field-renderer\",\n name: \"cms-editor-field-renderer-text\",\n renderer: {\n rendererName: \"text-input\",\n name: t`Text Input`,\n description: t`Renders a simple input with its type set to \"text\".`,\n canUse({ field }) {\n return field.type === \"text\" && !field.list && !get(field, \"predefinedValues.enabled\");\n },\n render({
|
|
1
|
+
{"version":3,"names":["React","get","i18n","DelayedOnChange","Input","useEffectiveRules","useModelField","t","ns","plugin","type","name","renderer","rendererName","description","canUse","field","list","render","getBind","rules","disabled","canEdit","Bind","createElement","bind","ValidationContainer","value","onChange","onBlur","validate","label","placeholder","hint","help","note","validation"],"sources":["textInput.tsx"],"sourcesContent":["import React from \"react\";\nimport get from \"lodash/get.js\";\nimport { i18n } from \"@webiny/app/i18n/index.js\";\nimport { DelayedOnChange } from \"@webiny/ui/DelayedOnChange/index.js\";\nimport type { CmsModelFieldRendererPlugin } from \"~/types.js\";\nimport { Input } from \"@webiny/admin-ui\";\nimport { useEffectiveRules, useModelField } from \"@webiny/app-headless-cms-common\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/text\");\n\nconst plugin: CmsModelFieldRendererPlugin = {\n type: \"cms-editor-field-renderer\",\n name: \"cms-editor-field-renderer-text\",\n renderer: {\n rendererName: \"text-input\",\n name: t`Text Input`,\n description: t`Renders a simple input with its type set to \"text\".`,\n canUse({ field }) {\n return field.type === \"text\" && !field.list && !get(field, \"predefinedValues.enabled\");\n },\n render({ getBind }) {\n const { field } = useModelField();\n const rules = useEffectiveRules(field);\n const disabled = !rules.canEdit || rules.disabled;\n const Bind = getBind();\n\n return (\n <Bind>\n {bind => (\n <Bind.ValidationContainer>\n <DelayedOnChange\n value={bind.value}\n onChange={bind.onChange}\n onBlur={bind.validate}\n >\n <Input\n disabled={disabled}\n label={field.label}\n placeholder={field.placeholder}\n description={field.description}\n hint={field.help}\n note={field.note}\n data-testid={`fr.input.text.${field.label}`}\n validation={bind.validation}\n />\n </DelayedOnChange>\n </Bind.ValidationContainer>\n )}\n </Bind>\n );\n }\n }\n};\n\nexport default plugin;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,GAAG,MAAM,eAAe;AAC/B,SAASC,IAAI,QAAQ,2BAA2B;AAChD,SAASC,eAAe,QAAQ,qCAAqC;AAErE,SAASC,KAAK,QAAQ,kBAAkB;AACxC,SAASC,iBAAiB,EAAEC,aAAa,QAAQ,iCAAiC;AAElF,MAAMC,CAAC,GAAGL,IAAI,CAACM,EAAE,CAAC,oCAAoC,CAAC;AAEvD,MAAMC,MAAmC,GAAG;EACxCC,IAAI,EAAE,2BAA2B;EACjCC,IAAI,EAAE,gCAAgC;EACtCC,QAAQ,EAAE;IACNC,YAAY,EAAE,YAAY;IAC1BF,IAAI,EAAEJ,CAAC,YAAY;IACnBO,WAAW,EAAEP,CAAC,qDAAqD;IACnEQ,MAAMA,CAAC;MAAEC;IAAM,CAAC,EAAE;MACd,OAAOA,KAAK,CAACN,IAAI,KAAK,MAAM,IAAI,CAACM,KAAK,CAACC,IAAI,IAAI,CAAChB,GAAG,CAACe,KAAK,EAAE,0BAA0B,CAAC;IAC1F,CAAC;IACDE,MAAMA,CAAC;MAAEC;IAAQ,CAAC,EAAE;MAChB,MAAM;QAAEH;MAAM,CAAC,GAAGV,aAAa,CAAC,CAAC;MACjC,MAAMc,KAAK,GAAGf,iBAAiB,CAACW,KAAK,CAAC;MACtC,MAAMK,QAAQ,GAAG,CAACD,KAAK,CAACE,OAAO,IAAIF,KAAK,CAACC,QAAQ;MACjD,MAAME,IAAI,GAAGJ,OAAO,CAAC,CAAC;MAEtB,oBACInB,KAAA,CAAAwB,aAAA,CAACD,IAAI,QACAE,IAAI,iBACDzB,KAAA,CAAAwB,aAAA,CAACD,IAAI,CAACG,mBAAmB,qBACrB1B,KAAA,CAAAwB,aAAA,CAACrB,eAAe;QACZwB,KAAK,EAAEF,IAAI,CAACE,KAAM;QAClBC,QAAQ,EAAEH,IAAI,CAACG,QAAS;QACxBC,MAAM,EAAEJ,IAAI,CAACK;MAAS,gBAEtB9B,KAAA,CAAAwB,aAAA,CAACpB,KAAK;QACFiB,QAAQ,EAAEA,QAAS;QACnBU,KAAK,EAAEf,KAAK,CAACe,KAAM;QACnBC,WAAW,EAAEhB,KAAK,CAACgB,WAAY;QAC/BlB,WAAW,EAAEE,KAAK,CAACF,WAAY;QAC/BmB,IAAI,EAAEjB,KAAK,CAACkB,IAAK;QACjBC,IAAI,EAAEnB,KAAK,CAACmB,IAAK;QACjB,eAAa,iBAAiBnB,KAAK,CAACe,KAAK,EAAG;QAC5CK,UAAU,EAAEX,IAAI,CAACW;MAAW,CAC/B,CACY,CACK,CAE5B,CAAC;IAEf;EACJ;AACJ,CAAC;AAED,eAAe3B,MAAM","ignoreList":[]}
|
|
@@ -5,6 +5,7 @@ import { ReactComponent as DeleteIcon } from "@webiny/icons/delete.svg";
|
|
|
5
5
|
import DynamicSection from "../DynamicSection.js";
|
|
6
6
|
import { MultiValueRendererSettings } from "../MultiValueRendererSettings.js";
|
|
7
7
|
import { DelayedOnChange, Icon, Input } from "@webiny/admin-ui";
|
|
8
|
+
import { CanEditField, useEffectiveRules, useModelField } from "@webiny/app-headless-cms-common";
|
|
8
9
|
const t = i18n.ns("app-headless-cms/admin/fields/text");
|
|
9
10
|
const plugin = {
|
|
10
11
|
type: "cms-editor-field-renderer",
|
|
@@ -19,7 +20,14 @@ const plugin = {
|
|
|
19
20
|
return field.type === "text" && !!field.list && !get(field, "predefinedValues.enabled");
|
|
20
21
|
},
|
|
21
22
|
render(props) {
|
|
22
|
-
|
|
23
|
+
const {
|
|
24
|
+
field
|
|
25
|
+
} = useModelField();
|
|
26
|
+
const rules = useEffectiveRules(field);
|
|
27
|
+
const disabled = !rules.canEdit || rules.disabled;
|
|
28
|
+
return /*#__PURE__*/React.createElement(DynamicSection, Object.assign({}, props, {
|
|
29
|
+
disabled: disabled
|
|
30
|
+
}), ({
|
|
23
31
|
bind,
|
|
24
32
|
index
|
|
25
33
|
}) => /*#__PURE__*/React.createElement(DelayedOnChange, {
|
|
@@ -27,6 +35,7 @@ const plugin = {
|
|
|
27
35
|
onChange: bind.index.onChange,
|
|
28
36
|
onBlur: bind.index.validate
|
|
29
37
|
}, /*#__PURE__*/React.createElement(Input, {
|
|
38
|
+
disabled: disabled,
|
|
30
39
|
validation: bind.index.validation,
|
|
31
40
|
onEnter: () => bind.field.appendValue(""),
|
|
32
41
|
label: t`Value {number}`({
|
|
@@ -34,12 +43,12 @@ const plugin = {
|
|
|
34
43
|
}),
|
|
35
44
|
placeholder: props.field.placeholder,
|
|
36
45
|
"data-testid": `fr.input.texts.${props.field.label}.${index + 1}`,
|
|
37
|
-
endIcon: /*#__PURE__*/React.createElement(Icon, {
|
|
46
|
+
endIcon: /*#__PURE__*/React.createElement(CanEditField, null, /*#__PURE__*/React.createElement(Icon, {
|
|
38
47
|
icon: /*#__PURE__*/React.createElement(DeleteIcon, null),
|
|
39
48
|
label: "Delete",
|
|
40
49
|
onClick: () => bind.field.removeValue(index),
|
|
41
50
|
className: "cursor-pointer"
|
|
42
|
-
})
|
|
51
|
+
}))
|
|
43
52
|
})));
|
|
44
53
|
},
|
|
45
54
|
renderSettings(props) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","get","i18n","ReactComponent","DeleteIcon","DynamicSection","MultiValueRendererSettings","DelayedOnChange","Icon","Input","t","ns","plugin","type","name","renderer","rendererName","description","canUse","field","list","render","props","createElement","bind","index","value","onChange","onBlur","validate","validation","onEnter","appendValue","label","number","placeholder","endIcon","icon","onClick","removeValue","className","renderSettings"],"sources":["textInputs.tsx"],"sourcesContent":["import React from \"react\";\nimport get from \"lodash/get.js\";\nimport { i18n } from \"@webiny/app/i18n/index.js\";\nimport type { CmsModelFieldRendererPlugin } from \"~/types.js\";\nimport { ReactComponent as DeleteIcon } from \"@webiny/icons/delete.svg\";\nimport DynamicSection from \"../DynamicSection.js\";\nimport { MultiValueRendererSettings } from \"~/admin/plugins/fieldRenderers/MultiValueRendererSettings.js\";\nimport { DelayedOnChange, Icon, Input } from \"@webiny/admin-ui\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/text\");\n\nconst plugin: CmsModelFieldRendererPlugin = {\n type: \"cms-editor-field-renderer\",\n name: \"cms-editor-field-renderer-text-inputs\",\n renderer: {\n rendererName: \"text-inputs\",\n name: t`Text Inputs`,\n description: t`Renders a simple list of text inputs.`,\n canUse({ field }) {\n return field.type === \"text\" && !!field.list && !get(field, \"predefinedValues.enabled\");\n },\n render(props) {\n return (\n <DynamicSection {...props}>\n {({ bind, index }) => (\n <DelayedOnChange\n value={bind.index.value}\n onChange={bind.index.onChange}\n onBlur={bind.index.validate}\n >\n <Input\n validation={bind.index.validation}\n onEnter={() => bind.field.appendValue(\"\")}\n label={t`Value {number}`({ number: index + 1 })}\n placeholder={props.field.placeholder}\n data-testid={`fr.input.texts.${props.field.label}.${index + 1}`}\n endIcon={\n <Icon\n
|
|
1
|
+
{"version":3,"names":["React","get","i18n","ReactComponent","DeleteIcon","DynamicSection","MultiValueRendererSettings","DelayedOnChange","Icon","Input","CanEditField","useEffectiveRules","useModelField","t","ns","plugin","type","name","renderer","rendererName","description","canUse","field","list","render","props","rules","disabled","canEdit","createElement","Object","assign","bind","index","value","onChange","onBlur","validate","validation","onEnter","appendValue","label","number","placeholder","endIcon","icon","onClick","removeValue","className","renderSettings"],"sources":["textInputs.tsx"],"sourcesContent":["import React from \"react\";\nimport get from \"lodash/get.js\";\nimport { i18n } from \"@webiny/app/i18n/index.js\";\nimport type { CmsModelFieldRendererPlugin } from \"~/types.js\";\nimport { ReactComponent as DeleteIcon } from \"@webiny/icons/delete.svg\";\nimport DynamicSection from \"../DynamicSection.js\";\nimport { MultiValueRendererSettings } from \"~/admin/plugins/fieldRenderers/MultiValueRendererSettings.js\";\nimport { DelayedOnChange, Icon, Input } from \"@webiny/admin-ui\";\nimport { CanEditField, useEffectiveRules, useModelField } from \"@webiny/app-headless-cms-common\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/text\");\n\nconst plugin: CmsModelFieldRendererPlugin = {\n type: \"cms-editor-field-renderer\",\n name: \"cms-editor-field-renderer-text-inputs\",\n renderer: {\n rendererName: \"text-inputs\",\n name: t`Text Inputs`,\n description: t`Renders a simple list of text inputs.`,\n canUse({ field }) {\n return field.type === \"text\" && !!field.list && !get(field, \"predefinedValues.enabled\");\n },\n render(props) {\n const { field } = useModelField();\n const rules = useEffectiveRules(field);\n const disabled = !rules.canEdit || rules.disabled;\n\n return (\n <DynamicSection {...props} disabled={disabled}>\n {({ bind, index }) => (\n <DelayedOnChange\n value={bind.index.value}\n onChange={bind.index.onChange}\n onBlur={bind.index.validate}\n >\n <Input\n disabled={disabled}\n validation={bind.index.validation}\n onEnter={() => bind.field.appendValue(\"\")}\n label={t`Value {number}`({ number: index + 1 })}\n placeholder={props.field.placeholder}\n data-testid={`fr.input.texts.${props.field.label}.${index + 1}`}\n endIcon={\n <CanEditField>\n <Icon\n icon={<DeleteIcon />}\n label={\"Delete\"}\n onClick={() => bind.field.removeValue(index)}\n className={\"cursor-pointer\"}\n />\n </CanEditField>\n }\n />\n </DelayedOnChange>\n )}\n </DynamicSection>\n );\n },\n renderSettings(props) {\n return <MultiValueRendererSettings {...props} />;\n }\n }\n};\n\nexport default plugin;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,GAAG,MAAM,eAAe;AAC/B,SAASC,IAAI,QAAQ,2BAA2B;AAEhD,SAASC,cAAc,IAAIC,UAAU,QAAQ,0BAA0B;AACvE,OAAOC,cAAc;AACrB,SAASC,0BAA0B;AACnC,SAASC,eAAe,EAAEC,IAAI,EAAEC,KAAK,QAAQ,kBAAkB;AAC/D,SAASC,YAAY,EAAEC,iBAAiB,EAAEC,aAAa,QAAQ,iCAAiC;AAEhG,MAAMC,CAAC,GAAGX,IAAI,CAACY,EAAE,CAAC,oCAAoC,CAAC;AAEvD,MAAMC,MAAmC,GAAG;EACxCC,IAAI,EAAE,2BAA2B;EACjCC,IAAI,EAAE,uCAAuC;EAC7CC,QAAQ,EAAE;IACNC,YAAY,EAAE,aAAa;IAC3BF,IAAI,EAAEJ,CAAC,aAAa;IACpBO,WAAW,EAAEP,CAAC,uCAAuC;IACrDQ,MAAMA,CAAC;MAAEC;IAAM,CAAC,EAAE;MACd,OAAOA,KAAK,CAACN,IAAI,KAAK,MAAM,IAAI,CAAC,CAACM,KAAK,CAACC,IAAI,IAAI,CAACtB,GAAG,CAACqB,KAAK,EAAE,0BAA0B,CAAC;IAC3F,CAAC;IACDE,MAAMA,CAACC,KAAK,EAAE;MACV,MAAM;QAAEH;MAAM,CAAC,GAAGV,aAAa,CAAC,CAAC;MACjC,MAAMc,KAAK,GAAGf,iBAAiB,CAACW,KAAK,CAAC;MACtC,MAAMK,QAAQ,GAAG,CAACD,KAAK,CAACE,OAAO,IAAIF,KAAK,CAACC,QAAQ;MAEjD,oBACI3B,KAAA,CAAA6B,aAAA,CAACxB,cAAc,EAAAyB,MAAA,CAAAC,MAAA,KAAKN,KAAK;QAAEE,QAAQ,EAAEA;MAAS,IACzC,CAAC;QAAEK,IAAI;QAAEC;MAAM,CAAC,kBACbjC,KAAA,CAAA6B,aAAA,CAACtB,eAAe;QACZ2B,KAAK,EAAEF,IAAI,CAACC,KAAK,CAACC,KAAM;QACxBC,QAAQ,EAAEH,IAAI,CAACC,KAAK,CAACE,QAAS;QAC9BC,MAAM,EAAEJ,IAAI,CAACC,KAAK,CAACI;MAAS,gBAE5BrC,KAAA,CAAA6B,aAAA,CAACpB,KAAK;QACFkB,QAAQ,EAAEA,QAAS;QACnBW,UAAU,EAAEN,IAAI,CAACC,KAAK,CAACK,UAAW;QAClCC,OAAO,EAAEA,CAAA,KAAMP,IAAI,CAACV,KAAK,CAACkB,WAAW,CAAC,EAAE,CAAE;QAC1CC,KAAK,EAAE5B,CAAC,gBAAgB,CAAC;UAAE6B,MAAM,EAAET,KAAK,GAAG;QAAE,CAAC,CAAE;QAChDU,WAAW,EAAElB,KAAK,CAACH,KAAK,CAACqB,WAAY;QACrC,eAAa,kBAAkBlB,KAAK,CAACH,KAAK,CAACmB,KAAK,IAAIR,KAAK,GAAG,CAAC,EAAG;QAChEW,OAAO,eACH5C,KAAA,CAAA6B,aAAA,CAACnB,YAAY,qBACTV,KAAA,CAAA6B,aAAA,CAACrB,IAAI;UACDqC,IAAI,eAAE7C,KAAA,CAAA6B,aAAA,CAACzB,UAAU,MAAE,CAAE;UACrBqC,KAAK,EAAE,QAAS;UAChBK,OAAO,EAAEA,CAAA,KAAMd,IAAI,CAACV,KAAK,CAACyB,WAAW,CAACd,KAAK,CAAE;UAC7Ce,SAAS,EAAE;QAAiB,CAC/B,CACS;MACjB,CACJ,CACY,CAET,CAAC;IAEzB,CAAC;IACDC,cAAcA,CAACxB,KAAK,EAAE;MAClB,oBAAOzB,KAAA,CAAA6B,aAAA,CAACvB,0BAA0B,EAAKmB,KAAQ,CAAC;IACpD;EACJ;AACJ,CAAC;AAED,eAAeV,MAAM","ignoreList":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { CmsTabLayoutDescriptor, CmsLayoutDescriptor } from "@webiny/app-headless-cms-common/types/model.js";
|
|
3
|
+
interface TabsLayoutEditorProps {
|
|
4
|
+
descriptor: CmsTabLayoutDescriptor;
|
|
5
|
+
onUpdate: (d: CmsLayoutDescriptor) => void;
|
|
6
|
+
onDelete: () => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const TabsLayoutEditor: ({ descriptor, onUpdate, onDelete }: TabsLayoutEditorProps) => React.JSX.Element;
|
|
9
|
+
export {};
|