Skip to content

Commit 0a0ed87

Browse files
committed
Topcoder Admin App - Add Terms Management: fix html editor in edit form
1 parent 9889cd4 commit 0a0ed87

File tree

12 files changed

+111
-635
lines changed

12 files changed

+111
-635
lines changed

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
"@storybook/react": "7.6.10",
2929
"@stripe/react-stripe-js": "1.13.0",
3030
"@stripe/stripe-js": "1.41.0",
31+
"@tinymce/tinymce-react": "^6.2.1",
3132
"@types/codemirror": "5.60.15",
3233
"apexcharts": "^3.36.0",
3334
"axios": "^1.7.9",
@@ -103,6 +104,7 @@
103104
"styled-components": "^5.3.6",
104105
"swr": "^1.3.0",
105106
"tc-auth-lib": "topcoder-platform/tc-auth-lib#1.0.27",
107+
"tinymce": "^7.9.1",
106108
"typescript": "^4.8.4",
107109
"universal-navigation": "https://github.com/topcoder-platform/universal-navigation#9fc50d938be7182",
108110
"uuid": "^11.1.0",

src/apps/admin/src/lib/components/TermsAddForm/TermsAddForm.module.scss

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,9 @@
4242
flex-direction: column;
4343
align-items: flex-start;
4444
gap: 10px;
45+
}
4546

47+
.fieldAreaContainer {
4648
textarea {
4749
height: 200px;
4850
resize: none;

src/apps/admin/src/lib/components/TermsAddForm/TermsAddForm.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -365,7 +365,10 @@ export const TermsAddForm: FC<Props> = (props: Props) => {
365365
inputControl={register('text')}
366366
dirty
367367
disabled={isLoading}
368-
classNameWrapper={styles.fieldText}
368+
classNameWrapper={classNames(
369+
styles.fieldText,
370+
styles.fieldAreaContainer,
371+
)}
369372
/>
370373
)}
371374
</div>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
.container {
2+
:global {
3+
.tox-tinymce {
4+
border-radius: 0;
5+
border: none;
6+
}
7+
}
8+
}
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
/**
2+
* Bundled Editor.
3+
*/
4+
import { FC } from 'react'
5+
import classNames from 'classnames'
6+
import 'tinymce/tinymce' // TinyMCE so the global var exists
7+
import 'tinymce/models/dom/model.min.js' // DOM model
8+
import 'tinymce/themes/silver/theme.min.js' // Theme
9+
import 'tinymce/icons/default/icons.min.js' // Toolbar icons
10+
import 'tinymce/skins/ui/oxide/skin' // Editor styles
11+
import 'tinymce/plugins/advlist/plugin.min.js' // importing the plugin js.
12+
import 'tinymce/plugins/anchor/plugin.min.js'
13+
import 'tinymce/plugins/autolink/plugin.min.js'
14+
import 'tinymce/plugins/autoresize/plugin.min.js'
15+
import 'tinymce/plugins/autosave/plugin.min.js'
16+
import 'tinymce/plugins/charmap/plugin.min.js'
17+
import 'tinymce/plugins/code/plugin.min.js'
18+
import 'tinymce/plugins/codesample/plugin.min.js'
19+
import 'tinymce/plugins/directionality/plugin.min.js'
20+
import 'tinymce/plugins/emoticons/plugin.min.js'
21+
import 'tinymce/plugins/fullscreen/plugin.min.js'
22+
import 'tinymce/plugins/help/plugin.min.js'
23+
import 'tinymce/plugins/image/plugin.min.js'
24+
import 'tinymce/plugins/importcss/plugin.min.js'
25+
import 'tinymce/plugins/insertdatetime/plugin.min.js'
26+
import 'tinymce/plugins/link/plugin.min.js'
27+
import 'tinymce/plugins/lists/plugin.min.js'
28+
import 'tinymce/plugins/media/plugin.min.js'
29+
import 'tinymce/plugins/nonbreaking/plugin.min.js'
30+
import 'tinymce/plugins/pagebreak/plugin.min.js'
31+
import 'tinymce/plugins/preview/plugin.min.js'
32+
import 'tinymce/plugins/quickbars/plugin.min.js'
33+
import 'tinymce/plugins/save/plugin.min.js'
34+
import 'tinymce/plugins/searchreplace/plugin.min.js'
35+
import 'tinymce/plugins/table/plugin.min.js'
36+
import 'tinymce/plugins/visualblocks/plugin.min.js'
37+
import 'tinymce/plugins/visualchars/plugin.min.js'
38+
import 'tinymce/plugins/wordcount/plugin.min.js'
39+
import 'tinymce/plugins/emoticons/js/emojis' // importing plugin resources
40+
import 'tinymce/skins/content/default/content' // Content styles, including inline UI like fake cursors
41+
import 'tinymce/skins/ui/oxide/content'
42+
/** if you use a plugin that is not listed here the editor will fail to load */
43+
44+
import { Editor } from '@tinymce/tinymce-react'
45+
46+
import styles from './BundledEditor.module.scss'
47+
48+
export const BundledEditor: FC<any> = (props: any) => (
49+
<div className={classNames(styles.container, props.className)}>
50+
<Editor {...props} />
51+
</div>
52+
)
53+
54+
export default BundledEditor
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { default as BundledEditor } from './BundledEditor'

src/apps/admin/src/lib/components/common/FieldHtmlEditor/Editor/Editor.module.scss

Lines changed: 0 additions & 181 deletions
This file was deleted.

0 commit comments

Comments
 (0)