Comments (2)
The latest push update using changes via @DaniilVeriga seems to have fixed things on me end. Open a new issue if the problem persists.
from summernote-cleaner.
@StudioJunkyard, @gr0g, I've encountered the same problem and was about to submit a pull request with a slight change, but then had a deeper look at the cleaner button's handler:
click: function () {
if ($note.summernote('createRange').toString()) {
var text = cleanText($note.summernote('createRange').toString(), options.cleaner.newline);
$note.summernote('pasteHTML', text);
} else {
// var text=cleanText($note.summernote().text(),options.cleaner.newline);
// That is the initial idea for the pull request: .text() returns nothing
var text = cleanText($note.summernote('code'), options.cleaner.newline);
$note.summernote('code', text);
}
// irrelevant to the issue notification part
}
What bothers me:
Competely different behavior if anything is selected by user and if nothing is selected. As well, there is a difference with pasting.
If some text is selected, then $note.summernote('createRange').toString()
returns already plain text, well, bypassing the cleaner logic at all. The cleanText()
call looks redundant, because it is called on already plain text. So, the main plugin's cleanText()
is just not applied in this scenario. A solution could be getting a range's HTML string (but not sure, it is possible) instead of getting plain text.
If no text is selected, then cleanText()
is called on, seems, correct .summernote('code')
(assuming my fix is applied). This scenario looks correct.
So, there is behavior ambiguity. On paste the plugin cleanse the text using cleanText()
, but on the Cleaner button click the plugin is like "plain text maker". If it was the idea (although, I bet it was not), then it would be great to have this info in the readme and also I found (it looks so!) a solution for non-working .text()
.
So, this appears to be working:
click: function () {
if ($note.summernote('createRange').toString()) {
var text = $note.summernote('createRange').toString();
$note.summernote('pasteHTML', text);
} else {
var text = $($note.summernote('code')).text();
$note.summernote('code', text);
}
// irrelevant to the issue notification part
}
Submitted a pull request #29. Well, it is up to you to apply or not;)
Meanwhile, @StudioJunkyard, thank you for the nice plugin.
from summernote-cleaner.
Related Issues (20)
- Style attributes not stripped when (in html) there are new line characters in the css code HOT 1
- Why 'style' and 'class' attributes still appear when paste from ms word ? HOT 4
- Error with paste with latest master HOT 20
- Pasting HTML from a plaintext context HOT 4
- badTags tagStripper can suffer catastrophic backtracking HOT 10
- Missing returns in cleanHtmlPaste Function
- Publish tags/releases HOT 3
- Limit functions using text rather than HTML length HOT 7
- keepTagContents not working correctly HOT 2
- Using the button in the toolbar seems to paste it before the actual code, therefore duplicating content HOT 4
- JS error when pasting HOT 5
- JS error occur since yesterday HOT 2
- Running into Uncaught TypeError: this.get is not a function when pasting text HOT 8
- keepOnlyTags config is being ignored HOT 1
- [paste] tags aren't removed properly when there are linebreaks between attributes HOT 2
- problem in copy and paste the space HOT 2
- Unable to paste plain text HOT 2
- Feature request: remove tag but keep contents HOT 5
- Cleaner success status text never disappears HOT 1
- chrome words together HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from summernote-cleaner.