Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
lib
react-ag-qeditor
Commits
11f29e9f
Commit
11f29e9f
authored
May 11, 2022
by
Рамис
Browse files
add lang(ru), add upload options
parent
c2c9d3d2
Changes
5
Hide whitespace changes
Inline
Side-by-side
example/src/App.js
View file @
11f29e9f
...
@@ -6,9 +6,16 @@ import 'react-ag-qeditor/dist/index.css'
...
@@ -6,9 +6,16 @@ import 'react-ag-qeditor/dist/index.css'
const
App
=
()
=>
{
const
App
=
()
=>
{
return
<
div
style
=
{{
padding
:
40
}}
>
return
<
div
style
=
{{
padding
:
40
}}
>
<
QEditor
value
=
{
'
<span style="font-size: 20px;">asds</span>
'
}
onChange
=
{(
value
)
=>
{
<
QEditor
console
.
log
(
'
sads
'
,
value
);
value
=
{
'
<span style="font-size: 20px;">asds</span>
'
}
}}
/
>
onChange
=
{(
value
)
=>
{
console
.
log
(
'
sads
'
,
value
);
}}
uploadOptions
=
{{
url
:
'
https://cdn.atmaguru.online/upload/?sid=test&md5=UN8SUwWR8m5XUm9v8uDtew&expires=1652081782
'
,
errorMessage
:
'
Загрузка временно невозможна
'
}}
/
>
<
/div
>
<
/div
>
}
}
...
...
package.json
View file @
11f29e9f
{
{
"name"
:
"react-ag-qeditor"
,
"name"
:
"react-ag-qeditor"
,
"version"
:
"0.0.
3
"
,
"version"
:
"0.0.
4
"
,
"description"
:
"WYSIWYG html editor"
,
"description"
:
"WYSIWYG html editor"
,
"author"
:
"atma"
,
"author"
:
"atma"
,
"license"
:
"
MIT
"
,
"license"
:
"
MIT
"
,
...
...
src/QEditor.jsx
View file @
11f29e9f
...
@@ -91,7 +91,7 @@ export default class QEditor extends React.Component {
...
@@ -91,7 +91,7 @@ export default class QEditor extends React.Component {
<
div
className
=
{
'
atma-editor-modal-action
'
}
>
<
div
className
=
{
'
atma-editor-modal-action
'
}
>
{
{
buttons
.
map
((
btn
,
i
)
=>
(
buttons
.
map
((
btn
,
i
)
=>
(
<
button
type
=
{
'
button
'
}
key
=
{
'
mAction
'
+
i
}
className
=
{
'
atma-editor-btn
'
+
btn
.
className
}
<
button
disabled
=
{
btn
.
disabled
}
type
=
{
'
button
'
}
key
=
{
'
mAction
'
+
i
}
className
=
{
'
atma-editor-btn
'
+
btn
.
className
}
onClick
=
{
btn
.
onClick
}
>
{
btn
.
title
}
</
button
>
onClick
=
{
btn
.
onClick
}
>
{
btn
.
title
}
</
button
>
))
))
}
}
...
@@ -112,7 +112,7 @@ export default class QEditor extends React.Component {
...
@@ -112,7 +112,7 @@ export default class QEditor extends React.Component {
<
ul
className
=
{
'
atma-editor-soc-video
'
}
>
<
ul
className
=
{
'
atma-editor-soc-video
'
}
>
<
li
className
=
{
'
youtube
'
}
/>
<
li
className
=
{
'
youtube
'
}
/>
<
li
className
=
{
'
vimeo
'
}
/>
<
li
className
=
{
'
vimeo
'
}
/>
<
li
className
=
{
'
vk
'
}
/>
{
/*
<li className={'vk'}/>
*/
}
<
li
className
=
{
'
ok
'
}
/>
<
li
className
=
{
'
ok
'
}
/>
</
ul
>
</
ul
>
</
Fragment
>
</
Fragment
>
...
@@ -123,7 +123,8 @@ export default class QEditor extends React.Component {
...
@@ -123,7 +123,8 @@ export default class QEditor extends React.Component {
<
Uploader
<
Uploader
key
=
{
this
.
state
.
uploaderUid
}
key
=
{
this
.
state
.
uploaderUid
}
accept
=
{
'
video/*
'
}
accept
=
{
'
video/*
'
}
action
=
{
'
https://cdn.atmaguru.online/upload/?sid=test&md5=UN8SUwWR8m5XUm9v8uDtew&expires=1652081782
'
}
action
=
{
this
.
props
.
uploadOptions
.
url
}
errorMessage
=
{
this
.
props
.
uploadOptions
.
errorMessage
}
onSuccess
=
{
(
file
)
=>
{
onSuccess
=
{
(
file
)
=>
{
let
uploadedPaths
=
this
.
state
.
uploadedPaths
;
let
uploadedPaths
=
this
.
state
.
uploadedPaths
;
...
@@ -140,7 +141,8 @@ export default class QEditor extends React.Component {
...
@@ -140,7 +141,8 @@ export default class QEditor extends React.Component {
<
Uploader
<
Uploader
key
=
{
this
.
state
.
uploaderUid
}
key
=
{
this
.
state
.
uploaderUid
}
accept
=
{
'
image/*
'
}
accept
=
{
'
image/*
'
}
action
=
{
'
https://cdn.atmaguru.online/upload/?sid=test&md5=UN8SUwWR8m5XUm9v8uDtew&expires=1652081782
'
}
action
=
{
this
.
props
.
uploadOptions
.
url
}
errorMessage
=
{
this
.
props
.
uploadOptions
.
errorMessage
}
onSuccess
=
{
(
file
)
=>
{
onSuccess
=
{
(
file
)
=>
{
let
uploadedPaths
=
this
.
state
.
uploadedPaths
;
let
uploadedPaths
=
this
.
state
.
uploadedPaths
;
...
@@ -194,7 +196,7 @@ export default class QEditor extends React.Component {
...
@@ -194,7 +196,7 @@ export default class QEditor extends React.Component {
return
(
return
(
<
Fragment
>
<
Fragment
>
<
div
className
=
"atma-editor-wrap"
style
=
{
{
maxWidth
}
}
>
<
div
className
=
"atma-editor-wrap"
style
=
{
{
maxWidth
}
}
>
<
div
className
=
{
'
atma-editor
'
}
>
<
div
className
=
{
'
atma-editor
'
}
data
-
lang
=
{
this
.
props
.
lang
?
this
.
props
.
lang
:
'
ru
'
}
>
<
ReactQuill
<
ReactQuill
ref
=
{
ref
=>
this
.
quillRef
=
ref
}
ref
=
{
ref
=>
this
.
quillRef
=
ref
}
defaultValue
=
{
value
}
defaultValue
=
{
value
}
...
@@ -230,7 +232,8 @@ export default class QEditor extends React.Component {
...
@@ -230,7 +232,8 @@ export default class QEditor extends React.Component {
{
{
title
:
'
Вставить
'
,
title
:
'
Вставить
'
,
className
:
'
atma-editor-complete
'
,
className
:
'
atma-editor-complete
'
,
onClick
:
()
=>
this
.
quillInsert
()
onClick
:
()
=>
this
.
quillInsert
(),
disabled
:
(
this
.
props
.
uploadOptions
.
url
===
null
&&
(
innerModalType
===
'
videoLocal
'
||
innerModalType
===
'
image
'
))
}
}
])
])
}
}
...
@@ -245,5 +248,9 @@ QEditor.defaultProps = {
...
@@ -245,5 +248,9 @@ QEditor.defaultProps = {
maxWidth
:
'
auto
'
,
maxWidth
:
'
auto
'
,
maxHeight
:
1000
,
maxHeight
:
1000
,
onChange
:
()
=>
{},
onChange
:
()
=>
{},
lang
:
'
ru
'
lang
:
'
ru
'
,
uploadOptions
:
{
url
:
null
,
errorMessage
:
null
}
}
}
src/components/Uploader.js
View file @
11f29e9f
...
@@ -69,6 +69,10 @@ export default class Uploader extends React.Component {
...
@@ -69,6 +69,10 @@ export default class Uploader extends React.Component {
return
this
.
props
.
onSuccess
;
return
this
.
props
.
onSuccess
;
}
}
get
errorMessage
()
{
return
this
.
props
.
errorMessage
;
}
mediaItem
(){
mediaItem
(){
}
}
...
@@ -76,6 +80,10 @@ export default class Uploader extends React.Component {
...
@@ -76,6 +80,10 @@ export default class Uploader extends React.Component {
render
()
{
render
()
{
let
{
disabledFileUpload
,
isUpload
,
progress
,
dropFiles
}
=
this
.
state
;
let
{
disabledFileUpload
,
isUpload
,
progress
,
dropFiles
}
=
this
.
state
;
if
(
this
.
action
===
null
){
return
<
div
style
=
{{
textAlign
:
'
left
'
}}
>
{
this
.
errorMessage
}
<
/div
>
}
return
(
return
(
<
Fragment
>
<
Fragment
>
<
div
className
=
{
'
atma-editor-uploader-uitems
'
}
>
<
div
className
=
{
'
atma-editor-uploader-uitems
'
}
>
...
@@ -159,5 +167,6 @@ Uploader.defaultProps = {
...
@@ -159,5 +167,6 @@ Uploader.defaultProps = {
multiple
:
false
,
multiple
:
false
,
accept
:
'
*
'
,
accept
:
'
*
'
,
type
:
''
,
type
:
''
,
onSuccess
:
()
=>
{}
onSuccess
:
()
=>
{},
errorMessage
:
null
,
};
};
src/index.scss
View file @
11f29e9f
...
@@ -6,7 +6,6 @@
...
@@ -6,7 +6,6 @@
*
{
*
{
box-sizing
:
border-box
;
box-sizing
:
border-box
;
color
:
#434A53
;
}
}
}
}
...
@@ -181,12 +180,19 @@
...
@@ -181,12 +180,19 @@
border
:
none
;
border
:
none
;
background
:
none
;
background
:
none
;
padding
:
16px
24px
;
padding
:
16px
24px
;
line-height
:
16px
;
&
:hover
{
&
:hover
{
cursor
:
pointer
;
cursor
:
pointer
;
opacity
:
0
.7
;
opacity
:
0
.7
;
}
}
&
[
disabled
]
{
opacity
:
0
.3
!
important
;
cursor
:
default
!
important
;
}
&
.atma-editor-complete
{
&
.atma-editor-complete
{
background-color
:
#1790FF
;
background-color
:
#1790FF
;
border-radius
:
24px
;
border-radius
:
24px
;
...
@@ -234,6 +240,57 @@
...
@@ -234,6 +240,57 @@
}
}
}
}
}
}
}
//lang RU
&
[
data-lang
=
"ru"
]
{
.ql-snow
{
.ql-picker.ql-header
.ql-picker-label
,
.ql-picker.ql-header
.ql-picker-item
{
&
::before
{
content
:
'Обычный'
;
}
&
[
data-value
=
"2"
]
::before
{
content
:
'H2'
;
}
&
[
data-value
=
"3"
]
::before
{
content
:
'H3'
}
&
[
data-value
=
"4"
]
::before
{
content
:
'H4'
}
}
.ql-tooltip
{
&
::before
{
content
:
'Ссылка'
;
}
&
[
data-mode
=
formula
]
::before
{
content
:
'Вставка формулы:'
}
&
[
data-mode
=
link
]
::before
{
content
:
'Вставка ссылки:'
}
a
.
ql-action
:
:
after
{
content
:
'Изменить'
;
}
&
.ql-editing
a
.ql-action
::after
{
content
:
'Сохранить'
;
}
a
.
ql-remove
:
:
before
{
content
:
'Удалить'
;
}
}
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment