@webiny/app-headless-cms 0.0.0-unstable.496cf268ac → 0.0.0-unstable.606fc9c866
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/ContentEntryForm/useRenderPlugins.d.ts +1 -2
- package/admin/components/Dialog.js +1 -1
- package/admin/components/Dialog.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js.map +1 -1
- package/admin/components/IconPicker.js +16 -12
- package/admin/components/IconPicker.js.map +1 -1
- package/admin/hooks/index.d.ts +1 -0
- package/admin/hooks/index.js +12 -0
- package/admin/hooks/index.js.map +1 -1
- package/admin/hooks/useContentModels.d.ts +8 -0
- package/admin/hooks/useContentModels.js +9 -2
- package/admin/hooks/useContentModels.js.map +1 -1
- package/admin/menus/ContentGroupsMenuItems.js +1 -2
- package/admin/menus/ContentGroupsMenuItems.js.map +1 -1
- package/admin/plugins/fieldRenderers/boolean/index.d.ts +1 -1
- package/admin/plugins/fieldRenderers/dateTime/index.d.ts +1 -1
- package/admin/plugins/fieldRenderers/dynamicZone/AddTemplate.d.ts +3 -3
- package/admin/plugins/fieldRenderers/dynamicZone/AddTemplate.js.map +1 -1
- package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.d.ts +4 -4
- package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.js.map +1 -1
- package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.d.ts +4 -4
- package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.js.map +1 -1
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateCard.d.ts +2 -2
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateCard.js.map +1 -1
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateGallery.d.ts +2 -2
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateGallery.js.map +1 -1
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon.d.ts +2 -2
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon.js.map +1 -1
- package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.js.map +1 -1
- package/admin/plugins/fieldRenderers/file/index.d.ts +1 -1
- package/admin/plugins/fieldRenderers/longText/index.d.ts +1 -1
- package/admin/plugins/fieldRenderers/number/index.d.ts +1 -1
- package/admin/plugins/fieldRenderers/object/index.d.ts +1 -1
- package/admin/plugins/fieldRenderers/object/multipleObjects.js.map +1 -1
- package/admin/plugins/fieldRenderers/object/multipleObjectsAccordion.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedMultipleReferenceField.d.ts +2 -2
- package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedMultipleReferenceField.js +5 -3
- package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedMultipleReferenceField.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedSingleReferenceField.d.ts +2 -2
- package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedSingleReferenceField.js +1 -5
- package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedSingleReferenceField.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/Entries.js +4 -3
- package/admin/plugins/fieldRenderers/ref/advanced/components/Entries.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/NewReferencedEntryDialog.js +3 -3
- package/admin/plugins/fieldRenderers/ref/advanced/components/NewReferencedEntryDialog.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/ReferencesDialog.d.ts +2 -2
- package/admin/plugins/fieldRenderers/ref/advanced/components/ReferencesDialog.js +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/ReferencesDialog.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/options/OptionsModelList.js +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/options/OptionsModelList.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/hooks/graphql.js +1 -5
- package/admin/plugins/fieldRenderers/ref/advanced/hooks/graphql.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/index.d.ts +1 -1
- package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.d.ts +2 -2
- package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js +3 -3
- package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/index.d.ts +1 -1
- package/admin/plugins/fieldRenderers/richText/index.d.ts +1 -1
- package/admin/plugins/fieldRenderers/text/index.d.ts +1 -1
- package/admin/plugins/fields/dynamicZone/AddTemplate.d.ts +3 -3
- package/admin/plugins/fields/dynamicZone/AddTemplate.js.map +1 -1
- package/admin/plugins/fields/dynamicZone/DynamicZone.d.ts +2 -2
- package/admin/plugins/fields/dynamicZone/DynamicZone.js.map +1 -1
- package/admin/plugins/fields/dynamicZone/DynamicZoneTemplate.d.ts +2 -2
- package/admin/plugins/fields/dynamicZone/DynamicZoneTemplate.js.map +1 -1
- package/admin/plugins/fields/dynamicZone/TemplateDialog.d.ts +2 -2
- package/admin/plugins/fields/dynamicZone/TemplateDialog.js.map +1 -1
- package/admin/plugins/fields/dynamicZone.d.ts +2 -2
- package/admin/plugins/fields/dynamicZone.js +1 -1
- package/admin/plugins/fields/dynamicZone.js.map +1 -1
- package/admin/plugins/fields/object.js +3 -0
- package/admin/plugins/fields/object.js.map +1 -1
- package/admin/plugins/index.d.ts +2 -2
- package/admin/plugins/routes.js +2 -1
- package/admin/plugins/routes.js.map +1 -1
- package/admin/views/contentEntries/ContentEntries.js +8 -57
- package/admin/views/contentEntries/ContentEntries.js.map +1 -1
- package/admin/views/contentEntries/ContentEntriesContainer.d.ts +4 -0
- package/admin/views/contentEntries/ContentEntriesContainer.js +65 -0
- package/admin/views/contentEntries/ContentEntriesContainer.js.map +1 -0
- package/admin/views/contentEntries/ContentEntriesContext.d.ts +1 -1
- package/admin/views/contentEntries/ContentEntriesContext.js +4 -4
- package/admin/views/contentEntries/ContentEntriesContext.js.map +1 -1
- package/admin/views/contentEntries/ContentEntriesList.js +2 -3
- package/admin/views/contentEntries/ContentEntriesList.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/ContentEntryContext.d.ts +1 -1
- package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js +4 -4
- package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js.map +1 -1
- package/admin/views/contentEntries/experiment/ContentEntriesViewConfig.d.ts +2 -0
- package/admin/views/contentEntries/experiment/ContentEntriesViewConfig.js +36 -39
- package/admin/views/contentEntries/experiment/ContentEntriesViewConfig.js.map +1 -1
- package/admin/views/contentEntries/hooks/index.d.ts +3 -0
- package/admin/views/contentEntries/hooks/index.js +38 -0
- package/admin/views/contentEntries/hooks/index.js.map +1 -0
- package/admin/views/contentEntries/hooks/useContentEntriesList.d.ts +1 -1
- package/admin/views/contentModels/ContentModelsDataList.js +3 -3
- package/admin/views/contentModels/ContentModelsDataList.js.map +1 -1
- package/allPlugins.d.ts +2 -2
- package/package.json +20 -20
- package/types/index.d.ts +29 -14
- package/types/index.js.map +1 -1
- package/admin/plugins/upgrades/5.19.0/UpgradeItemsInfo.d.ts +0 -7
- package/admin/plugins/upgrades/5.19.0/UpgradeItemsInfo.js +0 -65
- package/admin/plugins/upgrades/5.19.0/UpgradeItemsInfo.js.map +0 -1
- package/admin/plugins/upgrades/5.19.0/createCmsApolloClient.d.ts +0 -7
- package/admin/plugins/upgrades/5.19.0/createCmsApolloClient.js +0 -67
- package/admin/plugins/upgrades/5.19.0/createCmsApolloClient.js.map +0 -1
- package/admin/plugins/upgrades/5.19.0/createListEntriesQuery.d.ts +0 -2
- package/admin/plugins/upgrades/5.19.0/createListEntriesQuery.js +0 -26
- package/admin/plugins/upgrades/5.19.0/createListEntriesQuery.js.map +0 -1
- package/admin/plugins/upgrades/5.19.0/createListModelsQuery.d.ts +0 -1
- package/admin/plugins/upgrades/5.19.0/createListModelsQuery.js +0 -20
- package/admin/plugins/upgrades/5.19.0/createListModelsQuery.js.map +0 -1
- package/admin/plugins/upgrades/5.19.0/createRepublishMutation.d.ts +0 -2
- package/admin/plugins/upgrades/5.19.0/createRepublishMutation.js +0 -23
- package/admin/plugins/upgrades/5.19.0/createRepublishMutation.js.map +0 -1
- package/admin/plugins/upgrades/5.19.0/createUpgradeMutation.d.ts +0 -1
- package/admin/plugins/upgrades/5.19.0/createUpgradeMutation.js +0 -20
- package/admin/plugins/upgrades/5.19.0/createUpgradeMutation.js.map +0 -1
- package/admin/plugins/upgrades/5.19.0/fetchModelEntries.d.ts +0 -7
- package/admin/plugins/upgrades/5.19.0/fetchModelEntries.js +0 -137
- package/admin/plugins/upgrades/5.19.0/fetchModelEntries.js.map +0 -1
- package/admin/plugins/upgrades/5.19.0/types.d.ts +0 -47
- package/admin/plugins/upgrades/5.19.0/types.js +0 -5
- package/admin/plugins/upgrades/5.19.0/types.js.map +0 -1
- package/admin/plugins/upgrades/5.33.0/locales.d.ts +0 -7
- package/admin/plugins/upgrades/5.33.0/locales.js +0 -65
- package/admin/plugins/upgrades/5.33.0/locales.js.map +0 -1
- package/admin/plugins/upgrades/5.33.0/types.d.ts +0 -7
- package/admin/plugins/upgrades/5.33.0/types.js +0 -5
- package/admin/plugins/upgrades/5.33.0/types.js.map +0 -1
- package/admin/plugins/upgrades/5.33.0/upgrade.d.ts +0 -8
- package/admin/plugins/upgrades/5.33.0/upgrade.js +0 -81
- package/admin/plugins/upgrades/5.33.0/upgrade.js.map +0 -1
- package/admin/plugins/upgrades/v5.0.0.d.ts +0 -5
- package/admin/plugins/upgrades/v5.0.0.js +0 -111
- package/admin/plugins/upgrades/v5.0.0.js.map +0 -1
- package/admin/plugins/upgrades/v5.19.0.d.ts +0 -5
- package/admin/plugins/upgrades/v5.19.0.js +0 -684
- package/admin/plugins/upgrades/v5.19.0.js.map +0 -1
- package/admin/plugins/upgrades/v5.33.0.d.ts +0 -6
- package/admin/plugins/upgrades/v5.33.0.js +0 -191
- package/admin/plugins/upgrades/v5.33.0.js.map +0 -1
- package/admin/plugins/upgrades/v5.5.0.d.ts +0 -5
- package/admin/plugins/upgrades/v5.5.0.js +0 -111
- package/admin/plugins/upgrades/v5.5.0.js.map +0 -1
- package/admin/plugins/upgrades/v5.8.0.d.ts +0 -5
- package/admin/plugins/upgrades/v5.8.0.js +0 -111
- package/admin/plugins/upgrades/v5.8.0.js.map +0 -1
- package/admin/views/contentEntries/experiment/Property.d.ts +0 -34
- package/admin/views/contentEntries/experiment/Property.js +0 -200
- package/admin/views/contentEntries/experiment/Property.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CardContainer","styled","CardIcon","CardBody","CardTitle","Typography","CardDescription","CardButton","ButtonSecondary","TemplateCard","template","onTemplate","icon","name","description"],"sources":["TemplateCard.tsx"],"sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\n\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { CmsDynamicZoneTemplate } from \"~/types\";\nimport { ButtonSecondary } from \"@webiny/ui/Button\";\nimport { TemplateIcon } from \"~/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon\";\n\nconst CardContainer = styled.div`\n display: flex;\n flex-direction: column;\n width: 170px;\n height: 200px;\n margin: 5px;\n border: 1px solid var(--mdc-theme-background);\n`;\n\nconst CardIcon = styled.div`\n text-align: center;\n padding: 25px;\n font-size: 1.5rem;\n background-color: var(--mdc-theme-background);\n`;\n\nconst CardBody = styled.div`\n display: flex;\n flex-direction: column;\n flex: 1;\n padding: 10px;\n text-align: left;\n`;\n\nconst CardTitle = styled(Typography)`\n margin-bottom: 10px;\n`;\n\nconst CardDescription = styled(Typography)`\n text-overflow: ellipsis;\n margin-bottom: 10px;\n white-space: nowrap;\n overflow: hidden;\n`;\n\nconst CardButton = styled(ButtonSecondary)`\n font-size: 0.7rem;\n line-height: 100%;\n margin-top: auto;\n`;\n\ninterface TemplateCardProps {\n template: CmsDynamicZoneTemplate;\n onTemplate: (template: CmsDynamicZoneTemplate) => void;\n}\n\nexport const TemplateCard = ({ template, onTemplate }
|
|
1
|
+
{"version":3,"names":["CardContainer","styled","CardIcon","CardBody","CardTitle","Typography","CardDescription","CardButton","ButtonSecondary","TemplateCard","template","onTemplate","icon","name","description"],"sources":["TemplateCard.tsx"],"sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\n\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { CmsDynamicZoneTemplate } from \"~/types\";\nimport { ButtonSecondary } from \"@webiny/ui/Button\";\nimport { TemplateIcon } from \"~/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon\";\n\nconst CardContainer = styled.div`\n display: flex;\n flex-direction: column;\n width: 170px;\n height: 200px;\n margin: 5px;\n border: 1px solid var(--mdc-theme-background);\n`;\n\nconst CardIcon = styled.div`\n text-align: center;\n padding: 25px;\n font-size: 1.5rem;\n background-color: var(--mdc-theme-background);\n`;\n\nconst CardBody = styled.div`\n display: flex;\n flex-direction: column;\n flex: 1;\n padding: 10px;\n text-align: left;\n`;\n\nconst CardTitle = styled(Typography)`\n margin-bottom: 10px;\n`;\n\nconst CardDescription = styled(Typography)`\n text-overflow: ellipsis;\n margin-bottom: 10px;\n white-space: nowrap;\n overflow: hidden;\n`;\n\nconst CardButton = styled(ButtonSecondary)`\n font-size: 0.7rem;\n line-height: 100%;\n margin-top: auto;\n`;\n\ninterface TemplateCardProps {\n template: CmsDynamicZoneTemplate;\n onTemplate: (template: CmsDynamicZoneTemplate) => void;\n}\n\nexport const TemplateCard: React.VFC<TemplateCardProps> = ({ template, onTemplate }) => {\n return (\n <CardContainer>\n <CardIcon>\n <TemplateIcon icon={template.icon} />\n </CardIcon>\n <CardBody>\n <CardTitle tag={\"p\"} use={\"subtitle2\"}>\n {template.name}\n </CardTitle>\n <CardDescription tag={\"p\"} use={\"body2\"}>\n {template.description}\n </CardDescription>\n <CardButton onClick={() => onTemplate(template)}>+ Insert Template</CardButton>\n </CardBody>\n </CardContainer>\n );\n};\n"],"mappings":";;;;;;;AAAA;AACA;AAEA;AAEA;AACA;AAEA,IAAMA,aAAa,oBAAGC,eAAM;EAAA;EAAA;AAAA,0HAO3B;AAED,IAAMC,QAAQ,oBAAGD,eAAM;EAAA;EAAA;AAAA,mGAKtB;AAED,IAAME,QAAQ,oBAAGF,eAAM;EAAA;EAAA;AAAA,6EAMtB;AAED,IAAMG,SAAS,oBAAGH,eAAM,EAACI,sBAAU;EAAA;EAAA;AAAA,yBAElC;AAED,IAAMC,eAAe,oBAAGL,eAAM,EAACI,sBAAU;EAAA;EAAA;AAAA,mFAKxC;AAED,IAAME,UAAU,oBAAGN,eAAM,EAACO,uBAAe;EAAA;EAAA;AAAA,wDAIxC;AAOM,IAAMC,YAA0C,GAAG,SAA7CA,YAA0C,OAAiC;EAAA,IAA3BC,QAAQ,QAARA,QAAQ;IAAEC,UAAU,QAAVA,UAAU;EAC7E,oBACI,6BAAC,aAAa,qBACV,6BAAC,QAAQ,qBACL,6BAAC,0BAAY;IAAC,IAAI,EAAED,QAAQ,CAACE;EAAK,EAAG,CAC9B,eACX,6BAAC,QAAQ,qBACL,6BAAC,SAAS;IAAC,GAAG,EAAE,GAAI;IAAC,GAAG,EAAE;EAAY,GACjCF,QAAQ,CAACG,IAAI,CACN,eACZ,6BAAC,eAAe;IAAC,GAAG,EAAE,GAAI;IAAC,GAAG,EAAE;EAAQ,GACnCH,QAAQ,CAACI,WAAW,CACP,eAClB,6BAAC,UAAU;IAAC,OAAO,EAAE;MAAA,OAAMH,UAAU,CAACD,QAAQ,CAAC;IAAA;EAAC,GAAC,mBAAiB,CAAa,CACxE,CACC;AAExB,CAAC;AAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import React from "react";
|
|
2
2
|
import { CmsDynamicZoneTemplate } from "../../../../types";
|
|
3
3
|
interface TemplateGalleryProps {
|
|
4
4
|
onTemplate: (template: CmsDynamicZoneTemplate) => void;
|
|
5
5
|
onClose: () => void;
|
|
6
6
|
}
|
|
7
|
-
export declare const TemplateGallery:
|
|
7
|
+
export declare const TemplateGallery: React.VFC<TemplateGalleryProps>;
|
|
8
8
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["GalleryContainer","styled","GalleryCards","TemplateGallery","onTemplate","onClose","useModelField","field","templates","settings","map","template","id"],"sources":["TemplateGallery.tsx"],"sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\nimport { ReactComponent as CloseIcon } from \"@material-design-icons/svg/outlined/highlight_off.svg\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { CmsDynamicZoneTemplate } from \"~/types\";\nimport { useModelField } from \"~/admin/hooks\";\nimport { TemplateCard } from \"./TemplateCard\";\n\nconst GalleryContainer = styled.div``;\n\nconst GalleryCards = styled.div`\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n padding: 10px;\n`;\n\ninterface TemplateGalleryProps {\n onTemplate: (template: CmsDynamicZoneTemplate) => void;\n onClose: () => void;\n}\n\nexport const TemplateGallery = ({ onTemplate, onClose }
|
|
1
|
+
{"version":3,"names":["GalleryContainer","styled","GalleryCards","TemplateGallery","onTemplate","onClose","useModelField","field","templates","settings","map","template","id"],"sources":["TemplateGallery.tsx"],"sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\nimport { ReactComponent as CloseIcon } from \"@material-design-icons/svg/outlined/highlight_off.svg\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { CmsDynamicZoneTemplate } from \"~/types\";\nimport { useModelField } from \"~/admin/hooks\";\nimport { TemplateCard } from \"./TemplateCard\";\n\nconst GalleryContainer = styled.div``;\n\nconst GalleryCards = styled.div`\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n padding: 10px;\n`;\n\ninterface TemplateGalleryProps {\n onTemplate: (template: CmsDynamicZoneTemplate) => void;\n onClose: () => void;\n}\n\nexport const TemplateGallery: React.VFC<TemplateGalleryProps> = ({ onTemplate, onClose }) => {\n const { field } = useModelField();\n const templates = field.settings?.templates || [];\n\n return (\n <GalleryContainer>\n <GalleryCards>\n {templates.map(template => (\n <TemplateCard key={template.id} template={template} onTemplate={onTemplate} />\n ))}\n </GalleryCards>\n <IconButton onClick={onClose} icon={<CloseIcon />} />\n </GalleryContainer>\n );\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AAEA;AACA;AAEA,IAAMA,gBAAgB,oBAAGC,eAAM;EAAA;EAAA;AAAA,IAAM;AAErC,IAAMC,YAAY,oBAAGD,eAAM;EAAA;EAAA;AAAA,sEAK1B;AAOM,IAAME,eAAgD,GAAG,SAAnDA,eAAgD,OAAgC;EAAA;EAAA,IAA1BC,UAAU,QAAVA,UAAU;IAAEC,OAAO,QAAPA,OAAO;EAClF,qBAAkB,IAAAC,oBAAa,GAAE;IAAzBC,KAAK,kBAALA,KAAK;EACb,IAAMC,SAAS,GAAG,oBAAAD,KAAK,CAACE,QAAQ,oDAAd,gBAAgBD,SAAS,KAAI,EAAE;EAEjD,oBACI,6BAAC,gBAAgB,qBACb,6BAAC,YAAY,QACRA,SAAS,CAACE,GAAG,CAAC,UAAAC,QAAQ;IAAA,oBACnB,6BAAC,0BAAY;MAAC,GAAG,EAAEA,QAAQ,CAACC,EAAG;MAAC,QAAQ,EAAED,QAAS;MAAC,UAAU,EAAEP;IAAW,EAAG;EAAA,CACjF,CAAC,CACS,eACf,6BAAC,kBAAU;IAAC,OAAO,EAAEC,OAAQ;IAAC,IAAI,eAAE,6BAAC,6BAAS;EAAI,EAAG,CACtC;AAE3B,CAAC;AAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import React from "react";
|
|
2
2
|
interface TemplateIconProps {
|
|
3
3
|
icon: string;
|
|
4
4
|
}
|
|
5
|
-
export declare const TemplateIcon:
|
|
5
|
+
export declare const TemplateIcon: React.VFC<TemplateIconProps>;
|
|
6
6
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TemplateIcon","icon","faIcon","split","undefined"],"sources":["TemplateIcon.tsx"],"sourcesContent":["import React from \"react\";\nimport { FontAwesomeIcon, FontAwesomeIconProps } from \"@fortawesome/react-fontawesome\";\n\ninterface TemplateIconProps {\n icon: string;\n}\n\nexport const TemplateIcon = ({ icon }
|
|
1
|
+
{"version":3,"names":["TemplateIcon","icon","faIcon","split","undefined"],"sources":["TemplateIcon.tsx"],"sourcesContent":["import React from \"react\";\nimport { FontAwesomeIcon, FontAwesomeIconProps } from \"@fortawesome/react-fontawesome\";\n\ninterface TemplateIconProps {\n icon: string;\n}\n\nexport const TemplateIcon: React.VFC<TemplateIconProps> = ({ icon }) => {\n const faIcon = icon ? (icon.split(\"/\") as FontAwesomeIconProps[\"icon\"]) : undefined;\n\n return faIcon ? <FontAwesomeIcon icon={faIcon} /> : null;\n};\n"],"mappings":";;;;;;;AAAA;AACA;AAMO,IAAMA,YAA0C,GAAG,SAA7CA,YAA0C,OAAiB;EAAA,IAAXC,IAAI,QAAJA,IAAI;EAC7D,IAAMC,MAAM,GAAGD,IAAI,GAAIA,IAAI,CAACE,KAAK,CAAC,GAAG,CAAC,GAAoCC,SAAS;EAEnF,OAAOF,MAAM,gBAAG,6BAAC,iCAAe;IAAC,IAAI,EAAEA;EAAO,EAAG,GAAG,IAAI;AAC5D,CAAC;AAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["noBottomPadding","css","DynamicZoneContent","field","getBind","contentModel","isMultipleValues","multipleValues","Bind","Component","MultiValueDynamicZone","SingleValueDynamicZone","bind","validation","isValid","message","label","helpText","undefined","dynamicZoneFieldRenderer","type","name","renderer","rendererName","description","canUse","render","props"],"sources":["dynamicZoneRenderer.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport { Accordion, AccordionItem } from \"@webiny/ui/Accordion\";\nimport { CmsEditorFieldRendererPlugin,
|
|
1
|
+
{"version":3,"names":["noBottomPadding","css","DynamicZoneContent","field","getBind","contentModel","isMultipleValues","multipleValues","Bind","Component","MultiValueDynamicZone","SingleValueDynamicZone","bind","validation","isValid","message","label","helpText","undefined","dynamicZoneFieldRenderer","type","name","renderer","rendererName","description","canUse","render","props"],"sources":["dynamicZoneRenderer.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport { Accordion, AccordionItem } from \"@webiny/ui/Accordion\";\nimport { CmsEditorFieldRendererPlugin, CmsModelFieldRendererProps } from \"~/types\";\nimport { SingleValueDynamicZone } from \"./SingleValueDynamicZone\";\nimport { MultiValueDynamicZone } from \"./MultiValueDynamicZone\";\nimport { FormElementMessage } from \"@webiny/ui/FormElementMessage\";\n\nconst noBottomPadding = css`\n > .webiny-ui-accordion-item__content {\n padding-bottom: 0 !important;\n }\n`;\n\nconst DynamicZoneContent: React.VFC<CmsModelFieldRendererProps> = ({\n field,\n getBind,\n contentModel\n}) => {\n const isMultipleValues = field.multipleValues === true;\n const Bind = getBind();\n\n const Component = isMultipleValues ? MultiValueDynamicZone : SingleValueDynamicZone;\n\n return (\n <Bind>\n {bind => {\n const { isValid, message } = bind.validation;\n return (\n <>\n <Accordion>\n <AccordionItem\n title={field.label}\n description={field.helpText}\n className={isMultipleValues ? noBottomPadding : undefined}\n >\n <Component\n bind={bind}\n field={field}\n getBind={getBind}\n contentModel={contentModel}\n />\n </AccordionItem>\n </Accordion>\n {isValid === false && (\n <FormElementMessage error={true}>{message}</FormElementMessage>\n )}\n </>\n );\n }}\n </Bind>\n );\n};\n\nexport const dynamicZoneFieldRenderer: CmsEditorFieldRendererPlugin = {\n type: \"cms-editor-field-renderer\",\n name: \"cms-editor-field-renderer-dynamic-zone\",\n renderer: {\n rendererName: \"dynamicZone\",\n name: \"Dynamic Zone\",\n description: \"Renders a dynamic zone.\",\n canUse({ field }) {\n return field.type === \"dynamicZone\";\n },\n render(props) {\n return <DynamicZoneContent {...props} />;\n }\n }\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAEA;AACA;AACA;AAEA,IAAMA,eAAe,oBAAGC,YAAG,6FAI1B;AAED,IAAMC,kBAAyD,GAAG,SAA5DA,kBAAyD,OAIzD;EAAA,IAHFC,KAAK,QAALA,KAAK;IACLC,OAAO,QAAPA,OAAO;IACPC,YAAY,QAAZA,YAAY;EAEZ,IAAMC,gBAAgB,GAAGH,KAAK,CAACI,cAAc,KAAK,IAAI;EACtD,IAAMC,IAAI,GAAGJ,OAAO,EAAE;EAEtB,IAAMK,SAAS,GAAGH,gBAAgB,GAAGI,4CAAqB,GAAGC,8CAAsB;EAEnF,oBACI,6BAAC,IAAI,QACA,UAAAC,IAAI,EAAI;IACL,uBAA6BA,IAAI,CAACC,UAAU;MAApCC,OAAO,oBAAPA,OAAO;MAAEC,OAAO,oBAAPA,OAAO;IACxB,oBACI,yEACI,6BAAC,oBAAS,qBACN,6BAAC,wBAAa;MACV,KAAK,EAAEZ,KAAK,CAACa,KAAM;MACnB,WAAW,EAAEb,KAAK,CAACc,QAAS;MAC5B,SAAS,EAAEX,gBAAgB,GAAGN,eAAe,GAAGkB;IAAU,gBAE1D,6BAAC,SAAS;MACN,IAAI,EAAEN,IAAK;MACX,KAAK,EAAET,KAAM;MACb,OAAO,EAAEC,OAAQ;MACjB,YAAY,EAAEC;IAAa,EAC7B,CACU,CACR,EACXS,OAAO,KAAK,KAAK,iBACd,6BAAC,sCAAkB;MAAC,KAAK,EAAE;IAAK,GAAEC,OAAO,CAC5C,CACF;EAEX,CAAC,CACE;AAEf,CAAC;AAEM,IAAMI,wBAAsD,GAAG;EAClEC,IAAI,EAAE,2BAA2B;EACjCC,IAAI,EAAE,wCAAwC;EAC9CC,QAAQ,EAAE;IACNC,YAAY,EAAE,aAAa;IAC3BF,IAAI,EAAE,cAAc;IACpBG,WAAW,EAAE,yBAAyB;IACtCC,MAAM,yBAAY;MAAA,IAATtB,KAAK,SAALA,KAAK;MACV,OAAOA,KAAK,CAACiB,IAAI,KAAK,aAAa;IACvC,CAAC;IACDM,MAAM,kBAACC,KAAK,EAAE;MACV,oBAAO,6BAAC,kBAAkB,EAAKA,KAAK,CAAI;IAC5C;EACJ;AACJ,CAAC;AAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: import("../../../../types").
|
|
1
|
+
declare const _default: import("../../../../types").CmsModelFieldRendererPlugin[];
|
|
2
2
|
export default _default;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: import("../../../../types").
|
|
1
|
+
declare const _default: import("../../../../types").CmsModelFieldRendererPlugin[];
|
|
2
2
|
export default _default;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: import("../../../../types").
|
|
1
|
+
declare const _default: import("../../../../types").CmsModelFieldRendererPlugin[];
|
|
2
2
|
export default _default;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: import("../../../../types").
|
|
1
|
+
declare const _default: import("../../../../types").CmsModelFieldRendererPlugin[];
|
|
2
2
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["t","i18n","ns","Actions","setHighlightIndex","bind","index","field","moveValueDown","moveValueUp","onDown","useCallback","e","stopPropagation","map","generateAlphaNumericLowerCaseId","onUp","removeValue","ObjectsRenderer","props","useState","highlightMap","contentModel","value","dynamicSectionTitleStyle","label","length","helpText","dynamicSectionGridStyle","Bind","fieldsWrapperStyle","settings","fields","layout","fieldsGridStyle","plugin","type","name","renderer","rendererName","description","canUse","Boolean","multipleValues","render"],"sources":["multipleObjects.tsx"],"sourcesContent":["import React, { Dispatch, SetStateAction, useState, useCallback } from \"react\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { Cell } from \"@webiny/ui/Grid\";\nimport { FormElementMessage } from \"@webiny/ui/FormElementMessage\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport {\n BindComponentRenderProp,\n CmsEditorFieldRendererPlugin,\n
|
|
1
|
+
{"version":3,"names":["t","i18n","ns","Actions","setHighlightIndex","bind","index","field","moveValueDown","moveValueUp","onDown","useCallback","e","stopPropagation","map","generateAlphaNumericLowerCaseId","onUp","removeValue","ObjectsRenderer","props","useState","highlightMap","contentModel","value","dynamicSectionTitleStyle","label","length","helpText","dynamicSectionGridStyle","Bind","fieldsWrapperStyle","settings","fields","layout","fieldsGridStyle","plugin","type","name","renderer","rendererName","description","canUse","Boolean","multipleValues","render"],"sources":["multipleObjects.tsx"],"sourcesContent":["import React, { Dispatch, SetStateAction, useState, useCallback } from \"react\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { Cell } from \"@webiny/ui/Grid\";\nimport { FormElementMessage } from \"@webiny/ui/FormElementMessage\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport {\n BindComponentRenderProp,\n CmsEditorFieldRendererPlugin,\n CmsModelFieldRendererProps\n} from \"~/types\";\nimport DynamicSection from \"../DynamicSection\";\nimport { Fields } from \"~/admin/components/ContentEntryForm/Fields\";\nimport { ReactComponent as DeleteIcon } from \"~/admin/icons/close.svg\";\nimport { ReactComponent as ArrowUp } from \"./arrow_drop_up.svg\";\nimport { ReactComponent as ArrowDown } from \"./arrow_drop_down.svg\";\nimport Accordion from \"~/admin/plugins/fieldRenderers/Accordion\";\nimport {\n fieldsWrapperStyle,\n dynamicSectionTitleStyle,\n dynamicSectionGridStyle,\n fieldsGridStyle,\n ItemHighLight,\n ObjectItem\n} from \"./StyledComponents\";\nimport { generateAlphaNumericLowerCaseId } from \"@webiny/utils\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/text\");\n\ninterface ActionsProps {\n setHighlightIndex: Dispatch<SetStateAction<{ [key: number]: string }>>;\n index: number;\n bind: {\n index: BindComponentRenderProp;\n field: BindComponentRenderProp;\n };\n}\n\nconst Actions: React.FC<ActionsProps> = ({ setHighlightIndex, bind, index }) => {\n const { moveValueDown, moveValueUp } = bind.field;\n\n const onDown = useCallback(\n e => {\n e.stopPropagation();\n moveValueDown(index);\n setHighlightIndex(map => ({\n ...map,\n [index + 1]: generateAlphaNumericLowerCaseId(12)\n }));\n },\n [moveValueDown, index]\n );\n\n const onUp = useCallback(\n e => {\n e.stopPropagation();\n moveValueUp(index);\n setHighlightIndex(map => ({\n ...map,\n [index - 1]: generateAlphaNumericLowerCaseId(12)\n }));\n },\n [moveValueUp, index]\n );\n\n return index > 0 ? (\n <>\n <IconButton icon={<ArrowDown />} onClick={onDown} />\n <IconButton icon={<ArrowUp />} onClick={onUp} />\n <IconButton icon={<DeleteIcon />} onClick={() => bind.field.removeValue(index)} />\n </>\n ) : null;\n};\n\nconst ObjectsRenderer: React.FC<CmsModelFieldRendererProps> = props => {\n const [highlightMap, setHighlightIndex] = useState<{ [key: number]: string }>({});\n const { field, contentModel } = props;\n\n return (\n <DynamicSection\n {...props}\n emptyValue={{}}\n showLabel={false}\n renderTitle={value => (\n <Cell span={12} className={dynamicSectionTitleStyle}>\n <Typography use={\"headline5\"}>\n {`${field.label} ${value.length ? `(${value.length})` : \"\"}`}\n </Typography>\n {field.helpText && <FormElementMessage>{field.helpText}</FormElementMessage>}\n </Cell>\n )}\n gridClassName={dynamicSectionGridStyle}\n >\n {({ Bind, bind, index }) => (\n <ObjectItem>\n {highlightMap[index] ? <ItemHighLight key={highlightMap[index]} /> : null}\n <Accordion\n title={`${props.field.label} #${index + 1}`}\n action={\n <Actions\n setHighlightIndex={setHighlightIndex}\n index={index}\n bind={bind}\n />\n }\n // Open first Accordion by default\n defaultValue={index === 0}\n >\n <Cell span={12} className={fieldsWrapperStyle}>\n <Fields\n Bind={Bind}\n {...bind.index}\n contentModel={contentModel}\n fields={(field.settings || {}).fields || []}\n layout={(field.settings || {}).layout || []}\n gridClassName={fieldsGridStyle}\n />\n </Cell>\n </Accordion>\n </ObjectItem>\n )}\n </DynamicSection>\n );\n};\n\nconst plugin: CmsEditorFieldRendererPlugin = {\n type: \"cms-editor-field-renderer\",\n name: \"cms-editor-field-renderer-objects\",\n renderer: {\n rendererName: \"objects\",\n name: t`Inline Form`,\n description: t`Renders a set of fields.`,\n canUse({ field }) {\n return field.type === \"object\" && Boolean(field.multipleValues);\n },\n render(props) {\n return <ObjectsRenderer {...props} />;\n }\n }\n};\n\nexport default plugin;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["t","i18n","ns","Actions","setHighlightIndex","bind","index","field","moveValueDown","moveValueUp","onDown","useCallback","e","stopPropagation","map","generateAlphaNumericLowerCaseId","onUp","removeValue","ObjectsRenderer","props","useState","highlightMap","contentModel","label","helpText","dynamicSectionGridStyle","Bind","fieldsWrapperStyle","settings","fields","layout","fieldsGridStyle","plugin","type","name","renderer","rendererName","description","canUse","Boolean","multipleValues","render"],"sources":["multipleObjectsAccordion.tsx"],"sourcesContent":["import React, { Dispatch, SetStateAction, useState, useCallback } from \"react\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { Cell } from \"@webiny/ui/Grid\";\nimport { Accordion as RootAccordion, AccordionItem } from \"@webiny/ui/Accordion\";\nimport {\n BindComponentRenderProp,\n CmsEditorFieldRendererPlugin,\n
|
|
1
|
+
{"version":3,"names":["t","i18n","ns","Actions","setHighlightIndex","bind","index","field","moveValueDown","moveValueUp","onDown","useCallback","e","stopPropagation","map","generateAlphaNumericLowerCaseId","onUp","removeValue","ObjectsRenderer","props","useState","highlightMap","contentModel","label","helpText","dynamicSectionGridStyle","Bind","fieldsWrapperStyle","settings","fields","layout","fieldsGridStyle","plugin","type","name","renderer","rendererName","description","canUse","Boolean","multipleValues","render"],"sources":["multipleObjectsAccordion.tsx"],"sourcesContent":["import React, { Dispatch, SetStateAction, useState, useCallback } from \"react\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { Cell } from \"@webiny/ui/Grid\";\nimport { Accordion as RootAccordion, AccordionItem } from \"@webiny/ui/Accordion\";\nimport {\n BindComponentRenderProp,\n CmsEditorFieldRendererPlugin,\n CmsModelFieldRendererProps\n} from \"~/types\";\nimport DynamicSection from \"../DynamicSection\";\nimport { Fields } from \"~/admin/components/ContentEntryForm/Fields\";\nimport { ReactComponent as DeleteIcon } from \"~/admin/icons/close.svg\";\nimport { ReactComponent as ArrowUp } from \"./arrow_drop_up.svg\";\nimport { ReactComponent as ArrowDown } from \"./arrow_drop_down.svg\";\nimport Accordion from \"~/admin/plugins/fieldRenderers/Accordion\";\nimport {\n fieldsWrapperStyle,\n dynamicSectionGridStyle,\n fieldsGridStyle,\n ItemHighLight,\n ObjectItem\n} from \"./StyledComponents\";\nimport { generateAlphaNumericLowerCaseId } from \"@webiny/utils\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/text\");\n\ninterface ActionsProps {\n setHighlightIndex: Dispatch<SetStateAction<{ [key: number]: string }>>;\n index: number;\n bind: {\n index: BindComponentRenderProp;\n field: BindComponentRenderProp;\n };\n}\n\nconst Actions: React.FC<ActionsProps> = ({ setHighlightIndex, bind, index }) => {\n const { moveValueDown, moveValueUp } = bind.field;\n\n const onDown = useCallback(\n e => {\n e.stopPropagation();\n moveValueDown(index);\n setHighlightIndex(map => ({\n ...map,\n [index + 1]: generateAlphaNumericLowerCaseId(12)\n }));\n },\n [moveValueDown, index]\n );\n\n const onUp = useCallback(\n e => {\n e.stopPropagation();\n moveValueUp(index);\n setHighlightIndex(map => ({\n ...map,\n [index - 1]: generateAlphaNumericLowerCaseId(12)\n }));\n },\n [moveValueUp, index]\n );\n\n return index > 0 ? (\n <>\n <IconButton icon={<ArrowDown />} onClick={onDown} />\n <IconButton icon={<ArrowUp />} onClick={onUp} />\n <IconButton icon={<DeleteIcon />} onClick={() => bind.field.removeValue(index)} />\n </>\n ) : null;\n};\n\nconst ObjectsRenderer: React.FC<CmsModelFieldRendererProps> = props => {\n const [highlightMap, setHighlightIndex] = useState<{ [key: number]: string }>({});\n const { field, contentModel } = props;\n\n return (\n <RootAccordion>\n <AccordionItem title={field.label} description={field.helpText}>\n <DynamicSection\n {...props}\n emptyValue={{}}\n showLabel={false}\n gridClassName={dynamicSectionGridStyle}\n >\n {({ Bind, bind, index }) => (\n <ObjectItem>\n {highlightMap[index] ? (\n <ItemHighLight key={highlightMap[index]} />\n ) : null}\n <Accordion\n title={`${props.field.label} #${index + 1}`}\n action={\n <Actions\n setHighlightIndex={setHighlightIndex}\n index={index}\n bind={bind}\n />\n }\n // Open first Accordion by default\n defaultValue={index === 0}\n >\n <Cell span={12} className={fieldsWrapperStyle}>\n <Fields\n Bind={Bind}\n {...bind.index}\n contentModel={contentModel}\n fields={(field.settings || {}).fields || []}\n layout={(field.settings || {}).layout || []}\n gridClassName={fieldsGridStyle}\n />\n </Cell>\n </Accordion>\n </ObjectItem>\n )}\n </DynamicSection>\n </AccordionItem>\n </RootAccordion>\n );\n};\n\nconst plugin: CmsEditorFieldRendererPlugin = {\n type: \"cms-editor-field-renderer\",\n name: \"cms-editor-field-renderer-objects-accordion\",\n renderer: {\n rendererName: \"objects-accordion\",\n name: t`Accordion`,\n description: t`Renders fields within an accordion.`,\n canUse({ field }) {\n return field.type === \"object\" && Boolean(field.multipleValues);\n },\n render(props) {\n return <ObjectsRenderer {...props} />;\n }\n }\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AAOA;AAAgE;AAEhE,IAAMA,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,oCAAoC,CAAC;AAWvD,IAAMC,OAA+B,GAAG,SAAlCA,OAA+B,OAA2C;EAAA,IAArCC,iBAAiB,QAAjBA,iBAAiB;IAAEC,IAAI,QAAJA,IAAI;IAAEC,KAAK,QAALA,KAAK;EACrE,kBAAuCD,IAAI,CAACE,KAAK;IAAzCC,aAAa,eAAbA,aAAa;IAAEC,WAAW,eAAXA,WAAW;EAElC,IAAMC,MAAM,GAAG,IAAAC,kBAAW,EACtB,UAAAC,CAAC,EAAI;IACDA,CAAC,CAACC,eAAe,EAAE;IACnBL,aAAa,CAACF,KAAK,CAAC;IACpBF,iBAAiB,CAAC,UAAAU,GAAG;MAAA,mEACdA,GAAG,yCACLR,KAAK,GAAG,CAAC,EAAG,IAAAS,sCAA+B,EAAC,EAAE,CAAC;IAAA,CAClD,CAAC;EACP,CAAC,EACD,CAACP,aAAa,EAAEF,KAAK,CAAC,CACzB;EAED,IAAMU,IAAI,GAAG,IAAAL,kBAAW,EACpB,UAAAC,CAAC,EAAI;IACDA,CAAC,CAACC,eAAe,EAAE;IACnBJ,WAAW,CAACH,KAAK,CAAC;IAClBF,iBAAiB,CAAC,UAAAU,GAAG;MAAA,mEACdA,GAAG,yCACLR,KAAK,GAAG,CAAC,EAAG,IAAAS,sCAA+B,EAAC,EAAE,CAAC;IAAA,CAClD,CAAC;EACP,CAAC,EACD,CAACN,WAAW,EAAEH,KAAK,CAAC,CACvB;EAED,OAAOA,KAAK,GAAG,CAAC,gBACZ,yEACI,6BAAC,kBAAU;IAAC,IAAI,eAAE,6BAAC,+BAAS,OAAI;IAAC,OAAO,EAAEI;EAAO,EAAG,eACpD,6BAAC,kBAAU;IAAC,IAAI,eAAE,6BAAC,6BAAO,OAAI;IAAC,OAAO,EAAEM;EAAK,EAAG,eAChD,6BAAC,kBAAU;IAAC,IAAI,eAAE,6BAAC,qBAAU,OAAI;IAAC,OAAO,EAAE;MAAA,OAAMX,IAAI,CAACE,KAAK,CAACU,WAAW,CAACX,KAAK,CAAC;IAAA;EAAC,EAAG,CACnF,GACH,IAAI;AACZ,CAAC;AAED,IAAMY,eAAqD,GAAG,SAAxDA,eAAqD,CAAGC,KAAK,EAAI;EACnE,gBAA0C,IAAAC,eAAQ,EAA4B,CAAC,CAAC,CAAC;IAAA;IAA1EC,YAAY;IAAEjB,iBAAiB;EACtC,IAAQG,KAAK,GAAmBY,KAAK,CAA7BZ,KAAK;IAAEe,YAAY,GAAKH,KAAK,CAAtBG,YAAY;EAE3B,oBACI,6BAAC,oBAAa,qBACV,6BAAC,wBAAa;IAAC,KAAK,EAAEf,KAAK,CAACgB,KAAM;IAAC,WAAW,EAAEhB,KAAK,CAACiB;EAAS,gBAC3D,6BAAC,uBAAc,oBACPL,KAAK;IACT,UAAU,EAAE,CAAC,CAAE;IACf,SAAS,EAAE,KAAM;IACjB,aAAa,EAAEM;EAAwB,IAEtC;IAAA,IAAGC,IAAI,SAAJA,IAAI;MAAErB,IAAI,SAAJA,IAAI;MAAEC,KAAK,SAALA,KAAK;IAAA,oBACjB,6BAAC,4BAAU,QACNe,YAAY,CAACf,KAAK,CAAC,gBAChB,6BAAC,+BAAa;MAAC,GAAG,EAAEe,YAAY,CAACf,KAAK;IAAE,EAAG,GAC3C,IAAI,eACR,6BAAC,mBAAS;MACN,KAAK,YAAKa,KAAK,CAACZ,KAAK,CAACgB,KAAK,eAAKjB,KAAK,GAAG,CAAC,CAAG;MAC5C,MAAM,eACF,6BAAC,OAAO;QACJ,iBAAiB,EAAEF,iBAAkB;QACrC,KAAK,EAAEE,KAAM;QACb,IAAI,EAAED;MAAK;MAGnB;MAAA;MACA,YAAY,EAAEC,KAAK,KAAK;IAAE,gBAE1B,6BAAC,UAAI;MAAC,IAAI,EAAE,EAAG;MAAC,SAAS,EAAEqB;IAAmB,gBAC1C,6BAAC,cAAM;MACH,IAAI,EAAED;IAAK,GACPrB,IAAI,CAACC,KAAK;MACd,YAAY,EAAEgB,YAAa;MAC3B,MAAM,EAAE,CAACf,KAAK,CAACqB,QAAQ,IAAI,CAAC,CAAC,EAAEC,MAAM,IAAI,EAAG;MAC5C,MAAM,EAAE,CAACtB,KAAK,CAACqB,QAAQ,IAAI,CAAC,CAAC,EAAEE,MAAM,IAAI,EAAG;MAC5C,aAAa,EAAEC;IAAgB,GACjC,CACC,CACC,CACH;EAAA,CAChB,CACY,CACL,CACJ;AAExB,CAAC;AAED,IAAMC,MAAoC,GAAG;EACzCC,IAAI,EAAE,2BAA2B;EACjCC,IAAI,EAAE,6CAA6C;EACnDC,QAAQ,EAAE;IACNC,YAAY,EAAE,mBAAmB;IACjCF,IAAI,EAAElC,CAAC,4FAAW;IAClBqC,WAAW,EAAErC,CAAC,wHAAqC;IACnDsC,MAAM,yBAAY;MAAA,IAAT/B,KAAK,SAALA,KAAK;MACV,OAAOA,KAAK,CAAC0B,IAAI,KAAK,QAAQ,IAAIM,OAAO,CAAChC,KAAK,CAACiC,cAAc,CAAC;IACnE,CAAC;IACDC,MAAM,kBAACtB,KAAK,EAAE;MACV,oBAAO,6BAAC,eAAe,EAAKA,KAAK,CAAI;IACzC;EACJ;AACJ,CAAC;AAAC,eAEaa,MAAM;AAAA"}
|
package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedMultipleReferenceField.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { BindComponentRenderProp,
|
|
2
|
+
import { BindComponentRenderProp, CmsModelFieldRendererProps } from "../../../../../../types";
|
|
3
3
|
import { CmsReferenceValue } from "../../components/types";
|
|
4
|
-
interface Props extends
|
|
4
|
+
interface Props extends CmsModelFieldRendererProps {
|
|
5
5
|
bind: BindComponentRenderProp<CmsReferenceValue[] | undefined | null>;
|
|
6
6
|
}
|
|
7
7
|
export declare const AdvancedMultipleReferenceField: React.VFC<Props>;
|
package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedMultipleReferenceField.js
CHANGED
|
@@ -66,9 +66,11 @@ var Container = /*#__PURE__*/(0, _styled.default)("div", {
|
|
|
66
66
|
margin: 0
|
|
67
67
|
}),
|
|
68
68
|
"&.single-entry": {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
69
|
+
"> .entries": {
|
|
70
|
+
height: "auto",
|
|
71
|
+
" > div > div": {
|
|
72
|
+
position: "relative !important"
|
|
73
|
+
}
|
|
72
74
|
}
|
|
73
75
|
}
|
|
74
76
|
});
|
package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedMultipleReferenceField.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FieldLabel","styled","fontSize","fontWeight","borderBottom","marginBottom","paddingBottom","display","justifyContent","OptionsContainer","borderTop","borderRight","backgroundColor","marginLeft","marginRight","Container","border","paddingLeft","width","boxSizing","position","padding","borderLeft","margin","height","FieldName","RecordCount","color","lineHeight","alignSelf","getRecordCountMessage","count","AdvancedMultipleReferenceField","props","bind","field","useSnackbar","showSnackbar","values","useMemo","value","useState","linkEntryDialogModel","setLinkEntryDialogModel","newEntryDialogModel","setNewEntryDialogModel","loadedModels","setLoadedModels","useQuery","GQL","LIST_CONTENT_MODELS","data","loadingModels","loading","useEffect","listContentModels","error","message","onNewRecord","useCallback","modelId","model","find","console","log","onNewEntryDialogClose","onExistingRecord","onLinkEntryDialogClose","useReferences","perPage","entries","loadingEntries","loadMore","onRemove","id","Array","isArray","parseIdentifier","entryId","onChange","filter","valueEntryId","models","settings","reduce","collection","ref","push","storeValues","onNewEntryCreate","concat","onMoveUp","index","toTop","length","arr","splice","moveValueUp","onMoveDown","toBottom","moveValueDown","label","entry","isFirst","isLast","undefined"],"sources":["AdvancedMultipleReferenceField.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport styled from \"@emotion/styled\";\nimport * as GQL from \"~/admin/viewsGraphql\";\nimport {\n BindComponentRenderProp,\n CmsEditorContentEntry,\n CmsEditorFieldRendererProps,\n CmsModel\n} from \"~/types\";\nimport { Options } from \"./Options\";\nimport { useReferences } from \"../hooks/useReferences\";\nimport { Entry } from \"./Entry\";\nimport { ReferencesDialog } from \"./ReferencesDialog\";\nimport { useQuery } from \"~/admin/hooks\";\nimport { ListCmsModelsQueryResponse } from \"~/admin/viewsGraphql\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { CmsReferenceValue } from \"~/admin/plugins/fieldRenderers/ref/components/types\";\nimport { AbsoluteLoader as Loader } from \"./Loader\";\nimport { NewReferencedEntryDialog } from \"../components/NewReferencedEntryDialog\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { Entries } from \"./Entries\";\n\nconst FieldLabel = styled(\"h3\")({\n fontSize: 24,\n fontWeight: \"normal\",\n borderBottom: \"1px solid var(--mdc-theme-background)\",\n marginBottom: \"20px\",\n paddingBottom: \"5px\",\n display: \"flex\",\n justifyContent: \"space-between\"\n});\n\nconst OptionsContainer: any = styled(\"div\")({\n borderTop: \"1px solid var(--mdc-theme-on-background)\",\n borderRight: \"1px solid var(--mdc-theme-surface)\",\n backgroundColor: \"var(--mdc-theme-surface)\",\n marginLeft: \"-21px\",\n marginBottom: \"-21px\",\n marginRight: \"-1px\"\n});\n\nconst Container = styled(\"div\")({\n border: \"1px solid var(--mdc-theme-on-background)\",\n paddingLeft: \"10px\",\n width: \"100%\",\n boxSizing: \"border-box\",\n position: \"relative\",\n padding: \"20px 0 20px 20px\",\n backgroundColor: \"var(--mdc-theme-background)\",\n \"&.no-entries\": {\n backgroundColor: \"var(--mdc-theme-surface)\",\n border: \"none\",\n borderLeft: \"3px solid var(--mdc-theme-background)\",\n padding: 0,\n paddingLeft: 10,\n [OptionsContainer]: {\n border: \"none\",\n margin: 0\n }\n },\n \"&.single-entry\": {\n height: 295,\n \">div\": {\n height: 270\n }\n }\n});\n\nconst FieldName = styled(\"span\")({});\nconst RecordCount = styled(\"span\")({\n color: \"var(--mdc-theme-text-secondary-on-background)\",\n fontSize: \"0.6em\",\n lineHeight: \"100%\",\n alignSelf: \"center\"\n});\n\nconst getRecordCountMessage = (count: number) => {\n switch (count) {\n case 0:\n return \"no records selected\";\n case 1:\n return \"1 record selected\";\n default:\n return `${count} records selected`;\n }\n};\n\ninterface Props extends CmsEditorFieldRendererProps {\n bind: BindComponentRenderProp<CmsReferenceValue[] | undefined | null>;\n}\n\nexport const AdvancedMultipleReferenceField: React.VFC<Props> = props => {\n const { bind, field } = props;\n const { showSnackbar } = useSnackbar();\n\n const values = useMemo(() => {\n return bind.value || [];\n }, [bind.value]);\n\n const [linkEntryDialogModel, setLinkEntryDialogModel] = useState<CmsModel | null>(null);\n const [newEntryDialogModel, setNewEntryDialogModel] = useState<CmsModel | null>(null);\n\n const [loadedModels, setLoadedModels] = useState<CmsModel[]>([]);\n\n const { data, loading: loadingModels } = useQuery<ListCmsModelsQueryResponse>(\n GQL.LIST_CONTENT_MODELS\n );\n\n useEffect(() => {\n if (loadingModels || !data?.listContentModels?.data) {\n return;\n } else if (data.listContentModels.error) {\n setLoadedModels([]);\n showSnackbar(data.listContentModels.error.message);\n return;\n }\n setLoadedModels(data.listContentModels.data);\n }, [data]);\n\n const onNewRecord = useCallback(\n (modelId: string) => {\n const model = loadedModels.find(model => model.modelId === modelId);\n if (!model) {\n console.log(`Cannot find model by modelId \"${modelId}\".`);\n return;\n }\n setNewEntryDialogModel(model);\n },\n [loadedModels, linkEntryDialogModel]\n );\n\n const onNewEntryDialogClose = useCallback(() => {\n setNewEntryDialogModel(null);\n }, [linkEntryDialogModel]);\n\n const onExistingRecord = useCallback(\n (modelId: string) => {\n const model = loadedModels.find(model => model.modelId === modelId);\n if (!model) {\n console.log(`Cannot find model by modelId \"${modelId}\".`);\n return;\n }\n setLinkEntryDialogModel(model);\n },\n [loadedModels, linkEntryDialogModel]\n );\n\n const onLinkEntryDialogClose = useCallback(() => {\n setLinkEntryDialogModel(null);\n }, []);\n\n const {\n entries,\n loading: loadingEntries,\n loadMore\n } = useReferences({\n values,\n perPage: 10\n });\n\n const onRemove = useCallback(\n (id: string) => {\n if (!values || !Array.isArray(values)) {\n return;\n }\n const { id: entryId } = parseIdentifier(id);\n bind.onChange(\n values.filter(value => {\n const { id: valueEntryId } = parseIdentifier(value.id);\n return valueEntryId !== entryId;\n })\n );\n },\n [entries, values]\n );\n\n const models = useMemo(() => {\n if (!loadedModels || !field.settings?.models || !Array.isArray(field.settings.models)) {\n return [];\n }\n\n return field.settings.models.reduce<CmsModel[]>((collection, ref) => {\n const model = loadedModels.find(model => model.modelId === ref.modelId);\n if (!model) {\n return collection;\n }\n collection.push(model);\n\n return collection;\n }, []);\n }, [loadedModels, entries]);\n\n const storeValues = useCallback(\n (values: CmsReferenceValue[]) => {\n bind.onChange(values);\n return;\n },\n [values]\n );\n\n const onNewEntryCreate = useCallback(\n (data: Partial<CmsEditorContentEntry> | null) => {\n if (!data) {\n console.log(\n `Could not store new entry to the reference field. Missing whole entry.`\n );\n return;\n } else if (!data.id) {\n console.log(\n `Could not store new entry to the reference field. Missing \"id\" value.`\n );\n return;\n } else if (!data.modelId) {\n console.log(\n `Could not store new entry to the reference field. Missing \"modelId\" value.`\n );\n return;\n }\n storeValues(\n values.concat([\n {\n id: data.id,\n modelId: data.modelId\n }\n ])\n );\n },\n [storeValues]\n );\n\n const onMoveUp = useCallback(\n (index: number, toTop?: boolean) => {\n if (values.length === 0) {\n return;\n } else if (toTop) {\n const arr = values.splice(index, 1);\n bind.onChange(arr.concat(values));\n return;\n }\n bind.moveValueUp(index);\n },\n [values]\n );\n const onMoveDown = useCallback(\n (index: number, toBottom?: boolean) => {\n if (values.length === 0) {\n return;\n } else if (toBottom === true) {\n const arr = values.splice(index, 1);\n bind.onChange(values.concat(arr));\n return;\n }\n bind.moveValueDown(index);\n },\n [values]\n );\n\n const loading = loadingEntries || loadingModels;\n\n const message = getRecordCountMessage(values.length);\n\n return (\n <>\n <FieldLabel>\n <FieldName>{field.label}</FieldName>\n <RecordCount>({message})</RecordCount>\n </FieldLabel>\n <Container\n className={\n (entries.length < 1 ? \"no-entries\" : \"has-entries\") +\n (entries.length == 1 ? \" single-entry\" : \"\")\n }\n >\n {loading && <Loader />}\n <Entries entries={entries} loadMore={loadMore}>\n {(entry, index) => {\n const isFirst = index === 0;\n const isLast = index >= values.length - 1;\n const model = loadedModels.find(\n model => model.modelId === entry.model.modelId\n );\n if (!model) {\n return null;\n }\n return (\n <Entry\n model={model}\n placement=\"multiRef\"\n key={`reference-entry-${entry.id}`}\n index={index}\n entry={entry}\n onRemove={onRemove}\n onMoveUp={!isFirst ? onMoveUp : undefined}\n onMoveDown={!isLast ? onMoveDown : undefined}\n />\n );\n }}\n </Entries>\n\n <OptionsContainer>\n <Options\n models={models}\n onNewRecord={onNewRecord}\n onLinkExistingRecord={onExistingRecord}\n />\n\n {newEntryDialogModel && (\n <NewReferencedEntryDialog\n model={newEntryDialogModel}\n onClose={onNewEntryDialogClose}\n onChange={onNewEntryCreate}\n />\n )}\n\n {linkEntryDialogModel && (\n <ReferencesDialog\n {...props}\n multiple={true}\n values={values}\n contentModel={linkEntryDialogModel}\n storeValues={storeValues}\n onDialogClose={onLinkEntryDialogClose}\n />\n )}\n </OptionsContainer>\n </Container>\n </>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["FieldLabel","styled","fontSize","fontWeight","borderBottom","marginBottom","paddingBottom","display","justifyContent","OptionsContainer","borderTop","borderRight","backgroundColor","marginLeft","marginRight","Container","border","paddingLeft","width","boxSizing","position","padding","borderLeft","margin","height","FieldName","RecordCount","color","lineHeight","alignSelf","getRecordCountMessage","count","AdvancedMultipleReferenceField","props","bind","field","useSnackbar","showSnackbar","values","useMemo","value","useState","linkEntryDialogModel","setLinkEntryDialogModel","newEntryDialogModel","setNewEntryDialogModel","loadedModels","setLoadedModels","useQuery","GQL","LIST_CONTENT_MODELS","data","loadingModels","loading","useEffect","listContentModels","error","message","onNewRecord","useCallback","modelId","model","find","console","log","onNewEntryDialogClose","onExistingRecord","onLinkEntryDialogClose","useReferences","perPage","entries","loadingEntries","loadMore","onRemove","id","Array","isArray","parseIdentifier","entryId","onChange","filter","valueEntryId","models","settings","reduce","collection","ref","push","storeValues","onNewEntryCreate","concat","onMoveUp","index","toTop","length","arr","splice","moveValueUp","onMoveDown","toBottom","moveValueDown","label","entry","isFirst","isLast","undefined"],"sources":["AdvancedMultipleReferenceField.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport styled from \"@emotion/styled\";\nimport * as GQL from \"~/admin/viewsGraphql\";\nimport {\n BindComponentRenderProp,\n CmsEditorContentEntry,\n CmsModelFieldRendererProps,\n CmsModel\n} from \"~/types\";\nimport { Options } from \"./Options\";\nimport { useReferences } from \"../hooks/useReferences\";\nimport { Entry } from \"./Entry\";\nimport { ReferencesDialog } from \"./ReferencesDialog\";\nimport { useQuery } from \"~/admin/hooks\";\nimport { ListCmsModelsQueryResponse } from \"~/admin/viewsGraphql\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { CmsReferenceValue } from \"~/admin/plugins/fieldRenderers/ref/components/types\";\nimport { AbsoluteLoader as Loader } from \"./Loader\";\nimport { NewReferencedEntryDialog } from \"../components/NewReferencedEntryDialog\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { Entries } from \"./Entries\";\n\nconst FieldLabel = styled(\"h3\")({\n fontSize: 24,\n fontWeight: \"normal\",\n borderBottom: \"1px solid var(--mdc-theme-background)\",\n marginBottom: \"20px\",\n paddingBottom: \"5px\",\n display: \"flex\",\n justifyContent: \"space-between\"\n});\n\nconst OptionsContainer: any = styled(\"div\")({\n borderTop: \"1px solid var(--mdc-theme-on-background)\",\n borderRight: \"1px solid var(--mdc-theme-surface)\",\n backgroundColor: \"var(--mdc-theme-surface)\",\n marginLeft: \"-21px\",\n marginBottom: \"-21px\",\n marginRight: \"-1px\"\n});\n\nconst Container = styled(\"div\")({\n border: \"1px solid var(--mdc-theme-on-background)\",\n paddingLeft: \"10px\",\n width: \"100%\",\n boxSizing: \"border-box\",\n position: \"relative\",\n padding: \"20px 0 20px 20px\",\n backgroundColor: \"var(--mdc-theme-background)\",\n \"&.no-entries\": {\n backgroundColor: \"var(--mdc-theme-surface)\",\n border: \"none\",\n borderLeft: \"3px solid var(--mdc-theme-background)\",\n padding: 0,\n paddingLeft: 10,\n [OptionsContainer]: {\n border: \"none\",\n margin: 0\n }\n },\n \"&.single-entry\": {\n \"> .entries\": {\n height: \"auto\",\n \" > div > div\": {\n position: \"relative !important\" as any\n }\n }\n }\n});\n\nconst FieldName = styled(\"span\")({});\nconst RecordCount = styled(\"span\")({\n color: \"var(--mdc-theme-text-secondary-on-background)\",\n fontSize: \"0.6em\",\n lineHeight: \"100%\",\n alignSelf: \"center\"\n});\n\nconst getRecordCountMessage = (count: number) => {\n switch (count) {\n case 0:\n return \"no records selected\";\n case 1:\n return \"1 record selected\";\n default:\n return `${count} records selected`;\n }\n};\n\ninterface Props extends CmsModelFieldRendererProps {\n bind: BindComponentRenderProp<CmsReferenceValue[] | undefined | null>;\n}\n\nexport const AdvancedMultipleReferenceField: React.VFC<Props> = props => {\n const { bind, field } = props;\n const { showSnackbar } = useSnackbar();\n\n const values = useMemo(() => {\n return bind.value || [];\n }, [bind.value]);\n\n const [linkEntryDialogModel, setLinkEntryDialogModel] = useState<CmsModel | null>(null);\n const [newEntryDialogModel, setNewEntryDialogModel] = useState<CmsModel | null>(null);\n\n const [loadedModels, setLoadedModels] = useState<CmsModel[]>([]);\n\n const { data, loading: loadingModels } = useQuery<ListCmsModelsQueryResponse>(\n GQL.LIST_CONTENT_MODELS\n );\n\n useEffect(() => {\n if (loadingModels || !data?.listContentModels?.data) {\n return;\n } else if (data.listContentModels.error) {\n setLoadedModels([]);\n showSnackbar(data.listContentModels.error.message);\n return;\n }\n setLoadedModels(data.listContentModels.data);\n }, [data]);\n\n const onNewRecord = useCallback(\n (modelId: string) => {\n const model = loadedModels.find(model => model.modelId === modelId);\n if (!model) {\n console.log(`Cannot find model by modelId \"${modelId}\".`);\n return;\n }\n setNewEntryDialogModel(model);\n },\n [loadedModels, linkEntryDialogModel]\n );\n\n const onNewEntryDialogClose = useCallback(() => {\n setNewEntryDialogModel(null);\n }, [linkEntryDialogModel]);\n\n const onExistingRecord = useCallback(\n (modelId: string) => {\n const model = loadedModels.find(model => model.modelId === modelId);\n if (!model) {\n console.log(`Cannot find model by modelId \"${modelId}\".`);\n return;\n }\n setLinkEntryDialogModel(model);\n },\n [loadedModels, linkEntryDialogModel]\n );\n\n const onLinkEntryDialogClose = useCallback(() => {\n setLinkEntryDialogModel(null);\n }, []);\n\n const {\n entries,\n loading: loadingEntries,\n loadMore\n } = useReferences({\n values,\n perPage: 10\n });\n\n const onRemove = useCallback(\n (id: string) => {\n if (!values || !Array.isArray(values)) {\n return;\n }\n const { id: entryId } = parseIdentifier(id);\n bind.onChange(\n values.filter(value => {\n const { id: valueEntryId } = parseIdentifier(value.id);\n return valueEntryId !== entryId;\n })\n );\n },\n [entries, values]\n );\n\n const models = useMemo(() => {\n if (!loadedModels || !field.settings?.models || !Array.isArray(field.settings.models)) {\n return [];\n }\n\n return field.settings.models.reduce<CmsModel[]>((collection, ref) => {\n const model = loadedModels.find(model => model.modelId === ref.modelId);\n if (!model) {\n return collection;\n }\n collection.push(model);\n\n return collection;\n }, []);\n }, [loadedModels, entries]);\n\n const storeValues = useCallback(\n (values: CmsReferenceValue[]) => {\n bind.onChange(values);\n return;\n },\n [values]\n );\n\n const onNewEntryCreate = useCallback(\n (data: Partial<CmsEditorContentEntry> | null) => {\n if (!data) {\n console.log(\n `Could not store new entry to the reference field. Missing whole entry.`\n );\n return;\n } else if (!data.id) {\n console.log(\n `Could not store new entry to the reference field. Missing \"id\" value.`\n );\n return;\n } else if (!data.modelId) {\n console.log(\n `Could not store new entry to the reference field. Missing \"modelId\" value.`\n );\n return;\n }\n storeValues(\n values.concat([\n {\n id: data.id,\n modelId: data.modelId\n }\n ])\n );\n },\n [storeValues]\n );\n\n const onMoveUp = useCallback(\n (index: number, toTop?: boolean) => {\n if (values.length === 0) {\n return;\n } else if (toTop) {\n const arr = values.splice(index, 1);\n bind.onChange(arr.concat(values));\n return;\n }\n bind.moveValueUp(index);\n },\n [values]\n );\n const onMoveDown = useCallback(\n (index: number, toBottom?: boolean) => {\n if (values.length === 0) {\n return;\n } else if (toBottom === true) {\n const arr = values.splice(index, 1);\n bind.onChange(values.concat(arr));\n return;\n }\n bind.moveValueDown(index);\n },\n [values]\n );\n\n const loading = loadingEntries || loadingModels;\n\n const message = getRecordCountMessage(values.length);\n\n return (\n <>\n <FieldLabel>\n <FieldName>{field.label}</FieldName>\n <RecordCount>({message})</RecordCount>\n </FieldLabel>\n <Container\n className={\n (entries.length < 1 ? \"no-entries\" : \"has-entries\") +\n (entries.length == 1 ? \" single-entry\" : \"\")\n }\n >\n {loading && <Loader />}\n <Entries entries={entries} loadMore={loadMore}>\n {(entry, index) => {\n const isFirst = index === 0;\n const isLast = index >= values.length - 1;\n const model = loadedModels.find(\n model => model.modelId === entry.model.modelId\n );\n if (!model) {\n return null;\n }\n return (\n <Entry\n model={model}\n placement=\"multiRef\"\n key={`reference-entry-${entry.id}`}\n index={index}\n entry={entry}\n onRemove={onRemove}\n onMoveUp={!isFirst ? onMoveUp : undefined}\n onMoveDown={!isLast ? onMoveDown : undefined}\n />\n );\n }}\n </Entries>\n\n <OptionsContainer>\n <Options\n models={models}\n onNewRecord={onNewRecord}\n onLinkExistingRecord={onExistingRecord}\n />\n\n {newEntryDialogModel && (\n <NewReferencedEntryDialog\n model={newEntryDialogModel}\n onClose={onNewEntryDialogClose}\n onChange={onNewEntryCreate}\n />\n )}\n\n {linkEntryDialogModel && (\n <ReferencesDialog\n {...props}\n multiple={true}\n values={values}\n contentModel={linkEntryDialogModel}\n storeValues={storeValues}\n onDialogClose={onLinkEntryDialogClose}\n />\n )}\n </OptionsContainer>\n </Container>\n </>\n );\n};\n"],"mappings":"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"}
|
package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedSingleReferenceField.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { BindComponentRenderProp,
|
|
2
|
+
import { BindComponentRenderProp, CmsModelFieldRendererProps } from "../../../../../../types";
|
|
3
3
|
import { CmsReferenceValue } from "../../components/types";
|
|
4
|
-
interface Props extends
|
|
4
|
+
interface Props extends CmsModelFieldRendererProps {
|
|
5
5
|
bind: BindComponentRenderProp<CmsReferenceValue | null>;
|
|
6
6
|
}
|
|
7
7
|
export declare const AdvancedSingleReferenceField: React.VFC<Props>;
|
package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedSingleReferenceField.js
CHANGED
|
@@ -21,11 +21,7 @@ var _NewReferencedEntryDialog = require("./NewReferencedEntryDialog");
|
|
|
21
21
|
var Container = /*#__PURE__*/(0, _styled.default)("div", {
|
|
22
22
|
target: "e38futg0",
|
|
23
23
|
label: "Container"
|
|
24
|
-
})({
|
|
25
|
-
borderLeft: "3px solid var(--mdc-theme-background)"
|
|
26
|
-
//paddingLeft: "10px"
|
|
27
|
-
});
|
|
28
|
-
|
|
24
|
+
})({});
|
|
29
25
|
var FieldLabel = /*#__PURE__*/(0, _styled.default)("h3", {
|
|
30
26
|
target: "e38futg1",
|
|
31
27
|
label: "FieldLabel"
|
package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedSingleReferenceField.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Container","styled","borderLeft","FieldLabel","fontSize","fontWeight","borderBottom","marginBottom","paddingBottom","AdvancedSingleReferenceField","props","bind","field","useSnackbar","showSnackbar","useState","linkEntryDialogModel","setLinkEntryDialogModel","newEntryDialogModel","setNewEntryDialogModel","loadedModels","setLoadedModels","useQuery","GQL","LIST_CONTENT_MODELS","data","loadingModels","loading","useEffect","listContentModels","error","message","onNewRecord","useCallback","modelId","model","find","console","log","onNewEntryDialogClose","onExistingRecord","onLinkEntryDialogClose","useReferences","values","value","entries","loadingEntries","onRemove","onChange","models","useMemo","settings","map","filter","Boolean","storeValues","length","id","onNewEntryCreate","initialValue","entry","label"],"sources":["AdvancedSingleReferenceField.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport {\n BindComponentRenderProp,\n CmsEditorContentEntry,\n CmsEditorFieldRendererProps,\n CmsModel\n} from \"~/types\";\nimport { Options } from \"./Options\";\nimport { useReferences } from \"../hooks/useReferences\";\nimport { Entry } from \"./Entry\";\nimport { ReferencesDialog } from \"./ReferencesDialog\";\nimport styled from \"@emotion/styled\";\nimport { useQuery } from \"~/admin/hooks\";\nimport { ListCmsModelsQueryResponse } from \"~/admin/viewsGraphql\";\nimport * as GQL from \"~/admin/viewsGraphql\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { CmsReferenceValue } from \"~/admin/plugins/fieldRenderers/ref/components/types\";\nimport { Loader } from \"./Loader\";\nimport { NewReferencedEntryDialog } from \"~/admin/plugins/fieldRenderers/ref/advanced/components/NewReferencedEntryDialog\";\n\nconst Container = styled(\"div\")({\n borderLeft: \"3px solid var(--mdc-theme-background)\"\n //paddingLeft: \"10px\"\n});\n\nconst FieldLabel = styled(\"h3\")({\n fontSize: 24,\n fontWeight: \"normal\",\n borderBottom: \"1px solid var(--mdc-theme-background)\",\n marginBottom: \"20px\",\n paddingBottom: \"5px\"\n});\n\ninterface Props extends CmsEditorFieldRendererProps {\n bind: BindComponentRenderProp<CmsReferenceValue | null>;\n}\n\nexport const AdvancedSingleReferenceField: React.VFC<Props> = props => {\n const { bind, field } = props;\n const { showSnackbar } = useSnackbar();\n\n const [linkEntryDialogModel, setLinkEntryDialogModel] = useState<CmsModel | null>(null);\n const [newEntryDialogModel, setNewEntryDialogModel] = useState<CmsModel | null>(null);\n const [loadedModels, setLoadedModels] = useState<CmsModel[]>([]);\n\n const { data, loading: loadingModels } = useQuery<ListCmsModelsQueryResponse>(\n GQL.LIST_CONTENT_MODELS\n );\n\n useEffect(() => {\n if (loadingModels || !data?.listContentModels?.data) {\n return;\n } else if (data.listContentModels.error) {\n setLoadedModels([]);\n showSnackbar(data.listContentModels.error.message);\n return;\n }\n setLoadedModels(data.listContentModels.data);\n }, [data]);\n\n const onNewRecord = useCallback(\n (modelId: string) => {\n const model = loadedModels.find(model => model.modelId === modelId);\n if (!model) {\n console.log(`Cannot find model by modelId \"${modelId}\".`);\n return;\n }\n setNewEntryDialogModel(model);\n },\n [loadedModels, linkEntryDialogModel]\n );\n\n const onNewEntryDialogClose = useCallback(() => {\n setNewEntryDialogModel(null);\n }, [linkEntryDialogModel]);\n\n const onExistingRecord = useCallback(\n (modelId: string) => {\n const model = loadedModels.find(model => model.modelId === modelId);\n if (!model) {\n console.log(`Cannot find model by modelId \"${modelId}\".`);\n return;\n }\n setLinkEntryDialogModel(model);\n },\n [loadedModels, linkEntryDialogModel]\n );\n\n const onLinkEntryDialogClose = useCallback(() => {\n setLinkEntryDialogModel(null);\n }, []);\n\n const { entries, loading: loadingEntries } = useReferences({\n values: bind.value\n });\n\n const onRemove = useCallback(() => {\n bind.onChange(null);\n }, [entries]);\n\n const models = useMemo(() => {\n if (!loadedModels || !field.settings?.models) {\n return [];\n }\n\n return (field.settings?.models || [])\n .map(({ modelId }) => {\n return loadedModels.find(model => model.modelId === modelId);\n })\n .filter(Boolean) as CmsModel[];\n }, [loadedModels, entries]);\n\n const loading = loadingEntries || loadingModels;\n\n const storeValues = useCallback(\n (values: CmsReferenceValue[]) => {\n if (values.length > 1) {\n console.log(\"More than one value selected. This should never happen.\");\n return;\n } else if (values.length === 0 || !values[0]?.id) {\n bind.onChange(null);\n return;\n }\n bind.onChange(values[0]);\n },\n [bind.value, bind.onChange, entries]\n );\n\n const onNewEntryCreate = useCallback(\n (data: CmsEditorContentEntry | null) => {\n if (!data) {\n console.log(\n `Could not store new entry to the reference field. Missing whole entry.`\n );\n return;\n } else if (!data.id) {\n console.log(\n `Could not store new entry to the reference field. Missing \"id\" value.`\n );\n return;\n } else if (!data.modelId) {\n console.log(\n `Could not store new entry to the reference field. Missing \"modelId\" value.`\n );\n return;\n }\n storeValues([\n {\n id: data.id,\n modelId: data.modelId\n }\n ]);\n },\n [storeValues]\n );\n\n const initialValue = useMemo(() => {\n if (entries.length === 0 || loadedModels.length === 0) {\n return null;\n }\n const entry = entries[0];\n if (!entry) {\n return null;\n }\n const model = loadedModels.find(model => model.modelId === entry.model.modelId);\n if (!model) {\n return null;\n }\n return {\n entry,\n model\n };\n }, [entries, loadedModels]);\n\n return (\n <>\n <FieldLabel>{field.label}</FieldLabel>\n <Container>\n {loading && <Loader />}\n {initialValue && (\n <Entry\n model={initialValue.model}\n placement=\"singleRefField\"\n index={0}\n entry={initialValue.entry}\n onRemove={onRemove}\n />\n )}\n <Options\n models={models}\n onNewRecord={onNewRecord}\n onLinkExistingRecord={onExistingRecord}\n />\n\n {newEntryDialogModel && (\n <NewReferencedEntryDialog\n model={newEntryDialogModel}\n onClose={onNewEntryDialogClose}\n onChange={onNewEntryCreate}\n />\n )}\n\n {linkEntryDialogModel && (\n <ReferencesDialog\n {...props}\n multiple={false}\n values={bind.value ? [bind.value] : []}\n contentModel={linkEntryDialogModel}\n storeValues={storeValues}\n onDialogClose={onLinkEntryDialogClose}\n />\n )}\n </Container>\n </>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["Container","styled","FieldLabel","fontSize","fontWeight","borderBottom","marginBottom","paddingBottom","AdvancedSingleReferenceField","props","bind","field","useSnackbar","showSnackbar","useState","linkEntryDialogModel","setLinkEntryDialogModel","newEntryDialogModel","setNewEntryDialogModel","loadedModels","setLoadedModels","useQuery","GQL","LIST_CONTENT_MODELS","data","loadingModels","loading","useEffect","listContentModels","error","message","onNewRecord","useCallback","modelId","model","find","console","log","onNewEntryDialogClose","onExistingRecord","onLinkEntryDialogClose","useReferences","values","value","entries","loadingEntries","onRemove","onChange","models","useMemo","settings","map","filter","Boolean","storeValues","length","id","onNewEntryCreate","initialValue","entry","label"],"sources":["AdvancedSingleReferenceField.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport {\n BindComponentRenderProp,\n CmsEditorContentEntry,\n CmsModelFieldRendererProps,\n CmsModel\n} from \"~/types\";\nimport { Options } from \"./Options\";\nimport { useReferences } from \"../hooks/useReferences\";\nimport { Entry } from \"./Entry\";\nimport { ReferencesDialog } from \"./ReferencesDialog\";\nimport styled from \"@emotion/styled\";\nimport { useQuery } from \"~/admin/hooks\";\nimport { ListCmsModelsQueryResponse } from \"~/admin/viewsGraphql\";\nimport * as GQL from \"~/admin/viewsGraphql\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { CmsReferenceValue } from \"~/admin/plugins/fieldRenderers/ref/components/types\";\nimport { Loader } from \"./Loader\";\nimport { NewReferencedEntryDialog } from \"~/admin/plugins/fieldRenderers/ref/advanced/components/NewReferencedEntryDialog\";\n\nconst Container = styled(\"div\")({});\n\nconst FieldLabel = styled(\"h3\")({\n fontSize: 24,\n fontWeight: \"normal\",\n borderBottom: \"1px solid var(--mdc-theme-background)\",\n marginBottom: \"20px\",\n paddingBottom: \"5px\"\n});\n\ninterface Props extends CmsModelFieldRendererProps {\n bind: BindComponentRenderProp<CmsReferenceValue | null>;\n}\n\nexport const AdvancedSingleReferenceField: React.VFC<Props> = props => {\n const { bind, field } = props;\n const { showSnackbar } = useSnackbar();\n\n const [linkEntryDialogModel, setLinkEntryDialogModel] = useState<CmsModel | null>(null);\n const [newEntryDialogModel, setNewEntryDialogModel] = useState<CmsModel | null>(null);\n const [loadedModels, setLoadedModels] = useState<CmsModel[]>([]);\n\n const { data, loading: loadingModels } = useQuery<ListCmsModelsQueryResponse>(\n GQL.LIST_CONTENT_MODELS\n );\n\n useEffect(() => {\n if (loadingModels || !data?.listContentModels?.data) {\n return;\n } else if (data.listContentModels.error) {\n setLoadedModels([]);\n showSnackbar(data.listContentModels.error.message);\n return;\n }\n setLoadedModels(data.listContentModels.data);\n }, [data]);\n\n const onNewRecord = useCallback(\n (modelId: string) => {\n const model = loadedModels.find(model => model.modelId === modelId);\n if (!model) {\n console.log(`Cannot find model by modelId \"${modelId}\".`);\n return;\n }\n setNewEntryDialogModel(model);\n },\n [loadedModels, linkEntryDialogModel]\n );\n\n const onNewEntryDialogClose = useCallback(() => {\n setNewEntryDialogModel(null);\n }, [linkEntryDialogModel]);\n\n const onExistingRecord = useCallback(\n (modelId: string) => {\n const model = loadedModels.find(model => model.modelId === modelId);\n if (!model) {\n console.log(`Cannot find model by modelId \"${modelId}\".`);\n return;\n }\n setLinkEntryDialogModel(model);\n },\n [loadedModels, linkEntryDialogModel]\n );\n\n const onLinkEntryDialogClose = useCallback(() => {\n setLinkEntryDialogModel(null);\n }, []);\n\n const { entries, loading: loadingEntries } = useReferences({\n values: bind.value\n });\n\n const onRemove = useCallback(() => {\n bind.onChange(null);\n }, [entries]);\n\n const models = useMemo(() => {\n if (!loadedModels || !field.settings?.models) {\n return [];\n }\n\n return (field.settings?.models || [])\n .map(({ modelId }) => {\n return loadedModels.find(model => model.modelId === modelId);\n })\n .filter(Boolean) as CmsModel[];\n }, [loadedModels, entries]);\n\n const loading = loadingEntries || loadingModels;\n\n const storeValues = useCallback(\n (values: CmsReferenceValue[]) => {\n if (values.length > 1) {\n console.log(\"More than one value selected. This should never happen.\");\n return;\n } else if (values.length === 0 || !values[0]?.id) {\n bind.onChange(null);\n return;\n }\n bind.onChange(values[0]);\n },\n [bind.value, bind.onChange, entries]\n );\n\n const onNewEntryCreate = useCallback(\n (data: CmsEditorContentEntry | null) => {\n if (!data) {\n console.log(\n `Could not store new entry to the reference field. Missing whole entry.`\n );\n return;\n } else if (!data.id) {\n console.log(\n `Could not store new entry to the reference field. Missing \"id\" value.`\n );\n return;\n } else if (!data.modelId) {\n console.log(\n `Could not store new entry to the reference field. Missing \"modelId\" value.`\n );\n return;\n }\n storeValues([\n {\n id: data.id,\n modelId: data.modelId\n }\n ]);\n },\n [storeValues]\n );\n\n const initialValue = useMemo(() => {\n if (entries.length === 0 || loadedModels.length === 0) {\n return null;\n }\n const entry = entries[0];\n if (!entry) {\n return null;\n }\n const model = loadedModels.find(model => model.modelId === entry.model.modelId);\n if (!model) {\n return null;\n }\n return {\n entry,\n model\n };\n }, [entries, loadedModels]);\n\n return (\n <>\n <FieldLabel>{field.label}</FieldLabel>\n <Container>\n {loading && <Loader />}\n {initialValue && (\n <Entry\n model={initialValue.model}\n placement=\"singleRefField\"\n index={0}\n entry={initialValue.entry}\n onRemove={onRemove}\n />\n )}\n <Options\n models={models}\n onNewRecord={onNewRecord}\n onLinkExistingRecord={onExistingRecord}\n />\n\n {newEntryDialogModel && (\n <NewReferencedEntryDialog\n model={newEntryDialogModel}\n onClose={onNewEntryDialogClose}\n onChange={onNewEntryCreate}\n />\n )}\n\n {linkEntryDialogModel && (\n <ReferencesDialog\n {...props}\n multiple={false}\n values={bind.value ? [bind.value] : []}\n contentModel={linkEntryDialogModel}\n storeValues={storeValues}\n onDialogClose={onLinkEntryDialogClose}\n />\n )}\n </Container>\n </>\n );\n};\n"],"mappings":"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"}
|
|
@@ -17,7 +17,6 @@ var Container = /*#__PURE__*/(0, _styled.default)("div", {
|
|
|
17
17
|
return {
|
|
18
18
|
minWidth: "100%",
|
|
19
19
|
height: "460px",
|
|
20
|
-
maxHeight: 460,
|
|
21
20
|
backgroundColor: "var(--mdc-theme-background)",
|
|
22
21
|
boxSizing: "border-box",
|
|
23
22
|
display: "flex",
|
|
@@ -47,9 +46,11 @@ var Entries = function Entries(props) {
|
|
|
47
46
|
loadMore();
|
|
48
47
|
}, 500), [entries, loadMore]);
|
|
49
48
|
if (entries.length === 0) {
|
|
50
|
-
return null;
|
|
49
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "No entries found.");
|
|
51
50
|
}
|
|
52
|
-
return /*#__PURE__*/_react.default.createElement(Container,
|
|
51
|
+
return /*#__PURE__*/_react.default.createElement(Container, {
|
|
52
|
+
className: "entries"
|
|
53
|
+
}, /*#__PURE__*/_react.default.createElement(_Scrollbar.Scrollbar, {
|
|
53
54
|
"data-testid": "advanced-ref-field-entries",
|
|
54
55
|
onScrollFrame: loadMoreOnScroll
|
|
55
56
|
}, entries.map(function (entry, index) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Container","styled","minWidth","height","
|
|
1
|
+
{"version":3,"names":["Container","styled","minWidth","height","backgroundColor","boxSizing","display","overflowX","overflowY","paddingRight","ContainerChild","width","margin","Entries","props","entries","children","loadMore","loadMoreOnScroll","useCallback","debounce","position","top","length","map","entry","index","id"],"sources":["Entries.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport debounce from \"lodash/debounce\";\nimport styled from \"@emotion/styled\";\nimport { CmsReferenceContentEntry } from \"~/admin/plugins/fieldRenderers/ref/components/types\";\nimport { Scrollbar } from \"@webiny/ui/Scrollbar\";\nimport { positionValues as PositionValues } from \"react-custom-scrollbars\";\n\nconst Container = styled(\"div\")(() => ({\n minWidth: \"100%\",\n height: \"460px\",\n backgroundColor: \"var(--mdc-theme-background)\",\n boxSizing: \"border-box\",\n display: \"flex\",\n \">div>div\": {\n overflowX: \"hidden !important\" as any,\n overflowY: \"scroll\",\n paddingRight: 20\n }\n}));\nconst ContainerChild = styled(\"div\")({\n boxSizing: \"border-box\",\n width: \"100%\",\n margin: \"0 2px 25px 2px\"\n});\n\ninterface Props {\n entries: CmsReferenceContentEntry[];\n children: (entry: CmsReferenceContentEntry, index: number) => React.ReactNode;\n loadMore: () => void;\n}\n\nexport const Entries: React.VFC<Props> = props => {\n const { entries, children, loadMore } = props;\n\n const loadMoreOnScroll = useCallback(\n debounce((position: PositionValues) => {\n if (position.top <= 0.9) {\n return;\n }\n loadMore();\n }, 500),\n [entries, loadMore]\n );\n\n if (entries.length === 0) {\n return <>No entries found.</>;\n }\n return (\n <Container className={\"entries\"}>\n <Scrollbar data-testid=\"advanced-ref-field-entries\" onScrollFrame={loadMoreOnScroll}>\n {entries.map((entry, index) => {\n return (\n <ContainerChild key={`entry-${entry.id}`}>\n {children(entry, index)}\n </ContainerChild>\n );\n })}\n </Scrollbar>\n </Container>\n );\n};\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AAEA;AAGA,IAAMA,SAAS,oBAAGC,eAAM,EAAC,KAAK;EAAA;EAAA;AAAA,GAAE;EAAA,OAAO;IACnCC,QAAQ,EAAE,MAAM;IAChBC,MAAM,EAAE,OAAO;IACfC,eAAe,EAAE,6BAA6B;IAC9CC,SAAS,EAAE,YAAY;IACvBC,OAAO,EAAE,MAAM;IACf,UAAU,EAAE;MACRC,SAAS,EAAE,mBAA0B;MACrCC,SAAS,EAAE,QAAQ;MACnBC,YAAY,EAAE;IAClB;EACJ,CAAC;AAAA,CAAC,CAAC;AACH,IAAMC,cAAc,oBAAGT,eAAM,EAAC,KAAK;EAAA;EAAA;AAAA,GAAE;EACjCI,SAAS,EAAE,YAAY;EACvBM,KAAK,EAAE,MAAM;EACbC,MAAM,EAAE;AACZ,CAAC,CAAC;AAQK,IAAMC,OAAyB,GAAG,SAA5BA,OAAyB,CAAGC,KAAK,EAAI;EAC9C,IAAQC,OAAO,GAAyBD,KAAK,CAArCC,OAAO;IAAEC,QAAQ,GAAeF,KAAK,CAA5BE,QAAQ;IAAEC,QAAQ,GAAKH,KAAK,CAAlBG,QAAQ;EAEnC,IAAMC,gBAAgB,GAAG,IAAAC,kBAAW,EAChC,IAAAC,iBAAQ,EAAC,UAACC,QAAwB,EAAK;IACnC,IAAIA,QAAQ,CAACC,GAAG,IAAI,GAAG,EAAE;MACrB;IACJ;IACAL,QAAQ,EAAE;EACd,CAAC,EAAE,GAAG,CAAC,EACP,CAACF,OAAO,EAAEE,QAAQ,CAAC,CACtB;EAED,IAAIF,OAAO,CAACQ,MAAM,KAAK,CAAC,EAAE;IACtB,oBAAO,4DAAE,mBAAiB,CAAG;EACjC;EACA,oBACI,6BAAC,SAAS;IAAC,SAAS,EAAE;EAAU,gBAC5B,6BAAC,oBAAS;IAAC,eAAY,4BAA4B;IAAC,aAAa,EAAEL;EAAiB,GAC/EH,OAAO,CAACS,GAAG,CAAC,UAACC,KAAK,EAAEC,KAAK,EAAK;IAC3B,oBACI,6BAAC,cAAc;MAAC,GAAG,kBAAWD,KAAK,CAACE,EAAE;IAAG,GACpCX,QAAQ,CAACS,KAAK,EAAEC,KAAK,CAAC,CACV;EAEzB,CAAC,CAAC,CACM,CACJ;AAEpB,CAAC;AAAC"}
|
|
@@ -35,7 +35,7 @@ var EntryForm = function EntryForm(_ref) {
|
|
|
35
35
|
}, /*#__PURE__*/_react.default.createElement(_ContentEntryForm.ContentEntryForm, {
|
|
36
36
|
onSubmit: function onSubmit(data) {
|
|
37
37
|
/**
|
|
38
|
-
* We know that data is
|
|
38
|
+
* We know that data is CmsContentEntry.
|
|
39
39
|
*/
|
|
40
40
|
return onCreate(data);
|
|
41
41
|
},
|
|
@@ -119,11 +119,11 @@ var NewReferencedEntryDialog = function NewReferencedEntryDialog(_ref3) {
|
|
|
119
119
|
if (!model) {
|
|
120
120
|
return null;
|
|
121
121
|
}
|
|
122
|
-
return /*#__PURE__*/_react.default.createElement(_ContentEntriesContext.
|
|
122
|
+
return /*#__PURE__*/_react.default.createElement(_ContentEntriesContext.ContentEntriesProvider, {
|
|
123
123
|
contentModel: model,
|
|
124
124
|
key: model.modelId,
|
|
125
125
|
insideDialog: true
|
|
126
|
-
}, /*#__PURE__*/_react.default.createElement(_ContentEntryContext.
|
|
126
|
+
}, /*#__PURE__*/_react.default.createElement(_ContentEntryContext.ContentEntryProvider, {
|
|
127
127
|
isNewEntry: function isNewEntry() {
|
|
128
128
|
return true;
|
|
129
129
|
},
|
package/admin/plugins/fieldRenderers/ref/advanced/components/NewReferencedEntryDialog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["t","i18n","ns","EntryForm","onCreate","useContentEntry","setFormRef","contentModel","data","form","DialogSaveButton","onClick","useCallback","ev","current","submit","NewReferencedEntryDialog","baseModel","model","onClose","onChange","useCms","apolloClient","useState","undefined","setModel","useEffect","query","GET_CONTENT_MODEL","variables","modelId","response","getContentModel","entry","published","meta","status","modelName","name"],"sources":["NewReferencedEntryDialog.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from \"react\";\nimport {
|
|
1
|
+
{"version":3,"names":["t","i18n","ns","EntryForm","onCreate","useContentEntry","setFormRef","contentModel","data","form","DialogSaveButton","onClick","useCallback","ev","current","submit","NewReferencedEntryDialog","baseModel","model","onClose","onChange","useCms","apolloClient","useState","undefined","setModel","useEffect","query","GET_CONTENT_MODEL","variables","modelId","response","getContentModel","entry","published","meta","status","modelName","name"],"sources":["NewReferencedEntryDialog.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from \"react\";\nimport { ContentEntryProvider } from \"~/admin/views/contentEntries/ContentEntry/ContentEntryContext\";\nimport { DialogActions, DialogCancel, DialogContent, DialogTitle } from \"@webiny/ui/Dialog\";\nimport { ContentEntriesProvider } from \"~/admin/views/contentEntries/ContentEntriesContext\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { CmsContentEntry, CmsModel } from \"~/types\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/useContentEntry\";\nimport { ModelProvider } from \"~/admin/components/ModelProvider\";\nimport { ContentEntryForm } from \"~/admin/components/ContentEntryForm/ContentEntryForm\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport {\n GET_CONTENT_MODEL,\n GetCmsModelQueryResponse,\n GetCmsModelQueryVariables\n} from \"~/admin/graphql/contentModels\";\nimport { useCms } from \"~/admin/hooks\";\nimport { FullWidthDialog } from \"./dialog/Dialog\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/ref\");\n\ninterface EntryFormProps {\n onCreate: (entry: CmsContentEntry) => void;\n}\n\nconst EntryForm: React.VFC<EntryFormProps> = ({ onCreate }) => {\n const { setFormRef, contentModel } = useContentEntry();\n\n return (\n <ModelProvider model={contentModel}>\n <ContentEntryForm\n onSubmit={data => {\n /**\n * We know that data is CmsContentEntry.\n */\n return onCreate(data as unknown as CmsContentEntry);\n }}\n onForm={form => setFormRef(form)}\n entry={{}}\n addEntryToListCache={false}\n />\n </ModelProvider>\n );\n};\n\nconst DialogSaveButton: React.VFC = () => {\n const { form } = useContentEntry();\n\n const onClick = useCallback(\n (ev: React.MouseEvent) => {\n (async () => {\n await form.current.submit(ev);\n })();\n },\n [form.current]\n );\n\n return <ButtonPrimary onClick={onClick}>{t`Create Entry`}</ButtonPrimary>;\n};\n\ninterface Props {\n model: Pick<CmsModel, \"modelId\">;\n onClose: () => void;\n onChange: (entry: any) => void;\n}\n\nexport const NewReferencedEntryDialog: React.VFC<Props> = ({\n model: baseModel,\n onClose,\n onChange\n}) => {\n const { apolloClient } = useCms();\n const [model, setModel] = useState<CmsModel | undefined>(undefined);\n\n useEffect(() => {\n (async () => {\n const response = await apolloClient.query<\n GetCmsModelQueryResponse,\n GetCmsModelQueryVariables\n >({\n query: GET_CONTENT_MODEL,\n variables: {\n modelId: baseModel.modelId\n }\n });\n setModel(response.data.getContentModel.data);\n })();\n }, [baseModel.modelId]);\n\n const onCreate = useCallback(\n (entry: CmsContentEntry) => {\n if (!model) {\n onClose();\n return;\n }\n onChange({\n ...entry,\n /*\n * Format data for AutoComplete.\n */\n published: entry.meta?.status === \"published\",\n modelId: model.modelId,\n modelName: model.name\n });\n onClose();\n },\n [onChange, model]\n );\n if (!model) {\n return null;\n }\n\n return (\n <ContentEntriesProvider contentModel={model} key={model.modelId} insideDialog={true}>\n <ContentEntryProvider isNewEntry={() => true} getContentId={() => null}>\n <FullWidthDialog open={true} onClose={onClose}>\n <DialogTitle>{t`New {modelName} Entry`({ modelName: model.name })}</DialogTitle>\n <DialogContent>\n <EntryForm onCreate={onCreate} />\n </DialogContent>\n <DialogActions>\n <DialogCancel>{t`Cancel`}</DialogCancel>\n <DialogSaveButton />\n </DialogActions>\n </FullWidthDialog>\n </ContentEntryProvider>\n </ContentEntriesProvider>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import {
|
|
2
|
+
import { CmsModelFieldRendererProps } from "../../../../../../types";
|
|
3
3
|
import { CmsReferenceValue } from "../../components/types";
|
|
4
|
-
interface Props extends
|
|
4
|
+
interface Props extends CmsModelFieldRendererProps {
|
|
5
5
|
values?: CmsReferenceValue[] | null;
|
|
6
6
|
onDialogClose: () => void;
|
|
7
7
|
storeValues: (values: CmsReferenceValue[]) => void;
|
|
@@ -38,7 +38,7 @@ var Content = /*#__PURE__*/(0, _styled.default)("div", {
|
|
|
38
38
|
flexDirection: "column",
|
|
39
39
|
position: "relative",
|
|
40
40
|
width: "100%",
|
|
41
|
-
minHeight: "
|
|
41
|
+
minHeight: "20px",
|
|
42
42
|
boxSizing: "border-box",
|
|
43
43
|
padding: "20px 0 20px 20px",
|
|
44
44
|
backgroundColor: "var(--mdc-theme-background)",
|