diff options
| author | Alex Yatskov <alex@foosoft.net> | 2016-07-25 20:43:35 -0700 | 
|---|---|---|
| committer | Alex Yatskov <alex@foosoft.net> | 2016-07-25 20:43:35 -0700 | 
| commit | 43e20245294bed250ba949be414a1dff3d8d45fb (patch) | |
| tree | e0251d10412f8c5850928f0d4ae6712721c782a8 /ext/fg/js | |
| parent | 3ffcf184bb13b40f69cd070515c37fabd85c273f (diff) | |
Cleanup
Diffstat (limited to 'ext/fg/js')
| -rw-r--r-- | ext/fg/js/client.js | 10 | ||||
| -rw-r--r-- | ext/fg/js/source-element.js (renamed from ext/fg/js/source-input.js) | 21 | ||||
| -rw-r--r-- | ext/fg/js/source-image.js | 65 | 
3 files changed, 17 insertions, 79 deletions
| diff --git a/ext/fg/js/client.js b/ext/fg/js/client.js index a98f715a..34a1a605 100644 --- a/ext/fg/js/client.js +++ b/ext/fg/js/client.js @@ -211,13 +211,9 @@ class Client {      static textSourceFromPoint(point) {          const element = document.elementFromPoint(point.x, point.y);          if (element !== null) { -            switch (element.nodeName) { -                case 'IMG': -                    return new TextSourceImage(element); -                case 'INPUT': -                case 'BUTTON': -                case 'TEXTAREA': -                    return new TextSourceInput(element); +            const names = ['IMG', 'INPUT', 'BUTTON', 'TEXTAREA']; +            if (names.indexOf(element.nodeName) !== -1) { +                return new TextSourceElement(element);              }          } diff --git a/ext/fg/js/source-input.js b/ext/fg/js/source-element.js index d3c92793..3110ed53 100644 --- a/ext/fg/js/source-input.js +++ b/ext/fg/js/source-element.js @@ -17,14 +17,14 @@   */ -class TextSourceInput { -    constructor(input, length=-1) { -        this.input = input; +class TextSourceElement { +    constructor(element, length=-1) { +        this.element = element;          this.length = length;      }      clone() { -        return new TextSourceInput(this.input, this.length); +        return new TextSourceElement(this.element, this.length);      }      text() { @@ -33,7 +33,14 @@ class TextSourceInput {      }      textRaw() { -        return this.input.nodeName === 'BUTTON' ? this.input.innerHTML : this.input.value; +        switch (this.element.nodeName) { +            case 'BUTTON': +                return this.element.innerHTML; +            case 'IMG': +                return this.element.getAttribute('alt'); +            default: +                return this.element.value; +        }      }      setStartOffset(length) { @@ -52,7 +59,7 @@ class TextSourceInput {      }      getRect() { -        return this.input.getBoundingClientRect(); +        return this.element.getBoundingClientRect();      }      select() { @@ -64,6 +71,6 @@ class TextSourceInput {      }      equals(other) { -        return other.input && other.textRaw() == this.textRaw(); +        return other.element && other.textRaw() == this.textRaw();      }  } diff --git a/ext/fg/js/source-image.js b/ext/fg/js/source-image.js deleted file mode 100644 index 319f25fe..00000000 --- a/ext/fg/js/source-image.js +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (C) 2016  Alex Yatskov <alex@foosoft.net> - * Author: Alex Yatskov <alex@foosoft.net> - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program.  If not, see <http://www.gnu.org/licenses/>. - */ - - -class TextSourceImage { -    constructor(image) { -        this.img = image; -        this.length = -1; -    } - -    text() { -        const text = this.textRaw(); -        return this.length < 0 ? text : text.substring(0, this.length); -    } - -    textRaw() { -        return this.img.getAttribute('alt') || ''; -    } - -    setStartOffset(length) { -        // NOP -        return 0; -    } - -    setEndOffset(length) { -        this.length = length; -        return length; -    } - -    containsPoint(point) { -        const rect = this.getRect(); -        return point.x >= rect.left && point.x <= rect.right; -    } - -    getRect() { -        return this.img.getBoundingClientRect(); -    } - -    select() { -        // NOP -    } - -    deselect() { -        // NOP -    } - -    equals(other) { -        return other.img && other.textRaw() == this.textRaw(); -    } -} |