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
426fb7e9
Commit
426fb7e9
authored
Mar 16, 2023
by
Яков
Browse files
add pptx
parent
d25cc3e6
Changes
4
Hide whitespace changes
Inline
Side-by-side
package.json
View file @
426fb7e9
{
{
"name"
:
"react-ag-qeditor"
,
"name"
:
"react-ag-qeditor"
,
"version"
:
"1.0.2
1
"
,
"version"
:
"1.0.2
2
"
,
"description"
:
"WYSIWYG html editor"
,
"description"
:
"WYSIWYG html editor"
,
"author"
:
"atma"
,
"author"
:
"atma"
,
"license"
:
"
MIT
"
,
"license"
:
"
MIT
"
,
...
...
src/QEditor.jsx
View file @
426fb7e9
...
@@ -164,6 +164,10 @@ const QEditor = ({
...
@@ -164,6 +164,10 @@ const QEditor = ({
title
:
'
Вставить iframe
'
,
title
:
'
Вставить iframe
'
,
onClick
:
()
=>
modalOpener
(
'
iframe_custom
'
,
'
Вставить iframe
'
)
onClick
:
()
=>
modalOpener
(
'
iframe_custom
'
,
'
Вставить iframe
'
)
},
},
iframe_pptx
:
{
title
:
'
Вставить презентацию pptx
'
,
onClick
:
()
=>
modalOpener
(
'
iframe_pptx
'
,
'
Вставить презентацию pptx
'
)
},
image
:
{
image
:
{
title
:
'
Загрузить изображение
'
,
title
:
'
Загрузить изображение
'
,
onClick
:
()
=>
modalOpener
(
'
image
'
,
'
Загрузить изображение
'
)
onClick
:
()
=>
modalOpener
(
'
image
'
,
'
Загрузить изображение
'
)
...
@@ -425,8 +429,8 @@ const QEditor = ({
...
@@ -425,8 +429,8 @@ const QEditor = ({
}
}
const
getUploader
=
({
accept
=
'
*
'
,
...
o
})
=>
{
const
getUploader
=
({
accept
=
'
*
'
,
...
o
})
=>
{
let
url
=
uploadOptions
.
url
;
let
url
=
uploadOptions
.
url
,
multiple
=
true
;
if
(
o
.
afterParams
&&
o
.
afterParams
.
length
>
0
)
{
if
(
o
.
afterParams
&&
o
.
afterParams
.
length
>
0
)
{
if
(
uploadOptions
.
url
.
indexOf
(
'
?
'
)
!==
-
1
)
{
if
(
uploadOptions
.
url
.
indexOf
(
'
?
'
)
!==
-
1
)
{
url
=
uploadOptions
.
url
+
'
&
'
+
o
.
afterParams
.
join
(
'
&
'
);
url
=
uploadOptions
.
url
+
'
&
'
+
o
.
afterParams
.
join
(
'
&
'
);
...
@@ -435,6 +439,10 @@ const QEditor = ({
...
@@ -435,6 +439,10 @@ const QEditor = ({
}
}
}
}
if
(
typeof
o
.
multiple
!==
'
undefined
'
)
{
multiple
=
o
.
multiple
;
}
return
<
Uploader
return
<
Uploader
key
=
{
uploaderUid
}
key
=
{
uploaderUid
}
accept
=
{
accept
}
accept
=
{
accept
}
...
@@ -458,7 +466,7 @@ const QEditor = ({
...
@@ -458,7 +466,7 @@ const QEditor = ({
_uploadedPaths
.
splice
(
deleteIdx
,
1
);
_uploadedPaths
.
splice
(
deleteIdx
,
1
);
setUploadedPaths
(
_uploadedPaths
)
setUploadedPaths
(
_uploadedPaths
)
}
}
}
}
multiple
=
{
tru
e
}
multiple
=
{
multipl
e
}
modalType
=
{
innerModalType
}
modalType
=
{
innerModalType
}
/>
/>
}
}
...
@@ -505,11 +513,15 @@ const QEditor = ({
...
@@ -505,11 +513,15 @@ const QEditor = ({
case
'
iframe_custom
'
:
case
'
iframe_custom
'
:
return
(
return
(
<
Fragment
>
<
Fragment
>
<
input
type
=
"text"
value
=
{
embedContent
}
placeholder
=
{
'
<iframe></iframe>
'
}
<
textarea
cols
=
{
5
}
rows
=
{
5
}
value
=
{
embedContent
}
placeholder
=
{
'
<iframe></iframe>
'
}
onInput
=
{
(
e
)
=>
setEmbedContent
(
e
.
target
.
value
)
}
onInput
=
{
(
e
)
=>
setEmbedContent
(
e
.
target
.
value
)
}
/>
/>
</
Fragment
>
</
Fragment
>
)
)
case
'
iframe_pptx
'
:
return
(
<
Fragment
>
{
getUploader
({
accept
:
'
application/vnd.ms-powerpoint, application/vnd.openxmlformats-officedocument.presentationml.slideshow, application/vnd.openxmlformats-officedocument.presentationml.presentation
'
,
afterParams
:
[
'
no_convert=1
'
]})
}
</
Fragment
>
)
case
'
video
'
:
case
'
video
'
:
return
(
return
(
<
Fragment
>
{
getUploader
({
accept
:
'
video/*
'
})
}
</
Fragment
>
<
Fragment
>
{
getUploader
({
accept
:
'
video/*
'
})
}
</
Fragment
>
...
@@ -973,6 +985,11 @@ const QEditor = ({
...
@@ -973,6 +985,11 @@ const QEditor = ({
case
'
iframe_custom
'
:
case
'
iframe_custom
'
:
editor
.
chain
().
focus
().
insertContent
(
embedContent
).
run
();
editor
.
chain
().
focus
().
insertContent
(
embedContent
).
run
();
break
break
case
'
iframe_pptx
'
:
uploadedPaths
.
map
((
file
,
i
)
=>
{
editor
.
chain
().
focus
().
insertContent
(
`<iframe src="https://view.officeapps.live.com/op/embed.aspx?src=
${
file
.
path
}
" width="100%" height="600px" frameBorder="0"></iframe>`
).
run
();
})
break
case
'
file
'
:
case
'
file
'
:
uploadedPaths
.
map
((
file
,
i
)
=>
{
uploadedPaths
.
map
((
file
,
i
)
=>
{
let
exp
=
file
.
path
.
split
(
'
.
'
);
let
exp
=
file
.
path
.
split
(
'
.
'
);
...
...
src/components/ToolBar.js
View file @
426fb7e9
...
@@ -47,6 +47,7 @@ const toolsInit = {
...
@@ -47,6 +47,7 @@ const toolsInit = {
'
image
'
,
'
image
'
,
'
video
'
,
'
video
'
,
'
iframe
'
,
'
iframe
'
,
'
iframe_pptx
'
,
'
iframe_custom
'
,
'
iframe_custom
'
,
]
]
},
},
...
...
src/index.scss
View file @
426fb7e9
...
@@ -887,6 +887,13 @@ body{
...
@@ -887,6 +887,13 @@ body{
background-size: contain;
background-size: contain;
width: 46px;
width: 46px;
}
}
&.qiframe_pptx{
background-image: url('
data
:image
/
svg
+
xml
;
base64
,
PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI
/
Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDIwMDEwOTA0Ly9FTiIKICJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy1TVkctMjAwMTA5MDQvRFREL3N2ZzEwLmR0ZCI
+
CjxzdmcgdmVyc2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiB3aWR0aD0iNTEyLjAwMDAwMHB0IiBoZWlnaHQ9IjUxMi4wMDAwMDBwdCIgdmlld0JveD0iMCAwIDUxMi4wMDAwMDAgNTEyLjAwMDAwMCIKIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiPgoKPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsNTEyLjAwMDAwMCkgc2NhbGUoMC4xMDAwMDAsLTAuMTAwMDAwKSIKZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSJub25lIj4KPHBhdGggZD0iTTgzMCA1MTA0IGMtNDIgLTE4IC04NiAtNTggLTEwOCAtOTkgLTE1IC0yNyAtMTcgLTEwOSAtMjAgLTg3MSBsLTMKLTg0MiAtOTIgLTQgYy0xMTIgLTUgLTE3OSAtMzIgLTIzNSAtOTIgLTgxIC04OCAtNzcgLTM5IC03NyAtOTQ2IDAgLTgwMSAwCi04MDUgMjEgLTg1MSA1NCAtMTE2IDE0MCAtMTY5IDI5MSAtMTc3IGw5MiAtNSAzIC01MzYgYzMgLTU4OCAxIC01NjIgNjUgLTYyMwo2NSAtNjIgLTYxIC01OCAxNzkzIC01OCAxODU0IDAgMTcyOCAtNCAxNzkzIDU4IDY0IDYxIDYyIDM1IDY1IDYyMyBsMyA1MzYgOTIKNSBjMTUxIDggMjM3IDYxIDI5MSAxNzcgMjEgNDYgMjEgNTAgMjEgODUxIDAgOTA3IDQgODU4IC03NyA5NDYgLTU2IDYwIC0xMjMKODcgLTIzNSA5MiBsLTkzIDQgLTEgMzAyIGMtMSAxNjUgLTQgMzEyIC04IDMyNiAtOCAzMCAtOTk0IDExNjAgLTEwMzMgMTE4NAotMjQgMTUgLTEzOCAxNiAtMTI3MCAxNiAtMTA4OCAtMSAtMTI0NyAtMyAtMTI3OCAtMTZ6IG0yNDAwIC03MTQgbDAgLTUzMCAyOQotMzIgMjkgLTMzIDQ2NiAtMyA0NjYgLTMgMCAtMjQ5IDAgLTI1MCAtMTY2MCAwIC0xNjYwIDAgMCA4MTUgMCA4MTUgMTE2NSAwCjExNjUgMCAwIC01MzB6IG0tMTk2NSAtMTU0NSBjMTQyIC0zMCAyMzMgLTEwMCAyNzYgLTIxNCAyOSAtNzggMjQgLTIwMiAtMTIKLTI4MSAtNjYgLTE0MSAtMjIzIC0yMTkgLTQ0NiAtMjIwIGwtNzMgMCAwIC0xOTUgMCAtMTk1IC0xMjUgMCAtMTI1IDAgMCA1NDkKMCA1NDkgNzggNyBjNDIgNCA4MiA4IDg3IDEwIDMwIDEwIDI3OCAzIDM0MCAtMTB6IG05NDQgNCBjMTc1IC0zMCAyOTIgLTEzNwozMTAgLTI4MyAxNCAtMTE0IC0xOSAtMjMwIC05MCAtMzExIC02MyAtNzIgLTIyNCAtMTI0IC0zODYgLTEyNSBsLTczIDAgMAotMTk1IDAgLTE5NSAtMTI1IDAgLTEyNSAwIDAgNTQ1IGMwIDQyNyAzIDU0NyAxMyA1NTAgNTcgMjIgMzc1IDMxIDQ3NiAxNHoKbTEyNTEgLTEwNCBsMCAtMTA1IC0xNTUgMCAtMTU1IDAgMCAtNDUwIDAgLTQ1MCAtMTI1IDAgLTEyNSAwIDAgNDUwIDAgNDUwCi0xNTAgMCAtMTUwIDAgMCAxMDUgMCAxMDUgNDMwIDAgNDMwIDAgMCAtMTA1eiBtNDQ3IC0yOCBjMzQgLTcyIDc0IC0xNTggODkKLTE5MCAxNCAtMzIgMzAgLTU1IDM0IC01MCA1IDQgMjMgNDQgNDAgODcgMTcgNDQgNTMgMTI2IDgwIDE4MyBsNDkgMTAzIDE0MCAwCmM3OCAwIDE0MSAtMiAxNDEgLTUgMCAtMyAtNjcgLTEyMSAtMTUwIC0yNjQgLTgyIC0xNDIgLTE1MCAtMjYyIC0xNTIgLTI2OCAtMgotNSA2NSAtMTI2IDE0NyAtMjY4IDgzIC0xNDIgMTU2IC0yNjkgMTYzIC0yODIgbDEzIC0yMyAtMTQ2IDAgLTE0NSAwIC05NyAxOTUKYy01NCAxMDcgLTEwMCAxOTUgLTEwMyAxOTUgLTMgMCAtMjMgLTQxIC00NCAtOTEgLTIxIC01MCAtNjAgLTEzOCAtODcgLTE5NQpsLTQ5IC0xMDQgLTE0MCAwIGMtNzcgMCAtMTQwIDMgLTE0MCA2IDAgNCA2NyAxMjQgMTQ5IDI2OCA4MyAxNDQgMTUzIDI2OSAxNTYKMjc3IDQgMTAgLTUyIDExOSAtMTQ1IDI4MiAtODIgMTQ3IC0xNTAgMjY5IC0xNTAgMjcyIDAgMyA2NCA1IDE0MyA1IGwxNDIgMAo2MiAtMTMzeiBtMzEzIC0xOTc3IGwwIC00ODAgLTE2NjAgMCAtMTY2MCAwIDAgNDgwIDAgNDgwIDE2NjAgMCAxNjYwIDAgMAotNDgweiIvPgo8cGF0aCBkPSJNMTAyOCAyNjY0IGMtMTYgLTUgLTE4IC0yMiAtMTggLTE2OCBsMCAtMTYzIDQ0IC01IGM2NCAtOCAxNDQgOCAxODYKMzYgOTkgNjUgOTQgMjIwIC05IDI4MCAtMzMgMTkgLTE2MiAzMiAtMjAzIDIweiIvPgo8cGF0aCBkPSJNMTk4OCAyNjY0IGMtMTYgLTUgLTE4IC0yMiAtMTggLTE2OCBsMCAtMTYzIDQxIC02IGM1MSAtNyAxMzcgNiAxNzYKMjYgNTggMzAgODQgNzggODQgMTUzIDAgMTA2IC01OCAxNTUgLTE5MSAxNjAgLTQxIDIgLTgzIDEgLTkyIC0yeiIvPgo8L2c
+
Cjwvc3ZnPgo
=
');
background-size: contain;
width: 28px;
height: 20px;
margin-top: 4px;
}
&.qclearMarks{
&.qclearMarks{
background-image: url('
data
:image
/
svg
+
xml
;
charset
=
utf8
,
%3Csvg%20width%3D%2215%22%20height%3D%2215%22%20xmlns%3D%22http%3A%2F%2Fwww
.w3.org
%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8
.574
%206
.094
%207
.07
%204
.609l.47-1.093H5.995L3.965
%201
.484h9.355c.274
%200%20
.505.095.694.284.188.188.283.42.283.693a.943.943
%200%200%201-
.283.693.943.943
%200%200%201-
.694.284H9.707L8.574
%206
.094zm5.43
%208
.73L7.598
%208
.398l-1.465
%203
.438a.935.935
%200%200%201-
.362.43.976.976
%200%200%201-
.537.156.932.932
%200%200%201-
.82-.44.913.913
%200%200%201-
.078-.927l1.758-4.14L.176.995A.562.562
%200%200%201%200%20
.586C0
%20
.43.059.293.176.176A.562.562
%200%200%201%20
.586
%200c
.156
%200%20
.293.059.41.176l13.828
%2013
.828a.562.562
%200%200%201%20
.176.41.562.562
%200%200%201-
.176.41.562.562
%200%200%201-
.41.176.562.562
%200%200%201-
.41-.176z
%22%20fill%3D%22%231D1D1F%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E
');
background-image: url('
data
:image
/
svg
+
xml
;
charset
=
utf8
,
%3Csvg%20width%3D%2215%22%20height%3D%2215%22%20xmlns%3D%22http%3A%2F%2Fwww
.w3.org
%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8
.574
%206
.094
%207
.07
%204
.609l.47-1.093H5.995L3.965
%201
.484h9.355c.274
%200%20
.505.095.694.284.188.188.283.42.283.693a.943.943
%200%200%201-
.283.693.943.943
%200%200%201-
.694.284H9.707L8.574
%206
.094zm5.43
%208
.73L7.598
%208
.398l-1.465
%203
.438a.935.935
%200%200%201-
.362.43.976.976
%200%200%201-
.537.156.932.932
%200%200%201-
.82-.44.913.913
%200%200%201-
.078-.927l1.758-4.14L.176.995A.562.562
%200%200%201%200%20
.586C0
%20
.43.059.293.176.176A.562.562
%200%200%201%20
.586
%200c
.156
%200%20
.293.059.41.176l13.828
%2013
.828a.562.562
%200%200%201%20
.176.41.562.562
%200%200%201-
.176.41.562.562
%200%200%201-
.41.176.562.562
%200%200%201-
.41-.176z
%22%20fill%3D%22%231D1D1F%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E
');
}
}
...
...
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