5e14ef3e by 李希虎

首次提交

1 parent 57f2e2a9
Showing 1000 changed files with 4324 additions and 0 deletions

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="src/main/webapp/WEB-INF/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="src/main/webapp/WEB-INF/classes" path="src/main/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
<attributes>
<attribute name="owner.project.facets" value="java"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="D:/program/eclipse/plugins/javax.xml.rpc_1.1.0.v201209140446/lib/jaxrpc.jar"/>
<classpathentry kind="lib" path="D:/program/eclipse/plugins/org.apache.axis_1.4.0.v201411182030/lib/axis.jar"/>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
<classpathentry kind="output" path="src/main/webapp/WEB-INF/classes"/>
</classpath>
package com.thinkgem.jeesite.common.beanvalidator;
/**
* 编辑Bena验证组
* @author ThinkGem
*/
public interface EditGroup {
}
'use strict';
/**
* Copyright (C) 2017-present by Andrea Giammarchi - @WebReflection
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
var replace = ''.replace;
var ca = /[&<>'"]/g;
var es = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34);/g;
var esca = {
'&': '&amp;',
'<': '&lt;',
'>': '&gt;',
"'": '&#39;',
'"': '&quot;'
};
var unes = {
'&amp;': '&',
'&#38;': '&',
'&lt;': '<',
'&#60;': '<',
'&gt;': '>',
'&#62;': '>',
'&apos;': "'",
'&#39;': "'",
'&quot;': '"',
'&#34;': '"'
};
function escape(es) {
return replace.call(es, ca, pe);
}
exports.escape = escape;
function unescape(un) {
return replace.call(un, es, cape);
}
exports.unescape = unescape;
function pe(m) {
return esca[m];
}
function cape(m) {
return unes[m];
}
#!/usr/bin/env node
require('../lib/tsserver.js')
var convert = require('./convert'),
func = convert('isUndefined', require('../isUndefined'), require('./_falseOptions'));
func.placeholder = require('./placeholder');
module.exports = func;
var path = require('path');
var test = require('tape');
var resolve = require('../');
test('mock', function (t) {
t.plan(8);
var files = {};
files[path.resolve('/foo/bar/baz.js')] = 'beep';
var dirs = {};
dirs[path.resolve('/foo/bar')] = true;
function opts(basedir) {
return {
basedir: path.resolve(basedir),
isFile: function (file, cb) {
cb(null, Object.prototype.hasOwnProperty.call(files, path.resolve(file)));
},
isDirectory: function (dir, cb) {
cb(null, !!dirs[path.resolve(dir)]);
},
readFile: function (file, cb) {
cb(null, files[path.resolve(file)]);
},
realpath: function (file, cb) {
cb(null, file);
}
};
}
resolve('./baz', opts('/foo/bar'), function (err, res, pkg) {
if (err) return t.fail(err);
t.equal(res, path.resolve('/foo/bar/baz.js'));
t.equal(pkg, undefined);
});
resolve('./baz.js', opts('/foo/bar'), function (err, res, pkg) {
if (err) return t.fail(err);
t.equal(res, path.resolve('/foo/bar/baz.js'));
t.equal(pkg, undefined);
});
resolve('baz', opts('/foo/bar'), function (err, res) {
t.equal(err.message, "Cannot find module 'baz' from '" + path.resolve('/foo/bar') + "'");
t.equal(err.code, 'MODULE_NOT_FOUND');
});
resolve('../baz', opts('/foo/bar'), function (err, res) {
t.equal(err.message, "Cannot find module '../baz' from '" + path.resolve('/foo/bar') + "'");
t.equal(err.code, 'MODULE_NOT_FOUND');
});
});
test('mock from package', function (t) {
t.plan(8);
var files = {};
files[path.resolve('/foo/bar/baz.js')] = 'beep';
var dirs = {};
dirs[path.resolve('/foo/bar')] = true;
function opts(basedir) {
return {
basedir: path.resolve(basedir),
isFile: function (file, cb) {
cb(null, Object.prototype.hasOwnProperty.call(files, file));
},
isDirectory: function (dir, cb) {
cb(null, !!dirs[path.resolve(dir)]);
},
'package': { main: 'bar' },
readFile: function (file, cb) {
cb(null, files[file]);
},
realpath: function (file, cb) {
cb(null, file);
}
};
}
resolve('./baz', opts('/foo/bar'), function (err, res, pkg) {
if (err) return t.fail(err);
t.equal(res, path.resolve('/foo/bar/baz.js'));
t.equal(pkg && pkg.main, 'bar');
});
resolve('./baz.js', opts('/foo/bar'), function (err, res, pkg) {
if (err) return t.fail(err);
t.equal(res, path.resolve('/foo/bar/baz.js'));
t.equal(pkg && pkg.main, 'bar');
});
resolve('baz', opts('/foo/bar'), function (err, res) {
t.equal(err.message, "Cannot find module 'baz' from '" + path.resolve('/foo/bar') + "'");
t.equal(err.code, 'MODULE_NOT_FOUND');
});
resolve('../baz', opts('/foo/bar'), function (err, res) {
t.equal(err.message, "Cannot find module '../baz' from '" + path.resolve('/foo/bar') + "'");
t.equal(err.code, 'MODULE_NOT_FOUND');
});
});
test('mock package', function (t) {
t.plan(2);
var files = {};
files[path.resolve('/foo/node_modules/bar/baz.js')] = 'beep';
files[path.resolve('/foo/node_modules/bar/package.json')] = JSON.stringify({
main: './baz.js'
});
var dirs = {};
dirs[path.resolve('/foo')] = true;
dirs[path.resolve('/foo/node_modules')] = true;
function opts(basedir) {
return {
basedir: path.resolve(basedir),
isFile: function (file, cb) {
cb(null, Object.prototype.hasOwnProperty.call(files, path.resolve(file)));
},
isDirectory: function (dir, cb) {
cb(null, !!dirs[path.resolve(dir)]);
},
readFile: function (file, cb) {
cb(null, files[path.resolve(file)]);
},
realpath: function (file, cb) {
cb(null, file);
}
};
}
resolve('bar', opts('/foo'), function (err, res, pkg) {
if (err) return t.fail(err);
t.equal(res, path.resolve('/foo/node_modules/bar/baz.js'));
t.equal(pkg && pkg.main, './baz.js');
});
});
test('mock package from package', function (t) {
t.plan(2);
var files = {};
files[path.resolve('/foo/node_modules/bar/baz.js')] = 'beep';
files[path.resolve('/foo/node_modules/bar/package.json')] = JSON.stringify({
main: './baz.js'
});
var dirs = {};
dirs[path.resolve('/foo')] = true;
dirs[path.resolve('/foo/node_modules')] = true;
function opts(basedir) {
return {
basedir: path.resolve(basedir),
isFile: function (file, cb) {
cb(null, Object.prototype.hasOwnProperty.call(files, path.resolve(file)));
},
isDirectory: function (dir, cb) {
cb(null, !!dirs[path.resolve(dir)]);
},
'package': { main: 'bar' },
readFile: function (file, cb) {
cb(null, files[path.resolve(file)]);
},
realpath: function (file, cb) {
cb(null, file);
}
};
}
resolve('bar', opts('/foo'), function (err, res, pkg) {
if (err) return t.fail(err);
t.equal(res, path.resolve('/foo/node_modules/bar/baz.js'));
t.equal(pkg && pkg.main, './baz.js');
});
});
test('symlinked', function (t) {
t.plan(4);
var files = {};
files[path.resolve('/foo/bar/baz.js')] = 'beep';
files[path.resolve('/foo/bar/symlinked/baz.js')] = 'beep';
var dirs = {};
dirs[path.resolve('/foo/bar')] = true;
dirs[path.resolve('/foo/bar/symlinked')] = true;
function opts(basedir) {
return {
preserveSymlinks: false,
basedir: path.resolve(basedir),
isFile: function (file, cb) {
cb(null, Object.prototype.hasOwnProperty.call(files, path.resolve(file)));
},
isDirectory: function (dir, cb) {
cb(null, !!dirs[path.resolve(dir)]);
},
readFile: function (file, cb) {
cb(null, files[path.resolve(file)]);
},
realpath: function (file, cb) {
var resolved = path.resolve(file);
if (resolved.indexOf('symlinked') >= 0) {
cb(null, resolved);
return;
}
var ext = path.extname(resolved);
if (ext) {
var dir = path.dirname(resolved);
var base = path.basename(resolved);
cb(null, path.join(dir, 'symlinked', base));
} else {
cb(null, path.join(resolved, 'symlinked'));
}
}
};
}
resolve('./baz', opts('/foo/bar'), function (err, res, pkg) {
if (err) return t.fail(err);
t.equal(res, path.resolve('/foo/bar/symlinked/baz.js'));
t.equal(pkg, undefined);
});
resolve('./baz.js', opts('/foo/bar'), function (err, res, pkg) {
if (err) return t.fail(err);
t.equal(res, path.resolve('/foo/bar/symlinked/baz.js'));
t.equal(pkg, undefined);
});
});
declare const _default: (position?: number) => any;
export = _default;
// Type definitions for Chalk
// Definitions by: Thomas Sauer <https://github.com/t-sauer>
export const enum Level {
None = 0,
Basic = 1,
Ansi256 = 2,
TrueColor = 3
}
export interface ChalkOptions {
enabled?: boolean;
level?: Level;
}
export interface ChalkConstructor {
new (options?: ChalkOptions): Chalk;
(options?: ChalkOptions): Chalk;
}
export interface ColorSupport {
level: Level;
hasBasic: boolean;
has256: boolean;
has16m: boolean;
}
export interface Chalk {
(...text: string[]): string;
(text: TemplateStringsArray, ...placeholders: string[]): string;
constructor: ChalkConstructor;
enabled: boolean;
level: Level;
rgb(r: number, g: number, b: number): this;
hsl(h: number, s: number, l: number): this;
hsv(h: number, s: number, v: number): this;
hwb(h: number, w: number, b: number): this;
bgHex(color: string): this;
bgKeyword(color: string): this;
bgRgb(r: number, g: number, b: number): this;
bgHsl(h: number, s: number, l: number): this;
bgHsv(h: number, s: number, v: number): this;
bgHwb(h: number, w: number, b: number): this;
hex(color: string): this;
keyword(color: string): this;
readonly reset: this;
readonly bold: this;
readonly dim: this;
readonly italic: this;
readonly underline: this;
readonly inverse: this;
readonly hidden: this;
readonly strikethrough: this;
readonly visible: this;
readonly black: this;
readonly red: this;
readonly green: this;
readonly yellow: this;
readonly blue: this;
readonly magenta: this;
readonly cyan: this;
readonly white: this;
readonly gray: this;
readonly grey: this;
readonly blackBright: this;
readonly redBright: this;
readonly greenBright: this;
readonly yellowBright: this;
readonly blueBright: this;
readonly magentaBright: this;
readonly cyanBright: this;
readonly whiteBright: this;
readonly bgBlack: this;
readonly bgRed: this;
readonly bgGreen: this;
readonly bgYellow: this;
readonly bgBlue: this;
readonly bgMagenta: this;
readonly bgCyan: this;
readonly bgWhite: this;
readonly bgBlackBright: this;
readonly bgRedBright: this;
readonly bgGreenBright: this;
readonly bgYellowBright: this;
readonly bgBlueBright: this;
readonly bgMagentaBright: this;
readonly bgCyanBright: this;
readonly bgWhiteBright: this;
}
declare const chalk: Chalk & { supportsColor: ColorSupport };
export default chalk
/**
* Removes `key` and its value from the stack.
*
* @private
* @name delete
* @memberOf Stack
* @param {string} key The key of the value to remove.
* @returns {boolean} Returns `true` if the entry was removed, else `false`.
*/
function stackDelete(key) {
var data = this.__data__,
result = data['delete'](key);
this.size = data.size;
return result;
}
module.exports = stackDelete;
2018-06-17: Version 4.0.1
* Fix parsing async get/set in a class (issue 1861, 1875)
* Account for different return statement argument (issue 1829, 1897, 1928)
* Correct the handling of HTML comment when parsing a module (issue 1841)
* Fix incorrect parse async with proto-identifier-shorthand (issue 1847)
* Fix negative column in binary expression (issue 1844)
* Fix incorrect YieldExpression in object methods (issue 1834)
* Various documentation fixes
2017-06-10: Version 4.0.0
* Support ES2017 async function and await expression (issue 1079)
* Support ES2017 trailing commas in function parameters (issue 1550)
* Explicitly distinguish parsing a module vs a script (issue 1576)
* Fix JSX non-empty container (issue 1786)
* Allow JSX element in a yield expression (issue 1765)
* Allow `in` expression in a concise body with a function body (issue 1793)
* Setter function argument must not be a rest parameter (issue 1693)
* Limit strict mode directive to functions with a simple parameter list (issue 1677)
* Prohibit any escape sequence in a reserved word (issue 1612)
* Only permit hex digits in hex escape sequence (issue 1619)
* Prohibit labelled class/generator/function declaration (issue 1484)
* Limit function declaration as if statement clause only in non-strict mode (issue 1657)
* Tolerate missing ) in a with and do-while statement (issue 1481)
2016-12-22: Version 3.1.3
* Support binding patterns as rest element (issue 1681)
* Account for different possible arguments of a yield expression (issue 1469)
2016-11-24: Version 3.1.2
* Ensure that import specifier is more restrictive (issue 1615)
* Fix duplicated JSX tokens (issue 1613)
* Scan template literal in a JSX expression container (issue 1622)
* Improve XHTML entity scanning in JSX (issue 1629)
2016-10-31: Version 3.1.1
* Fix assignment expression problem in an export declaration (issue 1596)
* Fix incorrect tokenization of hex digits (issue 1605)
2016-10-09: Version 3.1.0
* Do not implicitly collect comments when comment attachment is specified (issue 1553)
* Fix incorrect handling of duplicated proto shorthand fields (issue 1485)
* Prohibit initialization in some variants of for statements (issue 1309, 1561)
* Fix incorrect parsing of export specifier (issue 1578)
* Fix ESTree compatibility for assignment pattern (issue 1575)
2016-09-03: Version 3.0.0
* Support ES2016 exponentiation expression (issue 1490)
* Support JSX syntax (issue 1467)
* Use the latest Unicode 8.0 (issue 1475)
* Add the support for syntax node delegate (issue 1435)
* Fix ESTree compatibility on meta property (issue 1338)
* Fix ESTree compatibility on default parameter value (issue 1081)
* Fix ESTree compatibility on try handler (issue 1030)
2016-08-23: Version 2.7.3
* Fix tokenizer confusion with a comment (issue 1493, 1516)
2016-02-02: Version 2.7.2
* Fix out-of-bound error location in an invalid string literal (issue 1457)
* Fix shorthand object destructuring defaults in variable declarations (issue 1459)
2015-12-10: Version 2.7.1
* Do not allow trailing comma in a variable declaration (issue 1360)
* Fix assignment to `let` in non-strict mode (issue 1376)
* Fix missing delegate property in YieldExpression (issue 1407)
2015-10-22: Version 2.7.0
* Fix the handling of semicolon in a break statement (issue 1044)
* Run the test suite with major web browsers (issue 1259, 1317)
* Allow `let` as an identifier in non-strict mode (issue 1289)
* Attach orphaned comments as `innerComments` (issue 1328)
* Add the support for token delegator (issue 1332)
2015-09-01: Version 2.6.0
* Properly allow or prohibit `let` in a binding identifier/pattern (issue 1048, 1098)
* Add sourceType field for Program node (issue 1159)
* Ensure that strict mode reserved word binding throw an error (issue 1171)
* Run the test suite with Node.js and IE 11 on Windows (issue 1294)
* Allow binding pattern with no initializer in a for statement (issue 1301)
2015-07-31: Version 2.5.0
* Run the test suite in a browser environment (issue 1004)
* Ensure a comma between imported default binding and named imports (issue 1046)
* Distinguish `yield` as a keyword vs an identifier (issue 1186)
* Support ES6 meta property `new.target` (issue 1203)
* Fix the syntax node for yield with expression (issue 1223)
* Fix the check of duplicated proto in property names (issue 1225)
* Fix ES6 Unicode escape in identifier name (issue 1229)
* Support ES6 IdentifierStart and IdentifierPart (issue 1232)
* Treat await as a reserved word when parsing as a module (issue 1234)
* Recognize identifier characters from Unicode SMP (issue 1244)
* Ensure that export and import can be followed by a comma (issue 1250)
* Fix yield operator precedence (issue 1262)
2015-07-01: Version 2.4.1
* Fix some cases of comment attachment (issue 1071, 1175)
* Fix the handling of destructuring in function arguments (issue 1193)
* Fix invalid ranges in assignment expression (issue 1201)
2015-06-26: Version 2.4.0
* Support ES6 for-of iteration (issue 1047)
* Support ES6 spread arguments (issue 1169)
* Minimize npm payload (issue 1191)
2015-06-16: Version 2.3.0
* Support ES6 generator (issue 1033)
* Improve parsing of regular expressions with `u` flag (issue 1179)
2015-04-17: Version 2.2.0
* Support ES6 import and export declarations (issue 1000)
* Fix line terminator before arrow not recognized as error (issue 1009)
* Support ES6 destructuring (issue 1045)
* Support ES6 template literal (issue 1074)
* Fix the handling of invalid/incomplete string escape sequences (issue 1106)
* Fix ES3 static member access restriction (issue 1120)
* Support for `super` in ES6 class (issue 1147)
2015-03-09: Version 2.1.0
* Support ES6 class (issue 1001)
* Support ES6 rest parameter (issue 1011)
* Expand the location of property getter, setter, and methods (issue 1029)
* Enable TryStatement transition to a single handler (issue 1031)
* Support ES6 computed property name (issue 1037)
* Tolerate unclosed block comment (issue 1041)
* Support ES6 lexical declaration (issue 1065)
2015-02-06: Version 2.0.0
* Support ES6 arrow function (issue 517)
* Support ES6 Unicode code point escape (issue 521)
* Improve the speed and accuracy of comment attachment (issue 522)
* Support ES6 default parameter (issue 519)
* Support ES6 regular expression flags (issue 557)
* Fix scanning of implicit octal literals (issue 565)
* Fix the handling of automatic semicolon insertion (issue 574)
* Support ES6 method definition (issue 620)
* Support ES6 octal integer literal (issue 621)
* Support ES6 binary integer literal (issue 622)
* Support ES6 object literal property value shorthand (issue 624)
2015-03-03: Version 1.2.5
* Fix scanning of implicit octal literals (issue 565)
2015-02-05: Version 1.2.4
* Fix parsing of LeftHandSideExpression in ForInStatement (issue 560)
* Fix the handling of automatic semicolon insertion (issue 574)
2015-01-18: Version 1.2.3
* Fix division by this (issue 616)
2014-05-18: Version 1.2.2
* Fix duplicated tokens when collecting comments (issue 537)
2014-05-04: Version 1.2.1
* Ensure that Program node may still have leading comments (issue 536)
2014-04-29: Version 1.2.0
* Fix semicolon handling for expression statement (issue 462, 533)
* Disallow escaped characters in regular expression flags (issue 503)
* Performance improvement for location tracking (issue 520)
* Improve the speed of comment attachment (issue 522)
2014-03-26: Version 1.1.1
* Fix token handling of forward slash after an array literal (issue 512)
2014-03-23: Version 1.1.0
* Optionally attach comments to the owning syntax nodes (issue 197)
* Simplify binary parsing with stack-based shift reduce (issue 352)
* Always include the raw source of literals (issue 376)
* Add optional input source information (issue 386)
* Tokenizer API for pure lexical scanning (issue 398)
* Improve the web site and its online demos (issue 337, 400, 404)
* Performance improvement for location tracking (issue 417, 424)
* Support HTML comment syntax (issue 451)
* Drop support for legacy browsers (issue 474)
2013-08-27: Version 1.0.4
* Minimize the payload for packages (issue 362)
* Fix missing cases on an empty switch statement (issue 436)
* Support escaped ] in regexp literal character classes (issue 442)
* Tolerate invalid left-hand side expression (issue 130)
2013-05-17: Version 1.0.3
* Variable declaration needs at least one declarator (issue 391)
* Fix benchmark's variance unit conversion (issue 397)
* IE < 9: \v should be treated as vertical tab (issue 405)
* Unary expressions should always have prefix: true (issue 418)
* Catch clause should only accept an identifier (issue 423)
* Tolerate setters without parameter (issue 426)
2012-11-02: Version 1.0.2
Improvement:
* Fix esvalidate JUnit output upon a syntax error (issue 374)
2012-10-28: Version 1.0.1
Improvements:
* esvalidate understands shebang in a Unix shell script (issue 361)
* esvalidate treats fatal parsing failure as an error (issue 361)
* Reduce Node.js package via .npmignore (issue 362)
2012-10-22: Version 1.0.0
Initial release.
/* Translators (2009 onwards):
* - Malafaya
*/
/**
* @requires OpenLayers/Lang.js
*/
/**
* Namespace: OpenLayers.Lang["io"]
* Dictionary for Ido. Keys for entries are used in calls to
* <OpenLayers.Lang.translate>. Entry bodies are normal strings or
* strings formatted for use with <OpenLayers.String.format> calls.
*/
OpenLayers.Lang["io"] = OpenLayers.Util.applyDefaults({
'Scale = 1 : ${scaleDenom}': "Skalo = 1 : ${scaleDenom}"
});
/**
* Copyright &copy; 2015-2018 ODM All rights reserved.
*/
package com.thinkgem.jeesite.modules.reg.dao.bus;
import com.thinkgem.jeesite.common.persistence.CrudDao;
import com.thinkgem.jeesite.common.persistence.annotation.MyBatisDao;
import com.thinkgem.jeesite.modules.reg.entity.bus.RegBusDyiq;
/**
* 地役权信息维护DAO接口
* @author xuyg
* @version 2015-10-15
*/
@MyBatisDao
public interface RegBusDyiqDao extends CrudDao<RegBusDyiq> {
}
\ No newline at end of file
<!DOCTYPE html>
<HTML>
<HEAD>
<TITLE> ZTREE DEMO - reAsyncChildNodes</TITLE>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../css/demo.css" type="text/css">
<link rel="stylesheet" href="../../../css/zTreeStyle/zTreeStyle.css" type="text/css">
<script type="text/javascript" src="../../../js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="../../../js/jquery.ztree.core-3.5.js"></script>
<!-- <script type="text/javascript" src="../../../js/jquery.ztree.excheck-3.5.js"></script>
<script type="text/javascript" src="../../../js/jquery.ztree.exedit-3.5.js"></script>-->
<SCRIPT type="text/javascript">
<!--
var setting = {
view: {
selectedMulti: false
},
async: {
enable: true,
url:"../asyncData/getNodes.php",
autoParam:["id", "name=n", "level=lv"],
otherParam:{"otherParam":"zTreeAsyncTest"},
dataFilter: filter
},
callback: {
beforeClick: beforeClick,
beforeAsync: beforeAsync,
onAsyncError: onAsyncError,
onAsyncSuccess: onAsyncSuccess
}
};
function filter(treeId, parentNode, childNodes) {
if (!childNodes) return null;
for (var i=0, l=childNodes.length; i<l; i++) {
childNodes[i].name = childNodes[i].name.replace(/\.n/g, '.');
}
return childNodes;
}
function beforeClick(treeId, treeNode) {
if (!treeNode.isParent) {
alert("请选择父节点");
return false;
} else {
return true;
}
}
var log, className = "dark";
function beforeAsync(treeId, treeNode) {
className = (className === "dark" ? "":"dark");
showLog("[ "+getTime()+" beforeAsync ]&nbsp;&nbsp;&nbsp;&nbsp;" + ((!!treeNode && !!treeNode.name) ? treeNode.name : "root") );
return true;
}
function onAsyncError(event, treeId, treeNode, XMLHttpRequest, textStatus, errorThrown) {
showLog("[ "+getTime()+" onAsyncError ]&nbsp;&nbsp;&nbsp;&nbsp;" + ((!!treeNode && !!treeNode.name) ? treeNode.name : "root") );
}
function onAsyncSuccess(event, treeId, treeNode, msg) {
showLog("[ "+getTime()+" onAsyncSuccess ]&nbsp;&nbsp;&nbsp;&nbsp;" + ((!!treeNode && !!treeNode.name) ? treeNode.name : "root") );
}
function showLog(str) {
if (!log) log = $("#log");
log.append("<li class='"+className+"'>"+str+"</li>");
if(log.children("li").length > 8) {
log.get(0).removeChild(log.children("li")[0]);
}
}
function getTime() {
var now= new Date(),
h=now.getHours(),
m=now.getMinutes(),
s=now.getSeconds(),
ms=now.getMilliseconds();
return (h+":"+m+":"+s+ " " +ms);
}
function refreshNode(e) {
var zTree = $.fn.zTree.getZTreeObj("treeDemo"),
type = e.data.type,
silent = e.data.silent,
nodes = zTree.getSelectedNodes();
if (nodes.length == 0) {
alert("请先选择一个父节点");
}
for (var i=0, l=nodes.length; i<l; i++) {
zTree.reAsyncChildNodes(nodes[i], type, silent);
if (!silent) zTree.selectNode(nodes[i]);
}
}
$(document).ready(function(){
$.fn.zTree.init($("#treeDemo"), setting);
$("#refreshNode").bind("click", {type:"refresh", silent:false}, refreshNode);
$("#refreshNodeSilent").bind("click", {type:"refresh", silent:true}, refreshNode);
$("#addNode").bind("click", {type:"add", silent:false}, refreshNode);
$("#addNodeSilent").bind("click", {type:"add", silent:true}, refreshNode);
});
//-->
</SCRIPT>
</HEAD>
<BODY>
<h1>用 zTree 方法异步加载节点数据</h1>
<h6>[ 文件路径: core/async_fun.html ]</h6>
<div class="content_wrap">
<div class="zTreeDemoBackground left">
<ul id="treeDemo" class="ztree"></ul>
</div>
<div class="right">
<ul class="info">
<li class="title"><h2>1、reAsyncChildNodes 方法操作说明</h2>
<ul class="list">
<li class="highlight_red">使用 zTreeObj.reAsyncChildNodes 方法,详细请参见 API 文档中的相关内容</li>
<li><p>此 Demo 只能同时选中一个父节点<br/>
试试看:[ <a id="refreshNode" href="#" onclick="return false;">重新加载</a> ]&nbsp;&nbsp;&nbsp;&nbsp;[ <a id="addNode" href="#" onclick="return false;">追加</a> ]</p>
</li>
<li><p><span class="highlight_red">“悄悄地”操作只能针对 折叠状态 的父节点</span><br/>
试试看:[ <a id="refreshNodeSilent" href="#" onclick="return false;">悄悄地 重新加载</a> ]&nbsp;&nbsp;&nbsp;&nbsp;[ <a id="addNodeSilent" href="#" onclick="return false;">悄悄地 追加</a> ]<br/>
async log:<br/>
<ul id="log" class="log"></ul></p>
</li>
</ul>
</li>
<li class="title"><h2>2、setting 配置信息说明</h2>
<ul class="list">
<li class="highlight_red">使用 zTree 提供的 reAsyncChildNodes 方法也必须设置 setting.async 中的各个属性,详细请参见 API 文档中的相关内容</li>
</ul>
</li>
<li class="title"><h2>3、treeNode 节点数据说明</h2>
<ul class="list">
<li>同 "异步加载 节点数据" 中的说明</li>
</ul>
</li>
<li class="title"><h2>4、其他说明</h2>
<ul class="list">
<li>同 "异步加载 节点数据" 中的说明</li>
</ul>
</li>
</ul>
</div>
</div>
</BODY>
</HTML>
\ No newline at end of file
<!DOCTYPE html>
<HTML>
<HEAD>
<TITLE> ZTREE DEMO - multiTree</TITLE>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../css/demo.css" type="text/css">
<link rel="stylesheet" href="../../../css/zTreeStyle/zTreeStyle.css" type="text/css">
<script type="text/javascript" src="../../../js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="../../../js/jquery.ztree.core-3.5.js"></script>
<script type="text/javascript" src="../../../js/jquery.ztree.excheck-3.5.js"></script>
<script type="text/javascript" src="../../../js/jquery.ztree.exedit-3.5.js"></script>
<SCRIPT type="text/javascript">
<!--
var setting = {
edit: {
enable: true,
showRemoveBtn: false,
showRenameBtn: false
},
data: {
simpleData: {
enable: true
}
},
callback: {
beforeDrag: beforeDrag,
beforeDrop: beforeDrop
}
};
var zNodes =[
{ id:1, pId:0, name:"父节点 1", open:true},
{ id:11, pId:1, name:"叶子节点 1-1"},
{ id:12, pId:1, name:"叶子节点 1-2"},
{ id:13, pId:1, name:"叶子节点 1-3"},
{ id:2, pId:0, name:"父节点 2", open:true},
{ id:21, pId:2, name:"叶子节点 2-1"},
{ id:22, pId:2, name:"叶子节点 2-2"},
{ id:23, pId:2, name:"叶子节点 2-3"},
{ id:3, pId:0, name:"父节点 3", open:true},
{ id:31, pId:3, name:"叶子节点 3-1"},
{ id:32, pId:3, name:"叶子节点 3-2"},
{ id:33, pId:3, name:"叶子节点 3-3"}
];
function beforeDrag(treeId, treeNodes) {
for (var i=0,l=treeNodes.length; i<l; i++) {
if (treeNodes[i].drag === false) {
return false;
}
}
return true;
}
function beforeDrop(treeId, treeNodes, targetNode, moveType) {
return targetNode ? targetNode.drop !== false : true;
}
$(document).ready(function(){
$.fn.zTree.init($("#treeDemo"), setting, zNodes);
$.fn.zTree.init($("#treeDemo2"), setting);
});
//-->
</SCRIPT>
</HEAD>
<BODY>
<h1>多棵树之间 的 数据交互</h1>
<h6>[ 文件路径: exedit/multiTree.html ]</h6>
<div class="content_wrap">
<div>
<ul class="info">
<li class="title"><h2>1、setting 配置信息说明</h2>
<ul class="list">
<li>zTree 对于多棵树之间拖拽的操作非常简单,只需要创建两棵可拖拽的树即可,同时可根据 各种事件回调函数 以及 zTree 的方法配合实现较复杂的操作规则,这里只是基本演示。</li>
<li class="highlight_red">关于配置信息请参考拖拽、编辑等 Demo 的详细说明</li>
</ul>
</li>
<li class="title"><h2>2、treeNode 节点数据说明</h2>
<ul class="list">
<li>对 节点数据 没有特殊要求,用户可以根据自己的需求添加自定义属性</li>
</ul>
</li>
</ul>
</div>
<div class="zTreeDemoBackground left">
<ul id="treeDemo" class="ztree"></ul>
</div>
<div class="right">
<ul id="treeDemo2" class="ztree"></ul>
</div>
</div>
</BODY>
</HTML>
\ No newline at end of file
{
"_from": "shebang-command@^1.2.0",
"_id": "shebang-command@1.2.0",
"_inBundle": false,
"_integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
"_location": "/shebang-command",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
"raw": "shebang-command@^1.2.0",
"name": "shebang-command",
"escapedName": "shebang-command",
"rawSpec": "^1.2.0",
"saveSpec": null,
"fetchSpec": "^1.2.0"
},
"_requiredBy": [
"/istanbul-lib-processinfo/cross-spawn"
],
"_resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz",
"_shasum": "44aac65b695b03398968c39f363fee5deafdf1ea",
"_spec": "shebang-command@^1.2.0",
"_where": "F:\\budongchan_quanji_work\\ODM\\src\\main\\webapp\\static\\jquery-validation\\1.11.0\\node_modules\\istanbul-lib-processinfo\\node_modules\\cross-spawn",
"author": {
"name": "Kevin Martensson",
"email": "kevinmartensson@gmail.com",
"url": "github.com/kevva"
},
"bugs": {
"url": "https://github.com/kevva/shebang-command/issues"
},
"bundleDependencies": false,
"dependencies": {
"shebang-regex": "^1.0.0"
},
"deprecated": false,
"description": "Get the command from a shebang",
"devDependencies": {
"ava": "*",
"xo": "*"
},
"engines": {
"node": ">=0.10.0"
},
"files": [
"index.js"
],
"homepage": "https://github.com/kevva/shebang-command#readme",
"keywords": [
"cmd",
"command",
"parse",
"shebang"
],
"license": "MIT",
"name": "shebang-command",
"repository": {
"type": "git",
"url": "git+https://github.com/kevva/shebang-command.git"
},
"scripts": {
"test": "xo && ava"
},
"version": "1.2.0",
"xo": {
"ignores": [
"test.js"
]
}
}
#!/usr/bin/env pwsh
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
$exe=""
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
# Fix case when both the Windows and Linux builds of Node
# are installed in the same directory
$exe=".exe"
}
$ret=0
if (Test-Path "$basedir/node$exe") {
& "$basedir/node$exe" "$basedir/../uuid/bin/uuid" $args
$ret=$LASTEXITCODE
} else {
& "node$exe" "$basedir/../uuid/bin/uuid" $args
$ret=$LASTEXITCODE
}
exit $ret
doctype html
html
head
title Coverage
meta(charset='utf-8')
include script.html
include style.html
body
#coverage
h1#overview Coverage
include menu
#stats(class=coverageClass(cov.coverage))
.percentage #{cov.coverage | 0}%
.sloc= cov.sloc
.hits= cov.hits
.misses= cov.misses
#files
for file in cov.files
.file
h2(id=file.filename)= file.filename
#stats(class=coverageClass(file.coverage))
.percentage #{file.coverage | 0}%
.sloc= file.sloc
.hits= file.hits
.misses= file.misses
table#source
thead
tr
th Line
th Hits
th Source
tbody
for line, number in file.source
if line.coverage > 0
tr.hit
td.line= number
td.hits= line.coverage
td.source= line.source
else if 0 === line.coverage
tr.miss
td.line= number
td.hits 0
td.source= line.source
else
tr
td.line= number
td.hits
td.source= line.source || ' '
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ include file="/WEB-INF/views/include/taglib.jsp"%>
<html>
<head>
<title>查封登记信息管理</title>
<meta name="decorator" content="default"/>
<script type="text/javascript">
$(document).ready(function() {
});
function page(n,s){
$("#pageNo").val(n);
$("#pageSize").val(s);
$("#searchForm").submit();
return false;
}
window.onload = function() {
var cw = "${cw}";
if(cw != null && cw != ""){
alert(cw);
}
};
function winOpenCfdj(id){
//弹出窗口的宽度;
var iWidth=1100;
//弹出窗口的高度;
var iHeight=600;
//获得窗口的垂直位置
var iTop = (window.screen.height - 30 - iHeight) / 2;
//获得窗口的水平位置
var iLeft = (window.screen.width - 10 - iWidth) / 2;
window.open("${ctx}/reg/bus/regBusCfdj/Fwcfzxeditform?id="+ id +"&VIEWS=1","newwindow",
"height="+ iHeight +",width="+ iWidth +",top="+ iTop +",left="+ iLeft +",toolbar=no,menubar=no,scrollbars=yes, resizable=no,location=no, status=no");
}
function winOpendeleteYgdj(id){
if(confirm('是否删除?')){
//弹出窗口的宽度;
var iWidth=1100;
//弹出窗口的高度;
var iHeight=400;
//获得窗口的垂直位置
var iTop = (window.screen.height - 30 - iHeight) / 2;
//获得窗口的水平位置
var iLeft = (window.screen.width - 10 - iWidth) / 2;
window.open("${ctx}/reg/bus/regBusCfdj/fwcfzxdelete?id="+ id,"newwindow",
"height="+ iHeight +",width="+ iWidth +",top="+ iTop +",left="+ iLeft +",toolbar=no,menubar=no,scrollbars=yes, resizable=no,location=no, status=no");
}
}
function winOpenUpdateCfdj(id){
//弹出窗口的宽度;
var iWidth=1100;
//弹出窗口的高度;
var iHeight=600;
//获得窗口的垂直位置
var iTop = (window.screen.height - 30 - iHeight) / 2;
//获得窗口的水平位置
var iLeft = (window.screen.width - 10 - iWidth) / 2;
window.open("${ctx}/reg/bus/regBusCfdj/Fwcfzxeditform?id="+ id +"&YWH=${YWH}&optype=update&WO=1","newwindow",
"height="+ iHeight +",width="+ iWidth +",top="+ iTop +",left="+ iLeft +",toolbar=no,menubar=no,scrollbars=yes, resizable=no,location=no, status=no");
}
function reloadCfdj(){
var optype = "${optype}";
if(window.opener) {
//新增
window.close();
if(optype == undefined || optype == null || optype ==""){
window.opener.cfdjframe.location.reload();
window.opener.firstframe.location.reload();
window.opener.qlrframe.location.reload();
}else{ //更新
window.opener.parent.document.cfdjframe.location.reload();
window.opener.parent.document.firstframe.location.reload();
window.opener.parent.document.qlrframe.location.reload();
}
}
}
function reloadfwCfdj(){
window.close();
window.opener.parent.document.cfdjframe.location.reload();
window.opener.parent.document.firstframe.location.reload();
window.opener.parent.document.qlrframe.location.reload();
}
</script>
</head>
<body>
<ul class="nav nav-tabs">
<li class="active"><a href="${ctx}/reg/bus/regBusCfdj/">查封登记信息列表</a></li>
<!--<shiro:hasPermission name="reg:bus:regBusCfdj:edit"><li><a href="${ctx}/reg/bus/regBusCfdj/form">查封登记信息添加</a></li></shiro:hasPermission>-->
</ul>
<form:form id="searchForm" modelAttribute="regBusCfdj" action="${ctx}/reg/bus/regBusCfdj/fwcfzxlist?jfywh=${jfywh}&WWO=${WWO}&WO=${WO}" method="post" class="breadcrumb form-search">
<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
<!-- <ul class="ul-form"> -->
<!-- <li><label>不动产单元号:</label> -->
<!-- <form:input path="bdcdyh" htmlEscape="false" maxlength="28" class="input-medium"/> -->
<!-- </li> -->
<!-- <li><label>业务号:</label> -->
<!-- <form:input path="ywh" htmlEscape="false" maxlength="20" class="input-medium"/> -->
<!-- </li> -->
<!-- <li class="btns"><input id="btnSubmit" class="btn btn-primary" type="submit" value="查询"/></li> -->
<!-- <li class="clearfix"></li> -->
<!-- </ul> -->
</form:form>
<c:if test="${not empty WO}">
<br>
<input id="reLoadCfdj" class="btn btn-primary" type="button" onclick="reloadCfdj();" value="退出列表" />
<br>
</c:if>
<c:if test="${not empty WWO}">
<br>
<input id="reLoadCfdj" class="btn btn-primary" type="button" onclick="reloadfwCfdj();" value="退出列表" />
<br>
</c:if>
<sys:message content="${message}"/>
<table id="contentTable" class="table table-striped table-bordered table-condensed">
<thead>
<tr>
<th>解封业务编号</th>
<th>不动产单元号</th>
<th>业务编号</th>
<th>查封机关</th>
<th>查封类型</th>
<th>查封文件</th>
<th>查封文号</th>
<th>查封起始时间</th>
<th>查封结束时间</th>
<th>解封机关</th>
<c:if test="${empty LISTVIEWS}">
<shiro:hasPermission name="reg:bus:regBusCfdj:edit"><th>操作</th></shiro:hasPermission>
</c:if>
</tr>
</thead>
<tbody>
<c:forEach items="${page.list}" var="regBusCfdj">
<tr>
<td>
${regBusCfdj.jfywh}
</td>
<td>
<shiro:hasPermission name="reg:bus:regBusCfdj:view">
<a href="javascript:void(0);" onclick="winOpenCfdj('${regBusCfdj.id}');">
${regBusCfdj.bdcdyh}
</a>
</shiro:hasPermission>
</td>
<td>
${regBusCfdj.ywh}
</td>
<td>
${regBusCfdj.cfjg}
</td>
<td>
${fns:getDictLabel(regBusCfdj.cflx, 'reg_bus_cflx', '')}
</td>
<td>
${regBusCfdj.cfwj}
</td>
<td>
${regBusCfdj.cfwh}
</td>
<td>
<fmt:formatDate value="${regBusCfdj.cfqssj}" pattern="yyyy-MM-dd HH:mm:ss"/>
</td>
<td>
<fmt:formatDate value="${regBusCfdj.cfjssj}" pattern="yyyy-MM-dd HH:mm:ss"/>
</td>
<td>
${regBusCfdj.jfjg}
</td>
<c:if test="${empty LISTVIEWS}">
<shiro:hasPermission name="reg:bus:regBusCfdj:edit">
<td>
<a href="javascript:void(0);" onclick="winOpenUpdateCfdj('${regBusCfdj.id}');">修改</a>
<a href="#" onclick="winOpendeleteYgdj('${regBusCfdj.id}')">删除</a>
<%-- <a href="${ctx}/reg/bus/regBusCfdj/delete?id=${regBusCfdj.id}" onclick="return confirmx('确认要删除该查封登记信息吗?', this.href)">删除</a> --%>
</td>
</shiro:hasPermission>
</c:if>
</tr>
</c:forEach>
</tbody>
</table>
<div class="pagination">${page}</div>
</body>
</html>
\ No newline at end of file
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ include file="/WEB-INF/views/include/taglib.jsp"%>
<html>
<head>
<title>房屋异议注销登记向导</title>
<meta name="decorator" content="default"/>
<script type="text/javascript" >
var selItems = new Array(); 
$(document).ready(function() {
$("tbody > tr").bind("click",function(){
$("tbody > tr").each(function(i){
$(this).removeClass("trBgcolor");
});
$(this).find('input:radio').prop('checked', true);
$(this).addClass("trBgcolor");
});
});
function page(n,s){
$("#pageNo").val(n);
$("#pageSize").val(s);
$("#searchForm").submit();
return false;
}
function AddSelItems(){
var checkedCount = $("input[type='radio']:checked").length;
if(checkedCount == 0){
alert("必须选择一条信息!");
return;
}
var idValue = $("input[name='radio_Bdcqzsdjxx']:checked").attr("id");
var bdcdyh = $("input[name='radio_Bdcqzsdjxx']:checked").parent().next().next().text();
//检查当前选中的不动产 信息有没有在办理其它业务 有的话给提示
// $.ajax({
// type:"POST",
// url:"${ctx}/reg/bus/regBusBdcqzsdjxx/isTransaction",
// cache: false,
// data:"id="+idValue,
// async : false,
// success:function(modelmap){
// if(modelmap.success != 1){
// alert("您选择的不动产登记信息正在办理其它业务,可以进行异议注销!");
// }
// }
// });
//设置选择的信息
$.ajax({
type:"POST",
url:"${ctx}/reg/bus/regBusYydj/getInfo",
cache: false,
data:"id="+idValue,
async : false,
success:function(modelmap){
if(modelmap.success != 1){
var entity = modelmap.data;
var index = indexOfSelItems(entity);
var success = indexOfBdcdyh(entity);
if(index < 0){
window.opener.fwzyinfo(idValue.trim());
window.opener.dyh(bdcdyh.trim());
selItems.push(entity);
addTr2("contentSelectedTable",entity);
}else{
alert("只能添加一条登记信息!");
}
}else{
alert(modelmap.msg);
return;
}
}
});
}
function indexOfBdcdyh(regBusBdcqzsdjxx){
var success = "ok";
for (var i = 0; i < selItems.length; i++) {
if (selItems[i].bdcdyh == regBusBdcqzsdjxx.bdcdyh) {
success = "error";
break;
}
}
return success;
}
function indexOfSelItems(regBusBdcqzsdjxx){
var index = -1;
for (var i = 0; i < selItems.length; i++) {
if (selItems.length > 0) {
index = i;
break;
}
}
return index;
}
function addTr2(tab,regBusYydj){
var trHtml = "<tr><td>"+getObj(regBusYydj.ywh)+"</td><td>"+getObj(regBusYydj.bdcdyh)+"</td><td>"+getObj(regBusYydj.bdcqzh)+"</td><td>"+getObj(regBusYydj.djjg)+"</td><td>"+getObj(regBusYydj.dbr)+"</td></tr>";
$("#"+tab+" > tbody").append(trHtml);
}
function getObj(val){
if(isNotNull(val)){
return val;
}
return "";
}
function isNotNull(val){
if(val != null && val != 'null' && val != undefined && val != 'undefined' && val != ''){
return true ;
}
return false;
}
function DestroySelItems(){
selItems = null;
selItems = new Array();
$("#contentSelectedTable > tbody").html("");
}
function btnNext(){
if(selItems == null || selItems.length<=0){
alert("没有已选择的房屋信息!");
return;
}
var ids="";
for (var i = 0; i < selItems.length; i++) {
if (selItems[i].id) {
if(isNotNull(ids)){
ids += ";" + selItems[i].id;
}else{
ids = selItems[i].id;
}
}
}
var jid = window.opener.getjid();
var dyh = window.opener.getdyh();
if(${DJLX} == 704){
var url = "${ctx}/reg/bus/regBusYydj/Fwyyzxform?YWH=${YWH}&djlx=${DJLX}&dyh="+dyh+"&jid="+jid;
}else{
alert("选择房屋登记类型不正确,请重新操作!");
return;
}
window.location = url;
}
</script>
</head>
<body>
<input type="hidden" id= "qlr" />
<ul class="nav nav-tabs">
<li class="active"><a href="#">选择可异议的房屋信息</a></li>
</ul>
<form:form id="searchForm" modelAttribute="regBusYydj" action="${ctx}/reg/bus/regBusYydj/fwyyzxregedselect?WO=1&djlx=${DJLX}&curywh=${YWH}" method="post" class="breadcrumb form-search">
<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
<table>
<tr>
<td><label>不动产单元号:</label>
<form:input path="bdcdyh" htmlEscape="false" maxlength="28" class="input-medium"/>
</td>
<td><label>不动产权证号:</label>
<form:input path="bdcqzh" htmlEscape="false" class="input-medium"/>
</td>
<td align="right" class="btns"><input id="btnSubmit" class="btn btn-primary" type="submit" value="查询"/></td>
</tr>
</table>
</form:form>
<sys:message content="${message}"/>
<div id="srcBaseInfo" class="control-group" >
<fieldset>
<table id="contentTable" class="table table-bordered table-condensed" >
<thead>
<tr>
<c:if test="${not empty WO}">
<th>选择</th>
</c:if>
<th>业务号</th>
<th>不动产单元号</th>
<th>不动产权证号</th>
<th>登记机构</th>
<th>登薄人</th>
</tr>
</thead>
<tbody>
<c:forEach items="${page.list}" var="regBusYydj">
<tr>
<c:if test="${not empty WO}">
<td><input type="radio" name="radio_Bdcqzsdjxx" id="${regBusYydj.id}" value=""/></td>
</c:if>
<td>
<a href="">
${regBusYydj.ywh}
</a>
</td>
<td>
${regBusYydj.bdcdyh}
</td>
<td>
${regBusYydj.bdcqzh}
</td>
<td>
${regBusYydj.djjg}
</td>
<td>
${regBusYydj.dbr}
</td>
</tr>
</c:forEach>
</tbody>
</table>
<div class="pagination">${page}</div>
</fieldset>
</div>
<div id="btnGroup" class="control-group" >
<input id="btnAdd" class="btn btn-primary" type="button" onclick="AddSelItems();" value="添加"/>
<input id="btnEmpty" class="btn btn-primary" type="button" onclick="DestroySelItems();" value="清空"/>
</div>
<div id="targetBaseInfo" class="control-group" style="height: 250px">
<fieldset>
<table id="contentSelectedTable" class="table table-striped table-bordered table-condensed">
<thead>
<tr>
<th>业务号</th>
<th>不动产单元号</th>
<th>不动产权证号</th>
<th>登记机构</th>
<th>登薄人</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</fieldset>
</div>
<div id="btnGroup" class="control-group" >
<input id="btnNext" class="btn btn-primary" type="button" onclick="btnNext();" value="下一步"/>
</div>
</body>
</html>
\ No newline at end of file
<?xml version='1.0' encoding='utf-8' ?>
<root>
<elements name="Background" meaning="背景属性" number="0-1" example="1.体验Freeform、6.动态更改属性(1)中的js部分">
<element name="bgColor/backColor" meaning="背景色">
<category>外观</category>
<value>颜色串,也可以是以逗号分隔的2个颜色(渐变填充)</value>
</element>
<element name="colorAngle" meaning="渐变背景色的旋转角度">
<category>外观</category>
<datatype>int</datatype>
<value>0 - 360, 顺时针旋转</value>
<default>0</default>
</element>
<element name="Picture/backPicture/bgPicture" meaning="背景图片">
<category>外观</category>
<value>URL串, 支持&lt;a href="../dev/pub.htm#Tag605" target=_blank&gt;图片扩展URL&lt;/a&gt;</value>
</element>
<element name="arrange" meaning="背景图片显示方式">
<category>外观</category>
<value meaning="平铺">tile</value>
<value meaning="伸展">stretch</value>
<value meaning='单幅原样显示,水平、垂直的对齐组合, 例如"bottom,right"'>(left/center/right) 和 (top/middle/bottom)的组合</value>
<default>tile</default>
</element>
<element name="rotate" meaning="顺时针旋转一个角度">
<category>外观</category>
<datatype>int</datatype>
<value>0 - 360, 顺时针旋转</value>
<default>0</default>
</element>
<element name="flip" meaning="翻转">
<category>外观</category>
<value meaning="垂直翻转">Vert</value>
<value meaning="水平翻转">Horz</value>
</element>
<element name="alpha" meaning="透明度">
<category>外观</category>
<datatype>int</datatype>
<value>0 - 255, 透明度越低(即数字越小),图像越淡.</value>
<default>255</default>
</element>
<element name="gamma" meaning="Gamma校正">
<category>外观</category>
<datatype>double</datatype>
<value>1.0表示正常亮度, 用于调校颜色,不太常用</value>
<default>1.0</default>
</element>
<element name="isGray" meaning="是否以黑白(灰度)显示">
<category>外观</category>
<datatype>bool</datatype>
<default>false</default>
</element>
<element name="size" meaning="背景图缩放">
<category>外观</category>
<value>宽度、高度,以逗号分隔</value>
</element>
<element name="transparentColor" meaning="指定图片的透明色">
<category>外观</category>
<datatype>color</datatype>
<value>颜色串</value>
</element>
<element name="pathId" meaning="使用路径">
<category>外观</category>
<value>id串, 指向&amp;lt;Paths&amp;gt;中某个Path资源,表示肯定画在该封闭Path内,不太常用</value>
</element>
<element name="ref" meaning="引用外部XML描述文件">
<category>外观</category>
<value>外部XML文件的URL, 可以是相对URL, 该文件须包含&amp;lt;Background&amp;gt;内容, 实现类似页面CSS的统一置换功能</value>
<memo>如果本XML文档和外部的XML文档同时定义了某个属性, 则优先使用本文档中定义的属性值</memo>
</element>
</elements>
</root>
\ No newline at end of file
/**
* Copyright &copy; 2015-2018 ODM All rights reserved.
*/
package com.thinkgem.jeesite.test.entity;
import com.thinkgem.jeesite.modules.sys.entity.User;
import com.thinkgem.jeesite.modules.sys.entity.Office;
import com.thinkgem.jeesite.modules.sys.entity.Area;
import org.hibernate.validator.constraints.Length;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.List;
import com.google.common.collect.Lists;
import com.thinkgem.jeesite.common.persistence.DataEntity;
/**
* 主子表生成Entity
* @author ThinkGem
* @version 2015-04-06
*/
public class TestDataMain extends DataEntity<TestDataMain> {
private static final long serialVersionUID = 1L;
private User user; // 归属用户
private Office office; // 归属部门
private Area area; // 归属区域
private String name; // 名称
private String sex; // 性别
private Date inDate; // 加入日期
private List<TestDataChild> testDataChildList = Lists.newArrayList(); // 子表列表
public TestDataMain() {
super();
}
public TestDataMain(String id){
super(id);
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public Office getOffice() {
return office;
}
public void setOffice(Office office) {
this.office = office;
}
public Area getArea() {
return area;
}
public void setArea(Area area) {
this.area = area;
}
@Length(min=0, max=100, message="名称长度必须介于 0 和 100 之间")
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Length(min=0, max=1, message="性别长度必须介于 0 和 1 之间")
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
public Date getInDate() {
return inDate;
}
public void setInDate(Date inDate) {
this.inDate = inDate;
}
public List<TestDataChild> getTestDataChildList() {
return testDataChildList;
}
public void setTestDataChildList(List<TestDataChild> testDataChildList) {
this.testDataChildList = testDataChildList;
}
}
\ No newline at end of file
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ include file="/WEB-INF/views/include/taglib.jsp"%>
<html>
<head>
<title>户信息变化管理</title>
<meta name="decorator" content="default"/>
<script type="text/javascript">
$(document).ready(function() {
//$("#name").focus();
$("#inputForm").validate({
submitHandler: function(form){
loading('正在提交,请稍等...');
form.submit();
},
errorContainer: "#messageBox",
errorPlacement: function(error, element) {
$("#messageBox").text("输入有误,请先更正。");
if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){
error.appendTo(element.parent().parent());
} else {
error.insertAfter(element);
}
}
});
});
</script>
</head>
<body>
<ul class="nav nav-tabs">
<li><a href="${ctx}/reg/base/regBaseHbhqk/">户信息变化列表</a></li>
<li class="active"><a href="#">户信息变化<shiro:hasPermission name="reg:base:regBaseHbhqk:edit">${not empty regBaseHbhqk.id?'修改':'添加'}</shiro:hasPermission><shiro:lacksPermission name="reg:base:regBaseHbhqk:edit">查看</shiro:lacksPermission></a></li>
</ul><br/>
<form:form id="inputForm" modelAttribute="regBaseHbhqk" action="${ctx}/reg/base/regBaseHbhqk/save" method="post" class="form-horizontal">
<form:hidden path="id"/>
<sys:message content="${message}"/>
<div class="control-group">
<label class="control-label">当前变更业务号:</label>
<div class="controls">
<form:input path="ywh" htmlEscape="false" maxlength="11" class="input-xlarge "/>
</div>
</div>
<div class="control-group">
<label class="control-label">不动产单元号:</label>
<div class="controls">
<form:input path="bdcdyh" htmlEscape="false" maxlength="28" class="input-xlarge "/>
</div>
</div>
<div class="control-group">
<label class="control-label">变更后户ID:</label>
<div class="controls">
<form:input path="hid" htmlEscape="false" maxlength="64" class="input-xlarge "/>
</div>
</div>
<div class="control-group">
<label class="control-label">变更前户ID:</label>
<div class="controls">
<form:input path="oldhid" htmlEscape="false" maxlength="64" class="input-xlarge "/>
</div>
</div>
<div class="control-group">
<label class="control-label">备注信息:</label>
<div class="controls">
<form:textarea path="remarks" htmlEscape="false" rows="4" maxlength="255" class="input-xxlarge "/>
</div>
</div>
<div class="form-actions">
<shiro:hasPermission name="reg:base:regBaseHbhqk:edit"><input id="btnSubmit" class="btn btn-primary" type="submit" value="保 存"/>&nbsp;</shiro:hasPermission>
<input id="btnCancel" class="btn" type="button" value="返 回" onclick="history.go(-1)"/>
</div>
</form:form>
</body>
</html>
\ No newline at end of file
var baseDifference = require('./_baseDifference'),
baseFlatten = require('./_baseFlatten'),
baseUniq = require('./_baseUniq');
/**
* The base implementation of methods like `_.xor`, without support for
* iteratee shorthands, that accepts an array of arrays to inspect.
*
* @private
* @param {Array} arrays The arrays to inspect.
* @param {Function} [iteratee] The iteratee invoked per element.
* @param {Function} [comparator] The comparator invoked per element.
* @returns {Array} Returns the new array of values.
*/
function baseXor(arrays, iteratee, comparator) {
var length = arrays.length;
if (length < 2) {
return length ? baseUniq(arrays[0]) : [];
}
var index = -1,
result = Array(length);
while (++index < length) {
var array = arrays[index],
othIndex = -1;
while (++othIndex < length) {
if (othIndex != index) {
result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator);
}
}
}
return baseUniq(baseFlatten(result, 1), iteratee, comparator);
}
module.exports = baseXor;
var convert = require('./convert'),
func = convert('isWeakSet', require('../isWeakSet'), require('./_falseOptions'));
func.placeholder = require('./placeholder');
module.exports = func;
/*
Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang('a11yhelp','pt-br',{accessibilityHelp:{title:'Instruções de Acessibilidade',contents:'Conteúdo da Ajuda. Para fechar este diálogo pressione ESC.',legend:[{name:'Geral',items:[{name:'Barra de Ferramentas do Editor',legend:'Pressione ${toolbarFocus} para navegar para a barra de ferramentas. Mova para o anterior ou próximo grupo de ferramentas com TAB e SHIFT-TAB. Mova para o anterior ou próximo botão com SETA PARA DIREITA or SETA PARA ESQUERDA. Pressione ESPAÇO ou ENTER para ativar o botão da barra de ferramentas.'},{name:'Diálogo do Editor',legend:'Dentro de um diálogo, pressione TAB para navegar para o próximo campo, pressione SHIFT + TAB para mover para o campo anterior, pressione ENTER para enviar o diálogo, pressione ESC para cancelar o diálogo. Para diálogos que tem múltiplas abas, pressione ALT + F10 para navegar para a lista de abas, então mova para a próxima aba com SHIFT + TAB ou SETA PARA ESQUERDA. Pressione ESPAÇO ou ENTER para selecionar a aba.'},{name:'Menu de Contexto do Editor',legend:'Pressione ${contextMenu} ou TECLA DE MENU para abrir o menu de contexto, então mova para a próxima opção com TAB ou SETA PARA BAIXO. Mova para a anterior com SHIFT+TAB ou SETA PARA CIMA. Pressione ESPAÇO ou ENTER para selecionar a opção do menu. Abra o submenu da opção atual com ESPAÇO ou ENTER ou SETA PARA DIREITA. Volte para o menu pai com ESC ou SETA PARA ESQUERDA. Feche o menu de contexto com ESC.'},{name:'Caixa de Lista do Editor',legend:'Dentro de uma caixa de lista, mova para o próximo item com TAB ou SETA PARA BAIXO. Mova para o item anterior com SHIFT + TAB ou SETA PARA CIMA. Pressione ESPAÇO ou ENTER para selecionar uma opção na lista. Pressione ESC para fechar a caixa de lista.'},{name:'Barra de Caminho do Elementos do Editor',legend:'Pressione ${elementsPathFocus} para a barra de caminho dos elementos. Mova para o próximo botão de elemento com TAB ou SETA PARA DIREITA. Mova para o botão anterior com SHIFT+TAB ou SETA PARA ESQUERDA. Pressione ESPAÇO ou ENTER para selecionar o elemento no editor.'}]},{name:'Comandos',items:[{name:' Comando Desfazer',legend:'Pressione ${undo}'},{name:' Comando Refazer',legend:'Pressione ${redo}'},{name:' Comando Negrito',legend:'Pressione ${bold}'},{name:' Comando Itálico',legend:'Pressione ${italic}'},{name:' Comando Sublinhado',legend:'Pressione ${underline}'},{name:' Comando Link',legend:'Pressione ${link}'},{name:' Comando Fechar Barra de Ferramentas',legend:'Pressione ${toolbarCollapse}'},{name:' Ajuda de Acessibilidade',legend:'Pressione ${a11yHelp}'}]}]}});
var convert = require('./convert'),
func = convert('isNil', require('../isNil'), require('./_falseOptions'));
func.placeholder = require('./placeholder');
module.exports = func;
package com.thinkgem.jeesite.modules.sys.listener;
import javax.servlet.ServletContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.context.WebApplicationContext;
import com.thinkgem.jeesite.common.config.Global;
import com.thinkgem.jeesite.modules.sys.service.SystemService;
public class WebContextListener extends org.springframework.web.context.ContextLoaderListener {
private Logger logger = LoggerFactory.getLogger(getClass());
@Override
public WebApplicationContext initWebApplicationContext(ServletContext servletContext) {
if (!SystemService.printKeyLoadMessage()){
return null;
}
logger.info("权籍系统 Global.isTitle() == {}" ,Global.isTitle());
logger.info("一窗系统 Global.isYcsl() == {}" ,Global.isYcsl());
logger.info("是否测试 Global.isTest() == {}" ,Global.isTest() );
return super.initWebApplicationContext(servletContext);
}
}
var test = require('tape')
var toBuffer = require('../')
test('convert to buffer from Uint8Array', function (t) {
if (typeof Uint8Array !== 'undefined') {
var arr = new Uint8Array([1, 2, 3])
arr = toBuffer(arr)
t.deepEqual(arr, Buffer.from([1, 2, 3]), 'contents equal')
t.ok(Buffer.isBuffer(arr), 'is buffer')
t.equal(arr.readUInt8(0), 1)
t.equal(arr.readUInt8(1), 2)
t.equal(arr.readUInt8(2), 3)
} else {
t.pass('browser lacks Uint8Array support, skip test')
}
t.end()
})
test('convert to buffer from another arrayview type (Uint32Array)', function (t) {
if (typeof Uint32Array !== 'undefined' && Buffer.TYPED_ARRAY_SUPPORT !== false) {
var arr = new Uint32Array([1, 2, 3])
arr = toBuffer(arr)
t.deepEqual(arr, Buffer.from([1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0]), 'contents equal')
t.ok(Buffer.isBuffer(arr), 'is buffer')
t.equal(arr.readUInt32LE(0), 1)
t.equal(arr.readUInt32LE(4), 2)
t.equal(arr.readUInt32LE(8), 3)
t.equal(arr instanceof Uint8Array, true)
} else {
t.pass('browser lacks Uint32Array support, skip test')
}
t.end()
})
test('convert to buffer from ArrayBuffer', function (t) {
if (typeof Uint32Array !== 'undefined' && Buffer.TYPED_ARRAY_SUPPORT !== false) {
var arr = new Uint32Array([1, 2, 3]).subarray(1, 2)
arr = toBuffer(arr)
t.deepEqual(arr, Buffer.from([2, 0, 0, 0]), 'contents equal')
t.ok(Buffer.isBuffer(arr), 'is buffer')
t.equal(arr.readUInt32LE(0), 2)
t.equal(arr instanceof Uint8Array, true)
} else {
t.pass('browser lacks ArrayBuffer support, skip test')
}
t.end()
})
/*
Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang( 'a11yhelp', 'he',
{
accessibilityHelp :
{
title : 'הוראות נגישות',
contents : 'הוראות נגישות. לסגירה לחץ אסקייפ (ESC).',
legend :
[
{
name : 'כללי',
items :
[
{
name : 'סרגל הכלים',
legend:
'לחץ על ${toolbarFocus} כדי לנווט לסרגל הכלים. עבור לכפתור הבא עם מקש הטאב (TAB) או חץ שמאלי. עבור לכפתור הקודם עם מקש השיפט (SHIFT) + טאב (TAB) או חץ ימני. לחץ רווח או אנטר (ENTER) כדי להפעיל את הכפתור הנבחר.'
},
{
name : 'דיאלוגים (חלונות תשאול)',
legend :
'בתוך דיאלוג, לחץ טאב (TAB) כדי לנווט לשדה הבא, לחץ שיפט (SHIFT) + טאב (TAB) כדי לנווט לשדה הקודם, לחץ אנטר (ENTER) כדי לשלוח את הדיאלוג, לחץ אסקייפ (ESC) כדי לבטל. בתוך דיאלוגים בעלי מספר טאבים (לשוניות), לחץ אלט (ALT) + F10 כדי לנווט לשורת הטאבים. נווט לטאב הבא עם טאב (TAB) או חץ שמאלי. עבור לטאב הקודם עם שיפט (SHIFT) + טאב (TAB) או חץ שמאלי. לחץ רווח או אנטר (ENTER) כדי להיכנס לטאב.'
},
{
name : 'תפריט ההקשר (Context Menu)',
legend :
'לחץ ${contextMenu} או APPLICATION KEYכדי לפתוח את תפריט ההקשר. עבור לאפשרות הבאה עם טאב (TAB) או חץ למטה. עבור לאפשרות הקודמת עם שיפט (SHIFT) + טאב (TAB) או חץ למעלה. לחץ רווח או אנטר (ENTER) כדי לבחור את האפשרות. פתח את תת התפריט (Sub-menu) של האפשרות הנוכחית עם רווח או אנטר (ENTER) או חץ שמאלי. חזור לתפריט האב עם אסקייפ (ESC) או חץ שמאלי. סגור את תפריט ההקשר עם אסקייפ (ESC).'
},
{
name : 'תפריטים צפים (List boxes)',
legend :
'בתוך תפריט צף, עבור לפריט הבא עם טאב (TAB) או חץ למטה. עבור לתפריט הקודם עם שיפט (SHIFT) + טאב (TAB) or חץ עליון. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.'
},
{
name : 'עץ אלמנטים (Elements Path)',
legend :
'לחץ ${elementsPathFocus} כדי לנווט לעץ האלמנטים. עבור לפריט הבא עם טאב (TAB) או חץ ימני. עבור לפריט הקודם עם שיפט (SHIFT) + טאב (TAB) או חץ שמאלי. לחץ רווח או אנטר (ENTER) כדי לבחור את האלמנט בעורך.'
}
]
},
{
name : 'פקודות',
items :
[
{
name : ' ביטול צעד אחרון',
legend : 'לחץ ${undo}'
},
{
name : ' חזרה על צעד אחרון',
legend : 'לחץ ${redo}'
},
{
name : ' הדגשה',
legend : 'לחץ ${bold}'
},
{
name : ' הטייה',
legend : 'לחץ ${italic}'
},
{
name : ' הוספת קו תחתון',
legend : 'לחץ ${underline}'
},
{
name : ' הוספת לינק',
legend : 'לחץ ${link}'
},
{
name : ' כיווץ סרגל הכלים',
legend : 'לחץ ${toolbarCollapse}'
},
{
name : ' הוראות נגישות',
legend : 'לחץ ${a11yHelp}'
}
]
}
]
}
});
# typedarray-to-buffer [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url] [![javascript style guide][standard-image]][standard-url]
[travis-image]: https://img.shields.io/travis/feross/typedarray-to-buffer/master.svg
[travis-url]: https://travis-ci.org/feross/typedarray-to-buffer
[npm-image]: https://img.shields.io/npm/v/typedarray-to-buffer.svg
[npm-url]: https://npmjs.org/package/typedarray-to-buffer
[downloads-image]: https://img.shields.io/npm/dm/typedarray-to-buffer.svg
[downloads-url]: https://npmjs.org/package/typedarray-to-buffer
[standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg
[standard-url]: https://standardjs.com
#### Convert a typed array to a [Buffer](https://github.com/feross/buffer) without a copy.
[![saucelabs][saucelabs-image]][saucelabs-url]
[saucelabs-image]: https://saucelabs.com/browser-matrix/typedarray-to-buffer.svg
[saucelabs-url]: https://saucelabs.com/u/typedarray-to-buffer
Say you're using the ['buffer'](https://github.com/feross/buffer) module on npm, or
[browserify](http://browserify.org/) and you're working with lots of binary data.
Unfortunately, sometimes the browser or someone else's API gives you a typed array like
`Uint8Array` to work with and you need to convert it to a `Buffer`. What do you do?
Of course: `Buffer.from(uint8array)`
But, alas, every time you do `Buffer.from(uint8array)` **the entire array gets copied**.
The `Buffer` constructor does a copy; this is
defined by the [node docs](http://nodejs.org/api/buffer.html) and the 'buffer' module
matches the node API exactly.
So, how can we avoid this expensive copy in
[performance critical applications](https://github.com/feross/buffer/issues/22)?
***Simply use this module, of course!***
If you have an `ArrayBuffer`, you don't need this module, because
`Buffer.from(arrayBuffer)`
[is already efficient](https://nodejs.org/api/buffer.html#buffer_class_method_buffer_from_arraybuffer_byteoffset_length).
## install
```bash
npm install typedarray-to-buffer
```
## usage
To convert a typed array to a `Buffer` **without a copy**, do this:
```js
var toBuffer = require('typedarray-to-buffer')
var arr = new Uint8Array([1, 2, 3])
arr = toBuffer(arr)
// arr is a buffer now!
arr.toString() // '\u0001\u0002\u0003'
arr.readUInt16BE(0) // 258
```
## how it works
If the browser supports typed arrays, then `toBuffer` will **augment the typed array** you
pass in with the `Buffer` methods and return it. See [how does Buffer
work?](https://github.com/feross/buffer#how-does-it-work) for more about how augmentation
works.
This module uses the typed array's underlying `ArrayBuffer` to back the new `Buffer`. This
respects the "view" on the `ArrayBuffer`, i.e. `byteOffset` and `byteLength`. In other
words, if you do `toBuffer(new Uint32Array([1, 2, 3]))`, then the new `Buffer` will
contain `[1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0]`, **not** `[1, 2, 3]`. And it still doesn't
require a copy.
If the browser doesn't support typed arrays, then `toBuffer` will create a new `Buffer`
object, copy the data into it, and return it. There's no simple performance optimization
we can do for old browsers. Oh well.
If this module is used in node, then it will just call `Buffer.from`. This is just for
the convenience of modules that work in both node and the browser.
## license
MIT. Copyright (C) [Feross Aboukhadijeh](http://feross.org).
/*
* Translated default messages for the jQuery validation plugin.
* Locale: ET (Estonian; eesti, eesti keel)
*/
(function ($) {
$.extend($.validator.messages, {
required: "See väli peab olema täidetud.",
maxlength: $.validator.format("Palun sisestage vähem kui {0} tähemärki."),
minlength: $.validator.format("Palun sisestage vähemalt {0} tähemärki."),
rangelength: $.validator.format("Palun sisestage väärtus vahemikus {0} kuni {1} tähemärki."),
email: "Palun sisestage korrektne e-maili aadress.",
url: "Palun sisestage korrektne URL.",
date: "Palun sisestage korrektne kuupäev.",
dateISO: "Palun sisestage korrektne kuupäev (YYYY-MM-DD).",
number: "Palun sisestage korrektne number.",
digits: "Palun sisestage ainult numbreid.",
equalTo: "Palun sisestage sama väärtus uuesti.",
range: $.validator.format("Palun sisestage väärtus vahemikus {0} kuni {1}."),
max: $.validator.format("Palun sisestage väärtus, mis on väiksem või võrdne arvuga {0}."),
min: $.validator.format("Palun sisestage väärtus, mis on suurem või võrdne arvuga {0}."),
creditcard: "Palun sisestage korrektne krediitkaardi number."
});
}(jQuery));
\ No newline at end of file
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/views/include/taglib.jsp"%>
<html>
<head>
<title>房屋不动产信息</title>
<meta name="decorator" content="default" />
<script type="text/javascript">
$(document).ready(function() {
});
</script>
</head>
<body>
<div id="BdcqzsdjxxID" style="display: none;">${mapinfo['BdcqzsdjxxID']}</div>
<sys:message content="${message}" />
<div class="control-group" align="center" >
<table width="99%" border="1" style="border-style: solid; border-color: #000" cellspacing="0" cellpadding="3">
<tr>
<td colspan="2">单位:□平方米/□公顷、万元</td>
<td width="10%">不动产证号</td>
<td width="10%">${mapinfo['BDCQZH']}</td>
<td width="10%">不动产单元号</td>
<td width="10%">${mapinfo['BDCDYH']}</td>
</tr>
<tr>
<td width="10%">原房屋所有权证号</td>
<td width="30%">${mapinfo['BDCQZBH']}</td>
<td width="10%">原土地使用证号</td>
<td width="10%">${mapinfo['SRCTDZH']}</td>
<td>土地使用期限</td>
<td>${mapinfo['TDSYQX']}</td>
</tr>
<tr>
<td>楼(幢)号</td>
<td>${mapinfo['LZH']}</td>
<td>结构</td>
<td>${mapinfo['FWJG']}</td>
<td>共有人</td>
<td colspan="3">${mapinfo['GYR']}</td>
</tr>
<tr>
<td>房屋性质</td>
<td>${mapinfo['FWXZ']}</td>
<td>所有权类型</td>
<td>${mapinfo['QLLX']}</td>
<td>权利性质</td>
<td>${mapinfo['QLXZ']}</td>
</tr>
<tr>
<td>权 利 人</td>
<td>${mapinfo['QLRMC']}</td>
<td>证件种类</td>
<td>${mapinfo['ZJLX']}</td>
<td>证件编号</td>
<td>${mapinfo['SFZH']}</td>
</tr>
<tr>
<td>权利人性质</td>
<td>${mapinfo['QLRXZ']}</td>
<td>通讯地址</td>
<td width="10%">${mapinfo['TXDZ']}</td>
<td>联系方式</td>
<td>${mapinfo['LXFS']}</td>
</tr>
<tr>
<td>共有方式</td>
<td>${mapinfo['GYFS']}</td>
<td>附记</td>
<td>${mapinfo['BZ']}</td>
<td>登记时间</td>
<td>${mapinfo['DJSJ']}</td>
</tr>
</table>
</div>
</body>
\ No newline at end of file
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ include file="/WEB-INF/views/include/taglib.jsp"%>
<html>
<head>
<title>转移预告信息管理</title>
<meta name="decorator" content="default"/>
<script type="text/javascript">
$(document).ready(function() {
$("#inputForm").validate({
submitHandler: function(form){
loading('正在提交,请稍等...');
form.submit();
},
errorContainer: "#messageBox",
errorPlacement: function(error, element) {
$("#messageBox").text("输入有误,请先更正。");
if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){
error.appendTo(element.parent().parent());
} else {
error.insertAfter(element);
}
}
});
views();
});
window.onload = function() {
var ywh = window.opener.getywh();
$("#txtYwh").val(ywh);
var qlrm = window.opener.getqlr();
var zjh = window.opener.getzjh();
$("#txtQlrmc").val(qlrm);
$("#txtZjh").val(zjh);
};
function views(){
var viewid = "${VIEWS}";
if(viewid == undefined || viewid == null || viewid ==""){
return;
}
$("input:not(:button,:submit,:hidden),select,textarea").attr("disabled","disabled");
}
function zyhsave(){
var txtYwh = $("#txtYwh").val();
var txtygYwh = $("#txtygYwh").val();
var txtBdcdyh = $("#txtBdcdyh").val();
var txtZddm= $("#txtZddm").val();
var txtBdcqzh = $("#txtBdcqzh").val();
var txtQlrmc = $("#txtQlrmc").val();
var txtGyqk = $("#txtGyqk").val();
var qllxtext = $("#qllxtext").val();
var qlxztext = $("#qlxztext").val();
var txtMj = $("#txtMj").val();
var txtYt = $("#txtYt").val();
var remarks = $("#remarks").val();
var ygid = window.opener.getygid();
var jid = window.opener.getjid();
var scbj = "0";
$.ajax({
type:"POST", //请求方式
url:"${ctx}/reg/bus/regBusBdcqzsdjxx/yghsave", //请求路径
cache: false, //(默认: true,dataType为script和jsonp时默认为false) jQuery 1.2 新功能,设置为 false 将不缓存此页面。
data:"ywh="+txtygYwh+"&xywh="+txtYwh+"&ygid="+ygid+"&scbj="+scbj+"&jid="+jid
+"&bdcdyh="+txtBdcdyh+"&zddm="+txtZddm+"&bdcqzh="+txtBdcqzh+"&qlrmc="+txtQlrmc+"&gyqk="+txtGyqk+"&qllx="+
qllxtext+"&qlxz="+qlxztext+"&Mj="+txtMj+"&Yt="+txtYt+"&remarks="+remarks, //传参
dataType: "html", //返回值类型 使用json的话也可以,但是需要在JS中编写迭代的html代码,如果格式样式复杂的话还是用html返回类型好
success:function(data){
alert("预告转移信息已成功变更!");
window.opener.document.qlrframe.location="${ctx}/reg/bus/regBusQlr/list?ywh="+txtYwh;
if(opener){
window.close();
window.opener.zyDoAfterDialog(txtYwh);
}
}
});
}
</script>
</head>
<body>
<form:form id="inputForm" modelAttribute="regBusBdcqzsdjxx" action="#" method="post" class="form-horizontal">
<form:hidden id="txtId" path="id"/>
<sys:message content="${message}"/>
<table class="table-form">
<br/><tr> <span class="help-inline"><font size="5" color="red">房屋建筑物所有权转移预告信息</font> </span> </tr><br/>
<tr>
<td class="tit" >当前业务号</td>
<td><form:input id="txtYwh" readonly="true" path="ywh" htmlEscape="false"
maxlength="20" class="input-large " /></td>
<td class="tit" >已预购房屋业务号</td>
<td ><form:input id="txtygYwh" readonly="true" path="ywh" htmlEscape="false"
maxlength="20" class="input-large " /></td>
<td class="tit">不动产单元号</td>
<td><form:input id="txtBdcdyh" path="bdcdyh" readonly="true"
htmlEscape="false" maxlength="28" class="input-large" />
</td>
</tr>
</div>
<tr>
<td class="tit" >宗地代码</td>
<td ><form:input id="txtZddm" path="zddm" htmlEscape="false" readonly="true"
maxlength="20" class="input-large " /></td>
<td class="tit">不动产权证号</td>
<td><form:input id="txtBdcqzh" path="bdcqzh" readonly="true"
htmlEscape="false" maxlength="28" class="input-large" />
</td>
<td class="tit">权利人</td>
<td><form:input id="txtQlrmc" path="qlrmc" readonly="true"
htmlEscape="false" maxlength="28" class="input-large" />
</td>
</tr>
<tr>
<td class="tit">证件号</td>
<td><form:input id="txtZjh" path="remarks" readonly="true"
htmlEscape="false" maxlength="28" class="input-large" />
</td>
<td class="tit">权利人类型</td>
<td><form:select path="qllx" id="qllxtext" class="input-medium" >
<form:option value="" label="" />
<form:options items="${fns:getDictList('reg_bus_qlrlx')}"
itemLabel="label" itemValue="value" htmlEscape="false" />
</form:select><span class="help-inline"><font color="red">*</font> </span>
</td>
<td class="tit">权利性质</td>
<td><form:select path="qlxz" id="qlxztext" class="input-medium ">
<form:option value="" label="" />
<form:options items="${fns:getDictList('reg_bus_qlxz')}"
itemLabel="label" itemValue="value" htmlEscape="false" />
</form:select><font color="red">*</font> </span>
</td>
</tr>
<tr>
<td class="tit" >共有情况</td>
<td ><form:input id="txtGyqk" path="gyqk" htmlEscape="false" readonly="true"
maxlength="20" class="input-large " /></td>
<td class="tit" >用途</td>
<td ><form:input id="txtYt" path="yt" htmlEscape="false" readonly="true"
maxlength="20" class="input-large " /></td>
<td class="tit">备注</td>
<td colspan="4">
<textarea id="remarks" name="remarks" style="width:350px" maxlength="300" class="input-xxlarge " rows="4"></textarea>
</td>
</tr>
</table>
<div class="form-actions" align="center">
<c:if test="${empty VIEWS}">
<shiro:hasPermission name="reg:bus:regBusBdcqzsdjxx:edit">
<input id="button" class="btn btn-primary" type="button" onclick="zyhsave();" value="保 存"/>&nbsp;&nbsp;&nbsp;&nbsp;</shiro:hasPermission>
</c:if>
<input id="btnCancel" class="btn" type="button" value="返 回" onclick="javascript:window.close();"/>
</div>
</form:form>
</body>
</html>
\ No newline at end of file
"use strict";
const definitions = require("../../lib/definitions");
const has = Function.call.bind(Object.prototype.hasOwnProperty);
function joinComparisons(leftArr, right) {
return (
leftArr.map(JSON.stringify).join(` === ${right} || `) + ` === ${right}`
);
}
function addIsHelper(type, aliasKeys, deprecated) {
const targetType = JSON.stringify(type);
let aliasSource = "";
if (aliasKeys) {
aliasSource = " || " + joinComparisons(aliasKeys, "nodeType");
}
let placeholderSource = "";
const placeholderTypes = [];
if (
definitions.PLACEHOLDERS.includes(type) &&
has(definitions.FLIPPED_ALIAS_KEYS, type)
) {
placeholderTypes.push(type);
}
if (has(definitions.PLACEHOLDERS_FLIPPED_ALIAS, type)) {
placeholderTypes.push(...definitions.PLACEHOLDERS_FLIPPED_ALIAS[type]);
}
if (placeholderTypes.length > 0) {
placeholderSource =
' || nodeType === "Placeholder" && (' +
joinComparisons(placeholderTypes, "node.expectedNode") +
")";
}
return `export function is${type}(node: ?Object, opts?: Object): boolean {
${deprecated || ""}
if (!node) return false;
const nodeType = node.type;
if (nodeType === ${targetType}${aliasSource}${placeholderSource}) {
if (typeof opts === "undefined") {
return true;
} else {
return shallowEqual(node, opts);
}
}
return false;
}
`;
}
module.exports = function generateValidators() {
let output = `// @flow
/*
* This file is auto-generated! Do not modify it directly.
* To re-generate run 'make build'
*/
import shallowEqual from "../../utils/shallowEqual";\n\n`;
Object.keys(definitions.VISITOR_KEYS).forEach(type => {
output += addIsHelper(type);
});
Object.keys(definitions.FLIPPED_ALIAS_KEYS).forEach(type => {
output += addIsHelper(type, definitions.FLIPPED_ALIAS_KEYS[type]);
});
Object.keys(definitions.DEPRECATED_KEYS).forEach(type => {
const newType = definitions.DEPRECATED_KEYS[type];
const deprecated = `console.trace("The node type ${type} has been renamed to ${newType}");`;
output += addIsHelper(type, null, deprecated);
});
return output;
};
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>CKFinder User's Guide</title>
<link href="../../files/other/help.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="../../files/other/help.js"></script>
<meta name="robots" content="noindex, nofollow" />
</head>
<body>
<h1>
Context Menu</h1>
<p>
The <strong>Context Menu</strong> is a pop-up menu that appears whenever you
click a file or a folder inside the CKFinder interface with the right mouse
button, use the <em>Menu/Application</em> key on your keyboard, or the
<em>(Ctrl+)Shift+F10</em> keyboard shortcut. It gives you access to file browser
operations that are available for a given type of object.</p>
<p>The context menu can also be opened by clicking the down arrow icon
(<img src="../../files/images/CKFinder_menu_arrow.png" width="9" height="7" alt="" />)
that is available in some environments or in mobile browsers next the name of the
active folder or in the file boxes, as visible in the figure below.</p>
<p style="text-align: center">
<img src="../../files/images/CKFinder_menu_arrows.png" width="469" height="251" alt="CKFinder context menu with helper arrows" />&nbsp;</p>
<p>Each context menu consists of a series of options (commands) that can be
selected in order to perform a specific operation that they are associated
with.</p>
<p>
<span class="info">Note:</span> Some context menu options may be disabled (and
thus grayed out), depending on CKFinder settings enforced by your system
administrator.</p>
<h2>
Using the Context Menu</h2>
<p>
In order to perform an operation listed in the context menu, click it with the
left mouse button. You can also move up and down the context menu with the
<em>Up</em> and <em>Down Arrow</em> keys or the <em>Shift+Tab</em> and
<em>Tab</em> combinations. Once an option is highlighted, you can activate
it with the <em>Space</em> or <em>Enter</em> button. If an option is grayed out,
it is unavailable unless some pre-conditions are met (e.g. you have system
permissions to make specific changes to a file or folder).</p>
<h2>
Available Menus</h2>
<p>
The menu is context-sensitive which means that the options displayed in it
depend on the object that you select. The following are the menus that you may
encounter while working with a standard CKFinder installation.</p>
<h3>
Folder Context Menu</h3>
<p>
It appears when you click a folder in the <strong><a href="003.html">Folders Pane</a>
</strong> with the right mouse button (or use the keyboard shortcuts described
above):</p>
<p style="text-align: center">
<img src="../../files/images/CKFinder_folder_menu.png" width="148" height="128" alt="CKFinder folder context menu" />&nbsp;</p>
<h3>
File Context Menu</h3>
<p>
It appears when you click a file in the <strong><a href="004.html">Files Pane</a>
</strong> with the right mouse button (or use the keyboard shortcuts described
above):</p>
<p style="text-align: center">
<img src="../../files/images/CKFinder_file_menu.png" width="130" height="156" alt="CKFinder file context menu" />&nbsp;</p>
</body>
</html>
const conversions = require('./conversions');
/*
This function routes a model to all other models.
all functions that are routed have a property `.conversion` attached
to the returned synthetic function. This property is an array
of strings, each with the steps in between the 'from' and 'to'
color models (inclusive).
conversions that are not possible simply are not included.
*/
function buildGraph() {
const graph = {};
// https://jsperf.com/object-keys-vs-for-in-with-closure/3
const models = Object.keys(conversions);
for (let len = models.length, i = 0; i < len; i++) {
graph[models[i]] = {
// http://jsperf.com/1-vs-infinity
// micro-opt, but this is simple.
distance: -1,
parent: null
};
}
return graph;
}
// https://en.wikipedia.org/wiki/Breadth-first_search
function deriveBFS(fromModel) {
const graph = buildGraph();
const queue = [fromModel]; // Unshift -> queue -> pop
graph[fromModel].distance = 0;
while (queue.length) {
const current = queue.pop();
const adjacents = Object.keys(conversions[current]);
for (let len = adjacents.length, i = 0; i < len; i++) {
const adjacent = adjacents[i];
const node = graph[adjacent];
if (node.distance === -1) {
node.distance = graph[current].distance + 1;
node.parent = current;
queue.unshift(adjacent);
}
}
}
return graph;
}
function link(from, to) {
return function (args) {
return to(from(args));
};
}
function wrapConversion(toModel, graph) {
const path = [graph[toModel].parent, toModel];
let fn = conversions[graph[toModel].parent][toModel];
let cur = graph[toModel].parent;
while (graph[cur].parent) {
path.unshift(graph[cur].parent);
fn = link(conversions[graph[cur].parent][cur], fn);
cur = graph[cur].parent;
}
fn.conversion = path;
return fn;
}
module.exports = function (fromModel) {
const graph = deriveBFS(fromModel);
const conversion = {};
const models = Object.keys(graph);
for (let len = models.length, i = 0; i < len; i++) {
const toModel = models[i];
const node = graph[toModel];
if (node.parent === null) {
// No possible conversion, or this node is the source model.
continue;
}
conversion[toModel] = wrapConversion(toModel, graph);
}
return conversion;
};
/** Used to match template delimiters. */
var reEvaluate = /<%([\s\S]+?)%>/g;
module.exports = reEvaluate;
<div class="apiDetail">
<div>
<h2><span>String</span><span class="path">treeNode.</span>name</h2>
<h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
<div class="desc">
<p></p>
<div class="longdesc">
<p>节点名称。</p>
<p class="highlight_red">1、如果不使用 name 属性保存节点名称,请修改 setting.data.key.name </p>
<p>默认值:无</p>
</div>
</div>
<h3>String 格式说明</h3>
<div class="desc">
<p>节点显示的名称字符串,标准 String 即可,所有特殊字符都会被自动转义</p>
</div>
<h3>treeNode 举例</h3>
<h4>1. 设置节点的名称为 test1、test2、test3</h4>
<pre xmlns=""><code>var nodes = [
{ "id":1, "name":"test1"},
{ "id":2, "name":"test2"},
{ "id":3, "name":"test3"}
]</code></pre>
</div>
</div>
\ No newline at end of file
{
"_from": "rimraf@^2.7.1",
"_id": "rimraf@2.7.1",
"_inBundle": false,
"_integrity": "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=",
"_location": "/rimraf",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
"raw": "rimraf@^2.7.1",
"name": "rimraf",
"escapedName": "rimraf",
"rawSpec": "^2.7.1",
"saveSpec": null,
"fetchSpec": "^2.7.1"
},
"_requiredBy": [
"/istanbul-lib-processinfo",
"/istanbul-lib-source-maps",
"/nyc",
"/spawn-wrap",
"/tap"
],
"_resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz",
"_shasum": "35797f13a7fdadc566142c29d4f07ccad483e3ec",
"_spec": "rimraf@^2.7.1",
"_where": "F:\\budongchan_quanji_work\\ODM\\src\\main\\webapp\\static\\jquery-validation\\1.11.0\\node_modules\\tap",
"author": {
"name": "Isaac Z. Schlueter",
"email": "i@izs.me",
"url": "http://blog.izs.me/"
},
"bin": {
"rimraf": "bin.js"
},
"bugs": {
"url": "https://github.com/isaacs/rimraf/issues"
},
"bundleDependencies": false,
"dependencies": {
"glob": "^7.1.3"
},
"deprecated": false,
"description": "A deep deletion module for node (like `rm -rf`)",
"devDependencies": {
"mkdirp": "^0.5.1",
"tap": "^12.1.1"
},
"files": [
"LICENSE",
"README.md",
"bin.js",
"rimraf.js"
],
"homepage": "https://github.com/isaacs/rimraf#readme",
"license": "ISC",
"main": "rimraf.js",
"name": "rimraf",
"repository": {
"type": "git",
"url": "git://github.com/isaacs/rimraf.git"
},
"scripts": {
"postpublish": "git push origin --all; git push origin --tags",
"postversion": "npm publish",
"preversion": "npm test",
"test": "tap test/*.js"
},
"version": "2.7.1"
}
<?xml version="1.0" encoding="utf-8"?>
<LCX SchemaVersion="6.0" Name="E:\A\_work\326\s\VS\TypeScriptTasks\bin\Release\Targets\ProjectItemsSchema.xaml" PsrId="22" FileType="1" SrcCul="en-US" TgtCul="ja-JP" xmlns="http://schemas.microsoft.com/locstudio/2006/6/lcx">
<OwnedComments>
<Cmt Name="Dev" />
<Cmt Name="LcxAdmin" />
<Cmt Name="Rccx" />
</OwnedComments>
<Settings Name="@vsLocTools@\default.lss" Type="Lss" />
<Item ItemId=";&lt;ContentType&gt;" ItemType="0" PsrId="210" Leaf="false">
<Disp Icon="Str" Disp="true" LocTbl="false" />
<Item ItemId="0;typescriptcompile@ContentType@DisplayName" ItemType="47;XML:Attr:DisplayName" PsrId="210" Leaf="true">
<Str Cat="AppData">
<Val><![CDATA[TypeScript file]]></Val>
<Tgt Cat="AppData" Stat="Loc" Orig="New">
<Val><![CDATA[TypeScript ファイル]]></Val>
</Tgt>
</Str>
<Disp Icon="Str" />
</Item>
</Item>
<Item ItemId=";&lt;ItemType&gt;" ItemType="0" PsrId="210" Leaf="false">
<Disp Icon="Str" Disp="true" LocTbl="false" />
<Item ItemId="0;typescriptcompile@ItemType@DisplayName" ItemType="47;XML:Attr:DisplayName" PsrId="210" Leaf="true">
<Str Cat="AppData">
<Val><![CDATA[TypeScript file]]></Val>
<Tgt Cat="AppData" Stat="Loc" Orig="New">
<Val><![CDATA[TypeScript ファイル]]></Val>
</Tgt>
</Str>
<Disp Icon="Str" />
</Item>
</Item>
</LCX>
\ No newline at end of file
var baseSet = require('./_baseSet');
/**
* This method is like `_.set` except that it accepts `customizer` which is
* invoked to produce the objects of `path`. If `customizer` returns `undefined`
* path creation is handled by the method instead. The `customizer` is invoked
* with three arguments: (nsValue, key, nsObject).
*
* **Note:** This method mutates `object`.
*
* @static
* @memberOf _
* @since 4.0.0
* @category Object
* @param {Object} object The object to modify.
* @param {Array|string} path The path of the property to set.
* @param {*} value The value to set.
* @param {Function} [customizer] The function to customize assigned values.
* @returns {Object} Returns `object`.
* @example
*
* var object = {};
*
* _.setWith(object, '[0][1]', 'a', Object);
* // => { '0': { '1': 'a' } }
*/
function setWith(object, path, value, customizer) {
customizer = typeof customizer == 'function' ? customizer : undefined;
return object == null ? object : baseSet(object, path, value, customizer);
}
module.exports = setWith;
This diff could not be displayed because it is too large.
# @babel/helper-split-export-declaration
>
See our website [@babel/helper-split-export-declaration](https://babeljs.io/docs/en/next/babel-helper-split-export-declaration.html) for more information.
## Install
Using npm:
```sh
npm install --save-dev @babel/helper-split-export-declaration
```
or using yarn:
```sh
yarn add @babel/helper-split-export-declaration --dev
```
/**
* Copyright &copy; 2012-2014 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
*/
package com.thinkgem.jeesite.modules.reg.entity.bus;
import org.hibernate.validator.constraints.Length;
import com.thinkgem.jeesite.common.persistence.DataEntity;
/**
* 确权信息维护Entity
* @author xuyg
* @version 2016-04-23
*/
public class RegBusRights extends DataEntity<RegBusRights> {
private static final long serialVersionUID = 1L;
private String bdcdyh; // 不动产单元号
private String ssouyq; // 实所有权业务号
private String stxq; // 实他项权业务号
private String sshiyq; // 实使用权业务号
private String xsouyq; // 虚所有权业务号
private String xtxq; // 虚他项权业务号
private String xshiyq; // 虚使用权业务号
public RegBusRights() {
super();
}
public RegBusRights(String id){
super(id);
}
@Length(min=1, max=28, message="不动产单元号长度必须介于 1 和 28 之间")
public String getBdcdyh() {
return bdcdyh;
}
public void setBdcdyh(String bdcdyh) {
this.bdcdyh = bdcdyh;
}
@Length(min=0, max=20, message="实所有权业务号长度必须介于 0 和 20 之间")
public String getSsouyq() {
return ssouyq;
}
public void setSsouyq(String ssouyq) {
this.ssouyq = ssouyq;
}
@Length(min=0, max=20, message="实他项权业务号长度必须介于 0 和 20 之间")
public String getStxq() {
return stxq;
}
public void setStxq(String stxq) {
this.stxq = stxq;
}
@Length(min=0, max=20, message="实使用权业务号长度必须介于 0 和 20 之间")
public String getSshiyq() {
return sshiyq;
}
public void setSshiyq(String sshiyq) {
this.sshiyq = sshiyq;
}
@Length(min=0, max=20, message="虚所有权业务号长度必须介于 0 和 20 之间")
public String getXsouyq() {
return xsouyq;
}
public void setXsouyq(String xsouyq) {
this.xsouyq = xsouyq;
}
@Length(min=0, max=20, message="虚他项权业务号长度必须介于 0 和 20 之间")
public String getXtxq() {
return xtxq;
}
public void setXtxq(String xtxq) {
this.xtxq = xtxq;
}
@Length(min=0, max=20, message="虚使用权业务号长度必须介于 0 和 20 之间")
public String getXshiyq() {
return xshiyq;
}
public void setXshiyq(String xshiyq) {
this.xshiyq = xshiyq;
}
}
\ No newline at end of file
var baseRest = require('./_baseRest'),
isIterateeCall = require('./_isIterateeCall');
/**
* Creates a function like `_.assign`.
*
* @private
* @param {Function} assigner The function to assign values.
* @returns {Function} Returns the new assigner function.
*/
function createAssigner(assigner) {
return baseRest(function(object, sources) {
var index = -1,
length = sources.length,
customizer = length > 1 ? sources[length - 1] : undefined,
guard = length > 2 ? sources[2] : undefined;
customizer = (assigner.length > 3 && typeof customizer == 'function')
? (length--, customizer)
: undefined;
if (guard && isIterateeCall(sources[0], sources[1], guard)) {
customizer = length < 3 ? undefined : customizer;
length = 1;
}
object = Object(object);
while (++index < length) {
var source = sources[index];
if (source) {
assigner(object, source, index, customizer);
}
}
return object;
});
}
module.exports = createAssigner;
'use strict';
const processFn = (fn, options) => function (...args) {
const P = options.promiseModule;
return new P((resolve, reject) => {
if (options.multiArgs) {
args.push((...result) => {
if (options.errorFirst) {
if (result[0]) {
reject(result);
} else {
result.shift();
resolve(result);
}
} else {
resolve(result);
}
});
} else if (options.errorFirst) {
args.push((error, result) => {
if (error) {
reject(error);
} else {
resolve(result);
}
});
} else {
args.push(resolve);
}
fn.apply(this, args);
});
};
module.exports = (input, options) => {
options = Object.assign({
exclude: [/.+(Sync|Stream)$/],
errorFirst: true,
promiseModule: Promise
}, options);
const objType = typeof input;
if (!(input !== null && (objType === 'object' || objType === 'function'))) {
throw new TypeError(`Expected \`input\` to be a \`Function\` or \`Object\`, got \`${input === null ? 'null' : objType}\``);
}
const filter = key => {
const match = pattern => typeof pattern === 'string' ? key === pattern : pattern.test(key);
return options.include ? options.include.some(match) : !options.exclude.some(match);
};
let ret;
if (objType === 'function') {
ret = function (...args) {
return options.excludeMain ? input(...args) : processFn(input, options).apply(this, args);
};
} else {
ret = Object.create(Object.getPrototypeOf(input));
}
for (const key in input) { // eslint-disable-line guard-for-in
const property = input[key];
ret[key] = typeof property === 'function' && filter(key) ? processFn(property, options) : property;
}
return ret;
};
.gitmodules
deps
docs
Makefile
node_modules
test
tools
coverage
<?xml version="1.0" encoding="utf-8"?>
<LCX SchemaVersion="6.0" Name="E:\A\_work\326\s\VS\TypeScriptTasks\bin\Release\Targets\ProjectItemsSchema.xaml" PsrId="22" FileType="1" SrcCul="en-US" TgtCul="fr-FR" xmlns="http://schemas.microsoft.com/locstudio/2006/6/lcx">
<OwnedComments>
<Cmt Name="Dev" />
<Cmt Name="LcxAdmin" />
<Cmt Name="Rccx" />
</OwnedComments>
<Settings Name="@vsLocTools@\default.lss" Type="Lss" />
<Item ItemId=";&lt;ContentType&gt;" ItemType="0" PsrId="210" Leaf="false">
<Disp Icon="Str" Disp="true" LocTbl="false" />
<Item ItemId="0;typescriptcompile@ContentType@DisplayName" ItemType="47;XML:Attr:DisplayName" PsrId="210" Leaf="true">
<Str Cat="AppData">
<Val><![CDATA[TypeScript file]]></Val>
<Tgt Cat="AppData" Stat="Loc" Orig="New">
<Val><![CDATA[Fichier TypeScript]]></Val>
</Tgt>
</Str>
<Disp Icon="Str" />
</Item>
</Item>
<Item ItemId=";&lt;ItemType&gt;" ItemType="0" PsrId="210" Leaf="false">
<Disp Icon="Str" Disp="true" LocTbl="false" />
<Item ItemId="0;typescriptcompile@ItemType@DisplayName" ItemType="47;XML:Attr:DisplayName" PsrId="210" Leaf="true">
<Str Cat="AppData">
<Val><![CDATA[TypeScript file]]></Val>
<Tgt Cat="AppData" Stat="Loc" Orig="New">
<Val><![CDATA[Fichier TypeScript]]></Val>
</Tgt>
</Str>
<Disp Icon="Str" />
</Item>
</Item>
</LCX>
\ No newline at end of file
/*! *****************************************************************************
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABLITY OR NON-INFRINGEMENT.
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */
/// <reference no-default-lib="true"/>
/// <reference lib="es2018.asynciterable" />
interface AsyncGenerator<T = unknown, TReturn = any, TNext = unknown> extends AsyncIterator<T, TReturn, TNext> {
// NOTE: 'next' is defined using a tuple to ensure we report the correct assignability errors in all places.
next(...args: [] | [TNext]): Promise<IteratorResult<T, TReturn>>;
return(value: TReturn | PromiseLike<TReturn>): Promise<IteratorResult<T, TReturn>>;
throw(e: any): Promise<IteratorResult<T, TReturn>>;
[Symbol.asyncIterator](): AsyncGenerator<T, TReturn, TNext>;
}
interface AsyncGeneratorFunction {
/**
* Creates a new AsyncGenerator object.
* @param args A list of arguments the function accepts.
*/
new (...args: any[]): AsyncGenerator;
/**
* Creates a new AsyncGenerator object.
* @param args A list of arguments the function accepts.
*/
(...args: any[]): AsyncGenerator;
/**
* The length of the arguments.
*/
readonly length: number;
/**
* Returns the name of the function.
*/
readonly name: string;
/**
* A reference to the prototype.
*/
readonly prototype: AsyncGenerator;
}
interface AsyncGeneratorFunctionConstructor {
/**
* Creates a new AsyncGenerator function.
* @param args A list of arguments the function accepts.
*/
new (...args: string[]): AsyncGeneratorFunction;
/**
* Creates a new AsyncGenerator function.
* @param args A list of arguments the function accepts.
*/
(...args: string[]): AsyncGeneratorFunction;
/**
* The length of the arguments.
*/
readonly length: number;
/**
* Returns the name of the function.
*/
readonly name: string;
/**
* A reference to the prototype.
*/
readonly prototype: AsyncGeneratorFunction;
}
/**
* The base implementation of `_.isNaN` without support for number objects.
*
* @private
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.
*/
function baseIsNaN(value) {
return value !== value;
}
module.exports = baseIsNaN;
module.exports = function(size) {
return new LruCache(size)
}
function LruCache(size) {
this.capacity = size | 0
this.map = Object.create(null)
this.list = new DoublyLinkedList()
}
LruCache.prototype.get = function(key) {
var node = this.map[key]
if (node == null) return undefined
this.used(node)
return node.val
}
LruCache.prototype.set = function(key, val) {
var node = this.map[key]
if (node != null) {
node.val = val
} else {
if (!this.capacity) this.prune()
if (!this.capacity) return false
node = new DoublyLinkedNode(key, val)
this.map[key] = node
this.capacity--
}
this.used(node)
return true
}
LruCache.prototype.used = function(node) {
this.list.moveToFront(node)
}
LruCache.prototype.prune = function() {
var node = this.list.pop()
if (node != null) {
delete this.map[node.key]
this.capacity++
}
}
function DoublyLinkedList() {
this.firstNode = null
this.lastNode = null
}
DoublyLinkedList.prototype.moveToFront = function(node) {
if (this.firstNode == node) return
this.remove(node)
if (this.firstNode == null) {
this.firstNode = node
this.lastNode = node
node.prev = null
node.next = null
} else {
node.prev = null
node.next = this.firstNode
node.next.prev = node
this.firstNode = node
}
}
DoublyLinkedList.prototype.pop = function() {
var lastNode = this.lastNode
if (lastNode != null) {
this.remove(lastNode)
}
return lastNode
}
DoublyLinkedList.prototype.remove = function(node) {
if (this.firstNode == node) {
this.firstNode = node.next
} else if (node.prev != null) {
node.prev.next = node.next
}
if (this.lastNode == node) {
this.lastNode = node.prev
} else if (node.next != null) {
node.next.prev = node.prev
}
}
function DoublyLinkedNode(key, val) {
this.key = key
this.val = val
this.prev = null
this.next = null
}
This diff could not be displayed because it is too large.
/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
* @requires OpenLayers/Format/XML/VersionedOGC.js
*/
/**
* Class: OpenLayers.Format.WPSCapabilities
* Read WPS Capabilities.
*
* Inherits from:
* - <OpenLayers.Format.XML.VersionedOGC>
*/
OpenLayers.Format.WPSCapabilities = OpenLayers.Class(OpenLayers.Format.XML.VersionedOGC, {
/**
* APIProperty: defaultVersion
* {String} Version number to assume if none found. Default is "1.0.0".
*/
defaultVersion: "1.0.0",
/**
* Constructor: OpenLayers.Format.WPSCapabilities
* Create a new parser for WPS Capabilities.
*
* Parameters:
* options - {Object} An optional object whose properties will be set on
* this instance.
*/
/**
* APIMethod: read
* Read capabilities data from a string, and return information about
* the service.
*
* Parameters:
* data - {String} or {DOMElement} data to read/parse.
*
* Returns:
* {Object} Info about the WPS
*/
CLASS_NAME: "OpenLayers.Format.WPSCapabilities"
});
/**
* Copyright &copy; 2015-2018 ODM All rights reserved.
*/
package com.thinkgem.jeesite.common.persistence.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.springframework.stereotype.Component;
/**
* 标识MyBatis的DAO,方便{@link org.mybatis.spring.mapper.MapperScannerConfigurer}的扫描。
* @author thinkgem
* @version 2013-8-28
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Documented
@Component
public @interface MyBatisDao {
/**
* The value may indicate a suggestion for a logical component name,
* to be turned into a Spring bean in case of an autodetected component.
* @return the suggested component name, if any
*/
String value() default "";
}
\ No newline at end of file
/*
Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
(function()
{
var guardElements = { table:1, ul:1, ol:1, blockquote:1, div:1 },
directSelectionGuardElements = {},
// All guard elements which can have a direction applied on them.
allGuardElements = {};
CKEDITOR.tools.extend( directSelectionGuardElements, guardElements, { tr:1, p:1, div:1, li:1 } );
CKEDITOR.tools.extend( allGuardElements, directSelectionGuardElements, { td:1 } );
function onSelectionChange( e )
{
setToolbarStates( e );
handleMixedDirContent( e );
}
function setToolbarStates( evt )
{
var editor = evt.editor,
path = evt.data.path;
if ( editor.readOnly )
return;
var useComputedState = editor.config.useComputedState,
selectedElement;
useComputedState = useComputedState === undefined || useComputedState;
// We can use computedState provided by the browser or traverse parents manually.
if ( !useComputedState )
selectedElement = getElementForDirection( path.lastElement );
selectedElement = selectedElement || path.block || path.blockLimit;
// If we're having BODY here, user probably done CTRL+A, let's try to get the enclosed node, if any.
if ( selectedElement.is( 'body' ) )
{
var enclosedNode = editor.getSelection().getRanges()[ 0 ].getEnclosedNode();
enclosedNode && enclosedNode.type == CKEDITOR.NODE_ELEMENT && ( selectedElement = enclosedNode );
}
if ( !selectedElement )
return;
var selectionDir = useComputedState ?
selectedElement.getComputedStyle( 'direction' ) :
selectedElement.getStyle( 'direction' ) || selectedElement.getAttribute( 'dir' );
editor.getCommand( 'bidirtl' ).setState( selectionDir == 'rtl' ? CKEDITOR.TRISTATE_ON : CKEDITOR.TRISTATE_OFF );
editor.getCommand( 'bidiltr' ).setState( selectionDir == 'ltr' ? CKEDITOR.TRISTATE_ON : CKEDITOR.TRISTATE_OFF );
}
function handleMixedDirContent( evt )
{
var editor = evt.editor,
directionNode = evt.data.path.block || evt.data.path.blockLimit;
editor.fire( 'contentDirChanged', directionNode ? directionNode.getComputedStyle( 'direction' ) : editor.lang.dir );
}
/**
* Returns element with possibility of applying the direction.
* @param node
*/
function getElementForDirection( node )
{
while ( node && !( node.getName() in allGuardElements || node.is( 'body' ) ) )
{
var parent = node.getParent();
if ( !parent )
break;
node = parent;
}
return node;
}
function switchDir( element, dir, editor, database )
{
if ( element.isReadOnly() )
return;
// Mark this element as processed by switchDir.
CKEDITOR.dom.element.setMarker( database, element, 'bidi_processed', 1 );
// Check whether one of the ancestors has already been styled.
var parent = element;
while ( ( parent = parent.getParent() ) && !parent.is( 'body' ) )
{
if ( parent.getCustomData( 'bidi_processed' ) )
{
// Ancestor style must dominate.
element.removeStyle( 'direction' );
element.removeAttribute( 'dir' );
return;
}
}
var useComputedState = ( 'useComputedState' in editor.config ) ? editor.config.useComputedState : 1;
var elementDir = useComputedState ? element.getComputedStyle( 'direction' )
: element.getStyle( 'direction' ) || element.hasAttribute( 'dir' );
// Stop if direction is same as present.
if ( elementDir == dir )
return;
// Clear direction on this element.
element.removeStyle( 'direction' );
// Do the second check when computed state is ON, to check
// if we need to apply explicit direction on this element.
if ( useComputedState )
{
element.removeAttribute( 'dir' );
if ( dir != element.getComputedStyle( 'direction' ) )
element.setAttribute( 'dir', dir );
}
else
// Set new direction for this element.
element.setAttribute( 'dir', dir );
editor.forceNextSelectionCheck();
return;
}
function getFullySelected( range, elements, enterMode )
{
var ancestor = range.getCommonAncestor( false, true );
range = range.clone();
range.enlarge( enterMode == CKEDITOR.ENTER_BR ?
CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS
: CKEDITOR.ENLARGE_BLOCK_CONTENTS );
if ( range.checkBoundaryOfElement( ancestor, CKEDITOR.START )
&& range.checkBoundaryOfElement( ancestor, CKEDITOR.END ) )
{
var parent;
while ( ancestor && ancestor.type == CKEDITOR.NODE_ELEMENT
&& ( parent = ancestor.getParent() )
&& parent.getChildCount() == 1
&& !( ancestor.getName() in elements ) )
ancestor = parent;
return ancestor.type == CKEDITOR.NODE_ELEMENT
&& ( ancestor.getName() in elements )
&& ancestor;
}
}
function bidiCommand( dir )
{
return function( editor )
{
var selection = editor.getSelection(),
enterMode = editor.config.enterMode,
ranges = selection.getRanges();
if ( ranges && ranges.length )
{
var database = {};
// Creates bookmarks for selection, as we may split some blocks.
var bookmarks = selection.createBookmarks();
var rangeIterator = ranges.createIterator(),
range,
i = 0;
while ( ( range = rangeIterator.getNextRange( 1 ) ) )
{
// Apply do directly selected elements from guardElements.
var selectedElement = range.getEnclosedNode();
// If this is not our element of interest, apply to fully selected elements from guardElements.
if ( !selectedElement || selectedElement
&& !( selectedElement.type == CKEDITOR.NODE_ELEMENT && selectedElement.getName() in directSelectionGuardElements )
)
selectedElement = getFullySelected( range, guardElements, enterMode );
selectedElement && switchDir( selectedElement, dir, editor, database );
var iterator,
block;
// Walker searching for guardElements.
var walker = new CKEDITOR.dom.walker( range );
var start = bookmarks[ i ].startNode,
end = bookmarks[ i++ ].endNode;
walker.evaluator = function( node )
{
return !! ( node.type == CKEDITOR.NODE_ELEMENT
&& node.getName() in guardElements
&& !( node.getName() == ( enterMode == CKEDITOR.ENTER_P ? 'p' : 'div' )
&& node.getParent().type == CKEDITOR.NODE_ELEMENT
&& node.getParent().getName() == 'blockquote' )
// Element must be fully included in the range as well. (#6485).
&& node.getPosition( start ) & CKEDITOR.POSITION_FOLLOWING
&& ( ( node.getPosition( end ) & CKEDITOR.POSITION_PRECEDING + CKEDITOR.POSITION_CONTAINS ) == CKEDITOR.POSITION_PRECEDING ) );
};
while ( ( block = walker.next() ) )
switchDir( block, dir, editor, database );
iterator = range.createIterator();
iterator.enlargeBr = enterMode != CKEDITOR.ENTER_BR;
while ( ( block = iterator.getNextParagraph( enterMode == CKEDITOR.ENTER_P ? 'p' : 'div' ) ) )
switchDir( block, dir, editor, database );
}
CKEDITOR.dom.element.clearAllMarkers( database );
editor.forceNextSelectionCheck();
// Restore selection position.
selection.selectBookmarks( bookmarks );
editor.focus();
}
};
}
CKEDITOR.plugins.add( 'bidi',
{
requires : [ 'styles', 'button' ],
init : function( editor )
{
// All buttons use the same code to register. So, to avoid
// duplications, let's use this tool function.
var addButtonCommand = function( buttonName, buttonLabel, commandName, commandExec )
{
editor.addCommand( commandName, new CKEDITOR.command( editor, { exec : commandExec }) );
editor.ui.addButton( buttonName,
{
label : buttonLabel,
command : commandName
});
};
var lang = editor.lang.bidi;
addButtonCommand( 'BidiLtr', lang.ltr, 'bidiltr', bidiCommand( 'ltr' ) );
addButtonCommand( 'BidiRtl', lang.rtl, 'bidirtl', bidiCommand( 'rtl' ) );
editor.on( 'selectionChange', onSelectionChange );
editor.on( 'contentDom', function()
{
editor.document.on( 'dirChanged', function( evt )
{
editor.fire( 'dirChanged',
{
node : evt.data,
dir : evt.data.getDirection( 1 )
} );
});
});
}
});
// If the element direction changed, we need to switch the margins of
// the element and all its children, so it will get really reflected
// like a mirror. (#5910)
function isOffline( el )
{
var html = el.getDocument().getBody().getParent();
while ( el )
{
if ( el.equals( html ) )
return false;
el = el.getParent();
}
return true;
}
function dirChangeNotifier( org )
{
var isAttribute = org == elementProto.setAttribute,
isRemoveAttribute = org == elementProto.removeAttribute,
dirStyleRegexp = /\bdirection\s*:\s*(.*?)\s*(:?$|;)/;
return function( name, val )
{
if ( !this.getDocument().equals( CKEDITOR.document ) )
{
var orgDir;
if ( ( name == ( isAttribute || isRemoveAttribute ? 'dir' : 'direction' ) ||
name == 'style' && ( isRemoveAttribute || dirStyleRegexp.test( val ) ) ) && !isOffline( this ) )
{
orgDir = this.getDirection( 1 );
var retval = org.apply( this, arguments );
if ( orgDir != this.getDirection( 1 ) )
{
this.getDocument().fire( 'dirChanged', this );
return retval;
}
}
}
return org.apply( this, arguments );
};
}
var elementProto = CKEDITOR.dom.element.prototype,
methods = [ 'setStyle', 'removeStyle', 'setAttribute', 'removeAttribute' ];
for ( var i = 0; i < methods.length; i++ )
elementProto[ methods[ i ] ] = CKEDITOR.tools.override( elementProto[ methods [ i ] ], dirChangeNotifier );
})();
/**
* Fired when the language direction of an element is changed
* @name CKEDITOR.editor#dirChanged
* @event
* @param {CKEDITOR.editor} editor This editor instance.
* @param {Object} eventData.node The element that is being changed.
* @param {String} eventData.dir The new direction.
*/
/**
* Fired when the language direction in the specific cursor position is changed
* @name CKEDITOR.editor#contentDirChanged
* @event
* @param {String} eventData The direction in the current position.
*/
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery custom scrollbar demo</title>
<!-- style for demo and examples -->
<style>
body{margin:0; padding:0; color:#eee; background:#222; font-family:Verdana,Geneva,sans-serif; font-size:13px; line-height:20px;}
a:link,a:visited,a:hover{color:inherit;}
h1{font-family:Georgia,serif; font-size:18px; font-style:italic; margin:40px; color:#26beff;}
p{margin:0 0 20px 0;}
hr{height:0; border:none; border-bottom:1px solid rgba(255,255,255,0.13); border-top:1px solid rgba(0,0,0,1); margin:9px 10px; clear:both;}
.links{margin:10px;}
.links a{display:inline-block; padding:3px 15px; margin:7px 10px; background:#444; text-decoration:none; -webkit-border-radius:15px; -moz-border-radius:15px; border-radius:15px;}
.links a:hover{background:#eb3755; color:#fff;}
.output{margin:20px 40px;}
code{color:#5b70ff;}
a[rel='toggle-buttons-scroll-type']{display:inline-block; text-decoration:none; padding:3px 15px; -webkit-border-radius:15px; -moz-border-radius:15px; border-radius:15px; background:#000; margin:5px 20px 5px 0;}
.content{margin:40px; width:910px; height:500px; overflow:hidden;}
#content_1{width:910px;height:480px;}
.grid{table-layout:fixed;border-collapse:separate;border-style:none;border-spacing:0;width:0;}
.grid th {overflow: hidden;white-space: nowrap;padding: 0;text-align: center;vertical-align: middle;width: 90px;max-width: 90px;font-size: 11px;border: 1px solid #cbcbcb;border-width: 0 1px 1px 0;background-color: #f3f3f3;color: #222;}
.grid td {overflow: hidden;white-space: nowrap;width: 90px;max-width: 90px;height: 16px;line-height: 16px;font-size: 13px;border: 1px solid #cbcbcb;border-width: 0 1px 1px 0;text-align: right;vertical-align: middle;padding: 1px 2px;background-color: #fff;color: #000;}
.grid th:first-child, .grid td:first-child {width: 148px;text-align: left;background-color: #f3f3f3;color: #222;padding-left: 4px;}
</style>
<!-- Custom scrollbars CSS -->
<link href="jquery.mCustomScrollbar.css" rel="stylesheet" />
</head>
<body>
<p class="links">
<a href="http://manos.malihu.gr">malihu</a>
<a href="http://manos.malihu.gr/jquery-custom-content-scroller">Plugin home</a>
<a href="complete_examples.html">Plugin demo</a>
</p>
<hr />
<h1>Example of snapping to a grid while scrolling</h1>
<!-- content block -->
<div class="content">
<table class="grid">
<thead>
<tr>
<th>A</th>
<th>B</th>
<th>C</th>
<th>D</th>
<th>E</th>
<th>F</th>
<th>G</th>
<th>H</th>
<th>I</th>
</tr>
</thead>
</table>
<div id="content_1">
<table id="grid" class="grid">
<thead>
<tr class="shim">
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
<hr />
<p>&nbsp;</p>
<!-- Google CDN jQuery with fallback to local -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>!window.jQuery && document.write(unescape('%3Cscript src="js/minified/jquery-1.9.1.min.js"%3E%3C/script%3E'))</script>
<!-- custom scrollbars plugin -->
<script src="jquery.mCustomScrollbar.js"></script>
<script>
(function($){
$(window).load(function(){
var $grid_body = $('#grid tbody'), html;
for (var i = 0; i < 100; i++) {
var label = String.fromCharCode("A".charCodeAt(0) + (i / 26) | 0) +
String.fromCharCode("A".charCodeAt(0) + (i % 26));
html = "<tr><td>" + label + "</td>";
for (var j = 0; j < 9; j++) {
html += "<td>" + Math.round(Math.random() * 100) + "</td>";
}
html += "</tr>";
$grid_body.append(html);
}
$("#content_1").mCustomScrollbar({
theme:"light",
scrollInertia:0,
mouseWheelPixels:19,
snapAmount:19,
snapOffset: 1,
scrollButtons:{
enable:true,
scrollType:"pixels",
scrollAmount:19
},
});
});
})(jQuery);
</script>
</body>
</html>
\ No newline at end of file
/**
* Copyright &copy; 2015-2018 ODM All rights reserved.
*/
package com.thinkgem.jeesite.modules.sys.service;
import java.util.List;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.thinkgem.jeesite.common.service.TreeService;
import com.thinkgem.jeesite.modules.sys.dao.OfficeDao;
import com.thinkgem.jeesite.modules.sys.entity.Office;
import com.thinkgem.jeesite.modules.sys.utils.UserUtils;
/**
* 机构Service
* @author ThinkGem
* @version 2014-05-16
*/
@Service
@Transactional(readOnly = true)
public class OfficeService extends TreeService<OfficeDao, Office> {
public List<Office> findAll(){
return UserUtils.getOfficeList();
}
public List<Office> findList(Boolean isAll){
if (isAll != null && isAll){
return UserUtils.getOfficeAllList();
}else{
return UserUtils.getOfficeList();
}
}
@Transactional(readOnly = true)
public List<Office> findList(Office office){
office.setParentIds(office.getParentIds()+"%");
return dao.findByParentIdsLike(office);
}
@Transactional(readOnly = false)
public void save(Office office) {
super.save(office);
UserUtils.removeCache(UserUtils.CACHE_OFFICE_LIST);
}
@Transactional(readOnly = false)
public void delete(Office office) {
super.delete(office);
UserUtils.removeCache(UserUtils.CACHE_OFFICE_LIST);
}
}
'use strict';
var isWindows = process.platform === 'win32';
// Regex to split a windows path into three parts: [*, device, slash,
// tail] windows-only
var splitDeviceRe =
/^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/;
// Regex to split the tail part of the above into [*, dir, basename, ext]
var splitTailRe =
/^([\s\S]*?)((?:\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))(?:[\\\/]*)$/;
var win32 = {};
// Function to split a filename into [root, dir, basename, ext]
function win32SplitPath(filename) {
// Separate device+slash from tail
var result = splitDeviceRe.exec(filename),
device = (result[1] || '') + (result[2] || ''),
tail = result[3] || '';
// Split the tail into dir, basename and extension
var result2 = splitTailRe.exec(tail),
dir = result2[1],
basename = result2[2],
ext = result2[3];
return [device, dir, basename, ext];
}
win32.parse = function(pathString) {
if (typeof pathString !== 'string') {
throw new TypeError(
"Parameter 'pathString' must be a string, not " + typeof pathString
);
}
var allParts = win32SplitPath(pathString);
if (!allParts || allParts.length !== 4) {
throw new TypeError("Invalid path '" + pathString + "'");
}
return {
root: allParts[0],
dir: allParts[0] + allParts[1].slice(0, -1),
base: allParts[2],
ext: allParts[3],
name: allParts[2].slice(0, allParts[2].length - allParts[3].length)
};
};
// Split a filename into [root, dir, basename, ext], unix version
// 'root' is just a slash, or nothing.
var splitPathRe =
/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
var posix = {};
function posixSplitPath(filename) {
return splitPathRe.exec(filename).slice(1);
}
posix.parse = function(pathString) {
if (typeof pathString !== 'string') {
throw new TypeError(
"Parameter 'pathString' must be a string, not " + typeof pathString
);
}
var allParts = posixSplitPath(pathString);
if (!allParts || allParts.length !== 4) {
throw new TypeError("Invalid path '" + pathString + "'");
}
allParts[1] = allParts[1] || '';
allParts[2] = allParts[2] || '';
allParts[3] = allParts[3] || '';
return {
root: allParts[0],
dir: allParts[0] + allParts[1].slice(0, -1),
base: allParts[2],
ext: allParts[3],
name: allParts[2].slice(0, allParts[2].length - allParts[3].length)
};
};
if (isWindows)
module.exports = win32.parse;
else /* posix */
module.exports = posix.parse;
module.exports.posix = posix.parse;
module.exports.win32 = win32.parse;
{
"_from": "flow-remove-types@^2.112.0",
"_id": "flow-remove-types@2.143.1",
"_inBundle": false,
"_integrity": "sha1-4gXULemakdHyjYOzlO5zknNoJY8=",
"_location": "/flow-remove-types",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
"raw": "flow-remove-types@^2.112.0",
"name": "flow-remove-types",
"escapedName": "flow-remove-types",
"rawSpec": "^2.112.0",
"saveSpec": null,
"fetchSpec": "^2.112.0"
},
"_requiredBy": [
"/tap"
],
"_resolved": "https://registry.npm.taobao.org/flow-remove-types/download/flow-remove-types-2.143.1.tgz",
"_shasum": "e205d42de99a91d1f28d83b394ee73927368258f",
"_spec": "flow-remove-types@^2.112.0",
"_where": "F:\\budongchan_quanji_work\\ODM\\src\\main\\webapp\\static\\jquery-validation\\1.11.0\\node_modules\\tap",
"author": {
"name": "Flow Team",
"email": "flow@fb.com"
},
"bin": {
"flow-remove-types": "flow-remove-types",
"flow-node": "flow-node"
},
"bugs": {
"url": "https://github.com/facebook/flow/issues"
},
"bundleDependencies": false,
"contributors": [
{
"name": "Lee Byron",
"email": "lee@leebyron.com",
"url": "http://leebyron.com/"
}
],
"dependencies": {
"flow-parser": "^0.143.1",
"pirates": "^3.0.2",
"vlq": "^0.2.1"
},
"deprecated": false,
"description": "Removes Flow type annotations from JavaScript files with speed and simplicity.",
"engines": {
"node": ">=4"
},
"files": [
"index.js",
"register.js",
"flow-remove-types",
"flow-node",
"LICENSE"
],
"homepage": "https://flow.org",
"keywords": [
"flow",
"flowtype",
"compiler",
"transpiler",
"transform",
"es6"
],
"license": "MIT",
"main": "index.js",
"name": "flow-remove-types",
"repository": {
"type": "git",
"url": "git+https://github.com/facebook/flow.git"
},
"scripts": {
"test": "./test.sh",
"test-update": "./test-update.sh"
},
"version": "2.143.1"
}
/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
* @requires OpenLayers/Protocol/WFS/v1.js
* @requires OpenLayers/Format/WFST/v1_1_0.js
*/
/**
* Class: OpenLayers.Protocol.WFS.v1_1_0
* A WFS v1.1.0 protocol for vector layers. Create a new instance with the
* <OpenLayers.Protocol.WFS.v1_1_0> constructor.
*
* Differences from the v1.0.0 protocol:
* - uses Filter Encoding 1.1.0 instead of 1.0.0
* - uses GML 3 instead of 2 if no format is provided
*
* Inherits from:
* - <OpenLayers.Protocol.WFS.v1>
*/
OpenLayers.Protocol.WFS.v1_1_0 = OpenLayers.Class(OpenLayers.Protocol.WFS.v1, {
/**
* Property: version
* {String} WFS version number.
*/
version: "1.1.0",
/**
* Constructor: OpenLayers.Protocol.WFS.v1_1_0
* A class for giving layers WFS v1.1.0 protocol.
*
* Parameters:
* options - {Object} Optional object whose properties will be set on the
* instance.
*
* Valid options properties:
* featureType - {String} Local (without prefix) feature typeName (required).
* featureNS - {String} Feature namespace (optional).
* featurePrefix - {String} Feature namespace alias (optional - only used
* if featureNS is provided). Default is 'feature'.
* geometryName - {String} Name of geometry attribute. Default is 'the_geom'.
* outputFormat - {String} Optional output format to use for WFS GetFeature
* requests. This can be any format advertized by the WFS's
* GetCapabilities response. If set, an appropriate readFormat also
* has to be provided, unless outputFormat is GML3, GML2 or JSON.
* readFormat - {<OpenLayers.Format>} An appropriate format parser if
* outputFormat is none of GML3, GML2 or JSON.
*/
initialize: function(options) {
OpenLayers.Protocol.WFS.v1.prototype.initialize.apply(this, arguments);
if (this.outputFormat && !this.readFormat) {
if (this.outputFormat.toLowerCase() == "gml2") {
this.readFormat = new OpenLayers.Format.GML.v2({
featureType: this.featureType,
featureNS: this.featureNS,
geometryName: this.geometryName
});
} else if (this.outputFormat.toLowerCase() == "json") {
this.readFormat = new OpenLayers.Format.GeoJSON();
}
}
},
CLASS_NAME: "OpenLayers.Protocol.WFS.v1_1_0"
});
function foo() {
var a = 3; return a > 2 ? true : false;
}
# It Opens Stuff
That is, in your desktop environment. This will make *actual windows pop up*, with stuff in them:
```bash
npm install opener -g
opener http://google.com
opener ./my-file.txt
opener firefox
opener npm run lint
```
Also if you want to use it programmatically you can do that too:
```js
var opener = require("opener");
opener("http://google.com");
opener("./my-file.txt");
opener("firefox");
opener("npm run lint");
```
Plus, it returns the child process created, so you can do things like let your script exit while the window stays open:
```js
var editor = opener("documentation.odt");
editor.unref();
// These other unrefs may be necessary if your OS's opener process
// exits before the process it started is complete.
editor.stdin.unref();
editor.stdout.unref();
editor.stderr.unref();
```
## Use It for Good
Like opening the user's browser with a test harness in your package's test script:
```json
{
"scripts": {
"test": "opener ./test/runner.html"
},
"devDependencies": {
"opener": "*"
}
}
```
## Why
Because Windows has `start`, Macs have `open`, and *nix has `xdg-open`. At least [according to some person on StackOverflow](http://stackoverflow.com/q/1480971/3191). And I like things that work on all three. Like Node.js. And Opener.
module['exports'] = {
silly: 'rainbow',
input: 'black',
verbose: 'cyan',
prompt: 'grey',
info: 'green',
data: 'grey',
help: 'cyan',
warn: 'yellow',
debug: 'blue',
error: 'red'
};
\ No newline at end of file
/*!
* Nodeunit
* Copyright (c) 2010 Caolan McMahon
* MIT Licensed
*/
/**
* Module dependencies
*/
var nodeunit = require('../nodeunit'),
utils = require('../utils'),
fs = require('fs'),
path = require('path'),
AssertionError = require('assert').AssertionError;
/**
* Reporter info string
*/
exports.info = "Pretty minimal output";
/**
* Run all tests within each module, reporting the results to the command-line.
*
* @param {Array} files
* @api public
*/
exports.run = function (files, options, callback) {
if (!options) {
// load default options
var content = fs.readFileSync(
__dirname + '/../../bin/nodeunit.json', 'utf8'
);
options = JSON.parse(content);
}
var red = function (str) {
return options.error_prefix + str + options.error_suffix;
};
var green = function (str) {
return options.ok_prefix + str + options.ok_suffix;
};
var magenta = function (str) {
return options.assertion_prefix + str + options.assertion_suffix;
};
var bold = function (str) {
return options.bold_prefix + str + options.bold_suffix;
};
var start = new Date().getTime();
var opts = {
testspec: options.testspec,
testFullSpec: options.testFullSpec,
moduleStart: function (name) {
process.stdout.write(bold(name) + ': ');
},
moduleDone: function (name, assertions) {
console.log('');
if (assertions.failures()) {
assertions.forEach(function (a) {
if (a.failed()) {
a = utils.betterErrors(a);
if (a.error instanceof AssertionError && a.message) {
console.log(
'Assertion in test ' + bold(a.testname) + ': ' +
magenta(a.message)
);
}
console.log(a.error.stack + '\n');
}
});
}
},
testStart: function () {
},
testDone: function (name, assertions) {
if (!assertions.failures()) {
process.stdout.write('.');
}
else {
process.stdout.write(red('F'));
assertions.forEach(function (assertion) {
assertion.testname = name;
});
}
},
done: function (assertions) {
var end = new Date().getTime();
var duration = end - start;
if (assertions.failures()) {
console.log(
'\n' + bold(red('FAILURES: ')) + assertions.failures() +
'/' + assertions.length + ' assertions failed (' +
assertions.duration + 'ms)'
);
}
else {
console.log(
'\n' + bold(green('OK: ')) + assertions.length +
' assertions (' + assertions.duration + 'ms)'
);
}
if (callback) callback(assertions.failures() ? new Error('We have got test failures.') : undefined);
}
};
if (files && files.length) {
var paths = files.map(function (p) {
return path.join(process.cwd(), p);
});
nodeunit.runFiles(paths, opts);
} else {
nodeunit.runModules(files,opts);
}
};
/**
* Copyright &copy; 2015-2018 ODM All rights reserved.
*/
package com.thinkgem.jeesite.common.persistence.dialect.db;
import com.thinkgem.jeesite.common.persistence.dialect.Dialect;
/**
* Oracle的方言实现
* @author poplar.yfyang
* @version 1.0 2010-10-10 下午12:31
* @since JDK 1.5
*/
public class OracleDialect implements Dialect {
@Override
public boolean supportsLimit() {
return true;
}
@Override
public String getLimitString(String sql, int offset, int limit) {
return getLimitString(sql, offset, Integer.toString(offset), Integer.toString(limit));
}
/**
* 将sql变成分页sql语句,提供将offset及limit使用占位符号(placeholder)替换.
* <pre>
* 如mysql
* dialect.getLimitString("select * from user", 12, ":offset",0,":limit") 将返回
* select * from user limit :offset,:limit
* </pre>
*
* @param sql 实际SQL语句
* @param offset 分页开始纪录条数
* @param offsetPlaceholder 分页开始纪录条数-占位符号
* @param limitPlaceholder 分页纪录条数占位符号
* @return 包含占位符的分页sql
*/
public String getLimitString(String sql, int offset, String offsetPlaceholder, String limitPlaceholder) {
sql = sql.trim();
boolean isForUpdate = false;
if (sql.toLowerCase().endsWith(" for update")) {
sql = sql.substring(0, sql.length() - 11);
isForUpdate = true;
}
StringBuilder pagingSelect = new StringBuilder(sql.length() + 100);
if (offset > 0) {
pagingSelect.append("select * from ( select row_.*, rownum rownum_ from ( ");
} else {
pagingSelect.append("select * from ( ");
}
pagingSelect.append(sql);
if (offset > 0) {
String endString = offsetPlaceholder + "+" + limitPlaceholder;
pagingSelect.append(" ) row_ where rownum <= "+endString+") where rownum_ > ").append(offsetPlaceholder);
} else {
pagingSelect.append(" ) where rownum <= "+limitPlaceholder);
}
if (isForUpdate) {
pagingSelect.append(" for update");
}
return pagingSelect.toString();
}
}
#!/bin/sh
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
case `uname` in
*CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
esac
if [ -x "$basedir/node" ]; then
"$basedir/node" "$basedir/../nopt/bin/nopt.js" "$@"
ret=$?
else
node "$basedir/../nopt/bin/nopt.js" "$@"
ret=$?
fi
exit $ret
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.