Skip to content

Commit 073bb8f

Browse files
committed
LUT-25130 : Choose_the_text_layout_for_a_whole_wiki_page
1 parent 5bd1f8a commit 073bb8f

File tree

4 files changed

+81
-0
lines changed

4 files changed

+81
-0
lines changed

webapp/WEB-INF/templates/skin/plugins/wiki/custom_input_editor.html

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,4 +136,39 @@
136136
</div>
137137
</div>
138138

139+
<!------------ modal to align of the whole page ----------------->
140+
141+
142+
<div id="selectTextAlignmentModal" class="toastui-editor-popup" style="display: none;" >
143+
<div style="position: absolute; top: 50%; left: 50%; z-index: -1;"></div>
144+
<button class="btn btn-default" type="button" style="position: absolute; right: 0;" onclick="closeToastUiModal()">
145+
<span class="fa fa-times"></span>
146+
</button>
147+
<div class="toastui-editor-popup-header">
148+
<div class="toastui-editor-popup-header-title">Select Text Alignment</div>
149+
</div>
150+
<div class="toastui-editor-popup-body">
151+
<div class="toastui-editor-popup-content-body">
152+
<div class="btn-group" role="group" aria-label="...">
153+
<button type="button" class="btn btn-default" onclick="selectTextAlignment('wiki-align-content-val-l')">
154+
<div>Left</div>
155+
<span class="fa fa-align-left"></span>
156+
</button>
157+
<button type="button" class="btn btn-default" onclick="selectTextAlignment('wiki-align-content-val-c')">
158+
<div>Center</div>
159+
<span class="fa fa-align-center"></span>
160+
</button>
161+
<button type="button" class="btn btn-default" onclick="selectTextAlignment('wiki-align-content-val-r')">
162+
<div>Right</div>
163+
<span class="fa fa-align-right"></span>
164+
</button>
165+
<button type="button" class="btn btn-default" onclick="selectTextAlignment('wiki-align-content-val-j')">
166+
<div>Justify</div>
167+
<span class="fa fa-align-justify"></span>
168+
</button>
169+
</div>
170+
</div>
171+
</div>
172+
</div>
173+
139174
<!------------------- END OF CUSTOM INPUTS -------------------------->

webapp/css/plugins/wiki/wiki.css

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,4 +151,17 @@ margin-left: 20%;
151151
overflow: auto;
152152
height: 100%;
153153
}
154+
/* class for align content editor */
154155

156+
.wiki-align-content-val-l {
157+
text-align: left;
158+
}
159+
.wiki-align-content-val-r {
160+
text-align: right;
161+
}
162+
.wiki-align-content-val-c {
163+
text-align: center;
164+
}
165+
.wiki-align-content-val-j {
166+
text-align: justify;
167+
}

webapp/js/plugins/wiki/wiki_pages/modify_page.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,13 @@ editor.insertToolbarItem({ groupIndex: 0, itemIndex: 6 }, {
116116
className: 'ti ti-video editor',
117117
style: { backgroundImage: 'none' },
118118
});
119+
editor.insertToolbarItem({ groupIndex: 0, itemIndex: 7 }, {
120+
name: 'textAlignment',
121+
tooltip: 'Text Alignment',
122+
text: 'TA',
123+
className: 'fa fa-align-left editor',
124+
style: { backgroundImage: 'none' },
125+
});
119126
editor.insertToolbarItem({ groupIndex: 0, itemIndex: 9 }, {
120127
name: 'Image',
121128
tooltip: 'Image',
@@ -138,6 +145,26 @@ function closeToastUiModal() {
138145

139146

140147

148+
/* -------------- Text Alignment -------------- */
149+
const textAlignmentButton = document.getElementsByClassName("fa fa-align-left editor")[0];
150+
textAlignmentButton.addEventListener('click', function() {
151+
document.getElementById("selectTextAlignmentModal").style.display = "block";
152+
});
153+
function selectTextAlignment(alignmentValue) {
154+
let el = document.getElementsByClassName("toastui-editor-md-container")[0];
155+
for(let i = 0; i < el.classList.length; i++){
156+
if(el.classList[i].indexOf("wiki-align-content-val-") > -1){
157+
el.classList.remove(el.classList[i]);
158+
}
159+
}
160+
document.getElementsByClassName("toastui-editor-md-container")[0].classList.add(alignmentValue);
161+
162+
const contentToInsert = '<span class="' + alignmentValue + '"></span>';
163+
editor.insertText("$$span\n"+contentToInsert+ "\n$$");
164+
closeToastUiModal();
165+
}
166+
167+
141168
window.addEventListener("load", (event) => {
142169
if(document.getElementsByClassName('ProseMirror')[0].innerText.indexOf("wiki-align-content-val-") > -1){
143170
const alignmentValue = document.getElementsByClassName('ProseMirror')[0].innerText.split("wiki-align-content-val-")[1].substring(0,1);

webapp/js/plugins/wiki/wiki_pages/view_page.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,3 +93,9 @@ function copyToClipboard(text) {
9393
document.execCommand('copy');
9494
document.body.removeChild(dummy);
9595
}
96+
97+
/* -------------- Text Alignment -------------- */
98+
if(document.getElementsByClassName('toastui-editor-contents')[0].innerHTML.indexOf("wiki-align-content-val-") > -1){
99+
const alignmentValue = document.getElementsByClassName('toastui-editor-contents')[0].innerHTML.split("wiki-align-content-val-")[1].substring(0,1);
100+
document.getElementsByClassName("toastui-editor-contents")[0].classList.add("wiki-align-content-val-"+alignmentValue);
101+
}

0 commit comments

Comments
 (0)