Skip to content

Commit 8c69ea2

Browse files
committed
up
1 parent c43b93d commit 8c69ea2

4 files changed

Lines changed: 106 additions & 14 deletions

File tree

assets/processing_file.js

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
class ProcessingFile {
2-
constructor(_file_name, _text, _FIRST_STRINGS_LENGTH, _LAST_STRINGS_LENGTH, _lang_lexx) {
2+
constructor(_file_name, _text, _FIRST_STRINGS_LENGTH, _LAST_STRINGS_LENGTH, _lang_lexx, _lexx_register) {
33
this.file_names = []
44
this.file_names.push([_file_name, 0])
55
this.FIRST_STRINGS_LENGTH = _FIRST_STRINGS_LENGTH;
66
this.LAST_STRINGS_LENGTH = _LAST_STRINGS_LENGTH;
77
this.full_text = _text
88
this.lang_lexx = _lang_lexx
9+
this.lexx_register = _lexx_register
910
this.pre_sentences = this.getFixPoints(this.full_text)
1011
this.all_sentences = this.get_fix_section(this.pre_sentences)
1112
}
@@ -39,18 +40,28 @@
3940
if ( rule[0] == '"' ) {
4041
const match_arr = rule.trim().replaceAll('"', "").split("=")
4142
if ( match_arr.length == 2 ) {
42-
const regex = new RegExp(this.get_escaped(match_arr[0]), 'giu');
43-
fix_text = fix_text.replace(regex, match_arr[1]);
43+
if (this.lexx_register == true) {
44+
fix_text = fix_text.replaceAll(match_arr[0].toString(), match_arr[1].toString())
45+
} else {
46+
const regex = new RegExp(this.get_escaped(match_arr[0]), 'giu');
47+
fix_text = fix_text.replace(regex, match_arr[1]);
48+
}
4449
}
4550
} else {
46-
const match_arr = rule.trim().split("=");
47-
const escaped = this.get_escaped(match_arr[0]);
48-
if (this.is_punctuation(match_arr[0]) == true) {
49-
const regex = new RegExp(escaped, 'giu');
50-
fix_text = fix_text.replace(regex, match_arr[1]);
51+
const match_arr = rule.trim().split("=")
52+
if (this.lexx_register == true) {
53+
const match_arr = rule.trim().split("=")
54+
const regex = new RegExp('(^|\\s)'+match_arr[0].toString()+'(?=\\s|$)', 'gi');
55+
fix_text = fix_text.replace(regex, '$1'+match_arr[1].toString())
5156
} else {
52-
const regex = new RegExp('(^|\\s|\\p{P})' + escaped + '(?=\\p{P}|\\s|$)', 'giu');
53-
fix_text = fix_text.replace(regex, '$1' + match_arr[1]);
57+
const escaped = this.get_escaped(match_arr[0]);
58+
if (this.is_punctuation(match_arr[0]) == true) {
59+
const regex = new RegExp(escaped, 'giu');
60+
fix_text = fix_text.replace(regex, match_arr[1]);
61+
} else {
62+
const regex = new RegExp('(^|\\s|\\p{P})' + escaped + '(?=\\p{P}|\\s|$)', 'giu');
63+
fix_text = fix_text.replace(regex, '$1' + match_arr[1]);
64+
}
5465
}
5566
}
5667
}

assets/script.js

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,11 @@ const fileInput = document.getElementById('file-input')
2121
const fileButtonLex = document.getElementById('file-button-lex')
2222
const fileButton = document.getElementById('file-button')
2323
const dopSettings = document.getElementById('dop-settings-label')
24+
const cbLexxRegister = document.getElementById('lexx_register')
2425

2526
saveButton.addEventListener('click', e => start())
2627
dopSettings.addEventListener('click', e => change_dopSettings())
28+
2729
//save_alloneButton.addEventListener('click', e => start_allone())
2830
settingsButton.addEventListener('click', e => lite_mod())
2931
rate.addEventListener('input', e => rate_str.textContent = rate.value >= 0 ? `+${rate.value}%` : `${rate.value}%`)
@@ -82,6 +84,7 @@ function set_dopSettings() {
8284
document.querySelector('#div-pitch').style.display = display_dop
8385
document.querySelector('#div-threads').style.display = display_dop
8486
document.querySelector('#div-mergefiles').style.display = display_dop
87+
document.querySelector('#div-lexx_register').style.display = display_dop
8588
}
8689

8790
fileInputLex.addEventListener('change', (event) => {
@@ -158,6 +161,7 @@ function lite_mod() {
158161
document.querySelector('#div-pitch').style.display = display_dop
159162
document.querySelector('#div-threads').style.display = display_dop
160163
document.querySelector('#div-mergefiles').style.display = display_dop
164+
document.querySelector('#div-lexx_register').style.display = display_dop
161165

162166
if (book && book.all_sentences.length > 0) {
163167
textArea.value = ""
@@ -194,13 +198,13 @@ function get_text(_filename, _text, is_file) {
194198
book.clear()
195199
book = null
196200
}
197-
198201
book = new ProcessingFile(
199202
_filename,
200203
_text,
201204
FIRST_STRINGS_SIZE,
202205
LAST_STRINGS_SIZE,
203-
lexx
206+
lexx,
207+
cbLexxRegister.checked
204208
)
205209
}
206210

@@ -434,9 +438,11 @@ function save_settings() {
434438
localStorage.setItem('mergefiles_str_textContent' , mergefiles_str.textContent )
435439
localStorage.setItem('statArea_style_display' , statArea.style.display )
436440
localStorage.setItem('dopSettings_textContent' , dopSettings.textContent )
441+
localStorage.setItem('cbLexxRegister_checked' , cbLexxRegister.checked )
437442
}
438443

439444
function load_settings() {
445+
console.log(localStorage.getItem('cbLexxRegister_checked' ))
440446
if (localStorage.getItem('pointsSelect_value' )) { pointsSelect.value = localStorage.getItem('pointsSelect_value' ) }
441447
if (localStorage.getItem('pointsType_innerHTML' )) { pointsType.innerHTML = localStorage.getItem('pointsType_innerHTML' ) }
442448
if (localStorage.getItem('voice_value' )) { voice.value = localStorage.getItem('voice_value' ) }
@@ -450,5 +456,6 @@ function load_settings() {
450456
if (localStorage.getItem('mergefiles_str_textContent' )) { mergefiles_str.textContent = localStorage.getItem('mergefiles_str_textContent' ) }
451457
if (localStorage.getItem('statArea_style_display' )) { statArea.style.display = localStorage.getItem('statArea_style_display' ) }
452458
if (localStorage.getItem('dopSettings_textContent' )) { dopSettings.textContent = localStorage.getItem('dopSettings_textContent' ) }
459+
if (localStorage.getItem('cbLexxRegister_checked' )) { cbLexxRegister.checked = localStorage.getItem('cbLexxRegister_checked' ) === 'true' }
453460
threads_info = { count: parseInt(max_threads.value), stat: stat_str }
454461
}

assets/styles.css

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,4 +229,75 @@ rowspace {
229229
#is-lexx {
230230
color: inherit;
231231
text-decoration: none;
232+
}
233+
234+
.checkbox-wrapper-2 .checkbox-label {
235+
display: flex;
236+
justify-content: space-between;
237+
align-items: center;
238+
cursor: pointer;
239+
margin-bottom: 10px;
240+
}
241+
242+
.checkbox-wrapper-2 .ikxBAC {
243+
appearance: none;
244+
background-color: #444;
245+
border-radius: 72px;
246+
border-style: none;
247+
flex-shrink: 0;
248+
height: 20px;
249+
margin: 0;
250+
position: relative;
251+
width: 30px;
252+
}
253+
254+
.checkbox-wrapper-2 .ikxBAC::before {
255+
bottom: -6px;
256+
content: "";
257+
left: -6px;
258+
position: absolute;
259+
right: -6px;
260+
top: -6px;
261+
}
262+
263+
.checkbox-wrapper-2 .ikxBAC,
264+
.checkbox-wrapper-2 .ikxBAC::after {
265+
transition: all 100ms ease-out;
266+
}
267+
268+
.checkbox-wrapper-2 .ikxBAC::after {
269+
background-color: #aaa;
270+
border-radius: 50%;
271+
content: "";
272+
height: 14px;
273+
left: 3px;
274+
position: absolute;
275+
top: 3px;
276+
width: 14px;
277+
}
278+
279+
.checkbox-wrapper-2 input[type=checkbox] {
280+
cursor: pointer;
281+
}
282+
283+
.checkbox-wrapper-2 .ikxBAC:hover {
284+
background-color: #555;
285+
transition-duration: 0s;
286+
}
287+
288+
.checkbox-wrapper-2 .ikxBAC:checked {
289+
background-color: #0d6efd;
290+
}
291+
292+
.checkbox-wrapper-2 .ikxBAC:checked::after {
293+
background-color: #fff;
294+
left: 13px;
295+
}
296+
297+
.checkbox-wrapper-2 :focus:not(.focus-visible) {
298+
outline: 0;
299+
}
300+
301+
.checkbox-wrapper-2 .ikxBAC:checked:hover {
302+
background-color: #0b5ed7;
232303
}

index.html

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -351,7 +351,6 @@
351351
</select>
352352
<button class="pointstype" id="pointstype" onclick="points_mod()">V1</button>
353353
</rowspace>
354-
355354
<div id="div-rate" class="slidecontainer">
356355
<br>
357356
<label for="rate">Скорость <output style="float: right;" id="rate-str">+100%</output></label>
@@ -369,9 +368,13 @@
369368
</div>
370369
<div id="div-mergefiles" class="slidecontainer">
371370
<br>
372-
<label for="max-threads">Объединять MP3 по<output style="float: right;" id="mergefiles-str">10 шт.</output></label>
371+
<label for="mergefiles">Объединять MP3 по<output style="float: right;" id="mergefiles-str">10 шт.</output></label>
373372
<input type="range" min=1 max=100 value=10 step=1 class="mergefiles" id="mergefiles">
374373
</div>
374+
<div id="div-lexx_register" class="checkbox-wrapper-2">
375+
<br>
376+
<label for="lexx_register" class="checkbox-label">Учитывать регистр словаря<input id="lexx_register" type="checkbox" class="sc-gJwTLC ikxBAC"></label>
377+
</div>
375378
<label id="dop-settings-label"></label>
376379
<br>
377380
<myspace class="myspace">

0 commit comments

Comments
 (0)