Skip to content

Commit e7a5ea8

Browse files
authored
Merge pull request #1587 from tamo/more-i18n
Move HTML-related code from JS to EJS to enable more i18n
2 parents 620197f + dec2f98 commit e7a5ea8

File tree

5 files changed

+64
-80
lines changed

5 files changed

+64
-80
lines changed

public/js/extra.js

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -874,13 +874,16 @@ let tocExpand = false
874874

875875
function checkExpandToggle () {
876876
const toc = $('.ui-toc-dropdown .toc')
877-
const toggle = $('.expand-toggle')
877+
const expand = $('.expand-toggle.expand-all')
878+
const collapse = $('.expand-toggle.collapse-all')
878879
if (!tocExpand) {
879880
toc.removeClass('expand')
880-
toggle.text('Expand all')
881+
expand.show()
882+
collapse.hide()
881883
} else {
882884
toc.addClass('expand')
883-
toggle.text('Collapse all')
885+
expand.hide()
886+
collapse.show()
884887
}
885888
}
886889

@@ -903,11 +906,12 @@ export function generateToc (id) {
903906
})
904907
/* eslint-enable no-unused-vars */
905908
if (target.text() === 'undefined') { target.html('') }
906-
const tocMenu = $('<div class="toc-menu"></div')
907-
const toggle = $('<a class="expand-toggle" href="#">Expand all</a>')
908-
const backtotop = $('<a class="back-to-top" href="#">Back to top</a>')
909-
const gotobottom = $('<a class="go-to-bottom" href="#">Go to bottom</a>')
910909
checkExpandToggle()
910+
const tocMenu = $('body').children('.toc-menu')
911+
target.append(tocMenu.clone().show())
912+
const toggle = $('.expand-toggle', target)
913+
const backtotop = $('.back-to-top', target)
914+
const gotobottom = $('.go-to-bottom', target)
911915
toggle.click(e => {
912916
e.preventDefault()
913917
e.stopPropagation()
@@ -926,8 +930,6 @@ export function generateToc (id) {
926930
if (window.scrollToBottom) { window.scrollToBottom() }
927931
removeHash()
928932
})
929-
tocMenu.append(toggle).append(backtotop).append(gotobottom)
930-
target.append(tocMenu)
931933
}
932934

933935
// smooth all hash trigger scrolling

public/js/index.js

Lines changed: 19 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -237,21 +237,9 @@ const supportExtraTags = [
237237
}
238238
]
239239
const statusType = {
240-
connected: {
241-
msg: 'CONNECTED',
242-
label: 'label-warning',
243-
fa: 'fa-wifi'
244-
},
245-
online: {
246-
msg: 'ONLINE',
247-
label: 'label-primary',
248-
fa: 'fa-users'
249-
},
250-
offline: {
251-
msg: 'OFFLINE',
252-
label: 'label-danger',
253-
fa: 'fa-plug'
254-
}
240+
connected: 1,
241+
online: 2,
242+
offline: 3
255243
}
256244

