drf-react-by-schema 0.28.22 → 0.28.24
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/@types/index.d.ts +8 -0
- package/dist/@types/index.d.ts.map +1 -1
- package/dist/api.d.ts +1 -1
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +4 -1
- package/dist/components/DataGridBySchemaEditable/DataGridDesktop.d.ts.map +1 -1
- package/dist/components/DataGridBySchemaEditable/DataGridDesktop.js +17 -2
- package/dist/components/GenericModelList.d.ts.map +1 -1
- package/dist/components/GenericModelList.js +6 -2
- package/dist/components/GenericRelatedModelList.d.ts.map +1 -1
- package/dist/components/GenericRelatedModelList.js +7 -1
- package/dist/components/HtmlContent.d.ts +13 -0
- package/dist/components/HtmlContent.d.ts.map +1 -0
- package/dist/components/HtmlContent.js +148 -0
- package/dist/components/details/DetailFieldBySchema.d.ts.map +1 -1
- package/dist/components/details/DetailFieldBySchema.js +7 -0
- package/dist/components/forms/FieldBySchema.d.ts.map +1 -1
- package/dist/components/forms/FieldBySchema.js +5 -0
- package/dist/components/forms/inputs/HtmlFieldBySchema.d.ts +9 -0
- package/dist/components/forms/inputs/HtmlFieldBySchema.d.ts.map +1 -0
- package/dist/components/forms/inputs/HtmlFieldBySchema.js +55 -0
- package/dist/components/forms/inputs/RichTextEditorInput.d.ts +24 -0
- package/dist/components/forms/inputs/RichTextEditorInput.d.ts.map +1 -0
- package/dist/components/forms/inputs/RichTextEditorInput.js +252 -0
- package/dist/context/DRFReactBySchemaContext.d.ts +3 -1
- package/dist/context/DRFReactBySchemaContext.d.ts.map +1 -1
- package/dist/context/DRFReactBySchemaContext.js +10 -1
- package/dist/context/DRFReactBySchemaProvider.d.ts +1 -1
- package/dist/context/DRFReactBySchemaProvider.d.ts.map +1 -1
- package/dist/context/DRFReactBySchemaProvider.js +3 -2
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/styles/texts.d.ts +25 -0
- package/dist/styles/texts.d.ts.map +1 -1
- package/dist/styles/texts.js +25 -0
- package/dist/utils/utils.d.ts +12 -0
- package/dist/utils/utils.d.ts.map +1 -1
- package/dist/utils/utils.js +69 -0
- package/package.json +13 -1
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
+
var t = {};
|
|
4
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
+
t[p] = s[p];
|
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
+
t[p[i]] = s[p[i]];
|
|
10
|
+
}
|
|
11
|
+
return t;
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.default = HtmlFieldBySchema;
|
|
18
|
+
const react_1 = __importDefault(require("react"));
|
|
19
|
+
const react_hook_form_1 = require("react-hook-form");
|
|
20
|
+
const utils_1 = require("../../../utils");
|
|
21
|
+
const TextFieldBySchema_1 = __importDefault(require("./TextFieldBySchema"));
|
|
22
|
+
const RichTextEditorInput_1 = __importDefault(require("./RichTextEditorInput"));
|
|
23
|
+
/**
|
|
24
|
+
* Rich-text field (`model_html`): the backend column holds HTML. Renders a
|
|
25
|
+
* Tiptap editor when the app has `@tiptap/react` + `@tiptap/starter-kit`
|
|
26
|
+
* installed, and falls back to a multiline text field otherwise.
|
|
27
|
+
*/
|
|
28
|
+
function HtmlFieldBySchema(_a) {
|
|
29
|
+
var _b;
|
|
30
|
+
var { name, schema, control, errors, fieldKey, index, sx, disabled, autoFocus, onValueChange } = _a, other = __rest(_a, ["name", "schema", "control", "errors", "fieldKey", "index", "sx", "disabled", "autoFocus", "onValueChange"]);
|
|
31
|
+
const libraries = (0, utils_1.getRichTextLibraries)();
|
|
32
|
+
if (!libraries) {
|
|
33
|
+
return (react_1.default.createElement(TextFieldBySchema_1.default, Object.assign({ name: name, schema: schema, control: control, errors: errors, multiline: true, minRows: 6, fieldKey: fieldKey, index: index, sx: sx, disabled: disabled, autoFocus: autoFocus }, other)));
|
|
34
|
+
}
|
|
35
|
+
if (!(name in schema)) {
|
|
36
|
+
console.error(`HtmlFieldBySchema: could not find schema for ${name}! Not rendering`);
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const fieldSchema = schema[name];
|
|
40
|
+
if (fieldKey && index && index >= 0) {
|
|
41
|
+
name = `${fieldKey}.${index}.${name}`;
|
|
42
|
+
}
|
|
43
|
+
const { error, helperText } = fieldKey && index && index >= 0
|
|
44
|
+
? (0, utils_1.errorProps)({ fieldKey, index, fieldKeyProp: name, errors })
|
|
45
|
+
: {
|
|
46
|
+
error: errors && Boolean(errors[name]),
|
|
47
|
+
helperText: errors && errors[name] ? (_b = errors[name]) === null || _b === void 0 ? void 0 : _b.message : fieldSchema.help_text || '',
|
|
48
|
+
};
|
|
49
|
+
return (react_1.default.createElement(react_hook_form_1.Controller, { name: name, control: control, render: ({ field }) => (react_1.default.createElement(RichTextEditorInput_1.default, { libraries: libraries, id: name, label: fieldSchema.label, required: (0, utils_1.isFieldRequired)(fieldSchema), disabled: fieldSchema.disabled === true || disabled, error: error, helperText: helperText, value: field.value, onChange: (html) => {
|
|
50
|
+
field.onChange(html);
|
|
51
|
+
if (onValueChange) {
|
|
52
|
+
onValueChange(html);
|
|
53
|
+
}
|
|
54
|
+
}, onBlur: field.onBlur, sx: sx, autoFocus: autoFocus })) }));
|
|
55
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { SxProps, Theme } from '@mui/material/styles';
|
|
3
|
+
import type { GenericValue } from '../../../@types';
|
|
4
|
+
export interface RichTextEditorInputProps {
|
|
5
|
+
/** Tiptap modules resolved by `getRichTextLibraries()`. */
|
|
6
|
+
libraries: GenericValue;
|
|
7
|
+
id?: string;
|
|
8
|
+
label?: string;
|
|
9
|
+
required?: boolean;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
error?: boolean;
|
|
12
|
+
helperText?: string;
|
|
13
|
+
value?: string | null;
|
|
14
|
+
onChange: (html: string) => void;
|
|
15
|
+
onBlur?: () => void;
|
|
16
|
+
sx?: SxProps<Theme>;
|
|
17
|
+
autoFocus?: boolean;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* WYSIWYG editor for `model_html` fields: Tiptap with an MUI toolbar. The value
|
|
21
|
+
* is HTML, the same format the Django admin (Summernote) writes to the column.
|
|
22
|
+
*/
|
|
23
|
+
export default function RichTextEditorInput({ libraries, id, label, required, disabled, error, helperText, value, onChange, onBlur, sx, autoFocus, }: RichTextEditorInputProps): React.JSX.Element | null;
|
|
24
|
+
//# sourceMappingURL=RichTextEditorInput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RichTextEditorInput.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/inputs/RichTextEditorInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAEpE,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAkC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAoCpD,MAAM,WAAW,wBAAwB;IACvC,2DAA2D;IAC3D,SAAS,EAAE,YAAY,CAAC;IACxB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAgND;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,SAAS,EACT,EAAE,EACF,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,UAAU,EACV,KAAK,EACL,QAAQ,EACR,MAAM,EACN,EAAqB,EACrB,SAAS,GACV,EAAE,wBAAwB,4BAsF1B"}
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.default = RichTextEditorInput;
|
|
40
|
+
const react_1 = __importStar(require("react"));
|
|
41
|
+
const styles_1 = require("@mui/material/styles");
|
|
42
|
+
const Box_1 = __importDefault(require("@mui/material/Box"));
|
|
43
|
+
const Button_1 = __importDefault(require("@mui/material/Button"));
|
|
44
|
+
const Dialog_1 = __importDefault(require("@mui/material/Dialog"));
|
|
45
|
+
const DialogActions_1 = __importDefault(require("@mui/material/DialogActions"));
|
|
46
|
+
const DialogContent_1 = __importDefault(require("@mui/material/DialogContent"));
|
|
47
|
+
const DialogTitle_1 = __importDefault(require("@mui/material/DialogTitle"));
|
|
48
|
+
const FormControl_1 = __importDefault(require("@mui/material/FormControl"));
|
|
49
|
+
const FormHelperText_1 = __importDefault(require("@mui/material/FormHelperText"));
|
|
50
|
+
const MenuItem_1 = __importDefault(require("@mui/material/MenuItem"));
|
|
51
|
+
const Select_1 = __importDefault(require("@mui/material/Select"));
|
|
52
|
+
const Stack_1 = __importDefault(require("@mui/material/Stack"));
|
|
53
|
+
const TextField_1 = __importDefault(require("@mui/material/TextField"));
|
|
54
|
+
const ToggleButton_1 = __importDefault(require("@mui/material/ToggleButton"));
|
|
55
|
+
const Tooltip_1 = __importDefault(require("@mui/material/Tooltip"));
|
|
56
|
+
const Typography_1 = __importDefault(require("@mui/material/Typography"));
|
|
57
|
+
const FormatBold_1 = __importDefault(require("@mui/icons-material/FormatBold"));
|
|
58
|
+
const FormatItalic_1 = __importDefault(require("@mui/icons-material/FormatItalic"));
|
|
59
|
+
const FormatUnderlined_1 = __importDefault(require("@mui/icons-material/FormatUnderlined"));
|
|
60
|
+
const StrikethroughS_1 = __importDefault(require("@mui/icons-material/StrikethroughS"));
|
|
61
|
+
const FormatListBulleted_1 = __importDefault(require("@mui/icons-material/FormatListBulleted"));
|
|
62
|
+
const FormatListNumbered_1 = __importDefault(require("@mui/icons-material/FormatListNumbered"));
|
|
63
|
+
const FormatQuote_1 = __importDefault(require("@mui/icons-material/FormatQuote"));
|
|
64
|
+
const Code_1 = __importDefault(require("@mui/icons-material/Code"));
|
|
65
|
+
const Link_1 = __importDefault(require("@mui/icons-material/Link"));
|
|
66
|
+
const LinkOff_1 = __importDefault(require("@mui/icons-material/LinkOff"));
|
|
67
|
+
const Undo_1 = __importDefault(require("@mui/icons-material/Undo"));
|
|
68
|
+
const Redo_1 = __importDefault(require("@mui/icons-material/Redo"));
|
|
69
|
+
const FormatClear_1 = __importDefault(require("@mui/icons-material/FormatClear"));
|
|
70
|
+
const HorizontalRule_1 = __importDefault(require("@mui/icons-material/HorizontalRule"));
|
|
71
|
+
const texts_1 = require("../../../styles/texts");
|
|
72
|
+
const editorSx = {
|
|
73
|
+
px: 2,
|
|
74
|
+
py: 1.5,
|
|
75
|
+
minHeight: 160,
|
|
76
|
+
'& .ProseMirror': { outline: 'none', minHeight: 140 },
|
|
77
|
+
'& .ProseMirror > * + *': { mt: 1 },
|
|
78
|
+
'& .ProseMirror p': { m: 0 },
|
|
79
|
+
'& .ProseMirror h1': { typography: 'h5', m: 0 },
|
|
80
|
+
'& .ProseMirror h2': { typography: 'h6', m: 0 },
|
|
81
|
+
'& .ProseMirror h3': { typography: 'subtitle1', m: 0 },
|
|
82
|
+
'& .ProseMirror ul, & .ProseMirror ol': { pl: 3, my: 0 },
|
|
83
|
+
'& .ProseMirror blockquote': {
|
|
84
|
+
borderLeft: 3,
|
|
85
|
+
borderColor: 'divider',
|
|
86
|
+
pl: 2,
|
|
87
|
+
ml: 0,
|
|
88
|
+
color: 'text.secondary',
|
|
89
|
+
},
|
|
90
|
+
'& .ProseMirror pre': {
|
|
91
|
+
p: 1,
|
|
92
|
+
borderRadius: 1,
|
|
93
|
+
backgroundColor: 'action.hover',
|
|
94
|
+
overflowX: 'auto',
|
|
95
|
+
},
|
|
96
|
+
'& .ProseMirror a': { color: 'primary.main', textDecoration: 'underline' },
|
|
97
|
+
'& .ProseMirror hr': { border: 0, borderTop: 1, borderColor: 'divider' },
|
|
98
|
+
};
|
|
99
|
+
/** Empty editor content comes back as `<p></p>`; the form expects an empty string. */
|
|
100
|
+
function normalizeHtml(value) {
|
|
101
|
+
const html = (value !== null && value !== void 0 ? value : '').trim();
|
|
102
|
+
return html === '<p></p>' ? '' : html;
|
|
103
|
+
}
|
|
104
|
+
function Toolbar({ editor, disabled, texts }) {
|
|
105
|
+
const [linkOpen, setLinkOpen] = (0, react_1.useState)(false);
|
|
106
|
+
const [linkUrl, setLinkUrl] = (0, react_1.useState)('');
|
|
107
|
+
if (!editor) {
|
|
108
|
+
return null;
|
|
109
|
+
}
|
|
110
|
+
const isActive = (name, attrs) => editor.isActive(name, attrs);
|
|
111
|
+
const blockValue = isActive('heading', { level: 1 })
|
|
112
|
+
? 'h1'
|
|
113
|
+
: isActive('heading', { level: 2 })
|
|
114
|
+
? 'h2'
|
|
115
|
+
: isActive('heading', { level: 3 })
|
|
116
|
+
? 'h3'
|
|
117
|
+
: 'p';
|
|
118
|
+
const setBlock = (value) => {
|
|
119
|
+
const chain = editor.chain().focus();
|
|
120
|
+
if (value === 'p') {
|
|
121
|
+
chain.setParagraph().run();
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
chain.setHeading({ level: Number(value.slice(1)) }).run();
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
const openLinkDialog = () => {
|
|
128
|
+
setLinkUrl(editor.getAttributes('link').href || '');
|
|
129
|
+
setLinkOpen(true);
|
|
130
|
+
};
|
|
131
|
+
const applyLink = () => {
|
|
132
|
+
const href = linkUrl.trim();
|
|
133
|
+
if (!href) {
|
|
134
|
+
editor.chain().focus().extendMarkRange('link').unsetLink().run();
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
editor.chain().focus().extendMarkRange('link').setLink({ href }).run();
|
|
138
|
+
}
|
|
139
|
+
setLinkOpen(false);
|
|
140
|
+
};
|
|
141
|
+
const button = (title, icon, active, onClick, activeValue = title) => (react_1.default.createElement(Tooltip_1.default, { title: title, key: title },
|
|
142
|
+
react_1.default.createElement("span", null,
|
|
143
|
+
react_1.default.createElement(ToggleButton_1.default, { value: activeValue, size: "small", selected: active, disabled: disabled, onChange: onClick, sx: { border: 0, borderRadius: 1, p: 0.5 } }, icon))));
|
|
144
|
+
return (react_1.default.createElement(Stack_1.default, { direction: "row", flexWrap: "wrap", alignItems: "center", gap: 0.25, sx: {
|
|
145
|
+
p: 0.5,
|
|
146
|
+
borderBottom: 1,
|
|
147
|
+
borderColor: 'divider',
|
|
148
|
+
backgroundColor: 'action.hover',
|
|
149
|
+
} },
|
|
150
|
+
react_1.default.createElement(FormControl_1.default, { size: "small", variant: "standard", sx: { minWidth: 110, mx: 0.5 } },
|
|
151
|
+
react_1.default.createElement(Select_1.default, { value: blockValue, disabled: disabled, disableUnderline: true, onChange: (event) => setBlock(event.target.value), inputProps: { 'aria-label': texts.paragraph }, sx: { fontSize: '0.8rem' } },
|
|
152
|
+
react_1.default.createElement(MenuItem_1.default, { value: "p" }, texts.paragraph),
|
|
153
|
+
react_1.default.createElement(MenuItem_1.default, { value: "h1" }, texts.heading1),
|
|
154
|
+
react_1.default.createElement(MenuItem_1.default, { value: "h2" }, texts.heading2),
|
|
155
|
+
react_1.default.createElement(MenuItem_1.default, { value: "h3" }, texts.heading3))),
|
|
156
|
+
button(texts.bold, react_1.default.createElement(FormatBold_1.default, { fontSize: "small" }), isActive('bold'), () => editor.chain().focus().toggleBold().run()),
|
|
157
|
+
button(texts.italic, react_1.default.createElement(FormatItalic_1.default, { fontSize: "small" }), isActive('italic'), () => editor.chain().focus().toggleItalic().run()),
|
|
158
|
+
button(texts.underline, react_1.default.createElement(FormatUnderlined_1.default, { fontSize: "small" }), isActive('underline'), () => editor.chain().focus().toggleUnderline().run()),
|
|
159
|
+
button(texts.strike, react_1.default.createElement(StrikethroughS_1.default, { fontSize: "small" }), isActive('strike'), () => editor.chain().focus().toggleStrike().run()),
|
|
160
|
+
button(texts.bulletList, react_1.default.createElement(FormatListBulleted_1.default, { fontSize: "small" }), isActive('bulletList'), () => editor.chain().focus().toggleBulletList().run()),
|
|
161
|
+
button(texts.orderedList, react_1.default.createElement(FormatListNumbered_1.default, { fontSize: "small" }), isActive('orderedList'), () => editor.chain().focus().toggleOrderedList().run()),
|
|
162
|
+
button(texts.blockquote, react_1.default.createElement(FormatQuote_1.default, { fontSize: "small" }), isActive('blockquote'), () => editor.chain().focus().toggleBlockquote().run()),
|
|
163
|
+
button(texts.codeBlock, react_1.default.createElement(Code_1.default, { fontSize: "small" }), isActive('codeBlock'), () => editor.chain().focus().toggleCodeBlock().run()),
|
|
164
|
+
button(texts.horizontalRule, react_1.default.createElement(HorizontalRule_1.default, { fontSize: "small" }), false, () => editor.chain().focus().setHorizontalRule().run()),
|
|
165
|
+
button(texts.link, react_1.default.createElement(Link_1.default, { fontSize: "small" }), isActive('link'), openLinkDialog),
|
|
166
|
+
button(texts.clearFormatting, react_1.default.createElement(FormatClear_1.default, { fontSize: "small" }), false, () => editor.chain().focus().unsetAllMarks().clearNodes().run()),
|
|
167
|
+
button(texts.undo, react_1.default.createElement(Undo_1.default, { fontSize: "small" }), false, () => editor.chain().focus().undo().run(), 'undo'),
|
|
168
|
+
button(texts.redo, react_1.default.createElement(Redo_1.default, { fontSize: "small" }), false, () => editor.chain().focus().redo().run(), 'redo'),
|
|
169
|
+
button(texts.linkRemove, react_1.default.createElement(LinkOff_1.default, { fontSize: "small" }), false, () => editor.chain().focus().extendMarkRange('link').unsetLink().run(), 'unlink'),
|
|
170
|
+
react_1.default.createElement(Dialog_1.default, { open: linkOpen, onClose: () => setLinkOpen(false), fullWidth: true, maxWidth: "xs" },
|
|
171
|
+
react_1.default.createElement(DialogTitle_1.default, null, texts.linkTitle),
|
|
172
|
+
react_1.default.createElement(DialogContent_1.default, null,
|
|
173
|
+
react_1.default.createElement(TextField_1.default, { autoFocus: true, fullWidth: true, margin: "dense", label: texts.linkUrl, value: linkUrl, onChange: (event) => setLinkUrl(event.target.value), onKeyDown: (event) => {
|
|
174
|
+
if (event.key === 'Enter') {
|
|
175
|
+
event.preventDefault();
|
|
176
|
+
applyLink();
|
|
177
|
+
}
|
|
178
|
+
} })),
|
|
179
|
+
react_1.default.createElement(DialogActions_1.default, null,
|
|
180
|
+
react_1.default.createElement(Button_1.default, { onClick: () => setLinkOpen(false) }, texts.linkCancel),
|
|
181
|
+
react_1.default.createElement(Button_1.default, { variant: "contained", onClick: applyLink }, texts.linkApply)))));
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* WYSIWYG editor for `model_html` fields: Tiptap with an MUI toolbar. The value
|
|
185
|
+
* is HTML, the same format the Django admin (Summernote) writes to the column.
|
|
186
|
+
*/
|
|
187
|
+
function RichTextEditorInput({ libraries, id, label, required, disabled, error, helperText, value, onChange, onBlur, sx = { mt: 2, mb: 1 }, autoFocus, }) {
|
|
188
|
+
const theme = (0, styles_1.useTheme)();
|
|
189
|
+
const texts = (0, react_1.useMemo)(() => (0, texts_1.getThemeTexts)(theme).richText, [theme]);
|
|
190
|
+
// Toolbar state depends on the current selection, which is not a React state.
|
|
191
|
+
const [, setTick] = (0, react_1.useState)(0);
|
|
192
|
+
const refreshToolbar = () => setTick((tick) => tick + 1);
|
|
193
|
+
const onChangeRef = (0, react_1.useRef)(onChange);
|
|
194
|
+
onChangeRef.current = onChange;
|
|
195
|
+
const { useEditor, EditorContent, StarterKit } = libraries;
|
|
196
|
+
const editor = useEditor({
|
|
197
|
+
extensions: [StarterKit.configure({ link: { openOnClick: false } })],
|
|
198
|
+
content: normalizeHtml(value),
|
|
199
|
+
editable: !disabled,
|
|
200
|
+
onUpdate: ({ editor: current }) => {
|
|
201
|
+
onChangeRef.current(current.isEmpty ? '' : current.getHTML());
|
|
202
|
+
},
|
|
203
|
+
onSelectionUpdate: () => refreshToolbar(),
|
|
204
|
+
});
|
|
205
|
+
// Keep the editor in sync when the form value changes from the outside
|
|
206
|
+
// (e.g. loading an existing record), without emitting an update back.
|
|
207
|
+
(0, react_1.useEffect)(() => {
|
|
208
|
+
if (!editor) {
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
const incoming = normalizeHtml(value);
|
|
212
|
+
if (incoming === normalizeHtml(editor.getHTML())) {
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
editor.commands.setContent(incoming, { emitUpdate: false });
|
|
216
|
+
}, [editor, value]);
|
|
217
|
+
(0, react_1.useEffect)(() => {
|
|
218
|
+
if (editor) {
|
|
219
|
+
editor.setEditable(!disabled);
|
|
220
|
+
}
|
|
221
|
+
}, [editor, disabled]);
|
|
222
|
+
(0, react_1.useEffect)(() => {
|
|
223
|
+
if (editor && autoFocus) {
|
|
224
|
+
editor.commands.focus('end');
|
|
225
|
+
}
|
|
226
|
+
}, [editor, autoFocus]);
|
|
227
|
+
if (!editor) {
|
|
228
|
+
return null;
|
|
229
|
+
}
|
|
230
|
+
return (react_1.default.createElement(Box_1.default, { sx: sx },
|
|
231
|
+
label && (react_1.default.createElement(Typography_1.default, { component: "label", htmlFor: id, variant: "caption", sx: {
|
|
232
|
+
display: 'block',
|
|
233
|
+
fontWeight: 600,
|
|
234
|
+
mb: 0.5,
|
|
235
|
+
color: error ? 'error.main' : 'text.secondary',
|
|
236
|
+
} },
|
|
237
|
+
label,
|
|
238
|
+
required ? ' *' : '')),
|
|
239
|
+
react_1.default.createElement(Box_1.default, { onBlur: onBlur, sx: {
|
|
240
|
+
border: 1,
|
|
241
|
+
borderColor: error ? 'error.main' : 'divider',
|
|
242
|
+
borderRadius: 1,
|
|
243
|
+
backgroundColor: disabled ? 'action.disabledBackground' : 'background.paper',
|
|
244
|
+
'&:focus-within': {
|
|
245
|
+
borderColor: error ? 'error.main' : 'primary.main',
|
|
246
|
+
},
|
|
247
|
+
} },
|
|
248
|
+
react_1.default.createElement(Toolbar, { editor: editor, disabled: disabled, texts: texts }),
|
|
249
|
+
react_1.default.createElement(Box_1.default, { sx: editorSx },
|
|
250
|
+
react_1.default.createElement(EditorContent, { editor: editor, id: id }))),
|
|
251
|
+
helperText && react_1.default.createElement(FormHelperText_1.default, { error: error }, helperText)));
|
|
252
|
+
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Theme } from '@mui/material/styles';
|
|
3
|
-
import { SchemasType } from '../@types';
|
|
3
|
+
import { SchemasType, PaginationConfig } from '../@types';
|
|
4
|
+
export declare const DEFAULT_PAGINATION: PaginationConfig;
|
|
4
5
|
export interface ServerEndPoint {
|
|
5
6
|
url: string;
|
|
6
7
|
apiTokenUrl: string;
|
|
@@ -22,6 +23,7 @@ interface DRFReactBySchemaContextType {
|
|
|
22
23
|
isInBatches?: boolean;
|
|
23
24
|
firstBatchLength?: number;
|
|
24
25
|
schemas?: SchemasType;
|
|
26
|
+
pagination?: PaginationConfig;
|
|
25
27
|
}
|
|
26
28
|
export interface DRFReactBySchemaProviderProps extends DRFReactBySchemaContextType {
|
|
27
29
|
children: React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DRFReactBySchemaContext.d.ts","sourceRoot":"","sources":["../../src/context/DRFReactBySchemaContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAI7C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"DRFReactBySchemaContext.d.ts","sourceRoot":"","sources":["../../src/context/DRFReactBySchemaContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAI7C,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAM1D,eAAO,MAAM,kBAAkB,EAAE,gBAIhC,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,UAAU,2BAA2B;IACnC,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B;AAED,MAAM,WAAW,6BAA8B,SAAQ,2BAA2B;IAChF,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,eAAO,MAAM,uBAAuB,4CAOlC,CAAC;AAEH,eAAO,MAAM,mBAAmB,mCAG/B,CAAC"}
|
|
@@ -3,15 +3,24 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.useDRFReactBySchema = exports.DRFReactBySchemaContext = void 0;
|
|
6
|
+
exports.useDRFReactBySchema = exports.DRFReactBySchemaContext = exports.DEFAULT_PAGINATION = void 0;
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
8
|
const theme_1 = __importDefault(require("../styles/theme"));
|
|
9
|
+
//: Fallback pagination config (mirrors the Django defaults). A consumer app can
|
|
10
|
+
//: override it via the provider ``pagination`` prop, normally the values written
|
|
11
|
+
//: by ``sync_react`` to ``src/drfReactBySchema/pagination.ts``.
|
|
12
|
+
exports.DEFAULT_PAGINATION = {
|
|
13
|
+
perPage: 50,
|
|
14
|
+
pageSizeOptions: [5, 10, 25, 50, 100, 200],
|
|
15
|
+
maxPageSize: 500,
|
|
16
|
+
};
|
|
9
17
|
exports.DRFReactBySchemaContext = react_1.default.createContext({
|
|
10
18
|
serverEndPoint: null,
|
|
11
19
|
theme: theme_1.default,
|
|
12
20
|
isInBatches: true,
|
|
13
21
|
firstBatchLength: 100,
|
|
14
22
|
schemas: undefined,
|
|
23
|
+
pagination: exports.DEFAULT_PAGINATION,
|
|
15
24
|
});
|
|
16
25
|
const useDRFReactBySchema = () => {
|
|
17
26
|
const context = react_1.default.useContext(exports.DRFReactBySchemaContext);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { DRFReactBySchemaProviderProps } from './DRFReactBySchemaContext';
|
|
3
|
-
declare const DRFReactBySchemaProvider: ({ serverEndPoint, theme, isInBatches, firstBatchLength, schemas, children, }: DRFReactBySchemaProviderProps) => React.JSX.Element;
|
|
3
|
+
declare const DRFReactBySchemaProvider: ({ serverEndPoint, theme, isInBatches, firstBatchLength, schemas, pagination, children, }: DRFReactBySchemaProviderProps) => React.JSX.Element;
|
|
4
4
|
export default DRFReactBySchemaProvider;
|
|
5
5
|
//# sourceMappingURL=DRFReactBySchemaProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DRFReactBySchemaProvider.d.ts","sourceRoot":"","sources":["../../src/context/DRFReactBySchemaProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAOvC,OAAO,EAGL,6BAA6B,
|
|
1
|
+
{"version":3,"file":"DRFReactBySchemaProvider.d.ts","sourceRoot":"","sources":["../../src/context/DRFReactBySchemaProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAOvC,OAAO,EAGL,6BAA6B,EAE9B,MAAM,2BAA2B,CAAC;AAEnC,QAAA,MAAM,wBAAwB,GAAI,0FAQ/B,6BAA6B,sBA0E/B,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
|
|
@@ -43,7 +43,7 @@ const utils_1 = require("@mui/utils");
|
|
|
43
43
|
const theme_1 = __importDefault(require("../styles/theme"));
|
|
44
44
|
const Overlays_1 = __importDefault(require("./Overlays"));
|
|
45
45
|
const DRFReactBySchemaContext_1 = require("./DRFReactBySchemaContext");
|
|
46
|
-
const DRFReactBySchemaProvider = ({ serverEndPoint, theme, isInBatches, firstBatchLength, schemas, children, }) => {
|
|
46
|
+
const DRFReactBySchemaProvider = ({ serverEndPoint, theme, isInBatches, firstBatchLength, schemas, pagination, children, }) => {
|
|
47
47
|
const newServerEndPoint = (0, react_1.useMemo)(() => {
|
|
48
48
|
if (!serverEndPoint) {
|
|
49
49
|
return null;
|
|
@@ -97,7 +97,8 @@ const DRFReactBySchemaProvider = ({ serverEndPoint, theme, isInBatches, firstBat
|
|
|
97
97
|
isInBatches,
|
|
98
98
|
firstBatchLength,
|
|
99
99
|
schemas,
|
|
100
|
-
|
|
100
|
+
pagination: pagination !== null && pagination !== void 0 ? pagination : DRFReactBySchemaContext_1.DEFAULT_PAGINATION,
|
|
101
|
+
}), [firstBatchLength, isInBatches, mergedTheme, newServerEndPoint, schemas, pagination]);
|
|
101
102
|
return (react_1.default.createElement(styles_1.ThemeProvider, { theme: mergedTheme },
|
|
102
103
|
react_1.default.createElement(CssBaseline_1.default, null),
|
|
103
104
|
react_1.default.createElement(DRFReactBySchemaContext_1.DRFReactBySchemaContext.Provider, { value: contextValue },
|
package/dist/index.d.ts
CHANGED
|
@@ -21,6 +21,8 @@ import FormWatcher from './components/forms/FormWatcher';
|
|
|
21
21
|
import FormBySchema from './components/forms/FormBySchema';
|
|
22
22
|
import FieldBySchema from './components/forms/FieldBySchema';
|
|
23
23
|
import TextFieldBySchema from './components/forms/inputs/TextFieldBySchema';
|
|
24
|
+
import HtmlFieldBySchema from './components/forms/inputs/HtmlFieldBySchema';
|
|
25
|
+
import HtmlContent from './components/HtmlContent';
|
|
24
26
|
import BooleanFieldBySchema from './components/forms/inputs/BooleanFieldBySchema';
|
|
25
27
|
import DesktopDatePickerBySchema from './components/forms/inputs/DesktopDatePickerBySchema';
|
|
26
28
|
import DesktopDateTimePickerBySchema from './components/forms/inputs/DesktopDateTimePickerBySchema';
|
|
@@ -30,9 +32,9 @@ import FloatFieldBySchema from './components/forms/inputs/FloatFieldBySchema';
|
|
|
30
32
|
export { applyDefaultLeafletIcon, applyThemeMarkerIcon, DRF_REACT_BY_SCHEMA_MARKER_ICON, } from './components/forms/inputs/leafletMarker';
|
|
31
33
|
export { DEFAULT_LAYERS } from './components/forms/inputs/MapGeometryPicker';
|
|
32
34
|
export { getThemeTexts } from './styles/texts';
|
|
33
|
-
export type { DRFReactBySchemaTexts, GeometryTexts, FormTexts, AuthTexts } from './styles/texts';
|
|
35
|
+
export type { DRFReactBySchemaTexts, GeometryTexts, FormTexts, AuthTexts, RichTextTexts, } from './styles/texts';
|
|
34
36
|
import DetailBySchema from './components/details/DetailBySchema';
|
|
35
37
|
import DetailFieldBySchema from './components/details/DetailFieldBySchema';
|
|
36
|
-
export { DRFReactBySchemaProvider, useAPIWrapper, Form, DialogFormBySchema, ChangePasswordForm, ForgotPasswordForm, DataGridBySchemaEditable, GenericModelList, GenericRelatedModelList, DataTotals, DialogActions, FileTypeIcon, SelectEditInputCell, GridDateInput, GridDecimalInput, GridPatternInput, BooleanInputCell, FormWatcher, FormBySchema, FieldBySchema, TextFieldBySchema, BooleanFieldBySchema, DesktopDatePickerBySchema, DesktopDateTimePickerBySchema, EditableAutocompleteFieldBySchema, AutocompleteFieldBySchema, FloatFieldBySchema, DetailBySchema, DetailFieldBySchema, setAuthToken, emptyByType, getChoiceByValue, populateValues, enrichChoices, buildGenericYupValidationSchema, errorProps, getFieldErrorsFromResponse, getTmpId, isTmpId, getPatternFormat, clearJWT, hasJWT, slugToCamelCase, AUTH_EXPIRED_EVENT, };
|
|
38
|
+
export { DRFReactBySchemaProvider, useAPIWrapper, Form, DialogFormBySchema, ChangePasswordForm, ForgotPasswordForm, DataGridBySchemaEditable, GenericModelList, GenericRelatedModelList, DataTotals, DialogActions, FileTypeIcon, HtmlContent, SelectEditInputCell, GridDateInput, GridDecimalInput, GridPatternInput, BooleanInputCell, FormWatcher, FormBySchema, FieldBySchema, TextFieldBySchema, HtmlFieldBySchema, BooleanFieldBySchema, DesktopDatePickerBySchema, DesktopDateTimePickerBySchema, EditableAutocompleteFieldBySchema, AutocompleteFieldBySchema, FloatFieldBySchema, DetailBySchema, DetailFieldBySchema, setAuthToken, emptyByType, getChoiceByValue, populateValues, enrichChoices, buildGenericYupValidationSchema, errorProps, getFieldErrorsFromResponse, getTmpId, isTmpId, getPatternFormat, clearJWT, hasJWT, slugToCamelCase, AUTH_EXPIRED_EVENT, };
|
|
37
39
|
export * from './@types/index';
|
|
38
40
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAC3E,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,+BAA+B,EAC/B,UAAU,EACV,0BAA0B,EAC1B,QAAQ,EACR,OAAO,EACP,gBAAgB,EAChB,eAAe,EAChB,MAAM,SAAS,CAAC;AAGjB,OAAO,wBAAwB,MAAM,oCAAoC,CAAC;AAG1E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D,OAAO,IAAI,MAAM,yBAAyB,CAAC;AAC3C,OAAO,kBAAkB,MAAM,uCAAuC,CAAC;AACvE,OAAO,kBAAkB,MAAM,uCAAuC,CAAC;AACvE,OAAO,kBAAkB,MAAM,uCAAuC,CAAC;AAGvE,OAAO,wBAAwB,MAAM,uCAAuC,CAAC;AAC7E,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,uBAAuB,MAAM,sCAAsC,CAAC;AAC3E,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,YAAY,MAAM,2BAA2B,CAAC;AAGrD,OAAO,mBAAmB,MAAM,2DAA2D,CAAC;AAC5F,OAAO,aAAa,MAAM,qDAAqD,CAAC;AAChF,OAAO,gBAAgB,MAAM,wDAAwD,CAAC;AACtF,OAAO,gBAAgB,MAAM,wDAAwD,CAAC;AACtF,OAAO,gBAAgB,MAAM,wDAAwD,CAAC;AAGtF,OAAO,WAAW,MAAM,gCAAgC,CAAC;AACzD,OAAO,YAAY,MAAM,iCAAiC,CAAC;AAC3D,OAAO,aAAa,MAAM,kCAAkC,CAAC;AAC7D,OAAO,iBAAiB,MAAM,6CAA6C,CAAC;AAC5E,OAAO,oBAAoB,MAAM,gDAAgD,CAAC;AAClF,OAAO,yBAAyB,MAAM,qDAAqD,CAAC;AAC5F,OAAO,6BAA6B,MAAM,yDAAyD,CAAC;AACpG,OAAO,iCAAiC,MAAM,6DAA6D,CAAC;AAC5G,OAAO,yBAAyB,MAAM,qDAAqD,CAAC;AAC5F,OAAO,kBAAkB,MAAM,8CAA8C,CAAC;AAC9E,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,+BAA+B,GAChC,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -17,7 +17,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
17
17
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.
|
|
20
|
+
exports.slugToCamelCase = exports.hasJWT = exports.clearJWT = exports.getPatternFormat = exports.isTmpId = exports.getTmpId = exports.getFieldErrorsFromResponse = exports.errorProps = exports.buildGenericYupValidationSchema = exports.enrichChoices = exports.populateValues = exports.getChoiceByValue = exports.emptyByType = exports.setAuthToken = exports.DetailFieldBySchema = exports.DetailBySchema = exports.FloatFieldBySchema = exports.AutocompleteFieldBySchema = exports.EditableAutocompleteFieldBySchema = exports.DesktopDateTimePickerBySchema = exports.DesktopDatePickerBySchema = exports.BooleanFieldBySchema = exports.HtmlFieldBySchema = exports.TextFieldBySchema = exports.FieldBySchema = exports.FormBySchema = exports.FormWatcher = exports.BooleanInputCell = exports.GridPatternInput = exports.GridDecimalInput = exports.GridDateInput = exports.SelectEditInputCell = exports.HtmlContent = exports.FileTypeIcon = exports.DialogActions = exports.DataTotals = exports.GenericRelatedModelList = exports.GenericModelList = exports.DataGridBySchemaEditable = exports.ForgotPasswordForm = exports.ChangePasswordForm = exports.DialogFormBySchema = exports.Form = exports.useAPIWrapper = exports.DRFReactBySchemaProvider = exports.getThemeTexts = exports.DEFAULT_LAYERS = exports.DRF_REACT_BY_SCHEMA_MARKER_ICON = exports.applyThemeMarkerIcon = exports.applyDefaultLeafletIcon = void 0;
|
|
21
|
+
exports.AUTH_EXPIRED_EVENT = void 0;
|
|
21
22
|
// Methods:
|
|
22
23
|
const api_1 = require("./api");
|
|
23
24
|
Object.defineProperty(exports, "setAuthToken", { enumerable: true, get: function () { return api_1.setAuthToken; } });
|
|
@@ -84,6 +85,10 @@ const FieldBySchema_1 = __importDefault(require("./components/forms/FieldBySchem
|
|
|
84
85
|
exports.FieldBySchema = FieldBySchema_1.default;
|
|
85
86
|
const TextFieldBySchema_1 = __importDefault(require("./components/forms/inputs/TextFieldBySchema"));
|
|
86
87
|
exports.TextFieldBySchema = TextFieldBySchema_1.default;
|
|
88
|
+
const HtmlFieldBySchema_1 = __importDefault(require("./components/forms/inputs/HtmlFieldBySchema"));
|
|
89
|
+
exports.HtmlFieldBySchema = HtmlFieldBySchema_1.default;
|
|
90
|
+
const HtmlContent_1 = __importDefault(require("./components/HtmlContent"));
|
|
91
|
+
exports.HtmlContent = HtmlContent_1.default;
|
|
87
92
|
const BooleanFieldBySchema_1 = __importDefault(require("./components/forms/inputs/BooleanFieldBySchema"));
|
|
88
93
|
exports.BooleanFieldBySchema = BooleanFieldBySchema_1.default;
|
|
89
94
|
const DesktopDatePickerBySchema_1 = __importDefault(require("./components/forms/inputs/DesktopDatePickerBySchema"));
|
package/dist/styles/texts.d.ts
CHANGED
|
@@ -42,6 +42,30 @@ export interface FormTexts {
|
|
|
42
42
|
dialogCancel: string;
|
|
43
43
|
dialogSave: string;
|
|
44
44
|
}
|
|
45
|
+
export interface RichTextTexts {
|
|
46
|
+
paragraph: string;
|
|
47
|
+
heading1: string;
|
|
48
|
+
heading2: string;
|
|
49
|
+
heading3: string;
|
|
50
|
+
bold: string;
|
|
51
|
+
italic: string;
|
|
52
|
+
underline: string;
|
|
53
|
+
strike: string;
|
|
54
|
+
bulletList: string;
|
|
55
|
+
orderedList: string;
|
|
56
|
+
blockquote: string;
|
|
57
|
+
codeBlock: string;
|
|
58
|
+
horizontalRule: string;
|
|
59
|
+
link: string;
|
|
60
|
+
linkTitle: string;
|
|
61
|
+
linkUrl: string;
|
|
62
|
+
linkApply: string;
|
|
63
|
+
linkRemove: string;
|
|
64
|
+
linkCancel: string;
|
|
65
|
+
clearFormatting: string;
|
|
66
|
+
undo: string;
|
|
67
|
+
redo: string;
|
|
68
|
+
}
|
|
45
69
|
export interface AuthTexts {
|
|
46
70
|
email: string;
|
|
47
71
|
currentPassword: string;
|
|
@@ -63,6 +87,7 @@ export interface DRFReactBySchemaTexts {
|
|
|
63
87
|
geometry: GeometryTexts;
|
|
64
88
|
forms: FormTexts;
|
|
65
89
|
auth: AuthTexts;
|
|
90
|
+
richText: RichTextTexts;
|
|
66
91
|
}
|
|
67
92
|
export declare const DEFAULT_TEXTS: DRFReactBySchemaTexts;
|
|
68
93
|
export declare function getThemeTexts(theme: Theme): DRFReactBySchemaTexts;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"texts.d.ts","sourceRoot":"","sources":["../../src/styles/texts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IAEd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IAEjB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAE7B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAEhB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IAErB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAE5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"texts.d.ts","sourceRoot":"","sources":["../../src/styles/texts.ts"],"names":[],"mappings":"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"}
|
package/dist/styles/texts.js
CHANGED
|
@@ -64,6 +64,30 @@ exports.DEFAULT_TEXTS = {
|
|
|
64
64
|
forgotConfirmError: 'Invalid or expired reset link. Request a new one.',
|
|
65
65
|
forgotConfirmSuccess: 'Password updated. You can now sign in with your new password.',
|
|
66
66
|
},
|
|
67
|
+
richText: {
|
|
68
|
+
paragraph: 'Paragraph',
|
|
69
|
+
heading1: 'Heading 1',
|
|
70
|
+
heading2: 'Heading 2',
|
|
71
|
+
heading3: 'Heading 3',
|
|
72
|
+
bold: 'Bold',
|
|
73
|
+
italic: 'Italic',
|
|
74
|
+
underline: 'Underline',
|
|
75
|
+
strike: 'Strikethrough',
|
|
76
|
+
bulletList: 'Bullet list',
|
|
77
|
+
orderedList: 'Ordered list',
|
|
78
|
+
blockquote: 'Quote',
|
|
79
|
+
codeBlock: 'Code block',
|
|
80
|
+
horizontalRule: 'Horizontal rule',
|
|
81
|
+
link: 'Link',
|
|
82
|
+
linkTitle: 'Insert link',
|
|
83
|
+
linkUrl: 'URL',
|
|
84
|
+
linkApply: 'Apply',
|
|
85
|
+
linkRemove: 'Remove link',
|
|
86
|
+
linkCancel: 'Cancel',
|
|
87
|
+
clearFormatting: 'Clear formatting',
|
|
88
|
+
undo: 'Undo',
|
|
89
|
+
redo: 'Redo',
|
|
90
|
+
},
|
|
67
91
|
};
|
|
68
92
|
// Merge theme.texts over the defaults; theme.texts is absent under a bare ThemeProvider.
|
|
69
93
|
function getThemeTexts(theme) {
|
|
@@ -72,5 +96,6 @@ function getThemeTexts(theme) {
|
|
|
72
96
|
geometry: Object.assign(Object.assign({}, exports.DEFAULT_TEXTS.geometry), ((custom === null || custom === void 0 ? void 0 : custom.geometry) || {})),
|
|
73
97
|
forms: Object.assign(Object.assign({}, exports.DEFAULT_TEXTS.forms), ((custom === null || custom === void 0 ? void 0 : custom.forms) || {})),
|
|
74
98
|
auth: Object.assign(Object.assign({}, exports.DEFAULT_TEXTS.auth), ((custom === null || custom === void 0 ? void 0 : custom.auth) || {})),
|
|
99
|
+
richText: Object.assign(Object.assign({}, exports.DEFAULT_TEXTS.richText), ((custom === null || custom === void 0 ? void 0 : custom.richText) || {})),
|
|
75
100
|
};
|
|
76
101
|
}
|
package/dist/utils/utils.d.ts
CHANGED
|
@@ -106,6 +106,18 @@ export declare function showConditionalVisibleFieldObj<T extends TField = void>(
|
|
|
106
106
|
* absent; returns null so callers can fall back to text inputs.
|
|
107
107
|
*/
|
|
108
108
|
export declare function getMapLibraries(): any;
|
|
109
|
+
/**
|
|
110
|
+
* Detect whether the consuming app has installed `@tiptap/react` +
|
|
111
|
+
* `@tiptap/starter-kit`. Returns the pieces the editor needs, or null so
|
|
112
|
+
* callers can fall back to plain text editing.
|
|
113
|
+
*/
|
|
114
|
+
export declare function getRichTextLibraries(): any;
|
|
115
|
+
/**
|
|
116
|
+
* Detect whether the consuming app has installed `dompurify`. HTML from the
|
|
117
|
+
* backend is only injected into the DOM when a sanitizer is available; without
|
|
118
|
+
* it, values are rendered as plain text.
|
|
119
|
+
*/
|
|
120
|
+
export declare function getHtmlSanitizer(): any;
|
|
109
121
|
/** Normalize a GeoJSON value (object, JSON string or null) to a string. */
|
|
110
122
|
export declare function geometryValueToString(value: GenericValue): string;
|
|
111
123
|
/** Parse a GeoJSON value (object or JSON string) into an object, or null. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"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"}
|