08-27-周三_17-09-29
This commit is contained in:
22
node_modules/select/.editorconfig
generated
vendored
Normal file
22
node_modules/select/.editorconfig
generated
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
# EditorConfig helps developers define and maintain consistent
|
||||
# coding styles between different editors and IDEs
|
||||
# http://editorconfig.org
|
||||
|
||||
root = true
|
||||
|
||||
[*]
|
||||
# Change these settings to your own preference
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
|
||||
# We recommend you to keep these unchanged
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
|
||||
[*.md]
|
||||
trim_trailing_whitespace = false
|
||||
|
||||
[{package.json,bower.json}]
|
||||
indent_size = 2
|
1
node_modules/select/.npmignore
generated
vendored
Normal file
1
node_modules/select/.npmignore
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
node_modules
|
3
node_modules/select/.travis.yml
generated
vendored
Normal file
3
node_modules/select/.travis.yml
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
language: node_js
|
||||
node_js:
|
||||
- stable
|
13
node_modules/select/bower.json
generated
vendored
Normal file
13
node_modules/select/bower.json
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"name": "select",
|
||||
"version": "1.1.0",
|
||||
"description": "Programmatically select the text of a HTML element",
|
||||
"license": "MIT",
|
||||
"main": "dist/select.js",
|
||||
"keywords": [
|
||||
"range",
|
||||
"select",
|
||||
"selecting",
|
||||
"selection"
|
||||
]
|
||||
}
|
26
node_modules/select/demo/contenteditable.html
generated
vendored
Normal file
26
node_modules/select/demo/contenteditable.html
generated
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>contenteditable</title>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 1. Define some markup -->
|
||||
<button type="button">Select</button>
|
||||
<p contenteditable>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Distinctio totam adipisci, saepe ad vero dignissimos laborum non eum eveniet aperiam, consequuntur repellendus architecto inventore iusto blanditiis quasi commodi voluptatum vitae!</p>
|
||||
|
||||
<!-- 2. Include library -->
|
||||
<script src="../dist/select.js"></script>
|
||||
|
||||
<!-- 3. Select! -->
|
||||
<script>
|
||||
var p = document.querySelector('p');
|
||||
var button = document.querySelector('button');
|
||||
|
||||
button.addEventListener('click', function(e) {
|
||||
var selected = select(p);
|
||||
console.log(selected);
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
30
node_modules/select/demo/dropdown.html
generated
vendored
Normal file
30
node_modules/select/demo/dropdown.html
generated
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>dropdown</title>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 1. Define some markup -->
|
||||
<button type="button">Select</button>
|
||||
<select>
|
||||
<option>Option 1</option>
|
||||
<option selected>Option 2</option>
|
||||
<option>Option 3</option>
|
||||
</select>
|
||||
|
||||
<!-- 2. Include library -->
|
||||
<script src="../dist/select.js"></script>
|
||||
|
||||
<!-- 3. Select! -->
|
||||
<script>
|
||||
var dropdown = document.querySelector('select');
|
||||
var button = document.querySelector('button');
|
||||
|
||||
button.addEventListener('click', function(e) {
|
||||
var selected = select(dropdown);
|
||||
console.log(selected);
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
26
node_modules/select/demo/editable.html
generated
vendored
Normal file
26
node_modules/select/demo/editable.html
generated
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>editable</title>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 1. Define some markup -->
|
||||
<button type="button">Select</button>
|
||||
<input type="text" value="Lorem ipsum">
|
||||
|
||||
<!-- 2. Include library -->
|
||||
<script src="../dist/select.js"></script>
|
||||
|
||||
<!-- 3. Select! -->
|
||||
<script>
|
||||
var input = document.querySelector('input');
|
||||
var button = document.querySelector('button');
|
||||
|
||||
button.addEventListener('click', function(e) {
|
||||
var selected = select(input);
|
||||
console.log(selected);
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
28
node_modules/select/demo/multiple.html
generated
vendored
Normal file
28
node_modules/select/demo/multiple.html
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>multiple</title>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 1. Define some markup -->
|
||||
<button type="button">Select</button>
|
||||
<input type="text" value="Lorem ipsum">
|
||||
<textarea>Lorem ipsum</textarea>
|
||||
|
||||
<!-- 2. Include library -->
|
||||
<script src="../dist/select.js"></script>
|
||||
|
||||
<!-- 3. Select! -->
|
||||
<script>
|
||||
var input = document.querySelector('input');
|
||||
var textarea = document.querySelector('textarea');
|
||||
var button = document.querySelector('button');
|
||||
|
||||
button.addEventListener('click', function(e) {
|
||||
console.log(select(input));
|
||||
console.log(select(textarea));
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
34
node_modules/select/demo/nested.html
generated
vendored
Normal file
34
node_modules/select/demo/nested.html
generated
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>non-editable</title>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 1. Define some markup -->
|
||||
<button type="button">Select</button>
|
||||
<div>
|
||||
<p>Item 1</p>
|
||||
<p>Item 2</p>
|
||||
<ul>
|
||||
<li>Item 3</li>
|
||||
<li>Item 4</li>
|
||||
<li>Item 5</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<!-- 2. Include library -->
|
||||
<script src="../dist/select.js"></script>
|
||||
|
||||
<!-- 3. Select! -->
|
||||
<script>
|
||||
var div = document.querySelector('div');
|
||||
var button = document.querySelector('button');
|
||||
|
||||
button.addEventListener('click', function(e) {
|
||||
var selected = select(div);
|
||||
console.log(selected);
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
26
node_modules/select/demo/non-editable.html
generated
vendored
Normal file
26
node_modules/select/demo/non-editable.html
generated
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>non-editable</title>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 1. Define some markup -->
|
||||
<button type="button">Select</button>
|
||||
<p>Lorem ipsum</p>
|
||||
|
||||
<!-- 2. Include library -->
|
||||
<script src="../dist/select.js"></script>
|
||||
|
||||
<!-- 3. Select! -->
|
||||
<script>
|
||||
var p = document.querySelector('p');
|
||||
var button = document.querySelector('button');
|
||||
|
||||
button.addEventListener('click', function(e) {
|
||||
var selected = select(p);
|
||||
console.log(selected);
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
47
node_modules/select/dist/select.js
generated
vendored
Normal file
47
node_modules/select/dist/select.js
generated
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.select = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
|
||||
function select(element) {
|
||||
var selectedText;
|
||||
|
||||
if (element.nodeName === 'SELECT') {
|
||||
element.focus();
|
||||
|
||||
selectedText = element.value;
|
||||
}
|
||||
else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {
|
||||
var isReadOnly = element.hasAttribute('readonly');
|
||||
|
||||
if (!isReadOnly) {
|
||||
element.setAttribute('readonly', '');
|
||||
}
|
||||
|
||||
element.select();
|
||||
element.setSelectionRange(0, element.value.length);
|
||||
|
||||
if (!isReadOnly) {
|
||||
element.removeAttribute('readonly');
|
||||
}
|
||||
|
||||
selectedText = element.value;
|
||||
}
|
||||
else {
|
||||
if (element.hasAttribute('contenteditable')) {
|
||||
element.focus();
|
||||
}
|
||||
|
||||
var selection = window.getSelection();
|
||||
var range = document.createRange();
|
||||
|
||||
range.selectNodeContents(element);
|
||||
selection.removeAllRanges();
|
||||
selection.addRange(range);
|
||||
|
||||
selectedText = selection.toString();
|
||||
}
|
||||
|
||||
return selectedText;
|
||||
}
|
||||
|
||||
module.exports = select;
|
||||
|
||||
},{}]},{},[1])(1)
|
||||
});
|
23
node_modules/select/karma.conf.js
generated
vendored
Normal file
23
node_modules/select/karma.conf.js
generated
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
module.exports = function(karma) {
|
||||
karma.set({
|
||||
plugins: ['karma-browserify', 'karma-chai', 'karma-mocha', 'karma-phantomjs-launcher'],
|
||||
|
||||
frameworks: ['browserify', 'chai', 'mocha'],
|
||||
|
||||
files: [
|
||||
'src/**/*.js',
|
||||
'test/**/*.js'
|
||||
],
|
||||
|
||||
preprocessors: {
|
||||
'src/**/*.js' : ['browserify'],
|
||||
'test/**/*.js': ['browserify']
|
||||
},
|
||||
|
||||
browserify: {
|
||||
debug: true
|
||||
},
|
||||
|
||||
browsers: ['PhantomJS']
|
||||
});
|
||||
}
|
96
node_modules/select/package.json
generated
vendored
Normal file
96
node_modules/select/package.json
generated
vendored
Normal file
@@ -0,0 +1,96 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"name": "select",
|
||||
"raw": "select@^1.1.2",
|
||||
"rawSpec": "^1.1.2",
|
||||
"scope": null,
|
||||
"spec": ">=1.1.2 <2.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"F:\\tmp\\gitbook\\node_modules\\clipboard"
|
||||
]
|
||||
],
|
||||
"_from": "select@>=1.1.2 <2.0.0",
|
||||
"_id": "select@1.1.2",
|
||||
"_inCache": true,
|
||||
"_installable": true,
|
||||
"_location": "/select",
|
||||
"_nodeVersion": "6.9.1",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-12-west.internal.npmjs.com",
|
||||
"tmp": "tmp/select-1.1.2.tgz_1486538734071_0.6133254992309958"
|
||||
},
|
||||
"_npmUser": {
|
||||
"email": "zno.rocha@gmail.com",
|
||||
"name": "zenorocha"
|
||||
},
|
||||
"_npmVersion": "3.10.8",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"name": "select",
|
||||
"raw": "select@^1.1.2",
|
||||
"rawSpec": "^1.1.2",
|
||||
"scope": null,
|
||||
"spec": ">=1.1.2 <2.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/clipboard"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz",
|
||||
"_shasum": "0e7350acdec80b1108528786ec1d4418d11b396d",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "select@^1.1.2",
|
||||
"_where": "F:\\tmp\\gitbook\\node_modules\\clipboard",
|
||||
"bugs": {
|
||||
"url": "https://github.com/zenorocha/select/issues"
|
||||
},
|
||||
"dependencies": {},
|
||||
"description": "Programmatically select the text of a HTML element",
|
||||
"devDependencies": {
|
||||
"browserify": "^14.0.0",
|
||||
"chai": "^3.3.0",
|
||||
"karma": "^1.4.1",
|
||||
"karma-browserify": "^5.1.1",
|
||||
"karma-chai": "^0.1.0",
|
||||
"karma-mocha": "^1.3.0",
|
||||
"karma-phantomjs-launcher": "^1.0.2",
|
||||
"mocha": "^3.2.0",
|
||||
"phantomjs": "^2.1.7"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "0e7350acdec80b1108528786ec1d4418d11b396d",
|
||||
"tarball": "https://registry.npmjs.org/select/-/select-1.1.2.tgz"
|
||||
},
|
||||
"gitHead": "53e4a21d674cdfb09026e0474d95dc3779e7ff4a",
|
||||
"homepage": "https://github.com/zenorocha/select#readme",
|
||||
"keywords": [
|
||||
"range",
|
||||
"select",
|
||||
"selecting",
|
||||
"selection"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "src/select.js",
|
||||
"maintainers": [
|
||||
{
|
||||
"email": "zno.rocha@gmail.com",
|
||||
"name": "zenorocha"
|
||||
}
|
||||
],
|
||||
"name": "select",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/zenorocha/select.git"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "browserify src/select.js -s select -o dist/select.js",
|
||||
"test": "karma start --single-run"
|
||||
},
|
||||
"version": "1.1.2"
|
||||
}
|
49
node_modules/select/readme.md
generated
vendored
Normal file
49
node_modules/select/readme.md
generated
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
# select
|
||||
|
||||
[](https://travis-ci.org/zenorocha/select)
|
||||
|
||||
Programmatically select the text of a HTML element.
|
||||
|
||||
## Install
|
||||
|
||||
You can get it on npm.
|
||||
|
||||
```
|
||||
npm install select --save
|
||||
```
|
||||
|
||||
Or bower, too.
|
||||
|
||||
```
|
||||
bower install select --save
|
||||
```
|
||||
|
||||
If you're not into package management, just [download a ZIP](https://github.com/zenorocha/select/archive/master.zip) file.
|
||||
|
||||
## Usage
|
||||
|
||||
### Standalone
|
||||
|
||||
```html
|
||||
<script src="dist/select.js"></script>
|
||||
```
|
||||
|
||||
```js
|
||||
var input = document.querySelector('input');
|
||||
var result = select(input);
|
||||
```
|
||||
|
||||
### Browserify
|
||||
|
||||
```js
|
||||
var select = require('select');
|
||||
```
|
||||
|
||||
```js
|
||||
var input = document.querySelector('input');
|
||||
var result = select(input);
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
[MIT License](http://zenorocha.mit-license.org/) © Zeno Rocha
|
43
node_modules/select/src/select.js
generated
vendored
Normal file
43
node_modules/select/src/select.js
generated
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
function select(element) {
|
||||
var selectedText;
|
||||
|
||||
if (element.nodeName === 'SELECT') {
|
||||
element.focus();
|
||||
|
||||
selectedText = element.value;
|
||||
}
|
||||
else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {
|
||||
var isReadOnly = element.hasAttribute('readonly');
|
||||
|
||||
if (!isReadOnly) {
|
||||
element.setAttribute('readonly', '');
|
||||
}
|
||||
|
||||
element.select();
|
||||
element.setSelectionRange(0, element.value.length);
|
||||
|
||||
if (!isReadOnly) {
|
||||
element.removeAttribute('readonly');
|
||||
}
|
||||
|
||||
selectedText = element.value;
|
||||
}
|
||||
else {
|
||||
if (element.hasAttribute('contenteditable')) {
|
||||
element.focus();
|
||||
}
|
||||
|
||||
var selection = window.getSelection();
|
||||
var range = document.createRange();
|
||||
|
||||
range.selectNodeContents(element);
|
||||
selection.removeAllRanges();
|
||||
selection.addRange(range);
|
||||
|
||||
selectedText = selection.toString();
|
||||
}
|
||||
|
||||
return selectedText;
|
||||
}
|
||||
|
||||
module.exports = select;
|
93
node_modules/select/test/select.js
generated
vendored
Normal file
93
node_modules/select/test/select.js
generated
vendored
Normal file
@@ -0,0 +1,93 @@
|
||||
var select = require('../src/select');
|
||||
|
||||
describe('select editable elements', function() {
|
||||
before(function() {
|
||||
global.input = document.createElement('input');
|
||||
global.input.value = 'lorem ipsum';
|
||||
|
||||
global.textarea = document.createElement('textarea');
|
||||
global.textarea.value = 'lorem ipsum';
|
||||
|
||||
document.body.appendChild(global.input);
|
||||
document.body.appendChild(global.textarea);
|
||||
});
|
||||
|
||||
after(function() {
|
||||
document.body.innerHTML = '';
|
||||
});
|
||||
|
||||
it('should return the selected text on input', function() {
|
||||
var result = select(global.input);
|
||||
assert.equal(result, global.input.value);
|
||||
});
|
||||
|
||||
it('should return the selected text on textarea', function() {
|
||||
var result = select(global.textarea);
|
||||
assert.equal(result, global.textarea.value);
|
||||
});
|
||||
});
|
||||
|
||||
describe('select non-editable element with no children', function() {
|
||||
before(function() {
|
||||
global.paragraph = document.createElement('p');
|
||||
global.paragraph.textContent = 'lorem ipsum';
|
||||
|
||||
document.body.appendChild(global.paragraph);
|
||||
});
|
||||
|
||||
after(function() {
|
||||
document.body.innerHTML = '';
|
||||
});
|
||||
|
||||
it('should return the selected text', function() {
|
||||
var result = select(global.paragraph);
|
||||
assert.equal(result, global.paragraph.textContent);
|
||||
});
|
||||
});
|
||||
|
||||
describe('select non-editable element with child node', function() {
|
||||
before(function() {
|
||||
global.li = document.createElement('li');
|
||||
global.li.textContent = 'lorem ipsum';
|
||||
|
||||
global.ul = document.createElement('ul');
|
||||
global.ul.appendChild(global.li);
|
||||
|
||||
document.body.appendChild(global.ul);
|
||||
});
|
||||
|
||||
after(function() {
|
||||
document.body.innerHTML = '';
|
||||
});
|
||||
|
||||
it('should return the selected text', function() {
|
||||
var result = select(global.ul);
|
||||
assert.equal(result, global.ul.textContent);
|
||||
});
|
||||
});
|
||||
|
||||
describe('select non-editable svg element w/ multiple text children', function() {
|
||||
before(function() {
|
||||
global.text1 = document.createElement('text');
|
||||
global.text1.textContent = 'lorem ipsum';
|
||||
|
||||
global.text2 = document.createElement('text');
|
||||
global.text2.textContent = 'dolor zet';
|
||||
|
||||
global.svg = document.createElement('svg');
|
||||
global.svg.appendChild(global.text1);
|
||||
global.svg.appendChild(global.text2);
|
||||
|
||||
document.body.appendChild(global.svg);
|
||||
});
|
||||
|
||||
after(function() {
|
||||
document.body.innerHTML = '';
|
||||
});
|
||||
|
||||
it('should return the selected text', function() {
|
||||
var result = select(global.svg);
|
||||
assert.equal(result, global.text1.textContent +
|
||||
global.text2.textContent);
|
||||
});
|
||||
});
|
Reference in New Issue
Block a user