preventdelete.js

About this file

We attempted to read from templates/app_static_js_plugins_tinymce_preventdelete.js_hw.txt but failed.

Code Check Report




    1:1   error    Move the invocation into the parens that contain the function  wrap-iife
    2:2   error    Array prototype is read only, properties should not be added   no-extend-native
   14:3   warning  Function 'hasText' has a complexity of 7                       complexity
   27:3   warning  Function 'hasStopText' has a complexity of 12                  complexity
   74:24  warning  Function has a complexity of 8                                 complexity
   93:20  error    Expected '===' and instead saw '=='                            eqeqeq
  136:21  warning  Function has a complexity of 33                                complexity
  145:28  error    Expected '===' and instead saw '=='                            eqeqeq
  146:27  error    Expected '===' and instead saw '=='                            eqeqeq
  214:2   error    Do not use 'new' for side effects                              no-new

✖ 10 problems (6 errors, 4 warnings)
  1 error and 0 warnings potentially fixable with the `--fix` option.
                        

Documentation drawn from source code

(function() {
Array.prototype.contains = function (e) {
function PreventDelete() {
function r(val, min, max) {
function hasText(str, pos, left) {
function hasStopText(str, pos, left) {
this.nextElement = function(elem) {
this.prevElement = function(elem) {
this.keyWillDelete = function(evt) {
/*
In trying to figure out how to detect if a key was relevant, I appended all the keycodes for keys on my keyboard that would "delete" selected text, and sorted. Generated the range blow:
Deleting
8, 9, 13, 46, 48-57, 65-90, 96-111, 186-192, 219-222

I did the same thign with keys that wouldn't and got these below
Not harmful
16-19, 27, 33-40, 45, 91-93, 112-123, 144

You should note, since it's onkeydown it doesn't change the code if you have alt or ctrl or something pressed. It makes it fewer keycombos actually.

I'm pretty sure in these "deleting" keys will still "delete" if shift is held
*/
this.cancelKey = function(evt) {
this.check = function(node) {
this.checkChildren = function(node) {
this.logElem = function(elem) {
function(key) {
tinymce.PluginManager.add('preventdelete', function(ed, link) {
ed.on('keydown', function(evt) {

Source code