Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wiki-js
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
wiki-js
Commits
951ebb6b
Commit
951ebb6b
authored
Mar 29, 2020
by
NGPixel
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: duplicate page
parent
44a0f69a
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
43 additions
and
5 deletions
+43
-5
nav-header.vue
client/components/common/nav-header.vue
+24
-1
page.vue
client/themes/default/components/page.vue
+19
-4
No files found.
client/components/common/nav-header.vue
View file @
951ebb6b
...
...
@@ -132,6 +132,9 @@
v-list-item.pl-4(@click='pageSource', v-if='mode !== `source`')
v-list-item-avatar(size='24'): v-icon(color='indigo') mdi-code-tags
v-list-item-title.body-2
{{
$t
(
'common:header.viewSource'
)
}}
v-list-item.pl-4(@click='pageDuplicate', v-if='isAuthenticated')
v-list-item-avatar(size='24'): v-icon(color='indigo') mdi-content-duplicate
v-list-item-title.body-2
{{
$t
(
'common:header.duplicate'
)
}}
v-list-item.pl-4(@click='pageMove', v-if='isAuthenticated')
v-list-item-avatar(size='24'): v-icon(color='indigo') mdi-content-save-move-outline
v-list-item-content
...
...
@@ -197,6 +200,7 @@
page-selector(mode='create', v-model='newPageModal', :open-handler='pageNewCreate', :locale='locale')
page-selector(mode='move', v-model='movePageModal', :open-handler='pageMoveRename', :path='path', :locale='locale')
page-selector(mode='create', v-model='duplicateOpts.modal', :open-handler='pageDuplicateHandle', :path='duplicateOpts.path', :locale='duplicateOpts.locale')
page-delete(v-model='deletePageModal', v-if='path && path.length')
.nav-header-dev(v-if='isDevMode')
...
...
@@ -238,7 +242,12 @@ export default {
movePageModal
:
false
,
deletePageModal
:
false
,
locales
:
siteLangs
,
isDevMode
:
false
isDevMode
:
false
,
duplicateOpts
:
{
locale
:
'en'
,
path
:
'new-page'
,
modal
:
false
}
}
},
computed
:
{
...
...
@@ -298,6 +307,9 @@ export default {
this
.
$root
.
$on
(
'pageMove'
,
()
=>
{
this
.
pageMove
()
})
this
.
$root
.
$on
(
'pageDuplicate'
,
()
=>
{
this
.
pageDuplicate
()
})
this
.
$root
.
$on
(
'pageDelete'
,
()
=>
{
this
.
pageDelete
()
})
...
...
@@ -346,6 +358,17 @@ export default {
pageSource
()
{
window
.
location
.
assign
(
`/s/
${
this
.
locale
}
/
${
this
.
path
}
`
)
},
pageDuplicate
()
{
const
pathParts
=
this
.
path
.
split
(
'/'
)
this
.
duplicateOpts
=
{
locale
:
this
.
locale
,
path
:
(
pathParts
.
length
>
1
)
?
_
.
initial
(
pathParts
).
join
(
'/'
)
+
`/new-page`
:
`new-page`
,
modal
:
true
}
},
pageDuplicateHandle
({
locale
,
path
})
{
window
.
location
.
assign
(
`/e/
${
locale
}
/
${
path
}
?from=
${
this
.
$store
.
get
(
'page/id'
)}
`
)
},
pageMove
()
{
this
.
movePageModal
=
true
},
...
...
client/themes/default/components/page.vue
View file @
951ebb6b
...
...
@@ -173,7 +173,7 @@
@click='pageHistory'
)
v-icon(size='20') mdi-history
span
History
span
{{
$t
(
'common:header.history'
)
}}
v-tooltip(:right='$vuetify.rtl', :left='!$vuetify.rtl')
template(v-slot:activator='{ on }')
v-btn(
...
...
@@ -185,7 +185,19 @@
@click='pageSource'
)
v-icon(size='20') mdi-code-tags
span View Source
span
{{
$t
(
'common:header.viewSource'
)
}}
v-tooltip(:right='$vuetify.rtl', :left='!$vuetify.rtl')
template(v-slot:activator='{ on }')
v-btn(
fab
small
color='white'
light
v-on='on'
@click='pageDuplicate'
)
v-icon(size='20') mdi-content-duplicate
span
{{
$t
(
'common:header.duplicate'
)
}}
v-tooltip(:right='$vuetify.rtl', :left='!$vuetify.rtl')
template(v-slot:activator='{ on }')
v-btn(
...
...
@@ -197,7 +209,7 @@
@click='pageMove'
)
v-icon(size='20') mdi-content-save-move-outline
span
Move / Rename
span
{{
$t
(
'common:header.move'
)
}}
v-tooltip(:right='$vuetify.rtl', :left='!$vuetify.rtl')
template(v-slot:activator='{ on }')
v-btn(
...
...
@@ -209,7 +221,7 @@
@click='pageDelete'
)
v-icon(size='20') mdi-trash-can-outline
span
Delete
span
{{
$t
(
'common:header.delete'
)
}}
span
{{
$t
(
'common:page.editPage'
)
}}
.contents(ref='container')
slot(name='contents')
...
...
@@ -458,6 +470,9 @@ export default {
pageSource
()
{
this
.
$root
.
$emit
(
'pageSource'
)
},
pageDuplicate
()
{
this
.
$root
.
$emit
(
'pageDuplicate'
)
},
pageMove
()
{
this
.
$root
.
$emit
(
'pageMove'
)
},
...
...
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