@contember/interface 2.0.0-alpha.8 → 2.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/development/index.cjs +2 -4
- package/dist/development/index.cjs.map +1 -1
- package/dist/development/index.js +2 -4
- package/dist/development/index.js.map +1 -1
- package/dist/development/src/bootstrap/ApplicationEntrypoint.cjs.map +1 -1
- package/dist/development/src/bootstrap/ApplicationEntrypoint.js.map +1 -1
- package/dist/development/src/bootstrap/DataViewPageNameKeyProvider.cjs.map +1 -1
- package/dist/development/src/bootstrap/DataViewPageNameKeyProvider.js.map +1 -1
- package/dist/development/src/components/binding/DisconnectEntityTrigger.cjs +2 -2
- package/dist/development/src/components/binding/DisconnectEntityTrigger.cjs.map +1 -1
- package/dist/development/src/components/binding/DisconnectEntityTrigger.js +3 -3
- package/dist/development/src/components/binding/DisconnectEntityTrigger.js.map +1 -1
- package/dist/development/src/components/binding/EntityBeforePersist.cjs.map +1 -1
- package/dist/development/src/components/binding/RedirectOnPersist.cjs.map +1 -1
- package/dist/development/src/components/binding/RedirectOnPersist.js.map +1 -1
- package/dist/development/src/hooks/useBlockNavigationOnDirtyState.cjs +36 -0
- package/dist/development/src/hooks/useBlockNavigationOnDirtyState.cjs.map +1 -0
- package/dist/development/src/hooks/useBlockNavigationOnDirtyState.js +36 -0
- package/dist/development/src/hooks/useBlockNavigationOnDirtyState.js.map +1 -0
- package/dist/development/src/hooks/useIsApplicationOutdated.cjs +1 -1
- package/dist/development/src/hooks/useIsApplicationOutdated.cjs.map +1 -1
- package/dist/development/src/hooks/useIsApplicationOutdated.js +1 -1
- package/dist/development/src/hooks/useIsApplicationOutdated.js.map +1 -1
- package/dist/production/index.cjs +2 -4
- package/dist/production/index.cjs.map +1 -1
- package/dist/production/index.js +2 -4
- package/dist/production/index.js.map +1 -1
- package/dist/production/src/bootstrap/ApplicationEntrypoint.cjs.map +1 -1
- package/dist/production/src/bootstrap/ApplicationEntrypoint.js.map +1 -1
- package/dist/production/src/bootstrap/DataViewPageNameKeyProvider.cjs.map +1 -1
- package/dist/production/src/bootstrap/DataViewPageNameKeyProvider.js.map +1 -1
- package/dist/production/src/components/binding/ClearFieldTrigger.cjs.map +1 -1
- package/dist/production/src/components/binding/ClearFieldTrigger.js.map +1 -1
- package/dist/production/src/components/binding/DisconnectEntityTrigger.cjs +1 -1
- package/dist/production/src/components/binding/DisconnectEntityTrigger.cjs.map +1 -1
- package/dist/production/src/components/binding/DisconnectEntityTrigger.js +2 -2
- package/dist/production/src/components/binding/DisconnectEntityTrigger.js.map +1 -1
- package/dist/production/src/components/binding/EntityBeforePersist.cjs.map +1 -1
- package/dist/production/src/components/binding/RedirectOnPersist.cjs.map +1 -1
- package/dist/production/src/components/binding/RedirectOnPersist.js.map +1 -1
- package/dist/production/src/hooks/useBlockNavigationOnDirtyState.cjs +36 -0
- package/dist/production/src/hooks/useBlockNavigationOnDirtyState.cjs.map +1 -0
- package/dist/production/src/hooks/useBlockNavigationOnDirtyState.js +36 -0
- package/dist/production/src/hooks/useBlockNavigationOnDirtyState.js.map +1 -0
- package/dist/production/src/hooks/useIsApplicationOutdated.cjs +1 -1
- package/dist/production/src/hooks/useIsApplicationOutdated.cjs.map +1 -1
- package/dist/production/src/hooks/useIsApplicationOutdated.js +1 -1
- package/dist/production/src/hooks/useIsApplicationOutdated.js.map +1 -1
- package/dist/types/bootstrap/ApplicationEntrypoint.d.ts.map +1 -1
- package/dist/types/components/binding/DisconnectEntityTrigger.d.ts.map +1 -1
- package/dist/types/components/binding/index.d.ts +0 -2
- package/dist/types/components/binding/index.d.ts.map +1 -1
- package/dist/types/hooks/index.d.ts +1 -0
- package/dist/types/hooks/index.d.ts.map +1 -1
- package/dist/types/hooks/useBlockNavigationOnDirtyState.d.ts +7 -0
- package/dist/types/hooks/useBlockNavigationOnDirtyState.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +10 -10
- package/src/bootstrap/ApplicationEntrypoint.tsx +1 -1
- package/src/components/binding/DisconnectEntityTrigger.tsx +3 -2
- package/src/components/binding/index.ts +0 -2
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useBlockNavigationOnDirtyState.ts +40 -0
- package/src/hooks/useIsApplicationOutdated.ts +1 -1
- package/src/tsconfig.json +0 -1
- package/dist/development/src/components/binding/DeleteEntityTrigger.cjs +0 -36
- package/dist/development/src/components/binding/DeleteEntityTrigger.cjs.map +0 -1
- package/dist/development/src/components/binding/DeleteEntityTrigger.js +0 -36
- package/dist/development/src/components/binding/DeleteEntityTrigger.js.map +0 -1
- package/dist/development/src/components/binding/PersistTrigger.cjs +0 -37
- package/dist/development/src/components/binding/PersistTrigger.cjs.map +0 -1
- package/dist/development/src/components/binding/PersistTrigger.js +0 -37
- package/dist/development/src/components/binding/PersistTrigger.js.map +0 -1
- package/dist/production/src/components/binding/DeleteEntityTrigger.cjs +0 -28
- package/dist/production/src/components/binding/DeleteEntityTrigger.cjs.map +0 -1
- package/dist/production/src/components/binding/DeleteEntityTrigger.js +0 -28
- package/dist/production/src/components/binding/DeleteEntityTrigger.js.map +0 -1
- package/dist/production/src/components/binding/PersistTrigger.cjs +0 -29
- package/dist/production/src/components/binding/PersistTrigger.cjs.map +0 -1
- package/dist/production/src/components/binding/PersistTrigger.js +0 -29
- package/dist/production/src/components/binding/PersistTrigger.js.map +0 -1
- package/dist/types/components/binding/DeleteEntityTrigger.d.ts +0 -10
- package/dist/types/components/binding/DeleteEntityTrigger.d.ts.map +0 -1
- package/dist/types/components/binding/PersistTrigger.d.ts +0 -9
- package/dist/types/components/binding/PersistTrigger.d.ts.map +0 -1
- package/src/components/binding/DeleteEntityTrigger.tsx +0 -36
- package/src/components/binding/PersistTrigger.tsx +0 -35
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@contember/interface",
|
|
3
3
|
"license": "Apache-2.0",
|
|
4
|
-
"version": "2.0.0-
|
|
4
|
+
"version": "2.0.0-beta.1",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
7
7
|
"main": "./dist/production/index.js",
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
"types": "./dist/types/index.d.ts",
|
|
12
12
|
"development": "./dist/development/index.js",
|
|
13
13
|
"production": "./dist/production/index.js",
|
|
14
|
+
"typescript": "./src/index.ts",
|
|
14
15
|
"default": "./dist/production/index.js"
|
|
15
16
|
},
|
|
16
17
|
"require": {
|
|
@@ -28,14 +29,13 @@
|
|
|
28
29
|
"ae:test": "api-extractor run"
|
|
29
30
|
},
|
|
30
31
|
"dependencies": {
|
|
31
|
-
"@contember/react-binding": "2.0.0-
|
|
32
|
-
"@contember/react-client": "2.0.0-
|
|
33
|
-
"@contember/react-dataview": "2.0.0-
|
|
34
|
-
"@contember/react-devbar": "2.0.0-
|
|
35
|
-
"@contember/react-identity": "2.0.0-
|
|
36
|
-
"@contember/react-routing": "2.0.0-
|
|
37
|
-
"@
|
|
38
|
-
"@radix-ui/react-slot": "^1.0.2",
|
|
32
|
+
"@contember/react-binding": "2.0.0-beta.1",
|
|
33
|
+
"@contember/react-client": "2.0.0-beta.1",
|
|
34
|
+
"@contember/react-dataview": "2.0.0-beta.1",
|
|
35
|
+
"@contember/react-devbar": "2.0.0-beta.1",
|
|
36
|
+
"@contember/react-identity": "2.0.0-beta.1",
|
|
37
|
+
"@contember/react-routing": "2.0.0-beta.1",
|
|
38
|
+
"@radix-ui/react-slot": "^1.1.0",
|
|
39
39
|
"stacktracey": "^2.1.8"
|
|
40
40
|
},
|
|
41
41
|
"peerDependencies": {
|
|
@@ -51,4 +51,4 @@
|
|
|
51
51
|
"url": "https://github.com/contember/interface.git",
|
|
52
52
|
"directory": "packages/interface"
|
|
53
53
|
}
|
|
54
|
-
}
|
|
54
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Environment, EnvironmentContext, EnvironmentExtensionProvider } from '@contember/react-binding'
|
|
2
2
|
import { ContemberClient, ContemberClientProps } from '@contember/react-client'
|
|
3
3
|
import { ReactNode } from 'react'
|
|
4
|
-
import {
|
|
4
|
+
import { RouteMap, RoutingContextValue, RoutingProvider } from '@contember/react-routing'
|
|
5
5
|
import { DataViewPageNameKeyProvider } from './DataViewPageNameKeyProvider'
|
|
6
6
|
import { IdentityEnvironmentProvider, IdentityProvider, projectEnvironmentExtension } from '@contember/react-identity'
|
|
7
7
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ComponentType, ReactNode, useCallback } from 'react'
|
|
2
2
|
import { Slot } from '@radix-ui/react-slot'
|
|
3
|
-
import { BindingError, EntityListAccessor, ErrorPersistResult,
|
|
3
|
+
import { BindingError, EntityListAccessor, ErrorPersistResult,
|
|
4
|
+
isEntityListAccessor, SuccessfulPersistResult, SugaredRelativeSingleEntity, useEntity, useMutationState, usePersist } from '@contember/react-binding'
|
|
4
5
|
|
|
5
6
|
|
|
6
7
|
const SlotButton = Slot as ComponentType<React.ButtonHTMLAttributes<HTMLButtonElement>>
|
|
@@ -25,7 +26,7 @@ export const DisconnectEntityTrigger = ({ immediatePersist, onPersistError, onPe
|
|
|
25
26
|
if (!parent) {
|
|
26
27
|
throw new BindingError('Cannot disconnect root entity')
|
|
27
28
|
}
|
|
28
|
-
if (parent
|
|
29
|
+
if (isEntityListAccessor(parent)) {
|
|
29
30
|
parent.disconnectEntity(entity)
|
|
30
31
|
} else {
|
|
31
32
|
const subTreeNode = entity.environment.getSubTreeNode()
|
package/src/hooks/index.ts
CHANGED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { ErrorPersistResult, SuccessfulPersistResult, useDirtinessState, useMutationState, usePersist } from '@contember/react-binding'
|
|
2
|
+
import { useCallback, useRef } from 'react'
|
|
3
|
+
import { useRegisterRequestChangeListener } from '@contember/react-routing'
|
|
4
|
+
|
|
5
|
+
export type BlockNavigationOnDirtyStateResult = 'save' | 'discard' | 'cancel'
|
|
6
|
+
|
|
7
|
+
export const useBlockNavigationOnDirtyState = (handler: () => Promise<BlockNavigationOnDirtyStateResult>, options?: {
|
|
8
|
+
onPersistSuccess?: (result: SuccessfulPersistResult) => void
|
|
9
|
+
onPersistError?: (result: ErrorPersistResult) => void
|
|
10
|
+
}) => {
|
|
11
|
+
const isDirty = useDirtinessState()
|
|
12
|
+
const isDirtyRef = useRef(isDirty)
|
|
13
|
+
isDirtyRef.current = isDirty
|
|
14
|
+
const isMutating = useMutationState()
|
|
15
|
+
const isMutatingRef = useRef(isMutating)
|
|
16
|
+
isMutatingRef.current = isMutating
|
|
17
|
+
const persist = usePersist()
|
|
18
|
+
|
|
19
|
+
useRegisterRequestChangeListener(useCallback(async event => {
|
|
20
|
+
if (!isDirtyRef.current || isMutatingRef.current) {
|
|
21
|
+
return
|
|
22
|
+
}
|
|
23
|
+
const result = await handler()
|
|
24
|
+
if (result === 'cancel') {
|
|
25
|
+
event.abortNavigation()
|
|
26
|
+
return
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if (result === 'save') {
|
|
30
|
+
try {
|
|
31
|
+
const result = await persist()
|
|
32
|
+
options?.onPersistSuccess?.(result)
|
|
33
|
+
} catch (e: any) {
|
|
34
|
+
options?.onPersistError?.(e)
|
|
35
|
+
event.abortNavigation()
|
|
36
|
+
return
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}, [handler, options, persist]))
|
|
40
|
+
}
|
|
@@ -17,7 +17,7 @@ export const useIsApplicationOutdated = ({ checkIntervalMs = defaultCheckInterva
|
|
|
17
17
|
return
|
|
18
18
|
}
|
|
19
19
|
const version = await fetchVersion()
|
|
20
|
-
if (version !== initialVersion) {
|
|
20
|
+
if (version && version !== initialVersion) {
|
|
21
21
|
setIsOutdated(true)
|
|
22
22
|
}
|
|
23
23
|
}, [fetchVersion, initialVersion])
|
package/src/tsconfig.json
CHANGED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const jsxDevRuntime = require("react/jsx-dev-runtime");
|
|
4
|
-
const React = require("react");
|
|
5
|
-
const reactSlot = require("@radix-ui/react-slot");
|
|
6
|
-
const reactBinding = require("@contember/react-binding");
|
|
7
|
-
const SlotButton = reactSlot.Slot;
|
|
8
|
-
const DeleteEntityTrigger = ({ immediatePersist, onPersistError, onPersistSuccess, ...props }) => {
|
|
9
|
-
const parentEntity = reactBinding.useEntity();
|
|
10
|
-
const triggerPersist = reactBinding.usePersist();
|
|
11
|
-
const isMutating = reactBinding.useMutationState();
|
|
12
|
-
const onClick = React.useCallback(() => {
|
|
13
|
-
parentEntity.deleteEntity();
|
|
14
|
-
if (immediatePersist) {
|
|
15
|
-
triggerPersist().then(onPersistSuccess).catch(onPersistError);
|
|
16
|
-
}
|
|
17
|
-
}, [parentEntity, immediatePersist, triggerPersist, onPersistSuccess, onPersistError]);
|
|
18
|
-
return /* @__PURE__ */ jsxDevRuntime.jsxDEV(
|
|
19
|
-
SlotButton,
|
|
20
|
-
{
|
|
21
|
-
onClick,
|
|
22
|
-
disabled: isMutating ? true : void 0,
|
|
23
|
-
...props
|
|
24
|
-
},
|
|
25
|
-
void 0,
|
|
26
|
-
false,
|
|
27
|
-
{
|
|
28
|
-
fileName: "/home/runner/work/contember/contember/packages/interface/src/components/binding/DeleteEntityTrigger.tsx",
|
|
29
|
-
lineNumber: 30,
|
|
30
|
-
columnNumber: 3
|
|
31
|
-
},
|
|
32
|
-
void 0
|
|
33
|
-
);
|
|
34
|
-
};
|
|
35
|
-
exports.DeleteEntityTrigger = DeleteEntityTrigger;
|
|
36
|
-
//# sourceMappingURL=DeleteEntityTrigger.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteEntityTrigger.cjs","sources":["../../../../../../packages/interface/src/components/binding/DeleteEntityTrigger.tsx"],"sourcesContent":["import { ComponentType, ReactNode, useCallback } from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { ErrorPersistResult, SuccessfulPersistResult, useEntity, useMutationState, usePersist } from '@contember/react-binding'\n\n\nconst SlotButton = Slot as ComponentType<React.ButtonHTMLAttributes<HTMLButtonElement>>\n\nexport interface DeleteEntityTriggerProps {\n\timmediatePersist?: boolean\n\tchildren: ReactNode\n\tonPersistSuccess?: (result: SuccessfulPersistResult) => void\n\tonPersistError?: (result: ErrorPersistResult) => void\n}\n\nexport const DeleteEntityTrigger = ({ immediatePersist, onPersistError, onPersistSuccess, ...props }: DeleteEntityTriggerProps) => {\n\tconst parentEntity = useEntity()\n\tconst triggerPersist = usePersist()\n\tconst isMutating = useMutationState()\n\tconst onClick = useCallback(() => {\n\t\tparentEntity.deleteEntity()\n\n\t\tif (immediatePersist) {\n\t\t\ttriggerPersist()\n\t\t\t\t.then(onPersistSuccess)\n\t\t\t\t.catch(onPersistError)\n\t\t}\n\t}, [parentEntity, immediatePersist, triggerPersist, onPersistSuccess, onPersistError])\n\n\treturn (\n\t\t<SlotButton\n\t\t\tonClick={onClick}\n\t\t\tdisabled={isMutating ? true : undefined}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n"],"names":["Slot","useEntity","usePersist","useMutationState","useCallback","jsxDEV","this"],"mappings":";;;;;;AAKA,MAAM,aAAaA,UAAAA;AASN,MAAA,sBAAsB,CAAC,EAAE,kBAAkB,gBAAgB,kBAAkB,GAAG,YAAsC;AAClI,QAAM,eAAeC,aAAAA;AACrB,QAAM,iBAAiBC,aAAAA;AACvB,QAAM,aAAaC,aAAAA;AACb,QAAA,UAAUC,MAAAA,YAAY,MAAM;AACjC,iBAAa,aAAa;AAE1B,QAAI,kBAAkB;AACrB,qBAAA,EACE,KAAK,gBAAgB,EACrB,MAAM,cAAc;AAAA,IACvB;AAAA,EAAA,GACE,CAAC,cAAc,kBAAkB,gBAAgB,kBAAkB,cAAc,CAAC;AAGpF,SAAAC,8BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA;AAAA,MACA,UAAU,aAAa,OAAO;AAAA,MAC7B,GAAG;AAAA,IAAA;AAAA,IAHL;AAAA,IAAA;AAAA,IAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA;AAAA,IAAAC;AAAAA,EAAA;AAMF;;"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { jsxDEV } from "react/jsx-dev-runtime";
|
|
2
|
-
import { useCallback } from "react";
|
|
3
|
-
import { Slot } from "@radix-ui/react-slot";
|
|
4
|
-
import { useEntity, usePersist, useMutationState } from "@contember/react-binding";
|
|
5
|
-
const SlotButton = Slot;
|
|
6
|
-
const DeleteEntityTrigger = ({ immediatePersist, onPersistError, onPersistSuccess, ...props }) => {
|
|
7
|
-
const parentEntity = useEntity();
|
|
8
|
-
const triggerPersist = usePersist();
|
|
9
|
-
const isMutating = useMutationState();
|
|
10
|
-
const onClick = useCallback(() => {
|
|
11
|
-
parentEntity.deleteEntity();
|
|
12
|
-
if (immediatePersist) {
|
|
13
|
-
triggerPersist().then(onPersistSuccess).catch(onPersistError);
|
|
14
|
-
}
|
|
15
|
-
}, [parentEntity, immediatePersist, triggerPersist, onPersistSuccess, onPersistError]);
|
|
16
|
-
return /* @__PURE__ */ jsxDEV(
|
|
17
|
-
SlotButton,
|
|
18
|
-
{
|
|
19
|
-
onClick,
|
|
20
|
-
disabled: isMutating ? true : void 0,
|
|
21
|
-
...props
|
|
22
|
-
},
|
|
23
|
-
void 0,
|
|
24
|
-
false,
|
|
25
|
-
{
|
|
26
|
-
fileName: "/home/runner/work/contember/contember/packages/interface/src/components/binding/DeleteEntityTrigger.tsx",
|
|
27
|
-
lineNumber: 30,
|
|
28
|
-
columnNumber: 3
|
|
29
|
-
},
|
|
30
|
-
void 0
|
|
31
|
-
);
|
|
32
|
-
};
|
|
33
|
-
export {
|
|
34
|
-
DeleteEntityTrigger
|
|
35
|
-
};
|
|
36
|
-
//# sourceMappingURL=DeleteEntityTrigger.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteEntityTrigger.js","sources":["../../../../../../packages/interface/src/components/binding/DeleteEntityTrigger.tsx"],"sourcesContent":["import { ComponentType, ReactNode, useCallback } from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { ErrorPersistResult, SuccessfulPersistResult, useEntity, useMutationState, usePersist } from '@contember/react-binding'\n\n\nconst SlotButton = Slot as ComponentType<React.ButtonHTMLAttributes<HTMLButtonElement>>\n\nexport interface DeleteEntityTriggerProps {\n\timmediatePersist?: boolean\n\tchildren: ReactNode\n\tonPersistSuccess?: (result: SuccessfulPersistResult) => void\n\tonPersistError?: (result: ErrorPersistResult) => void\n}\n\nexport const DeleteEntityTrigger = ({ immediatePersist, onPersistError, onPersistSuccess, ...props }: DeleteEntityTriggerProps) => {\n\tconst parentEntity = useEntity()\n\tconst triggerPersist = usePersist()\n\tconst isMutating = useMutationState()\n\tconst onClick = useCallback(() => {\n\t\tparentEntity.deleteEntity()\n\n\t\tif (immediatePersist) {\n\t\t\ttriggerPersist()\n\t\t\t\t.then(onPersistSuccess)\n\t\t\t\t.catch(onPersistError)\n\t\t}\n\t}, [parentEntity, immediatePersist, triggerPersist, onPersistSuccess, onPersistError])\n\n\treturn (\n\t\t<SlotButton\n\t\t\tonClick={onClick}\n\t\t\tdisabled={isMutating ? true : undefined}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n"],"names":["this"],"mappings":";;;;AAKA,MAAM,aAAa;AASN,MAAA,sBAAsB,CAAC,EAAE,kBAAkB,gBAAgB,kBAAkB,GAAG,YAAsC;AAClI,QAAM,eAAe;AACrB,QAAM,iBAAiB;AACvB,QAAM,aAAa;AACb,QAAA,UAAU,YAAY,MAAM;AACjC,iBAAa,aAAa;AAE1B,QAAI,kBAAkB;AACrB,qBAAA,EACE,KAAK,gBAAgB,EACrB,MAAM,cAAc;AAAA,IACvB;AAAA,EAAA,GACE,CAAC,cAAc,kBAAkB,gBAAgB,kBAAkB,cAAc,CAAC;AAGpF,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA;AAAA,MACA,UAAU,aAAa,OAAO;AAAA,MAC7B,GAAG;AAAA,IAAA;AAAA,IAHL;AAAA,IAAA;AAAA,IAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA;AAAA,IAAAA;AAAAA,EAAA;AAMF;"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const jsxDevRuntime = require("react/jsx-dev-runtime");
|
|
4
|
-
const reactBinding = require("@contember/react-binding");
|
|
5
|
-
const React = require("react");
|
|
6
|
-
const reactSlot = require("@radix-ui/react-slot");
|
|
7
|
-
const utilities = require("@contember/utilities");
|
|
8
|
-
const SlotButton = reactSlot.Slot;
|
|
9
|
-
const PersistTrigger = ({ onPersistError, onPersistSuccess, ...props }) => {
|
|
10
|
-
const isMutating = reactBinding.useMutationState();
|
|
11
|
-
const isDirty = reactBinding.useDirtinessState();
|
|
12
|
-
const triggerPersist = reactBinding.usePersist();
|
|
13
|
-
const onClick = React.useCallback(() => {
|
|
14
|
-
triggerPersist().then(onPersistSuccess).catch(onPersistError);
|
|
15
|
-
}, [onPersistError, onPersistSuccess, triggerPersist]);
|
|
16
|
-
const isDisabled = isMutating || !isDirty;
|
|
17
|
-
return /* @__PURE__ */ jsxDevRuntime.jsxDEV(
|
|
18
|
-
SlotButton,
|
|
19
|
-
{
|
|
20
|
-
disabled: isDisabled,
|
|
21
|
-
"data-dirty": utilities.dataAttribute(isDirty),
|
|
22
|
-
"data-loading": utilities.dataAttribute(isMutating),
|
|
23
|
-
onClick,
|
|
24
|
-
...props
|
|
25
|
-
},
|
|
26
|
-
void 0,
|
|
27
|
-
false,
|
|
28
|
-
{
|
|
29
|
-
fileName: "/home/runner/work/contember/contember/packages/interface/src/components/binding/PersistTrigger.tsx",
|
|
30
|
-
lineNumber: 27,
|
|
31
|
-
columnNumber: 3
|
|
32
|
-
},
|
|
33
|
-
void 0
|
|
34
|
-
);
|
|
35
|
-
};
|
|
36
|
-
exports.PersistTrigger = PersistTrigger;
|
|
37
|
-
//# sourceMappingURL=PersistTrigger.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PersistTrigger.cjs","sources":["../../../../../../packages/interface/src/components/binding/PersistTrigger.tsx"],"sourcesContent":["import { ErrorPersistResult, SuccessfulPersistResult, useDirtinessState, useMutationState, usePersist } from '@contember/react-binding'\nimport { ComponentType, ReactElement, useCallback } from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { dataAttribute } from '@contember/utilities'\n\nconst SlotButton = Slot as ComponentType<React.ButtonHTMLAttributes<HTMLButtonElement>>\n\nexport interface PersistTriggerProps {\n\tchildren: ReactElement\n\tonPersistSuccess?: (result: SuccessfulPersistResult) => void\n\tonPersistError?: (result: ErrorPersistResult) => void\n}\n\nexport const PersistTrigger = ({ onPersistError, onPersistSuccess, ...props }: PersistTriggerProps) => {\n\tconst isMutating = useMutationState()\n\tconst isDirty = useDirtinessState()\n\tconst triggerPersist = usePersist()\n\tconst onClick = useCallback(() => {\n\t\ttriggerPersist()\n\t\t\t.then(onPersistSuccess)\n\t\t\t.catch(onPersistError)\n\t}, [onPersistError, onPersistSuccess, triggerPersist])\n\n\tconst isDisabled = isMutating || !isDirty\n\n\treturn (\n\t\t<SlotButton\n\t\t\tdisabled={isDisabled}\n\t\t\tdata-dirty={dataAttribute(isDirty)}\n\t\t\tdata-loading={dataAttribute(isMutating)}\n\t\t\tonClick={onClick}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n"],"names":["Slot","useMutationState","useDirtinessState","usePersist","useCallback","jsxDEV","dataAttribute","this"],"mappings":";;;;;;;AAKA,MAAM,aAAaA,UAAAA;AAQZ,MAAM,iBAAiB,CAAC,EAAE,gBAAgB,kBAAkB,GAAG,YAAiC;AACtG,QAAM,aAAaC,aAAAA;AACnB,QAAM,UAAUC,aAAAA;AAChB,QAAM,iBAAiBC,aAAAA;AACjB,QAAA,UAAUC,MAAAA,YAAY,MAAM;AACjC,mBAAA,EACE,KAAK,gBAAgB,EACrB,MAAM,cAAc;AAAA,EACpB,GAAA,CAAC,gBAAgB,kBAAkB,cAAc,CAAC;AAE/C,QAAA,aAAa,cAAc,CAAC;AAGjC,SAAAC,8BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,UAAU;AAAA,MACV,cAAYC,wBAAc,OAAO;AAAA,MACjC,gBAAcA,wBAAc,UAAU;AAAA,MACtC;AAAA,MACC,GAAG;AAAA,IAAA;AAAA,IALL;AAAA,IAAA;AAAA,IAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA;AAAA,IAAAC;AAAAA,EAAA;AAQF;;"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { jsxDEV } from "react/jsx-dev-runtime";
|
|
2
|
-
import { useMutationState, useDirtinessState, usePersist } from "@contember/react-binding";
|
|
3
|
-
import { useCallback } from "react";
|
|
4
|
-
import { Slot } from "@radix-ui/react-slot";
|
|
5
|
-
import { dataAttribute } from "@contember/utilities";
|
|
6
|
-
const SlotButton = Slot;
|
|
7
|
-
const PersistTrigger = ({ onPersistError, onPersistSuccess, ...props }) => {
|
|
8
|
-
const isMutating = useMutationState();
|
|
9
|
-
const isDirty = useDirtinessState();
|
|
10
|
-
const triggerPersist = usePersist();
|
|
11
|
-
const onClick = useCallback(() => {
|
|
12
|
-
triggerPersist().then(onPersistSuccess).catch(onPersistError);
|
|
13
|
-
}, [onPersistError, onPersistSuccess, triggerPersist]);
|
|
14
|
-
const isDisabled = isMutating || !isDirty;
|
|
15
|
-
return /* @__PURE__ */ jsxDEV(
|
|
16
|
-
SlotButton,
|
|
17
|
-
{
|
|
18
|
-
disabled: isDisabled,
|
|
19
|
-
"data-dirty": dataAttribute(isDirty),
|
|
20
|
-
"data-loading": dataAttribute(isMutating),
|
|
21
|
-
onClick,
|
|
22
|
-
...props
|
|
23
|
-
},
|
|
24
|
-
void 0,
|
|
25
|
-
false,
|
|
26
|
-
{
|
|
27
|
-
fileName: "/home/runner/work/contember/contember/packages/interface/src/components/binding/PersistTrigger.tsx",
|
|
28
|
-
lineNumber: 27,
|
|
29
|
-
columnNumber: 3
|
|
30
|
-
},
|
|
31
|
-
void 0
|
|
32
|
-
);
|
|
33
|
-
};
|
|
34
|
-
export {
|
|
35
|
-
PersistTrigger
|
|
36
|
-
};
|
|
37
|
-
//# sourceMappingURL=PersistTrigger.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PersistTrigger.js","sources":["../../../../../../packages/interface/src/components/binding/PersistTrigger.tsx"],"sourcesContent":["import { ErrorPersistResult, SuccessfulPersistResult, useDirtinessState, useMutationState, usePersist } from '@contember/react-binding'\nimport { ComponentType, ReactElement, useCallback } from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { dataAttribute } from '@contember/utilities'\n\nconst SlotButton = Slot as ComponentType<React.ButtonHTMLAttributes<HTMLButtonElement>>\n\nexport interface PersistTriggerProps {\n\tchildren: ReactElement\n\tonPersistSuccess?: (result: SuccessfulPersistResult) => void\n\tonPersistError?: (result: ErrorPersistResult) => void\n}\n\nexport const PersistTrigger = ({ onPersistError, onPersistSuccess, ...props }: PersistTriggerProps) => {\n\tconst isMutating = useMutationState()\n\tconst isDirty = useDirtinessState()\n\tconst triggerPersist = usePersist()\n\tconst onClick = useCallback(() => {\n\t\ttriggerPersist()\n\t\t\t.then(onPersistSuccess)\n\t\t\t.catch(onPersistError)\n\t}, [onPersistError, onPersistSuccess, triggerPersist])\n\n\tconst isDisabled = isMutating || !isDirty\n\n\treturn (\n\t\t<SlotButton\n\t\t\tdisabled={isDisabled}\n\t\t\tdata-dirty={dataAttribute(isDirty)}\n\t\t\tdata-loading={dataAttribute(isMutating)}\n\t\t\tonClick={onClick}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n"],"names":["this"],"mappings":";;;;;AAKA,MAAM,aAAa;AAQZ,MAAM,iBAAiB,CAAC,EAAE,gBAAgB,kBAAkB,GAAG,YAAiC;AACtG,QAAM,aAAa;AACnB,QAAM,UAAU;AAChB,QAAM,iBAAiB;AACjB,QAAA,UAAU,YAAY,MAAM;AACjC,mBAAA,EACE,KAAK,gBAAgB,EACrB,MAAM,cAAc;AAAA,EACpB,GAAA,CAAC,gBAAgB,kBAAkB,cAAc,CAAC;AAE/C,QAAA,aAAa,cAAc,CAAC;AAGjC,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,UAAU;AAAA,MACV,cAAY,cAAc,OAAO;AAAA,MACjC,gBAAc,cAAc,UAAU;AAAA,MACtC;AAAA,MACC,GAAG;AAAA,IAAA;AAAA,IALL;AAAA,IAAA;AAAA,IAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA;AAAA,IAAAA;AAAAA,EAAA;AAQF;"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
-
const React = require("react");
|
|
5
|
-
const reactSlot = require("@radix-ui/react-slot");
|
|
6
|
-
const reactBinding = require("@contember/react-binding");
|
|
7
|
-
const SlotButton = reactSlot.Slot;
|
|
8
|
-
const DeleteEntityTrigger = ({ immediatePersist, onPersistError, onPersistSuccess, ...props }) => {
|
|
9
|
-
const parentEntity = reactBinding.useEntity();
|
|
10
|
-
const triggerPersist = reactBinding.usePersist();
|
|
11
|
-
const isMutating = reactBinding.useMutationState();
|
|
12
|
-
const onClick = React.useCallback(() => {
|
|
13
|
-
parentEntity.deleteEntity();
|
|
14
|
-
if (immediatePersist) {
|
|
15
|
-
triggerPersist().then(onPersistSuccess).catch(onPersistError);
|
|
16
|
-
}
|
|
17
|
-
}, [parentEntity, immediatePersist, triggerPersist, onPersistSuccess, onPersistError]);
|
|
18
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
19
|
-
SlotButton,
|
|
20
|
-
{
|
|
21
|
-
onClick,
|
|
22
|
-
disabled: isMutating ? true : void 0,
|
|
23
|
-
...props
|
|
24
|
-
}
|
|
25
|
-
);
|
|
26
|
-
};
|
|
27
|
-
exports.DeleteEntityTrigger = DeleteEntityTrigger;
|
|
28
|
-
//# sourceMappingURL=DeleteEntityTrigger.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteEntityTrigger.cjs","sources":["../../../../../../packages/interface/src/components/binding/DeleteEntityTrigger.tsx"],"sourcesContent":["import { ComponentType, ReactNode, useCallback } from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { ErrorPersistResult, SuccessfulPersistResult, useEntity, useMutationState, usePersist } from '@contember/react-binding'\n\n\nconst SlotButton = Slot as ComponentType<React.ButtonHTMLAttributes<HTMLButtonElement>>\n\nexport interface DeleteEntityTriggerProps {\n\timmediatePersist?: boolean\n\tchildren: ReactNode\n\tonPersistSuccess?: (result: SuccessfulPersistResult) => void\n\tonPersistError?: (result: ErrorPersistResult) => void\n}\n\nexport const DeleteEntityTrigger = ({ immediatePersist, onPersistError, onPersistSuccess, ...props }: DeleteEntityTriggerProps) => {\n\tconst parentEntity = useEntity()\n\tconst triggerPersist = usePersist()\n\tconst isMutating = useMutationState()\n\tconst onClick = useCallback(() => {\n\t\tparentEntity.deleteEntity()\n\n\t\tif (immediatePersist) {\n\t\t\ttriggerPersist()\n\t\t\t\t.then(onPersistSuccess)\n\t\t\t\t.catch(onPersistError)\n\t\t}\n\t}, [parentEntity, immediatePersist, triggerPersist, onPersistSuccess, onPersistError])\n\n\treturn (\n\t\t<SlotButton\n\t\t\tonClick={onClick}\n\t\t\tdisabled={isMutating ? true : undefined}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n"],"names":["Slot","useEntity","usePersist","useMutationState","useCallback","jsx"],"mappings":";;;;;;AAKA,MAAM,aAAaA,UAAAA;AASN,MAAA,sBAAsB,CAAC,EAAE,kBAAkB,gBAAgB,kBAAkB,GAAG,YAAsC;AAClI,QAAM,eAAeC,aAAAA;AACrB,QAAM,iBAAiBC,aAAAA;AACvB,QAAM,aAAaC,aAAAA;AACb,QAAA,UAAUC,MAAAA,YAAY,MAAM;AACjC,iBAAa,aAAa;AAE1B,QAAI,kBAAkB;AACrB,qBAAA,EACE,KAAK,gBAAgB,EACrB,MAAM,cAAc;AAAA,IACvB;AAAA,EAAA,GACE,CAAC,cAAc,kBAAkB,gBAAgB,kBAAkB,cAAc,CAAC;AAGpF,SAAAC,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA;AAAA,MACA,UAAU,aAAa,OAAO;AAAA,MAC7B,GAAG;AAAA,IAAA;AAAA,EAAA;AAGP;;"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useCallback } from "react";
|
|
3
|
-
import { Slot } from "@radix-ui/react-slot";
|
|
4
|
-
import { useEntity, usePersist, useMutationState } from "@contember/react-binding";
|
|
5
|
-
const SlotButton = Slot;
|
|
6
|
-
const DeleteEntityTrigger = ({ immediatePersist, onPersistError, onPersistSuccess, ...props }) => {
|
|
7
|
-
const parentEntity = useEntity();
|
|
8
|
-
const triggerPersist = usePersist();
|
|
9
|
-
const isMutating = useMutationState();
|
|
10
|
-
const onClick = useCallback(() => {
|
|
11
|
-
parentEntity.deleteEntity();
|
|
12
|
-
if (immediatePersist) {
|
|
13
|
-
triggerPersist().then(onPersistSuccess).catch(onPersistError);
|
|
14
|
-
}
|
|
15
|
-
}, [parentEntity, immediatePersist, triggerPersist, onPersistSuccess, onPersistError]);
|
|
16
|
-
return /* @__PURE__ */ jsx(
|
|
17
|
-
SlotButton,
|
|
18
|
-
{
|
|
19
|
-
onClick,
|
|
20
|
-
disabled: isMutating ? true : void 0,
|
|
21
|
-
...props
|
|
22
|
-
}
|
|
23
|
-
);
|
|
24
|
-
};
|
|
25
|
-
export {
|
|
26
|
-
DeleteEntityTrigger
|
|
27
|
-
};
|
|
28
|
-
//# sourceMappingURL=DeleteEntityTrigger.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteEntityTrigger.js","sources":["../../../../../../packages/interface/src/components/binding/DeleteEntityTrigger.tsx"],"sourcesContent":["import { ComponentType, ReactNode, useCallback } from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { ErrorPersistResult, SuccessfulPersistResult, useEntity, useMutationState, usePersist } from '@contember/react-binding'\n\n\nconst SlotButton = Slot as ComponentType<React.ButtonHTMLAttributes<HTMLButtonElement>>\n\nexport interface DeleteEntityTriggerProps {\n\timmediatePersist?: boolean\n\tchildren: ReactNode\n\tonPersistSuccess?: (result: SuccessfulPersistResult) => void\n\tonPersistError?: (result: ErrorPersistResult) => void\n}\n\nexport const DeleteEntityTrigger = ({ immediatePersist, onPersistError, onPersistSuccess, ...props }: DeleteEntityTriggerProps) => {\n\tconst parentEntity = useEntity()\n\tconst triggerPersist = usePersist()\n\tconst isMutating = useMutationState()\n\tconst onClick = useCallback(() => {\n\t\tparentEntity.deleteEntity()\n\n\t\tif (immediatePersist) {\n\t\t\ttriggerPersist()\n\t\t\t\t.then(onPersistSuccess)\n\t\t\t\t.catch(onPersistError)\n\t\t}\n\t}, [parentEntity, immediatePersist, triggerPersist, onPersistSuccess, onPersistError])\n\n\treturn (\n\t\t<SlotButton\n\t\t\tonClick={onClick}\n\t\t\tdisabled={isMutating ? true : undefined}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n"],"names":[],"mappings":";;;;AAKA,MAAM,aAAa;AASN,MAAA,sBAAsB,CAAC,EAAE,kBAAkB,gBAAgB,kBAAkB,GAAG,YAAsC;AAClI,QAAM,eAAe;AACrB,QAAM,iBAAiB;AACvB,QAAM,aAAa;AACb,QAAA,UAAU,YAAY,MAAM;AACjC,iBAAa,aAAa;AAE1B,QAAI,kBAAkB;AACrB,qBAAA,EACE,KAAK,gBAAgB,EACrB,MAAM,cAAc;AAAA,IACvB;AAAA,EAAA,GACE,CAAC,cAAc,kBAAkB,gBAAgB,kBAAkB,cAAc,CAAC;AAGpF,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA;AAAA,MACA,UAAU,aAAa,OAAO;AAAA,MAC7B,GAAG;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
-
const reactBinding = require("@contember/react-binding");
|
|
5
|
-
const React = require("react");
|
|
6
|
-
const reactSlot = require("@radix-ui/react-slot");
|
|
7
|
-
const utilities = require("@contember/utilities");
|
|
8
|
-
const SlotButton = reactSlot.Slot;
|
|
9
|
-
const PersistTrigger = ({ onPersistError, onPersistSuccess, ...props }) => {
|
|
10
|
-
const isMutating = reactBinding.useMutationState();
|
|
11
|
-
const isDirty = reactBinding.useDirtinessState();
|
|
12
|
-
const triggerPersist = reactBinding.usePersist();
|
|
13
|
-
const onClick = React.useCallback(() => {
|
|
14
|
-
triggerPersist().then(onPersistSuccess).catch(onPersistError);
|
|
15
|
-
}, [onPersistError, onPersistSuccess, triggerPersist]);
|
|
16
|
-
const isDisabled = isMutating || !isDirty;
|
|
17
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
18
|
-
SlotButton,
|
|
19
|
-
{
|
|
20
|
-
disabled: isDisabled,
|
|
21
|
-
"data-dirty": utilities.dataAttribute(isDirty),
|
|
22
|
-
"data-loading": utilities.dataAttribute(isMutating),
|
|
23
|
-
onClick,
|
|
24
|
-
...props
|
|
25
|
-
}
|
|
26
|
-
);
|
|
27
|
-
};
|
|
28
|
-
exports.PersistTrigger = PersistTrigger;
|
|
29
|
-
//# sourceMappingURL=PersistTrigger.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PersistTrigger.cjs","sources":["../../../../../../packages/interface/src/components/binding/PersistTrigger.tsx"],"sourcesContent":["import { ErrorPersistResult, SuccessfulPersistResult, useDirtinessState, useMutationState, usePersist } from '@contember/react-binding'\nimport { ComponentType, ReactElement, useCallback } from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { dataAttribute } from '@contember/utilities'\n\nconst SlotButton = Slot as ComponentType<React.ButtonHTMLAttributes<HTMLButtonElement>>\n\nexport interface PersistTriggerProps {\n\tchildren: ReactElement\n\tonPersistSuccess?: (result: SuccessfulPersistResult) => void\n\tonPersistError?: (result: ErrorPersistResult) => void\n}\n\nexport const PersistTrigger = ({ onPersistError, onPersistSuccess, ...props }: PersistTriggerProps) => {\n\tconst isMutating = useMutationState()\n\tconst isDirty = useDirtinessState()\n\tconst triggerPersist = usePersist()\n\tconst onClick = useCallback(() => {\n\t\ttriggerPersist()\n\t\t\t.then(onPersistSuccess)\n\t\t\t.catch(onPersistError)\n\t}, [onPersistError, onPersistSuccess, triggerPersist])\n\n\tconst isDisabled = isMutating || !isDirty\n\n\treturn (\n\t\t<SlotButton\n\t\t\tdisabled={isDisabled}\n\t\t\tdata-dirty={dataAttribute(isDirty)}\n\t\t\tdata-loading={dataAttribute(isMutating)}\n\t\t\tonClick={onClick}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n"],"names":["Slot","useMutationState","useDirtinessState","usePersist","useCallback","jsx","dataAttribute"],"mappings":";;;;;;;AAKA,MAAM,aAAaA,UAAAA;AAQZ,MAAM,iBAAiB,CAAC,EAAE,gBAAgB,kBAAkB,GAAG,YAAiC;AACtG,QAAM,aAAaC,aAAAA;AACnB,QAAM,UAAUC,aAAAA;AAChB,QAAM,iBAAiBC,aAAAA;AACjB,QAAA,UAAUC,MAAAA,YAAY,MAAM;AACjC,mBAAA,EACE,KAAK,gBAAgB,EACrB,MAAM,cAAc;AAAA,EACpB,GAAA,CAAC,gBAAgB,kBAAkB,cAAc,CAAC;AAE/C,QAAA,aAAa,cAAc,CAAC;AAGjC,SAAAC,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,UAAU;AAAA,MACV,cAAYC,wBAAc,OAAO;AAAA,MACjC,gBAAcA,wBAAc,UAAU;AAAA,MACtC;AAAA,MACC,GAAG;AAAA,IAAA;AAAA,EAAA;AAGP;;"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useMutationState, useDirtinessState, usePersist } from "@contember/react-binding";
|
|
3
|
-
import { useCallback } from "react";
|
|
4
|
-
import { Slot } from "@radix-ui/react-slot";
|
|
5
|
-
import { dataAttribute } from "@contember/utilities";
|
|
6
|
-
const SlotButton = Slot;
|
|
7
|
-
const PersistTrigger = ({ onPersistError, onPersistSuccess, ...props }) => {
|
|
8
|
-
const isMutating = useMutationState();
|
|
9
|
-
const isDirty = useDirtinessState();
|
|
10
|
-
const triggerPersist = usePersist();
|
|
11
|
-
const onClick = useCallback(() => {
|
|
12
|
-
triggerPersist().then(onPersistSuccess).catch(onPersistError);
|
|
13
|
-
}, [onPersistError, onPersistSuccess, triggerPersist]);
|
|
14
|
-
const isDisabled = isMutating || !isDirty;
|
|
15
|
-
return /* @__PURE__ */ jsx(
|
|
16
|
-
SlotButton,
|
|
17
|
-
{
|
|
18
|
-
disabled: isDisabled,
|
|
19
|
-
"data-dirty": dataAttribute(isDirty),
|
|
20
|
-
"data-loading": dataAttribute(isMutating),
|
|
21
|
-
onClick,
|
|
22
|
-
...props
|
|
23
|
-
}
|
|
24
|
-
);
|
|
25
|
-
};
|
|
26
|
-
export {
|
|
27
|
-
PersistTrigger
|
|
28
|
-
};
|
|
29
|
-
//# sourceMappingURL=PersistTrigger.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PersistTrigger.js","sources":["../../../../../../packages/interface/src/components/binding/PersistTrigger.tsx"],"sourcesContent":["import { ErrorPersistResult, SuccessfulPersistResult, useDirtinessState, useMutationState, usePersist } from '@contember/react-binding'\nimport { ComponentType, ReactElement, useCallback } from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { dataAttribute } from '@contember/utilities'\n\nconst SlotButton = Slot as ComponentType<React.ButtonHTMLAttributes<HTMLButtonElement>>\n\nexport interface PersistTriggerProps {\n\tchildren: ReactElement\n\tonPersistSuccess?: (result: SuccessfulPersistResult) => void\n\tonPersistError?: (result: ErrorPersistResult) => void\n}\n\nexport const PersistTrigger = ({ onPersistError, onPersistSuccess, ...props }: PersistTriggerProps) => {\n\tconst isMutating = useMutationState()\n\tconst isDirty = useDirtinessState()\n\tconst triggerPersist = usePersist()\n\tconst onClick = useCallback(() => {\n\t\ttriggerPersist()\n\t\t\t.then(onPersistSuccess)\n\t\t\t.catch(onPersistError)\n\t}, [onPersistError, onPersistSuccess, triggerPersist])\n\n\tconst isDisabled = isMutating || !isDirty\n\n\treturn (\n\t\t<SlotButton\n\t\t\tdisabled={isDisabled}\n\t\t\tdata-dirty={dataAttribute(isDirty)}\n\t\t\tdata-loading={dataAttribute(isMutating)}\n\t\t\tonClick={onClick}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n"],"names":[],"mappings":";;;;;AAKA,MAAM,aAAa;AAQZ,MAAM,iBAAiB,CAAC,EAAE,gBAAgB,kBAAkB,GAAG,YAAiC;AACtG,QAAM,aAAa;AACnB,QAAM,UAAU;AAChB,QAAM,iBAAiB;AACjB,QAAA,UAAU,YAAY,MAAM;AACjC,mBAAA,EACE,KAAK,gBAAgB,EACrB,MAAM,cAAc;AAAA,EACpB,GAAA,CAAC,gBAAgB,kBAAkB,cAAc,CAAC;AAE/C,QAAA,aAAa,cAAc,CAAC;AAGjC,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,UAAU;AAAA,MACV,cAAY,cAAc,OAAO;AAAA,MACjC,gBAAc,cAAc,UAAU;AAAA,MACtC;AAAA,MACC,GAAG;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
2
|
-
import { ErrorPersistResult, SuccessfulPersistResult } from '@contember/react-binding';
|
|
3
|
-
export interface DeleteEntityTriggerProps {
|
|
4
|
-
immediatePersist?: boolean;
|
|
5
|
-
children: ReactNode;
|
|
6
|
-
onPersistSuccess?: (result: SuccessfulPersistResult) => void;
|
|
7
|
-
onPersistError?: (result: ErrorPersistResult) => void;
|
|
8
|
-
}
|
|
9
|
-
export declare const DeleteEntityTrigger: ({ immediatePersist, onPersistError, onPersistSuccess, ...props }: DeleteEntityTriggerProps) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
-
//# sourceMappingURL=DeleteEntityTrigger.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteEntityTrigger.d.ts","sourceRoot":"","sources":["../../../../src/components/binding/DeleteEntityTrigger.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,SAAS,EAAe,MAAM,OAAO,CAAA;AAE7D,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAA2C,MAAM,0BAA0B,CAAA;AAK/H,MAAM,WAAW,wBAAwB;IACxC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,EAAE,SAAS,CAAA;IACnB,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,uBAAuB,KAAK,IAAI,CAAA;IAC5D,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAA;CACrD;AAED,eAAO,MAAM,mBAAmB,qEAAsE,wBAAwB,4CAqB7H,CAAA"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { ErrorPersistResult, SuccessfulPersistResult } from '@contember/react-binding';
|
|
2
|
-
import { ReactElement } from 'react';
|
|
3
|
-
export interface PersistTriggerProps {
|
|
4
|
-
children: ReactElement;
|
|
5
|
-
onPersistSuccess?: (result: SuccessfulPersistResult) => void;
|
|
6
|
-
onPersistError?: (result: ErrorPersistResult) => void;
|
|
7
|
-
}
|
|
8
|
-
export declare const PersistTrigger: ({ onPersistError, onPersistSuccess, ...props }: PersistTriggerProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
-
//# sourceMappingURL=PersistTrigger.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PersistTrigger.d.ts","sourceRoot":"","sources":["../../../../src/components/binding/PersistTrigger.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAmD,MAAM,0BAA0B,CAAA;AACvI,OAAO,EAAiB,YAAY,EAAe,MAAM,OAAO,CAAA;AAMhE,MAAM,WAAW,mBAAmB;IACnC,QAAQ,EAAE,YAAY,CAAA;IACtB,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,uBAAuB,KAAK,IAAI,CAAA;IAC5D,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAA;CACrD;AAED,eAAO,MAAM,cAAc,mDAAoD,mBAAmB,4CAqBjG,CAAA"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { ComponentType, ReactNode, useCallback } from 'react'
|
|
2
|
-
import { Slot } from '@radix-ui/react-slot'
|
|
3
|
-
import { ErrorPersistResult, SuccessfulPersistResult, useEntity, useMutationState, usePersist } from '@contember/react-binding'
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const SlotButton = Slot as ComponentType<React.ButtonHTMLAttributes<HTMLButtonElement>>
|
|
7
|
-
|
|
8
|
-
export interface DeleteEntityTriggerProps {
|
|
9
|
-
immediatePersist?: boolean
|
|
10
|
-
children: ReactNode
|
|
11
|
-
onPersistSuccess?: (result: SuccessfulPersistResult) => void
|
|
12
|
-
onPersistError?: (result: ErrorPersistResult) => void
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export const DeleteEntityTrigger = ({ immediatePersist, onPersistError, onPersistSuccess, ...props }: DeleteEntityTriggerProps) => {
|
|
16
|
-
const parentEntity = useEntity()
|
|
17
|
-
const triggerPersist = usePersist()
|
|
18
|
-
const isMutating = useMutationState()
|
|
19
|
-
const onClick = useCallback(() => {
|
|
20
|
-
parentEntity.deleteEntity()
|
|
21
|
-
|
|
22
|
-
if (immediatePersist) {
|
|
23
|
-
triggerPersist()
|
|
24
|
-
.then(onPersistSuccess)
|
|
25
|
-
.catch(onPersistError)
|
|
26
|
-
}
|
|
27
|
-
}, [parentEntity, immediatePersist, triggerPersist, onPersistSuccess, onPersistError])
|
|
28
|
-
|
|
29
|
-
return (
|
|
30
|
-
<SlotButton
|
|
31
|
-
onClick={onClick}
|
|
32
|
-
disabled={isMutating ? true : undefined}
|
|
33
|
-
{...props}
|
|
34
|
-
/>
|
|
35
|
-
)
|
|
36
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { ErrorPersistResult, SuccessfulPersistResult, useDirtinessState, useMutationState, usePersist } from '@contember/react-binding'
|
|
2
|
-
import { ComponentType, ReactElement, useCallback } from 'react'
|
|
3
|
-
import { Slot } from '@radix-ui/react-slot'
|
|
4
|
-
import { dataAttribute } from '@contember/utilities'
|
|
5
|
-
|
|
6
|
-
const SlotButton = Slot as ComponentType<React.ButtonHTMLAttributes<HTMLButtonElement>>
|
|
7
|
-
|
|
8
|
-
export interface PersistTriggerProps {
|
|
9
|
-
children: ReactElement
|
|
10
|
-
onPersistSuccess?: (result: SuccessfulPersistResult) => void
|
|
11
|
-
onPersistError?: (result: ErrorPersistResult) => void
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export const PersistTrigger = ({ onPersistError, onPersistSuccess, ...props }: PersistTriggerProps) => {
|
|
15
|
-
const isMutating = useMutationState()
|
|
16
|
-
const isDirty = useDirtinessState()
|
|
17
|
-
const triggerPersist = usePersist()
|
|
18
|
-
const onClick = useCallback(() => {
|
|
19
|
-
triggerPersist()
|
|
20
|
-
.then(onPersistSuccess)
|
|
21
|
-
.catch(onPersistError)
|
|
22
|
-
}, [onPersistError, onPersistSuccess, triggerPersist])
|
|
23
|
-
|
|
24
|
-
const isDisabled = isMutating || !isDirty
|
|
25
|
-
|
|
26
|
-
return (
|
|
27
|
-
<SlotButton
|
|
28
|
-
disabled={isDisabled}
|
|
29
|
-
data-dirty={dataAttribute(isDirty)}
|
|
30
|
-
data-loading={dataAttribute(isMutating)}
|
|
31
|
-
onClick={onClick}
|
|
32
|
-
{...props}
|
|
33
|
-
/>
|
|
34
|
-
)
|
|
35
|
-
}
|