ponkotsu-md-editor 0.1.37 → 0.1.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/assets/javascripts/markdown_editor.js +11 -12
- data/lib/ponkotsu/md/editor/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e3f0659b99d0020b03785b5550ab0d346e30a09da23b5e2bc8f417cf5d5f43a1
|
|
4
|
+
data.tar.gz: d5e7c6feeef4c3294723eccdb8a6efc4c4979a7ca1c321d9d498c4135965fcfd
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5e840d6b142c8e8b17ec6f2fe005a39cc43457db2771c783e4bb38719e7f8d7a2a8879d3a35d6178f63b822ffa12f4ae183d0021b62a55963f0105461f1a66ac
|
|
7
|
+
data.tar.gz: 1593f6d1ed45452695cf4841dbf1534a46a5f4cc6257cacbba6bf03c54849f708e17967441de6a164c22a53a2df46f3e3743da90d2a089f82316b28dd9a36467
|
|
@@ -111,13 +111,20 @@
|
|
|
111
111
|
endPos = Math.max(startPos, Math.min(endPos, fullText.length));
|
|
112
112
|
|
|
113
113
|
// Get actual selected text from innerText
|
|
114
|
-
|
|
114
|
+
let selectedText = fullText.substring(startPos, endPos);
|
|
115
|
+
// --- 強化: range.toString()優先 ---
|
|
116
|
+
const rangeText = range.toString();
|
|
117
|
+
// どちらが正しいか比較(長い方を優先)
|
|
118
|
+
if (rangeText.length >= selectedText.length) {
|
|
119
|
+
selectedText = rangeText;
|
|
120
|
+
}
|
|
115
121
|
|
|
116
122
|
// === デバッグ出力 ===
|
|
117
123
|
console.log('[DEBUG] getContentEditableSelection');
|
|
118
124
|
console.log('fullText:', JSON.stringify(fullText));
|
|
119
125
|
console.log('startPos:', startPos, 'endPos:', endPos);
|
|
120
126
|
console.log('selectedText:', JSON.stringify(selectedText));
|
|
127
|
+
console.log('rangeText:', JSON.stringify(rangeText));
|
|
121
128
|
console.log('textNodes:', textNodes.map(n => n.textContent));
|
|
122
129
|
console.log('range.startContainer:', range.startContainer);
|
|
123
130
|
console.log('range.startOffset:', range.startOffset);
|
|
@@ -128,7 +135,7 @@
|
|
|
128
135
|
return {
|
|
129
136
|
start: startPos,
|
|
130
137
|
end: endPos,
|
|
131
|
-
selectedText:
|
|
138
|
+
selectedText: selectedText
|
|
132
139
|
};
|
|
133
140
|
}
|
|
134
141
|
// 外部公開
|
|
@@ -1446,17 +1453,9 @@
|
|
|
1446
1453
|
return getContentEditableSelection(element);
|
|
1447
1454
|
};
|
|
1448
1455
|
|
|
1449
|
-
// 2. Bold
|
|
1456
|
+
// 2. Boldデコレーション(trim処理なし、選択範囲そのまま)
|
|
1450
1457
|
window.testDecorateBold = function(text) {
|
|
1451
|
-
|
|
1452
|
-
let trimmed = text;
|
|
1453
|
-
while (/^[\s\n.,;:!?]+/.test(trimmed)) {
|
|
1454
|
-
trimmed = trimmed.replace(/^[\s\n.,;:!?]+/, '');
|
|
1455
|
-
}
|
|
1456
|
-
while (/[\s\n.,;:!?]+$/.test(trimmed)) {
|
|
1457
|
-
trimmed = trimmed.replace(/[\s\n.,;:!?]+$/, '');
|
|
1458
|
-
}
|
|
1459
|
-
return `**${trimmed}**`;
|
|
1458
|
+
return `**${text}**`;
|
|
1460
1459
|
};
|
|
1461
1460
|
|
|
1462
1461
|
// 3. テキスト上書き
|