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.

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