@contember/interface 2.0.0-alpha.36 → 2.0.0-alpha.37
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 +0 -4
- package/dist/development/index.cjs.map +1 -1
- package/dist/development/index.js +0 -4
- package/dist/development/index.js.map +1 -1
- package/dist/production/index.cjs +0 -4
- package/dist/production/index.cjs.map +1 -1
- package/dist/production/index.js +0 -4
- package/dist/production/index.js.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/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -8
- package/src/components/binding/index.ts +0 -2
- 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-alpha.
|
|
4
|
+
"version": "2.0.0-alpha.37",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
7
7
|
"main": "./dist/production/index.js",
|
|
@@ -29,13 +29,12 @@
|
|
|
29
29
|
"ae:test": "api-extractor run"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@contember/react-binding": "2.0.0-alpha.
|
|
33
|
-
"@contember/react-client": "2.0.0-alpha.
|
|
34
|
-
"@contember/react-dataview": "2.0.0-alpha.
|
|
35
|
-
"@contember/react-devbar": "2.0.0-alpha.
|
|
36
|
-
"@contember/react-identity": "2.0.0-alpha.
|
|
37
|
-
"@contember/react-routing": "2.0.0-alpha.
|
|
38
|
-
"@contember/utilities": "2.0.0-alpha.36",
|
|
32
|
+
"@contember/react-binding": "2.0.0-alpha.37",
|
|
33
|
+
"@contember/react-client": "2.0.0-alpha.37",
|
|
34
|
+
"@contember/react-dataview": "2.0.0-alpha.37",
|
|
35
|
+
"@contember/react-devbar": "2.0.0-alpha.37",
|
|
36
|
+
"@contember/react-identity": "2.0.0-alpha.37",
|
|
37
|
+
"@contember/react-routing": "2.0.0-alpha.37",
|
|
39
38
|
"@radix-ui/react-slot": "^1.1.0",
|
|
40
39
|
"stacktracey": "^2.1.8"
|
|
41
40
|
},
|
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,UAAA;AASN,MAAA,sBAAsB,CAAC,EAAE,kBAAkB,gBAAgB,kBAAkB,GAAG,YAAsC;AAClI,QAAM,eAAeC,aAAAA,UAAU;AAC/B,QAAM,iBAAiBC,aAAAA,WAAW;AAClC,QAAM,aAAaC,aAAAA,iBAAiB;AAC9B,QAAA,UAAUC,MAAAA,YAAY,MAAM;AACjC,iBAAa,aAAa;AAE1B,QAAI,kBAAkB;AACrB,qBACE,EAAA,KAAK,gBAAgB,EACrB,MAAM,cAAc;AAAA,IAAA;AAAA,EACvB,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,EAIA;AAEF;;"}
|
|
@@ -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,UAAU;AAC/B,QAAM,iBAAiB,WAAW;AAClC,QAAM,aAAa,iBAAiB;AAC9B,QAAA,UAAU,YAAY,MAAM;AACjC,iBAAa,aAAa;AAE1B,QAAI,kBAAkB;AACrB,qBACE,EAAA,KAAK,gBAAgB,EACrB,MAAM,cAAc;AAAA,IAAA;AAAA,EACvB,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,EAIA;AAEF;"}
|
|
@@ -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,UAAA;AAQZ,MAAM,iBAAiB,CAAC,EAAE,gBAAgB,kBAAkB,GAAG,YAAiC;AACtG,QAAM,aAAaC,aAAAA,iBAAiB;AACpC,QAAM,UAAUC,aAAAA,kBAAkB;AAClC,QAAM,iBAAiBC,aAAAA,WAAW;AAC5B,QAAA,UAAUC,MAAAA,YAAY,MAAM;AACjC,mBACE,EAAA,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,EAMA;AAEF;;"}
|
|
@@ -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,iBAAiB;AACpC,QAAM,UAAU,kBAAkB;AAClC,QAAM,iBAAiB,WAAW;AAC5B,QAAA,UAAU,YAAY,MAAM;AACjC,mBACE,EAAA,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,EAMA;AAEF;"}
|
|
@@ -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,UAAA;AASN,MAAA,sBAAsB,CAAC,EAAE,kBAAkB,gBAAgB,kBAAkB,GAAG,YAAsC;AAClI,QAAM,eAAeC,aAAAA,UAAU;AAC/B,QAAM,iBAAiBC,aAAAA,WAAW;AAClC,QAAM,aAAaC,aAAAA,iBAAiB;AAC9B,QAAA,UAAUC,MAAAA,YAAY,MAAM;AACjC,iBAAa,aAAa;AAE1B,QAAI,kBAAkB;AACrB,qBACE,EAAA,KAAK,gBAAgB,EACrB,MAAM,cAAc;AAAA,IAAA;AAAA,EACvB,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,EACL;AAEF;;"}
|
|
@@ -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,UAAU;AAC/B,QAAM,iBAAiB,WAAW;AAClC,QAAM,aAAa,iBAAiB;AAC9B,QAAA,UAAU,YAAY,MAAM;AACjC,iBAAa,aAAa;AAE1B,QAAI,kBAAkB;AACrB,qBACE,EAAA,KAAK,gBAAgB,EACrB,MAAM,cAAc;AAAA,IAAA;AAAA,EACvB,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,EACL;AAEF;"}
|
|
@@ -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,UAAA;AAQZ,MAAM,iBAAiB,CAAC,EAAE,gBAAgB,kBAAkB,GAAG,YAAiC;AACtG,QAAM,aAAaC,aAAAA,iBAAiB;AACpC,QAAM,UAAUC,aAAAA,kBAAkB;AAClC,QAAM,iBAAiBC,aAAAA,WAAW;AAC5B,QAAA,UAAUC,MAAAA,YAAY,MAAM;AACjC,mBACE,EAAA,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,EACL;AAEF;;"}
|
|
@@ -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,iBAAiB;AACpC,QAAM,UAAU,kBAAkB;AAClC,QAAM,iBAAiB,WAAW;AAC5B,QAAA,UAAU,YAAY,MAAM;AACjC,mBACE,EAAA,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,EACL;AAEF;"}
|
|
@@ -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
|
-
}
|