257245
// global vars
@@ -723,43 +711,23 @@ function checkTocStyle () {
723711

724712
function showStatus (type, num) {
725713
currentStatus = type
726-
var shortStatus = ui.toolbar.shortStatus
727-
var status = ui.toolbar.status
728-
var label = $('<span class="label"></span>')
729-
var fa = $('<i class="fa"></i>')
730-
var msg = ''
731-
var shortMsg = ''
732714

733-
shortStatus.html('')
734-
status.html('')
715+
ui.toolbar.statusConnected.hide()
716+
ui.toolbar.statusOnline.hide()
717+
ui.toolbar.statusOffline.hide()
735718

736719
switch (currentStatus) {
737720
case statusType.connected:
738-
label.addClass(statusType.connected.label)
739-
fa.addClass(statusType.connected.fa)
740-
msg = statusType.connected.msg
721+
ui.toolbar.statusConnected.show()
741722
break
742723
case statusType.online:
743-
label.addClass(statusType.online.label)
744-
fa.addClass(statusType.online.fa)
745-
shortMsg = num
746-
msg = num + ' ' + statusType.online.msg
724+
ui.toolbar.statusShortMsg.text(num)
725+
ui.toolbar.statusOnline.show()
747726
break
748727
case statusType.offline:
749-
label.addClass(statusType.offline.label)
750-
fa.addClass(statusType.offline.fa)
751-
msg = statusType.offline.msg
728+
ui.toolbar.statusOffline.show()
752729
break
753730
}
754-
755-
label.append(fa)
756-
var shortLabel = label.clone()
757-
758-
shortLabel.append(' ' + shortMsg)
759-
shortStatus.append(shortLabel)
760-
761-
label.append(' ' + msg)
762-
status.append(label)
763731
}
764732

765733
function toggleMode () {
@@ -1647,41 +1615,34 @@ function updatePermission (newPermission) {
16471615
permission = newPermission
16481616
if (window.loaded) refreshView()
16491617
}
1650-
var label = null
1651-
var title = null
1618+
ui.infobar.permission.label.hide()
16521619
switch (permission) {
16531620
case 'freely':
1654-
label = '<i class="fa fa-leaf"></i> Freely'
1655-
title = 'Anyone can edit'
1621+
$('#permissionLabelFreely').show()
16561622
break
16571623
case 'editable':
1658-
label = '<i class="fa fa-shield"></i> Editable'
1659-
title = 'Signed people can edit'
1624+
$('#permissionLabelEditable').show()
16601625
break
16611626
case 'limited':
1662-
label = '<i class="fa fa-id-card"></i> Limited'
1663-
title = 'Signed people can edit (forbid guest)'
1627+
$('#permissionLabelLimited').show()
16641628
break
16651629
case 'locked':
1666-
label = '<i class="fa fa-lock"></i> Locked'
1667-
title = 'Only owner can edit'
1630+
$('#permissionLabelLocked').show()
16681631
break
16691632
case 'protected':
1670-
label = '<i class="fa fa-umbrella"></i> Protected'
1671-
title = 'Only owner can edit (forbid guest)'
1633+
$('#permissionLabelProtected').show()
16721634
break
16731635
case 'private':
1674-
label = '<i class="fa fa-hand-stop-o"></i> Private'
1675-
title = 'Only owner can view & edit'
1636+
$('#permissionLabelPrivate').show()
16761637
break
16771638
}
16781639
if (personalInfo.userid && window.owner && personalInfo.userid === window.owner) {
1679-
label += ' <i class="fa fa-caret-down"></i>'
1640+
ui.infobar.permission.labelCaretDown.show()
16801641
ui.infobar.permission.label.removeClass('disabled')
16811642
} else {
1643+
ui.infobar.permission.labelCaretDown.hide()
16821644
ui.infobar.permission.label.addClass('disabled')
16831645
}
1684-
ui.infobar.permission.label.html(label).attr('title', title)
16851646
}
16861647

16871648
function havePermission () {

public/js/lib/editor/ui-elements.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ export const getUIElements = () => ({
99
toolbar: {
1010
shortStatus: $('.ui-short-status'),
1111
status: $('.ui-status'),
12+
statusShortMsg: $('.ui-status-short-msg'),
13+
statusConnected: $('.ui-status-connected'),
14+
statusOnline: $('.ui-status-online'),
15+
statusOffline: $('.ui-status-offline'),
1216
new: $('.ui-new'),
1317
publish: $('.ui-publish'),
1418
extra: {
@@ -46,6 +50,7 @@ export const getUIElements = () => ({
4650
permission: {
4751
permission: $('.ui-permission'),
4852
label: $('.ui-permission-label'),
53+
labelCaretDown: $('.ui-permission-caret-down'),
4954
freely: $('.ui-permission-freely'),
5055
editable: $('.ui-permission-editable'),
5156
locked: $('.ui-permission-locked'),

public/views/codimd/body.ejs

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,23 +12,27 @@
1212
<span class="ui-lastchange text-uppercase"></span>
1313
</span>
1414
<span class="ui-permission dropdown pull-right">
15-
<a id="permissionLabel" class="ui-permission-label text-uppercase" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
16-
</a>
17-
<ul class="dropdown-menu" aria-labelledby="permissionLabel">
18-
<li class="ui-permission-freely"<% if(!('freely' in permission)) { %> style="display: none;"<% } %>><a><i class="fa fa-leaf fa-fw"></i> Freely - Anyone can edit</a></li>
19-
<li class="ui-permission-editable"<% if(!('editable' in permission)) { %> style="display: none;"<% } %>><a><i class="fa fa-shield fa-fw"></i> Editable - Signed-in people can edit</a></li>
20-
<li class="ui-permission-limited"<% if(!('limited' in permission)) { %> style="display: none;"<% } %>><a><i class="fa fa-id-card fa-fw"></i> Limited - Signed-in people can edit (forbid guests)</a></li>
21-
<li class="ui-permission-locked"<% if(!('locked' in permission)) { %> style="display: none;"<% } %>><a><i class="fa fa-lock fa-fw"></i> Locked - Only owner can edit</a></li>
22-
<li class="ui-permission-protected"<% if(!('protected' in permission)) { %> style="display: none;"<% } %>><a><i class="fa fa-umbrella fa-fw"></i> Protected - Only owner can edit (forbid guests)</a></li>
23-
<li class="ui-permission-private"<% if(!('private' in permission)) { %> style="display: none;"<% } %>><a><i class="fa fa-hand-stop-o fa-fw"></i> Private - Only owner can view &amp; edit</a></li>
15+
<a id="permissionLabelFreely" class="ui-permission-label text-uppercase" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false" style="display: none;" title="<%= __('Anyone can edit') %>"><i class="fa fa-leaf"></i> <%= __('Freely') %> <i class="ui-permission-caret-down fa fa-caret-down" style="display: none;"></i></a>
16+
<a id="permissionLabelEditable" class="ui-permission-label text-uppercase" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false" style="display: none;" title="<%= __('Signed-in people can edit') %>"><i class="fa fa-shield fa-fw"></i> <%= __('Editable') %> <i class="ui-permission-caret-down fa fa-caret-down" style="display: none;"></i></a>
17+
<a id="permissionLabelLimited" class="ui-permission-label text-uppercase" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false" style="display: none;" title="<%= __('Signed-in people can edit (forbid guests)') %>"><i class="fa fa-id-card fa-fw"></i> <%= __('Limited') %> <i class="ui-permission-caret-down fa fa-caret-down" style="display: none;"></i></a>
18+
<a id="permissionLabelLocked" class="ui-permission-label text-uppercase" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false" style="display: none;" title="<%= __('Only owner can edit') %>"><i class="fa fa-lock fa-fw"></i> <%= __('Locked') %> <i class="ui-permission-caret-down fa fa-caret-down" style="display: none;"></i></a>
19+
<a id="permissionLabelProtected" class="ui-permission-label text-uppercase" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false" style="display: none;" title="<%= __('Only owner can edit (forbid guests)') %>"><i class="fa fa-umbrella fa-fw"></i> <%= __('Protected') %> <i class="ui-permission-caret-down fa fa-caret-down" style="display: none;"></i></a>
20+
<a id="permissionLabelPrivate" class="ui-permission-label text-uppercase" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false" style="display: none;" title="<%= __('Only owner can view & edit') %>"><i class="fa fa-hand-stop-o fa-fw"></i> <%= __('Private') %> <i class="ui-permission-caret-down fa fa-caret-down" style="display: none;"></i></a>
21+
<ul class="dropdown-menu" aria-labelledby="permissionLabelFreely permissionLabelEditable permissionLabelLimited permissionLabelLocked permissionLabelProtected permissionLabelPrivate">
22+
<li class="ui-permission-freely"<% if(!('freely' in permission)) { %> style="display: none;"<% } %>><a><i class="fa fa-leaf fa-fw"></i> <%= __('Freely') %> - <%= __('Anyone can edit') %></a></li>
23+
<li class="ui-permission-editable"<% if(!('editable' in permission)) { %> style="display: none;"<% } %>><a><i class="fa fa-shield fa-fw"></i> <%= __('Editable') %> - <%= __('Signed-in people can edit') %></a></li>
24+
<li class="ui-permission-limited"<% if(!('limited' in permission)) { %> style="display: none;"<% } %>><a><i class="fa fa-id-card fa-fw"></i> <%= __('Limited') %> - <%= __('Signed-in people can edit (forbid guests)') %></a></li>
25+
<li class="ui-permission-locked"<% if(!('locked' in permission)) { %> style="display: none;"<% } %>><a><i class="fa fa-lock fa-fw"></i> <%= __('Locked') %> - <%= __('Only owner can edit') %></a></li>
26+
<li class="ui-permission-protected"<% if(!('protected' in permission)) { %> style="display: none;"<% } %>><a><i class="fa fa-umbrella fa-fw"></i> <%= __('Protected') %> - <%= __('Only owner can edit (forbid guests)') %></a></li>
27+
<li class="ui-permission-private"<% if(!('private' in permission)) { %> style="display: none;"<% } %>><a><i class="fa fa-hand-stop-o fa-fw"></i> <%= __('Private') %> - <%= __('Only owner can view & edit') %></a></li>
2428
<li class="divider"></li>
25-
<li class="ui-delete-note"><a><i class="fa fa-trash-o fa-fw"></i> Delete this note</a></li>
29+
<li class="ui-delete-note"><a><i class="fa fa-trash-o fa-fw"></i> <%= __('Delete this note') %></a></li>
2630
</ul>
2731
</span>
2832
<br>
2933
<span class="ui-owner" style="display: none;">
3034
&thinsp;<i class="ui-user-icon small" data-toggle="tooltip" data-placement="right"></i>
31-
&nbsp;<span class="text-uppercase">owned this note</span>
35+
&nbsp;<span class="text-uppercase"><%= __('owned this note') %></span>
3236
</span>
3337
</small>
3438
</div>
@@ -45,6 +49,13 @@
4549
<div id="ui-toc-affix" class="ui-affix-toc ui-toc-dropdown unselectable hidden-print" data-spy="affix" style="top:51px;display:none;"></div>
4650
</div>
4751
</div>
52+
<!-- toc menu -->
53+
<div class="toc-menu" style="display: none;">
54+
<a class="expand-toggle expand-all" href="#"><%= __('Expand all') %></a>
55+
<a class="expand-toggle collapse-all" href="#" style="display: none;"><%= __('Collapse all') %></a>
56+
<a class="back-to-top" href="#"><%= __('Back to top') %></a>
57+
<a class="go-to-bottom" href="#"><%= __('Go to bottom') %></a>
58+
</div>
4859
<!-- clipboard modal -->
4960
<div class="modal fade" id="clipboardModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
5061
<div class="modal-dialog modal-lg">

public/views/codimd/header.ejs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,10 @@
88
<div class="visible-lg">&nbsp;</div>
99
</div>
1010
<div class="nav-mobile nav-status visible-xs" id="short-online-user-list">
11-
<a class="ui-short-status" data-toggle="dropdown"><span class="label label-danger"><i class="fa fa-plug"></i> </span>
11+
<a class="ui-short-status" data-toggle="dropdown">
12+
<span class="label label-warning ui-status-connected" style="display: none;"><i class="fa fa-wifi"></i></span>
13+
<span class="label label-primary ui-status-online" style="display: none;"><i class="fa fa-users"></i> <span class="ui-status-short-msg"></span></span>
14+
<span class="label label-danger ui-status-offline"><i class="fa fa-plug"></i></span>
1215
</a>
1316
<ul class="dropdown-menu list" role="menu" aria-labelledby="menu">
1417
</ul>
@@ -109,7 +112,9 @@
109112
<ul class="nav navbar-nav navbar-right">
110113
<li id="online-user-list">
111114
<a class="ui-status" data-toggle="dropdown">
112-
<span class="label label-danger"><i class="fa fa-plug"></i> OFFLINE</span>
115+
<span class="label label-warning ui-status-connected" style="display: none;"><i class="fa fa-wifi"></i> <%= __('CONNECTED') %></span>
116+
<span class="label label-primary ui-status-online" style="display: none;"><i class="fa fa-users"></i> <span class="ui-status-short-msg"></span> <%= __('ONLINE') %></span>
117+
<span class="label label-danger ui-status-offline"><i class="fa fa-plug"></i> <%= __('OFFLINE') %></span>
113118
</a>
114119
<ul class="dropdown-menu list" role="menu" aria-labelledby="menu" style="right: 15px;width: 200px;">
115120
</ul>

0 commit comments

Comments
 (0)