Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge next into feature/refactor-admin-component-theming #1813

Merged
merged 28 commits into from
Mar 11, 2024

Conversation

jamesricky
Copy link
Contributor

No description provided.

johnnyomair and others added 28 commits February 28, 2024 11:14
…formToPlain` (#1766)

This is needed for storing public block content (i.e. no preview URLs,
no invisible content) even if a mutation is called by an authenticated
user. For example, when saving a newsletter's content to a third party
provider, as needed in the
[comet-brevo-module](https://github.com/vivid-planet/comet-brevo-module/blob/main/packages/api/src/email-campaign/email-campaigns.service.ts#L43).
The import source column is only shown if `importSources` is provided
via `DamConfigProvider`. This is done to not show the column if no
external DAMs are supported.

---

<img width="1304" alt="image"
src="https://github.com/vivid-planet/comet/assets/48853629/33e9fb39-49a3-429b-bea5-082c7f9d8bdd">

- [x] Add changeset (if necessary)

Alternative to #1697
Since locale is standardized in an OIDC ID-Token

Proper update in #1777
…sService#getContentScope` (#1778)

Fix parsing of `contentScopeAnnotation` in
`KubernetesService#getContentScope`

---

You can see that only `json2` (after the second JSON.parse()) is an
object

<img width="572" alt="Bildschirmfoto 2024-02-28 um 15 14 47"
src="https://github.com/vivid-planet/comet/assets/13380047/668b073e-226e-497b-a4f7-894a1372c016">

---

This bug is new in v6, but I don't know yet why it occurs now. This is a
workaround so updating to v6 is possible for content websites. I'll
still try to figure out the reason so maybe we can remove this again in
the future.
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @comet/cms-admin@6.3.0

### Minor Changes

-   80e6fde: Show DAM import source in grid

To show the "Source" column in the DAM's data grid, provide
`importSources` in `DamConfigProvider`:

    ```tsx
    <DamConfigProvider
        value={{
            ...
            importSources: {
                unsplash: {
label: <FormattedMessage id="dam.importSource.unsplash.label"
defaultMessage="Unsplash" />,
                },
            },
        }}
    >
        ...
    </DamConfigProvider>
    ```

### Patch Changes

-   @comet/admin@6.3.0
-   @comet/admin-date-time@6.3.0
-   @comet/admin-icons@6.3.0
-   @comet/admin-rte@6.3.0
-   @comet/admin-theme@6.3.0
-   @comet/blocks-admin@6.3.0

## @comet/cms-api@6.3.0

### Minor Changes

- fc1b16f: Allow overriding the block context in
`BlocksTransformerService#transformToPlain`

### Patch Changes

- e2e2114: Fix parsing of `contentScopeAnnotation` in
`KubernetesService#getContentScope`
    -   @comet/blocks-api@6.3.0

## @comet/admin@6.3.0

### Patch Changes

-   @comet/admin-icons@6.3.0

## @comet/admin-color-picker@6.3.0

### Patch Changes

-   @comet/admin@6.3.0
-   @comet/admin-icons@6.3.0

## @comet/admin-date-time@6.3.0

### Patch Changes

-   @comet/admin@6.3.0
-   @comet/admin-icons@6.3.0

## @comet/admin-react-select@6.3.0

### Patch Changes

-   @comet/admin@6.3.0

## @comet/admin-rte@6.3.0

### Patch Changes

-   @comet/admin@6.3.0
-   @comet/admin-icons@6.3.0

## @comet/admin-theme@6.3.0

### Patch Changes

-   @comet/admin-icons@6.3.0

## @comet/blocks-admin@6.3.0

### Patch Changes

-   @comet/admin@6.3.0
-   @comet/admin-icons@6.3.0

## @comet/eslint-config@6.3.0

### Patch Changes

-   @comet/eslint-plugin@6.3.0

## @comet/admin-babel-preset@6.3.0



## @comet/admin-icons@6.3.0



## @comet/blocks-api@6.3.0



## @comet/cli@6.3.0



## @comet/eslint-plugin@6.3.0



## @comet/cms-site@6.3.0

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This replaces the custom EditDialogFormApi with SaveRange. Much cleaner
and more generic because:
- the EditDialog can now contain multiple forms or other components that
save things (aka have a `<Savable>`)
- EditDialog has no dependency on a Form specific api
…ct (#1711)

Usage example:
```
{ type: "asyncSelect", name: "category", rootQuery: "productCategories" },
```
for generated code see diff in demo admin product form.
…make the grid span over the full width and align the actions to the right (#1784)

By default, columns no longer have a fixed width and instead grow to
fill the available space and push the action icon buttons all the way to
the right.

In addition to `width`, the `minWidth`, `maxWidth`, and `flex` settings
are now exposed to the grid's column definition to allow more
customization.

## Previously

<img width="1613" alt="Previously"
src="https://github.com/vivid-planet/comet/assets/6264317/13c4456e-b823-46e1-8ce8-57696e47e9da">

## Now

<img width="1613" alt="Now"
src="https://github.com/vivid-planet/comet/assets/6264317/e796047c-935e-49aa-bddc-b9a4d940e25f">

---------

Co-authored-by: Johannes Obermair <48853629+johnnyomair@users.noreply.github.com>
…d/deleted, remove visibility flag support (#1317)

---------

Co-authored-by: Johannes Obermair <48853629+johnnyomair@users.noreply.github.com>
…phanRemoval` activated where the reverse side has its own API generated (#1478)

- Add `id` as argument to create mutation
- Add `id` as argument to list query

---------

Co-authored-by: Johannes Obermair <48853629+johnnyomair@users.noreply.github.com>
…scopes (#1773)

It's ugly but since the ChangesCheckerInterceptor will be deleted in v7
anyway this will serve as a workaround meanwhile.

---------

Co-authored-by: Johannes Obermair <johannes.obermair@vivid-planet.com>
…ds (#1759)

Make type optional and check if value is defined before parsing into
string or number.
We now expect the SitePreview to be protected with a login (Url is set
via SITE_PREVIEW_URL). The site-preview is invoked via opening an
api-route. From there we make a call to the API which validates the
currentUser of the protected Site-Preview against the requested
content-scope. If the validation is successful the current content-scope
can be stored for further usage (not done here as the contentScope is
static).

The block-preview can use the same (protected) instance, however, there
is no explicit check. The content scope is stored IFrameBridge for
further usage.

Another PR is planned which consolidates the storage and usage of the
current content scope.
This was previously used for the dashboard, but isn't in use anymore.
We need this for use cases where an entity's scope can't be directly
derived from the passed entity. For example, a `Page` document's scope
is derived by the `PageTreeNode` the document is attached to, but
there's no direct relation between the `Page` and the `PageTreeNode`
entities.

---------

Co-authored-by: Niko Sams <niko.sams@gmail.com>
…el (#1796)

Else we will have issues with updating Apollo cache with mutation
responses if multiple saves occur on the same entity

---------

Co-authored-by: Johannes Obermair <48853629+johnnyomair@users.noreply.github.com>
The `build:*:skippable` scripts we added to improve startup performance
are very buggy. A better approach to developing is building all Comet
packages at least once and then only start what's needed. We update the
README to reflect this approach.

Also, we now promote using the dev-process-manager to start individual
processes over using the `dev:*` scripts. Having the ability to start
individual processes and process groups is superior when compared to
starting many processes where only a subset is actually needed.

---------

Co-authored-by: Thomas Dax <thomas.dax@vivid-planet.com>
### Description
With this PR a helper function called `createCompositeBlockSelectField`
is added. It simplifies the creation of a select field block by hiding
the verbose definition of Form, Field and Items.

### Acceptance Critiera
- [x] Add changeset

### Example Usage
#### Before
```tsx
// ...
            level: {
                block: createCompositeSetting<HeadlineBlockData["level"]>({
                    defaultValue: "header-one",
                    AdminComponent: ({ state, updateState }) => (
                        <BlocksFinalForm<Pick<HeadlineBlockData, "level">>
                            onSubmit={({ level }) => updateState(level)}
                            initialValues={{ level: state }}
                        >
                            <Field name="level" label="Level" fullWidth>
                                {(props) => (
                                    <FinalFormSelect {...props}>
                                        <MenuItem value="header-one">Header One</MenuItem>
                                        <MenuItem value="header-two">Header Two</MenuItem>
                                        <MenuItem value="header-three">Header Three</MenuItem>
                                        <MenuItem value="header-four">Header Four</MenuItem>
                                        <MenuItem value="header-five">Header Five</MenuItem>
                                        <MenuItem value="header-six">Header Six</MenuItem>
                                    </FinalFormSelect>
                                )}
                            </Field>
                        </BlocksFinalForm>
                    ),
                }),
            },
// ...
```
#### After
```tsx
// ...
            level: {
                block: createCompositeBlockSelectField({
                    defaultValue: "header-one",
                    fieldProps: { label: "Level", fullWidth: true },
                    options: [
                        { value: "header-one", label: "Header One" },
                        { value: "header-two", label: "Header Two" },
                        { value: "header-three", label: "Header Three" },
                        { value: "header-four", label: "Header Four" },
                        { value: "header-five", label: "Header Five" },
                        { value: "header-six", label: "Header Six" },
                    ],
                }),
            },
// ...
```
…#1799)

This argument has the problem that it doesn't work well with multiple
forms that are submitted together, eg. with two forms in tabs that get
saved using a SaveBoundary.

We decided to simply drop this argument.

---------

Co-authored-by: Johannes Obermair <48853629+johnnyomair@users.noreply.github.com>
There is a second form that contains the price.
Add product variants editing using a grid and nested form in the
"Variants" tab of the product form. Demonstrates how to achieve a
central save button in combination with a tab that contains a grid.

Also adds a new `StackToolbar` component, which is a thin wrapper around
`Toolbar` to only show the last toolbar inside a stack. Otherwise two
toolbars would be shown in the product variants form.

Co-authored-by: Johannes Obermair <48853629+johnnyomair@users.noreply.github.com>
@jamesricky jamesricky requested a review from johnnyomair March 11, 2024 09:38
@jamesricky jamesricky self-assigned this Mar 11, 2024
@jamesricky jamesricky changed the title Merge next into feature/refactor-admin-component-theming Merge next into feature/refactor-admin-component-theming Mar 11, 2024
@johnnyomair johnnyomair merged commit 3aff04e into feature/refactor-admin-component-theming Mar 11, 2024
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants